You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by gr...@apache.org on 2021/10/09 03:49:12 UTC

[royale-asjs] branch develop updated (c2f7c28 -> b3ce8d4)

This is an automated email from the ASF dual-hosted git repository.

gregdove pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git.


    from c2f7c28  MetadataRunner: ignore coercion of Class to fix Firefox expected exception
     new b41f967  prep for MXRoyaleBase split - remove some unused imports
     new 1675a0d  MXRoyale/MXRoyaleBase split
     new b3ce8d4  Crux-related conversion to MXRoyaleBase (as opposed to MXRoyale) dependency

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 examples/crux/CruxGitHubCommitLogViewer/pom.xml    |    2 +-
 .../src/main/config/compile-app-config.xml         |    6 +-
 examples/crux/CruxQuickStart/pom.xml               |    2 +-
 .../src/main/config/compile-app-config.xml         |    2 +-
 examples/crux/CruxQuickStartBasic/pom.xml          |    2 +-
 examples/crux/pom.xml                              |    9 +-
 examples/crux/todomvc-jewel-crux/pom.xml           |    2 +-
 frameworks/build.xml                               |   11 +
 frameworks/js/build.xml                            |    6 +
 .../CruxJS/src/main/config/compile-js-config.xml   |    2 +-
 frameworks/js/projects/MXRoyaleBaseJS/build.xml    |  138 ++
 .../src/main/config/compile-js-config.xml          |   45 +-
 .../src/test/royale/build.xml                      |   10 +-
 .../src/main/config/compile-js-config.xml          |    7 +
 frameworks/projects/Crux/pom.xml                   |    4 +-
 .../Crux/src/main/config/compile-swf-config.xml    |    2 +-
 frameworks/projects/MXRoyale/asconfig.json         |    3 +-
 frameworks/projects/MXRoyale/pom.xml               |   30 +-
 .../src/main/config/compile-swf-config.xml         |    9 +-
 .../src/main/resources/mx-royale-manifest.xml      |   61 +-
 .../MXRoyale/src/main/royale/MXRoyaleClasses.as    |  179 +-
 .../{MXRoyale => MXRoyaleBase}/asconfig.json       |    4 +-
 frameworks/projects/MXRoyaleBase/build.xml         |  177 ++
 .../projects/{MXRoyale => MXRoyaleBase}/pom.xml    |   54 +-
 .../src/main/config/compile-swf-config.xml         |   51 +-
 .../src/main/resources/mx-royale-as-manifest.xml   |    0
 .../src/main/resources/mx-royale-manifest.xml      |   75 +
 .../src/main/royale/MXRoyaleBaseClasses.as         |  312 +++
 .../src/main/royale/mx/binding/BindabilityInfo.as  |    0
 .../src/main/royale/mx/binding/Binding.as          |    0
 .../src/main/royale/mx/binding/BindingManager.as   |    0
 .../src/main/royale/mx/binding/IBindingClient.as   |    0
 .../main/royale/mx/binding/utils/BindingUtils.as   |    0
 .../main/royale/mx/binding/utils/ChangeWatcher.as  |    0
 .../main/royale/mx/collections/ArrayCollection.as  |  372 ++--
 .../src/main/royale/mx/collections/ArrayList.as    |    0
 .../main/royale/mx/collections/AsyncListView.as    |    0
 .../mx/collections/ComplexFieldChangeWatcher.as    |    0
 .../main/royale/mx/collections/CursorBookmark.as   |  328 +--
 .../mx/collections/DefaultSummaryCalculator.as     |    0
 .../src/main/royale/mx/collections/Grouping.as     |    0
 .../royale/mx/collections/GroupingCollection.as    |    0
 .../royale/mx/collections/GroupingCollection2.as   |    0
 .../main/royale/mx/collections/GroupingField.as    |  982 ++++-----
 .../mx/collections/HierarchicalCollectionView.as   |    0
 .../HierarchicalCollectionViewCursor.as            |    0
 .../main/royale/mx/collections/HierarchicalData.as |    0
 .../main/royale/mx/collections/ICollectionView.as  |  588 ++---
 .../royale/mx/collections/IComplexSortField.as     |    0
 .../royale/mx/collections/IGroupingCollection.as   |    0
 .../royale/mx/collections/IGroupingCollection2.as  |    0
 .../mx/collections/IHierarchicalCollectionView.as  |    0
 .../IHierarchicalCollectionViewCursor.as           |    0
 .../royale/mx/collections/IHierarchicalData.as     |    0
 .../src/main/royale/mx/collections/IList.as        |    0
 .../src/main/royale/mx/collections/ISort.as        |    0
 .../src/main/royale/mx/collections/ISortField.as   |    0
 .../royale/mx/collections/ISummaryCalculator.as    |    0
 .../src/main/royale/mx/collections/IViewCursor.as  |    0
 .../main/royale/mx/collections/LeafNodeCursor.as   |    0
 .../royale/mx/collections/ListCollectionView.as    |    0
 .../src/main/royale/mx/collections/Sort.as         |    0
 .../src/main/royale/mx/collections/SortField.as    |    0
 .../royale/mx/collections/SortFieldCompareTypes.as |    0
 .../src/main/royale/mx/collections/SummaryField.as |    0
 .../main/royale/mx/collections/SummaryField2.as    |    0
 .../main/royale/mx/collections/SummaryObject.as    |    0
 .../src/main/royale/mx/collections/SummaryRow.as   |    0
 .../main/royale/mx/collections/XMLListAdapter.as   |    0
 .../royale/mx/collections/XMLListCollection.as     |    0
 .../royale/mx/collections/errors/CursorError.as    |    0
 .../mx/collections/errors/ItemPendingError.as      |    0
 .../main/royale/mx/collections/errors/SortError.as |    0
 .../src/main/royale/mx/core/ClassFactory.as        |   90 +-
 .../src/main/royale/mx/core/EventPriority.as       |  238 +-
 .../src/main/royale/mx/core/FlexGlobals.as         |    0
 .../src/main/royale/mx/core/FlexVersion.as         |    0
 .../src/main/royale/mx/core/IChildList.as          |    0
 .../main/royale/mx/core/IDisplayObjectInterface.as |    0
 .../src/main/royale/mx/core/IFactory.as            |   96 +-
 .../src/main/royale/mx/core/IFlexDisplayObject.as  |    0
 .../src/main/royale/mx/core/IFlexModule.as         |    0
 .../src/main/royale/mx/core/IFlexModuleFactory.as  |    0
 .../src/main/royale/mx/core/IMXMLObject.as         |    0
 .../main/royale/mx/core/IPropertyChangeNotifier.as |    0
 .../src/main/royale/mx/core/IUIComponent.as        |    0
 .../src/main/royale/mx/core/IUID.as                |    0
 .../src/main/royale/mx/core/Keyboard.as            |    0
 .../src/main/royale/mx/core/Singleton.as           |    0
 .../src/main/royale/mx/core/mx_internal.as         |    0
 .../src/main/royale/mx/data/EncryptedLocalStore.as |    0
 .../src/main/royale/mx/errors/EOFError.as          |    0
 .../main/royale/mx/errors/IllegalOperationError.as |    0
 .../main/royale/mx/errors/ScriptTimeoutError.as    |    0
 .../src/main/royale/mx/events/AsyncErrorEvent.as   |  218 +-
 .../src/main/royale/mx/events/CollectionEvent.as   |    0
 .../main/royale/mx/events/CollectionEventKind.as   |    0
 .../src/main/royale/mx/events/DataEvent.as         |    0
 .../src/main/royale/mx/events/ErrorEvent.as        |  222 +-
 .../src/main/royale/mx/events/FlexEvent.as         |    0
 .../src/main/royale/mx/events/HTTPStatusEvent.as   |  226 +-
 .../src/main/royale/mx/events/IOErrorEvent.as      |  222 +-
 .../src/main/royale/mx/events/IndexChangedEvent.as |    0
 .../src/main/royale/mx/events/NetStatusEvent.as    |  222 +-
 .../src/main/royale/mx/events/ProgressEvent.as     |    0
 .../main/royale/mx/events/PropertyChangeEvent.as   |    0
 .../royale/mx/events/PropertyChangeEventKind.as    |    0
 .../src/main/royale/mx/events/RSLEvent.as          |    0
 .../src/main/royale/mx/events/ResourceEvent.as     |    0
 .../main/royale/mx/events/SecurityErrorEvent.as    |  218 +-
 .../src/main/royale/mx/events/TextEvent.as         |  254 +--
 .../src/main/royale/mx/events/TimerEvent.as        |    0
 .../main/royale/mx/events/ValidationResultEvent.as |  478 ++--
 .../main/royale/mx/external/ExternalInterface.as   |    0
 .../main/royale/mx/formatters/CurrencyFormatter.as |    4 +-
 .../src/main/royale/mx/formatters/DateBase.as      |    0
 .../src/main/royale/mx/formatters/DateFormatter.as |    0
 .../src/main/royale/mx/formatters/Formatter.as     |  806 +++----
 .../src/main/royale/mx/formatters/IFormatter.as    |  116 +-
 .../src/main/royale/mx/formatters/NumberBase.as    |    0
 .../royale/mx/formatters/NumberBaseRoundType.as    |    0
 .../main/royale/mx/formatters/NumberFormatter.as   | 1286 +++++------
 .../main/royale/mx/formatters/PhoneFormatter.as    |  802 +++----
 .../main/royale/mx/formatters/StringFormatter.as   |    0
 .../royale/mx/formatters/SwitchSymbolFormatter.as  |  302 +--
 .../main/royale/mx/formatters/ZipCodeFormatter.as  |    4 +-
 .../src/main/royale/mx/geom/Matrix.as              |    0
 .../royale/mx/globalization/CurrencyParseResult.as |    0
 .../royale/mx/globalization/DateTimeFormatter.as   |    0
 .../royale/mx/globalization/DateTimeNameStyle.as   |    0
 .../main/royale/mx/globalization/DateTimeStyle.as  |    0
 .../royale/mx/globalization/LastOperationStatus.as |    0
 .../src/main/royale/mx/globalization/LocaleID.as   |    0
 .../royale/mx/globalization/NationalDigitsType.as  |    0
 .../royale/mx/globalization/NumberFormatter.as     |    0
 .../royale/mx/globalization/NumberParseResult.as   |    0
 .../supportClasses/GlobalizationBase.as            |    0
 .../src/main/royale/mx/logging/AbstractTarget.as   |    4 +-
 .../src/main/royale/mx/logging/ILogger.as          |    0
 .../src/main/royale/mx/logging/ILoggingTarget.as   |    0
 .../src/main/royale/mx/logging/Log.as              |    4 +-
 .../src/main/royale/mx/logging/LogEvent.as         |    0
 .../src/main/royale/mx/logging/LogEventLevel.as    |    0
 .../src/main/royale/mx/logging/LogLogger.as        |    2 +-
 .../mx/logging/errors/InvalidCategoryError.as      |    0
 .../royale/mx/logging/errors/InvalidFilterError.as |    0
 .../mx/logging/targets/LineFormattedTarget.as      |    0
 .../main/royale/mx/logging/targets/TraceTarget.as  |    0
 .../src/main/royale/mx/managers/CursorManager.as   |  926 ++++----
 .../royale/mx/managers/CursorManagerPriority.as    |    0
 .../src/main/royale/mx/managers/ICursorManager.as  |    0
 .../src/main/royale/mx/managers/ISystemManager.as  |    2 +-
 .../royale/mx/managers/SystemManagerGlobals.as     |    0
 .../main/royale/mx/messaging/AbstractConsumer.as   |    0
 .../main/royale/mx/messaging/AbstractProducer.as   |    0
 .../src/main/royale/mx/messaging/Channel.as        |    0
 .../src/main/royale/mx/messaging/ChannelSet.as     |    0
 .../src/main/royale/mx/messaging/Consumer.as       |    0
 .../mx/messaging/ConsumerMessageDispatcher.as      |    0
 .../src/main/royale/mx/messaging/MessageAgent.as   |    0
 .../main/royale/mx/messaging/MessageResponder.as   |    0
 .../src/main/royale/mx/messaging/Producer.as       |    0
 .../src/main/royale/mx/messaging/RoyaleClient.as   |    0
 .../royale/mx/messaging/channels/AMFChannel.as     |    0
 .../mx/messaging/channels/DirectHTTPChannel.as     |    0
 .../royale/mx/messaging/channels/HTTPChannel.as    |    0
 .../mx/messaging/channels/NetConnectionChannel.as  |    0
 .../royale/mx/messaging/channels/PollingChannel.as |    0
 .../mx/messaging/channels/SecureAMFChannel.as      |    0
 .../mx/messaging/channels/SecureHTTPChannel.as     |    0
 .../mx/messaging/channels/amfx/AMFXContext.as      |    0
 .../mx/messaging/channels/amfx/AMFXDecoder.as      |    0
 .../mx/messaging/channels/amfx/AMFXEncoder.as      |    0
 .../mx/messaging/channels/amfx/AMFXHeader.as       |    0
 .../mx/messaging/channels/amfx/AMFXResult.as       |    0
 .../main/royale/mx/messaging/config/ConfigMap.as   |    0
 .../royale/mx/messaging/config/LoaderConfig.as     |    0
 .../royale/mx/messaging/config/ServerConfig.as     |    0
 .../royale/mx/messaging/errors/ArgumentError.as    |    0
 .../royale/mx/messaging/errors/ChannelError.as     |    0
 .../mx/messaging/errors/InvalidChannelError.as     |    0
 .../mx/messaging/errors/InvalidDestinationError.as |    0
 .../messaging/errors/MessageSerializationError.as  |    0
 .../royale/mx/messaging/errors/MessagingError.as   |    0
 .../mx/messaging/errors/NoChannelAvailableError.as |    0
 .../royale/mx/messaging/events/ChannelEvent.as     |    0
 .../mx/messaging/events/ChannelFaultEvent.as       |    0
 .../royale/mx/messaging/events/MessageAckEvent.as  |    0
 .../royale/mx/messaging/events/MessageEvent.as     |    0
 .../mx/messaging/events/MessageFaultEvent.as       |    0
 .../mx/messaging/messages/AbstractMessage.as       |    0
 .../mx/messaging/messages/AcknowledgeMessage.as    |    0
 .../mx/messaging/messages/AcknowledgeMessageExt.as |    0
 .../royale/mx/messaging/messages/AsyncMessage.as   |    0
 .../mx/messaging/messages/AsyncMessageExt.as       |    0
 .../royale/mx/messaging/messages/CommandMessage.as |    0
 .../mx/messaging/messages/CommandMessageExt.as     |    0
 .../royale/mx/messaging/messages/ErrorMessage.as   |    0
 .../mx/messaging/messages/HTTPRequestMessage.as    |    0
 .../main/royale/mx/messaging/messages/IMessage.as  |    0
 .../royale/mx/messaging/messages/ISmallMessage.as  |    0
 .../messaging/messages/MessagePerformanceInfo.as   |    0
 .../messaging/messages/MessagePerformanceUtils.as  |    0
 .../mx/messaging/messages/RemotingMessage.as       |    0
 .../royale/mx/messaging/messages/SOAPMessage.as    |    0
 .../src/main/royale/mx/modules/IModule.as          |   74 +-
 .../src/main/royale/mx/modules/IModuleInfo.as      |    0
 .../src/main/royale/mx/net/FileFilter.as           |  132 +-
 .../src/main/royale/mx/net/FileReference.as        |    0
 .../src/main/royale/mx/net/FileReferenceList.as    |    0
 .../src/main/royale/mx/net/LocalConnection.as      |    0
 .../src/main/royale/mx/net/NetConnection.as        |    0
 .../src/main/royale/mx/net/ObjectEncoding.as       |    0
 .../src/main/royale/mx/net/Responder.as            |    0
 .../src/main/royale/mx/net/SharedObject.as         |    0
 .../main/royale/mx/net/SharedObjectFlushStatus.as  |    0
 .../src/main/royale/mx/net/SharedObjectJSON.as     |    0
 .../src/main/royale/mx/net/Socket.as               |    0
 .../src/main/royale/mx/net/URLLoader.as            |    0
 .../src/main/royale/mx/net/URLLoaderDataFormat.as  |    0
 .../src/main/royale/mx/net/URLRequestMethod.as     |    0
 .../mx/net/beads/FileUploaderUsingFormData.as      |    0
 .../mx/net/supportClasses/ByteArrayFileLoader.as   |    0
 .../src/main/royale/mx/netmon/NetworkMonitor.as    |    0
 .../main/royale/mx/resources/IResourceBundle.as    |    0
 .../main/royale/mx/resources/IResourceManager.as   |    0
 .../src/main/royale/mx/resources/Locale.as         |    0
 .../src/main/royale/mx/resources/LocaleSorter.as   |    0
 .../src/main/royale/mx/resources/ResourceBundle.as |    0
 .../main/royale/mx/resources/ResourceManager.as    |    2 +-
 .../royale/mx/resources/ResourceManagerImpl.as     |    4 +-
 .../src/main/royale/mx/rpc/AbstractInvoker.as      |    0
 .../src/main/royale/mx/rpc/AbstractOperation.as    |    0
 .../src/main/royale/mx/rpc/AbstractService.as      |    0
 .../src/main/royale/mx/rpc/ActiveCalls.as          |    0
 .../src/main/royale/mx/rpc/AsyncDispatcher.as      |    0
 .../src/main/royale/mx/rpc/AsyncRequest.as         |    0
 .../src/main/royale/mx/rpc/AsyncResponder.as       |  264 +--
 .../src/main/royale/mx/rpc/AsyncToken.as           |    0
 .../src/main/royale/mx/rpc/CallResponder.as        |    0
 .../src/main/royale/mx/rpc/Fault.as                |    0
 .../src/main/royale/mx/rpc/IResponder.as           |    0
 .../src/main/royale/mx/rpc/Responder.as            |    0
 .../src/main/royale/mx/rpc/events/AbstractEvent.as |    0
 .../src/main/royale/mx/rpc/events/FaultEvent.as    |    0
 .../src/main/royale/mx/rpc/events/HeaderEvent.as   |    0
 .../src/main/royale/mx/rpc/events/InvokeEvent.as   |    0
 .../src/main/royale/mx/rpc/events/ResultEvent.as   |    0
 .../main/royale/mx/rpc/events/SchemaLoadEvent.as   |    0
 .../src/main/royale/mx/rpc/events/WSDLLoadEvent.as |    0
 .../src/main/royale/mx/rpc/events/XMLLoadEvent.as  |    0
 .../main/royale/mx/rpc/http/AbstractOperation.as   |    0
 .../main/royale/mx/rpc/http/HTTPMultiService.as    |    0
 .../src/main/royale/mx/rpc/http/HTTPService.as     | 2034 ++++++++---------
 .../src/main/royale/mx/rpc/http/Operation.as       |    0
 .../main/royale/mx/rpc/http/SerializationFilter.as |    0
 .../main/royale/mx/rpc/http/mxml/HTTPService.as    |  374 ++--
 .../src/main/royale/mx/rpc/mxml/Concurrency.as     |    0
 .../src/main/royale/mx/rpc/mxml/IMXMLSupport.as    |    0
 .../mx/rpc/remoting/CompressedRemoteObject.as      |    0
 .../src/main/royale/mx/rpc/remoting/Operation.as   |    0
 .../main/royale/mx/rpc/remoting/RemoteObject.as    |    0
 .../mx/rpc/remoting/mxml/CompressedRemoteObject.as |    0
 .../main/royale/mx/rpc/remoting/mxml/Operation.as  |    0
 .../royale/mx/rpc/remoting/mxml/RemoteObject.as    |    0
 .../main/royale/mx/rpc/soap/AbstractWebService.as  |    0
 .../src/main/royale/mx/rpc/soap/ISOAPDecoder.as    |    0
 .../src/main/royale/mx/rpc/soap/ISOAPEncoder.as    |    0
 .../src/main/royale/mx/rpc/soap/LoadEvent.as       |    0
 .../src/main/royale/mx/rpc/soap/Operation.as       |    0
 .../src/main/royale/mx/rpc/soap/SOAPConstants.as   |    0
 .../src/main/royale/mx/rpc/soap/SOAPDecoder.as     |    0
 .../src/main/royale/mx/rpc/soap/SOAPEncoder.as     |    0
 .../src/main/royale/mx/rpc/soap/SOAPFault.as       |    0
 .../src/main/royale/mx/rpc/soap/SOAPHeader.as      |    0
 .../src/main/royale/mx/rpc/soap/SOAPResult.as      |    0
 .../src/main/royale/mx/rpc/soap/WebService.as      |    0
 .../src/main/royale/mx/rpc/soap/mxml/Operation.as  |    0
 .../src/main/royale/mx/rpc/soap/mxml/WebService.as |    2 +-
 .../royale/mx/rpc/soap/types/ApacheDocumentType.as |    0
 .../main/royale/mx/rpc/soap/types/DataSetType.as   |    0
 .../royale/mx/rpc/soap/types/ICustomSOAPType.as    |    0
 .../src/main/royale/mx/rpc/soap/types/MapType.as   |    0
 .../main/royale/mx/rpc/soap/types/QueryBeanType.as |    0
 .../main/royale/mx/rpc/soap/types/RowSetType.as    |    0
 .../main/royale/mx/rpc/soap/types/SOAPArrayType.as |    0
 .../src/main/royale/mx/rpc/wsdl/WSDL.as            |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLBinding.as     |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLConstants.as   |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLEncoding.as    |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLLoader.as      |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLMessage.as     |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLMessagePart.as |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLOperation.as   |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLPort.as        |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLPortType.as    |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLService.as     |    0
 .../src/main/royale/mx/rpc/xml/ComplexString.as    |    0
 .../src/main/royale/mx/rpc/xml/ContentProxy.as     |    0
 .../src/main/royale/mx/rpc/xml/DecodingContext.as  |    0
 .../src/main/royale/mx/rpc/xml/IXMLDecoder.as      |    0
 .../src/main/royale/mx/rpc/xml/IXMLEncoder.as      |    0
 .../main/royale/mx/rpc/xml/IXMLSchemaInstance.as   |    0
 .../src/main/royale/mx/rpc/xml/NamespaceUtil.as    |    0
 .../royale/mx/rpc/xml/QualifiedResourceManager.as  |    0
 .../src/main/royale/mx/rpc/xml/Schema.as           |    0
 .../src/main/royale/mx/rpc/xml/SchemaConstants.as  |    0
 .../src/main/royale/mx/rpc/xml/SchemaDatatypes.as  |    0
 .../src/main/royale/mx/rpc/xml/SchemaLoader.as     |    0
 .../src/main/royale/mx/rpc/xml/SchemaManager.as    |    0
 .../src/main/royale/mx/rpc/xml/SchemaMarshaller.as |    0
 .../src/main/royale/mx/rpc/xml/SchemaProcessor.as  |    0
 .../main/royale/mx/rpc/xml/SchemaTypeRegistry.as   |    0
 .../src/main/royale/mx/rpc/xml/SimpleContent.as    |    0
 .../src/main/royale/mx/rpc/xml/SimpleXMLDecoder.as |    0
 .../src/main/royale/mx/rpc/xml/SimpleXMLEncoder.as |    0
 .../src/main/royale/mx/rpc/xml/TypeIterator.as     |    0
 .../src/main/royale/mx/rpc/xml/XMLDecoder.as       |    0
 .../src/main/royale/mx/rpc/xml/XMLEncoder.as       |    0
 .../src/main/royale/mx/rpc/xml/XMLLoader.as        |    0
 .../src/main/royale/mx/system/ApplicationDomain.as |    0
 .../src/main/royale/mx/system/Capabilities.as      |    0
 .../src/main/royale/mx/system/Security.as          |    0
 .../src/main/royale/mx/system/System.as            |    0
 .../src/main/royale/mx/utils/ArrayUtil.as          |    0
 .../src/main/royale/mx/utils/Base64Decoder.as      |    0
 .../src/main/royale/mx/utils/Base64Encoder.as      |    0
 .../src/main/royale/mx/utils/BitFlagUtil.as        |    0
 .../src/main/royale/mx/utils/ByteArray.as          |    0
 .../src/main/royale/mx/utils/DescribeTypeCache.as  |    2 +-
 .../src/main/royale/mx/utils/Endian.as             |    0
 .../src/main/royale/mx/utils/HexDecoder.as         |    0
 .../src/main/royale/mx/utils/HexEncoder.as         |    0
 .../src/main/royale/mx/utils/IXMLNotifiable.as     |    0
 .../src/main/royale/mx/utils/NameUtil.as           |    2 +-
 .../src/main/royale/mx/utils/ObjectProxy.as        |    0
 .../src/main/royale/mx/utils/ObjectUtil.as         |    0
 .../src/main/royale/mx/utils/RPCObjectUtil.as      |    2 +-
 .../src/main/royale/mx/utils/RPCStringUtil.as      |    0
 .../src/main/royale/mx/utils/RPCUIDUtil.as         |    0
 .../src/main/royale/mx/utils/StringUtil.as         |    0
 .../src/main/royale/mx/utils/Timer.as              |    0
 .../src/main/royale/mx/utils/UIDUtil.as            |    0
 .../src/main/royale/mx/utils/URLUtil.as            |    0
 .../src/main/royale/mx/utils/XMLNotifier.as        |    0
 .../src/main/royale/mx/utils/XMLUtil.as            |    0
 .../src/main/royale/mx/utils/object_proxy.as       |    0
 .../src/main/royale/mx/validators/DateValidator.as |  722 +++---
 .../main/royale/mx/validators/EmailValidator.as    | 1678 +++++++-------
 .../src/main/royale/mx/validators/IValidator.as    |    0
 .../royale/mx/validators/IValidatorListener.as     |    0
 .../main/royale/mx/validators/NumberValidator.as   | 2324 ++++++++++----------
 .../mx/validators/NumberValidatorDomainType.as     |    0
 .../royale/mx/validators/PhoneNumberValidator.as   |  370 ++--
 .../royale/mx/validators/RegExpValidationResult.as |   14 +-
 .../main/royale/mx/validators/RegExpValidator.as   |  884 ++++----
 .../main/royale/mx/validators/StringValidator.as   |  774 +++----
 .../main/royale/mx/validators/ValidationResult.as  |    4 +-
 .../src/main/royale/mx/validators/Validator.as     |    0
 .../main/royale/mx/validators/ZipCodeValidator.as  |    0
 .../mx/validators/ZipCodeValidatorDomainType.as    |    0
 .../royale/FlexUnitRoyaleApplication-config.xml    |   12 +-
 .../src/test/royale/FlexUnitRoyaleApplication.mxml |    0
 .../src/test/royale/build.xml                      |    8 +-
 .../test/royale/flexUnitTests/MXRoyaleTester.as    |    0
 .../flexUnitTests/mxroyale/CollectionsTest.as      |    0
 .../mxroyale/FlexSDK_ObjectUtil_Compare_Tests.as   |    0
 .../FlexSDK_ObjectUtil_FLEX_34852_Tests.as         |    0
 .../mxroyale/FlexSDK_ObjectUtil_Tests.as           |    0
 .../flexUnitTests/mxroyale/ObjectUtilTest.as       |    0
 .../flexUnitTests/mxroyale/support/ACTestOne.as    |    0
 .../flexUnitTests/mxroyale/support/ACTestTwo.as    |    0
 .../flexUnitTests/mxroyale/support/TestClass1.as   |    0
 .../flexUnitTests/mxroyale/support/TestClass2.as   |    0
 .../flexUnitTests/mxroyale/support/TestClass3.as   |    0
 .../flexUnitTests/mxroyale/support/TestClass4.as   |    0
 .../flexUnitTests/mxroyale/support/TestClass5.as   |    0
 .../flexUnitTests/mxroyale/support/TestClass6.as   |    0
 .../mxroyale/support/testnamespace.as              |    0
 frameworks/projects/pom.xml                        |    1 +
 380 files changed, 10270 insertions(+), 9630 deletions(-)
 create mode 100644 frameworks/js/projects/MXRoyaleBaseJS/build.xml
 copy frameworks/js/projects/{MXRoyaleJS => MXRoyaleBaseJS}/src/main/config/compile-js-config.xml (67%)
 rename frameworks/js/projects/{MXRoyaleJS => MXRoyaleBaseJS}/src/test/royale/build.xml (96%)
 copy frameworks/projects/{MXRoyale => MXRoyaleBase}/asconfig.json (94%)
 create mode 100644 frameworks/projects/MXRoyaleBase/build.xml
 copy frameworks/projects/{MXRoyale => MXRoyaleBase}/pom.xml (80%)
 copy frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/config/compile-swf-config.xml (69%)
 copy frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/resources/mx-royale-as-manifest.xml (100%)
 create mode 100644 frameworks/projects/MXRoyaleBase/src/main/resources/mx-royale-manifest.xml
 create mode 100644 frameworks/projects/MXRoyaleBase/src/main/royale/MXRoyaleBaseClasses.as
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/binding/BindabilityInfo.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/binding/Binding.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/binding/BindingManager.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/binding/IBindingClient.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/binding/utils/BindingUtils.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/binding/utils/ChangeWatcher.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/ArrayCollection.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/ArrayList.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/AsyncListView.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/ComplexFieldChangeWatcher.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/CursorBookmark.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/DefaultSummaryCalculator.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/Grouping.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/GroupingCollection.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/GroupingCollection2.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/GroupingField.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/HierarchicalCollectionView.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/HierarchicalCollectionViewCursor.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/HierarchicalData.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/ICollectionView.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/IComplexSortField.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/IGroupingCollection.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/IGroupingCollection2.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/IHierarchicalCollectionView.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/IHierarchicalCollectionViewCursor.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/IHierarchicalData.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/IList.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/ISort.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/ISortField.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/ISummaryCalculator.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/IViewCursor.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/LeafNodeCursor.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/ListCollectionView.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/Sort.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/SortField.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/SortFieldCompareTypes.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/SummaryField.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/SummaryField2.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/SummaryObject.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/SummaryRow.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/XMLListAdapter.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/XMLListCollection.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/errors/CursorError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/errors/ItemPendingError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/collections/errors/SortError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/ClassFactory.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/EventPriority.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/FlexGlobals.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/FlexVersion.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/IChildList.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/IDisplayObjectInterface.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/IFactory.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/IFlexDisplayObject.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/IFlexModule.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/IFlexModuleFactory.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/IMXMLObject.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/IPropertyChangeNotifier.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/IUIComponent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/IUID.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/Keyboard.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/Singleton.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/core/mx_internal.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/data/EncryptedLocalStore.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/errors/EOFError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/errors/IllegalOperationError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/errors/ScriptTimeoutError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/AsyncErrorEvent.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/CollectionEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/CollectionEventKind.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/DataEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/ErrorEvent.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/FlexEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/HTTPStatusEvent.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/IOErrorEvent.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/IndexChangedEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/NetStatusEvent.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/ProgressEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/PropertyChangeEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/PropertyChangeEventKind.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/RSLEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/ResourceEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/SecurityErrorEvent.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/TextEvent.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/TimerEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/events/ValidationResultEvent.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/external/ExternalInterface.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/CurrencyFormatter.as (99%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/DateBase.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/DateFormatter.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/Formatter.as (95%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/IFormatter.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/NumberBase.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/NumberBaseRoundType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/NumberFormatter.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/PhoneFormatter.as (95%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/StringFormatter.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/SwitchSymbolFormatter.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/formatters/ZipCodeFormatter.as (99%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/geom/Matrix.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/globalization/CurrencyParseResult.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/globalization/DateTimeFormatter.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/globalization/DateTimeNameStyle.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/globalization/DateTimeStyle.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/globalization/LastOperationStatus.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/globalization/LocaleID.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/globalization/NationalDigitsType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/globalization/NumberFormatter.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/globalization/NumberParseResult.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/globalization/supportClasses/GlobalizationBase.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/logging/AbstractTarget.as (99%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/logging/ILogger.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/logging/ILoggingTarget.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/logging/Log.as (99%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/logging/LogEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/logging/LogEventLevel.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/logging/LogLogger.as (99%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/logging/errors/InvalidCategoryError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/logging/errors/InvalidFilterError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/logging/targets/LineFormattedTarget.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/logging/targets/TraceTarget.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/managers/CursorManager.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/managers/CursorManagerPriority.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/managers/ICursorManager.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/managers/ISystemManager.as (99%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/managers/SystemManagerGlobals.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/AbstractConsumer.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/AbstractProducer.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/Channel.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/ChannelSet.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/Consumer.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/ConsumerMessageDispatcher.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/MessageAgent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/MessageResponder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/Producer.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/RoyaleClient.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/AMFChannel.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/DirectHTTPChannel.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/HTTPChannel.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/NetConnectionChannel.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/PollingChannel.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/SecureAMFChannel.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/SecureHTTPChannel.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/amfx/AMFXContext.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/amfx/AMFXDecoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/amfx/AMFXEncoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/amfx/AMFXHeader.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/channels/amfx/AMFXResult.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/config/ConfigMap.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/config/LoaderConfig.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/config/ServerConfig.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/errors/ArgumentError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/errors/ChannelError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/errors/InvalidChannelError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/errors/InvalidDestinationError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/errors/MessageSerializationError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/errors/MessagingError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/errors/NoChannelAvailableError.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/events/ChannelEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/events/ChannelFaultEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/events/MessageAckEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/events/MessageEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/events/MessageFaultEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/AbstractMessage.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/AcknowledgeMessage.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/AcknowledgeMessageExt.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/AsyncMessage.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/AsyncMessageExt.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/CommandMessage.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/CommandMessageExt.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/ErrorMessage.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/HTTPRequestMessage.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/IMessage.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/ISmallMessage.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/MessagePerformanceInfo.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/MessagePerformanceUtils.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/RemotingMessage.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/messaging/messages/SOAPMessage.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/modules/IModule.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/modules/IModuleInfo.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/FileFilter.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/FileReference.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/FileReferenceList.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/LocalConnection.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/NetConnection.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/ObjectEncoding.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/Responder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/SharedObject.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/SharedObjectFlushStatus.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/SharedObjectJSON.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/Socket.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/URLLoader.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/URLLoaderDataFormat.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/URLRequestMethod.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/beads/FileUploaderUsingFormData.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/net/supportClasses/ByteArrayFileLoader.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/netmon/NetworkMonitor.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/resources/IResourceBundle.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/resources/IResourceManager.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/resources/Locale.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/resources/LocaleSorter.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/resources/ResourceBundle.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/resources/ResourceManager.as (99%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/resources/ResourceManagerImpl.as (99%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/AbstractInvoker.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/AbstractOperation.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/AbstractService.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/ActiveCalls.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/AsyncDispatcher.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/AsyncRequest.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/AsyncResponder.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/AsyncToken.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/CallResponder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/Fault.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/IResponder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/Responder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/events/AbstractEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/events/FaultEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/events/HeaderEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/events/InvokeEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/events/ResultEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/events/SchemaLoadEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/events/WSDLLoadEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/events/XMLLoadEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/http/AbstractOperation.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/http/HTTPMultiService.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/http/HTTPService.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/http/Operation.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/http/SerializationFilter.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/http/mxml/HTTPService.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/mxml/Concurrency.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/mxml/IMXMLSupport.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/remoting/CompressedRemoteObject.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/remoting/Operation.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/remoting/RemoteObject.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/remoting/mxml/CompressedRemoteObject.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/remoting/mxml/Operation.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/remoting/mxml/RemoteObject.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/AbstractWebService.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/ISOAPDecoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/ISOAPEncoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/LoadEvent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/Operation.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/SOAPConstants.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/SOAPDecoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/SOAPEncoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/SOAPFault.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/SOAPHeader.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/SOAPResult.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/WebService.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/mxml/Operation.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/mxml/WebService.as (99%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/types/ApacheDocumentType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/types/DataSetType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/types/ICustomSOAPType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/types/MapType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/types/QueryBeanType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/types/RowSetType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/soap/types/SOAPArrayType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/wsdl/WSDL.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/wsdl/WSDLBinding.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/wsdl/WSDLConstants.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/wsdl/WSDLEncoding.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/wsdl/WSDLLoader.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/wsdl/WSDLMessage.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/wsdl/WSDLMessagePart.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/wsdl/WSDLOperation.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/wsdl/WSDLPort.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/wsdl/WSDLPortType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/wsdl/WSDLService.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/ComplexString.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/ContentProxy.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/DecodingContext.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/IXMLDecoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/IXMLEncoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/IXMLSchemaInstance.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/NamespaceUtil.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/QualifiedResourceManager.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/Schema.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/SchemaConstants.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/SchemaDatatypes.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/SchemaLoader.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/SchemaManager.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/SchemaMarshaller.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/SchemaProcessor.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/SchemaTypeRegistry.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/SimpleContent.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/SimpleXMLDecoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/SimpleXMLEncoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/TypeIterator.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/XMLDecoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/XMLEncoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/rpc/xml/XMLLoader.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/system/ApplicationDomain.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/system/Capabilities.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/system/Security.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/system/System.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/ArrayUtil.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/Base64Decoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/Base64Encoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/BitFlagUtil.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/ByteArray.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/DescribeTypeCache.as (98%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/Endian.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/HexDecoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/HexEncoder.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/IXMLNotifiable.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/NameUtil.as (99%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/ObjectProxy.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/ObjectUtil.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/RPCObjectUtil.as (99%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/RPCStringUtil.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/RPCUIDUtil.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/StringUtil.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/Timer.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/UIDUtil.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/URLUtil.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/XMLNotifier.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/XMLUtil.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/utils/object_proxy.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/DateValidator.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/EmailValidator.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/IValidator.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/IValidatorListener.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/NumberValidator.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/NumberValidatorDomainType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/PhoneNumberValidator.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/RegExpValidationResult.as (90%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/RegExpValidator.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/StringValidator.as (96%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/ValidationResult.as (97%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/Validator.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/ZipCodeValidator.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/main/royale/mx/validators/ZipCodeValidatorDomainType.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/FlexUnitRoyaleApplication-config.xml (92%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/FlexUnitRoyaleApplication.mxml (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/build.xml (94%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/MXRoyaleTester.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/CollectionsTest.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/FlexSDK_ObjectUtil_Compare_Tests.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/FlexSDK_ObjectUtil_FLEX_34852_Tests.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/FlexSDK_ObjectUtil_Tests.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/ObjectUtilTest.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/support/ACTestOne.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/support/ACTestTwo.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/support/TestClass1.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/support/TestClass2.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/support/TestClass3.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/support/TestClass4.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/support/TestClass5.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/support/TestClass6.as (100%)
 rename frameworks/projects/{MXRoyale => MXRoyaleBase}/src/test/royale/flexUnitTests/mxroyale/support/testnamespace.as (100%)

[royale-asjs] 02/03: MXRoyale/MXRoyaleBase split

Posted by gr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gregdove pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 1675a0d259f91fa31a18e65556b2d164a23b4a25
Author: greg-dove <gr...@gmail.com>
AuthorDate: Thu Oct 7 11:42:59 2021 +1300

    MXRoyale/MXRoyaleBase split
---
 frameworks/build.xml                               |   11 +
 frameworks/js/build.xml                            |    6 +
 frameworks/js/projects/MXRoyaleBaseJS/build.xml    |  138 ++
 .../src/main/config/compile-js-config.xml          |   45 +-
 .../src/test/royale/build.xml                      |   10 +-
 .../src/main/config/compile-js-config.xml          |    7 +
 frameworks/projects/MXRoyale/asconfig.json         |    3 +-
 frameworks/projects/MXRoyale/pom.xml               |   30 +-
 .../src/main/config/compile-swf-config.xml         |    9 +-
 .../src/main/resources/mx-royale-manifest.xml      |   61 +-
 .../MXRoyale/src/main/royale/MXRoyaleClasses.as    |  179 +-
 .../{MXRoyale => MXRoyaleBase}/asconfig.json       |    4 +-
 frameworks/projects/MXRoyaleBase/build.xml         |  177 ++
 .../projects/{MXRoyale => MXRoyaleBase}/pom.xml    |   54 +-
 .../src/main/config/compile-swf-config.xml         |   51 +-
 .../src/main/resources/mx-royale-as-manifest.xml   |   26 +
 .../src/main/resources/mx-royale-manifest.xml      |   75 +
 .../src/main/royale/MXRoyaleBaseClasses.as         |  312 +++
 .../src/main/royale/mx/binding/BindabilityInfo.as  |    0
 .../src/main/royale/mx/binding/Binding.as          |    0
 .../src/main/royale/mx/binding/BindingManager.as   |    0
 .../src/main/royale/mx/binding/IBindingClient.as   |    0
 .../main/royale/mx/binding/utils/BindingUtils.as   |    0
 .../main/royale/mx/binding/utils/ChangeWatcher.as  |    0
 .../main/royale/mx/collections/ArrayCollection.as  |  372 ++--
 .../src/main/royale/mx/collections/ArrayList.as    |    0
 .../main/royale/mx/collections/AsyncListView.as    |    0
 .../mx/collections/ComplexFieldChangeWatcher.as    |    0
 .../main/royale/mx/collections/CursorBookmark.as   |  328 +--
 .../mx/collections/DefaultSummaryCalculator.as     |    0
 .../src/main/royale/mx/collections/Grouping.as     |    0
 .../royale/mx/collections/GroupingCollection.as    |    0
 .../royale/mx/collections/GroupingCollection2.as   |    0
 .../main/royale/mx/collections/GroupingField.as    |  982 ++++-----
 .../mx/collections/HierarchicalCollectionView.as   |    0
 .../HierarchicalCollectionViewCursor.as            |    0
 .../main/royale/mx/collections/HierarchicalData.as |    0
 .../main/royale/mx/collections/ICollectionView.as  |  588 ++---
 .../royale/mx/collections/IComplexSortField.as     |    0
 .../royale/mx/collections/IGroupingCollection.as   |    0
 .../royale/mx/collections/IGroupingCollection2.as  |    0
 .../mx/collections/IHierarchicalCollectionView.as  |    0
 .../IHierarchicalCollectionViewCursor.as           |    0
 .../royale/mx/collections/IHierarchicalData.as     |    0
 .../src/main/royale/mx/collections/IList.as        |    0
 .../src/main/royale/mx/collections/ISort.as        |    0
 .../src/main/royale/mx/collections/ISortField.as   |    0
 .../royale/mx/collections/ISummaryCalculator.as    |    0
 .../src/main/royale/mx/collections/IViewCursor.as  |    0
 .../main/royale/mx/collections/LeafNodeCursor.as   |    0
 .../royale/mx/collections/ListCollectionView.as    |    0
 .../src/main/royale/mx/collections/Sort.as         |    0
 .../src/main/royale/mx/collections/SortField.as    |    0
 .../royale/mx/collections/SortFieldCompareTypes.as |    0
 .../src/main/royale/mx/collections/SummaryField.as |    0
 .../main/royale/mx/collections/SummaryField2.as    |    0
 .../main/royale/mx/collections/SummaryObject.as    |    0
 .../src/main/royale/mx/collections/SummaryRow.as   |    0
 .../main/royale/mx/collections/XMLListAdapter.as   |    0
 .../royale/mx/collections/XMLListCollection.as     |    0
 .../royale/mx/collections/errors/CursorError.as    |    0
 .../mx/collections/errors/ItemPendingError.as      |    0
 .../main/royale/mx/collections/errors/SortError.as |    0
 .../src/main/royale/mx/core/ClassFactory.as        |   90 +-
 .../src/main/royale/mx/core/EventPriority.as       |  238 +-
 .../src/main/royale/mx/core/FlexGlobals.as         |    0
 .../src/main/royale/mx/core/FlexVersion.as         |    0
 .../src/main/royale/mx/core/IChildList.as          |    0
 .../main/royale/mx/core/IDisplayObjectInterface.as |    0
 .../src/main/royale/mx/core/IFactory.as            |   96 +-
 .../src/main/royale/mx/core/IFlexDisplayObject.as  |    0
 .../src/main/royale/mx/core/IFlexModule.as         |    0
 .../src/main/royale/mx/core/IFlexModuleFactory.as  |    0
 .../src/main/royale/mx/core/IMXMLObject.as         |    0
 .../main/royale/mx/core/IPropertyChangeNotifier.as |    0
 .../src/main/royale/mx/core/IUIComponent.as        |    0
 .../src/main/royale/mx/core/IUID.as                |    0
 .../src/main/royale/mx/core/Keyboard.as            |    0
 .../src/main/royale/mx/core/Singleton.as           |    0
 .../src/main/royale/mx/core/mx_internal.as         |    0
 .../src/main/royale/mx/data/EncryptedLocalStore.as |    0
 .../src/main/royale/mx/errors/EOFError.as          |    0
 .../main/royale/mx/errors/IllegalOperationError.as |    0
 .../main/royale/mx/errors/ScriptTimeoutError.as    |    0
 .../src/main/royale/mx/events/AsyncErrorEvent.as   |  218 +-
 .../src/main/royale/mx/events/CollectionEvent.as   |    0
 .../main/royale/mx/events/CollectionEventKind.as   |    0
 .../src/main/royale/mx/events/DataEvent.as         |    0
 .../src/main/royale/mx/events/ErrorEvent.as        |  222 +-
 .../src/main/royale/mx/events/FlexEvent.as         |    0
 .../src/main/royale/mx/events/HTTPStatusEvent.as   |  226 +-
 .../src/main/royale/mx/events/IOErrorEvent.as      |  222 +-
 .../src/main/royale/mx/events/IndexChangedEvent.as |    0
 .../src/main/royale/mx/events/NetStatusEvent.as    |  222 +-
 .../src/main/royale/mx/events/ProgressEvent.as     |    0
 .../main/royale/mx/events/PropertyChangeEvent.as   |    0
 .../royale/mx/events/PropertyChangeEventKind.as    |    0
 .../src/main/royale/mx/events/RSLEvent.as          |    0
 .../src/main/royale/mx/events/ResourceEvent.as     |    0
 .../main/royale/mx/events/SecurityErrorEvent.as    |  218 +-
 .../src/main/royale/mx/events/TextEvent.as         |  254 +--
 .../src/main/royale/mx/events/TimerEvent.as        |    0
 .../main/royale/mx/events/ValidationResultEvent.as |  478 ++--
 .../main/royale/mx/external/ExternalInterface.as   |    0
 .../main/royale/mx/formatters/CurrencyFormatter.as |    0
 .../src/main/royale/mx/formatters/DateBase.as      |    0
 .../src/main/royale/mx/formatters/DateFormatter.as |    0
 .../src/main/royale/mx/formatters/Formatter.as     |  806 +++----
 .../src/main/royale/mx/formatters/IFormatter.as    |  116 +-
 .../src/main/royale/mx/formatters/NumberBase.as    |    0
 .../royale/mx/formatters/NumberBaseRoundType.as    |    0
 .../main/royale/mx/formatters/NumberFormatter.as   | 1286 +++++------
 .../main/royale/mx/formatters/PhoneFormatter.as    |  802 +++----
 .../main/royale/mx/formatters/StringFormatter.as   |    0
 .../royale/mx/formatters/SwitchSymbolFormatter.as  |  302 +--
 .../main/royale/mx/formatters/ZipCodeFormatter.as  |    0
 .../src/main/royale/mx/geom/Matrix.as              |    0
 .../royale/mx/globalization/CurrencyParseResult.as |    0
 .../royale/mx/globalization/DateTimeFormatter.as   |    0
 .../royale/mx/globalization/DateTimeNameStyle.as   |    0
 .../main/royale/mx/globalization/DateTimeStyle.as  |    0
 .../royale/mx/globalization/LastOperationStatus.as |    0
 .../src/main/royale/mx/globalization/LocaleID.as   |    0
 .../royale/mx/globalization/NationalDigitsType.as  |    0
 .../royale/mx/globalization/NumberFormatter.as     |    0
 .../royale/mx/globalization/NumberParseResult.as   |    0
 .../supportClasses/GlobalizationBase.as            |    0
 .../src/main/royale/mx/logging/AbstractTarget.as   |    0
 .../src/main/royale/mx/logging/ILogger.as          |    0
 .../src/main/royale/mx/logging/ILoggingTarget.as   |    0
 .../src/main/royale/mx/logging/Log.as              |    0
 .../src/main/royale/mx/logging/LogEvent.as         |    0
 .../src/main/royale/mx/logging/LogEventLevel.as    |    0
 .../src/main/royale/mx/logging/LogLogger.as        |    0
 .../mx/logging/errors/InvalidCategoryError.as      |    0
 .../royale/mx/logging/errors/InvalidFilterError.as |    0
 .../mx/logging/targets/LineFormattedTarget.as      |    0
 .../main/royale/mx/logging/targets/TraceTarget.as  |    0
 .../src/main/royale/mx/managers/CursorManager.as   |  926 ++++----
 .../royale/mx/managers/CursorManagerPriority.as    |    0
 .../src/main/royale/mx/managers/ICursorManager.as  |    0
 .../src/main/royale/mx/managers/ISystemManager.as  |    0
 .../royale/mx/managers/SystemManagerGlobals.as     |    0
 .../main/royale/mx/messaging/AbstractConsumer.as   |    0
 .../main/royale/mx/messaging/AbstractProducer.as   |    0
 .../src/main/royale/mx/messaging/Channel.as        |    0
 .../src/main/royale/mx/messaging/ChannelSet.as     |    0
 .../src/main/royale/mx/messaging/Consumer.as       |    0
 .../mx/messaging/ConsumerMessageDispatcher.as      |    0
 .../src/main/royale/mx/messaging/MessageAgent.as   |    0
 .../main/royale/mx/messaging/MessageResponder.as   |    0
 .../src/main/royale/mx/messaging/Producer.as       |    0
 .../src/main/royale/mx/messaging/RoyaleClient.as   |    0
 .../royale/mx/messaging/channels/AMFChannel.as     |    0
 .../mx/messaging/channels/DirectHTTPChannel.as     |    0
 .../royale/mx/messaging/channels/HTTPChannel.as    |    0
 .../mx/messaging/channels/NetConnectionChannel.as  |    0
 .../royale/mx/messaging/channels/PollingChannel.as |    0
 .../mx/messaging/channels/SecureAMFChannel.as      |    0
 .../mx/messaging/channels/SecureHTTPChannel.as     |    0
 .../mx/messaging/channels/amfx/AMFXContext.as      |    0
 .../mx/messaging/channels/amfx/AMFXDecoder.as      |    0
 .../mx/messaging/channels/amfx/AMFXEncoder.as      |    0
 .../mx/messaging/channels/amfx/AMFXHeader.as       |    0
 .../mx/messaging/channels/amfx/AMFXResult.as       |    0
 .../main/royale/mx/messaging/config/ConfigMap.as   |    0
 .../royale/mx/messaging/config/LoaderConfig.as     |    0
 .../royale/mx/messaging/config/ServerConfig.as     |    0
 .../royale/mx/messaging/errors/ArgumentError.as    |    0
 .../royale/mx/messaging/errors/ChannelError.as     |    0
 .../mx/messaging/errors/InvalidChannelError.as     |    0
 .../mx/messaging/errors/InvalidDestinationError.as |    0
 .../messaging/errors/MessageSerializationError.as  |    0
 .../royale/mx/messaging/errors/MessagingError.as   |    0
 .../mx/messaging/errors/NoChannelAvailableError.as |    0
 .../royale/mx/messaging/events/ChannelEvent.as     |    0
 .../mx/messaging/events/ChannelFaultEvent.as       |    0
 .../royale/mx/messaging/events/MessageAckEvent.as  |    0
 .../royale/mx/messaging/events/MessageEvent.as     |    0
 .../mx/messaging/events/MessageFaultEvent.as       |    0
 .../mx/messaging/messages/AbstractMessage.as       |    0
 .../mx/messaging/messages/AcknowledgeMessage.as    |    0
 .../mx/messaging/messages/AcknowledgeMessageExt.as |    0
 .../royale/mx/messaging/messages/AsyncMessage.as   |    0
 .../mx/messaging/messages/AsyncMessageExt.as       |    0
 .../royale/mx/messaging/messages/CommandMessage.as |    0
 .../mx/messaging/messages/CommandMessageExt.as     |    0
 .../royale/mx/messaging/messages/ErrorMessage.as   |    0
 .../mx/messaging/messages/HTTPRequestMessage.as    |    0
 .../main/royale/mx/messaging/messages/IMessage.as  |    0
 .../royale/mx/messaging/messages/ISmallMessage.as  |    0
 .../messaging/messages/MessagePerformanceInfo.as   |    0
 .../messaging/messages/MessagePerformanceUtils.as  |    0
 .../mx/messaging/messages/RemotingMessage.as       |    0
 .../royale/mx/messaging/messages/SOAPMessage.as    |    0
 .../src/main/royale/mx/modules/IModule.as          |   74 +-
 .../src/main/royale/mx/modules/IModuleInfo.as      |    0
 .../src/main/royale/mx/net/FileFilter.as           |  132 +-
 .../src/main/royale/mx/net/FileReference.as        |    0
 .../src/main/royale/mx/net/FileReferenceList.as    |    0
 .../src/main/royale/mx/net/LocalConnection.as      |    0
 .../src/main/royale/mx/net/NetConnection.as        |    0
 .../src/main/royale/mx/net/ObjectEncoding.as       |    0
 .../src/main/royale/mx/net/Responder.as            |    0
 .../src/main/royale/mx/net/SharedObject.as         |    0
 .../main/royale/mx/net/SharedObjectFlushStatus.as  |    0
 .../src/main/royale/mx/net/SharedObjectJSON.as     |    0
 .../src/main/royale/mx/net/Socket.as               |    0
 .../src/main/royale/mx/net/URLLoader.as            |    0
 .../src/main/royale/mx/net/URLLoaderDataFormat.as  |    0
 .../src/main/royale/mx/net/URLRequestMethod.as     |    0
 .../mx/net/beads/FileUploaderUsingFormData.as      |    0
 .../mx/net/supportClasses/ByteArrayFileLoader.as   |    0
 .../src/main/royale/mx/netmon/NetworkMonitor.as    |    0
 .../main/royale/mx/resources/IResourceBundle.as    |    0
 .../main/royale/mx/resources/IResourceManager.as   |    0
 .../src/main/royale/mx/resources/Locale.as         |    0
 .../src/main/royale/mx/resources/LocaleSorter.as   |    0
 .../src/main/royale/mx/resources/ResourceBundle.as |    0
 .../main/royale/mx/resources/ResourceManager.as    |    0
 .../royale/mx/resources/ResourceManagerImpl.as     |    0
 .../src/main/royale/mx/rpc/AbstractInvoker.as      |    0
 .../src/main/royale/mx/rpc/AbstractOperation.as    |    0
 .../src/main/royale/mx/rpc/AbstractService.as      |    0
 .../src/main/royale/mx/rpc/ActiveCalls.as          |    0
 .../src/main/royale/mx/rpc/AsyncDispatcher.as      |    0
 .../src/main/royale/mx/rpc/AsyncRequest.as         |    0
 .../src/main/royale/mx/rpc/AsyncResponder.as       |  264 +--
 .../src/main/royale/mx/rpc/AsyncToken.as           |    0
 .../src/main/royale/mx/rpc/CallResponder.as        |    0
 .../src/main/royale/mx/rpc/Fault.as                |    0
 .../src/main/royale/mx/rpc/IResponder.as           |    0
 .../src/main/royale/mx/rpc/Responder.as            |    0
 .../src/main/royale/mx/rpc/events/AbstractEvent.as |    0
 .../src/main/royale/mx/rpc/events/FaultEvent.as    |    0
 .../src/main/royale/mx/rpc/events/HeaderEvent.as   |    0
 .../src/main/royale/mx/rpc/events/InvokeEvent.as   |    0
 .../src/main/royale/mx/rpc/events/ResultEvent.as   |    0
 .../main/royale/mx/rpc/events/SchemaLoadEvent.as   |    0
 .../src/main/royale/mx/rpc/events/WSDLLoadEvent.as |    0
 .../src/main/royale/mx/rpc/events/XMLLoadEvent.as  |    0
 .../main/royale/mx/rpc/http/AbstractOperation.as   |    0
 .../main/royale/mx/rpc/http/HTTPMultiService.as    |    0
 .../src/main/royale/mx/rpc/http/HTTPService.as     | 2034 ++++++++---------
 .../src/main/royale/mx/rpc/http/Operation.as       |    0
 .../main/royale/mx/rpc/http/SerializationFilter.as |    0
 .../main/royale/mx/rpc/http/mxml/HTTPService.as    |  374 ++--
 .../src/main/royale/mx/rpc/mxml/Concurrency.as     |    0
 .../src/main/royale/mx/rpc/mxml/IMXMLSupport.as    |    0
 .../mx/rpc/remoting/CompressedRemoteObject.as      |    0
 .../src/main/royale/mx/rpc/remoting/Operation.as   |    0
 .../main/royale/mx/rpc/remoting/RemoteObject.as    |    0
 .../mx/rpc/remoting/mxml/CompressedRemoteObject.as |    0
 .../main/royale/mx/rpc/remoting/mxml/Operation.as  |    0
 .../royale/mx/rpc/remoting/mxml/RemoteObject.as    |    0
 .../main/royale/mx/rpc/soap/AbstractWebService.as  |    0
 .../src/main/royale/mx/rpc/soap/ISOAPDecoder.as    |    0
 .../src/main/royale/mx/rpc/soap/ISOAPEncoder.as    |    0
 .../src/main/royale/mx/rpc/soap/LoadEvent.as       |    0
 .../src/main/royale/mx/rpc/soap/Operation.as       |    0
 .../src/main/royale/mx/rpc/soap/SOAPConstants.as   |    0
 .../src/main/royale/mx/rpc/soap/SOAPDecoder.as     |    0
 .../src/main/royale/mx/rpc/soap/SOAPEncoder.as     |    0
 .../src/main/royale/mx/rpc/soap/SOAPFault.as       |    0
 .../src/main/royale/mx/rpc/soap/SOAPHeader.as      |    0
 .../src/main/royale/mx/rpc/soap/SOAPResult.as      |    0
 .../src/main/royale/mx/rpc/soap/WebService.as      |    0
 .../src/main/royale/mx/rpc/soap/mxml/Operation.as  |    0
 .../src/main/royale/mx/rpc/soap/mxml/WebService.as |    0
 .../royale/mx/rpc/soap/types/ApacheDocumentType.as |    0
 .../main/royale/mx/rpc/soap/types/DataSetType.as   |    0
 .../royale/mx/rpc/soap/types/ICustomSOAPType.as    |    0
 .../src/main/royale/mx/rpc/soap/types/MapType.as   |    0
 .../main/royale/mx/rpc/soap/types/QueryBeanType.as |    0
 .../main/royale/mx/rpc/soap/types/RowSetType.as    |    0
 .../main/royale/mx/rpc/soap/types/SOAPArrayType.as |    0
 .../src/main/royale/mx/rpc/wsdl/WSDL.as            |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLBinding.as     |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLConstants.as   |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLEncoding.as    |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLLoader.as      |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLMessage.as     |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLMessagePart.as |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLOperation.as   |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLPort.as        |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLPortType.as    |    0
 .../src/main/royale/mx/rpc/wsdl/WSDLService.as     |    0
 .../src/main/royale/mx/rpc/xml/ComplexString.as    |    0
 .../src/main/royale/mx/rpc/xml/ContentProxy.as     |    0
 .../src/main/royale/mx/rpc/xml/DecodingContext.as  |    0
 .../src/main/royale/mx/rpc/xml/IXMLDecoder.as      |    0
 .../src/main/royale/mx/rpc/xml/IXMLEncoder.as      |    0
 .../main/royale/mx/rpc/xml/IXMLSchemaInstance.as   |    0
 .../src/main/royale/mx/rpc/xml/NamespaceUtil.as    |    0
 .../royale/mx/rpc/xml/QualifiedResourceManager.as  |    0
 .../src/main/royale/mx/rpc/xml/Schema.as           |    0
 .../src/main/royale/mx/rpc/xml/SchemaConstants.as  |    0
 .../src/main/royale/mx/rpc/xml/SchemaDatatypes.as  |    0
 .../src/main/royale/mx/rpc/xml/SchemaLoader.as     |    0
 .../src/main/royale/mx/rpc/xml/SchemaManager.as    |    0
 .../src/main/royale/mx/rpc/xml/SchemaMarshaller.as |    0
 .../src/main/royale/mx/rpc/xml/SchemaProcessor.as  |    0
 .../main/royale/mx/rpc/xml/SchemaTypeRegistry.as   |    0
 .../src/main/royale/mx/rpc/xml/SimpleContent.as    |    0
 .../src/main/royale/mx/rpc/xml/SimpleXMLDecoder.as |    0
 .../src/main/royale/mx/rpc/xml/SimpleXMLEncoder.as |    0
 .../src/main/royale/mx/rpc/xml/TypeIterator.as     |    0
 .../src/main/royale/mx/rpc/xml/XMLDecoder.as       |    0
 .../src/main/royale/mx/rpc/xml/XMLEncoder.as       |    0
 .../src/main/royale/mx/rpc/xml/XMLLoader.as        |    0
 .../src/main/royale/mx/system/ApplicationDomain.as |    0
 .../src/main/royale/mx/system/Capabilities.as      |    0
 .../src/main/royale/mx/system/Security.as          |    0
 .../src/main/royale/mx/system/System.as            |    0
 .../src/main/royale/mx/utils/ArrayUtil.as          |    0
 .../src/main/royale/mx/utils/Base64Decoder.as      |    0
 .../src/main/royale/mx/utils/Base64Encoder.as      |    0
 .../src/main/royale/mx/utils/BitFlagUtil.as        |    0
 .../src/main/royale/mx/utils/ByteArray.as          |    0
 .../src/main/royale/mx/utils/DescribeTypeCache.as  |    0
 .../src/main/royale/mx/utils/Endian.as             |    0
 .../src/main/royale/mx/utils/HexDecoder.as         |    0
 .../src/main/royale/mx/utils/HexEncoder.as         |    0
 .../src/main/royale/mx/utils/IXMLNotifiable.as     |    0
 .../src/main/royale/mx/utils/NameUtil.as           |    2 +-
 .../src/main/royale/mx/utils/ObjectProxy.as        |    0
 .../src/main/royale/mx/utils/ObjectUtil.as         |    0
 .../src/main/royale/mx/utils/RPCObjectUtil.as      |    0
 .../src/main/royale/mx/utils/RPCStringUtil.as      |    0
 .../src/main/royale/mx/utils/RPCUIDUtil.as         |    0
 .../src/main/royale/mx/utils/StringUtil.as         |    0
 .../src/main/royale/mx/utils/Timer.as              |    0
 .../src/main/royale/mx/utils/UIDUtil.as            |    0
 .../src/main/royale/mx/utils/URLUtil.as            |    0
 .../src/main/royale/mx/utils/XMLNotifier.as        |    0
 .../src/main/royale/mx/utils/XMLUtil.as            |    0
 .../src/main/royale/mx/utils/object_proxy.as       |    0
 .../src/main/royale/mx/validators/DateValidator.as |  722 +++---
 .../main/royale/mx/validators/EmailValidator.as    | 1678 +++++++-------
 .../src/main/royale/mx/validators/IValidator.as    |    0
 .../royale/mx/validators/IValidatorListener.as     |    0
 .../main/royale/mx/validators/NumberValidator.as   | 2324 ++++++++++----------
 .../mx/validators/NumberValidatorDomainType.as     |    0
 .../royale/mx/validators/PhoneNumberValidator.as   |  370 ++--
 .../royale/mx/validators/RegExpValidationResult.as |   14 +-
 .../main/royale/mx/validators/RegExpValidator.as   |  884 ++++----
 .../main/royale/mx/validators/StringValidator.as   |  774 +++----
 .../main/royale/mx/validators/ValidationResult.as  |    4 +-
 .../src/main/royale/mx/validators/Validator.as     |    0
 .../main/royale/mx/validators/ZipCodeValidator.as  |    0
 .../mx/validators/ZipCodeValidatorDomainType.as    |    0
 .../royale/FlexUnitRoyaleApplication-config.xml    |   12 +-
 .../src/test/royale/FlexUnitRoyaleApplication.mxml |    0
 .../src/test/royale/build.xml                      |    8 +-
 .../test/royale/flexUnitTests/MXRoyaleTester.as    |    0
 .../flexUnitTests/mxroyale/CollectionsTest.as      |    0
 .../mxroyale/FlexSDK_ObjectUtil_Compare_Tests.as   |    0
 .../FlexSDK_ObjectUtil_FLEX_34852_Tests.as         |    0
 .../mxroyale/FlexSDK_ObjectUtil_Tests.as           |    0
 .../flexUnitTests/mxroyale/ObjectUtilTest.as       |    0
 .../flexUnitTests/mxroyale/support/ACTestOne.as    |    0
 .../flexUnitTests/mxroyale/support/ACTestTwo.as    |    0
 .../flexUnitTests/mxroyale/support/TestClass1.as   |    0
 .../flexUnitTests/mxroyale/support/TestClass2.as   |    0
 .../flexUnitTests/mxroyale/support/TestClass3.as   |    0
 .../flexUnitTests/mxroyale/support/TestClass4.as   |    0
 .../flexUnitTests/mxroyale/support/TestClass5.as   |    0
 .../flexUnitTests/mxroyale/support/TestClass6.as   |    0
 .../mxroyale/support/testnamespace.as              |    0
 frameworks/projects/pom.xml                        |    1 +
 370 files changed, 10260 insertions(+), 9601 deletions(-)

diff --git a/frameworks/build.xml b/frameworks/build.xml
index 4b39714..e1852e3 100644
--- a/frameworks/build.xml
+++ b/frameworks/build.xml
@@ -149,6 +149,7 @@
 		<antcall target="FontAwesome"/>
 		<antcall target="Express"/>
         <antcall target="RoyaleSite"/>
+        <antcall target="MXRoyaleBase"/>
         <antcall target="MXRoyale"/>
         <antcall target="SparkRoyale"/>
         <antcall target="Crux"/>
@@ -190,6 +191,7 @@
         <antcall target="FontAwesomeTest"/>
         <antcall target="ExpressTest"/>
         <antcall target="RoyaleSiteTest"/>
+        <antcall target="MXRoyaleBaseTest"/>
         <antcall target="MXRoyaleTest"/>
         <antcall target="SparkRoyaleTest"/>
         <antcall target="CruxTest"/>
@@ -250,6 +252,7 @@
         <ant dir="${basedir}/projects/Text" target="clean"/>
         <ant dir="${basedir}/projects/TLF" target="clean"/>
         <ant dir="${basedir}/projects/RoyaleSite" target="clean"/>
+        <ant dir="${basedir}/projects/MXRoyaleBase" target="clean"/>
         <ant dir="${basedir}/projects/MXRoyale" target="clean"/>
         <ant dir="${basedir}/projects/SparkRoyale" target="clean"/>
         <ant dir="${basedir}/projects/Crux" target="clean"/>
@@ -523,6 +526,14 @@
         <ant dir="${basedir}/projects/RoyaleSite" target="test"/>
     </target>
 
+    <target name="MXRoyaleBase" description="Clean build of MXRoyaleBase.swc">
+        <ant dir="${basedir}/projects/MXRoyaleBase"/>
+    </target>
+
+    <target name="MXRoyaleBaseTest" description="Test of MXRoyaleBase.swc">
+        <ant dir="${basedir}/projects/MXRoyaleBase" target="test"/>
+    </target>
+
     <target name="MXRoyale" description="Clean build of MXRoyale.swc">
         <ant dir="${basedir}/projects/MXRoyale"/>
     </target>
diff --git a/frameworks/js/build.xml b/frameworks/js/build.xml
index 5e36817..db108c4 100644
--- a/frameworks/js/build.xml
+++ b/frameworks/js/build.xml
@@ -102,6 +102,7 @@
 		<antcall target="MaterialDesignLite"/>
         <antcall target="Icons" />
         <antcall target="Jewel"/>
+        <antcall target="MXRoyaleBase"/>
         <antcall target="MXRoyale"/>
         <antcall target="SparkRoyale"/>
         <antcall target="Crux"/>
@@ -158,6 +159,7 @@
         <ant dir="${basedir}/projects/XMLJS" target="clean"/>
         <ant dir="${basedir}/projects/IconsJS" target="clean"/>
         <ant dir="${basedir}/projects/JewelJS" target="clean"/>
+        <ant dir="${basedir}/projects/MXRoyaleBaseJS" target="clean"/>
         <ant dir="${basedir}/projects/MXRoyaleJS" target="clean"/>
         <ant dir="${basedir}/projects/CruxJS" target="clean"/>
         <ant dir="${basedir}/projects/SparkRoyaleJS" target="clean"/>
@@ -276,6 +278,10 @@
         <ant dir="${basedir}/projects/JewelJS"/>
     </target>
 
+    <target name="MXRoyaleBase" description="Clean build of MXRoyaleBaseJS.swc">
+        <ant dir="${basedir}/projects/MXRoyaleBaseJS"/>
+    </target>
+
     <target name="MXRoyale" description="Clean build of MXRoyaleJS.swc">
         <ant dir="${basedir}/projects/MXRoyaleJS"/>
     </target>
diff --git a/frameworks/js/projects/MXRoyaleBaseJS/build.xml b/frameworks/js/projects/MXRoyaleBaseJS/build.xml
new file mode 100644
index 0000000..704c328
--- /dev/null
+++ b/frameworks/js/projects/MXRoyaleBaseJS/build.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<project name="MXRoyaleBaseJS" default="main" basedir=".">
+    <property name="ROYALE_HOME" location="../../../.."/>
+    
+    <property file="${ROYALE_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${ROYALE_HOME}/local.properties"/>
+    <property file="${ROYALE_HOME}/build.properties"/>
+    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+    
+    <property name="target.name" value="${ant.project.name}.swc" />
+    <tstamp>
+        <format property="royale.swc-date" pattern="MM/dd/yy HH:mm Z"/>
+    </tstamp>
+    <echo>swc-date is ${royale.swc-date}</echo>
+
+    <echo file="${basedir}/${target.name}.properties">target.name.nojs=${ant.project.name}</echo>
+    <replaceregexp file="${basedir}/${target.name}.properties" match="(.*)JS$" replace="\1" flags="m" />
+    <property file="${basedir}/${target.name}.properties"/>
+    <delete file="${basedir}/${target.name}.properties"/>
+    
+    <target name="main" depends="clean,check-compiler,compile" description="Full build of ${ant.project.name}.swc">
+    </target>
+    
+    <target name="check-for-tests" >
+        <condition property="skip-tests" >
+            <not>
+                <available file="${basedir}/src/test/royale/build.xml" />
+            </not>
+        </condition>
+    </target>
+    
+    <target name="test" depends="check-for-tests,check-compiler" unless="skip-tests">
+        <ant dir="src/test/royale" />
+    </target>
+    
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${ROYALE_HOME}/frameworks/js/libs">
+                <include name="${target.name}"/>
+            </fileset>
+        </delete>
+        <delete failonerror="false" includeemptydirs="true">
+            <fileset dir="${basedir}/target">
+                <include name="**/**"/>
+            </fileset>
+        </delete>
+        <antcall target="clean-tests" />
+    </target>
+    
+    <target name="clean-tests" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" target="clean"/>
+    </target>
+    
+    <target name="compile" depends="check-compiler">
+        <echo message="Cross-compiling ${target.name}"/>
+        <echo message="ROYALE_COMPILER_HOME: ${ROYALE_COMPILER_HOME}"/>
+        <mkdir dir="${basedir}/target/generated-sources/royale"/>
+        <java jar="${ROYALE_COMPILER_HOME}/lib/compc.jar" fork="true" >
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Droyalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+royalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="-compiler.define+=ROYALE::DISPLAYOBJECT,IUIComponent" />
+            <arg value="-compiler.define+=GOOG::DEBUG,goog.DEBUG" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSRoyale" />
+            <arg line="-metadata.date=&quot;${royale.swc-date}&quot;" />
+            <arg line="-metadata.dateFormat=&quot;MM/dd/yy HH:mm Z&quot;" />
+            <arg line="-swf-debugfile-alias=&quot;/org/apache/royale/${release.version}&quot;" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${ROYALE_HOME}/frameworks/js-config.xml" />
+            <arg value="-load-config+=${basedir}/src/main/config/compile-js-config.xml" />
+        </java>
+        <copy file="${basedir}/target/${target.name}" tofile="${ROYALE_HOME}/frameworks/js/libs/${target.name}" />
+    </target>
+    
+    <target name="copy-js" >
+        <mkdir dir="${ROYALE_HOME}/frameworks/js/generated-sources"/>
+        <copy todir="${ROYALE_HOME}/frameworks/js/generated-sources">
+            <fileset dir="${basedir}/target/generated-sources/royale">
+                <include name="**/**" />
+            </fileset>
+        </copy>
+    </target>
+    
+    <target name="check-compiler" depends="check-compiler-home,check-transpiler-home">
+        <path id="lib.path">
+            <fileset dir="${ROYALE_COMPILER_HOME}/lib" includes="compiler-royaleTasks.jar"/>
+        </path>
+        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+    </target>
+    
+    <target name="check-compiler-home"
+        description="Set ROYALE_SWF_COMPILER_HOME to point at the compiler.">
+        
+        <available file="${ROYALE_HOME}/lib/compiler-mxmlc.jar"
+        type="file"
+        property="ROYALE_SWF_COMPILER_HOME"
+        value="${ROYALE_HOME}"/>
+        
+        <fail message="ROYALE_SWF_COMPILER_HOME must be set to a folder with a lib sub-folder containing compiler-mxmlc.jar such as the compiler folder in royale-compiler repo or the root of a Royale SDK"
+        unless="ROYALE_SWF_COMPILER_HOME"/>
+    </target>
+    
+    <target name="check-transpiler-home"
+        description="Set ROYALE_COMPILER_HOME to point at the cross-compiler.">
+        
+        <available file="${ROYALE_HOME}/js/lib/jsc.jar"
+        type="file"
+        property="ROYALE_COMPILER_HOME"
+        value="${ROYALE_HOME}/js"/>
+        
+        <fail message="ROYALE_COMPILER_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in royale-compiler repo or the js folder of a Royale SDK"
+        unless="ROYALE_COMPILER_HOME"/>
+    </target>
+    
+</project>
diff --git a/frameworks/js/projects/MXRoyaleJS/src/main/config/compile-js-config.xml b/frameworks/js/projects/MXRoyaleBaseJS/src/main/config/compile-js-config.xml
similarity index 67%
copy from frameworks/js/projects/MXRoyaleJS/src/main/config/compile-js-config.xml
copy to frameworks/js/projects/MXRoyaleBaseJS/src/main/config/compile-js-config.xml
index e906ba0..0a1daef 100644
--- a/frameworks/js/projects/MXRoyaleJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/projects/MXRoyaleBaseJS/src/main/config/compile-js-config.xml
@@ -67,7 +67,7 @@
             <path-element>../../../../../libs/FormattersJS.swc</path-element>
             <path-element>../../../../../libs/GraphicsJS.swc</path-element>
             <path-element>../../../../../libs/ChartsJS.swc</path-element>
-	          <path-element>../../../../../libs/NetworkJS.swc</path-element>
+            <path-element>../../../../../libs/NetworkJS.swc</path-element>
             <path-element>../../../../../libs/ReflectionJS.swc</path-element>
             <path-element>../../../../../libs/XMLJS.swc</path-element>
         </external-library-path>
@@ -79,12 +79,12 @@
             </namespace>
             <namespace>
                 <uri>library://ns.apache.org/royale/mx</uri>
-                <manifest>../../../../../../projects/MXRoyale/src/main/resources/mx-royale-manifest.xml</manifest>
+                <manifest>../../../../../../projects/MXRoyaleBase/src/main/resources/mx-royale-manifest.xml</manifest>
             </namespace>
         </namespaces>
         
         <source-path>
-            <path-element>../../../../../../projects/MXRoyale/src/main/royale</path-element>
+            <path-element>../../../../../../projects/MXRoyaleBase/src/main/royale</path-element>
         </source-path>
         
         <warn-no-constructor>false</warn-no-constructor>
@@ -98,45 +98,10 @@
     
     <export-protected-symbols>true</export-protected-symbols>
     
-    <include-file>
-        <name>defaults.css</name>
-        <path>../../../../../../projects/MXRoyale/src/main/resources/defaults.css</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_align_center.png</name>
-        <path>../../../../../../projects/MXRoyale/src/main/resources/assets/icon_align_center.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_align_justify.png</name>
-        <path>../../../../../../projects/MXRoyale/src/main/resources/assets/icon_align_justify.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_align_left.png</name>
-        <path>../../../../../../projects/MXRoyale/src/main/resources/assets/icon_align_left.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_align_right.png</name>
-        <path>../../../../../../projects/MXRoyale/src/main/resources/assets/icon_align_right.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_bullet.png</name>
-        <path>../../../../../../projects/MXRoyale/src/main/resources/assets/icon_bullet.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_style_bold.png</name>
-        <path>../../../../../../projects/MXRoyale/src/main/resources/assets/icon_style_bold.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_style_italic.png</name>
-        <path>../../../../../../projects/MXRoyale/src/main/resources/assets/icon_style_italic.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_style_underline.png</name>
-        <path>../../../../../../projects/MXRoyale/src/main/resources/assets/icon_style_underline.png</path>
-    </include-file>
+
     
     <include-classes>
-        <class>MXRoyaleClasses</class>
+        <class>MXRoyaleBaseClasses</class>
     </include-classes>
     
     <include-namespaces>
diff --git a/frameworks/js/projects/MXRoyaleJS/src/test/royale/build.xml b/frameworks/js/projects/MXRoyaleBaseJS/src/test/royale/build.xml
similarity index 96%
rename from frameworks/js/projects/MXRoyaleJS/src/test/royale/build.xml
rename to frameworks/js/projects/MXRoyaleBaseJS/src/test/royale/build.xml
index 826afb7..48687e2 100644
--- a/frameworks/js/projects/MXRoyaleJS/src/test/royale/build.xml
+++ b/frameworks/js/projects/MXRoyaleBaseJS/src/test/royale/build.xml
@@ -19,7 +19,7 @@
 -->
 
 
-<project name="MXRoyaleJS.test" default="main" basedir=".">
+<project name="MXRoyaleBaseJS.test" default="main" basedir=".">
     <property name="ROYALE_HOME" location="../../../../../../.."/>
     
     <property file="${ROYALE_HOME}/env.properties"/>
@@ -28,7 +28,7 @@
     <property file="${ROYALE_HOME}/build.properties"/>
     <property name="ROYALE_HOME" value="${env.ROYALE_HOME}"/>
     <property name="ROYALE_SWF_COMPILER_HOME" value="${env.ROYALE_SWF_COMPILER_HOME}"/>
-    <property name="target.name" value="MXRoyaleJS-${release.version}.swc" />
+    <property name="target.name" value="MXRoyaleBaseJS-${release.version}.swc" />
 
     <!--
         Windows browser:
@@ -135,16 +135,16 @@
             into the file bundles.properties in this directory.
         -->
         <mxmlc fork="true"
-            file="${basedir}/../../../../../../projects/MXRoyale/src/test/royale/FlexUnitRoyaleApplication.mxml">
+            file="${basedir}/../../../../../../projects/MXRoyaleBase/src/test/royale/FlexUnitRoyaleApplication.mxml">
             <jvmarg line="${mxmlc.jvm.args}"/>
             <!--
             <jvmarg value="-Xdebug" />
             <jvmarg value="-Xnoagent" />
             <jvmarg value="-Xrunjdwp:transport=dt_socket,address=8763,server=y,suspend=y" />
              -->
-            <arg value="-compiler.exclude-defaults-css-files=MXRoyale-0.9.7-SNAPSHOT-js.swc:defaults.css" />
+            <!--<arg value="-compiler.exclude-defaults-css-files=MXRoyale-0.9.7-SNAPSHOT-js.swc:defaults.css" />
             <arg value="-compiler.exclude-defaults-css-files=MXRoyale-0.9.7-SNAPSHOT-swf.swc:defaults.css" />
-            <arg value="-compiler.exclude-defaults-css-files=MXRoyaleJS.swc:defaults.css" />
+            <arg value="-compiler.exclude-defaults-css-files=MXRoyaleJS.swc:defaults.css" />-->
            <!-- <arg value="-debug" />-->
             <arg value="-compiler.targets=JSRoyale" />
             <arg value="-js-output=target" />
diff --git a/frameworks/js/projects/MXRoyaleJS/src/main/config/compile-js-config.xml b/frameworks/js/projects/MXRoyaleJS/src/main/config/compile-js-config.xml
index e906ba0..ed06bdc 100644
--- a/frameworks/js/projects/MXRoyaleJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/projects/MXRoyaleJS/src/main/config/compile-js-config.xml
@@ -81,10 +81,17 @@
                 <uri>library://ns.apache.org/royale/mx</uri>
                 <manifest>../../../../../../projects/MXRoyale/src/main/resources/mx-royale-manifest.xml</manifest>
             </namespace>
+            <!-- include MXRoyaleBase definitions -->
+            <namespace>
+                <uri>library://ns.apache.org/royale/mx</uri>
+                <manifest>../../../../../../projects/MXRoyaleBase/src/main/resources/mx-royale-manifest.xml</manifest>
+            </namespace>
         </namespaces>
         
         <source-path>
             <path-element>../../../../../../projects/MXRoyale/src/main/royale</path-element>
+            <!-- include MXRoyaleBase sources -->
+            <path-element>../../../../../../projects/MXRoyaleBase/src/main/royale</path-element>
         </source-path>
         
         <warn-no-constructor>false</warn-no-constructor>
diff --git a/frameworks/projects/MXRoyale/asconfig.json b/frameworks/projects/MXRoyale/asconfig.json
index 75bb785..2718715 100644
--- a/frameworks/projects/MXRoyale/asconfig.json
+++ b/frameworks/projects/MXRoyale/asconfig.json
@@ -30,7 +30,8 @@
             "src/main/royale"
         ],
         "source-path": [
-            "src/main/royale"
+            "src/main/royale",
+            "../MXRoyaleBase/src/main/royale"
         ],
         "external-library-path": [
             "../../../../frameworks/libs/air/airglobal.swc"
diff --git a/frameworks/projects/MXRoyale/pom.xml b/frameworks/projects/MXRoyale/pom.xml
index 6423666..a4edaa3 100644
--- a/frameworks/projects/MXRoyale/pom.xml
+++ b/frameworks/projects/MXRoyale/pom.xml
@@ -31,6 +31,10 @@
 
   <name>Apache Royale: Framework: Libs: MXRoyale</name>
 
+  <properties>
+      <mxroyale.base>${project.basedir}/../MXRoyaleBase</mxroyale.base>
+  </properties>
+
   <build>
     <sourceDirectory>src/main/royale</sourceDirectory>
     <plugins>
@@ -45,6 +49,10 @@
               <uri>library://ns.apache.org/royale/mx</uri>
               <manifest>${project.basedir}/src/main/resources/mx-royale-manifest.xml</manifest>
             </namespace>
+            <namespace>
+              <uri>library://ns.apache.org/royale/mx</uri>
+              <manifest>${mxroyale.base}/src/main/resources/mx-royale-manifest.xml</manifest>
+            </namespace>
           </namespaces>
           <includeClasses>
             <includeClass>MXRoyaleClasses</includeClass>
@@ -123,8 +131,10 @@
               -namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;
               -compiler.js-namespaces.namespace+=http://ns.adobe.com/mxml/2009,${project.basedir}/../../mxml-2009-manifest.xml;
               -compiler.js-namespaces.namespace+=library://ns.apache.org/royale/mx,${project.basedir}/src/main/resources/mx-royale-manifest.xml;
+              -compiler.js-namespaces.namespace+=library://ns.apache.org/royale/mx,${mxroyale.base}/src/main/resources/mx-royale-manifest.xml;
               -compiler.warn-instance-of-changes=false;
               -compiler.warn-this-within-closure=false;
+              -source-path+=${mxroyale.base}/src/main/royale;
           </additionalCompilerOptions>
         </configuration>
       </plugin>
@@ -133,6 +143,15 @@
   </build>
   
   <dependencies>
+    <!--
+    Note: this is not needed, because we are linking in the source code directly
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
+      <artifactId>MXRoyaleBase</artifactId>
+      <version>0.9.9-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>-->
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
       <artifactId>Binding</artifactId>
@@ -230,6 +249,15 @@
     <profile>
       <id>option-with-swf</id>
       <dependencies>
+        <!--
+        Note: this is not needed, because we are linking in the source code directly
+        <dependency>
+          <groupId>org.apache.royale.framework</groupId>
+          <artifactId>MXRoyaleBase</artifactId>
+          <version>0.9.9-SNAPSHOT</version>
+          <type>swc</type>
+          <classifier>swf</classifier>
+        </dependency>-->
         <dependency>
           <groupId>org.apache.royale.framework</groupId>
           <artifactId>Binding</artifactId>
@@ -325,4 +353,4 @@
     </profile>
   </profiles>
 
-<properties /></project>
+</project>
diff --git a/frameworks/projects/MXRoyale/src/main/config/compile-swf-config.xml b/frameworks/projects/MXRoyale/src/main/config/compile-swf-config.xml
index 51ae658..19c8d72 100644
--- a/frameworks/projects/MXRoyale/src/main/config/compile-swf-config.xml
+++ b/frameworks/projects/MXRoyale/src/main/config/compile-swf-config.xml
@@ -40,7 +40,7 @@
             <path-element>../../../../../libs/Effects.swc</path-element>
             <path-element>../../../../../libs/Express.swc</path-element>
             <path-element>../../../../../libs/Charts.swc</path-element>
-	          <path-element>../../../../../libs/Network.swc</path-element>
+            <path-element>../../../../../libs/Network.swc</path-element>
             <path-element>../../../../../libs/Reflection.swc</path-element>
         </external-library-path>
         
@@ -82,6 +82,11 @@
                 <uri>library://ns.apache.org/royale/mx</uri>
                 <manifest>../resources/mx-royale-manifest.xml</manifest>
             </namespace>
+            <!-- include MXRoyaleBase definitions -->
+            <namespace>
+                <uri>library://ns.apache.org/royale/mx</uri>
+                <manifest>../../../../MXRoyaleBase/src/main/resources/mx-royale-manifest.xml</manifest>
+            </namespace>
             <namespace>
                 <uri>library://ns.apache.org/royale/mx</uri>
                 <manifest>../resources/mx-royale-as-manifest.xml</manifest>
@@ -90,6 +95,8 @@
         
         <source-path>
             <path-element>../royale</path-element>
+            <!-- include MXRoyaleBase sources -->
+            <path-element>../../../../MXRoyaleBase/src/main/royale</path-element>
         </source-path>
         
         <warn-no-constructor>false</warn-no-constructor>
diff --git a/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml b/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
index 445d81e..01a501b 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
+++ b/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
@@ -64,16 +64,11 @@
     <component id="TileList" class="mx.controls.TileList"/>
     <component id="PopUpMenuButton" class="mx.controls.PopUpMenuButton"/>
 	<component id="ColorPicker" class="mx.controls.ColorPicker"/>
-	<component id="CompressedRemoteObject" class="mx.rpc.remoting.mxml.CompressedRemoteObject" />
-	<component id="RemoteObject" class="mx.rpc.remoting.mxml.RemoteObject" />
-    <component id="RemoteObjectOperation" class="mx.rpc.remoting.mxml.Operation"/>
-	<component id="HTTPService" class="mx.rpc.http.mxml.HTTPService" />
-    <component id="WebService" class="mx.rpc.soap.mxml.WebService" />
-    <component id="WebServiceOperation" class="mx.rpc.soap.mxml.Operation" />
-	<component id="NumberValidator" class="mx.validators.NumberValidator"/>
+
+	<!--<component id="NumberValidator" class="mx.validators.NumberValidator"/>
 	<component id="PhoneNumberValidator" class="mx.validators.PhoneNumberValidator"/>
 	<component id="DateValidator" class="mx.validators.DateValidator"/>
-	<component id="EmailValidator" class="mx.validators.EmailValidator"/>
+	<component id="EmailValidator" class="mx.validators.EmailValidator"/>-->
 	<component id="Module" class="mx.modules.Module"/>
 	<component id="ModuleLoader" class="mx.modules.ModuleLoader"/>
 	<component id="State" class="mx.states.State" />
@@ -81,15 +76,15 @@
 	<component id="ListItemRenderer" class="mx.controls.listClasses.ListItemRenderer" />
 	<component id="ButtonItemRenderer" class="mx.supportClasses.ButtonItemRenderer" />
 	<component id="FormItemRequired" class="mx.supportClasses.FormItemRequired" />
-	<component id="ArrayList" class="mx.collections.ArrayList"/>
+	<!--<component id="ArrayList" class="mx.collections.ArrayList"/>-->
 	<component id="UIComponent" class="mx.core.UIComponent"/>
 	<component id="Container" class="mx.core.Container"/>
 	<component id="ControlBar" class="mx.containers.ControlBar"/>
 	<component id="Panel" class="mx.containers.Panel"/>
 	<component id="ToolTip" class="mx.controls.ToolTip" />
     <component id="TinyEditor" class="mx.controls.TinyEditor" />
-	<component id="SortField" class="mx.collections.SortField"/>
-	<component id="Sort" class="mx.collections.Sort"/>
+	<!--<component id="SortField" class="mx.collections.SortField"/>
+	<component id="Sort" class="mx.collections.Sort"/>-->
 	<component id="Stroke" class="mx.graphics.Stroke"/>
 	<component id="SolidColor" class="mx.graphics.SolidColor"/>
 	<component id="SolidColorStroke" class="mx.graphics.SolidColorStroke"/>
@@ -104,31 +99,31 @@
 	<component id="Move" class="mx.effects.Move"/>
 	<component id="LinearGradient" class="mx.graphics.LinearGradient"/>
 	<component id="ListBase" class="mx.controls.listClasses.ListBase" />
-	<component id="Grouping" class="mx.collections.Grouping" />
-	<component id="GroupingField" class="mx.collections.GroupingField" />
+	<!--<component id="Grouping" class="mx.collections.Grouping" />
+	<component id="GroupingField" class="mx.collections.GroupingField" />-->
 	<component id="MenuBar" class="mx.controls.MenuBar"/>
-	<component id="NumberFormatter" class="mx.formatters.NumberFormatter"/>
+	<!--<component id="NumberFormatter" class="mx.formatters.NumberFormatter"/>-->
     <component id="Form" class="mx.containers.Form" />
 	<component id="FormHeading" class="mx.containers.FormHeading"/>
     <component id="FormItem" class="mx.containers.FormItem" />
-	<component id="XMLListCollection" class="mx.collections.XMLListCollection"/>
+	<!--<component id="XMLListCollection" class="mx.collections.XMLListCollection"/>-->
 	<component id="TreeItemRenderer" class="mx.controls.treeClasses.TreeItemRenderer" />
 	<component id="ToggleButtonBar" class="mx.controls.ToggleButtonBar"/>
 	<component id="DragManager" class="mx.managers.DragManager" />
-	<component id="TraceTarget" class="mx.logging.targets.TraceTarget"/>
-	<component id="GroupingCollection2" class="mx.collections.GroupingCollection2" />
+	<!--<component id="TraceTarget" class="mx.logging.targets.TraceTarget"/>-->
+	<!--<component id="GroupingCollection2" class="mx.collections.GroupingCollection2" />-->
 	<component id="AdvancedListBase" class="mx.controls.listClasses.AdvancedListBase" />
-	<component id="AsyncToken" class="mx.rpc.AsyncToken" />
+
 	<component id="VScrollBar" class="mx.controls.VScrollBar"/>
 	<component id="LinearGradientStroke" class="mx.graphics.LinearGradientStroke"/>
-	<component id="CursorManager" class="mx.managers.CursorManager" />
-	<component id="Validator" class="mx.validators.Validator"/>
-	<component id="DateFormatter" class="mx.formatters.DateFormatter"/>
+	<!--<component id="CursorManager" class="mx.managers.CursorManager" />-->
+	<!--<component id="Validator" class="mx.validators.Validator"/>-->
+	<!--<component id="DateFormatter" class="mx.formatters.DateFormatter"/>-->
 	<component id="MenuBar" class="mx.controls.MenuBar"/>
     <component id="Menu" class="mx.controls.Menu"/>
 	<component id="Glow" class="mx.effects.Glow"/>
-	<component id="StringValidator" class="mx.validators.StringValidator"/>
-	<component id="RegExpValidator" class="mx.validators.RegExpValidator"/>
+	<!--<component id="StringValidator" class="mx.validators.StringValidator"/>
+	<component id="RegExpValidator" class="mx.validators.RegExpValidator"/>-->
 	<component id="AdvancedDataGridHeaderRenderer" class="mx.controls.advancedDataGridClasses.AdvancedDataGridHeaderRenderer" />
 	<component id="AdvancedDataGridColumn" class="mx.controls.advancedDataGridClasses.AdvancedDataGridColumn" />
 	<component id="AdvancedDataGridColumnGroup" class="mx.controls.advancedDataGridClasses.AdvancedDataGridColumnGroup" />
@@ -144,12 +139,12 @@
 	<component id="Tree" class="mx.controls.Tree"/>
 	<component id="LinkBar" class="mx.controls.LinkBar"/>
 
-	<component id="AMFChannel" class="mx.messaging.channels.AMFChannel" />
+	<!--<component id="AMFChannel" class="mx.messaging.channels.AMFChannel" />
 	<component id="ChannelSet" class="mx.messaging.ChannelSet" />
-	<component id="Consumer" class="mx.messaging.Consumer" />
+	<component id="Consumer" class="mx.messaging.Consumer" />-->
 
-	<component id="ListCollectionView" class="mx.collections.ListCollectionView"/>
-	<component id="ArrayCollection" class="mx.collections.ArrayCollection"/>
+<!--	<component id="ListCollectionView" class="mx.collections.ListCollectionView"/>
+	<component id="ArrayCollection" class="mx.collections.ArrayCollection"/>-->
 	<component id="Alert" class="mx.controls.Alert" />
 	<component id="ToolBar" class="mx.controls.richTextEditorClasses.ToolBar"/>
 	<component id="AdvancedDataGrid" class="mx.controls.AdvancedDataGrid" />
@@ -157,7 +152,7 @@
 	<component id="RichTextEditor" class="mx.controls.RichTextEditor" />
         <component id="PanelTitleBar" class="mx.containers.PanelTitleBar" />
         <component id="Accordion" class="mx.containers.Accordion" />
-	<component id="PhoneFormatter" class="mx.formatters.PhoneFormatter"/>
+	<!--<component id="PhoneFormatter" class="mx.formatters.PhoneFormatter"/>-->
 
 
     <component id="WipeLeft" class="mx.effects.WipeLeft" />
@@ -221,9 +216,9 @@
     <component id="CartesianDataCanvas" class="mx.charts.chartClasses.CartesianDataCanvas"/>
     <component id="PolarDataCanvas" class="mx.charts.chartClasses.PolarDataCanvas"/>
 
-    <component id="GroupingCollection" class="mx.collections.GroupingCollection"/>
-    <component id="GroupingCollection2" class="mx.collections.GroupingCollection2"/>
-    <component id="HierarchicalData" class="mx.collections.HierarchicalData"/>
+    <!--<component id="GroupingCollection" class="mx.collections.GroupingCollection"/>
+    <component id="GroupingCollection2" class="mx.collections.GroupingCollection2"/>-->
+    <!--<component id="HierarchicalData" class="mx.collections.HierarchicalData"/>-->
 
     <component id="DownloadButton" class="mx.controls.DownloadButton"/>
     <component id="HSlider" class="mx.controls.HSlider"/>
@@ -235,8 +230,8 @@
 	<component id="NavBar" class="mx.controls.NavBar" />
 	<component id="ApplicationControlBar" class="mx.containers.ApplicationControlBar" />
    <component id="MultiSelectionList" class="mx.controls.MultiSelectionList"/>
-   <component id="CurrencyFormatter" class="mx.formatters.CurrencyFormatter"/>
-   <component id="ZipCodeValidator" class="mx.validators.ZipCodeValidator"/>
+   <!--<component id="CurrencyFormatter" class="mx.formatters.CurrencyFormatter"/>-->
+   <!--<component id="ZipCodeValidator" class="mx.validators.ZipCodeValidator"/>-->
    <component id="PrintDataGrid" class="mx.printing.PrintDataGrid"/>
    
 
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
index 46780be..91f059f 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
@@ -22,11 +22,14 @@ package
 /**
  *  @private
  *  This class is used to link additional classes into rpc.swc
- *  beyond those that are found by dependecy analysis starting
+ *  beyond those that are found by dependency analysis starting
  *  from the classes specified in manifest.xml.
  */
 internal class MXRoyaleClasses
 {
+	MXRoyaleBaseClasses; //hard link in dependencies from MXRoyaleBase
+
+
 	import mx.automation.IAutomationObject; IAutomationObject;
 	import mx.controls.SWFLoader; SWFLoader;
 	import mx.core.DPIClassification; DPIClassification;
@@ -34,30 +37,30 @@ internal class MXRoyaleClasses
 	import mx.effects.AnimateProperty; AnimateProperty;
 	import mx.effects.easing.Cubic; Cubic;
 	import mx.events.StateChangeEvent; StateChangeEvent;
-	import mx.events.ResourceEvent; ResourceEvent;
+	/*import mx.events.ResourceEvent; ResourceEvent;*/
 	import mx.graphics.BitmapFill; BitmapFill;
 	import mx.graphics.BitmapFillMode; BitmapFillMode;
-	import mx.core.mx_internal; mx_internal;
+	/*import mx.core.mx_internal; mx_internal;*/
 	import mx.core.ScrollPolicy; ScrollPolicy;
 	import mx.controls.beads.ToolTipBead; ToolTipBead;
 	import mx.effects.IEffectInstance; IEffectInstance;
 	import mx.events.EffectEvent; EffectEvent;
 	import mx.graphics.IStroke; IStroke;
 	import mx.graphics.IFill; IFill;
-	import mx.core.EventPriority; EventPriority;
-	import mx.core.IFactory; IFactory;
+	/*import mx.core.EventPriority; EventPriority;*/
+	/*import mx.core.IFactory; IFactory;*/
 	import mx.core.ILayoutElement; ILayoutElement;
-	import mx.collections.CursorBookmark; CursorBookmark;
+	/*import mx.collections.CursorBookmark; CursorBookmark;
 	import mx.collections.ICollectionView; ICollectionView;
-	import mx.collections.IViewCursor; IViewCursor;
+	import mx.collections.IViewCursor; IViewCursor;*/
 	import mx.events.SandboxMouseEvent; SandboxMouseEvent;
 	import mx.events.ResizeEvent; ResizeEvent;
-	import mx.utils.StringUtil; StringUtil;
+	/*import mx.utils.StringUtil; StringUtil;*/
 	import mx.core.DragSource; DragSource;
 	import mx.events.DividerEvent; DividerEvent;
 	import mx.events.ScrollEvent; ScrollEvent;
 	import mx.events.MoveEvent; MoveEvent;
-	import mx.events.ValidationResultEvent; ValidationResultEvent;
+	/*import mx.events.ValidationResultEvent; ValidationResultEvent;*/
     import mx.containers.beads.AdvancedDataGridListVirtualListView; AdvancedDataGridListVirtualListView;
 	import mx.containers.beads.DataGridListListView; DataGridListListView;
 	import mx.containers.beads.AdvancedDataGridHeaderLayout; AdvancedDataGridHeaderLayout;
@@ -76,27 +79,27 @@ internal class MXRoyaleClasses
 	import mx.containers.gridClasses.GridColumnInfo; GridColumnInfo;
 	import mx.containers.gridClasses.GridRowInfo; GridRowInfo;
 	import mx.events.CloseEvent; CloseEvent;
-	import mx.events.DataEvent; DataEvent;
+	/*import mx.events.DataEvent; DataEvent;*/
 	import mx.controls.HRule; HRule;
 	import mx.events.ListEvent; ListEvent;
 	import mx.events.SliderEvent; SliderEvent;
 	import mx.managers.FocusManager; FocusManager;
-	import mx.utils.ArrayUtil; ArrayUtil;
+	/*import mx.utils.ArrayUtil; ArrayUtil;*/
 	import mx.effects.Effect; Effect; 
 	import mx.charts.ChartItem; ChartItem;
-	import mx.core.ClassFactory; ClassFactory;
+	/*import mx.core.ClassFactory; ClassFactory;*/
 	import mx.effects.Tween; Tween;
 	import mx.effects.Fade; Fade;
 	import mx.core.Container;Container;
 	import mx.core.ContainerGlobals; ContainerGlobals;
 	import mx.graphics.ImageSnapshot; ImageSnapshot;
 
-	import mx.system.ApplicationDomain; ApplicationDomain;
+	/*import mx.system.ApplicationDomain; ApplicationDomain;
 	import mx.system.System; System;
-	import mx.system.Security; Security;
-	import mx.rpc.http.HTTPService; mx.rpc.http.HTTPService;
+	import mx.system.Security; Security;*/
+	/*import mx.rpc.http.HTTPService; mx.rpc.http.HTTPService;
 	import mx.rpc.remoting.RemoteObject; mx.rpc.remoting.RemoteObject;
-	import mx.rpc.remoting.CompressedRemoteObject; mx.rpc.remoting.CompressedRemoteObject;
+	import mx.rpc.remoting.CompressedRemoteObject; mx.rpc.remoting.CompressedRemoteObject;*/
 	import mx.controls.treeClasses.ITreeDataDescriptor; ITreeDataDescriptor;
 	import mx.controls.treeClasses.TreeListData; TreeListData;
     import mx.controls.listClasses.ListVerticalLayout; ListVerticalLayout;
@@ -112,20 +115,20 @@ internal class MXRoyaleClasses
 	import mx.charts.HitData; HitData;
 	import mx.effects.effectClasses.RotateInstance; RotateInstance;
 	
-	import mx.events.FlexEvent; FlexEvent;
+	/*import mx.events.FlexEvent; FlexEvent;*/
 	import mx.managers.PopUpManager; PopUpManager; 
 	import mx.core.IVisualElementContainer; IVisualElementContainer;
 	import mx.managers.BrowserManager; BrowserManager;
 	import mx.charts.chartClasses.DataTransform; DataTransform;
 	import mx.skins.Border; Border;
 	import mx.effects.CompositeEffect; CompositeEffect;
-	import mx.core.FlexVersion; FlexVersion;
+	/*import mx.core.FlexVersion; FlexVersion;*/
 	import mx.charts.chartClasses.CartesianTransform; CartesianTransform;
 	import mx.charts.events.ChartItemEvent; ChartItemEvent;
 	import mx.charts.chartClasses.DataTip; DataTip;
   	import mx.controls.textClasses.TextRange; TextRange;
 	import mx.managers.CursorManagerPriority; CursorManagerPriority;
-	import mx.logging.Log; Log;
+	/*import mx.logging.Log; Log;
 	import mx.logging.LogLogger; LogLogger;
 	import mx.logging.LogEvent; LogEvent;
 	import mx.logging.LogEventLevel; LogEventLevel;
@@ -134,7 +137,7 @@ internal class MXRoyaleClasses
 	import mx.logging.ILoggingTarget; ILoggingTarget;
 	import mx.logging.errors.InvalidFilterError; InvalidFilterError;
 	import mx.logging.targets.LineFormattedTarget; LineFormattedTarget;
-	import mx.logging.targets.TraceTarget; TraceTarget;
+	import mx.logging.targets.TraceTarget; TraceTarget;*/
 	import mx.charts.chartClasses.Series; Series;
 	import mx.charts.chartClasses.GraphicsUtilities; GraphicsUtilities; 
 	import mx.effects.easing.Bounce; Bounce;
@@ -142,60 +145,60 @@ internal class MXRoyaleClasses
 	import mx.effects.effectClasses.TweenEffectInstance; TweenEffectInstance;
 	import mx.effects.effectClasses.AnimatePropertyInstance; AnimatePropertyInstance;
 	import mx.effects.TweenEffect; TweenEffect; 
-	import mx.rpc.Fault; Fault;
+	/*import mx.rpc.Fault; Fault;
 	import mx.rpc.events.InvokeEvent; InvokeEvent;
 	import mx.rpc.events.ResultEvent; ResultEvent;
 	import mx.rpc.AsyncResponder; AsyncResponder;
-	import mx.rpc.Responder; Responder;
+	import mx.rpc.Responder; Responder;*/
 	import mx.printing.FlexPrintJobScaleType; FlexPrintJobScaleType; 
 	import mx.skins.RectangularBorder; RectangularBorder;
 	import mx.styles.IStyleClient; IStyleClient; 
 	import mx.styles.ISimpleStyleClient; ISimpleStyleClient; 
 	import mx.styles.StyleProxy; StyleProxy;
 	import mx.styles.StyleManagerImpl; StyleManagerImpl;
-	import mx.modules.IModuleInfo; IModuleInfo;
-	import mx.formatters.SwitchSymbolFormatter; SwitchSymbolFormatter;
-	import mx.formatters.ZipCodeFormatter; ZipCodeFormatter;
+	/*import mx.modules.IModuleInfo; IModuleInfo;*/
+	/*import mx.formatters.SwitchSymbolFormatter; SwitchSymbolFormatter;
+	import mx.formatters.ZipCodeFormatter; ZipCodeFormatter;*/
 	import mx.printing.FlexPrintJob; FlexPrintJob; 
-	import mx.utils.URLUtil; URLUtil;
+	/*import mx.utils.URLUtil; URLUtil;*/
 	import mx.core.UITextField; UITextField;
 	import mx.effects.Parallel; Parallel; 
-	import mx.rpc.events.FaultEvent; FaultEvent;
+/*	import mx.rpc.events.FaultEvent; FaultEvent;*/
 	import mx.events.AdvancedDataGridEvent; AdvancedDataGridEvent;
 	import mx.events.DataGridEvent; DataGridEvent;
 	import mx.events.DataGridEventReason; DataGridEventReason;
 	import mx.skins.ProgrammaticSkin; ProgrammaticSkin;
-	import mx.rpc.soap.WebService; WebService;
-	import mx.collections.ISort; ISort;
-	import mx.collections.AsyncListView; AsyncListView;
-	import mx.utils.Base64Encoder; Base64Encoder;
+	/*import mx.rpc.soap.WebService; WebService;*/
+	/*import mx.collections.ISort; ISort;
+	import mx.collections.AsyncListView; AsyncListView;*/
+	/*import mx.utils.Base64Encoder; Base64Encoder;
 	import mx.utils.Base64Decoder; Base64Decoder;
-	import mx.utils.BitFlagUtil; BitFlagUtil;
-	import mx.events.IndexChangedEvent; IndexChangedEvent;
+	import mx.utils.BitFlagUtil; BitFlagUtil;*/
+	/*import mx.events.IndexChangedEvent; IndexChangedEvent;*/
 	import mx.events.ItemClickEvent; ItemClickEvent;
 	import mx.events.ModuleEvent; ModuleEvent;
 	import mx.events.MouseEvent; MouseEvent;
 	import mx.managers.SystemManager; SystemManager;
 	import mx.filters.BitmapFilter; BitmapFilter;
 	import mx.filters.ColorMatrixFilter; ColorMatrixFilter;
-	import mx.events.IOErrorEvent; IOErrorEvent;
+	/*import mx.events.IOErrorEvent; IOErrorEvent;*/
 	import mx.events.FocusEvent; FocusEvent;
-	import mx.errors.EOFError; EOFError;
+	/*import mx.errors.EOFError; EOFError;*/
 	import mx.events.TextEvent; TextEvent;
 	import mx.display.Bitmap; Bitmap;
 	import mx.display.Loader; Loader;
-	import mx.external.ExternalInterface; ExternalInterface;
+	/*import mx.external.ExternalInterface; ExternalInterface;*/
 	import mx.events.KeyboardEvent; KeyboardEvent;
-	import mx.geom.Matrix; Matrix;
-	import mx.utils.ByteArray; mx.utils.ByteArray;
+	/*import mx.geom.Matrix; Matrix;*/
+	/*import mx.utils.ByteArray; mx.utils.ByteArray;*/
 	import mx.controls.RichTextEditor; RichTextEditor;
-	import mx.events.SecurityErrorEvent; SecurityErrorEvent;
-	import mx.events.HTTPStatusEvent; HTTPStatusEvent;
-	import mx.net.FileReference; FileReference;
+	/*import mx.events.SecurityErrorEvent; SecurityErrorEvent;*/
+	/*import mx.events.HTTPStatusEvent; HTTPStatusEvent;*/
+	/*import mx.net.FileReference; FileReference;
 	import mx.net.FileFilter; FileFilter;
-	import mx.net.URLLoaderDataFormat; URLLoaderDataFormat;
+	import mx.net.URLLoaderDataFormat; URLLoaderDataFormat;*/
 	
-	import mx.events.ProgressEvent; ProgressEvent;
+	/*import mx.events.ProgressEvent; ProgressEvent;*/
 	import mx.events.ColorPickerEvent; ColorPickerEvent;
     import mx.controls.advancedDataGridClasses.AdvancedDataGridColumnList; AdvancedDataGridColumnList;
     import mx.controls.advancedDataGridClasses.AdvancedDataGridButtonBar; AdvancedDataGridButtonBar;
@@ -215,49 +218,49 @@ internal class MXRoyaleClasses
     import mx.controls.listClasses.ListSingleSelectionMouseController; ListSingleSelectionMouseController;
     import mx.controls.treeClasses.TreeSingleSelectionMouseController; TreeSingleSelectionMouseController;
     import mx.controls.beads.TreeItemRendererMouseController; TreeItemRendererMouseController;
-	import mx.formatters.Formatter; Formatter;
+	/*import mx.formatters.Formatter; Formatter;
 	import mx.formatters.IFormatter; IFormatter;
 	import mx.formatters.NumberBase; NumberBase;
 	import mx.formatters.NumberBaseRoundType; NumberBaseRoundType;
-	import mx.formatters.CurrencyFormatter; CurrencyFormatter;
+	import mx.formatters.CurrencyFormatter; CurrencyFormatter;*/
 	import mx.events.CalendarLayoutChangeEvent; CalendarLayoutChangeEvent;
-	import mx.net.SharedObject; SharedObject;
-	import mx.net.SharedObjectJSON; SharedObjectJSON;
+	/*import mx.net.SharedObject; SharedObject;
+	import mx.net.SharedObjectJSON; SharedObjectJSON;*/
 	import mx.modules.ModuleManager; ModuleManager;
 	import mx.events.DragEvent; DragEvent;
-	import mx.formatters.DateBase; DateBase;
-	import mx.core.Keyboard; Keyboard;
+	/*import mx.formatters.DateBase; DateBase;*/
+	/*import mx.core.Keyboard; Keyboard;*/
 	import mx.core.UIComponentGlobals; UIComponentGlobals;
 	import mx.managers.ILayoutManagerClient; ILayoutManagerClient;
 	import mx.core.LayoutDirection; LayoutDirection;
 	import mx.styles.IAdvancedStyleClient; IAdvancedStyleClient;
-	import mx.collections.IComplexSortField; IComplexSortField;
-	import mx.collections.HierarchicalData; HierarchicalData
+	/*import mx.collections.IComplexSortField; IComplexSortField;
+	import mx.collections.HierarchicalData; HierarchicalData*/
 
 	import mx.core.IIMESupport; IIMESupport;
 	import mx.core.InteractionMode; InteractionMode;
-	import mx.collections.ComplexFieldChangeWatcher; ComplexFieldChangeWatcher;
-	import mx.binding.BindabilityInfo; BindabilityInfo;
+	/*import mx.collections.ComplexFieldChangeWatcher; ComplexFieldChangeWatcher;*/
+	/*import mx.binding.BindabilityInfo; BindabilityInfo;
 	import mx.binding.utils.ChangeWatcher; ChangeWatcher;
-	import mx.binding.utils.BindingUtils; BindingUtils;
-	import mx.validators.IValidatorListener; IValidatorListener;
+	import mx.binding.utils.BindingUtils; BindingUtils;*/
+/*	import mx.validators.IValidatorListener; IValidatorListener;*/
 	import mx.managers.IToolTipManagerClient; IToolTipManagerClient;
 	import mx.events.ToolTipEvent; ToolTipEvent;
-	import mx.core.Singleton; Singleton;
+	/*import mx.core.Singleton; Singleton;*/
 	import mx.effects.IAbstractEffect; IAbstractEffect;
 	import mx.managers.ToolTipManager; ToolTipManager;
 	import mx.managers.IToolTipManager2; IToolTipManager2;
 	import mx.utils.PopUpUtil; PopUpUtil;
-	import mx.rpc.http.HTTPMultiService; HTTPMultiService;
-	import mx.messaging.messages.HTTPRequestMessage; HTTPRequestMessage;
+	/*import mx.rpc.http.HTTPMultiService; HTTPMultiService;*/
+	/*import mx.messaging.messages.HTTPRequestMessage; HTTPRequestMessage;
 	import mx.messaging.channels.DirectHTTPChannel; DirectHTTPChannel;
     import mx.messaging.channels.HTTPChannel; HTTPChannel;
-	import mx.messaging.errors.MessageSerializationError; MessageSerializationError;
-	import mx.rpc.http.SerializationFilter; SerializationFilter;
-	import mx.rpc.http.AbstractOperation; AbstractOperation;
+	import mx.messaging.errors.MessageSerializationError; MessageSerializationError;*/
+	/*import mx.rpc.http.SerializationFilter; SerializationFilter;
+	import mx.rpc.http.AbstractOperation; AbstractOperation;*/
 	import mx.events.MenuEvent; MenuEvent;
-	import mx.rpc.CallResponder; CallResponder;
-	import mx.rpc.http.Operation; Operation;
+	/*import mx.rpc.CallResponder; CallResponder;
+	import mx.rpc.http.Operation; Operation;*/
 	import mx.events.TreeEvent; TreeEvent;
 	import mx.controls.Menu; Menu;
 	import mx.events.NumericStepperEvent; NumericStepperEvent;
@@ -294,13 +297,13 @@ internal class MXRoyaleClasses
     import mx.controls.beads.models.ComboBoxModel; ComboBoxModel;
     import mx.controls.beads.models.CascadingMenuModel; CascadingMenuModel;
     
-	import mx.collections.errors.ItemPendingError; ItemPendingError;
+	/*import mx.collections.errors.ItemPendingError; ItemPendingError;*/
 	import mx.controls.scrollClasses.ScrollThumb; ScrollThumb;
 	import mx.effects.EffectTargetFilter; EffectTargetFilter;
 	import mx.effects.effectClasses.PropertyChanges; PropertyChanges;
 	import mx.effects.IEffect; IEffect;
 	import mx.effects.IEffectTargetHost; IEffectTargetHost;
-	import mx.events.RSLEvent; RSLEvent;
+	/*import mx.events.RSLEvent; RSLEvent;*/
 	import mx.skins.halo.DataGridHeaderSeparator; DataGridHeaderSeparator;
 	import mx.filters.BaseDimensionFilter; BaseDimensionFilter;
 	import mx.filters.BaseFilter; BaseFilter;
@@ -329,7 +332,7 @@ internal class MXRoyaleClasses
 
 
 	// --- RpcClassAliasInitializer
-	import org.apache.royale.reflection.registerClassAlias;
+	/*import org.apache.royale.reflection.registerClassAlias;
 
 	import mx.messaging.messages.AcknowledgeMessage;
 	import mx.messaging.messages.AsyncMessage;
@@ -345,10 +348,10 @@ internal class MXRoyaleClasses
 	import mx.messaging.messages.CommandMessageExt;
 	registerClassAlias("DSK", AcknowledgeMessageExt);
 	registerClassAlias("DSA", AsyncMessageExt);
-	registerClassAlias("DSC", CommandMessageExt);
+	registerClassAlias("DSC", CommandMessageExt);*/
 	// RpcClassAliasInitializer ----------------------------------------
     
-	import mx.net.URLLoader; URLLoader;
+	/*import mx.net.URLLoader; URLLoader;*/
 	import mx.events.FlexMouseEvent; FlexMouseEvent;
 	import mx.controls.HSlider; HSlider;
 	import mx.controls.sliderClasses.Slider; Slider;
@@ -359,55 +362,55 @@ internal class MXRoyaleClasses
 	import mx.controls.listClasses.TileBase; TileBase;
 	import mx.controls.listClasses.TileBaseDirection; TileBaseDirection;
 	
-	import mx.utils.NameUtil; NameUtil;
+	/*import mx.utils.NameUtil; NameUtil;*/
 	import mx.core.BitmapAsset; BitmapAsset;
 
-	import mx.events.TimerEvent; TimerEvent;
-	import mx.utils.Timer; Timer;
+	/*import mx.events.TimerEvent; TimerEvent;*/
+	/*import mx.utils.Timer; Timer;*/
 	import mx.controls.menuClasses.IMenuItemRenderer; IMenuItemRenderer;
 	import mx.controls.menuClasses.IMenuDataDescriptor; IMenuDataDescriptor;
 	import mx.controls.menuClasses.IMenuBarItemRenderer; IMenuBarItemRenderer;
 	import mx.utils.GraphicsUtil; GraphicsUtil;
-        import mx.dummy.ContextMenuItem; ContextMenuItem;
+    import mx.dummy.ContextMenuItem; ContextMenuItem;
 	import mx.containers.ApplicationControlBar; ApplicationControlBar;
 	import mx.filters.BitmapFilterType; BitmapFilterType;
 	import mx.filters.BitmapFilterQuality; BitmapFilterQuality;
-	import mx.net.URLRequestMethod; URLRequestMethod;
+	/*import mx.net.URLRequestMethod; URLRequestMethod;*/
 	import mx.controls.ButtonLabelPlacement; ButtonLabelPlacement;
 	import mx.display.NativeMenu; NativeMenu;
 	
 	import mx.printing.PrintJobOptions; PrintJobOptions;
 	import mx.text.TextFieldAutoSize; TextFieldAutoSize;
-	import mx.errors.ScriptTimeoutError; ScriptTimeoutError;
+	/*import mx.errors.ScriptTimeoutError; ScriptTimeoutError;*/
 	import mx.controls.beads.models.ArrayMultiSelectionModel; ArrayMultiSelectionModel;
     import mx.controls.beads.MultiSelectionListView; MultiSelectionListView; 
     import mx.controls.beads.controllers.ListMultiSelectionMouseController; ListMultiSelectionMouseController;
     import mx.controls.beads.MultiSelectionItemRendererClassFactory; MultiSelectionItemRendererClassFactory;
-	import mx.utils.DescribeTypeCache; DescribeTypeCache;
+	/*import mx.utils.DescribeTypeCache; DescribeTypeCache;*/
 	import mx.events.FocusRequestDirection; FocusRequestDirection;
 	import mx.core.IBorder; IBorder;
 	import mx.core.IRectangularBorder; IRectangularBorder;
 	import mx.events.EventPhase; EventPhase;
 	import mx.core.ComponentDescriptor; ComponentDescriptor;
 	import mx.core.UIComponentDescriptor; UIComponentDescriptor;
-	import mx.binding.Binding; Binding;
+	/*import mx.binding.Binding; Binding;
 	import mx.binding.IBindingClient; IBindingClient;
-	import mx.binding.BindingManager; BindingManager;
-	import mx.data.EncryptedLocalStore; EncryptedLocalStore;
+	import mx.binding.BindingManager; BindingManager;*/
+	/*import mx.data.EncryptedLocalStore; EncryptedLocalStore;*/
 	import mx.filesystem.File; File;
-	import mx.system.Capabilities; Capabilities;
+	/*import mx.system.Capabilities; Capabilities;*/
 	import mx.filesystem.FileMode; FileMode;
 	import mx.filesystem.FileStream; FileStream;
-	import mx.net.Socket; Socket;
-	import mx.utils.Endian; Endian;
+	/*import mx.net.Socket; Socket;*/
+	/*import mx.utils.Endian; Endian;*/
 	import mx.text.Font; Font;
-	import mx.net.LocalConnection; LocalConnection;
-	import mx.net.ObjectEncoding; ObjectEncoding;
+	/*import mx.net.LocalConnection; LocalConnection;*/
+	/*import mx.net.ObjectEncoding; ObjectEncoding;*/
 	import mx.core.ByteArrayAsset; ByteArrayAsset;
 	import mx.core.ContainerRawChildrenList; ContainerRawChildrenList;
 
 
-	import mx.globalization.supportClasses.GlobalizationBase; GlobalizationBase;
+	/*import mx.globalization.supportClasses.GlobalizationBase; GlobalizationBase;
 	import mx.globalization.CurrencyParseResult; CurrencyParseResult;
 	import mx.globalization.DateTimeFormatter; DateTimeFormatter;
 	import mx.globalization.DateTimeNameStyle; DateTimeNameStyle;
@@ -416,16 +419,16 @@ internal class MXRoyaleClasses
 	import mx.globalization.LocaleID; LocaleID;
 	import mx.globalization.NationalDigitsType; NationalDigitsType;
 	import mx.globalization.NumberFormatter; NumberFormatter;
-	import mx.globalization.NumberParseResult; NumberParseResult;
+	import mx.globalization.NumberParseResult; NumberParseResult;*/
 	import mx.core.LayoutContainer; LayoutContainer;
 	import mx.containers.utilityClasses.Layout; Layout;
-	import mx.validators.ZipCodeValidator; ZipCodeValidator;
-	import mx.validators.ZipCodeValidatorDomainType; ZipCodeValidatorDomainType;
+	/*import mx.validators.ZipCodeValidator; ZipCodeValidator;
+	import mx.validators.ZipCodeValidatorDomainType; ZipCodeValidatorDomainType;*/
 	import mx.controls.dataGridClasses.DataGridHeaderBase; DataGridHeaderBase;
 	import mx.controls.dataGridClasses.DataGridHeader; DataGridHeader;
 	import mx.printing.PrintJob; PrintJob;
 	import mx.containers.accordionClasses.AccordionHeader; AccordionHeader;
-	import mx.net.FileReferenceList; FileReferenceList;
+	/*import mx.net.FileReferenceList; FileReferenceList;*/
 }
 
 }
diff --git a/frameworks/projects/MXRoyale/asconfig.json b/frameworks/projects/MXRoyaleBase/asconfig.json
similarity index 94%
copy from frameworks/projects/MXRoyale/asconfig.json
copy to frameworks/projects/MXRoyaleBase/asconfig.json
index 75bb785..e7a6a0f 100644
--- a/frameworks/projects/MXRoyale/asconfig.json
+++ b/frameworks/projects/MXRoyaleBase/asconfig.json
@@ -24,7 +24,7 @@
             "SWF"
         ],
         "include-classes": [
-            "MXRoyaleClasses"
+            "MXRoyaleBaseClasses"
         ],
         "include-sources": [
             "src/main/royale"
@@ -35,7 +35,7 @@
         "external-library-path": [
             "../../../../frameworks/libs/air/airglobal.swc"
         ],
-        "output": "target/MXRoyale.swc"
+        "output": "target/MXRoyaleBase.swc"
     },
     "additionalOptions": "-compiler.define+=ROYALE::DISPLAYOBJECT,DisplayObject -js-compiler-define+=ROYALE::DISPLAYOBJECT,IUIComponent -js-compiler-define+=COMPILE::SWF,false -js-compiler-define+=COMPILE::JS,true"
 }
\ No newline at end of file
diff --git a/frameworks/projects/MXRoyaleBase/build.xml b/frameworks/projects/MXRoyaleBase/build.xml
new file mode 100644
index 0000000..838b0b3
--- /dev/null
+++ b/frameworks/projects/MXRoyaleBase/build.xml
@@ -0,0 +1,177 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<project name="MXRoyaleBase" default="main" basedir=".">
+    <property name="ROYALE_HOME" location="../../.."/>
+    
+    <property file="${ROYALE_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${ROYALE_HOME}/local.properties"/>
+    <property file="${ROYALE_HOME}/build.properties"/>
+    <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+    
+    <property name="target.name" value="${ant.project.name}.swc" />
+    
+    <tstamp>
+        <format property="royale.swc-date" pattern="MM/dd/yy HH:mm Z"/>
+    </tstamp>
+    <echo>swc-date is ${royale.swc-date}</echo>
+    
+    <target name="main" depends="clean,check-compiler,compile,compile-js,copy-swc,test" description="Full build of ${ant.project.name}.swc">
+    </target>
+    
+    <target name="compile-js">
+        <ant dir="${ROYALE_HOME}/frameworks/js/projects/${ant.project.name}JS/" inheritAll="false" >
+            <property name="ROYALE_SWF_COMPILER_HOME" value="${ROYALE_SWF_COMPILER_HOME}"/>
+            <property name="ROYALE_COMPILER_HOME" value="${ROYALE_COMPILER_HOME}"/>
+            <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+        </ant>
+    </target>
+    
+    <target name="copy-swc" if="env.AIR_HOME">
+        <copy file="${basedir}/target/${target.name}" tofile="${ROYALE_HOME}/frameworks/libs/${target.name}" />
+    </target>
+    
+    <target name="check-for-tests" >
+        <condition property="skip-tests" >
+            <not>
+                <available file="${basedir}/src/test/royale/build.xml" />
+            </not>
+        </condition>
+        <!-- exclude from js-only build -->
+        <condition property="skip-tests" >
+            <not>
+                <isset property="env.AIR_HOME" />
+            </not>
+        </condition>
+    </target>
+    
+    <target name="test" depends="check-for-tests,check-compiler" unless="skip-tests">
+        <ant dir="src/test/royale" />
+        <antcall target="test-js" />
+    </target>
+
+    <target name="test-js">
+        <ant dir="${ROYALE_HOME}/frameworks/js/projects/${ant.project.name}JS/" inheritAll="false" target="test">
+            <property name="ROYALE_SWF_COMPILER_HOME" value="${ROYALE_SWF_COMPILER_HOME}"/>
+            <property name="ROYALE_COMPILER_HOME" value="${ROYALE_COMPILER_HOME}"/>
+            <property name="ROYALE_HOME" value="${ROYALE_HOME}"/>
+        </ant>
+    </target>
+    
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${ROYALE_HOME}/frameworks/libs">
+                <include name="${target.name}"/>
+            </fileset>
+        </delete>
+        <delete failonerror="false" includeemptydirs="true">
+            <fileset dir="${basedir}/target">
+                <include name="**/**"/>
+            </fileset>
+        </delete>
+        <antcall target="clean-tests" />
+    </target>
+    
+    <target name="clean-tests" depends="check-for-tests" unless="skip-tests">
+        <ant dir="src/test/royale" target="clean"/>
+    </target>
+    
+    <target name="compile" description="Compiles .as files into .swc" if="env.AIR_HOME">
+        <!-- use antcall so that resultproperty can be used in other projects and
+             they don't collide when being run one after the other -->
+        <antcall target="compile-swf" />
+    </target>
+    
+    <target name="compile-swf">
+        <echo message="Compiling libs/${ant.project.name}.swc"/>
+        <echo message="ROYALE_HOME: ${ROYALE_HOME}"/>
+        <echo message="ROYALE_SWF_COMPILER_HOME: ${ROYALE_SWF_COMPILER_HOME}"/>
+        <echo message="ROYALE_COMPILER_HOME: ${ROYALE_COMPILER_HOME}"/>
+        
+        <java jar="${ROYALE_COMPILER_HOME}/lib/compc.jar" fork="true"
+            resultproperty="compcoutput">
+            <jvmarg value="-Xmx384m" />
+            <jvmarg value="-Dsun.io.useCanonCaches=false" />
+            <jvmarg value="-Droyalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+royalelib=${ROYALE_HOME}/frameworks" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+            <arg value="-compiler.strict-xml=true" />
+            <arg value="-compiler.targets=SWF,JSRoyale" />
+            <arg value="-compiler.define+=GOOG::DEBUG,true" />
+            <arg value="-compiler.define+=ROYALE::DISPLAYOBJECT,DisplayObject" />
+            <arg line="-metadata.date=&quot;${royale.swc-date}&quot;" />
+            <arg line="-metadata.dateFormat=&quot;MM/dd/yy HH:mm Z&quot;" />
+            <arg line="-swf-debugfile-alias=&quot;/org/apache/royale/${release.version}&quot;" />
+            <arg value="-output=${basedir}/target/${target.name}" />
+            <arg value="-load-config=${basedir}/src/main/config/compile-swf-config.xml" />
+            <arg value="-js-compiler-define+=ROYALE::DISPLAYOBJECT,IUIComponent" />
+            <arg value="-js-compiler-define+=GOOG::DEBUG,goog.DEBUG" />
+            <arg value="-js-compiler-define+=COMPILE::SWF,false" />
+            <arg value="-js-compiler-define+=COMPILE::JS,true" />
+            <arg value="-js-load-config=${ROYALE_HOME}/frameworks/js-config.xml" />
+            <arg value="-js-load-config+=${basedir}/../../js/projects/${ant.project.name}JS/src/main/config/compile-js-config.xml" />
+        </java>
+        <fail>
+            <condition>
+                <not>
+                    <or>
+                        <equals arg1="${compcoutput}" arg2="0" />
+                        <equals arg1="${compcoutput}" arg2="2" />
+                    </or>
+                </not>
+            </condition>
+        </fail>
+    </target>
+    
+    <target name="check-compiler" depends="check-compiler-home,check-transpiler-home">
+        <path id="lib.path">
+            <fileset dir="${ROYALE_COMPILER_HOME}/lib" includes="compiler-royaleTasks.jar"/>
+        </path>
+        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+    </target>
+    
+    <target name="check-compiler-home"
+        description="Set ROYALE_SWF_COMPILER_HOME to point at the compiler.">
+        
+        <available file="${ROYALE_HOME}/lib/compiler-mxmlc.jar"
+        type="file"
+        property="ROYALE_SWF_COMPILER_HOME"
+        value="${ROYALE_HOME}"/>
+        
+        <fail message="ROYALE_SWF_COMPILER_HOME must be set to a folder with a lib sub-folder containing compiler-mxmlc.jar such as the compiler folder in royale-compiler repo or the root of a Royale SDK"
+        unless="ROYALE_SWF_COMPILER_HOME"/>
+    </target>
+    
+    <target name="check-transpiler-home"
+        description="Set ROYALE_COMPILER_HOME to point at the cross-compiler.">
+        
+        <available file="${ROYALE_HOME}/js/lib/jsc.jar"
+        type="file"
+        property="ROYALE_COMPILER_HOME"
+        value="${ROYALE_HOME}/js"/>
+        
+        <fail message="ROYALE_COMPILER_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in royale-compiler repo or the js folder of a Royale SDK"
+        unless="ROYALE_COMPILER_HOME"/>
+    </target>
+    
+</project>
diff --git a/frameworks/projects/MXRoyale/pom.xml b/frameworks/projects/MXRoyaleBase/pom.xml
similarity index 80%
copy from frameworks/projects/MXRoyale/pom.xml
copy to frameworks/projects/MXRoyaleBase/pom.xml
index 6423666..fd106f6 100644
--- a/frameworks/projects/MXRoyale/pom.xml
+++ b/frameworks/projects/MXRoyaleBase/pom.xml
@@ -25,11 +25,12 @@
     <version>0.9.9-SNAPSHOT</version>
   </parent>
 
-  <artifactId>MXRoyale</artifactId>
+  <artifactId>MXRoyaleBase</artifactId>
   <version>0.9.9-SNAPSHOT</version>
   <packaging>swc</packaging>
 
-  <name>Apache Royale: Framework: Libs: MXRoyale</name>
+  <name>Apache Royale: Framework: Libs: MXRoyaleBase</name>
+  <description>contains Royale versions of mostly non-UI classes represented in the Apache Flex framework</description>
 
   <build>
     <sourceDirectory>src/main/royale</sourceDirectory>
@@ -47,54 +48,8 @@
             </namespace>
           </namespaces>
           <includeClasses>
-            <includeClass>MXRoyaleClasses</includeClass>
+            <includeClass>MXRoyaleBaseClasses</includeClass>
           </includeClasses>
-          <includeFiles>
-              <include-file>
-                  <name>defaults.css</name>
-                  <path>../src/main/resources/defaults.css</path>
-              </include-file>
-              <include-file>
-                  <name>assets/icon_align_center.png</name>
-                  <path>../src/main/resources/assets/icon_align_center.png</path>
-              </include-file>
-              <include-file>
-                  <name>assets/icon_align_justify.png</name>
-                  <path>../src/main/resources/assets/icon_align_justify.png</path>
-              </include-file>
-              <include-file>
-                  <name>assets/icon_align_left.png</name>
-                  <path>../src/main/resources/assets/icon_align_left.png</path>
-              </include-file>
-              <include-file>
-                  <name>assets/icon_align_right.png</name>
-                  <path>../src/main/resources/assets/icon_align_right.png</path>
-              </include-file>
-              <include-file>
-                  <name>assets/icon_bullet.png</name>
-                  <path>../src/main/resources/assets/icon_bullet.png</path>
-              </include-file>
-              <include-file>
-                  <name>assets/icon_style_bold.png</name>
-                  <path>../src/main/resources/assets/icon_style_bold.png</path>
-              </include-file>
-              <include-file>
-                  <name>assets/icon_style_italic.png</name>
-                  <path>../src/main/resources/assets/icon_style_italic.png</path>
-              </include-file>
-              <include-file>
-                  <name>assets/icon_style_underline.png</name>
-                  <path>../src/main/resources/assets/icon_style_underline.png</path>
-              </include-file>
-	      <include-file>
-                  <name>assets/icon_required_indicator.png</name>
-                  <path>../src/main/resources/assets/icon_required_indicator.png</path>
-              </include-file>
-	      <include-file>
-                  <name>assets/icon_error_indicator.png</name>
-                  <path>../src/main/resources/assets/icon_error_indicator.png</path>
-              </include-file>
-          </includeFiles>
           <skipExtern>true</skipExtern>
           <skipAS>${royale.skipAS}</skipAS>
           <defines>
@@ -112,7 +67,6 @@
               </define>
           </defines>
           <allowSubclassOverrides>true</allowSubclassOverrides>
-          <includeLookupOnly>true</includeLookupOnly>
           <additionalCompilerOptions>
               ${project.compiler.options};
               -js-compiler-define=COMPILE::JS,true;
diff --git a/frameworks/projects/MXRoyale/src/main/config/compile-swf-config.xml b/frameworks/projects/MXRoyaleBase/src/main/config/compile-swf-config.xml
similarity index 69%
copy from frameworks/projects/MXRoyale/src/main/config/compile-swf-config.xml
copy to frameworks/projects/MXRoyaleBase/src/main/config/compile-swf-config.xml
index 51ae658..d6fae36 100644
--- a/frameworks/projects/MXRoyale/src/main/config/compile-swf-config.xml
+++ b/frameworks/projects/MXRoyaleBase/src/main/config/compile-swf-config.xml
@@ -96,60 +96,13 @@
 
         <!-- Use of the instanceof operator. -->
         <warn-instance-of-changes>false</warn-instance-of-changes>
-
-        <!-- avoid warnings for 'this within closure' (multiple, intentional) -->
-        <warn-this-within-closure>false</warn-this-within-closure>
     </compiler>
-    
-    <include-file>
-        <name>defaults.css</name>
-        <path>../resources/defaults.css</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_align_center.png</name>
-        <path>../resources/assets/icon_align_center.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_align_justify.png</name>
-        <path>../resources/assets/icon_align_justify.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_align_left.png</name>
-        <path>../resources/assets/icon_align_left.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_align_right.png</name>
-        <path>../resources/assets/icon_align_right.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_bullet.png</name>
-        <path>../resources/assets/icon_bullet.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_style_bold.png</name>
-        <path>../resources/assets/icon_style_bold.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_style_italic.png</name>
-        <path>../resources/assets/icon_style_italic.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_style_underline.png</name>
-        <path>../resources/assets/icon_style_underline.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_required_indicator.png</name>
-        <path>../resources/assets/icon_required_indicator.png</path>
-    </include-file>
-    <include-file>
-        <name>assets/icon_error_indicator.png</name>
-        <path>../resources/assets/icon_error_indicator.png</path>
-    </include-file>
+
 
     <include-lookup-only>true</include-lookup-only>
 
     <include-classes>
-        <class>MXRoyaleClasses</class>
+        <class>MXRoyaleBaseClasses</class>
     </include-classes>
     
     <include-namespaces>
diff --git a/frameworks/projects/MXRoyaleBase/src/main/resources/mx-royale-as-manifest.xml b/frameworks/projects/MXRoyaleBase/src/main/resources/mx-royale-as-manifest.xml
new file mode 100644
index 0000000..629cc54
--- /dev/null
+++ b/frameworks/projects/MXRoyaleBase/src/main/resources/mx-royale-as-manifest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<componentPackage>
+
+    
+
+</componentPackage>
diff --git a/frameworks/projects/MXRoyaleBase/src/main/resources/mx-royale-manifest.xml b/frameworks/projects/MXRoyaleBase/src/main/resources/mx-royale-manifest.xml
new file mode 100644
index 0000000..f336d71
--- /dev/null
+++ b/frameworks/projects/MXRoyaleBase/src/main/resources/mx-royale-manifest.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<componentPackage>
+
+	<!-- collections -->
+	<component id="ListCollectionView" 					class="mx.collections.ListCollectionView"/>
+	<component id="ArrayCollection" 					class="mx.collections.ArrayCollection"/>
+	<component id="ArrayList" 							class="mx.collections.ArrayList"/>
+	<component id="SortField" 							class="mx.collections.SortField"/>
+	<component id="Sort" 								class="mx.collections.Sort"/>
+	<component id="XMLListCollection" 					class="mx.collections.XMLListCollection"/>
+	<component id="GroupingCollection" 					class="mx.collections.GroupingCollection"/>
+	<component id="GroupingCollection2" 				class="mx.collections.GroupingCollection2"/>
+	<component id="HierarchicalData" 					class="mx.collections.HierarchicalData"/>
+	<component id="Grouping" 							class="mx.collections.Grouping" />
+	<component id="GroupingField" 						class="mx.collections.GroupingField" />
+
+
+	<!-- formatters -->
+	<component id="NumberFormatter" 					class="mx.formatters.NumberFormatter"/>
+	<component id="DateFormatter" 						class="mx.formatters.DateFormatter"/>
+	<component id="PhoneFormatter" 						class="mx.formatters.PhoneFormatter"/>
+	<component id="CurrencyFormatter" 					class="mx.formatters.CurrencyFormatter"/>
+
+	<!-- logging -->
+	<component id="TraceTarget" 						class="mx.logging.targets.TraceTarget"/>
+
+	<!-- managers -->
+	<component id="CursorManager" 						class="mx.managers.CursorManager" />
+
+	<!-- messaging -->
+	<component id="AMFChannel" 							class="mx.messaging.channels.AMFChannel" />
+	<component id="ChannelSet" 							class="mx.messaging.ChannelSet" />
+	<component id="Consumer" 							class="mx.messaging.Consumer" />
+
+	<!-- rpc -->
+	<component id="AsyncToken" 							class="mx.rpc.AsyncToken" />
+	<component id="CompressedRemoteObject" 				class="mx.rpc.remoting.mxml.CompressedRemoteObject" />
+	<component id="RemoteObject" 						class="mx.rpc.remoting.mxml.RemoteObject" />
+	<component id="RemoteObjectOperation"				class="mx.rpc.remoting.mxml.Operation"/>
+	<component id="HTTPService" 						class="mx.rpc.http.mxml.HTTPService" />
+	<component id="WebService" 							class="mx.rpc.soap.mxml.WebService" />
+	<component id="WebServiceOperation" 				class="mx.rpc.soap.mxml.Operation" />
+
+	<!-- validators -->
+	<component id="Validator"						 	class="mx.validators.Validator"/>
+	<component id="StringValidator" 					class="mx.validators.StringValidator"/>
+	<component id="RegExpValidator" 					class="mx.validators.RegExpValidator"/>
+	<component id="NumberValidator" 					class="mx.validators.NumberValidator"/>
+	<component id="PhoneNumberValidator" 				class="mx.validators.PhoneNumberValidator"/>
+	<component id="DateValidator" 						class="mx.validators.DateValidator"/>
+	<component id="EmailValidator" 						class="mx.validators.EmailValidator"/>
+	<component id="ZipCodeValidator" 					class="mx.validators.ZipCodeValidator"/>
+
+
+</componentPackage>
diff --git a/frameworks/projects/MXRoyaleBase/src/main/royale/MXRoyaleBaseClasses.as b/frameworks/projects/MXRoyaleBase/src/main/royale/MXRoyaleBaseClasses.as
new file mode 100644
index 0000000..5f61d01
--- /dev/null
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/MXRoyaleBaseClasses.as
@@ -0,0 +1,312 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package
+{
+
+/**
+ *  @private
+ *  This class is used to link additional classes into rpc.swc
+ *  beyond those that are found by dependecy analysis starting
+ *  from the classes specified in manifest.xml.
+ */
+internal class MXRoyaleBaseClasses
+{
+
+
+	import mx.binding.BindabilityInfo; BindabilityInfo;
+	import mx.binding.Binding; Binding;
+	import mx.binding.BindingManager; BindingManager;
+	import mx.binding.IBindingClient; IBindingClient;
+	import mx.binding.utils.ChangeWatcher; ChangeWatcher;
+	import mx.binding.utils.BindingUtils; BindingUtils;
+
+
+	import mx.collections.ArrayCollection;ArrayCollection;
+	import mx.collections.ArrayList;ArrayList;
+	import mx.collections.AsyncListView;AsyncListView;
+	import mx.collections.ComplexFieldChangeWatcher;ComplexFieldChangeWatcher;
+	import mx.collections.CursorBookmark;CursorBookmark;
+	import mx.collections.DefaultSummaryCalculator;DefaultSummaryCalculator;
+	import mx.collections.Grouping;Grouping;
+	import mx.collections.GroupingCollection;GroupingCollection;
+	import mx.collections.GroupingCollection2;GroupingCollection2;
+	import mx.collections.GroupingField;GroupingField;
+	import mx.collections.HierarchicalCollectionView;HierarchicalCollectionView;
+	import mx.collections.HierarchicalCollectionViewCursor;HierarchicalCollectionViewCursor;
+	import mx.collections.HierarchicalData;HierarchicalData;
+	import mx.collections.ICollectionView;ICollectionView;
+	import mx.collections.IComplexSortField;IComplexSortField;
+	import mx.collections.IGroupingCollection;IGroupingCollection;
+	import mx.collections.IGroupingCollection2;IGroupingCollection2;
+	import mx.collections.IHierarchicalCollectionView;IHierarchicalCollectionView;
+	import mx.collections.IHierarchicalCollectionViewCursor;IHierarchicalCollectionViewCursor;
+	import mx.collections.IHierarchicalData;IHierarchicalData;
+	import mx.collections.IList;IList;
+	import mx.collections.ISort;ISort;
+	import mx.collections.ISortField;ISortField;
+	import mx.collections.ISummaryCalculator;ISummaryCalculator;
+	import mx.collections.IViewCursor;IViewCursor;
+	import mx.collections.LeafNodeCursor;LeafNodeCursor;
+	import mx.collections.ListCollectionView;ListCollectionView;
+	import mx.collections.Sort;Sort;
+	import mx.collections.SortField;SortField;
+	import mx.collections.SortFieldCompareTypes;SortFieldCompareTypes;
+	import mx.collections.SummaryField;SummaryField;
+	import mx.collections.SummaryField2;SummaryField2;
+	import mx.collections.SummaryObject;SummaryObject;
+	import mx.collections.SummaryRow;SummaryRow;
+	import mx.collections.XMLListAdapter;XMLListAdapter;
+	import mx.collections.XMLListCollection;XMLListCollection;
+
+	import mx.collections.errors.ItemPendingError; ItemPendingError;
+	import mx.collections.errors.SortError; SortError;
+	import mx.collections.errors.CursorError; CursorError;
+
+
+
+	import mx.core.ClassFactory;ClassFactory;
+	import mx.core.EventPriority;EventPriority;
+	import mx.core.FlexVersion;FlexVersion;
+	import mx.core.FlexGlobals;FlexGlobals;
+	import mx.core.IChildList;IChildList;
+	import mx.core.IFactory;IFactory;
+	import mx.core.IFlexDisplayObject;IFlexDisplayObject;
+	import mx.core.IFlexModule;IFlexModule;
+	import mx.core.IFlexModuleFactory;IFlexModuleFactory;
+	import mx.core.IMXMLObject;IMXMLObject;
+	import mx.core.IPropertyChangeNotifier;IPropertyChangeNotifier;
+	import mx.core.IUIComponent;IUIComponent;
+	import mx.core.IUID;IUID;
+	import mx.core.Keyboard;Keyboard;
+	import mx.core.mx_internal;mx_internal;
+	import mx.core.Singleton;Singleton;
+
+	import mx.data.EncryptedLocalStore;EncryptedLocalStore;
+
+	import mx.errors.EOFError;EOFError;
+	import mx.errors.IllegalOperationError;IllegalOperationError
+	import mx.errors.ScriptTimeoutError;ScriptTimeoutError
+
+
+
+	import mx.events.AsyncErrorEvent;AsyncErrorEvent;
+	import mx.events.CollectionEvent;CollectionEvent;
+	import mx.events.CollectionEventKind;CollectionEventKind;
+	import mx.events.DataEvent;DataEvent;
+	import mx.events.ErrorEvent;ErrorEvent;
+	import mx.events.FlexEvent;FlexEvent;
+	import mx.events.HTTPStatusEvent;HTTPStatusEvent;
+	import mx.events.IndexChangedEvent;IndexChangedEvent;
+	import mx.events.IOErrorEvent;IOErrorEvent;
+	import mx.events.NetStatusEvent;NetStatusEvent;
+	import mx.events.ProgressEvent;ProgressEvent;
+	import mx.events.PropertyChangeEvent;PropertyChangeEvent;
+	import mx.events.PropertyChangeEventKind;PropertyChangeEventKind;
+	import mx.events.ResourceEvent;ResourceEvent;
+	import mx.events.RSLEvent;RSLEvent;
+	import mx.events.SecurityErrorEvent;SecurityErrorEvent;
+	import mx.events.TimerEvent;TimerEvent;
+	import mx.events.ValidationResultEvent;ValidationResultEvent;
+
+
+	import mx.external.ExternalInterface; ExternalInterface;
+
+
+	import mx.formatters.CurrencyFormatter;CurrencyFormatter;
+	import mx.formatters.DateBase;DateBase;
+	import mx.formatters.DateFormatter;DateFormatter;
+	import mx.formatters.Formatter;Formatter;
+	import mx.formatters.IFormatter;IFormatter;
+	import mx.formatters.NumberBase;NumberBase;
+	import mx.formatters.NumberBaseRoundType;NumberBaseRoundType;
+	import mx.formatters.NumberFormatter;mx.formatters.NumberFormatter;
+	import mx.formatters.PhoneFormatter;PhoneFormatter;
+	import mx.formatters.StringFormatter;StringFormatter;
+	import mx.formatters.SwitchSymbolFormatter;SwitchSymbolFormatter;
+	import mx.formatters.ZipCodeFormatter;ZipCodeFormatter;
+
+
+	import mx.geom.Matrix;Matrix;
+
+	import mx.globalization.CurrencyParseResult;CurrencyParseResult;
+	import mx.globalization.DateTimeFormatter;DateTimeFormatter;
+	import mx.globalization.DateTimeNameStyle;DateTimeNameStyle;
+	import mx.globalization.DateTimeStyle;DateTimeStyle;
+	import mx.globalization.LastOperationStatus;LastOperationStatus;
+	import mx.globalization.LocaleID;LocaleID;
+	import mx.globalization.NationalDigitsType;NationalDigitsType;
+	import mx.globalization.NumberFormatter;mx.globalization.NumberFormatter;
+	import mx.globalization.NumberParseResult;NumberParseResult;
+	import mx.globalization.supportClasses.GlobalizationBase;GlobalizationBase;
+
+
+	import mx.logging.Log; Log;
+	import mx.logging.LogLogger; LogLogger;
+	import mx.logging.LogEvent; LogEvent;
+	import mx.logging.LogEventLevel; LogEventLevel;
+	import mx.logging.AbstractTarget; AbstractTarget;
+	import mx.logging.ILogger; ILogger;
+	import mx.logging.ILoggingTarget; ILoggingTarget;
+	import mx.logging.errors.InvalidFilterError; InvalidFilterError;
+	import mx.logging.errors.InvalidCategoryError; InvalidCategoryError;
+	import mx.logging.targets.LineFormattedTarget; LineFormattedTarget;
+	import mx.logging.targets.TraceTarget; TraceTarget;
+
+
+	import mx.managers.CursorManager;CursorManager;
+	import mx.managers.CursorManagerPriority;CursorManagerPriority;
+	import mx.managers.ICursorManager;ICursorManager;
+	import mx.managers.ISystemManager;ISystemManager;
+	import mx.managers.SystemManagerGlobals;SystemManagerGlobals;
+
+
+
+	import mx.messaging.messages.HTTPRequestMessage; HTTPRequestMessage;
+	import mx.messaging.channels.DirectHTTPChannel; DirectHTTPChannel;
+	import mx.messaging.channels.HTTPChannel; HTTPChannel;
+	import mx.messaging.errors.MessageSerializationError; MessageSerializationError;
+	import mx.messaging.messages.AcknowledgeMessage; AcknowledgeMessage;
+	import mx.messaging.messages.AsyncMessage; AsyncMessage;
+	import mx.messaging.messages.CommandMessage; CommandMessage;
+	import mx.messaging.messages.RemotingMessage; RemotingMessage;
+	import mx.messaging.messages.AcknowledgeMessageExt;AcknowledgeMessageExt;
+	import mx.messaging.messages.AsyncMessageExt;AsyncMessageExt;
+	import mx.messaging.messages.CommandMessageExt;CommandMessageExt;
+
+	import mx.modules.IModule; IModule;
+	import mx.modules.IModuleInfo; IModuleInfo;
+
+
+	import mx.net.FileFilter;FileFilter;
+	import mx.net.FileReference;FileReference;
+	import mx.net.FileReferenceList;FileReferenceList;
+	import mx.net.LocalConnection;LocalConnection;
+	import mx.net.NetConnection;NetConnection;
+	import mx.net.ObjectEncoding;ObjectEncoding;
+	import mx.net.Responder;mx.net.Responder;
+	import mx.net.SharedObject;SharedObject;
+	import mx.net.SharedObjectFlushStatus;SharedObjectFlushStatus;
+	import mx.net.SharedObjectJSON;SharedObjectJSON;
+	import mx.net.Socket;Socket;
+	import mx.net.URLLoader;URLLoader;
+	import mx.net.URLLoaderDataFormat;URLLoaderDataFormat;
+	import mx.net.URLRequestMethod;URLRequestMethod;
+	import mx.net.beads.FileUploaderUsingFormData;FileUploaderUsingFormData;
+	import mx.net.supportClasses.ByteArrayFileLoader;ByteArrayFileLoader;
+
+
+	import mx.netmon.NetworkMonitor;NetworkMonitor;
+
+	import mx.resources.IResourceBundle;IResourceBundle;
+	import mx.resources.IResourceManager;IResourceManager;
+	import mx.resources.Locale;Locale;
+	import mx.resources.LocaleSorter;LocaleSorter;
+	import mx.resources.ResourceBundle;ResourceBundle;
+	import mx.resources.ResourceManager;ResourceManager;
+	import mx.resources.ResourceManagerImpl;ResourceManagerImpl;
+
+	import mx.rpc.http.SerializationFilter; SerializationFilter;
+	import mx.rpc.http.AbstractOperation; AbstractOperation;
+	import mx.rpc.http.HTTPMultiService; HTTPMultiService;
+	import mx.rpc.CallResponder; CallResponder;
+	import mx.rpc.http.Operation; Operation;
+	import mx.rpc.Fault; Fault;
+	import mx.rpc.events.FaultEvent; FaultEvent;
+	import mx.rpc.soap.WebService; WebService;
+	import mx.rpc.events.InvokeEvent; InvokeEvent;
+	import mx.rpc.events.ResultEvent; ResultEvent;
+	import mx.rpc.AsyncResponder; AsyncResponder;
+	import mx.rpc.Responder; mx.rpc.Responder;
+	import mx.rpc.http.HTTPService; HTTPService;
+	import mx.rpc.remoting.RemoteObject; RemoteObject;
+	import mx.rpc.remoting.CompressedRemoteObject; CompressedRemoteObject;
+
+
+	//
+	import mx.system.ApplicationDomain;ApplicationDomain;
+	import mx.system.Capabilities;Capabilities;
+	import mx.system.Security;Security;
+	import mx.system.System;System;
+
+
+	import mx.utils.ArrayUtil;ArrayUtil;
+	import mx.utils.Base64Decoder;Base64Decoder;
+	import mx.utils.Base64Encoder;Base64Encoder;
+	import mx.utils.BitFlagUtil;BitFlagUtil;
+	import mx.utils.ByteArray;ByteArray;
+	import mx.utils.DescribeTypeCache;DescribeTypeCache;
+	import mx.utils.Endian;Endian;
+	import mx.utils.HexDecoder;HexDecoder;
+	import mx.utils.HexEncoder;HexEncoder;
+	import mx.utils.IXMLNotifiable;IXMLNotifiable;
+	import mx.utils.NameUtil; NameUtil;
+	import mx.utils.object_proxy;object_proxy;
+	import mx.utils.ObjectProxy;ObjectProxy;
+	import mx.utils.ObjectUtil;ObjectUtil;
+	//@todo : import mx.utils.RPCObjectUtil;RPCObjectUtil;
+	import mx.utils.RPCStringUtil;RPCStringUtil;
+	import mx.utils.RPCUIDUtil;RPCUIDUtil;
+	import mx.utils.StringUtil;StringUtil;
+	import mx.utils.Timer;Timer;
+	import mx.utils.UIDUtil;UIDUtil;
+	import mx.utils.URLUtil;URLUtil;
+	import mx.utils.XMLNotifier;XMLNotifier;
+	import mx.utils.XMLUtil;XMLUtil;
+
+
+
+
+	import mx.validators.DateValidator;DateValidator;
+	import mx.validators.EmailValidator;EmailValidator;
+	import mx.validators.IValidator;IValidator;
+	import mx.validators.IValidatorListener;IValidatorListener;
+	import mx.validators.NumberValidator;NumberValidator;
+	import mx.validators.NumberValidatorDomainType;NumberValidatorDomainType;
+	import mx.validators.PhoneNumberValidator;PhoneNumberValidator;
+	import mx.validators.ZipCodeValidator; ZipCodeValidator;
+	import mx.validators.ZipCodeValidatorDomainType; ZipCodeValidatorDomainType;
+	import mx.validators.RegExpValidationResult;RegExpValidationResult;
+	import mx.validators.RegExpValidator;RegExpValidator;
+	import mx.validators.StringValidator;StringValidator;
+	import mx.validators.ValidationResult;ValidationResult;
+	import mx.validators.Validator;Validator;
+
+
+
+	// --- RpcClassAliasInitializer
+	import org.apache.royale.reflection.registerClassAlias;
+
+
+	registerClassAlias("flex.messaging.messages.CommandMessage", CommandMessage);
+	registerClassAlias("flex.messaging.messages.AcknowledgeMessage", AcknowledgeMessage);
+	registerClassAlias("flex.messaging.messages.AsyncMessage", AsyncMessage);
+	registerClassAlias("flex.messaging.messages.RemotingMessage", RemotingMessage);  
+
+
+	registerClassAlias("DSK", AcknowledgeMessageExt);
+	registerClassAlias("DSA", AsyncMessageExt);
+	registerClassAlias("DSC", CommandMessageExt);
+	// RpcClassAliasInitializer ----------------------------------------
+    
+
+
+}
+
+}
+
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/binding/BindabilityInfo.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/BindabilityInfo.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/binding/BindabilityInfo.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/BindabilityInfo.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/binding/Binding.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/Binding.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/binding/Binding.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/Binding.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/binding/BindingManager.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/BindingManager.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/binding/BindingManager.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/BindingManager.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/binding/IBindingClient.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/IBindingClient.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/binding/IBindingClient.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/IBindingClient.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/binding/utils/BindingUtils.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/utils/BindingUtils.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/binding/utils/BindingUtils.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/utils/BindingUtils.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/binding/utils/ChangeWatcher.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/utils/ChangeWatcher.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/binding/utils/ChangeWatcher.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/binding/utils/ChangeWatcher.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ArrayCollection.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ArrayCollection.as
similarity index 96%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ArrayCollection.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ArrayCollection.as
index f178ef4..26fe7e3 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ArrayCollection.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ArrayCollection.as
@@ -1,186 +1,186 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.collections
-{
-/*
-import flash.system.ApplicationDomain;
-import flash.utils.IDataInput;
-import flash.utils.IDataOutput;
-import flash.utils.IExternalizable;
-
-import mx.core.mx_internal;
-
-use namespace mx_internal;
-*/
-
-import org.apache.royale.utils.net.IExternalizable;
-COMPILE::JS {
-	import org.apache.royale.utils.net.IDataInput;
-	import org.apache.royale.utils.net.IDataOutput;
-}
-COMPILE::SWF{
-	import flash.utils.IDataInput;
-	import flash.utils.IDataOutput;
-}
-
-
-[DefaultProperty("source")]
-
-[RemoteClass(alias="flex.messaging.io.ArrayCollection")]
-
-/**
- *  The ArrayCollection class is a wrapper class that exposes an Array as
- *  a collection that can be accessed and manipulated using the methods
- *  and properties of the <code>ICollectionView</code> or <code>IList</code>
- *  interfaces. Operations on a ArrayCollection instance modify the data source;
- *  for example, if you use the <code>removeItemAt()</code> method on an
- *  ArrayCollection, you remove the item from the underlying Array.
- *
- *  @mxml
- *
- *  <p>The <code>&lt;mx:ArrayCollection&gt;</code> tag inherits all the attributes of its
- *  superclass, and adds the following attributes:</p>
- *
- *  <pre>
- *  &lt;mx:ArrayCollection
- *  <b>Properties</b>
- *  source="null"
- *  /&gt;
- *  </pre>
- *
- *  @example The following code creates a simple ArrayCollection object that
- *  accesses and manipulates an array with a single Object element.
- *  It retrieves the element using the IList interface <code>getItemAt</code>
- *  method and an IViewCursor object that it obtains using the ICollectionView
- *  <code>createCursor</code> method.
- *  <pre>
- *  var myCollection:ArrayCollection = new ArrayCollection([ { first: 'Matt', last: 'Matthews' } ]);
- *  var myCursor:IViewCursor = myCollection.createCursor();
- *  var firstItem:Object = myCollection.getItemAt(0);
- *  var firstItemFromCursor:Object = myCursor.current;
- *  if (firstItem == firstItemFromCursor)
- *        doCelebration();
- *  </pre>
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
-public class ArrayCollection extends ListCollectionView implements IExternalizable
-{
-    //include "../core/Version.as";
-
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Constructor.
-     *
-     *  <p>Creates a new ArrayCollection using the specified source array.
-     *  If no array is specified an empty array will be used.</p>
-     *
-     *  @param source The source Array.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function ArrayCollection(source:Array = null)
-    {
-        super();
-
-        this.source = source;
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Properties
-    //
-    //--------------------------------------------------------------------------
-		
-    //----------------------------------
-    //  source
-    //----------------------------------
-
-    [Inspectable(category="General", arrayType="Object")]
-    [Bindable("listChanged")] //superclass will fire this
-
-    /**
-     *  The source of data in the ArrayCollection.
-     *  The ArrayCollection object does not represent any changes that you make
-     *  directly to the source array. Always use
-     *  the ICollectionView or IList methods to modify the collection.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function get source():Array
-    {
-        if (list && (list is ArrayList))
-        {
-            return ArrayList(list).source;
-        }
-        return null;
-    }
-
-    /**
-     *  @private
-     */
-    public function set source(s:Array):void
-    {
-        list = new ArrayList(s);
-    }
-	
-	
-	
-	/**
-	 *  @private
-	 *  Ensures that only the source property is serialized.
-	 */
-	public function readExternal(input:IDataInput):void
-	{
-		if (list is IExternalizable)
-			IExternalizable(list).readExternal(input);
-		else
-			source = input.readObject() as Array;
-	}
-	
-	/**
-	 *  @private
-	 *  Ensures that only the source property is serialized.
-	 */
-	public function writeExternal(output:IDataOutput):void
-	{
-		if (list is IExternalizable)
-			IExternalizable(list).writeExternal(output);
-		else
-			output.writeObject(source);
-	}
-
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.collections
+{
+/*
+import flash.system.ApplicationDomain;
+import flash.utils.IDataInput;
+import flash.utils.IDataOutput;
+import flash.utils.IExternalizable;
+
+import mx.core.mx_internal;
+
+use namespace mx_internal;
+*/
+
+import org.apache.royale.utils.net.IExternalizable;
+COMPILE::JS {
+	import org.apache.royale.utils.net.IDataInput;
+	import org.apache.royale.utils.net.IDataOutput;
+}
+COMPILE::SWF{
+	import flash.utils.IDataInput;
+	import flash.utils.IDataOutput;
+}
+
+
+[DefaultProperty("source")]
+
+[RemoteClass(alias="flex.messaging.io.ArrayCollection")]
+
+/**
+ *  The ArrayCollection class is a wrapper class that exposes an Array as
+ *  a collection that can be accessed and manipulated using the methods
+ *  and properties of the <code>ICollectionView</code> or <code>IList</code>
+ *  interfaces. Operations on a ArrayCollection instance modify the data source;
+ *  for example, if you use the <code>removeItemAt()</code> method on an
+ *  ArrayCollection, you remove the item from the underlying Array.
+ *
+ *  @mxml
+ *
+ *  <p>The <code>&lt;mx:ArrayCollection&gt;</code> tag inherits all the attributes of its
+ *  superclass, and adds the following attributes:</p>
+ *
+ *  <pre>
+ *  &lt;mx:ArrayCollection
+ *  <b>Properties</b>
+ *  source="null"
+ *  /&gt;
+ *  </pre>
+ *
+ *  @example The following code creates a simple ArrayCollection object that
+ *  accesses and manipulates an array with a single Object element.
+ *  It retrieves the element using the IList interface <code>getItemAt</code>
+ *  method and an IViewCursor object that it obtains using the ICollectionView
+ *  <code>createCursor</code> method.
+ *  <pre>
+ *  var myCollection:ArrayCollection = new ArrayCollection([ { first: 'Matt', last: 'Matthews' } ]);
+ *  var myCursor:IViewCursor = myCollection.createCursor();
+ *  var firstItem:Object = myCollection.getItemAt(0);
+ *  var firstItemFromCursor:Object = myCursor.current;
+ *  if (firstItem == firstItemFromCursor)
+ *        doCelebration();
+ *  </pre>
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class ArrayCollection extends ListCollectionView implements IExternalizable
+{
+    //include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  <p>Creates a new ArrayCollection using the specified source array.
+     *  If no array is specified an empty array will be used.</p>
+     *
+     *  @param source The source Array.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function ArrayCollection(source:Array = null)
+    {
+        super();
+
+        this.source = source;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+		
+    //----------------------------------
+    //  source
+    //----------------------------------
+
+    [Inspectable(category="General", arrayType="Object")]
+    [Bindable("listChanged")] //superclass will fire this
+
+    /**
+     *  The source of data in the ArrayCollection.
+     *  The ArrayCollection object does not represent any changes that you make
+     *  directly to the source array. Always use
+     *  the ICollectionView or IList methods to modify the collection.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get source():Array
+    {
+        if (list && (list is ArrayList))
+        {
+            return ArrayList(list).source;
+        }
+        return null;
+    }
+
+    /**
+     *  @private
+     */
+    public function set source(s:Array):void
+    {
+        list = new ArrayList(s);
+    }
+	
+	
+	
+	/**
+	 *  @private
+	 *  Ensures that only the source property is serialized.
+	 */
+	public function readExternal(input:IDataInput):void
+	{
+		if (list is IExternalizable)
+			IExternalizable(list).readExternal(input);
+		else
+			source = input.readObject() as Array;
+	}
+	
+	/**
+	 *  @private
+	 *  Ensures that only the source property is serialized.
+	 */
+	public function writeExternal(output:IDataOutput):void
+	{
+		if (list is IExternalizable)
+			IExternalizable(list).writeExternal(output);
+		else
+			output.writeObject(source);
+	}
+
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ArrayList.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ArrayList.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ArrayList.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ArrayList.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/AsyncListView.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/AsyncListView.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/AsyncListView.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/AsyncListView.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ComplexFieldChangeWatcher.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ComplexFieldChangeWatcher.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ComplexFieldChangeWatcher.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ComplexFieldChangeWatcher.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/CursorBookmark.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/CursorBookmark.as
similarity index 96%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/CursorBookmark.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/CursorBookmark.as
index 59b1b7a..2d691be 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/CursorBookmark.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/CursorBookmark.as
@@ -1,164 +1,164 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.collections
-{
-
-/**
- *  Encapsulates the positional aspects of a cursor in an 
- *  <code>ICollectionView</code>.  Bookmarks are used to return a cursor to 
- *  an absolute position within the <code>ICollectionView</code>.
- *
- *  @see mx.collections.IViewCursor#bookmark
- *  @see mx.collections.IViewCursor#seek()
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- */
-public class CursorBookmark
-{
-/*     include "../core/Version.as";
- */
-    private static var _first:CursorBookmark;
-    private static var _last:CursorBookmark;
-    private static var _current:CursorBookmark;
-    
-    /**
-     *  A bookmark for the first item in an <code>ICollectionView</code>.
-     *
-     *  @return The bookmark to the first item.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public static function get FIRST():CursorBookmark
-    {
-        if (!_first)
-            _first = new CursorBookmark("${F}");
-        return _first;
-    }
-    
-    /**
-     *  A bookmark for the last item in an <code>ICollectionView</code>.
-     * If the view has no items, the cursor is at this bookmark.
-     *
-     *  @return The bookmark to the last item.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public static function get LAST():CursorBookmark
-    {
-        if (!_last)
-            _last = new CursorBookmark("${L}");
-        return _last;
-    }
-    
-    /**
-     *  A bookmark representing the current item for the <code>IViewCursor</code> in
-     *  an <code>ICollectionView</code>.
-     *
-     *  @return The bookmark to the current item.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public static function get CURRENT():CursorBookmark
-    {
-        if (!_current)
-            _current = new CursorBookmark("${C}");
-        return _current;
-    }
-    
-    /**
-     *  Creates a new instance of a bookmark with the specified value.
-     *
-     *  @param value The value of this bookmark.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public function CursorBookmark(value:Object)
-    {
-        super();
-        _value = value;
-    }
-    
-    //--------------------------------------------------------------------------
-    // 
-    // Properties
-    //
-    //--------------------------------------------------------------------------
-    
-    //----------------------------------
-    // value
-    //----------------------------------
-
-    private var _value:Object;
-    
-    /**
-     *  The underlying marker representation of the bookmark.
-     *  This value is generally understood only by the <code>IViewCursor</code>
-     *  or <code>ICollectionView</code> implementation.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public function get value():Object
-    {
-        return _value;
-    }
-    
-    //--------------------------------------------------------------------------
-    // 
-    // Methods
-    //
-    //--------------------------------------------------------------------------
-    
-    /**
-     *  Classes that extend CursorBookmark override this method to
-     *  return the approximate index of the item represented by this
-     *  bookmark in its view.
-     *
-     *  @return -1
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public function getViewIndex():int
-    {
-        return -1;
-    }
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.collections
+{
+
+/**
+ *  Encapsulates the positional aspects of a cursor in an 
+ *  <code>ICollectionView</code>.  Bookmarks are used to return a cursor to 
+ *  an absolute position within the <code>ICollectionView</code>.
+ *
+ *  @see mx.collections.IViewCursor#bookmark
+ *  @see mx.collections.IViewCursor#seek()
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ */
+public class CursorBookmark
+{
+/*     include "../core/Version.as";
+ */
+    private static var _first:CursorBookmark;
+    private static var _last:CursorBookmark;
+    private static var _current:CursorBookmark;
+    
+    /**
+     *  A bookmark for the first item in an <code>ICollectionView</code>.
+     *
+     *  @return The bookmark to the first item.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public static function get FIRST():CursorBookmark
+    {
+        if (!_first)
+            _first = new CursorBookmark("${F}");
+        return _first;
+    }
+    
+    /**
+     *  A bookmark for the last item in an <code>ICollectionView</code>.
+     * If the view has no items, the cursor is at this bookmark.
+     *
+     *  @return The bookmark to the last item.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public static function get LAST():CursorBookmark
+    {
+        if (!_last)
+            _last = new CursorBookmark("${L}");
+        return _last;
+    }
+    
+    /**
+     *  A bookmark representing the current item for the <code>IViewCursor</code> in
+     *  an <code>ICollectionView</code>.
+     *
+     *  @return The bookmark to the current item.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public static function get CURRENT():CursorBookmark
+    {
+        if (!_current)
+            _current = new CursorBookmark("${C}");
+        return _current;
+    }
+    
+    /**
+     *  Creates a new instance of a bookmark with the specified value.
+     *
+     *  @param value The value of this bookmark.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function CursorBookmark(value:Object)
+    {
+        super();
+        _value = value;
+    }
+    
+    //--------------------------------------------------------------------------
+    // 
+    // Properties
+    //
+    //--------------------------------------------------------------------------
+    
+    //----------------------------------
+    // value
+    //----------------------------------
+
+    private var _value:Object;
+    
+    /**
+     *  The underlying marker representation of the bookmark.
+     *  This value is generally understood only by the <code>IViewCursor</code>
+     *  or <code>ICollectionView</code> implementation.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function get value():Object
+    {
+        return _value;
+    }
+    
+    //--------------------------------------------------------------------------
+    // 
+    // Methods
+    //
+    //--------------------------------------------------------------------------
+    
+    /**
+     *  Classes that extend CursorBookmark override this method to
+     *  return the approximate index of the item represented by this
+     *  bookmark in its view.
+     *
+     *  @return -1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function getViewIndex():int
+    {
+        return -1;
+    }
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/DefaultSummaryCalculator.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/DefaultSummaryCalculator.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/DefaultSummaryCalculator.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/DefaultSummaryCalculator.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/Grouping.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/Grouping.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/Grouping.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/Grouping.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingCollection.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/GroupingCollection.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingCollection.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/GroupingCollection.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingCollection2.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/GroupingCollection2.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingCollection2.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/GroupingCollection2.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingField.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/GroupingField.as
similarity index 97%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingField.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/GroupingField.as
index 0e082e8..b5619ad 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/GroupingField.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/GroupingField.as
@@ -1,491 +1,491 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.collections
-{
-
-//--------------------------------------
-//  Other metadata
-//--------------------------------------
-
-[DefaultProperty("summaries")]
-
-/**
- *  The GroupingField class represents individual data fields 
- *  that you use to group flat data for display by the AdvancedDataGrid control. 
- *
- *  <p>To populate the AdvancedDataGrid control with grouped data, 
- *  you create an instance of the GroupingCollection class from your flat data, 
- *  and then pass that GroupingCollection instance to the data provider 
- *  of the AdvancedDataGrid control. 
- *  To specify the grouping fields of your flat data, 
- *  you pass a Grouping instance to 
- *  the <code>GroupingCollection.grouping</code> property. 
- *  The Grouping instance contains an Array of GroupingField instances, 
- *  one per grouping field. </p>
- *
- *  <p>The following example uses the Grouping class to define
- *  two grouping fields: Region and Territory.</p>
- *
- *  <pre>
- *  &lt;mx:AdvancedDataGrid id=&quot;myADG&quot;    
- *    &lt;mx:dataProvider&gt; 
- *      &lt;mx:GroupingCollection id=&quot;gc&quot; source=&quot;{dpFlat}&quot;&gt; 
- *        &lt;mx:grouping&gt; 
- *          &lt;mx:Grouping&gt; 
- *            &lt;mx:GroupingField name=&quot;Region&quot;/&gt; 
- *            &lt;mx:GroupingField name=&quot;Territory&quot;/&gt; 
- *          &lt;/mx:Grouping&gt; 
- *        &lt;/mx:grouping&gt; 
- *      &lt;/mx:GroupingCollection&gt; 
- *    &lt;/mx:dataProvider&gt;  
- *     
- *    &lt;mx:columns&gt; 
- *      &lt;mx:AdvancedDataGridColumn dataField=&quot;Region&quot;/&gt; 
- *      &lt;mx:AdvancedDataGridColumn dataField=&quot;Territory&quot;/&gt; 
- *      &lt;mx:AdvancedDataGridColumn dataField=&quot;Territory_Rep&quot;/&gt; 
- *      &lt;mx:AdvancedDataGridColumn dataField=&quot;Actual&quot;/&gt; 
- *      &lt;mx:AdvancedDataGridColumn dataField=&quot;Estimate&quot;/&gt; 
- *    &lt;/mx:columns&gt; 
- *  &lt;/mx:AdvancedDataGrid&gt;
- *  </pre>
- *
- *  @mxml
- *
- *  The <code>&lt;mx.GroupingField&gt;</code> inherits all the tag attributes of its superclass, 
- *  and defines the following tag attributes:</p>
- *
- *  <pre>
- *  &lt;mx:GroupingField
- *  <b>Properties </b>
- *    caseInsensitive="false|true"
- *    compareFunction="<i>No default</i>"
- *    descending="false|true"
- *    groupingFunction="<i>No default</i>"
- *    groupingObjectFunction="<i>No default</i>"
- *    name="null"
- *    numeric="false|true"
- *    summaries="<i>No default</i>"
- *  /&gt;
- *  </pre>
- * 
- *  @see mx.controls.AdvancedDataGrid
- *  @see mx.collections.GroupingCollection
- *  @see mx.collections.Grouping
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-public class GroupingField
-{
-/*     include "../core/Version.as";
- */
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Constructor.
-     *
-     *  @param name The name of the property that this field uses for
-     *              comparison.
-     *              If the object is a simple type, pass <code>null</code>.
-     *  @param caseInsensitive When sorting strings, tells the comparitor
-     *              whether to ignore the case of the values.
-     *  @param descending Tells the comparator whether to arrange items in
-     *              descending order.
-     *  @param numeric Tells the comparitor whether to compare sort items as
-     *              numbers, instead of alphabetically.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public function GroupingField(name:String=null,
-                                caseInsensitive:Boolean=false,
-                                descending:Boolean=false,
-                                numeric:Boolean=false)
-    {
-        super();
-
-        _name = name;
-        _caseInsensitive = caseInsensitive;
-        _descending = descending;
-        _numeric = numeric;
-    }
-    
-    //--------------------------------------------------------------------------
-    //
-    //  Properties
-    //
-    //--------------------------------------------------------------------------
-
-    //---------------------------------
-    //  caseInsensitive
-    //---------------------------------
-
-    /**
-     *  @private
-     *  Storage for the caseInsensitive property.
-     */
-    private var _caseInsensitive:Boolean;
-
-    [Inspectable(category="General")]
-    /**
-     *  Set to <code>true</code> if the sort for this field should be case-insensitive.
-     *
-     *  @default false
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public function get caseInsensitive():Boolean
-    {
-        return _caseInsensitive;
-    }
-
-    /**
-     *  @private
-     */
-    public function set caseInsensitive(value:Boolean):void
-    {
-        if (value != _caseInsensitive)
-        {
-            _caseInsensitive = value;
-        }
-    }
-
-    //---------------------------------
-    //  compareFunction
-    //---------------------------------
-
-    /**
-     *  @private
-     *  Storage for the compareFunction property.
-     */
-    private var _compareFunction:Function;
-
-    [Inspectable(category="General")]
-    /**
-     *  The function that compares two items during a sort of items for the
-     *  associated collection. If you specify a <code>compareFunction</code>
-     *  property in a Grouping object, Flex ignores any <code>compareFunction</code>
-     *  properties of the GroupingField objects.
-     *
-     *  <p>The compare function must have the following signature:</p>
-     *
-     *  <pre>function myCompare(a:Object, b:Object):int</pre>
-     *
-     *  <p>This function must return the following values:</p>
-     *   <ul>
-     *        <li>-1, if <code>a</code> should appear before <code>b</code> in
-     *        the sorted sequence.</li>
-     *        <li>0, if <code>a</code> equals <code>b</code>.</li>
-     *        <li>1, if <code>a</code> should appear after <code>b</code> in the
-     *        sorted sequence.</li>
-     *  </ul>
-     *
-     *  <p>The default value is an internal compare function that can perform 
-     *  a string, numeric, or date comparison in ascending or descending order, 
-     *  with case-sensitive or case-insensitive string comparisons.
-     *  Specify your own function only if you need a custom comparison algorithm.
-     *  This is normally only the case if a calculated field is used in a display.</p>
-     *
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public function get compareFunction():Function
-    {
-        return _compareFunction;
-    }
-
-    /**
-     *  @private
-     */
-    public function set compareFunction(c:Function):void
-    {
-        _compareFunction = c;
-    }
-    
-    //---------------------------------
-    //  descending
-    //---------------------------------
-    
-    /**
-     *  @private
-     *  Storage for the descending property.
-     */
-    private var _descending:Boolean;
-
-    [Inspectable(category="General")]
-
-    /**
-     *  Set to <code>true</code> if the sort for this field should be 
-     *  in descending order.
-     *
-     *  @default false
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public function get descending():Boolean
-    {
-        return _descending;
-    }
-
-    /**
-     *  @private
-     */
-    public function set descending(value:Boolean):void
-    {
-        if (_descending != value)
-        {
-            _descending = value;
-        }
-    }
-
-    //---------------------------------
-    //  name
-    //---------------------------------
-
-    /**
-     *  @private
-     *  Storage for the name property.
-     */
-    private var _name:String;
-
-    [Inspectable(category="General")]
-
-    /**
-     *  The name of the field to be sorted.
-     *
-     *  @default null
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public function get name():String
-    {
-        return _name;
-    }
-
-    /**
-     *  @private
-     */
-    public function set name(n:String):void
-    {
-        _name = n;
-    }
-
-    //---------------------------------
-    //  numeric
-    //---------------------------------
-
-    /**
-     *  @private
-     *  Storage for the numeric property.
-     */
-    private var _numeric:Boolean;
-
-    [Inspectable(category="General")]
-    /**
-     *  Specifies that if the field being sorted contains numeric
-     *  (Number/int/uint) values, or String representations of numeric values, 
-     *  the comparitor uses a numeric comparison.
-     *  If this property is <code>false</code>, fields with String representations
-     *  of numbers are sorted using String comparison, so 100 precedes 99, 
-     *  because "1" is a lower string value than "9".
-     *
-     *  @default false
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public function get numeric():Boolean
-    {
-        return _numeric;
-    }
-    
-    /**
-     *  @private
-     */
-    public function set numeric(value:Boolean):void
-    {
-        if (_numeric != value)
-        {
-            _numeric = value;
-        }
-    }
-    
-    //---------------------------------
-    //  groupingFunction
-    //---------------------------------
-    
-    /**
-     *  A function that determines the label for this group.  
-     *  By default,
-     *  the group displays the text for the field in the data that matches the
-     *  filed specified by the <code>name</code> property.  
-     *  However, sometimes you want to group the items based on
-     *  more than one field in the data, or group based on something that is
-     *  not a simple String field.
-     *  In such a case, you specify a callback function by using 
-     *  the <code>groupingFunction</code> property.
-     *
-     *  <p>A callback function might convert a number for the month into 
-     *  the String for the month, or group multiple items into a single group
-     *  based on some criteria other than the actual value of the field.</p>
-     *
-     *  <p>For the GroupField, the method signature has the following form:</p>
-     *
-     *  <pre>groupingFunction(item:Object, field:GroupField):String</pre>
-     *
-     *  <p>Where <code>item</code> contains the data item object, and
-     *  <code>field</code> contains the GroupField object.</p>
-     * 
-     *  For example, a <code>groupingFunction</code> which returns the
-     *  first character as the group name can be written as - 
-     *  <pre>
-     *  private function groupFunc(item:Object, field:GroupingField):String
-     *  {
-     *      return item[field.name].toString().substr(0, 1);
-     *  }
-     *  </pre>
-     * 
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public var groupingFunction:Function;
-    
-    //---------------------------------
-    //  groupingObjectFunction
-    //---------------------------------
-    
-    /**
-     *  A callback function to run on each group node to determine the 
-     *  grouping object.  
-     *  By default, a new Object will be created for group nodes.
-     *
-     *  <p>You can supply a <code>groupingObjectFunction</code> that provides the 
-     *  appropriate Object for group nodes.</p>
-     *
-     *  <p>The method signature is:</p>
-     *  <pre>
-     *  myGroupObjectFunction(label:String):Object</pre>
-     * 
-     *  <p>Where <code>label</code> contains the value that will be
-     *  shown for that group node. 
-     *  The function returns an Object that will be used for group nodes. </p>
-     * 
-     *  For example, a <code>groupingObjectFunction</code> which returns an Object
-     *  containing a "name" property with value as "Bob" can be written as - 
-     *  <pre>
-     *  private function groupObjFunction(label:String):Object
-     *  {
-     *      var obj:Object = {};
-     *      obj.name = "Bob";
-     *
-     *      return obj;
-     *  }
-     *  </pre>
-     *
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public var groupingObjectFunction:Function;
-    
-    //---------------------------------
-    //  summaries
-    //---------------------------------
-    
-    /**
-     *  Array of SummaryRow instances that define the group-level summaries.
-     *  Specify one or more SummaryRow instances to define the data summaries, 
-     *  as the following example shows:
-     *
-     *  <pre>
-     *  &lt;mx:AdvancedDataGrid id="myADG" 
-     *     width="100%" height="100%" 
-     *     initialize="gc.refresh();"&gt;        
-     *     &lt;mx:dataProvider&gt;
-     *         &lt;mx:GroupingCollection id="gc" source="{dpFlat}"&gt;
-     *             &lt;mx:Grouping&gt;
-     *                 &lt;mx:GroupingField name="Region"&gt;
-     *                   &lt;mx:summaries&gt;
-     *                       &lt;mx:SummaryRow summaryPlacement="group"&gt;
-     *                         &lt;mx:fields&gt;
-     *                             &lt;mx:SummaryField dataField="Actual" 
-     *                                 label="Min Actual" operation="MIN"/&gt;
-     *                             &lt;mx:SummaryField dataField="Actual" 
-     *                                 label="Max Actual" operation="MAX"/&gt;
-     *                         &lt;/mx:fields&gt;
-     *                       &lt;/mx:SummaryRow&gt;
-     *                     &lt;/mx:summaries&gt;
-     *                 &lt;/mx:GroupingField&gt;
-     *             &lt;/mx:Grouping&gt;
-     *         &lt;/mx:GroupingCollection&gt;
-     *     &lt;/mx:dataProvider&gt;        
-     *     
-     *     &lt;mx:columns&gt;
-     *         &lt;mx:AdvancedDataGridColumn dataField="Region"/&gt;
-     *         &lt;mx:AdvancedDataGridColumn dataField="Territory_Rep"
-     *             headerText="Territory Rep"/&gt;
-     *         &lt;mx:AdvancedDataGridColumn dataField="Actual"/&gt;
-     *         &lt;mx:AdvancedDataGridColumn dataField="Estimate"/&gt;
-     *         &lt;mx:AdvancedDataGridColumn dataField="Min Actual"/&gt;
-     *         &lt;mx:AdvancedDataGridColumn dataField="Max Actual"/&gt;
-     *     &lt;/mx:columns&gt;
-     *  &lt;/mx:AdvancedDataGrid&gt;  
-     *  </pre>
-     *
-     *  @see mx.collections.SummaryRow
-     *  @see mx.collections.SummaryField
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public var summaries:Array;
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.collections
+{
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[DefaultProperty("summaries")]
+
+/**
+ *  The GroupingField class represents individual data fields 
+ *  that you use to group flat data for display by the AdvancedDataGrid control. 
+ *
+ *  <p>To populate the AdvancedDataGrid control with grouped data, 
+ *  you create an instance of the GroupingCollection class from your flat data, 
+ *  and then pass that GroupingCollection instance to the data provider 
+ *  of the AdvancedDataGrid control. 
+ *  To specify the grouping fields of your flat data, 
+ *  you pass a Grouping instance to 
+ *  the <code>GroupingCollection.grouping</code> property. 
+ *  The Grouping instance contains an Array of GroupingField instances, 
+ *  one per grouping field. </p>
+ *
+ *  <p>The following example uses the Grouping class to define
+ *  two grouping fields: Region and Territory.</p>
+ *
+ *  <pre>
+ *  &lt;mx:AdvancedDataGrid id=&quot;myADG&quot;    
+ *    &lt;mx:dataProvider&gt; 
+ *      &lt;mx:GroupingCollection id=&quot;gc&quot; source=&quot;{dpFlat}&quot;&gt; 
+ *        &lt;mx:grouping&gt; 
+ *          &lt;mx:Grouping&gt; 
+ *            &lt;mx:GroupingField name=&quot;Region&quot;/&gt; 
+ *            &lt;mx:GroupingField name=&quot;Territory&quot;/&gt; 
+ *          &lt;/mx:Grouping&gt; 
+ *        &lt;/mx:grouping&gt; 
+ *      &lt;/mx:GroupingCollection&gt; 
+ *    &lt;/mx:dataProvider&gt;  
+ *     
+ *    &lt;mx:columns&gt; 
+ *      &lt;mx:AdvancedDataGridColumn dataField=&quot;Region&quot;/&gt; 
+ *      &lt;mx:AdvancedDataGridColumn dataField=&quot;Territory&quot;/&gt; 
+ *      &lt;mx:AdvancedDataGridColumn dataField=&quot;Territory_Rep&quot;/&gt; 
+ *      &lt;mx:AdvancedDataGridColumn dataField=&quot;Actual&quot;/&gt; 
+ *      &lt;mx:AdvancedDataGridColumn dataField=&quot;Estimate&quot;/&gt; 
+ *    &lt;/mx:columns&gt; 
+ *  &lt;/mx:AdvancedDataGrid&gt;
+ *  </pre>
+ *
+ *  @mxml
+ *
+ *  The <code>&lt;mx.GroupingField&gt;</code> inherits all the tag attributes of its superclass, 
+ *  and defines the following tag attributes:</p>
+ *
+ *  <pre>
+ *  &lt;mx:GroupingField
+ *  <b>Properties </b>
+ *    caseInsensitive="false|true"
+ *    compareFunction="<i>No default</i>"
+ *    descending="false|true"
+ *    groupingFunction="<i>No default</i>"
+ *    groupingObjectFunction="<i>No default</i>"
+ *    name="null"
+ *    numeric="false|true"
+ *    summaries="<i>No default</i>"
+ *  /&gt;
+ *  </pre>
+ * 
+ *  @see mx.controls.AdvancedDataGrid
+ *  @see mx.collections.GroupingCollection
+ *  @see mx.collections.Grouping
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+public class GroupingField
+{
+/*     include "../core/Version.as";
+ */
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param name The name of the property that this field uses for
+     *              comparison.
+     *              If the object is a simple type, pass <code>null</code>.
+     *  @param caseInsensitive When sorting strings, tells the comparitor
+     *              whether to ignore the case of the values.
+     *  @param descending Tells the comparator whether to arrange items in
+     *              descending order.
+     *  @param numeric Tells the comparitor whether to compare sort items as
+     *              numbers, instead of alphabetically.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function GroupingField(name:String=null,
+                                caseInsensitive:Boolean=false,
+                                descending:Boolean=false,
+                                numeric:Boolean=false)
+    {
+        super();
+
+        _name = name;
+        _caseInsensitive = caseInsensitive;
+        _descending = descending;
+        _numeric = numeric;
+    }
+    
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //---------------------------------
+    //  caseInsensitive
+    //---------------------------------
+
+    /**
+     *  @private
+     *  Storage for the caseInsensitive property.
+     */
+    private var _caseInsensitive:Boolean;
+
+    [Inspectable(category="General")]
+    /**
+     *  Set to <code>true</code> if the sort for this field should be case-insensitive.
+     *
+     *  @default false
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function get caseInsensitive():Boolean
+    {
+        return _caseInsensitive;
+    }
+
+    /**
+     *  @private
+     */
+    public function set caseInsensitive(value:Boolean):void
+    {
+        if (value != _caseInsensitive)
+        {
+            _caseInsensitive = value;
+        }
+    }
+
+    //---------------------------------
+    //  compareFunction
+    //---------------------------------
+
+    /**
+     *  @private
+     *  Storage for the compareFunction property.
+     */
+    private var _compareFunction:Function;
+
+    [Inspectable(category="General")]
+    /**
+     *  The function that compares two items during a sort of items for the
+     *  associated collection. If you specify a <code>compareFunction</code>
+     *  property in a Grouping object, Flex ignores any <code>compareFunction</code>
+     *  properties of the GroupingField objects.
+     *
+     *  <p>The compare function must have the following signature:</p>
+     *
+     *  <pre>function myCompare(a:Object, b:Object):int</pre>
+     *
+     *  <p>This function must return the following values:</p>
+     *   <ul>
+     *        <li>-1, if <code>a</code> should appear before <code>b</code> in
+     *        the sorted sequence.</li>
+     *        <li>0, if <code>a</code> equals <code>b</code>.</li>
+     *        <li>1, if <code>a</code> should appear after <code>b</code> in the
+     *        sorted sequence.</li>
+     *  </ul>
+     *
+     *  <p>The default value is an internal compare function that can perform 
+     *  a string, numeric, or date comparison in ascending or descending order, 
+     *  with case-sensitive or case-insensitive string comparisons.
+     *  Specify your own function only if you need a custom comparison algorithm.
+     *  This is normally only the case if a calculated field is used in a display.</p>
+     *
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function get compareFunction():Function
+    {
+        return _compareFunction;
+    }
+
+    /**
+     *  @private
+     */
+    public function set compareFunction(c:Function):void
+    {
+        _compareFunction = c;
+    }
+    
+    //---------------------------------
+    //  descending
+    //---------------------------------
+    
+    /**
+     *  @private
+     *  Storage for the descending property.
+     */
+    private var _descending:Boolean;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  Set to <code>true</code> if the sort for this field should be 
+     *  in descending order.
+     *
+     *  @default false
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function get descending():Boolean
+    {
+        return _descending;
+    }
+
+    /**
+     *  @private
+     */
+    public function set descending(value:Boolean):void
+    {
+        if (_descending != value)
+        {
+            _descending = value;
+        }
+    }
+
+    //---------------------------------
+    //  name
+    //---------------------------------
+
+    /**
+     *  @private
+     *  Storage for the name property.
+     */
+    private var _name:String;
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The name of the field to be sorted.
+     *
+     *  @default null
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function get name():String
+    {
+        return _name;
+    }
+
+    /**
+     *  @private
+     */
+    public function set name(n:String):void
+    {
+        _name = n;
+    }
+
+    //---------------------------------
+    //  numeric
+    //---------------------------------
+
+    /**
+     *  @private
+     *  Storage for the numeric property.
+     */
+    private var _numeric:Boolean;
+
+    [Inspectable(category="General")]
+    /**
+     *  Specifies that if the field being sorted contains numeric
+     *  (Number/int/uint) values, or String representations of numeric values, 
+     *  the comparitor uses a numeric comparison.
+     *  If this property is <code>false</code>, fields with String representations
+     *  of numbers are sorted using String comparison, so 100 precedes 99, 
+     *  because "1" is a lower string value than "9".
+     *
+     *  @default false
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public function get numeric():Boolean
+    {
+        return _numeric;
+    }
+    
+    /**
+     *  @private
+     */
+    public function set numeric(value:Boolean):void
+    {
+        if (_numeric != value)
+        {
+            _numeric = value;
+        }
+    }
+    
+    //---------------------------------
+    //  groupingFunction
+    //---------------------------------
+    
+    /**
+     *  A function that determines the label for this group.  
+     *  By default,
+     *  the group displays the text for the field in the data that matches the
+     *  filed specified by the <code>name</code> property.  
+     *  However, sometimes you want to group the items based on
+     *  more than one field in the data, or group based on something that is
+     *  not a simple String field.
+     *  In such a case, you specify a callback function by using 
+     *  the <code>groupingFunction</code> property.
+     *
+     *  <p>A callback function might convert a number for the month into 
+     *  the String for the month, or group multiple items into a single group
+     *  based on some criteria other than the actual value of the field.</p>
+     *
+     *  <p>For the GroupField, the method signature has the following form:</p>
+     *
+     *  <pre>groupingFunction(item:Object, field:GroupField):String</pre>
+     *
+     *  <p>Where <code>item</code> contains the data item object, and
+     *  <code>field</code> contains the GroupField object.</p>
+     * 
+     *  For example, a <code>groupingFunction</code> which returns the
+     *  first character as the group name can be written as - 
+     *  <pre>
+     *  private function groupFunc(item:Object, field:GroupingField):String
+     *  {
+     *      return item[field.name].toString().substr(0, 1);
+     *  }
+     *  </pre>
+     * 
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public var groupingFunction:Function;
+    
+    //---------------------------------
+    //  groupingObjectFunction
+    //---------------------------------
+    
+    /**
+     *  A callback function to run on each group node to determine the 
+     *  grouping object.  
+     *  By default, a new Object will be created for group nodes.
+     *
+     *  <p>You can supply a <code>groupingObjectFunction</code> that provides the 
+     *  appropriate Object for group nodes.</p>
+     *
+     *  <p>The method signature is:</p>
+     *  <pre>
+     *  myGroupObjectFunction(label:String):Object</pre>
+     * 
+     *  <p>Where <code>label</code> contains the value that will be
+     *  shown for that group node. 
+     *  The function returns an Object that will be used for group nodes. </p>
+     * 
+     *  For example, a <code>groupingObjectFunction</code> which returns an Object
+     *  containing a "name" property with value as "Bob" can be written as - 
+     *  <pre>
+     *  private function groupObjFunction(label:String):Object
+     *  {
+     *      var obj:Object = {};
+     *      obj.name = "Bob";
+     *
+     *      return obj;
+     *  }
+     *  </pre>
+     *
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public var groupingObjectFunction:Function;
+    
+    //---------------------------------
+    //  summaries
+    //---------------------------------
+    
+    /**
+     *  Array of SummaryRow instances that define the group-level summaries.
+     *  Specify one or more SummaryRow instances to define the data summaries, 
+     *  as the following example shows:
+     *
+     *  <pre>
+     *  &lt;mx:AdvancedDataGrid id="myADG" 
+     *     width="100%" height="100%" 
+     *     initialize="gc.refresh();"&gt;        
+     *     &lt;mx:dataProvider&gt;
+     *         &lt;mx:GroupingCollection id="gc" source="{dpFlat}"&gt;
+     *             &lt;mx:Grouping&gt;
+     *                 &lt;mx:GroupingField name="Region"&gt;
+     *                   &lt;mx:summaries&gt;
+     *                       &lt;mx:SummaryRow summaryPlacement="group"&gt;
+     *                         &lt;mx:fields&gt;
+     *                             &lt;mx:SummaryField dataField="Actual" 
+     *                                 label="Min Actual" operation="MIN"/&gt;
+     *                             &lt;mx:SummaryField dataField="Actual" 
+     *                                 label="Max Actual" operation="MAX"/&gt;
+     *                         &lt;/mx:fields&gt;
+     *                       &lt;/mx:SummaryRow&gt;
+     *                     &lt;/mx:summaries&gt;
+     *                 &lt;/mx:GroupingField&gt;
+     *             &lt;/mx:Grouping&gt;
+     *         &lt;/mx:GroupingCollection&gt;
+     *     &lt;/mx:dataProvider&gt;        
+     *     
+     *     &lt;mx:columns&gt;
+     *         &lt;mx:AdvancedDataGridColumn dataField="Region"/&gt;
+     *         &lt;mx:AdvancedDataGridColumn dataField="Territory_Rep"
+     *             headerText="Territory Rep"/&gt;
+     *         &lt;mx:AdvancedDataGridColumn dataField="Actual"/&gt;
+     *         &lt;mx:AdvancedDataGridColumn dataField="Estimate"/&gt;
+     *         &lt;mx:AdvancedDataGridColumn dataField="Min Actual"/&gt;
+     *         &lt;mx:AdvancedDataGridColumn dataField="Max Actual"/&gt;
+     *     &lt;/mx:columns&gt;
+     *  &lt;/mx:AdvancedDataGrid&gt;  
+     *  </pre>
+     *
+     *  @see mx.collections.SummaryRow
+     *  @see mx.collections.SummaryField
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public var summaries:Array;
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalCollectionView.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/HierarchicalCollectionView.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalCollectionView.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/HierarchicalCollectionView.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalCollectionViewCursor.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/HierarchicalCollectionViewCursor.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalCollectionViewCursor.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/HierarchicalCollectionViewCursor.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalData.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/HierarchicalData.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/HierarchicalData.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/HierarchicalData.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ICollectionView.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ICollectionView.as
similarity index 97%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ICollectionView.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ICollectionView.as
index 33e4b94..87646d8 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ICollectionView.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ICollectionView.as
@@ -1,294 +1,294 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.collections
-{
-import mx.events.CollectionEvent;
-
-import org.apache.royale.events.IEventDispatcher;
-
-/**
- *  Dispatched when the ICollectionView has been updated in some way.
- *
- *  @eventType mx.events.CollectionEvent.COLLECTION_CHANGE
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- */
-[Event(name="collectionChange", type="mx.events.CollectionEvent")]
-
-/**
- *  An <code>ICollectionView</code> is a view onto a collection of data.
- *  The view can be modified to show the data sorted according to various
- *  criteria or reduced by filters without modifying the underlying data.
- *  An IViewCursor provides to access items within a
- *  collection. You can modify the collection by using the IViewCursor
- *  interface <code>insert()</code> and <code>remove()</code> methods.
- *
- *  <p>An <code>ICollectionView</code> may be a view onto data that has been
- *  retrieved from a remote location.
- *  When Implementing this interface for data
- *  that may be remote it is important to handle the case where data
- *  may not yet be available, which is indicated by the
- *  <code>ItemPendingError</code>.</p>
- *
- *  <p>The <code>IList</code> interface is an alternative to the
- *  <code>ICollectionView</code> interface.</p>
- *
- *  @see mx.collections.IViewCursor
- *  @see mx.collections.errors.ItemPendingError
- *  @see mx.collections.IList
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- */
-public interface ICollectionView extends IEventDispatcher
-{
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  length
-	//----------------------------------
-
-    /**
-     *  The number of items in this view.
-	 *  0 means no items, while -1 means that the length is unknown.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    function get length():int;
-
-	//----------------------------------
-	//  filterFunction
-	//----------------------------------
-
-    /**
-     *  A function that the view will use to eliminate items that do not
-     *  match the function's criteria.
-	 *  A filterFunction is expected to have the following signature:
-	 *
-	 *  <pre>f(item:Object):Boolean</pre>
-	 *
-	 *  where the return value is <code>true</code> if the specified item
-	 *  should remain in the view.
-	 *
-     *  <p>If a filter is unsupported, Flex throws an error when accessing
-     *  this property.
-     *  You must call <code>refresh()</code> after setting the
-	 *  <code>filterFunction</code> property for the view to update.</p>
-	 *
- 	 *  <p>Note: The Flex implementations of ICollectionView retrieve all
-	 *  items from a remote location before executing the filter function.
-	 *  If you use paging, apply the filter to the remote collection before
-	 *  you retrieve the data.</p>
-	 *
-     *  @see #refresh()
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    function get filterFunction():Function;
-    
-	/**
-	 *  @private
-	 */
-	function set filterFunction(value:Function):void;
-
-	//----------------------------------
-	//  sort
-	//----------------------------------
-
-    /**
-     *  The ISort that will be applied to the ICollectionView.
-	 *  Setting the sort does not automatically refresh the view,
-	 *  so you must call the <code>refresh()</code> method
-	 *  after setting this property.
-     *  If sort is unsupported an error will be thrown when accessing
-     *  this property.
-	 *
-	 *  <p>Note: The Flex implementations of ICollectionView retrieve all
-	 *  items from a remote location before executing a sort.
-	 *  If you use paging with a sorted list, apply the sort to the remote
-	 *  collection before you retrieve the data.</p>
-	 *
-     *  @see #refresh()
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    function get sort():ISort;
-    
-	/**
-	 *  @private
-	 */
-    function set sort(value:ISort):void;
-
-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-     *  Creates a new IViewCursor that works with this view.
-     *
-     *  @return A new IViewCursor implementation.
-     *
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    function createCursor():IViewCursor;
-
-    /**
-     *  Returns whether the view contains the specified object.
-	 *  Unlike the <code>IViewCursor.find<i>xxx</i></code> methods,
-	 *  this search is succesful only if it finds an item that exactly
-	 *  matches the parameter.
-     *  If the view has a filter applied to it this method may return
-	 *  <code>false</code> even if the underlying collection
-	 *  does contain the item.
-     *
-     *  @param item The object to look for.
-	 *
-     *  @return true if the ICollectionView, after applying any filter,
-     *  contains the item; false otherwise.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    function contains(item:Object):Boolean;
-
-    /**
-     *  Prevents changes to the collection itself and items within the
-	 *  collection from being dispatched by the view.
-	 *  Also prevents the view from updating the positions of items
-	 *  if the positions change in the collection.
-	 *  The changes will be queued and dispatched appropriately
-	 *  after <code>enableAutoUpdate</code> is called.
-	 *  If more events than updates to a single item occur,
-	 *  the view may end up resetting. 
-	 *  The <code>disableAutoUpdate</code> method acts cumulatively;
-	 *  the same number of calls to <code>enableAutoUpdate</code>
-	 *  are required for the view to dispatch events and refresh.
-	 *  Note that <code>disableAutoUpdate</code> only affects the
-     *  individual view; edits may be detected on an individual
-	 *  basis by other views.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    function disableAutoUpdate():void;
-
-    /**
-     *  Enables auto-updating.
-	 *  See <code>disableAutoUpdate</code> for more information.
-	 *
-     *  @see #disableAutoUpdate()
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    function enableAutoUpdate():void;
-
-    /**
-     *  Notifies the view that an item has been updated.
-	 *  This method is useful if the contents of the view do not implement
-	 *  <code>IPropertyChangeNotifier</code>.
-	 *  If the call to this method includes a <code>property</code> parameter,
-	 *  the view may be able to optimize its notification mechanism.
-     *  Otherwise it may choose to simply refresh the whole view.
-     *
-     *  @param item The item within the view that was updated.
-	 *
-     *  @param property The name of the property that was updated.
-	 *
-     *  @param oldValue The old value of that property. (If property
-	 *  was null, this can be the old value of the item.).
-	 *
-     *  @param newValue The new value of that property. (If property
-	 *  was null, there's no need to specify this as the item is assumed
-	 *  to be the new value.)
-     *
-     *  @see mx.events.CollectionEvent
-     *  @see mx.core.IPropertyChangeNotifier
-     *  @see mx.events.PropertyChangeEvent
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    function itemUpdated(item:Object, property:Object = null,
-                         oldValue:Object = null, newValue:Object = null):void;
-
-    /**
-     *  Applies the sort and filter to the view.
-	 *  The ICollectionView does not detect changes to a sort or
-	 *  filter automatically, so you must call the <code>refresh()</code>
-	 *  method to update the view after setting the <code>sort</code> 
-	 *  or <code>filterFunction</code> property.
-	 *  If your ICollectionView implementation also implements
-	 *  the IMXMLObject interface, you should to call the
-	 *  <code>refresh()</code> method from your <code>initialized()</code>
-	 *  method.
-	 *
-     *  <p>Returns <code>true</code> if the refresh was successful
-	 *  and <code>false</code> if the sort is not yet complete
-	 *  (e.g., items are still pending).
-	 *  A client of the view should wait for a CollectionEvent event
-	 *  with the <code>CollectionEventKind.REFRESH</code> <code>kind</code>
-	 *  property to ensure that the <code>refresh()</code> operation is
-	 *  complete.</p>
-     *
-     *  @return <code>true</code> if the refresh() was complete,
-	 *  <code>false</code> if the refresh() is incomplete.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    function refresh():Boolean;
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.collections
+{
+import mx.events.CollectionEvent;
+
+import org.apache.royale.events.IEventDispatcher;
+
+/**
+ *  Dispatched when the ICollectionView has been updated in some way.
+ *
+ *  @eventType mx.events.CollectionEvent.COLLECTION_CHANGE
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ */
+[Event(name="collectionChange", type="mx.events.CollectionEvent")]
+
+/**
+ *  An <code>ICollectionView</code> is a view onto a collection of data.
+ *  The view can be modified to show the data sorted according to various
+ *  criteria or reduced by filters without modifying the underlying data.
+ *  An IViewCursor provides to access items within a
+ *  collection. You can modify the collection by using the IViewCursor
+ *  interface <code>insert()</code> and <code>remove()</code> methods.
+ *
+ *  <p>An <code>ICollectionView</code> may be a view onto data that has been
+ *  retrieved from a remote location.
+ *  When Implementing this interface for data
+ *  that may be remote it is important to handle the case where data
+ *  may not yet be available, which is indicated by the
+ *  <code>ItemPendingError</code>.</p>
+ *
+ *  <p>The <code>IList</code> interface is an alternative to the
+ *  <code>ICollectionView</code> interface.</p>
+ *
+ *  @see mx.collections.IViewCursor
+ *  @see mx.collections.errors.ItemPendingError
+ *  @see mx.collections.IList
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ */
+public interface ICollectionView extends IEventDispatcher
+{
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  length
+	//----------------------------------
+
+    /**
+     *  The number of items in this view.
+	 *  0 means no items, while -1 means that the length is unknown.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    function get length():int;
+
+	//----------------------------------
+	//  filterFunction
+	//----------------------------------
+
+    /**
+     *  A function that the view will use to eliminate items that do not
+     *  match the function's criteria.
+	 *  A filterFunction is expected to have the following signature:
+	 *
+	 *  <pre>f(item:Object):Boolean</pre>
+	 *
+	 *  where the return value is <code>true</code> if the specified item
+	 *  should remain in the view.
+	 *
+     *  <p>If a filter is unsupported, Flex throws an error when accessing
+     *  this property.
+     *  You must call <code>refresh()</code> after setting the
+	 *  <code>filterFunction</code> property for the view to update.</p>
+	 *
+ 	 *  <p>Note: The Flex implementations of ICollectionView retrieve all
+	 *  items from a remote location before executing the filter function.
+	 *  If you use paging, apply the filter to the remote collection before
+	 *  you retrieve the data.</p>
+	 *
+     *  @see #refresh()
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    function get filterFunction():Function;
+    
+	/**
+	 *  @private
+	 */
+	function set filterFunction(value:Function):void;
+
+	//----------------------------------
+	//  sort
+	//----------------------------------
+
+    /**
+     *  The ISort that will be applied to the ICollectionView.
+	 *  Setting the sort does not automatically refresh the view,
+	 *  so you must call the <code>refresh()</code> method
+	 *  after setting this property.
+     *  If sort is unsupported an error will be thrown when accessing
+     *  this property.
+	 *
+	 *  <p>Note: The Flex implementations of ICollectionView retrieve all
+	 *  items from a remote location before executing a sort.
+	 *  If you use paging with a sorted list, apply the sort to the remote
+	 *  collection before you retrieve the data.</p>
+	 *
+     *  @see #refresh()
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    function get sort():ISort;
+    
+	/**
+	 *  @private
+	 */
+    function set sort(value:ISort):void;
+
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Creates a new IViewCursor that works with this view.
+     *
+     *  @return A new IViewCursor implementation.
+     *
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    function createCursor():IViewCursor;
+
+    /**
+     *  Returns whether the view contains the specified object.
+	 *  Unlike the <code>IViewCursor.find<i>xxx</i></code> methods,
+	 *  this search is succesful only if it finds an item that exactly
+	 *  matches the parameter.
+     *  If the view has a filter applied to it this method may return
+	 *  <code>false</code> even if the underlying collection
+	 *  does contain the item.
+     *
+     *  @param item The object to look for.
+	 *
+     *  @return true if the ICollectionView, after applying any filter,
+     *  contains the item; false otherwise.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    function contains(item:Object):Boolean;
+
+    /**
+     *  Prevents changes to the collection itself and items within the
+	 *  collection from being dispatched by the view.
+	 *  Also prevents the view from updating the positions of items
+	 *  if the positions change in the collection.
+	 *  The changes will be queued and dispatched appropriately
+	 *  after <code>enableAutoUpdate</code> is called.
+	 *  If more events than updates to a single item occur,
+	 *  the view may end up resetting. 
+	 *  The <code>disableAutoUpdate</code> method acts cumulatively;
+	 *  the same number of calls to <code>enableAutoUpdate</code>
+	 *  are required for the view to dispatch events and refresh.
+	 *  Note that <code>disableAutoUpdate</code> only affects the
+     *  individual view; edits may be detected on an individual
+	 *  basis by other views.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    function disableAutoUpdate():void;
+
+    /**
+     *  Enables auto-updating.
+	 *  See <code>disableAutoUpdate</code> for more information.
+	 *
+     *  @see #disableAutoUpdate()
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    function enableAutoUpdate():void;
+
+    /**
+     *  Notifies the view that an item has been updated.
+	 *  This method is useful if the contents of the view do not implement
+	 *  <code>IPropertyChangeNotifier</code>.
+	 *  If the call to this method includes a <code>property</code> parameter,
+	 *  the view may be able to optimize its notification mechanism.
+     *  Otherwise it may choose to simply refresh the whole view.
+     *
+     *  @param item The item within the view that was updated.
+	 *
+     *  @param property The name of the property that was updated.
+	 *
+     *  @param oldValue The old value of that property. (If property
+	 *  was null, this can be the old value of the item.).
+	 *
+     *  @param newValue The new value of that property. (If property
+	 *  was null, there's no need to specify this as the item is assumed
+	 *  to be the new value.)
+     *
+     *  @see mx.events.CollectionEvent
+     *  @see mx.core.IPropertyChangeNotifier
+     *  @see mx.events.PropertyChangeEvent
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    function itemUpdated(item:Object, property:Object = null,
+                         oldValue:Object = null, newValue:Object = null):void;
+
+    /**
+     *  Applies the sort and filter to the view.
+	 *  The ICollectionView does not detect changes to a sort or
+	 *  filter automatically, so you must call the <code>refresh()</code>
+	 *  method to update the view after setting the <code>sort</code> 
+	 *  or <code>filterFunction</code> property.
+	 *  If your ICollectionView implementation also implements
+	 *  the IMXMLObject interface, you should to call the
+	 *  <code>refresh()</code> method from your <code>initialized()</code>
+	 *  method.
+	 *
+     *  <p>Returns <code>true</code> if the refresh was successful
+	 *  and <code>false</code> if the sort is not yet complete
+	 *  (e.g., items are still pending).
+	 *  A client of the view should wait for a CollectionEvent event
+	 *  with the <code>CollectionEventKind.REFRESH</code> <code>kind</code>
+	 *  property to ensure that the <code>refresh()</code> operation is
+	 *  complete.</p>
+     *
+     *  @return <code>true</code> if the refresh() was complete,
+	 *  <code>false</code> if the refresh() is incomplete.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    function refresh():Boolean;
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IComplexSortField.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IComplexSortField.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IComplexSortField.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IComplexSortField.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IGroupingCollection.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IGroupingCollection.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IGroupingCollection.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IGroupingCollection.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IGroupingCollection2.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IGroupingCollection2.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IGroupingCollection2.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IGroupingCollection2.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalCollectionView.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IHierarchicalCollectionView.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalCollectionView.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IHierarchicalCollectionView.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalCollectionViewCursor.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IHierarchicalCollectionViewCursor.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalCollectionViewCursor.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IHierarchicalCollectionViewCursor.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalData.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IHierarchicalData.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IHierarchicalData.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IHierarchicalData.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IList.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IList.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IList.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IList.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISort.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ISort.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISort.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ISort.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISortField.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ISortField.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISortField.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ISortField.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISummaryCalculator.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ISummaryCalculator.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ISummaryCalculator.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ISummaryCalculator.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/IViewCursor.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IViewCursor.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/IViewCursor.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/IViewCursor.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/LeafNodeCursor.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/LeafNodeCursor.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/LeafNodeCursor.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/LeafNodeCursor.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/ListCollectionView.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ListCollectionView.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/ListCollectionView.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/ListCollectionView.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/Sort.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/Sort.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/Sort.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/Sort.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SortField.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SortField.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SortField.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SortField.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SortFieldCompareTypes.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SortFieldCompareTypes.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SortFieldCompareTypes.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SortFieldCompareTypes.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryField.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SummaryField.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryField.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SummaryField.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryField2.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SummaryField2.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryField2.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SummaryField2.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryObject.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SummaryObject.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryObject.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SummaryObject.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryRow.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SummaryRow.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/SummaryRow.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/SummaryRow.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/XMLListAdapter.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/XMLListAdapter.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/XMLListAdapter.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/XMLListAdapter.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/XMLListCollection.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/XMLListCollection.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/XMLListCollection.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/XMLListCollection.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/errors/CursorError.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/errors/CursorError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/errors/CursorError.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/errors/CursorError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/errors/ItemPendingError.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/errors/ItemPendingError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/errors/ItemPendingError.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/errors/ItemPendingError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/collections/errors/SortError.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/errors/SortError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/collections/errors/SortError.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/collections/errors/SortError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/ClassFactory.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/ClassFactory.as
similarity index 97%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/ClassFactory.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/ClassFactory.as
index e258d72..53f0556 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/ClassFactory.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/ClassFactory.as
@@ -1,45 +1,45 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-package mx.core
-{
-	import org.apache.royale.core.ClassFactory;
-	
-    /**
-     *  The ClassFactory class is the basic implementation
-     *  of an IFactory that will generate multiple
-     *  instances of item renderers or custom classes.
-     * 
-     *  @langversion 3.0
-     *  @playerversion Flash 10.2
-     *  @playerversion AIR 2.6
-     *  @productversion Royale 0.0
-     * 
-     *  @royalesuppresspublicvarwarning
-     */
-	public class ClassFactory extends org.apache.royale.core.ClassFactory implements IFactory
-	{
-	
-
-      public function ClassFactory(generator:Class=null)
-		{
-			super(generator);
-		}
-	}
-}
-
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package mx.core
+{
+	import org.apache.royale.core.ClassFactory;
+	
+    /**
+     *  The ClassFactory class is the basic implementation
+     *  of an IFactory that will generate multiple
+     *  instances of item renderers or custom classes.
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion Royale 0.0
+     * 
+     *  @royalesuppresspublicvarwarning
+     */
+	public class ClassFactory extends org.apache.royale.core.ClassFactory implements IFactory
+	{
+	
+
+      public function ClassFactory(generator:Class=null)
+		{
+			super(generator);
+		}
+	}
+}
+
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/EventPriority.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/EventPriority.as
similarity index 97%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/EventPriority.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/EventPriority.as
index 775b38b..f664822 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/EventPriority.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/EventPriority.as
@@ -1,119 +1,119 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.core
-{
-
-/**
- *  The EventPriority class defines constant values
- *  for the <code>priority</code> argument of the
- *  <code>addEventListener()</code> method of EventDispatcher.
- *
- *  <p>The higher the number, the higher the priority of the event listener.
- *  All listeners with priority <code>N</code> will be processed
- *  before listeners of priority <code>N - 1</code>.
- *  If two or more listeners share the same priority,
- *  they are processed in the order in which they were added.</p>
- *
- *  <p>Priorities can be positive, 0, or negative.
- *  The default priority is 0.</p>
- *
- *  <p>You should not write code that depends on the numeric values
- *  of these constants.
- *  They are subject to change in future versions of Flex.</p>
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- */
-public final class EventPriority
-{
-/* 	include "../core/Version.as";
- */
-	//--------------------------------------------------------------------------
-	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  The CursorManager has handlers for mouse events
-	 *  which must be executed before other mouse event handlers,
-	 *  so they have a high priority.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public static const CURSOR_MANAGEMENT:int = 200;
-	
-	/**
-	 *  Autogenerated event handlers that evaluate data-binding expressions
-	 *  need to be executed before any others, so they have a higher priority
-	 *  than the default.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public static const BINDING:int = 100;
-
-	/**
-	 *  Event handlers on component instances are executed with the default
-	 *  priority, <code>0</code>.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public static const DEFAULT:int = 0;
-
-	/**
-	 *  Some components listen to events that they dispatch on themselves
-	 *  and let other listeners call the <code>preventDefault()</code>
-	 *  method to tell the component not to perform a default action.
-	 *  Those components must listen with a lower priority than the default
-	 *  priority, so that the other handlers are executed first and have
-	 *  a chance to call <code>preventDefault()</code>.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public static const DEFAULT_HANDLER:int = -50;
-
-	/**
-	 *  Autogenerated event handlers that trigger effects are executed
-	 *  after other event handlers on component instances, so they have
-	 *  a lower priority than the default.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public static const EFFECT:int = -100;
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+/**
+ *  The EventPriority class defines constant values
+ *  for the <code>priority</code> argument of the
+ *  <code>addEventListener()</code> method of EventDispatcher.
+ *
+ *  <p>The higher the number, the higher the priority of the event listener.
+ *  All listeners with priority <code>N</code> will be processed
+ *  before listeners of priority <code>N - 1</code>.
+ *  If two or more listeners share the same priority,
+ *  they are processed in the order in which they were added.</p>
+ *
+ *  <p>Priorities can be positive, 0, or negative.
+ *  The default priority is 0.</p>
+ *
+ *  <p>You should not write code that depends on the numeric values
+ *  of these constants.
+ *  They are subject to change in future versions of Flex.</p>
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ */
+public final class EventPriority
+{
+/* 	include "../core/Version.as";
+ */
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  The CursorManager has handlers for mouse events
+	 *  which must be executed before other mouse event handlers,
+	 *  so they have a high priority.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public static const CURSOR_MANAGEMENT:int = 200;
+	
+	/**
+	 *  Autogenerated event handlers that evaluate data-binding expressions
+	 *  need to be executed before any others, so they have a higher priority
+	 *  than the default.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public static const BINDING:int = 100;
+
+	/**
+	 *  Event handlers on component instances are executed with the default
+	 *  priority, <code>0</code>.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public static const DEFAULT:int = 0;
+
+	/**
+	 *  Some components listen to events that they dispatch on themselves
+	 *  and let other listeners call the <code>preventDefault()</code>
+	 *  method to tell the component not to perform a default action.
+	 *  Those components must listen with a lower priority than the default
+	 *  priority, so that the other handlers are executed first and have
+	 *  a chance to call <code>preventDefault()</code>.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public static const DEFAULT_HANDLER:int = -50;
+
+	/**
+	 *  Autogenerated event handlers that trigger effects are executed
+	 *  after other event handlers on component instances, so they have
+	 *  a lower priority than the default.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public static const EFFECT:int = -100;
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/FlexGlobals.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/FlexGlobals.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/FlexGlobals.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/FlexGlobals.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/FlexVersion.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/FlexVersion.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/FlexVersion.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/FlexVersion.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IChildList.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IChildList.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IChildList.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IChildList.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IDisplayObjectInterface.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IDisplayObjectInterface.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IDisplayObjectInterface.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IDisplayObjectInterface.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IFactory.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IFactory.as
similarity index 97%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IFactory.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IFactory.as
index 2525caa..8edce1b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IFactory.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IFactory.as
@@ -1,48 +1,48 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.core
-{
-
-import org.apache.royale.core.IFactory;
-
-/**
- *  The IFactory interface defines the interface that factory classes
- *  such as ClassFactory must implement.
- *  An object of type IFactory is a "factory object" which Flex uses
- *  to generate multiple instances of another class, each with identical
- *  properties.
- *
- *  <p>For example, a DataGridColumn has an <code>itemRenderer</code> of type
- *  IFactory; it calls <code>itemRenderer.newInstance()</code> to create
- *  the cells for a particular column of the DataGrid.</p>
- *
- *  @see mx.core.ClassFactory
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- */
-public interface IFactory extends org.apache.royale.core.IFactory
-{
-
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+import org.apache.royale.core.IFactory;
+
+/**
+ *  The IFactory interface defines the interface that factory classes
+ *  such as ClassFactory must implement.
+ *  An object of type IFactory is a "factory object" which Flex uses
+ *  to generate multiple instances of another class, each with identical
+ *  properties.
+ *
+ *  <p>For example, a DataGridColumn has an <code>itemRenderer</code> of type
+ *  IFactory; it calls <code>itemRenderer.newInstance()</code> to create
+ *  the cells for a particular column of the DataGrid.</p>
+ *
+ *  @see mx.core.ClassFactory
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ */
+public interface IFactory extends org.apache.royale.core.IFactory
+{
+
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IFlexDisplayObject.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IFlexDisplayObject.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IFlexDisplayObject.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IFlexDisplayObject.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IFlexModule.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IFlexModule.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IFlexModule.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IFlexModule.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IFlexModuleFactory.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IFlexModuleFactory.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IFlexModuleFactory.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IFlexModuleFactory.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IMXMLObject.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IMXMLObject.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IMXMLObject.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IMXMLObject.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IPropertyChangeNotifier.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IPropertyChangeNotifier.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IPropertyChangeNotifier.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IPropertyChangeNotifier.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IUIComponent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IUIComponent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IUIComponent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IUIComponent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/IUID.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IUID.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/IUID.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/IUID.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Keyboard.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/Keyboard.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/Keyboard.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/Keyboard.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Singleton.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/Singleton.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/Singleton.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/Singleton.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/mx_internal.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/mx_internal.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/core/mx_internal.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/core/mx_internal.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/data/EncryptedLocalStore.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/data/EncryptedLocalStore.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/data/EncryptedLocalStore.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/data/EncryptedLocalStore.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/errors/EOFError.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/errors/EOFError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/errors/EOFError.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/errors/EOFError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/errors/IllegalOperationError.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/errors/IllegalOperationError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/errors/IllegalOperationError.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/errors/IllegalOperationError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/errors/ScriptTimeoutError.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/errors/ScriptTimeoutError.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/errors/ScriptTimeoutError.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/errors/ScriptTimeoutError.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/AsyncErrorEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/AsyncErrorEvent.as
similarity index 96%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/AsyncErrorEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/AsyncErrorEvent.as
index 8052ed2..f44c29a 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/events/AsyncErrorEvent.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/AsyncErrorEvent.as
@@ -1,109 +1,109 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.events
-{
-COMPILE::SWF
-{
-import flash.events.AsyncErrorEvent;        
-}
-/* import mx.events.Event;*/
-import org.apache.royale.events.Event;
-import org.apache.royale.events.IRoyaleEvent;
-
-/**
- *
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::SWF
-public class AsyncErrorEvent extends flash.events.AsyncErrorEvent
-{
-	public function AsyncErrorEvent(type:String, bubbles:Boolean = false,
-							  cancelable:Boolean = false, text:String = "", id:int = 0
-							  )
-	{
-		super(type, bubbles, cancelable,text,id);
-	}
-}
-
-/**
- *  Represents event objects that are dispatched when focus changes.
- *
- *  @see mx.core.UIComponent
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::JS
-public class AsyncErrorEvent extends ErrorEvent
-{
-   /*  include "../core/Version.as"; */
-	public static const ASYNC_ERROR:String = "asyncError";
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *
-	 *  @param type The event type; indicates the action that caused the event.
-	 *
-	 *  @param bubbles Specifies whether the event can bubble
-	 *  up the display list hierarchy.
-	 *
-	 *  @param cancelable Specifies whether the behavior
-	 *  associated with the event can be prevented.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public function AsyncErrorEvent(type:String, bubbles:Boolean = false,
-							  cancelable:Boolean = false, text:String = "", id:int = 0
-							  )
-	{
-		super(type, bubbles, cancelable);
-	}
-	
-
-	
-
-	
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+COMPILE::SWF
+{
+import flash.events.AsyncErrorEvent;        
+}
+/* import mx.events.Event;*/
+import org.apache.royale.events.Event;
+import org.apache.royale.events.IRoyaleEvent;
+
+/**
+ *
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::SWF
+public class AsyncErrorEvent extends flash.events.AsyncErrorEvent
+{
+	public function AsyncErrorEvent(type:String, bubbles:Boolean = false,
+							  cancelable:Boolean = false, text:String = "", id:int = 0
+							  )
+	{
+		super(type, bubbles, cancelable,text,id);
+	}
+}
+
+/**
+ *  Represents event objects that are dispatched when focus changes.
+ *
+ *  @see mx.core.UIComponent
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::JS
+public class AsyncErrorEvent extends ErrorEvent
+{
+   /*  include "../core/Version.as"; */
+	public static const ASYNC_ERROR:String = "asyncError";
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param type The event type; indicates the action that caused the event.
+	 *
+	 *  @param bubbles Specifies whether the event can bubble
+	 *  up the display list hierarchy.
+	 *
+	 *  @param cancelable Specifies whether the behavior
+	 *  associated with the event can be prevented.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public function AsyncErrorEvent(type:String, bubbles:Boolean = false,
+							  cancelable:Boolean = false, text:String = "", id:int = 0
+							  )
+	{
+		super(type, bubbles, cancelable);
+	}
+	
+
+	
+
+	
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/CollectionEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/CollectionEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/CollectionEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/CollectionEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/CollectionEventKind.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/CollectionEventKind.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/CollectionEventKind.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/CollectionEventKind.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/DataEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/DataEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/DataEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/DataEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/ErrorEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/ErrorEvent.as
similarity index 96%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/ErrorEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/ErrorEvent.as
index d0793b9..5e759c4 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/events/ErrorEvent.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/ErrorEvent.as
@@ -1,111 +1,111 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.events
-{
-COMPILE::SWF
-{
-import flash.events.ErrorEvent;        
-}
-/* import mx.events.Event;*/
-import org.apache.royale.events.Event;
-import org.apache.royale.events.IRoyaleEvent;
-
-/**
- *
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::SWF
-public class ErrorEvent extends flash.events.ErrorEvent
-{
-    public static const ERROR:String = "error";
-    
-	public function ErrorEvent(type:String, bubbles:Boolean = false,
-							  cancelable:Boolean = false, text:String = "", id:int = 0
-							  )
-	{
-		super(type, bubbles, cancelable,text,id);
-	}
-}
-
-/**
- *  Represents event objects that are dispatched when focus changes.
- *
- *  @see mx.core.UIComponent
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::JS
-public class ErrorEvent extends org.apache.royale.events.Event
-{
-    public static const ERROR:String = "error";
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *
-	 *  @param type The event type; indicates the action that caused the event.
-	 *
-	 *  @param bubbles Specifies whether the event can bubble
-	 *  up the display list hierarchy.
-	 *
-	 *  @param cancelable Specifies whether the behavior
-	 *  associated with the event can be prevented.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public function ErrorEvent(type:String, bubbles:Boolean = false,
-							  cancelable:Boolean = false, text:String = "", id:int = 0
-							  )
-	{
-		super(type, bubbles, cancelable);
-        this.text = text;
-	}
-	
-
-    public var text:String;	
-
-	
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+COMPILE::SWF
+{
+import flash.events.ErrorEvent;        
+}
+/* import mx.events.Event;*/
+import org.apache.royale.events.Event;
+import org.apache.royale.events.IRoyaleEvent;
+
+/**
+ *
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::SWF
+public class ErrorEvent extends flash.events.ErrorEvent
+{
+    public static const ERROR:String = "error";
+    
+	public function ErrorEvent(type:String, bubbles:Boolean = false,
+							  cancelable:Boolean = false, text:String = "", id:int = 0
+							  )
+	{
+		super(type, bubbles, cancelable,text,id);
+	}
+}
+
+/**
+ *  Represents event objects that are dispatched when focus changes.
+ *
+ *  @see mx.core.UIComponent
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::JS
+public class ErrorEvent extends org.apache.royale.events.Event
+{
+    public static const ERROR:String = "error";
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param type The event type; indicates the action that caused the event.
+	 *
+	 *  @param bubbles Specifies whether the event can bubble
+	 *  up the display list hierarchy.
+	 *
+	 *  @param cancelable Specifies whether the behavior
+	 *  associated with the event can be prevented.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public function ErrorEvent(type:String, bubbles:Boolean = false,
+							  cancelable:Boolean = false, text:String = "", id:int = 0
+							  )
+	{
+		super(type, bubbles, cancelable);
+        this.text = text;
+	}
+	
+
+    public var text:String;	
+
+	
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/FlexEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/FlexEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/FlexEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/FlexEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/HTTPStatusEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/HTTPStatusEvent.as
similarity index 96%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/HTTPStatusEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/HTTPStatusEvent.as
index 1882255..11d8eac 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/events/HTTPStatusEvent.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/HTTPStatusEvent.as
@@ -1,113 +1,113 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.events
-{
-	COMPILE::SWF
-		{
-			import flash.events.HTTPStatusEvent;        
-		}
-		/* import mx.events.Event;*/
-		import org.apache.royale.events.Event;
-	import org.apache.royale.events.IRoyaleEvent;
-	
-	/**
-	 *
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 *  @royalesuppresspublicvarwarning
-	 */
-	COMPILE::SWF
-	public class HTTPStatusEvent extends flash.events.HTTPStatusEvent
-	{
-		public static const HTTP_STATUS:String = "httpStatus";
-		
-		public function HTTPStatusEvent(type:String, bubbles:Boolean = false, 
-										cancelable:Boolean = false, status:int = 0)
-		{
-			super(type, bubbles, cancelable,status);
-		}
-		
-	}
-	
-	/**
-	 *  Represents event objects that are dispatched when focus changes.
-	 *
-	 *  @see mx.core.UIComponent
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 *  @royalesuppresspublicvarwarning
-	 */
-	COMPILE::JS
-	public class HTTPStatusEvent extends org.apache.royale.events.Event
-	{
-		/*  include "../core/Version.as"; */
-		public static const HTTP_STATUS:String = "httpStatus";
-		private var m_status:int;
-		
-		//--------------------------------------------------------------------------
-		//
-		//  Class constants
-		//
-		//--------------------------------------------------------------------------
-		
-		
-		//--------------------------------------------------------------------------
-		//
-		//  Constructor
-		//
-		//--------------------------------------------------------------------------
-		
-		/**
-		 *  Constructor.
-		 *
-		 *  @param type The event type; indicates the action that caused the event.
-		 *
-		 *  @param bubbles Specifies whether the event can bubble
-		 *  up the display list hierarchy.
-		 *
-		 *  @param cancelable Specifies whether the behavior
-		 *  associated with the event can be prevented.
-		 *  
-		 *  @langversion 3.0
-		 *  @playerversion Flash 9
-		 *  @playerversion AIR 1.1
-		 *  @productversion Royale 0.9.3
-		 */
-		public function HTTPStatusEvent(type:String, bubbles:Boolean = false,
-										cancelable:Boolean = false, status:int = 0)
-		{
-			super(type, bubbles, cancelable);
-			m_status = status;
-		}
-		
-		public function get status() : int
-		{
-			return m_status;
-		}		
-		
-	}
-	
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+	COMPILE::SWF
+		{
+			import flash.events.HTTPStatusEvent;        
+		}
+		/* import mx.events.Event;*/
+		import org.apache.royale.events.Event;
+	import org.apache.royale.events.IRoyaleEvent;
+	
+	/**
+	 *
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 *  @royalesuppresspublicvarwarning
+	 */
+	COMPILE::SWF
+	public class HTTPStatusEvent extends flash.events.HTTPStatusEvent
+	{
+		public static const HTTP_STATUS:String = "httpStatus";
+		
+		public function HTTPStatusEvent(type:String, bubbles:Boolean = false, 
+										cancelable:Boolean = false, status:int = 0)
+		{
+			super(type, bubbles, cancelable,status);
+		}
+		
+	}
+	
+	/**
+	 *  Represents event objects that are dispatched when focus changes.
+	 *
+	 *  @see mx.core.UIComponent
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 *  @royalesuppresspublicvarwarning
+	 */
+	COMPILE::JS
+	public class HTTPStatusEvent extends org.apache.royale.events.Event
+	{
+		/*  include "../core/Version.as"; */
+		public static const HTTP_STATUS:String = "httpStatus";
+		private var m_status:int;
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Class constants
+		//
+		//--------------------------------------------------------------------------
+		
+		
+		//--------------------------------------------------------------------------
+		//
+		//  Constructor
+		//
+		//--------------------------------------------------------------------------
+		
+		/**
+		 *  Constructor.
+		 *
+		 *  @param type The event type; indicates the action that caused the event.
+		 *
+		 *  @param bubbles Specifies whether the event can bubble
+		 *  up the display list hierarchy.
+		 *
+		 *  @param cancelable Specifies whether the behavior
+		 *  associated with the event can be prevented.
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Royale 0.9.3
+		 */
+		public function HTTPStatusEvent(type:String, bubbles:Boolean = false,
+										cancelable:Boolean = false, status:int = 0)
+		{
+			super(type, bubbles, cancelable);
+			m_status = status;
+		}
+		
+		public function get status() : int
+		{
+			return m_status;
+		}		
+		
+	}
+	
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/IOErrorEvent.as
similarity index 96%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/IOErrorEvent.as
index 6bda6a6..dd0112a 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/IOErrorEvent.as
@@ -1,111 +1,111 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.events
-{
-COMPILE::SWF
-{
-import flash.events.IOErrorEvent;        
-}
-/* import mx.events.Event;*/
-import org.apache.royale.events.Event;
-import org.apache.royale.events.IRoyaleEvent;
-
-/**
- *
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::SWF
-public class IOErrorEvent extends flash.events.IOErrorEvent
-{
-	public static const IO_ERROR:String = "ioError";
-	
-	public function IOErrorEvent(type:String, bubbles:Boolean = false,
-							  cancelable:Boolean = false, text:String = "", id:int = 0
-							  )
-	{
-		super(type, bubbles, cancelable,text,id);
-	}
-}
-
-/**
- *  Represents event objects that are dispatched when focus changes.
- *
- *  @see mx.core.UIComponent
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::JS
-public class IOErrorEvent extends ErrorEvent
-{
-   /*  include "../core/Version.as"; */
-	public static const IO_ERROR:String = "ioError";
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *
-	 *  @param type The event type; indicates the action that caused the event.
-	 *
-	 *  @param bubbles Specifies whether the event can bubble
-	 *  up the display list hierarchy.
-	 *
-	 *  @param cancelable Specifies whether the behavior
-	 *  associated with the event can be prevented.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public function IOErrorEvent(type:String, bubbles:Boolean = false,
-							  cancelable:Boolean = false, text:String = "", id:int = 0
-							  )
-	{
-		super(type, bubbles, cancelable);
-	}
-	
-
-	
-
-	
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+COMPILE::SWF
+{
+import flash.events.IOErrorEvent;        
+}
+/* import mx.events.Event;*/
+import org.apache.royale.events.Event;
+import org.apache.royale.events.IRoyaleEvent;
+
+/**
+ *
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::SWF
+public class IOErrorEvent extends flash.events.IOErrorEvent
+{
+	public static const IO_ERROR:String = "ioError";
+	
+	public function IOErrorEvent(type:String, bubbles:Boolean = false,
+							  cancelable:Boolean = false, text:String = "", id:int = 0
+							  )
+	{
+		super(type, bubbles, cancelable,text,id);
+	}
+}
+
+/**
+ *  Represents event objects that are dispatched when focus changes.
+ *
+ *  @see mx.core.UIComponent
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::JS
+public class IOErrorEvent extends ErrorEvent
+{
+   /*  include "../core/Version.as"; */
+	public static const IO_ERROR:String = "ioError";
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param type The event type; indicates the action that caused the event.
+	 *
+	 *  @param bubbles Specifies whether the event can bubble
+	 *  up the display list hierarchy.
+	 *
+	 *  @param cancelable Specifies whether the behavior
+	 *  associated with the event can be prevented.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public function IOErrorEvent(type:String, bubbles:Boolean = false,
+							  cancelable:Boolean = false, text:String = "", id:int = 0
+							  )
+	{
+		super(type, bubbles, cancelable);
+	}
+	
+
+	
+
+	
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/IndexChangedEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/IndexChangedEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/IndexChangedEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/IndexChangedEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/NetStatusEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/NetStatusEvent.as
similarity index 96%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/NetStatusEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/NetStatusEvent.as
index 31f2b08..9ae66fd 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/events/NetStatusEvent.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/NetStatusEvent.as
@@ -1,111 +1,111 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.events
-{
-COMPILE::SWF
-{
-import flash.events.NetStatusEvent;        
-}
-/* import mx.events.Event;*/
-import org.apache.royale.events.Event;
-import org.apache.royale.events.IRoyaleEvent;
-
-/**
- *
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::SWF
-public class NetStatusEvent extends flash.events.NetStatusEvent
-{
-	public static const NET_STATUS:String = "netStatus";
-	public function NetStatusEvent(type:String, bubbles:Boolean = false,
-							  cancelable:Boolean = false, info:Object = null
-							  )
-	{
-		super(type, bubbles, cancelable,info);
-	}
-}
-
-/**
- *  Represents event objects that are dispatched when focus changes.
- *
- *  @see mx.core.UIComponent
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::JS
-public class NetStatusEvent extends org.apache.royale.events.Event
-{
-   /*  include "../core/Version.as"; */
-	public static const NET_STATUS:String = "netStatus";
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *
-	 *  @param type The event type; indicates the action that caused the event.
-	 *
-	 *  @param bubbles Specifies whether the event can bubble
-	 *  up the display list hierarchy.
-	 *
-	 *  @param cancelable Specifies whether the behavior
-	 *  associated with the event can be prevented.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public function NetStatusEvent(type:String, bubbles:Boolean = false,
-							  cancelable:Boolean = false, info:Object = null
-							  )
-	{
-		super(type, bubbles, cancelable);
-		this.info = info;
-	}
-	
-
-	public var info:Object;
-
-	
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+COMPILE::SWF
+{
+import flash.events.NetStatusEvent;        
+}
+/* import mx.events.Event;*/
+import org.apache.royale.events.Event;
+import org.apache.royale.events.IRoyaleEvent;
+
+/**
+ *
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::SWF
+public class NetStatusEvent extends flash.events.NetStatusEvent
+{
+	public static const NET_STATUS:String = "netStatus";
+	public function NetStatusEvent(type:String, bubbles:Boolean = false,
+							  cancelable:Boolean = false, info:Object = null
+							  )
+	{
+		super(type, bubbles, cancelable,info);
+	}
+}
+
+/**
+ *  Represents event objects that are dispatched when focus changes.
+ *
+ *  @see mx.core.UIComponent
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::JS
+public class NetStatusEvent extends org.apache.royale.events.Event
+{
+   /*  include "../core/Version.as"; */
+	public static const NET_STATUS:String = "netStatus";
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param type The event type; indicates the action that caused the event.
+	 *
+	 *  @param bubbles Specifies whether the event can bubble
+	 *  up the display list hierarchy.
+	 *
+	 *  @param cancelable Specifies whether the behavior
+	 *  associated with the event can be prevented.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public function NetStatusEvent(type:String, bubbles:Boolean = false,
+							  cancelable:Boolean = false, info:Object = null
+							  )
+	{
+		super(type, bubbles, cancelable);
+		this.info = info;
+	}
+	
+
+	public var info:Object;
+
+	
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/ProgressEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/ProgressEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/ProgressEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/ProgressEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/PropertyChangeEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/PropertyChangeEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/PropertyChangeEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/PropertyChangeEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/PropertyChangeEventKind.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/PropertyChangeEventKind.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/PropertyChangeEventKind.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/PropertyChangeEventKind.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/RSLEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/RSLEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/RSLEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/RSLEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/ResourceEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/ResourceEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/ResourceEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/ResourceEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/SecurityErrorEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/SecurityErrorEvent.as
similarity index 96%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/SecurityErrorEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/SecurityErrorEvent.as
index 1db1491..186bf08 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/events/SecurityErrorEvent.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/SecurityErrorEvent.as
@@ -1,109 +1,109 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.events
-{
-COMPILE::SWF
-{
-import flash.events.SecurityErrorEvent;        
-}
-/* import mx.events.Event;*/
-import org.apache.royale.events.Event;
-import org.apache.royale.events.IRoyaleEvent;
-
-/**
- *
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::SWF
-public class SecurityErrorEvent extends flash.events.SecurityErrorEvent
-{
-	public static const SECURITY_ERROR:String = "securityError";
-	
-	public function SecurityErrorEvent(type:String, bubbles:Boolean = false, 
-	cancelable:Boolean = false, text:String = "", id:int = 0)
-	{
-		super(type, bubbles, cancelable,text,id);
-	}
-}
-
-/**
- *  Represents event objects that are dispatched when focus changes.
- *
- *  @see mx.core.UIComponent
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::JS
-public class SecurityErrorEvent extends ErrorEvent
-{
-   /*  include "../core/Version.as"; */
-	public static const SECURITY_ERROR:String = "securityError";
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *
-	 *  @param type The event type; indicates the action that caused the event.
-	 *
-	 *  @param bubbles Specifies whether the event can bubble
-	 *  up the display list hierarchy.
-	 *
-	 *  @param cancelable Specifies whether the behavior
-	 *  associated with the event can be prevented.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public function SecurityErrorEvent(type:String, bubbles:Boolean = false, 
-	cancelable:Boolean = false, text:String = "", id:int = 0)
-	{
-		super(type, bubbles, cancelable);
-	}
-	
-
-	
-
-	
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+COMPILE::SWF
+{
+import flash.events.SecurityErrorEvent;        
+}
+/* import mx.events.Event;*/
+import org.apache.royale.events.Event;
+import org.apache.royale.events.IRoyaleEvent;
+
+/**
+ *
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::SWF
+public class SecurityErrorEvent extends flash.events.SecurityErrorEvent
+{
+	public static const SECURITY_ERROR:String = "securityError";
+	
+	public function SecurityErrorEvent(type:String, bubbles:Boolean = false, 
+	cancelable:Boolean = false, text:String = "", id:int = 0)
+	{
+		super(type, bubbles, cancelable,text,id);
+	}
+}
+
+/**
+ *  Represents event objects that are dispatched when focus changes.
+ *
+ *  @see mx.core.UIComponent
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::JS
+public class SecurityErrorEvent extends ErrorEvent
+{
+   /*  include "../core/Version.as"; */
+	public static const SECURITY_ERROR:String = "securityError";
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param type The event type; indicates the action that caused the event.
+	 *
+	 *  @param bubbles Specifies whether the event can bubble
+	 *  up the display list hierarchy.
+	 *
+	 *  @param cancelable Specifies whether the behavior
+	 *  associated with the event can be prevented.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public function SecurityErrorEvent(type:String, bubbles:Boolean = false, 
+	cancelable:Boolean = false, text:String = "", id:int = 0)
+	{
+		super(type, bubbles, cancelable);
+	}
+	
+
+	
+
+	
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/TextEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/TextEvent.as
similarity index 96%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/TextEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/TextEvent.as
index 05b506a..a3bde3b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/events/TextEvent.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/TextEvent.as
@@ -1,127 +1,127 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.events
-{
-COMPILE::SWF
-{
-import flash.events.TextEvent;  
-}
-/* import mx.events.Event;*/
-import org.apache.royale.events.Event;
-import org.apache.royale.events.IRoyaleEvent;
-
-/**
- *
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::SWF
-public class TextEvent extends flash.events.TextEvent
-{
-	private static function platformConstant(s:String):String
-        {
-            return s;
-        }
-		
-    public static const TEXT_INPUT : String = platformConstant("textInput"); 
-		
-	public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
-    {
-        super(type, bubbles, cancelable);
-        this.text = text;
-    }
-    
-   
-}
-
-/**
- *
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-COMPILE::JS
-public class TextEvent extends org.apache.royale.events.Event
-{
-   private static function platformConstant(s:String):String
-        {
-            return s;
-        }
-		
-    public static const TEXT_INPUT : String = platformConstant("textInput"); 
-		
-		
-	//--------------------------------------------------------------------------
-	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *
-	 *  @param type The event type; indicates the action that caused the event.
-	 *
-	 *  @param bubbles Specifies whether the event can bubble
-	 *  up the display list hierarchy.
-	 *
-	 *  @param cancelable Specifies whether the behavior
-	 *  associated with the event can be prevented.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
-							  
-	{
-		super(type, bubbles, cancelable);
-	}
-	
-	private var _text:String;
-	public function get text():String
-	{
-		return _text;
-	}
-    public function set text(value:String):void
-	{
-		_text = value;
-	}
-	
-
-	
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+COMPILE::SWF
+{
+import flash.events.TextEvent;  
+}
+/* import mx.events.Event;*/
+import org.apache.royale.events.Event;
+import org.apache.royale.events.IRoyaleEvent;
+
+/**
+ *
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::SWF
+public class TextEvent extends flash.events.TextEvent
+{
+	private static function platformConstant(s:String):String
+        {
+            return s;
+        }
+		
+    public static const TEXT_INPUT : String = platformConstant("textInput"); 
+		
+	public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
+    {
+        super(type, bubbles, cancelable);
+        this.text = text;
+    }
+    
+   
+}
+
+/**
+ *
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+COMPILE::JS
+public class TextEvent extends org.apache.royale.events.Event
+{
+   private static function platformConstant(s:String):String
+        {
+            return s;
+        }
+		
+    public static const TEXT_INPUT : String = platformConstant("textInput"); 
+		
+		
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param type The event type; indicates the action that caused the event.
+	 *
+	 *  @param bubbles Specifies whether the event can bubble
+	 *  up the display list hierarchy.
+	 *
+	 *  @param cancelable Specifies whether the behavior
+	 *  associated with the event can be prevented.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public function TextEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, text:String = "")
+							  
+	{
+		super(type, bubbles, cancelable);
+	}
+	
+	private var _text:String;
+	public function get text():String
+	{
+		return _text;
+	}
+    public function set text(value:String):void
+	{
+		_text = value;
+	}
+	
+
+	
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/TimerEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/TimerEvent.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/TimerEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/TimerEvent.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/events/ValidationResultEvent.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/ValidationResultEvent.as
similarity index 97%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/events/ValidationResultEvent.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/ValidationResultEvent.as
index 5147354..ac9a2ad 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/events/ValidationResultEvent.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/events/ValidationResultEvent.as
@@ -1,239 +1,239 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.events
-{
-
-/* import flash.events.Event; */
-
-import org.apache.royale.events.Event;
-import org.apache.royale.events.IRoyaleEvent;
-/**
- *  The ValidationResultEvent class represents the event object 
- *  passed to the listener for the <code>valid</code> validator event
- *  or the <code>invalid</code> validator event. 
- *
- *  @see mx.validators.Validator
- *  @see mx.validators.ValidationResult
- *  @see mx.validators.RegExpValidationResult
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Royale 0.9.3
- *  @royalesuppresspublicvarwarning
- */
-public class ValidationResultEvent extends Event
-{
-/*     include "../core/Version.as"; */
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class constants
-	//
-	//--------------------------------------------------------------------------
-	
-	/**
-	 *  The <code>ValidationResultEvent.INVALID</code> constant defines the value of the 
-	 *  <code>type</code> property of the event object for an <code>invalid</code> event.
-	 *  The value of this constant is "invalid".
-	 *
-	 *  <p>The properties of the event object have the following values:</p>
-	 *  <table class="innertable">
-	 *     <tr><th>Property</th><th>Value</th></tr>
-     *     <tr><td><code>bubbles</code></td><td>false</td></tr>
-     *     <tr><td><code>cancelable</code></td><td>false</td></tr>
-     *     <tr><td><code>currentTarget</code></td><td>The Object that defines the 
-     *       event listener that handles the event. For example, if you use 
-     *       <code>myButton.addEventListener()</code> to register an event listener, 
-     *       myButton is the value of the <code>currentTarget</code>. </td></tr>
-     *     <tr><td><code>field</code></td><td>The name of the field that failed validation.</td></tr>
-     *     <tr><td><code>message</code></td><td>A single string that contains 
-     *       every error message from all of the ValidationResult objects in the results Array.</td></tr>
-     *     <tr><td><code>results</code></td><td>An array of ValidationResult objects, 
-     *       one per validated field.</td></tr>
-     *     <tr><td><code>target</code></td><td>The Object that dispatched the event; 
-     *       it is not always the Object listening for the event. 
-     *       Use the <code>currentTarget</code> property to always access the 
-     *       Object listening for the event.</td></tr>
-	 *  </table>
-	 *
-     *  @eventType invalid 
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public static const INVALID:String = "invalid";
-
-	/**
-	 *  The <code>ValidationResultEvent.VALID</code> constant defines the value of the 
-	 *  <code>type</code> property of the event object for a <code>valid</code>event.
-	 *  The value of this constant is "valid".
-	 *
-	 *  <p>The properties of the event object have the following values:</p>
-	 *  <table class="innertable">
-	 *     <tr><th>Property</th><th>Value</th></tr>
-     *     <tr><td><code>bubbles</code></td><td>false</td></tr>
-     *     <tr><td><code>cancelable</code></td><td>false</td></tr>
-     *     <tr><td><code>currentTarget</code></td><td>The Object that defines the 
-     *       event listener that handles the event. For example, if you use 
-     *       <code>myButton.addEventListener()</code> to register an event listener, 
-     *       myButton is the value of the <code>currentTarget</code>. </td></tr>
-     *     <tr><td><code>field</code></td><td>An empty String.</td></tr>
-     *     <tr><td><code>message</code></td><td>An empty String.</td></tr>
-     *     <tr><td><code>results</code></td><td>An empty Array.</td></tr>
-     *     <tr><td><code>target</code></td><td>The Object that dispatched the event; 
-     *       it is not always the Object listening for the event. 
-     *       Use the <code>currentTarget</code> property to always access the 
-     *       Object listening for the event.</td></tr>
-	 *  </table>
-	 *
-     *  @eventType valid 
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-	public static const VALID:String = "valid";
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *
-	 *  @param type The event type; indicates the action that caused the event.
-	 *
-	 *  @param bubbles Specifies whether the event can bubble up the 
-	 *  display list hierarchy.
-	 *
-	 *  @param cancelable Specifies whether the behavior associated with the event can be prevented.
-	 *
-	 *  @param field The name of the field that failed validation and triggered the event.
-	 *
-	 *  @param results An array of ValidationResult objects, one per validated field. 
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-    public function ValidationResultEvent(type:String, bubbles:Boolean = false,
-										  cancelable:Boolean = false,
-										  field:String = null,
-										  results:Array = null)
-    {
-        super(type, bubbles, cancelable);
-
-        this.field = field;
-        this.results = results;
-    }
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-    //  field
-    //----------------------------------
-
-	/**
-	 *  The name of the field that failed validation and triggered the event.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-    public var field:String;
-	
-	//----------------------------------
-    //  message
-    //----------------------------------
-
-	/**
-	 *  A single string that contains every error message from all
-	 *  of the ValidationResult objects in the results Array.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-    public function get message():String
-    {
-        var msg:String = "";
-		var n:int;
-		
-		if (results)
-			n = results.length;
-		
-		for (var i:int = 0; i < n; ++i)
-        {
-			if (results[i].isError)
-			{
-	            msg += msg == "" ? "" : "\n";
-				msg += results[i].errorMessage;
-			}
-        }
-        
-		return msg;
-    }
-
-	//----------------------------------
-    //  results
-    //----------------------------------
-
-	/**
-	 *  An array of ValidationResult objects, one per validated field. 
-	 *
-	 *  @see mx.validators.ValidationResult
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Royale 0.9.3
-	 */
-    public var results:Array;
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods: Event
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	override public function cloneEvent():IRoyaleEvent
-	{
-		return new ValidationResultEvent(type, bubbles, cancelable,
-										 field, results);
-	}
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+
+/* import flash.events.Event; */
+
+import org.apache.royale.events.Event;
+import org.apache.royale.events.IRoyaleEvent;
+/**
+ *  The ValidationResultEvent class represents the event object 
+ *  passed to the listener for the <code>valid</code> validator event
+ *  or the <code>invalid</code> validator event. 
+ *
+ *  @see mx.validators.Validator
+ *  @see mx.validators.ValidationResult
+ *  @see mx.validators.RegExpValidationResult
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Royale 0.9.3
+ *  @royalesuppresspublicvarwarning
+ */
+public class ValidationResultEvent extends Event
+{
+/*     include "../core/Version.as"; */
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+	
+	/**
+	 *  The <code>ValidationResultEvent.INVALID</code> constant defines the value of the 
+	 *  <code>type</code> property of the event object for an <code>invalid</code> event.
+	 *  The value of this constant is "invalid".
+	 *
+	 *  <p>The properties of the event object have the following values:</p>
+	 *  <table class="innertable">
+	 *     <tr><th>Property</th><th>Value</th></tr>
+     *     <tr><td><code>bubbles</code></td><td>false</td></tr>
+     *     <tr><td><code>cancelable</code></td><td>false</td></tr>
+     *     <tr><td><code>currentTarget</code></td><td>The Object that defines the 
+     *       event listener that handles the event. For example, if you use 
+     *       <code>myButton.addEventListener()</code> to register an event listener, 
+     *       myButton is the value of the <code>currentTarget</code>. </td></tr>
+     *     <tr><td><code>field</code></td><td>The name of the field that failed validation.</td></tr>
+     *     <tr><td><code>message</code></td><td>A single string that contains 
+     *       every error message from all of the ValidationResult objects in the results Array.</td></tr>
+     *     <tr><td><code>results</code></td><td>An array of ValidationResult objects, 
+     *       one per validated field.</td></tr>
+     *     <tr><td><code>target</code></td><td>The Object that dispatched the event; 
+     *       it is not always the Object listening for the event. 
+     *       Use the <code>currentTarget</code> property to always access the 
+     *       Object listening for the event.</td></tr>
+	 *  </table>
+	 *
+     *  @eventType invalid 
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public static const INVALID:String = "invalid";
+
+	/**
+	 *  The <code>ValidationResultEvent.VALID</code> constant defines the value of the 
+	 *  <code>type</code> property of the event object for a <code>valid</code>event.
+	 *  The value of this constant is "valid".
+	 *
+	 *  <p>The properties of the event object have the following values:</p>
+	 *  <table class="innertable">
+	 *     <tr><th>Property</th><th>Value</th></tr>
+     *     <tr><td><code>bubbles</code></td><td>false</td></tr>
+     *     <tr><td><code>cancelable</code></td><td>false</td></tr>
+     *     <tr><td><code>currentTarget</code></td><td>The Object that defines the 
+     *       event listener that handles the event. For example, if you use 
+     *       <code>myButton.addEventListener()</code> to register an event listener, 
+     *       myButton is the value of the <code>currentTarget</code>. </td></tr>
+     *     <tr><td><code>field</code></td><td>An empty String.</td></tr>
+     *     <tr><td><code>message</code></td><td>An empty String.</td></tr>
+     *     <tr><td><code>results</code></td><td>An empty Array.</td></tr>
+     *     <tr><td><code>target</code></td><td>The Object that dispatched the event; 
+     *       it is not always the Object listening for the event. 
+     *       Use the <code>currentTarget</code> property to always access the 
+     *       Object listening for the event.</td></tr>
+	 *  </table>
+	 *
+     *  @eventType valid 
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+	public static const VALID:String = "valid";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *
+	 *  @param type The event type; indicates the action that caused the event.
+	 *
+	 *  @param bubbles Specifies whether the event can bubble up the 
+	 *  display list hierarchy.
+	 *
+	 *  @param cancelable Specifies whether the behavior associated with the event can be prevented.
+	 *
+	 *  @param field The name of the field that failed validation and triggered the event.
+	 *
+	 *  @param results An array of ValidationResult objects, one per validated field. 
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+    public function ValidationResultEvent(type:String, bubbles:Boolean = false,
+										  cancelable:Boolean = false,
+										  field:String = null,
+										  results:Array = null)
+    {
+        super(type, bubbles, cancelable);
+
+        this.field = field;
+        this.results = results;
+    }
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+    //  field
+    //----------------------------------
+
+	/**
+	 *  The name of the field that failed validation and triggered the event.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+    public var field:String;
+	
+	//----------------------------------
+    //  message
+    //----------------------------------
+
+	/**
+	 *  A single string that contains every error message from all
+	 *  of the ValidationResult objects in the results Array.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+    public function get message():String
+    {
+        var msg:String = "";
+		var n:int;
+		
+		if (results)
+			n = results.length;
+		
+		for (var i:int = 0; i < n; ++i)
+        {
+			if (results[i].isError)
+			{
+	            msg += msg == "" ? "" : "\n";
+				msg += results[i].errorMessage;
+			}
+        }
+        
+		return msg;
+    }
+
+	//----------------------------------
+    //  results
+    //----------------------------------
+
+	/**
+	 *  An array of ValidationResult objects, one per validated field. 
+	 *
+	 *  @see mx.validators.ValidationResult
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Royale 0.9.3
+	 */
+    public var results:Array;
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden methods: Event
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	override public function cloneEvent():IRoyaleEvent
+	{
+		return new ValidationResultEvent(type, bubbles, cancelable,
+										 field, results);
+	}
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/external/ExternalInterface.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/external/ExternalInterface.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/external/ExternalInterface.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/external/ExternalInterface.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/CurrencyFormatter.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/CurrencyFormatter.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/formatters/CurrencyFormatter.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/CurrencyFormatter.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/DateBase.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/DateBase.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/formatters/DateBase.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/DateBase.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/DateFormatter.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/DateFormatter.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/formatters/DateFormatter.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/DateFormatter.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/Formatter.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/Formatter.as
similarity index 96%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/formatters/Formatter.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/Formatter.as
index fb56221..7077925 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/Formatter.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/Formatter.as
@@ -1,403 +1,403 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.formatters
-{
-
-import mx.formatters.IFormatter;
-import mx.core.mx_internal;
-//import mx.managers.ISystemManager;
-//import mx.managers.SystemManager;
-//import mx.resources.IResourceManager;
-//import mx.resources.ResourceManager;
-
-use namespace mx_internal;
-
-// [ResourceBundle("formatters")]
-
-/**
- *  The Formatter class is the base class for all data formatters.
- *  Any subclass of Formatter must override the <code>format()</code> method.
- *
- *  @mxml
- *
- *  <p>The Formatter class defines the following tag attributes,
- *  which all of its subclasses inherit:</p>
- *  
- *  <pre>
- *  &lt;mx:<i>tagname</i>
- *    <b>Properties</b>
- *    error=""
- *  /&gt;
- *  </pre>
- *  
- *  @includeExample examples/SimpleFormatterExample.mxml
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
-public class Formatter implements IFormatter 
-{
-    //include "../core/Version.as";
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class variables
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	//private static var initialized:Boolean = false;
-
-	/**
-	 *  @private
-	 *  Storage for the resourceManager getter.
-	 *  This gets initialized on first access,
-	 *  not at static initialization time, in order to ensure
-	 *  that the Singleton registry has already been initialized.
-	 */
-	//private static var _static_resourceManager:IResourceManager;
-	
-	/**
-	 *  @private
-     *  A reference to the object which manages
-     *  all of the application's localized resources.
-     *  This is a singleton instance which implements
-     *  the IResourceManager interface.
-	 */
-	/* private static function get static_resourceManager():IResourceManager
-	{
-		 if (!_static_resourceManager)
-			_static_resourceManager = ResourceManager.getInstance(); 
-
-		return _static_resourceManager; 
-	} */
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Class properties
-	//
-	//--------------------------------------------------------------------------
-		
-	//----------------------------------
-	//  defaultInvalidFormatError
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the defaultInvalidFormatError property.
-	 */
-	private static var _defaultInvalidFormatError:String
-	
-    /**
-	 *  @private
-	 */
-	private static var defaultInvalidFormatErrorOverride:String
-
-	/**
-	 *  Error message for an invalid format string specified to the formatter.
-	 *  The localeChain property of the ResourceManager is used to resolve
-	 *  the default error message. If it is unable to find a value, it will
-	 *  return <code>null</code>. This can happen if none of the locales
-	 *  specified in the localeChain are compiled into the application.
-	 * 
-	 *  @default "Invalid format"
-	 *
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public static function get defaultInvalidFormatError():String
-	{
-		// initialize();
-
-		return _defaultInvalidFormatError; 
-	}
-
-	/**
-	 *  @private
-	 */
-	public static function set defaultInvalidFormatError(value:String):void
-	{
-		defaultInvalidFormatErrorOverride = value;
-		
-		 _defaultInvalidFormatError = 
-			value != null ?
-			value : "Invalid format";
-			// static_resourceManager.getString(
-			// 	"formatters", "defaultInvalidFormatError"); 
-	}
-
-	//----------------------------------
-	//  defaultInvalidValueError
-	//----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the defaultInvalidValueError property.
-	 */
-	private static var _defaultInvalidValueError:String
-	
-    /**
-	 *  @private
-	 */
-	private static var defaultInvalidValueErrorOverride:String
-
-	/**
-	 *  Error messages for an invalid value specified to the formatter. The
-	 *  localeChain property of the ResourceManager is used to resolve the
-	 *  default error message. If it is unable to find a value, it will return
-	 *  <code>null</code>. This can happen if none of the locales specified in
-	 *  the localeChain are compiled into the application.
-	 * 
-	 *  @default "Invalid value"
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public static function get defaultInvalidValueError():String
-	{
-		// initialize();
-
-		return _defaultInvalidValueError; 
-	}
-
-	/**
-	 *  @private
-	 */
-	public static function set defaultInvalidValueError(value:String):void
-	{
-		defaultInvalidValueErrorOverride = value;
-
-		 _defaultInvalidValueError =
-			value != null ?
-			value : "Invalid value";
-			// static_resourceManager.getString(
-			// 	"formatters", "defaultInvalidValueError"); 
-	}
-	
-	//--------------------------------------------------------------------------
-	//
-	//  Class methods
-	//
-	//--------------------------------------------------------------------------
-
-    /**
-	 *  @private    
-     */
-	/* private static function initialize():void
-	{
-		 if (!initialized)
-		{ */ 
-			// Register as a weak listener for "change" events
-			// from ResourceManager.
-			/* static_resourceManager.addEventListener(
-				Event.CHANGE, static_resourceManager_changeHandler,
-				false, 0, true);
-
-			static_resourcesChanged();
-
-			initialized = true;
-		} 
-	} */
-
-    /**
-	 *  @private    
-     */
-	/* private static function static_resourcesChanged():void
-	{
-		 defaultInvalidFormatError = defaultInvalidFormatErrorOverride;
-		defaultInvalidValueError = defaultInvalidValueErrorOverride; 
-	} */
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class event handlers
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	/* private static function static_resourceManager_changeHandler(
-								event:Event):void
-	{
-		static_resourcesChanged();
-	} */
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Constructor.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function Formatter()
-	{
-		super();
-
-		// Register as a weak listener for "change" events from ResourceManager.
-		// If Formatters registered as a strong listener,
-		// they wouldn't get garbage collected.
-		/* resourceManager.addEventListener(
-			Event.CHANGE, resourceManager_changeHandler, false, 0, true);
-
-		resourcesChanged(); */
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  error
-	//----------------------------------
-
-   // [Inspectable(category="General", defaultValue="null")]
-
-	/**
-	 *  Description saved by the formatter when an error occurs.
-	 *  For the possible values of this property,
-	 *  see the description of each formatter.
-	 *  <p>Subclasses must set this value
-	 *  in the <code>format()</code> method.</p>
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-     * 
-     *  @royalesuppresspublicvarwarning
-	 */
-	public var error:String;
-
-    //----------------------------------
-    //  resourceManager
-    //----------------------------------
-    
-    /**
-	 *  @private
-	 *  Storage for the resourceManager property.
-	 */
-	//private var _resourceManager:IResourceManager = ResourceManager.getInstance();
-    
-	/**
-	 *  @private
-	 *  This metadata suppresses a trace() in PropertyWatcher:
-	 *  "warning: unable to bind to property 'resourceManager' ..."
-	 */
-	//[Bindable("unused")]
-	
-	/**
-	 *  @copy mx.core.UIComponent#resourceManager
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	/* protected function get resourceManager():IResourceManager
-    {
-    	return _resourceManager;
-    }
-     */
-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  This method is called when a Formatter is constructed,
-	 *  and again whenever the ResourceManager dispatches
-	 *  a <code>"change"</code> Event to indicate
-	 *  that the localized resources have changed in some way.
-	 * 
-	 *  <p>This event will be dispatched when you set the ResourceManager's
-	 *  <code>localeChain</code> property, when a resource module
-	 *  has finished loading, and when you call the ResourceManager's
-	 *  <code>update()</code> method.</p>
-	 *
-	 *  <p>Subclasses should override this method and, after calling
-	 *  <code>super.resourcesChanged()</code>, do whatever is appropriate
-	 *  in response to having new resource values.</p>
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	/* protected function resourcesChanged():void
-	{
-	} */
-
-	/**
-	 *  Formats a value and returns a String
-	 *  containing the new, formatted, value.
-	 *  All subclasses must override this method to implement the formatter.
-	 *
-	 *  @param value Value to be formatted.
-	 *
-	 *  @return The formatted string.
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function format(value:Object):String
-	{
-		/* error = "This format function is abstract. " +
-			    "Subclasses must override it."; */
-
-	    return "";
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Event handlers
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	/* private function resourceManager_changeHandler(event:Event):void
-	{
-		resourcesChanged();
-	} */
-}
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.formatters
+{
+
+import mx.formatters.IFormatter;
+import mx.core.mx_internal;
+//import mx.managers.ISystemManager;
+//import mx.managers.SystemManager;
+//import mx.resources.IResourceManager;
+//import mx.resources.ResourceManager;
+
+use namespace mx_internal;
+
+// [ResourceBundle("formatters")]
+
+/**
+ *  The Formatter class is the base class for all data formatters.
+ *  Any subclass of Formatter must override the <code>format()</code> method.
+ *
+ *  @mxml
+ *
+ *  <p>The Formatter class defines the following tag attributes,
+ *  which all of its subclasses inherit:</p>
+ *  
+ *  <pre>
+ *  &lt;mx:<i>tagname</i>
+ *    <b>Properties</b>
+ *    error=""
+ *  /&gt;
+ *  </pre>
+ *  
+ *  @includeExample examples/SimpleFormatterExample.mxml
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class Formatter implements IFormatter 
+{
+    //include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class variables
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	//private static var initialized:Boolean = false;
+
+	/**
+	 *  @private
+	 *  Storage for the resourceManager getter.
+	 *  This gets initialized on first access,
+	 *  not at static initialization time, in order to ensure
+	 *  that the Singleton registry has already been initialized.
+	 */
+	//private static var _static_resourceManager:IResourceManager;
+	
+	/**
+	 *  @private
+     *  A reference to the object which manages
+     *  all of the application's localized resources.
+     *  This is a singleton instance which implements
+     *  the IResourceManager interface.
+	 */
+	/* private static function get static_resourceManager():IResourceManager
+	{
+		 if (!_static_resourceManager)
+			_static_resourceManager = ResourceManager.getInstance(); 
+
+		return _static_resourceManager; 
+	} */
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Class properties
+	//
+	//--------------------------------------------------------------------------
+		
+	//----------------------------------
+	//  defaultInvalidFormatError
+	//----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the defaultInvalidFormatError property.
+	 */
+	private static var _defaultInvalidFormatError:String
+	
+    /**
+	 *  @private
+	 */
+	private static var defaultInvalidFormatErrorOverride:String
+
+	/**
+	 *  Error message for an invalid format string specified to the formatter.
+	 *  The localeChain property of the ResourceManager is used to resolve
+	 *  the default error message. If it is unable to find a value, it will
+	 *  return <code>null</code>. This can happen if none of the locales
+	 *  specified in the localeChain are compiled into the application.
+	 * 
+	 *  @default "Invalid format"
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static function get defaultInvalidFormatError():String
+	{
+		// initialize();
+
+		return _defaultInvalidFormatError; 
+	}
+
+	/**
+	 *  @private
+	 */
+	public static function set defaultInvalidFormatError(value:String):void
+	{
+		defaultInvalidFormatErrorOverride = value;
+		
+		 _defaultInvalidFormatError = 
+			value != null ?
+			value : "Invalid format";
+			// static_resourceManager.getString(
+			// 	"formatters", "defaultInvalidFormatError"); 
+	}
+
+	//----------------------------------
+	//  defaultInvalidValueError
+	//----------------------------------
+
+    /**
+	 *  @private
+	 *  Storage for the defaultInvalidValueError property.
+	 */
+	private static var _defaultInvalidValueError:String
+	
+    /**
+	 *  @private
+	 */
+	private static var defaultInvalidValueErrorOverride:String
+
+	/**
+	 *  Error messages for an invalid value specified to the formatter. The
+	 *  localeChain property of the ResourceManager is used to resolve the
+	 *  default error message. If it is unable to find a value, it will return
+	 *  <code>null</code>. This can happen if none of the locales specified in
+	 *  the localeChain are compiled into the application.
+	 * 
+	 *  @default "Invalid value"
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static function get defaultInvalidValueError():String
+	{
+		// initialize();
+
+		return _defaultInvalidValueError; 
+	}
+
+	/**
+	 *  @private
+	 */
+	public static function set defaultInvalidValueError(value:String):void
+	{
+		defaultInvalidValueErrorOverride = value;
+
+		 _defaultInvalidValueError =
+			value != null ?
+			value : "Invalid value";
+			// static_resourceManager.getString(
+			// 	"formatters", "defaultInvalidValueError"); 
+	}
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+	 *  @private    
+     */
+	/* private static function initialize():void
+	{
+		 if (!initialized)
+		{ */ 
+			// Register as a weak listener for "change" events
+			// from ResourceManager.
+			/* static_resourceManager.addEventListener(
+				Event.CHANGE, static_resourceManager_changeHandler,
+				false, 0, true);
+
+			static_resourcesChanged();
+
+			initialized = true;
+		} 
+	} */
+
+    /**
+	 *  @private    
+     */
+	/* private static function static_resourcesChanged():void
+	{
+		 defaultInvalidFormatError = defaultInvalidFormatErrorOverride;
+		defaultInvalidValueError = defaultInvalidValueErrorOverride; 
+	} */
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class event handlers
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	/* private static function static_resourceManager_changeHandler(
+								event:Event):void
+	{
+		static_resourcesChanged();
+	} */
+
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Constructor.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function Formatter()
+	{
+		super();
+
+		// Register as a weak listener for "change" events from ResourceManager.
+		// If Formatters registered as a strong listener,
+		// they wouldn't get garbage collected.
+		/* resourceManager.addEventListener(
+			Event.CHANGE, resourceManager_changeHandler, false, 0, true);
+
+		resourcesChanged(); */
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+
+	//----------------------------------
+	//  error
+	//----------------------------------
+
+   // [Inspectable(category="General", defaultValue="null")]
+
+	/**
+	 *  Description saved by the formatter when an error occurs.
+	 *  For the possible values of this property,
+	 *  see the description of each formatter.
+	 *  <p>Subclasses must set this value
+	 *  in the <code>format()</code> method.</p>
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+     * 
+     *  @royalesuppresspublicvarwarning
+	 */
+	public var error:String;
+
+    //----------------------------------
+    //  resourceManager
+    //----------------------------------
+    
+    /**
+	 *  @private
+	 *  Storage for the resourceManager property.
+	 */
+	//private var _resourceManager:IResourceManager = ResourceManager.getInstance();
+    
+	/**
+	 *  @private
+	 *  This metadata suppresses a trace() in PropertyWatcher:
+	 *  "warning: unable to bind to property 'resourceManager' ..."
+	 */
+	//[Bindable("unused")]
+	
+	/**
+	 *  @copy mx.core.UIComponent#resourceManager
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	/* protected function get resourceManager():IResourceManager
+    {
+    	return _resourceManager;
+    }
+     */
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  This method is called when a Formatter is constructed,
+	 *  and again whenever the ResourceManager dispatches
+	 *  a <code>"change"</code> Event to indicate
+	 *  that the localized resources have changed in some way.
+	 * 
+	 *  <p>This event will be dispatched when you set the ResourceManager's
+	 *  <code>localeChain</code> property, when a resource module
+	 *  has finished loading, and when you call the ResourceManager's
+	 *  <code>update()</code> method.</p>
+	 *
+	 *  <p>Subclasses should override this method and, after calling
+	 *  <code>super.resourcesChanged()</code>, do whatever is appropriate
+	 *  in response to having new resource values.</p>
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	/* protected function resourcesChanged():void
+	{
+	} */
+
+	/**
+	 *  Formats a value and returns a String
+	 *  containing the new, formatted, value.
+	 *  All subclasses must override this method to implement the formatter.
+	 *
+	 *  @param value Value to be formatted.
+	 *
+	 *  @return The formatted string.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function format(value:Object):String
+	{
+		/* error = "This format function is abstract. " +
+			    "Subclasses must override it."; */
+
+	    return "";
+	}
+
+	//--------------------------------------------------------------------------
+	//
+	//  Event handlers
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 */
+	/* private function resourceManager_changeHandler(event:Event):void
+	{
+		resourcesChanged();
+	} */
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/IFormatter.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/IFormatter.as
similarity index 97%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/formatters/IFormatter.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/IFormatter.as
index b4a864d..ef0d05d 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/IFormatter.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/IFormatter.as
@@ -1,58 +1,58 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.formatters
-{
-
-/**
- *  This interface specifies the method that a formatter object must implement
- *  to allow it to be used as the formatter property for UI controls such as
- *  the <code>AdvancedDataGridColumn</code>.
- *
- *  @see mx.controls.advancedDataGridClasses#formatter
- *
- *  @langversion 3.0
- *  @playerversion Flash 10.1
- *  @playerversion AIR 2.5
- *  @productversion Flex 4.5
-*/
-public interface IFormatter
-{
-    //--------------------------------------------------------------------------
-    //
-    //  Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Formats a value and returns a <code>String</code>
-     *  containing the new formatted value.
-     *
-     *  @param value Value to be formatted.
-     *
-     *  @return The formatted string.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10.1
-     *  @playerversion AIR 2.5
-     *  @productversion Flex 4.5
-     */
-    function format(value:Object):String;
-}
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.formatters
+{
+
+/**
+ *  This interface specifies the method that a formatter object must implement
+ *  to allow it to be used as the formatter property for UI controls such as
+ *  the <code>AdvancedDataGridColumn</code>.
+ *
+ *  @see mx.controls.advancedDataGridClasses#formatter
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10.1
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
+*/
+public interface IFormatter
+{
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Formats a value and returns a <code>String</code>
+     *  containing the new formatted value.
+     *
+     *  @param value Value to be formatted.
+     *
+     *  @return The formatted string.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
+    function format(value:Object):String;
+}
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/NumberBase.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/NumberBase.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/formatters/NumberBase.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/NumberBase.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/NumberBaseRoundType.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/NumberBaseRoundType.as
similarity index 100%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/formatters/NumberBaseRoundType.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/NumberBaseRoundType.as
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/NumberFormatter.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/NumberFormatter.as
similarity index 97%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/formatters/NumberFormatter.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/NumberFormatter.as
index 9f5bf23..2eda7c6 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/NumberFormatter.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/NumberFormatter.as
@@ -1,643 +1,643 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.formatters
-{
-
-    //import mx.managers.ISystemManager;
-    //import mx.managers.SystemManager;
-
-    //[ResourceBundle("formatters")]
-    //[ResourceBundle("SharedResources")]
-
-    [Alternative(replacement="spark.formatters.NumberFormatter", since="4.5")]
-    /**
-     *  The NumberFormatter class formats a valid number
-     *  by adjusting the decimal rounding and precision,
-     *  the thousands separator, and the negative sign.
-     *
-     *  <p>If you use both the <code>rounding</code> and <code>precision</code>
-     *  properties, rounding is applied first, and then you set the decimal length
-     *  by using the specified <code>precision</code> value.
-     *  This lets you round a number and still have a trailing decimal;
-     *  for example, 303.99 = 304.00.</p>
-     *
-     *  <p>If an error occurs, an empty String is returned and a String
-     *  describing  the error is saved to the <code>error</code> property.
-     *  The <code>error</code>  property can have one of the following values:</p>
-     *
-     *  <ul>
-     *    <li><code>"Invalid value"</code> means an invalid numeric value is passed to
-     *    the <code>format()</code> method. The value should be a valid number in the
-     *    form of a Number or a String.</li>
-     *    <li><code>"Invalid format"</code> means one of the parameters
-     *    contain an unusable setting.</li>
-     *  </ul>
-     *
-     *  @mxml
-     *
-     *  <p>The <code>&lt;mx:NumberFormatter&gt;</code> tag
-     *  inherits all of the tag attributes of its superclass,
-     *  and adds the following tag attributes:</p>
-     *
-     *  <pre>
-     *  &lt;mx:NumberFormatter
-     *    decimalSeparatorFrom="."
-     *    decimalSeparatorTo="."
-     *    precision="-1"
-     *    rounding="none|up|down|nearest"
-     *    thousandsSeparatorFrom=","
-     *    thousandsSeparatorTo=","
-     *    useNegativeSign="true|false"
-     *    useThousandsSeparator="true|false"/>
-     *  </pre>
-     *
-     *  @includeExample examples/NumberFormatterExample.mxml
-     *
-     *  @see mx.formatters.NumberBase
-     *  @see mx.formatters.NumberBaseRoundType
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Royale 0.9.3
-     */
-    public class NumberFormatter extends Formatter
-    {
-       // include "../core/Version.as";
-
-        //--------------------------------------------------------------------------
-        //
-        //  Constructor
-        //
-        //--------------------------------------------------------------------------
-
-        /**
-         *  Constructor.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Royale 0.9.3
-         */
-        public function NumberFormatter()
-        {
-            super();
-        }
-
-        //--------------------------------------------------------------------------
-        //
-        //  Properties
-        //
-        //--------------------------------------------------------------------------
-
-        //----------------------------------
-        //  decimalSeparatorFrom
-        //----------------------------------
-
-        /**
-         *  @private
-         *  Storage for the decimalSeparatorFrom property.
-         */
-        private var _decimalSeparatorFrom:String = ".";
-
-        /**
-         *  @private
-         */
-        //private var decimalSeparatorFromOverride:String;
-
-        [Inspectable(category="General", defaultValue=".")]
-
-        /**
-         *  Decimal separator character to use
-         *  when parsing an input String.
-         *
-         *  <p>When setting this property, ensure that the value of the
-         *  <code>thousandsSeparatorFrom</code> property does not equal this property.
-         *  Otherwise, an error occurs when formatting the value.</p>
-         *
-         *  @default "."
-         *
-         *  @see #format()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Royale 0.9.3
-         */
-        public function get decimalSeparatorFrom():String
-        {
-            return _decimalSeparatorFrom;
-        }
-
-        /**
-         *  @private
-         */
-        public function set decimalSeparatorFrom(value:String):void
-        {
-            //decimalSeparatorFromOverride = value;
-
-            _decimalSeparatorFrom = value != null ?
-                                    value : value
-                                   /* resourceManager.getString(
-                                        "SharedResources", "decimalSeparatorFrom") */;
-        }
-
-        //----------------------------------
-        //  decimalSeparatorTo
-        //----------------------------------
-
-        /**
-         *  @private
-         *  Storage for the decimalSeparatorTo property.
-         */
-        private var _decimalSeparatorTo:String = ".";
-
-        /**
-         *  @private
-         */
-        //private var decimalSeparatorToOverride:String;
-
-        [Inspectable(category="General", defaultValue=".")]
-
-        /**
-         *  Decimal separator character to use
-         *  when outputting formatted decimal numbers.
-         *
-         *  <p>When setting this property, ensure that the value of the
-         *  <code>thousandsSeparatorTo</code> property does not equal this property.
-         *  Otherwise, an error occurs when formatting the value.</p>
-         *
-         *  @default "."
-         *
-         *  @see #format()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Royale 0.9.3
-         */
-        public function get decimalSeparatorTo():String
-        {
-            return _decimalSeparatorTo;
-        }
-
-        /**
-         *  @private
-         */
-        public function set decimalSeparatorTo(value:String):void
-        {
-            //decimalSeparatorToOverride = value;
-
-            _decimalSeparatorTo = value != null ?
-                                  value : value
-                                 /* resourceManager.getString(
-                                    "SharedResources", "decimalSeparatorTo") */ ;
-        }
-
-        //----------------------------------
-        //  precision
-        //----------------------------------
-
-        /**
-         *  @private
-         *  Storage for the precision property.
-         */
-        private var _precision:Object = -1;
-
-        /**
-         *  @private
-         */
-        //private var precisionOverride:Object;
-
-        [Inspectable(category="General", defaultValue="-1")]
-
-        /**
-         *  Number of decimal places to include in the output String.
-         *  You can disable precision by setting it to <code>-1</code>.
-         *  A value of <code>-1</code> means do not change the precision. For example,
-         *  if the input value is 1.453 and <code>rounding</code>
-         *  is set to <code>NumberBaseRoundType.NONE</code>, return a value of 1.453.
-         *  If <code>precision</code> is <code>-1</code> and you have set some form of
-         *  rounding, return a value based on that rounding type.
-         *
-         *  @default -1
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Royale 0.9.3
-         */
-        public function get precision():Object
-        {
-            return _precision;
-        }
-
-        /**
-         *  @private
-         */
-        public function set precision(value:Object):void
-        {
-            //precisionOverride = value;
-
-            _precision = value != null ?
-                         int(value) : int(value)
-                        /* resourceManager.getInt(
-                             "formatters", "numberFormatterPrecision") */ ;
-        }
-
-        //----------------------------------
-        //  rounding
-        //----------------------------------
-
-        /**
-         *  @private
-         *  Storage for the rounding property.
-         */
-        private var _rounding:String = "none";
-
-        /**
-         *  @private
-         */
-        //private var roundingOverride:String;
-
-        [Inspectable(category="General", enumeration="none,up,down,nearest", defaultValue="none")]
-            // !!@ Should enumeration include null?
-
-        /**
-         *  Specifies how to round the number.
-         *
-         *  <p>In ActionScript, you can use the following constants to set this property:
-         *  <code>NumberBaseRoundType.NONE</code>, <code>NumberBaseRoundType.UP</code>,
-         *  <code>NumberBaseRoundType.DOWN</code>, or <code>NumberBaseRoundType.NEAREST</code>.
-         *  Valid MXML values are "down", "nearest", "up", and "none".</p>
-         *
-         *  @default NumberBaseRoundType.NONE
-         *
-         *  @see mx.formatters.NumberBaseRoundType
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Royale 0.9.3
-         */
-        public function get rounding():String
-        {
-            return _rounding;
-        }
-
-        /**
-         *  @private
-         */
-        public function set rounding(value:String):void
-        {
-            //roundingOverride = value;
-
-            _rounding = value != null ?
-                        value : value
-                       /* resourceManager.getString(
-                            "formatters", "rounding") */ ;
-        }
-
-        //----------------------------------
-        //  thousandsSeparatorFrom
-        //----------------------------------
-
-        /**
-         *  @private
-         *  Storage for the thousandsSeparatorFrom property.
-         */
-        private var _thousandsSeparatorFrom:String = ",";
-
-        /**
-         *  @private
-         */
-        //private var thousandsSeparatorFromOverride:String;
-
-        [Inspectable(category="General", defaultValue=",")]
-
-        /**
-         *  Character to use as the thousands separator
-         *  in the input String.
-         *
-         *  <p>When setting this property, ensure that the value of the
-         *  <code>decimalSeparatorFrom</code> property does not equal this property.
-         *  Otherwise, an error occurs when formatting the value.</p>
-         *
-         *  @default ","
-         *
-         *  @see #format()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Royale 0.9.3
-         */
-        public function get thousandsSeparatorFrom():String
-        {
-            return _thousandsSeparatorFrom;
-        }
-
-        /**
-         *  @private
-         */
-        public function set thousandsSeparatorFrom(value:String):void
-        {
-            //thousandsSeparatorFromOverride = value;
-
-            _thousandsSeparatorFrom = value != null ?
-                                      value : value
-                                     /* resourceManager.getString(
-                                          "SharedResources",
-                                          "thousandsSeparatorFrom"); */
-        }
-
-        //----------------------------------
-        //  thousandsSeparatorTo
-        //----------------------------------
-
-        /**
-         *  @private
-         *  Storage for the thousandsSeparatorTo property.
-         */
-        private var _thousandsSeparatorTo:String = ",";
-
-        /**
-         *  @private
-         */
-        //private var thousandsSeparatorToOverride:String;
-
-        [Inspectable(category="General", defaultValue=",")]
-
-        /**
-         *  Character to use as the thousands separator
-         *  in the output String.
-         *
-         *  <p>When setting this property, ensure that the value of the
-         *  <code>decimalSeparatorTo</code> property does not equal this property.
-         *  Otherwise, an error occurs when formatting the value.</p>
-         *
-         *  @default ","
-         *
-         *  @see #format()
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Royale 0.9.3
-         */
-        public function get thousandsSeparatorTo():String
-        {
-            return _thousandsSeparatorTo;
-        }
-
-        /**
-         *  @private
-         */
-        public function set thousandsSeparatorTo(value:String):void
-        {
-            //thousandsSeparatorToOverride = value;
-
-            _thousandsSeparatorTo = value != null ?
-                                    value : value
-                                  /*  resourceManager.getString(
-                                        "SharedResources",
-                                        "thousandsSeparatorTo") */ ;
-        }
-
-        //----------------------------------
-        //  useNegativeSign
-        //----------------------------------
-
-        /**
-         *  @private
-         *  Storage for the useNegativeSign property.
-         */
-        private var _useNegativeSign:Object = true;
-
-        /**
-         *  @private
-         */
-        //private var useNegativeSignOverride:Object;
-
-        [Inspectable(category="General", defaultValue="true")]
-
-        /**
-         *  If <code>true</code>, format a negative number
-         *  by preceding it with a minus "-" sign.
-         *  If <code>false</code>, format the number
-         *  surrounded by parentheses, for example (400).
-         *
-         *  @default true
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Royale 0.9.3
-         */
-        public function get useNegativeSign():Object
-        {
-            return _useNegativeSign;
-        }
-
-        /**
-         *  @private
-         */
-        public function set useNegativeSign(value:Object):void
-        {
-            //useNegativeSignOverride = value;
-
-            _useNegativeSign = value != null ?
-                               Boolean(value) : Boolean(value)
-                            /*   resourceManager.getBoolean(
-                                   "formatters", "useNegativeSignInNumber") */ ;
-        }
-
-        //----------------------------------
-        //  useThousandsSeparator
-        //----------------------------------
-
-        /**
-         *  @private
-         *  Storage for the useThousandsSeparator property.
-         */
-        private var _useThousandsSeparator:Object = true;
-
-        /**
-         *  @private
-         */
-        //private var useThousandsSeparatorOverride:Object;
-
-        [Inspectable(category="General", defaultValue="true")]
-
-        /**
-         *  If <code>true</code>, split the number into thousands increments
-         *  by using a separator character.
-         *
-         *  @default true
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Royale 0.9.3
-         */
-        public function get useThousandsSeparator():Object
-        {
-            return _useThousandsSeparator;
-        }
-
-        /**
-         *  @private
-         */
-        public function set useThousandsSeparator(value:Object):void
-        {
-            //useThousandsSeparatorOverride = value;
-
-            _useThousandsSeparator = value != null ?
-                                     Boolean(value) : Boolean(value)
-                                 /*     resourceManager.getBoolean(
-                                         "formatters", "useThousandsSeparator") */ ;
-        }
-
-        //--------------------------------------------------------------------------
-        //
-        //  Overridden methods
-        //
-        //--------------------------------------------------------------------------
-        /**
-         *  Formats the number as a String.
-         *  If <code>value</code> cannot be formatted, return an empty String
-         *  and write a description of the error to the <code>error</code> property.
-         *
-         *  @param value Value to format.
-         *
-         *  @return Formatted String. Empty if an error occurs.
-         *
-         *  @langversion 3.0
-         *  @playerversion Flash 9
-         *  @playerversion AIR 1.1
-         *  @productversion Royale 0.9.3
-         */
-        override public function format(value:Object):String
-        {
-            // Reset any previous errors.
-            //if (error)
-            //    error = null;
-
-            if (useThousandsSeparator &&
-                ((decimalSeparatorFrom == thousandsSeparatorFrom) ||
-                 (decimalSeparatorTo == thousandsSeparatorTo)))
-            {
-                //error = defaultInvalidFormatError;
-                return "";
-            }
-
-            if (decimalSeparatorTo == "" || !isNaN(Number(decimalSeparatorTo)))
-            {
-                //error = defaultInvalidFormatError;
-                return "";
-            }
-
-            var dataFormatter:NumberBase = new NumberBase(decimalSeparatorFrom,
-                                                          thousandsSeparatorFrom,
-                                                          decimalSeparatorTo,
-                                                          thousandsSeparatorTo);
-
-            // -- value --
-
-            if (value is String)
-                value = dataFormatter.parseNumberString(String(value));
-
-            if (value === null || isNaN(Number(value)))
-            {
-                //error = defaultInvalidValueError;
-                return "";
-            }
-
-            // -- format --
-
-            var isNegative:Boolean = (Number(value) < 0);
-
-            var numStr:String = value.toString();
-
-            numStr = numStr.toLowerCase();
-            var e:int = numStr.indexOf("e");
-            if (e != -1)  //deal with exponents
-                numStr = dataFormatter.expandExponents(numStr);
-
-            var numArrTemp:Array = numStr.split(".");
-            var numFraction:int = numArrTemp[1] ? String(numArrTemp[1]).length : 0;
-
-            if (precision < numFraction)
-            {
-                if (rounding != NumberBaseRoundType.NONE)
-                {
-                    numStr = dataFormatter.formatRoundingWithPrecision(
-                        numStr, rounding, int(precision));
-                }
-            }
-
-            var numValue:Number = Number(numStr);
-            if (Math.abs(numValue) >= 1)
-            {
-                numArrTemp = numStr.split(".");
-                var front:String = useThousandsSeparator ?
-                                   dataFormatter.formatThousands(String(numArrTemp[0])) :
-                                   String(numArrTemp[0]);
-                if (numArrTemp[1] != null && numArrTemp[1] != "")
-                    numStr = front + decimalSeparatorTo + numArrTemp[1];
-                else
-                    numStr = front;
-            }
-            else if (Math.abs(numValue) > 0)
-            {
-                // Check if the string is in scientific notation
-                numStr = numStr.toLowerCase();
-                if (numStr.indexOf("e") != -1)
-                {
-                    var temp:Number = Math.abs(numValue) + 1;
-                    numStr = temp.toString();
-                }
-                numStr = decimalSeparatorTo +
-                         numStr.substring(numStr.indexOf(".") + 1);
-            }
-
-            numStr = dataFormatter.formatPrecision(numStr, int(precision));
-
-            // If our value is 0, then don't show -0
-            if (Number(numStr) == 0)
-            {
-                isNegative = false;
-            }
-
-            if (isNegative)
-                numStr = dataFormatter.formatNegative(numStr, useNegativeSign);
-
-            if (!dataFormatter.isValid)
-            {
-                error = defaultInvalidFormatError;
-                return "";
-            }
-
-            return numStr;
-        }
-
-    }
-
-}
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.formatters
+{
+
+    //import mx.managers.ISystemManager;
+    //import mx.managers.SystemManager;
+
+    //[ResourceBundle("formatters")]
+    //[ResourceBundle("SharedResources")]
+
+    [Alternative(replacement="spark.formatters.NumberFormatter", since="4.5")]
+    /**
+     *  The NumberFormatter class formats a valid number
+     *  by adjusting the decimal rounding and precision,
+     *  the thousands separator, and the negative sign.
+     *
+     *  <p>If you use both the <code>rounding</code> and <code>precision</code>
+     *  properties, rounding is applied first, and then you set the decimal length
+     *  by using the specified <code>precision</code> value.
+     *  This lets you round a number and still have a trailing decimal;
+     *  for example, 303.99 = 304.00.</p>
+     *
+     *  <p>If an error occurs, an empty String is returned and a String
+     *  describing  the error is saved to the <code>error</code> property.
+     *  The <code>error</code>  property can have one of the following values:</p>
+     *
+     *  <ul>
+     *    <li><code>"Invalid value"</code> means an invalid numeric value is passed to
+     *    the <code>format()</code> method. The value should be a valid number in the
+     *    form of a Number or a String.</li>
+     *    <li><code>"Invalid format"</code> means one of the parameters
+     *    contain an unusable setting.</li>
+     *  </ul>
+     *
+     *  @mxml
+     *
+     *  <p>The <code>&lt;mx:NumberFormatter&gt;</code> tag
+     *  inherits all of the tag attributes of its superclass,
+     *  and adds the following tag attributes:</p>
+     *
+     *  <pre>
+     *  &lt;mx:NumberFormatter
+     *    decimalSeparatorFrom="."
+     *    decimalSeparatorTo="."
+     *    precision="-1"
+     *    rounding="none|up|down|nearest"
+     *    thousandsSeparatorFrom=","
+     *    thousandsSeparatorTo=","
+     *    useNegativeSign="true|false"
+     *    useThousandsSeparator="true|false"/>
+     *  </pre>
+     *
+     *  @includeExample examples/NumberFormatterExample.mxml
+     *
+     *  @see mx.formatters.NumberBase
+     *  @see mx.formatters.NumberBaseRoundType
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Royale 0.9.3
+     */
+    public class NumberFormatter extends Formatter
+    {
+       // include "../core/Version.as";
+
+        //--------------------------------------------------------------------------
+        //
+        //  Constructor
+        //
+        //--------------------------------------------------------------------------
+
+        /**
+         *  Constructor.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Royale 0.9.3
+         */
+        public function NumberFormatter()
+        {
+            super();
+        }
+
+        //--------------------------------------------------------------------------
+        //
+        //  Properties
+        //
+        //--------------------------------------------------------------------------
+
+        //----------------------------------
+        //  decimalSeparatorFrom
+        //----------------------------------
+
+        /**
+         *  @private
+         *  Storage for the decimalSeparatorFrom property.
+         */
+        private var _decimalSeparatorFrom:String = ".";
+
+        /**
+         *  @private
+         */
+        //private var decimalSeparatorFromOverride:String;
+
+        [Inspectable(category="General", defaultValue=".")]
+
+        /**
+         *  Decimal separator character to use
+         *  when parsing an input String.
+         *
+         *  <p>When setting this property, ensure that the value of the
+         *  <code>thousandsSeparatorFrom</code> property does not equal this property.
+         *  Otherwise, an error occurs when formatting the value.</p>
+         *
+         *  @default "."
+         *
+         *  @see #format()
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Royale 0.9.3
+         */
+        public function get decimalSeparatorFrom():String
+        {
+            return _decimalSeparatorFrom;
+        }
+
+        /**
+         *  @private
+         */
+        public function set decimalSeparatorFrom(value:String):void
+        {
+            //decimalSeparatorFromOverride = value;
+
+            _decimalSeparatorFrom = value != null ?
+                                    value : value
+                                   /* resourceManager.getString(
+                                        "SharedResources", "decimalSeparatorFrom") */;
+        }
+
+        //----------------------------------
+        //  decimalSeparatorTo
+        //----------------------------------
+
+        /**
+         *  @private
+         *  Storage for the decimalSeparatorTo property.
+         */
+        private var _decimalSeparatorTo:String = ".";
+
+        /**
+         *  @private
+         */
+        //private var decimalSeparatorToOverride:String;
+
+        [Inspectable(category="General", defaultValue=".")]
+
+        /**
+         *  Decimal separator character to use
+         *  when outputting formatted decimal numbers.
+         *
+         *  <p>When setting this property, ensure that the value of the
+         *  <code>thousandsSeparatorTo</code> property does not equal this property.
+         *  Otherwise, an error occurs when formatting the value.</p>
+         *
+         *  @default "."
+         *
+         *  @see #format()
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Royale 0.9.3
+         */
+        public function get decimalSeparatorTo():String
+        {
+            return _decimalSeparatorTo;
+        }
+
+        /**
+         *  @private
+         */
+        public function set decimalSeparatorTo(value:String):void
+        {
+            //decimalSeparatorToOverride = value;
+
+            _decimalSeparatorTo = value != null ?
+                                  value : value
+                                 /* resourceManager.getString(
+                                    "SharedResources", "decimalSeparatorTo") */ ;
+        }
+
+        //----------------------------------
+        //  precision
+        //----------------------------------
+
+        /**
+         *  @private
+         *  Storage for the precision property.
+         */
+        private var _precision:Object = -1;
+
+        /**
+         *  @private
+         */
+        //private var precisionOverride:Object;
+
+        [Inspectable(category="General", defaultValue="-1")]
+
+        /**
+         *  Number of decimal places to include in the output String.
+         *  You can disable precision by setting it to <code>-1</code>.
+         *  A value of <code>-1</code> means do not change the precision. For example,
+         *  if the input value is 1.453 and <code>rounding</code>
+         *  is set to <code>NumberBaseRoundType.NONE</code>, return a value of 1.453.
+         *  If <code>precision</code> is <code>-1</code> and you have set some form of
+         *  rounding, return a value based on that rounding type.
+         *
+         *  @default -1
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Royale 0.9.3
+         */
+        public function get precision():Object
+        {
+            return _precision;
+        }
+
+        /**
+         *  @private
+         */
+        public function set precision(value:Object):void
+        {
+            //precisionOverride = value;
+
+            _precision = value != null ?
+                         int(value) : int(value)
+                        /* resourceManager.getInt(
+                             "formatters", "numberFormatterPrecision") */ ;
+        }
+
+        //----------------------------------
+        //  rounding
+        //----------------------------------
+
+        /**
+         *  @private
+         *  Storage for the rounding property.
+         */
+        private var _rounding:String = "none";
+
+        /**
+         *  @private
+         */
+        //private var roundingOverride:String;
+
+        [Inspectable(category="General", enumeration="none,up,down,nearest", defaultValue="none")]
+            // !!@ Should enumeration include null?
+
+        /**
+         *  Specifies how to round the number.
+         *
+         *  <p>In ActionScript, you can use the following constants to set this property:
+         *  <code>NumberBaseRoundType.NONE</code>, <code>NumberBaseRoundType.UP</code>,
+         *  <code>NumberBaseRoundType.DOWN</code>, or <code>NumberBaseRoundType.NEAREST</code>.
+         *  Valid MXML values are "down", "nearest", "up", and "none".</p>
+         *
+         *  @default NumberBaseRoundType.NONE
+         *
+         *  @see mx.formatters.NumberBaseRoundType
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Royale 0.9.3
+         */
+        public function get rounding():String
+        {
+            return _rounding;
+        }
+
+        /**
+         *  @private
+         */
+        public function set rounding(value:String):void
+        {
+            //roundingOverride = value;
+
+            _rounding = value != null ?
+                        value : value
+                       /* resourceManager.getString(
+                            "formatters", "rounding") */ ;
+        }
+
+        //----------------------------------
+        //  thousandsSeparatorFrom
+        //----------------------------------
+
+        /**
+         *  @private
+         *  Storage for the thousandsSeparatorFrom property.
+         */
+        private var _thousandsSeparatorFrom:String = ",";
+
+        /**
+         *  @private
+         */
+        //private var thousandsSeparatorFromOverride:String;
+
+        [Inspectable(category="General", defaultValue=",")]
+
+        /**
+         *  Character to use as the thousands separator
+         *  in the input String.
+         *
+         *  <p>When setting this property, ensure that the value of the
+         *  <code>decimalSeparatorFrom</code> property does not equal this property.
+         *  Otherwise, an error occurs when formatting the value.</p>
+         *
+         *  @default ","
+         *
+         *  @see #format()
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Royale 0.9.3
+         */
+        public function get thousandsSeparatorFrom():String
+        {
+            return _thousandsSeparatorFrom;
+        }
+
+        /**
+         *  @private
+         */
+        public function set thousandsSeparatorFrom(value:String):void
+        {
+            //thousandsSeparatorFromOverride = value;
+
+            _thousandsSeparatorFrom = value != null ?
+                                      value : value
+                                     /* resourceManager.getString(
+                                          "SharedResources",
+                                          "thousandsSeparatorFrom"); */
+        }
+
+        //----------------------------------
+        //  thousandsSeparatorTo
+        //----------------------------------
+
+        /**
+         *  @private
+         *  Storage for the thousandsSeparatorTo property.
+         */
+        private var _thousandsSeparatorTo:String = ",";
+
+        /**
+         *  @private
+         */
+        //private var thousandsSeparatorToOverride:String;
+
+        [Inspectable(category="General", defaultValue=",")]
+
+        /**
+         *  Character to use as the thousands separator
+         *  in the output String.
+         *
+         *  <p>When setting this property, ensure that the value of the
+         *  <code>decimalSeparatorTo</code> property does not equal this property.
+         *  Otherwise, an error occurs when formatting the value.</p>
+         *
+         *  @default ","
+         *
+         *  @see #format()
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Royale 0.9.3
+         */
+        public function get thousandsSeparatorTo():String
+        {
+            return _thousandsSeparatorTo;
+        }
+
+        /**
+         *  @private
+         */
+        public function set thousandsSeparatorTo(value:String):void
+        {
+            //thousandsSeparatorToOverride = value;
+
+            _thousandsSeparatorTo = value != null ?
+                                    value : value
+                                  /*  resourceManager.getString(
+                                        "SharedResources",
+                                        "thousandsSeparatorTo") */ ;
+        }
+
+        //----------------------------------
+        //  useNegativeSign
+        //----------------------------------
+
+        /**
+         *  @private
+         *  Storage for the useNegativeSign property.
+         */
+        private var _useNegativeSign:Object = true;
+
+        /**
+         *  @private
+         */
+        //private var useNegativeSignOverride:Object;
+
+        [Inspectable(category="General", defaultValue="true")]
+
+        /**
+         *  If <code>true</code>, format a negative number
+         *  by preceding it with a minus "-" sign.
+         *  If <code>false</code>, format the number
+         *  surrounded by parentheses, for example (400).
+         *
+         *  @default true
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Royale 0.9.3
+         */
+        public function get useNegativeSign():Object
+        {
+            return _useNegativeSign;
+        }
+
+        /**
+         *  @private
+         */
+        public function set useNegativeSign(value:Object):void
+        {
+            //useNegativeSignOverride = value;
+
+            _useNegativeSign = value != null ?
+                               Boolean(value) : Boolean(value)
+                            /*   resourceManager.getBoolean(
+                                   "formatters", "useNegativeSignInNumber") */ ;
+        }
+
+        //----------------------------------
+        //  useThousandsSeparator
+        //----------------------------------
+
+        /**
+         *  @private
+         *  Storage for the useThousandsSeparator property.
+         */
+        private var _useThousandsSeparator:Object = true;
+
+        /**
+         *  @private
+         */
+        //private var useThousandsSeparatorOverride:Object;
+
+        [Inspectable(category="General", defaultValue="true")]
+
+        /**
+         *  If <code>true</code>, split the number into thousands increments
+         *  by using a separator character.
+         *
+         *  @default true
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Royale 0.9.3
+         */
+        public function get useThousandsSeparator():Object
+        {
+            return _useThousandsSeparator;
+        }
+
+        /**
+         *  @private
+         */
+        public function set useThousandsSeparator(value:Object):void
+        {
+            //useThousandsSeparatorOverride = value;
+
+            _useThousandsSeparator = value != null ?
+                                     Boolean(value) : Boolean(value)
+                                 /*     resourceManager.getBoolean(
+                                         "formatters", "useThousandsSeparator") */ ;
+        }
+
+        //--------------------------------------------------------------------------
+        //
+        //  Overridden methods
+        //
+        //--------------------------------------------------------------------------
+        /**
+         *  Formats the number as a String.
+         *  If <code>value</code> cannot be formatted, return an empty String
+         *  and write a description of the error to the <code>error</code> property.
+         *
+         *  @param value Value to format.
+         *
+         *  @return Formatted String. Empty if an error occurs.
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 9
+         *  @playerversion AIR 1.1
+         *  @productversion Royale 0.9.3
+         */
+        override public function format(value:Object):String
+        {
+            // Reset any previous errors.
+            //if (error)
+            //    error = null;
+
+            if (useThousandsSeparator &&
+                ((decimalSeparatorFrom == thousandsSeparatorFrom) ||
+                 (decimalSeparatorTo == thousandsSeparatorTo)))
+            {
+                //error = defaultInvalidFormatError;
+                return "";
+            }
+
+            if (decimalSeparatorTo == "" || !isNaN(Number(decimalSeparatorTo)))
+            {
+                //error = defaultInvalidFormatError;
+                return "";
+            }
+
+            var dataFormatter:NumberBase = new NumberBase(decimalSeparatorFrom,
+                                                          thousandsSeparatorFrom,
+                                                          decimalSeparatorTo,
+                                                          thousandsSeparatorTo);
+
+            // -- value --
+
+            if (value is String)
+                value = dataFormatter.parseNumberString(String(value));
+
+            if (value === null || isNaN(Number(value)))
+            {
+                //error = defaultInvalidValueError;
+                return "";
+            }
+
+            // -- format --
+
+            var isNegative:Boolean = (Number(value) < 0);
+
+            var numStr:String = value.toString();
+
+            numStr = numStr.toLowerCase();
+            var e:int = numStr.indexOf("e");
+            if (e != -1)  //deal with exponents
+                numStr = dataFormatter.expandExponents(numStr);
+
+            var numArrTemp:Array = numStr.split(".");
+            var numFraction:int = numArrTemp[1] ? String(numArrTemp[1]).length : 0;
+
+            if (precision < numFraction)
+            {
+                if (rounding != NumberBaseRoundType.NONE)
+                {
+                    numStr = dataFormatter.formatRoundingWithPrecision(
+                        numStr, rounding, int(precision));
+                }
+            }
+
+            var numValue:Number = Number(numStr);
+            if (Math.abs(numValue) >= 1)
+            {
+                numArrTemp = numStr.split(".");
+                var front:String = useThousandsSeparator ?
+                                   dataFormatter.formatThousands(String(numArrTemp[0])) :
+                                   String(numArrTemp[0]);
+                if (numArrTemp[1] != null && numArrTemp[1] != "")
+                    numStr = front + decimalSeparatorTo + numArrTemp[1];
+                else
+                    numStr = front;
+            }
+            else if (Math.abs(numValue) > 0)
+            {
+                // Check if the string is in scientific notation
+                numStr = numStr.toLowerCase();
+                if (numStr.indexOf("e") != -1)
+                {
+                    var temp:Number = Math.abs(numValue) + 1;
+                    numStr = temp.toString();
+                }
+                numStr = decimalSeparatorTo +
+                         numStr.substring(numStr.indexOf(".") + 1);
+            }
+
+            numStr = dataFormatter.formatPrecision(numStr, int(precision));
+
+            // If our value is 0, then don't show -0
+            if (Number(numStr) == 0)
+            {
+                isNegative = false;
+            }
+
+            if (isNegative)
+                numStr = dataFormatter.formatNegative(numStr, useNegativeSign);
+
+            if (!dataFormatter.isValid)
+            {
+                error = defaultInvalidFormatError;
+                return "";
+            }
+
+            return numStr;
+        }
+
+    }
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/PhoneFormatter.as b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/PhoneFormatter.as
similarity index 96%
rename from frameworks/projects/MXRoyale/src/main/royale/mx/formatters/PhoneFormatter.as
rename to frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/PhoneFormatter.as
index 090c845..67c3c60 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/PhoneFormatter.as
+++ b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/formatters/PhoneFormatter.as
@@ -1,401 +1,401 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Licensed to the Apache Software Foundation (ASF) under one or more
-//  contributor license agreements.  See the NOTICE file distributed with
-//  this work for additional information regarding copyright ownership.
-//  The ASF licenses this file to You under the Apache License, Version 2.0
-//  (the "License"); you may not use this file except in compliance with
-//  the License.  You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-//  Unless required by applicable law or agreed to in writing, software
-//  distributed under the License is distributed on an "AS IS" BASIS,
-//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//  See the License for the specific language governing permissions and
-//  limitations under the License.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package mx.formatters
-{
-
-//import mx.managers.ISystemManager;
-//import mx.managers.SystemManager;
-
-//[ResourceBundle("formatters")]
-
-/**
- *  The PhoneFormatter class formats a valid number into a phone number format,
- *  including international configurations.
- *
- *  <p>A shortcut is provided for the United States seven-digit format.
- *  If the <code>areaCode</code> property contains a value
- *  and you use the seven-digit format string, (###-####),
- *  a seven-digit value to format automatically adds the area code
- *  to the returned String.
- *  The default format for the area code is (###). 
- *  You can change this using the <code>areaCodeFormat</code> property. 
- *  You can format the area code any way you want as long as it contains 
- *  three number placeholders.</p>
- *
- *  <p>If an error occurs, an empty String is returned and a String
- *  that describes the error is saved to the <code>error</code> property.
- *  The <code>error</code> property can have one of the following values:</p>
- *
- *  <ul>
- *    <li><code>"Invalid value"</code> means an invalid numeric value is passed 
- *    to the <code>format()</code> method. The value should be a valid number 
- *    in the form of a Number or a String, or the value contains a different 
- *    number of digits than what is specified in the format String.</li>
- *    <li> <code>"Invalid format"</code> means any of the characters in the 
- *    <code>formatString</code> property do not match the allowed characters 
- *    specified in the <code>validPatternChars</code> property, 
- *    or the <code>areaCodeFormat</code> property is specified but does not
- *    contain exactly three numeric placeholders.</li>
- *  </ul>
- *  
- *  @mxml
- *  
- *  <p>The <code>&lt;mx:PhoneFormatter&gt;</code> tag
- *  inherits all of the tag attributes of its superclass,
- *  and adds the following tag attributes:</p>
- *  
- *  <pre>
- *  &lt;mx:PhoneFormatter
- *    areaCode="-1"
- *    areaCodeFormat="(###)"
- *    formatString="(###) ###-####"
- *    validPatternChars="+()#-. "
- *  />
- *  </pre>
- *  
- *  @includeExample examples/PhoneFormatterExample.mxml
- *  
- *  @see mx.formatters.SwitchSymbolFormatter
- *  
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
- */
-public class PhoneFormatter extends Formatter
-{
-    //include "../core/Version.as";
-    
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  Constructor.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function PhoneFormatter()
-    {
-        super();
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Properties
-    //
-    //--------------------------------------------------------------------------
-
-    //----------------------------------
-    //  areaCode
-    //----------------------------------
-    
-    /**
-	 *  @private
-	 *  Storage for the areaCode property.
-	 */
-	//private var _areaCode:Object;
-	
-    /**
-	 *  @private
-	 */
-	//private var areaCodeOverride:Object;
-	
-   // [Inspectable(category="General", defaultValue="null")]
-
-    /**
-     *  Area code number added to a seven-digit United States
-     *  format phone number to form a 10-digit phone number.
-     *  A value of <code>-1</code> means do not  
-     *  prepend the area code.
-     *
-     *  @default -1  
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-	/* public function get areaCode():Object
-	{
-		return _areaCode;
-	} */
-
-	/**
-	 *  @private
-	 */
-	/* public function set areaCode(value:Object):void
-	{
-		areaCodeOverride = value;
-
-		 _areaCode = value != null ?
-					int(value) :
-					resourceManager.getInt(
-						"formatters", "areaCode"); 
-	} */
-
-    //----------------------------------
-    //  areaCodeFormat
-    //----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the areaCodeFormat property.
-	 */
-	//private var _areaCodeFormat:String;
-	
-    /**
-	 *  @private
-	 */
-	//private var areaCodeFormatOverride:String;
-	
-   // [Inspectable(category="General", defaultValue="null")]
-
-    /**
-     *  Default format for the area code when the <code>areacode</code>
-     *  property is rendered by a seven-digit format.
-     *
-     *  @default "(###) "
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-	/* public function get areaCodeFormat():String
-	{
-		return _areaCodeFormat;
-	} */
-
-	/**
-	 *  @private
-	 */
-	/* public function set areaCodeFormat(value:String):void
-	{
-		areaCodeFormatOverride = value;
-
-		 _areaCodeFormat = value != null ?
-						  value :
-						  resourceManager.getString(
-						      "formatters", "areaCodeFormat"); 
-	} */
-
-    //----------------------------------
-    //  formatString
-    //----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the formatString property.
-	 */
-	private var _formatString:String;
-	
-    /**
-	 *  @private
-	 */
-	//private var formatStringOverride:String;
-	
-    //[Inspectable(category="General", defaultValue="null")]
-    
-    /**
-     *  String that contains mask characters
-     *  that represent a specified phone number format.
-     *
-     *  @default "(###) ###-####"
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-	public function get formatString():String
-	{
-		return _formatString;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set formatString(value:String):void
-	{
-		//formatStringOverride = value;
-
-		/* _formatString = value != null ?
-						value :
-						resourceManager.getString(
-							"formatters", "phoneNumberFormat"); */
-	}
-
-    //----------------------------------
-    //  validPatternChars
-    //----------------------------------
-
-    /**
-	 *  @private
-	 *  Storage for the validPatternChars property.
-	 */
-	//private var _validPatternChars:String;
-	
-    /**
-	 *  @private
-	 */
-	//private var validPatternCharsOverride:String;
-	
-    //[Inspectable(category="General", defaultValue="null")]
-
-    /**
-     *  List of valid characters that can be used
-     *  in the <code>formatString</code> property.
-     *  This property is used during validation
-     *  of the <code>formatString</code> property.
-     *
-     *  @default "+()#- ."
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-	/* public function get validPatternChars():String
-	{
-		return _validPatternChars;
-	} */
-
-	/**
-	 *  @private
-	 */
-	/* public function set validPatternChars(value:String):void
-	{
-		validPatternCharsOverride = value;
-
-		_validPatternChars = value != null ?
-							 value :
-							 resourceManager.getString(
-							     "formatters", "validPatternChars"); 
-	} */
-
-    //--------------------------------------------------------------------------
-    //
-    //  Overridden methods
-    //
-    //--------------------------------------------------------------------------
-    
-    /**
-     *  @private    
-     */
-    /* override protected function resourcesChanged():void
-    {
-		super.resourcesChanged();
-
-        areaCode = areaCodeOverride;
-        areaCodeFormat = areaCodeFormatOverride;
-        formatString = formatStringOverride;
-        validPatternChars = validPatternCharsOverride;
-    } */
-
-    /**
-     *  Formats the String as a phone number.
-     *  If the value cannot be formatted, return an empty String 
-     *  and write a description of the error to the <code>error</code> property.
-     *
-     *  @param value Value to format.
-     *
-     *  @return Formatted String. Empty if an error occurs. A description 
-     *  of the error condition is written to the <code>error</code> property.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    /* override public function format(value:Object):String
-    {
-        // Reset any previous errors.
-        if (error)
-            error = null;
-
-        // --value--
-
-        if (!value || String(value).length == 0 || isNaN(Number(value)))
-        {
-            error = defaultInvalidValueError;
-            return "";
-        }
-
-        // --length--
-
-        var fStrLen:int = 0;
-        var letter:String;
-        var n:int;
-        var i:int;
-        
-        n = formatString.length;
-        for (i = 0; i < n; i++)
-        {
-            letter = formatString.charAt(i);
-            if (letter == "#")
-            {
-                fStrLen++;
-            }
-            else if (validPatternChars.indexOf(letter) == -1)
-            {
-                error = defaultInvalidFormatError;
-                return "";
-            }
-        }
- */
-        /* if (String(value).length != fStrLen)
-        {
-            error = defaultInvalidValueError;
-            return "";
... 12502 lines suppressed ...

[royale-asjs] 01/03: prep for MXRoyaleBase split - remove some unused imports

Posted by gr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gregdove pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit b41f96706844cf556f62e2ef8d830b4dda8f777d
Author: greg-dove <gr...@gmail.com>
AuthorDate: Wed Oct 6 11:27:54 2021 +1300

    prep for MXRoyaleBase split - remove some unused imports
---
 .../MXRoyale/src/main/royale/mx/formatters/CurrencyFormatter.as       | 4 ++--
 .../projects/MXRoyale/src/main/royale/mx/formatters/Formatter.as      | 4 ++--
 .../MXRoyale/src/main/royale/mx/formatters/NumberFormatter.as         | 2 +-
 .../projects/MXRoyale/src/main/royale/mx/formatters/PhoneFormatter.as | 4 ++--
 .../MXRoyale/src/main/royale/mx/formatters/ZipCodeFormatter.as        | 4 ++--
 .../projects/MXRoyale/src/main/royale/mx/logging/AbstractTarget.as    | 4 ++--
 frameworks/projects/MXRoyale/src/main/royale/mx/logging/Log.as        | 4 ++--
 frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogLogger.as  | 2 +-
 .../projects/MXRoyale/src/main/royale/mx/managers/ISystemManager.as   | 2 +-
 .../projects/MXRoyale/src/main/royale/mx/resources/ResourceManager.as | 2 +-
 .../MXRoyale/src/main/royale/mx/resources/ResourceManagerImpl.as      | 4 ++--
 .../projects/MXRoyale/src/main/royale/mx/rpc/soap/mxml/WebService.as  | 2 +-
 .../projects/MXRoyale/src/main/royale/mx/utils/DescribeTypeCache.as   | 2 +-
 .../projects/MXRoyale/src/main/royale/mx/utils/RPCObjectUtil.as       | 2 +-
 14 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/CurrencyFormatter.as b/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/CurrencyFormatter.as
index d811a12..549fb6b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/CurrencyFormatter.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/CurrencyFormatter.as
@@ -20,8 +20,8 @@
 package mx.formatters
 {
 
-import mx.managers.ISystemManager;
-import mx.managers.SystemManager;
+//import mx.managers.ISystemManager;
+//import mx.managers.SystemManager;
 
 // [ResourceBundle("formatters")]
 // [ResourceBundle("SharedResources")]
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/Formatter.as b/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/Formatter.as
index cd08e1a..fb56221 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/Formatter.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/Formatter.as
@@ -22,8 +22,8 @@ package mx.formatters
 
 import mx.formatters.IFormatter;
 import mx.core.mx_internal;
-import mx.managers.ISystemManager;
-import mx.managers.SystemManager;
+//import mx.managers.ISystemManager;
+//import mx.managers.SystemManager;
 //import mx.resources.IResourceManager;
 //import mx.resources.ResourceManager;
 
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/NumberFormatter.as b/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/NumberFormatter.as
index bf47e43..9f5bf23 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/NumberFormatter.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/NumberFormatter.as
@@ -20,7 +20,7 @@
 package mx.formatters
 {
 
-    import mx.managers.ISystemManager;
+    //import mx.managers.ISystemManager;
     //import mx.managers.SystemManager;
 
     //[ResourceBundle("formatters")]
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/PhoneFormatter.as b/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/PhoneFormatter.as
index 588d060..090c845 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/PhoneFormatter.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/PhoneFormatter.as
@@ -20,8 +20,8 @@
 package mx.formatters
 {
 
-import mx.managers.ISystemManager;
-import mx.managers.SystemManager;
+//import mx.managers.ISystemManager;
+//import mx.managers.SystemManager;
 
 //[ResourceBundle("formatters")]
 
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/ZipCodeFormatter.as b/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/ZipCodeFormatter.as
index 704d007..099c9cd 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/ZipCodeFormatter.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/formatters/ZipCodeFormatter.as
@@ -20,8 +20,8 @@
 package mx.formatters
 {
 
-import mx.managers.ISystemManager;
-import mx.managers.SystemManager;
+//import mx.managers.ISystemManager;
+//import mx.managers.SystemManager;
 
 //[ResourceBundle("formatters")]
 
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/AbstractTarget.as b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/AbstractTarget.as
index 42bd3f9..b73a90e 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/AbstractTarget.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/AbstractTarget.as
@@ -21,8 +21,8 @@ package mx.logging
 {
 
 import mx.logging.errors.InvalidFilterError;
-import mx.managers.ISystemManager;
-import mx.managers.SystemManager;
+//import mx.managers.ISystemManager;
+//import mx.managers.SystemManager;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
 import org.apache.royale.utils.UIDUtil;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/Log.as b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/Log.as
index aa67b57..d4f9203 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/Log.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/Log.as
@@ -21,8 +21,8 @@ package mx.logging
 {
 
 import mx.logging.errors.InvalidCategoryError;
-import mx.managers.ISystemManager;
-import mx.managers.SystemManager;
+//import mx.managers.ISystemManager;
+//import mx.managers.SystemManager;
 import mx.messaging.errors.ArgumentError;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogLogger.as b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogLogger.as
index 92cfa17..88b3500 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogLogger.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogLogger.as
@@ -22,7 +22,7 @@ package mx.logging
 
 import org.apache.royale.events.EventDispatcher;
 import mx.managers.ISystemManager;
-import mx.managers.SystemManager;
+//import mx.managers.SystemManager;
 import mx.messaging.errors.ArgumentError;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/managers/ISystemManager.as b/frameworks/projects/MXRoyale/src/main/royale/mx/managers/ISystemManager.as
index bbff813..92bc453 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/managers/ISystemManager.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/managers/ISystemManager.as
@@ -22,7 +22,7 @@ package mx.managers
 
 import org.apache.royale.events.IEventDispatcher;
 import mx.core.IChildList;
-import mx.core.UIComponent;
+//import mx.core.UIComponent;
 //import flash.display.Stage;
 /**
  *  An ISystemManager manages an "application window".
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManager.as b/frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManager.as
index 5ea4721..f84228a 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManager.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManager.as
@@ -30,7 +30,7 @@ import mx.core.mx_internal;
 //import mx.events.ModuleEvent;
 //import mx.events.ResourceEvent;
 import mx.modules.IModuleInfo;
-import mx.modules.ModuleManager;
+//import mx.modules.ModuleManager;
 import mx.utils.StringUtil;
 
 /**
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManagerImpl.as b/frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManagerImpl.as
index 6f3bb02..6bed1e1 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManagerImpl.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/resources/ResourceManagerImpl.as
@@ -38,11 +38,11 @@ import mx.core.IFlexModuleFactory;
 import mx.core.mx_internal;
 //import mx.core.Singleton;
 import mx.events.FlexEvent;
-import mx.events.ModuleEvent;
+//import mx.events.ModuleEvent;
 //import mx.events.ResourceEvent;
 import mx.managers.SystemManagerGlobals;
 import mx.modules.IModuleInfo;
-import mx.modules.ModuleManager;
+//import mx.modules.ModuleManager;
 import mx.utils.StringUtil;
 
 
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/soap/mxml/WebService.as b/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/soap/mxml/WebService.as
index 403f2a0..e656182 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/soap/mxml/WebService.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/soap/mxml/WebService.as
@@ -29,7 +29,7 @@ import mx.core.IFlexModuleFactory;
 import mx.core.IMXMLObject;
 import mx.core.IUIComponent;
 import mx.core.mx_internal;
-import mx.managers.ISystemManager;
+//import mx.managers.ISystemManager;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
 import mx.rpc.AbstractOperation;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/utils/DescribeTypeCache.as b/frameworks/projects/MXRoyale/src/main/royale/mx/utils/DescribeTypeCache.as
index 24ec385..b39a0ed 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/utils/DescribeTypeCache.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/utils/DescribeTypeCache.as
@@ -18,7 +18,7 @@
 //////////////////////////////////////////////////////////////////////////////// 
 package mx.utils 
 { 
-	import mx.core.UIComponent; 
+	//import mx.core.UIComponent;
 
 	/** 
 	 *   
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/utils/RPCObjectUtil.as b/frameworks/projects/MXRoyale/src/main/royale/mx/utils/RPCObjectUtil.as
index 6e78d8e..5b62e9b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/utils/RPCObjectUtil.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/utils/RPCObjectUtil.as
@@ -39,7 +39,7 @@ import mx.collections.IList;
  */
 public class RPCObjectUtil
 {
-    include "../core/Version.as";
+    //include "../core/Version.as";
     
     /**
     *  Array of properties to exclude from debugging output.

[royale-asjs] 03/03: Crux-related conversion to MXRoyaleBase (as opposed to MXRoyale) dependency

Posted by gr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gregdove pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit b3ce8d4e24f8333dc47e0958a2b8645fc115a756
Author: greg-dove <gr...@gmail.com>
AuthorDate: Sat Oct 9 16:21:43 2021 +1300

    Crux-related conversion to MXRoyaleBase (as opposed to MXRoyale) dependency
---
 examples/crux/CruxGitHubCommitLogViewer/pom.xml                  | 2 +-
 .../src/main/config/compile-app-config.xml                       | 6 +++---
 examples/crux/CruxQuickStart/pom.xml                             | 2 +-
 .../crux/CruxQuickStart/src/main/config/compile-app-config.xml   | 2 +-
 examples/crux/CruxQuickStartBasic/pom.xml                        | 2 +-
 examples/crux/pom.xml                                            | 9 ++++++++-
 examples/crux/todomvc-jewel-crux/pom.xml                         | 2 +-
 .../js/projects/CruxJS/src/main/config/compile-js-config.xml     | 2 +-
 frameworks/projects/Crux/pom.xml                                 | 4 ++--
 frameworks/projects/Crux/src/main/config/compile-swf-config.xml  | 2 +-
 10 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/examples/crux/CruxGitHubCommitLogViewer/pom.xml b/examples/crux/CruxGitHubCommitLogViewer/pom.xml
index d621885..064e7e1 100644
--- a/examples/crux/CruxGitHubCommitLogViewer/pom.xml
+++ b/examples/crux/CruxGitHubCommitLogViewer/pom.xml
@@ -44,7 +44,7 @@
           <additionalCompilerOptions>
             -js-default-initializers=true;
             -source-map=true;
-            -compiler.exclude-defaults-css-files=MXRoyaleJS.swc:defaults.css;
+            <!-- removed because now using MXRoyaleBase:  -compiler.exclude-defaults-css-files=MXRoyale-${royale.framework.version}-js.swc:defaults.css; -->
             -keep-as3-metadata+=Inject,Dispatcher,EventHandler,PostConstruct,PreDestroy,ViewAdded,ViewRemoved,Bindable,Transient;
             -keep-code-with-metadata=Inject;
           </additionalCompilerOptions>
diff --git a/examples/crux/CruxGitHubCommitLogViewer/src/main/config/compile-app-config.xml b/examples/crux/CruxGitHubCommitLogViewer/src/main/config/compile-app-config.xml
index 84451ba..7210b68 100644
--- a/examples/crux/CruxGitHubCommitLogViewer/src/main/config/compile-app-config.xml
+++ b/examples/crux/CruxGitHubCommitLogViewer/src/main/config/compile-app-config.xml
@@ -49,7 +49,7 @@
         <js-library-path append="true">
             <path-element>../../../../../../frameworks/js/libs/BasicJS.swc</path-element>
             <path-element>../../../../../../frameworks/js/libs/CruxJS.swc</path-element>
-            <path-element>../../../../../../frameworks/js/libs/MXRoyaleJS.swc</path-element>
+            <path-element>../../../../../../frameworks/js/libs/MXRoyaleBaseJS.swc</path-element>
         </js-library-path>
         <!--
         <library-path append="true">
@@ -58,8 +58,8 @@
             <path-element>../../../../../../frameworks/libs/MXRoyale.swc</path-element>
         </library-path>
          -->
-        <exclude-defaults-css-files>
+        <!--<exclude-defaults-css-files>
             <filename>MXRoyaleJS.swc:defaults.css</filename>
-        </exclude-defaults-css-files>
+        </exclude-defaults-css-files>-->
     </compiler>
 </royale-config>
diff --git a/examples/crux/CruxQuickStart/pom.xml b/examples/crux/CruxQuickStart/pom.xml
index 57b9ec0..65c2945 100644
--- a/examples/crux/CruxQuickStart/pom.xml
+++ b/examples/crux/CruxQuickStart/pom.xml
@@ -44,7 +44,7 @@
           <additionalCompilerOptions>
             -js-default-initializers=true;
             -source-map=true;
-            -compiler.exclude-defaults-css-files=MXRoyale-${royale.framework.version}-js.swc:defaults.css;
+            <!-- removed because now using MXRoyaleBase:  -compiler.exclude-defaults-css-files=MXRoyale-${royale.framework.version}-js.swc:defaults.css; -->
             -keep-as3-metadata+=Inject,Dispatcher,EventHandler,PostConstruct,PreDestroy,ViewAdded,ViewRemoved,Bindable,Transient;
             -keep-code-with-metadata=Inject;
           </additionalCompilerOptions>
diff --git a/examples/crux/CruxQuickStart/src/main/config/compile-app-config.xml b/examples/crux/CruxQuickStart/src/main/config/compile-app-config.xml
index 55973a2..d9162f5 100644
--- a/examples/crux/CruxQuickStart/src/main/config/compile-app-config.xml
+++ b/examples/crux/CruxQuickStart/src/main/config/compile-app-config.xml
@@ -45,7 +45,7 @@
         <js-library-path append="true">
             <path-element>../../../../../../frameworks/js/libs/BasicJS.swc</path-element>
             <path-element>../../../../../../frameworks/js/libs/CruxJS.swc</path-element>
-            <path-element>../../../../../../frameworks/js/libs/MXRoyaleJS.swc</path-element>
+            <path-element>../../../../../../frameworks/js/libs/MXRoyaleBaseJS.swc</path-element>
         </js-library-path>
         <!--<library-path append="true">
             <path-element>../../../../../../frameworks/libs/Basic.swc</path-element>
diff --git a/examples/crux/CruxQuickStartBasic/pom.xml b/examples/crux/CruxQuickStartBasic/pom.xml
index baff7ab..d15f152 100644
--- a/examples/crux/CruxQuickStartBasic/pom.xml
+++ b/examples/crux/CruxQuickStartBasic/pom.xml
@@ -45,7 +45,7 @@
           <additionalCompilerOptions>
             -js-default-initializers=true;
             -source-map=true;
-            -compiler.exclude-defaults-css-files=MXRoyale-${royale.framework.version}-js.swc:defaults.css;
+            <!-- removed because now using MXRoyaleBase:  -compiler.exclude-defaults-css-files=MXRoyale-${royale.framework.version}-js.swc:defaults.css; -->
             -keep-as3-metadata+=Inject,Dispatcher,EventHandler,PostConstruct,PreDestroy,ViewAdded,ViewRemoved,Bindable,Transient;
             -keep-code-with-metadata=Inject;
           </additionalCompilerOptions>
diff --git a/examples/crux/pom.xml b/examples/crux/pom.xml
index a415fae..9af3fc2 100644
--- a/examples/crux/pom.xml
+++ b/examples/crux/pom.xml
@@ -122,6 +122,13 @@
     </dependency>
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
+      <artifactId>MXRoyaleBase</artifactId>
+      <version>0.9.9-SNAPSHOT</version>
+      <type>swc</type>
+      <classifier>js</classifier>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.royale.framework</groupId>
       <artifactId>Network</artifactId>
       <version>0.9.9-SNAPSHOT</version>
       <type>swc</type>
@@ -205,7 +212,7 @@
         </dependency>
         <dependency>
           <groupId>org.apache.royale.framework</groupId>
-          <artifactId>MXRoyale</artifactId>
+          <artifactId>MXRoyaleBase</artifactId>
           <version>0.9.9-SNAPSHOT</version>
           <type>swc</type>
           <classifier>swf</classifier>
diff --git a/examples/crux/todomvc-jewel-crux/pom.xml b/examples/crux/todomvc-jewel-crux/pom.xml
index d32c7b7..4e4e704 100644
--- a/examples/crux/todomvc-jewel-crux/pom.xml
+++ b/examples/crux/todomvc-jewel-crux/pom.xml
@@ -46,7 +46,7 @@
             -js-default-initializers=true;
             -keep-as3-metadata+=Inject,Dispatcher,EventHandler,PostConstruct,PreDestroy,ViewAdded,ViewRemoved,Bindable,Transient;
             -source-map=true;
-            -compiler.exclude-defaults-css-files=MXRoyale-${royale.framework.version}-js.swc:defaults.css;
+            <!-- removed because now using MXRoyaleBase:  -compiler.exclude-defaults-css-files=MXRoyale-${royale.framework.version}-js.swc:defaults.css; -->
             
             -export-public-symbols=false
             -prevent-rename-protected-symbols=false
diff --git a/frameworks/js/projects/CruxJS/src/main/config/compile-js-config.xml b/frameworks/js/projects/CruxJS/src/main/config/compile-js-config.xml
index eec94da..6364a62 100644
--- a/frameworks/js/projects/CruxJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/projects/CruxJS/src/main/config/compile-js-config.xml
@@ -64,7 +64,7 @@
             <path-element>../../../../../libs/BindingJS.swc</path-element>
             <path-element>../../../../../libs/NetworkJS.swc</path-element>
             <path-element>../../../../../libs/ReflectionJS.swc</path-element>
-            <path-element>../../../../../libs/MXRoyaleJS.swc</path-element>
+            <path-element>../../../../../libs/MXRoyaleBaseJS.swc</path-element>
             <path-element>../../../../../libs/StorageJS.swc</path-element>
         </external-library-path>
 
diff --git a/frameworks/projects/Crux/pom.xml b/frameworks/projects/Crux/pom.xml
index 4eb112c..85b8d41 100644
--- a/frameworks/projects/Crux/pom.xml
+++ b/frameworks/projects/Crux/pom.xml
@@ -91,7 +91,7 @@
     </dependency>
     <dependency>
       <groupId>org.apache.royale.framework</groupId>
-      <artifactId>MXRoyale</artifactId>
+      <artifactId>MXRoyaleBase</artifactId>
       <version>0.9.9-SNAPSHOT</version>
       <type>swc</type>
       <classifier>js</classifier>
@@ -153,7 +153,7 @@
         </dependency>
         <dependency>
           <groupId>org.apache.royale.framework</groupId>
-          <artifactId>MXRoyale</artifactId>
+          <artifactId>MXRoyaleBase</artifactId>
           <version>0.9.9-SNAPSHOT</version>
           <type>swc</type>
           <classifier>swf</classifier>
diff --git a/frameworks/projects/Crux/src/main/config/compile-swf-config.xml b/frameworks/projects/Crux/src/main/config/compile-swf-config.xml
index ce2d387..255a72b 100644
--- a/frameworks/projects/Crux/src/main/config/compile-swf-config.xml
+++ b/frameworks/projects/Crux/src/main/config/compile-swf-config.xml
@@ -35,7 +35,7 @@
             <path-element>../../../../../libs/Basic.swc</path-element>
             <path-element>../../../../../libs/Network.swc</path-element>
             <path-element>../../../../../libs/Reflection.swc</path-element>
-            <path-element>../../../../../libs/MXRoyale.swc</path-element>
+            <path-element>../../../../../libs/MXRoyaleBase.swc</path-element>
             <path-element>../../../../../libs/Storage.swc</path-element>
         </external-library-path>
         <allow-subclass-overrides>true</allow-subclass-overrides>