diff --git a/indra/llui/llscrolllistitem.cpp b/indra/llui/llscrolllistitem.cpp
index 4c272d31f2c9d095f78c2cd2b066ffd7efbc3dc4..db607e99466a475c8ee391bc9a3fbbbfb6ee688d 100644
--- a/indra/llui/llscrolllistitem.cpp
+++ b/indra/llui/llscrolllistitem.cpp
@@ -45,6 +45,10 @@ LLScrollListItem::LLScrollListItem( const Params& p )
 	mUserRemovable(p.user_removable),
 	mItemValue(p.value)
 {
+	for (const auto& cell : p.contents.columns)
+		addColumn(cell);
+	for (const auto& cell : p.columns)
+		addColumn(cell);
 }
 
 
diff --git a/indra/llui/llscrolllistitem.h b/indra/llui/llscrolllistitem.h
index b9c72827335e691efebb4de7141ddb49ed445277..12e41f4230004eeb5f88b58dc10e0ffba03e1577 100644
--- a/indra/llui/llscrolllistitem.h
+++ b/indra/llui/llscrolllistitem.h
@@ -50,6 +50,17 @@ class LLScrollListItem
 {
 	friend class LLScrollListCtrl;
 public:
+	struct Contents : public LLInitParam::Block<Contents>
+	{
+		Multiple<LLScrollListCell::Params> columns;
+		Contents()
+		:	columns("columns")
+		{
+			addSynonym(columns, "column");
+			addSynonym(columns, "cell");
+		}
+	};
+
 	struct Params : public LLInitParam::Block<Params>
 	{
 		Optional<bool>		enabled;
@@ -62,6 +73,7 @@ public:
 		Ignored				length; 
 
 		Multiple<LLScrollListCell::Params> columns;
+		Optional<Contents> contents;
 
 		Params()
 		:	enabled("enabled", true),
@@ -70,7 +82,8 @@ public:
 			name("name"),
 			type("type"),
 			length("length"),
-			columns("columns")
+			columns("columns"),
+			contents("contents")
 		{
 			addSynonym(columns, "column");
 			addSynonym(value, "id");
diff --git a/indra/llwindow/llwindowsdl2.cpp b/indra/llwindow/llwindowsdl2.cpp
index d78715873568ebecfbc048dfa731f9fc35094e67..9ed1581272551ffa31b05cc49d7072d5e1d8bf5c 100644
--- a/indra/llwindow/llwindowsdl2.cpp
+++ b/indra/llwindow/llwindowsdl2.cpp
@@ -46,6 +46,8 @@
 #include "SDL2/SDL_syswm.h"
 
 #if LL_WINDOWS
+#include <commdlg.h>
+#include <shellapi.h>
 #include "../newview/res/resource.h"
 #endif
 
@@ -1766,8 +1768,7 @@ void LLWindowSDL2::spawnWebBrowser(const std::string& escaped_url, bool async)
 	// reliablly on Vista.
 
 	// this is madness.. no, this is..
-	LLWString url_wstring = utf8str_to_wstring(escaped_url);
-	llutf16string url_utf16 = wstring_to_utf16str(url_wstring);
+	auto url_wstring = ll_convert_string_to_wide(escaped_url);
 
 	// let the OS decide what to use to open the URL
 	SHELLEXECUTEINFO sei = { sizeof(sei) };
@@ -1779,7 +1780,7 @@ void LLWindowSDL2::spawnWebBrowser(const std::string& escaped_url, bool async)
 	}
 	sei.nShow = SW_SHOWNORMAL;
 	sei.lpVerb = L"open";
-	sei.lpFile = url_utf16.c_str();
+	sei.lpFile = url_wstring.c_str();
 	ShellExecuteEx(&sei);
 #endif
 }
diff --git a/indra/newview/llfloatertexturepicker.cpp b/indra/newview/llfloatertexturepicker.cpp
index f6e371e4bbb76480d9df0d027926d1545a2b48c5..f0edbdef00f849bbc5e5be4f551c3211465096a1 100644
--- a/indra/newview/llfloatertexturepicker.cpp
+++ b/indra/newview/llfloatertexturepicker.cpp
@@ -28,7 +28,6 @@
 #include "llviewerprecompiledheaders.h"
 
 #include "llagent.h"
-#include "llcombobox.h"
 #include "lldraghandle.h"
 #include "llfiltereditor.h"
 #include "llfloaterreg.h"
@@ -37,6 +36,7 @@
 #include "llinventorypanel.h"
 #include "llselectmgr.h"
 #include "llscrolllistctrl.h"
+#include "lltabcontainer.h"
 #include "lltoolmgr.h"
 #include "lltoolpipette.h"
 #include "lltrans.h"
@@ -111,17 +111,17 @@ void LLFloaterTexturePicker::setImageID(const LLUUID& image_id, bool set_selecti
 
 		if (LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(mImageAssetID))
 		{
-			if ( mBakeTextureEnabled && mModeSelector->getSelectedIndex() != 2)
+			if ( mBakeTextureEnabled && mModeSelector->getCurrentPanelIndex() != 2)
 			{
-				mModeSelector->setSelectedIndex(2, 0);
+				mModeSelector->selectTab(2);
 				onModeSelect();
 			}
 		}
 		else
 		{
-			if (mModeSelector->getSelectedIndex() == 2)
+			if (mModeSelector->getCurrentPanelIndex() == 2)
 			{
-				mModeSelector->setSelectedIndex(0, 0);
+				mModeSelector->selectTab(0);
 				onModeSelect();
 			}
 			
@@ -366,9 +366,9 @@ BOOL LLFloaterTexturePicker::postBuild()
 		}
 	}
 
-    mModeSelector = getChild<LLRadioGroup>("mode_selection");
+    mModeSelector = getChild<LLTabContainer>("mode_selection");
     mModeSelector->setCommitCallback(boost::bind(&LLFloaterTexturePicker::onModeSelect, this));
-    mModeSelector->setSelectedIndex(0, 0);
+    mModeSelector->selectTab(0);
 
 	childSetAction("l_add_btn", LLFloaterTexturePicker::onBtnAdd, this);
 	childSetAction("l_rem_btn", LLFloaterTexturePicker::onBtnRemove, this);
@@ -401,7 +401,7 @@ BOOL LLFloaterTexturePicker::postBuild()
 
 	LLToolPipette::getInstance()->setToolSelectCallback(boost::bind(&LLFloaterTexturePicker::onTextureSelect, this, _1));
 	
-	getChild<LLComboBox>("l_bake_use_texture_combo_box")->setCommitCallback(onBakeTextureSelect, this);
+	getChild<LLUICtrl>("l_bake_use_texture_combo_box")->setCommitCallback(onBakeTextureSelect, this);
 	getChild<LLCheckBoxCtrl>("hide_base_mesh_region")->setCommitCallback(onHideBaseMeshRegionCheck, this);
 
 	setBakeTextureEnabled(FALSE);
@@ -779,83 +779,12 @@ void LLFloaterTexturePicker::onSelectionChange(const std::deque<LLFolderViewItem
 
 void LLFloaterTexturePicker::onModeSelect()
 {
-    S32 mode = mModeSelector->getSelectedIndex();
-
-    getChild<LLButton>("Default")->setVisible(mode == 0);
-    getChild<LLButton>("Transparent")->setVisible(mode == 0); // <alchemy/>
-    getChild<LLButton>("Blank")->setVisible(mode == 0);
-    getChild<LLButton>("None")->setVisible(mode == 0);
-    getChild<LLButton>("Pipette")->setVisible(mode == 0);
-    getChild<LLFilterEditor>("inventory search editor")->setVisible(mode == 0);
-    getChild<LLInventoryPanel>("inventory panel")->setVisible(mode == 0);
-    getChild<LLLineEditor>("uuid_editor")->setVisible(mode == 0);
-    getChild<LLButton>("apply_uuid_btn")->setVisible(mode == 0);
-
-	/*self->getChild<LLCheckBox>("show_folders_check")->setVisible(mode);
-	  no idea under which conditions the above is even shown, needs testing. */
-
-    getChild<LLButton>("l_add_btn")->setVisible(mode == 1);
-    getChild<LLButton>("l_rem_btn")->setVisible(mode == 1);
-    getChild<LLButton>("l_upl_btn")->setVisible(mode == 1);
-    getChild<LLScrollListCtrl>("l_name_list")->setVisible(mode == 1);
-
-	getChild<LLComboBox>("l_bake_use_texture_combo_box")->setVisible(mode == 2);
-	getChild<LLCheckBoxCtrl>("hide_base_mesh_region")->setVisible(false);// mode == 2);
+    S32 mode = mModeSelector->getCurrentPanelIndex();
 
 	if (mode == 2)
 	{
 		stopUsingPipette();
-
-		S8 val = -1;
-
-		LLUUID imageID = mImageAssetID;
-		if (imageID == IMG_USE_BAKED_HEAD)
-		{
-			val = 0;
-		}
-		else if (imageID == IMG_USE_BAKED_UPPER)
-		{
-			val = 1;
-		}
-		else if (imageID == IMG_USE_BAKED_LOWER)
-		{
-			val = 2;
-		}
-		else if (imageID == IMG_USE_BAKED_EYES)
-		{
-			val = 3;
-		}
-		else if (imageID == IMG_USE_BAKED_SKIRT)
-		{
-			val = 4;
-		}
-		else if (imageID == IMG_USE_BAKED_HAIR)
-		{
-			val = 5;
-		}
-		else if (imageID == IMG_USE_BAKED_LEFTARM)
-		{
-			val = 6;
-		}
-		else if (imageID == IMG_USE_BAKED_LEFTLEG)
-		{
-			val = 7;
-		}
-		else if (imageID == IMG_USE_BAKED_AUX1)
-		{
-			val = 8;
-		}
-		else if (imageID == IMG_USE_BAKED_AUX2)
-		{
-			val = 9;
-		}
-		else if (imageID == IMG_USE_BAKED_AUX3)
-		{
-			val = 10;
-		}
-
-
-		getChild<LLComboBox>("l_bake_use_texture_combo_box")->setSelectedByValue(val, TRUE);
+		getChild<LLScrollListCtrl>("l_bake_use_texture_combo_box")->setSelectedByValue(mImageAssetID, TRUE);
 	}
 }
 
@@ -977,55 +906,10 @@ void LLFloaterTexturePicker::onApplyImmediateCheck(LLUICtrl* ctrl, void *user_da
 void LLFloaterTexturePicker::onBakeTextureSelect(LLUICtrl* ctrl, void *user_data)
 {
 	LLFloaterTexturePicker* self = (LLFloaterTexturePicker*)user_data;
-	LLComboBox* combo_box = (LLComboBox*)ctrl;
 
-	S8 type = combo_box->getValue().asInteger();
+	auto val = ctrl->getValue();
 	
-	LLUUID imageID = self->mDefaultImageAssetID;
-	if (type == 0)
-	{
-		imageID = IMG_USE_BAKED_HEAD;
-	}
-	else if (type == 1)
-	{
-		imageID = IMG_USE_BAKED_UPPER;
-	}
-	else if (type == 2)
-	{
-		imageID = IMG_USE_BAKED_LOWER;
-	}
-	else if (type == 3)
-	{
-		imageID = IMG_USE_BAKED_EYES;
-	}
-	else if (type == 4)
-	{
-		imageID = IMG_USE_BAKED_SKIRT;
-	}
-	else if (type == 5)
-	{
-		imageID = IMG_USE_BAKED_HAIR;
-	}
-	else if (type == 6)
-	{
-		imageID = IMG_USE_BAKED_LEFTARM;
-	}
-	else if (type == 7)
-	{
-		imageID = IMG_USE_BAKED_LEFTLEG;
-	}
-	else if (type == 8)
-	{
-		imageID = IMG_USE_BAKED_AUX1;
-	}
-	else if (type == 9)
-	{
-		imageID = IMG_USE_BAKED_AUX2;
-	}
-	else if (type == 10)
-	{
-		imageID = IMG_USE_BAKED_AUX3;
-	}
+	LLUUID imageID = val.asUUID();
 
 	self->setImageID(imageID);
 	self->mViewModel->setDirty(); // *TODO: shouldn't we be using setValue() here?
@@ -1105,7 +989,7 @@ void LLFloaterTexturePicker::onFilterEdit(const std::string& search_string )
 
 void LLFloaterTexturePicker::setLocalTextureEnabled(BOOL enabled)
 {
-	mModeSelector->setIndexEnabled(1,enabled);
+	mModeSelector->enableTabButton(1,enabled);
 }
 
 void LLFloaterTexturePicker::setBakeTextureEnabled(BOOL enabled)
@@ -1113,18 +997,18 @@ void LLFloaterTexturePicker::setBakeTextureEnabled(BOOL enabled)
 	BOOL changed = (enabled != mBakeTextureEnabled);
 
 	mBakeTextureEnabled = enabled;
-	mModeSelector->setIndexEnabled(2, enabled);
+	mModeSelector->enableTabButton(2, enabled);
 
-	if (!mBakeTextureEnabled && (mModeSelector->getSelectedIndex() == 2))
+	if (!mBakeTextureEnabled && (mModeSelector->getCurrentPanelIndex() == 2))
 	{
-		mModeSelector->setSelectedIndex(0, 0);
+		mModeSelector->selectTab(0);
 	}
 	
 	if (changed && mBakeTextureEnabled && LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(mImageAssetID))
 	{
-		if (mModeSelector->getSelectedIndex() != 2)
+		if (mModeSelector->getCurrentPanelIndex() != 2)
 		{
-			mModeSelector->setSelectedIndex(2, 0);
+			mModeSelector->selectTab(2);
 		}
 	}
 	onModeSelect();
diff --git a/indra/newview/llfloatertexturepicker.h b/indra/newview/llfloatertexturepicker.h
index 3ab7e9cfeec8ac590af22b243e96c17346bd1fc8..399b25d8fb78964cce744cb8250dc7fe77fc83e0 100644
--- a/indra/newview/llfloatertexturepicker.h
+++ b/indra/newview/llfloatertexturepicker.h
@@ -33,6 +33,7 @@
 #include "llfloater.h"
 
 class LLFilterEditor;
+class LLTabContainer;
 
 typedef std::function<void(LLTextureCtrl::ETexturePickOp op, LLUUID id)> floater_commit_callback;
 typedef std::function<void()> floater_close_callback;
@@ -160,7 +161,7 @@ protected:
     LLSaveFolderState	mSavedFolderState;
     BOOL				mSelectedItemPinned;
 
-    LLRadioGroup*		mModeSelector;
+    LLTabContainer*		mModeSelector;
     LLScrollListCtrl*	mLocalScrollCtrl;
 
 private:
diff --git a/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml
index 808aaa32eb8e8b64cee41206114032c5830e0e2f..19bc3bef4b76d153b29d9937bf7264d5a5b4efca 100644
--- a/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml
+++ b/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml
@@ -47,58 +47,218 @@
         Multiple textures
     </text>
 	
+    <text
+     type="string"
+     length="1"
+     follows="left|top"
+     height="14"
+     layout="topleft"
+     left_delta="12"
+     name="unknown"
+     top_pad="80">
+        Size: [DIMENSIONS]
+    </text>
+    
 	<!-- mode selector -->
-	   <radio_group
-     control_name="mode_selection"
-     height="20"
+	   <tab_container
+     bottom="-60"
      layout="topleft"
-     left="0"
-     top_pad="80"
+     left="171"
+     right="-5"
+     top="20"
      name="mode_selection"
-     follows="left|top">
-        <radio_item
+     follows="all">
+<!--  middle: inventory mode -->
+        <panel
          label="Inventory"
          name="inventory"
-         top_delta="20" 
+         top="0" 
          layout="topleft"
-         height="16" 
+         follows="all"
+	       bottom="0"
          left="0" 
-         value="0"
-         width="70" />
-        <radio_item
+         right="-1">
+    <filter_editor
+     follows="left|top|right"
+     height="20"
+     label="Filter Textures"
+     layout="topleft"
+     left="0"
+     name="inventory search editor"
+     top_delta="3"
+     right="-1" />
+    <inventory_panel
+     allow_multi_select="false"
+     bg_visible="true"
+     bg_alpha_color="DkGray2"
+     border="false"
+     follows="all"
+     height="262"
+     layout="topleft"
+     left="0"
+     name="inventory panel"
+     top_pad="4"
+     right="-1" />
+     <check_box
+        visible="false"
+     height="0"
+     initial_value="false"
+     label="Show folders"
+     layout="topleft"
+     name="show_folders_check"
+     top_pad="0"
+     left_delta="-3"
+     width="0" />
+        </panel>
+<!--  middle: local mode -->
+        <panel
          label="Local"
-         left_pad="0"
+         left="0"
          layout="topleft"
-         top_delta="0" 
-         height="16" 
+         follows="all"
+         top="0" 
+         bottom="0" 
          name="local"
-         value="1"
-         width="50" />
-       <radio_item
+         right="-1">
+    <scroll_list
+     name="l_name_list"
+     left="0"
+     top_delta="0"
+		 height="262"
+     follows="all"
+     column_padding="0"
+     draw_heading="true"
+     multi_select="true"
+     search_column="1"
+		 right="-1">
+        <column name="unit_name" label="Name" dynamicwidth="true" />
+        <column name="unit_id_HIDDEN" label="ID" width="0" />
+    </scroll_list>
+    <button
+     follows="left|bottom"
+     height="20"
+     label="Add"
+     label_selected="Add"
+     layout="topleft"
+     left="0"
+     top_pad="5"
+     name="l_add_btn"
+     width="74"/>
+    <button
+     enabled="false"
+     follows="left|bottom"
+     height="20"
+     label="Remove"
+     label_selected="Remove"
+     layout="topleft"
+     left_pad="5"
+     name="l_rem_btn"
+     top_delta="0"
+     width="74"/>
+    <button
+     enabled="false"
+     follows="left|bottom"
+     height="20"
+     label="Upload"
+     label_selected="Upload"
+     layout="topleft"
+     left_pad="5"
+     name="l_upl_btn"
+     top_delta="0"
+     width="74"/>
+        </panel>
+       <panel
          label="Bake"
-         left_pad="0"
+         left="0"
          layout="topleft"
-         top_delta="0"
-         height="16"
+         follows="all"
+         top="0"
          name="bake"
-         value="2"
-         width="50" />
-    </radio_group>
-	<!-- -->
-	
-    <text
-     type="string"
-     length="1"
+	       bottom="0"
+         right="-1">
+<!-- middle: bake mode -->
+  <scroll_list
+         left="0"
+         top_delta="0"
+         height="262"
+			   layout="topleft"
+			   follows="all"
+			   name="l_bake_use_texture_combo_box"
+			   tool_tip="Choose the bake texture"
+	       draw_heading="true"
+			   right="-1">
+        <scroll_list.column name="type" label="Type"/>
+        <scroll_list.row
+         name="BAKED_HEAD"
+         value="5a9f4a74-30f2-821c-b88d-70499d3e7183">
+         <column name="type" value="BAKED_HEAD"/>
+        </scroll_list.row>
+        <scroll_list.row
+         name="BAKED_UPPER"
+         value="ae2de45c-d252-50b8-5c6e-19f39ce79317">
+         <column name="type" value="BAKED_UPPER"/>
+        </scroll_list.row>
+        <scroll_list.row
+         name="BAKED_LOWER"
+         value="24daea5f-0539-cfcf-047f-fbc40b2786ba">
+         <column name="type" value="BAKED_LOWER"/>
+        </scroll_list.row>
+        <scroll_list.row
+         name="BAKED_EYES"
+         value="52cc6bb6-2ee5-e632-d3ad-50197b1dcb8a">
+         <column name="type" value="BAKED_EYES"/>
+        </scroll_list.row>
+        <scroll_list.row
+         name="BAKED_SKIRT"
+         value="43529ce8-7faa-ad92-165a-bc4078371687">
+         <column name="type" value="BAKED_SKIRT"/>
+        </scroll_list.row>
+        <scroll_list.row
+         name="BAKED_HAIR"
+         value="09aac1fb-6bce-0bee-7d44-caac6dbb6c63">
+         <column name="type" value="BAKED_HAIR"/>
+        </scroll_list.row>
+        <scroll_list.row
+          name="BAKED_LEFTARM"
+          value="ff62763f-d60a-9855-890b-0c96f8f8cd98">
+         <column name="type" value="BAKED_LEFTARM"/>
+        </scroll_list.row>
+        <scroll_list.row
+          name="BAKED_LEFTLEG"
+          value="8e915e25-31d1-cc95-ae08-d58a47488251">
+         <column name="type" value="BAKED_LEFTLEG"/>
+        </scroll_list.row>
+        <scroll_list.row
+         name="BAKED_AUX1"
+         value="9742065b-19b5-297c-858a-29711d539043">
+         <column name="type" value="BAKED_AUX1"/>
+        </scroll_list.row>
+        <scroll_list.row
+           name="BAKED_AUX2"
+           value="03642e83-2bd1-4eb9-34b4-4c47ed586d2d">
+         <column name="type" value="BAKED_AUX2"/>
+        </scroll_list.row>
+        <scroll_list.row
+         name="BAKED_AUX3"
+         value="edd51b77-fc10-ce7a-4b3d-011dfc349e4f">
+         <column name="type" value="BAKED_AUX3"/>
+        </scroll_list.row>
+  </scroll_list>
+  <check_box
      follows="left|top"
-     height="14"
+     height="20"
+     initial_value="false"
+     label="Hide Base Mesh Region"
      layout="topleft"
-     left_delta="12"
-     name="unknown"
-     top_pad="4">
-        Size: [DIMENSIONS]
-    </text>
-    
-<!--  middle: inventory mode -->
+     name="hide_base_mesh_region"
+     left_delta="0"
+     top_pad="10"
+     top_delta="0"
+     width="120" 
+     visible="false"/>
+        </panel>
+    </tab_container>
+	<!-- -->
 
     <button
      enabled="false"
@@ -108,8 +268,8 @@
      label_selected="Default"
      layout="topleft"
      name="Default"
-     width="73"
-	 left="94"
+     width="80"
+     left="87"
      top="215"/>
     <button
      follows="left|top"
@@ -120,7 +280,7 @@
      left_delta="0"
      name="Transparent"
      top_pad="5"
-     width="73" />
+     width="80" />
     <button
      follows="left|top"
      height="20"
@@ -130,9 +290,8 @@
      left_delta="0"
      name="Blank"
      top_pad="5"
-     width="73" />
+     width="80" />
      <button
-     enabled="false"
      follows="left|top"
      height="20"
      label="None"
@@ -141,14 +300,14 @@
      left_delta="0"
      name="None"
      top_pad="5"
-     width="73" />
+     width="80" />
     <button
      follows="left|top"
      height="28"
      image_selected="eye_button_active.tga"
      image_unselected="eye_button_inactive.tga"
      layout="topleft"
-     left_delta="-80"
+     left_delta="-73"
      top_delta="-25"
      name="Pipette"
      width="28" />
@@ -162,44 +321,15 @@
      value="Preview Disabled"
      visible="false"
      width="120" />
-    <filter_editor
-     follows="left|top|right"
-     height="23"
-     label="Filter Textures"
-     layout="topleft"
-     left="175"
-     name="inventory search editor"
-     top="20"
-     width="231" />
-    <inventory_panel
-     allow_multi_select="false"
-     bg_visible="true"
-     bg_alpha_color="DkGray2"
-     border="false"
-     follows="all"
-     height="262"
-     layout="topleft"
-     left_delta="0"
-     name="inventory panel"
-     top_pad="4"
-     width="231" />
-     <check_box
-        visible="false"
-     height="0"
-     initial_value="false"
-     label="Show folders"
-     layout="topleft"
-     name="show_folders_check"
-     top_pad="0"
-     left_delta="-3"
-     width="0" />
+
+<!-- bottom static -->
     <line_editor
      follows="left|bottom|right"
      layout="topleft"
      name="uuid_editor"
      label="Enter Texture UUID"
      max_length_chars="36"
-     top_pad="7"
+     top="-55"
      height="20"
      width="296"
      left="5" />
@@ -212,133 +342,6 @@
      top_delta="0"
      height="20"
      width="100" />
-
-<!--  middle: local mode -->
-    <button
-     follows="left|bottom"
-     height="18"
-     label="Add"
-     label_selected="Add"
-     layout="topleft"
-     left="94"
-     top="272"
-     name="l_add_btn"
-     width="73"
-     visible="false"/>
-    <button
-     enabled="false"
-     follows="left|bottom"
-     height="20"
-     label="Remove"
-     label_selected="Remove"
-     layout="topleft"
-     left_delta="0"
-     name="l_rem_btn"
-     top_pad="5"
-     width="73"
-     visible="false"/>
-    <button
-     enabled="false"
-     follows="left|bottom"
-     height="20"
-     label="Upload"
-     label_selected="Upload"
-     layout="topleft"
-     left_delta="0"
-     name="l_upl_btn"
-     top_pad="5"
-     width="73"
-     visible="false"/>
-    <scroll_list
-     name="l_name_list"
-     left="170"
-     top="20"
-     width="235"
-     height="320"
-     follows="left|top|right|bottom"
-     column_padding="0"
-     draw_heading="true"
-     multi_select="true"
-     search_column="1"
-     visible="false">
-        <column name="unit_name" label="Name" dynamicwidth="true" />
-        <column name="unit_id_HIDDEN" label="ID" width="0" />
-    </scroll_list>
-
-<!-- middle: bake mode -->
-  <combo_box
-         left="180"
-         top="30"
-			   height="19"
-			   top_delta="15"
-			   layout="topleft"
-			   follows="left|top"
-			   name="l_bake_use_texture_combo_box"
-			   tool_tip="Choose the bake texture"
-			   width="118"
-         visible="false">
-        <combo_box.item
-         label="None"
-         name="None"
-         value="-1" />
-        <combo_box.item
-         label="BAKED_HEAD"
-         name="BAKED_HEAD"
-         value="0" />
-        <combo_box.item
-         label="BAKED_UPPER"
-         name="BAKED_UPPER"
-         value="1" />
-        <combo_box.item
-         label="BAKED_LOWER"
-         name="BAKED_LOWER"
-         value="2" />
-        <combo_box.item
-         label="BAKED_EYES"
-         name="BAKED_EYES"
-         value="3" />
-        <combo_box.item
-         label="BAKED_SKIRT"
-         name="BAKED_SKIRT"
-         value="4" />
-        <combo_box.item
-         label="BAKED_HAIR"
-         name="BAKED_HAIR"
-         value="5" />
-        <combo_box.item
-          label="BAKED_LEFTARM"
-          name="BAKED_LEFTARM"
-          value="6" />
-        <combo_box.item
-          label="BAKED_LEFTLEG"
-          name="BAKED_LEFTLEG"
-          value="7" />
-        <combo_box.item
-         label="BAKED_AUX1"
-         name="BAKED_AUX1"
-         value="8" />
-        <combo_box.item
-           label="BAKED_AUX2"
-           name="BAKED_AUX2"
-           value="9" />
-        <combo_box.item
-         label="BAKED_AUX3"
-         name="BAKED_AUX3"
-         value="10" />
-  </combo_box>
-  <check_box
-     follows="left|top"
-     height="20"
-     initial_value="false"
-     label="Hide Base Mesh Region"
-     layout="topleft"
-     name="hide_base_mesh_region"
-     left_delta="0"
-     top_pad="10"
-     top_delta="0"
-     width="120" 
-     visible="false"/>
-<!-- bottom static -->
     <button
      follows="bottom|right"
      height="20"