 	import mx.containers.dividedBoxClasses.BoxDivider;
 	import mx.core.mx_internal;
 	import mx.events.ChildExistenceChangedEvent;
+	import mx.utils.ObjectUtil;
 	
 	import avmplus.getQualifiedClassName;
 	

		private function _mapChildOutput(dynamicState:Object, i:int, a:Array):Object
		{
			return dynamicState[DynamicState.SESSION_STATE];
		}
		
		private function _mapChildInput(state:Object, i:int, a:Array):Object
		{
			var objectName:String = _childNamesForMapChildInput[i] || 'child' + i;
			var className:String = getQualifiedClassName(state is Array ? LinkableDynamicDisplayObject : FlexibleLayout);
			return DynamicState.create(objectName, className, state);
		}
		
		public function getSessionState():Object

		private static const FLEX:String = 'flex';
		private static const DIRECTION:String = 'direction';
		private static const CHILDREN:String = 'children';
		private static var LinkableDynamicDisplayObject_QName:String;
		private static var FlexibleLayout_QName:String;
		
		public function FlexibleLayout()
		{
			if (!LinkableDynamicDisplayObject_QName)
				LinkableDynamicDisplayObject_QName = getQualifiedClassName(LinkableDynamicDisplayObject);
			if (!FlexibleLayout_QName)
				FlexibleLayout_QName = getQualifiedClassName(FlexibleLayout);
			
			setStyle('horizontalGap', 8);
			setStyle('verticalGap', 8);
			minWidth = 16;
