diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index 5a142f23c96bdf15e4f042a5944363f69ef59a53..faf9da8b148e96f3b7c1d34d93c5d365be6f0db6 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -231,7 +231,6 @@ elseif(LINUX)
         libstacktrace.so
         libtcmalloc.so
         libuuid.so.1
-        libz.so
         libssl.so.0.9.7
        )
 
diff --git a/indra/llcommon/lleventcoro.h b/indra/llcommon/lleventcoro.h
index c6d9de171d29f0f5a185bb60c1f48ab407867dd1..1981ae7482b295751907eaf7946e5182064e2d9f 100644
--- a/indra/llcommon/lleventcoro.h
+++ b/indra/llcommon/lleventcoro.h
@@ -203,9 +203,12 @@ LLSD postAndWait(SELF& self, const LLSD& event, const LLEventPumpOrPumpName& req
         // request event.
         LLSD modevent(event);
         LLEventDetail::storeToLLSDPath(modevent, replyPumpNamePath, replyPump.getPump().getName());
-        LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName
+		LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName
                                  << " posting to " << requestPump.getPump().getName()
-                                 << ": " << modevent << LL_ENDL;
+								 << LL_ENDL;
+
+		// *NOTE:Mani - Removed because modevent could contain user's hashed passwd.
+		//                         << ": " << modevent << LL_ENDL;
         requestPump.getPump().post(modevent);
     }
     LL_DEBUGS("lleventcoro") << "postAndWait(): coroutine " << listenerName
diff --git a/indra/llplugin/llpluginsharedmemory.cpp b/indra/llplugin/llpluginsharedmemory.cpp
index 3c69a69d28a8e480fe5fa08675819af6da363b43..9c18b410c75b6cf0b4bc16160db55f03de48bb6e 100644
--- a/indra/llplugin/llpluginsharedmemory.cpp
+++ b/indra/llplugin/llpluginsharedmemory.cpp
@@ -1,6 +1,6 @@
 /** 
  * @file llpluginsharedmemory.cpp
- * @brief LLPluginSharedMemory manages a shared memory segment for use by the LLPlugin API.
+ * LLPluginSharedMemory manages a shared memory segment for use by the LLPlugin API.
  *
  * @cond
  * $LicenseInfo:firstyear=2008&license=viewergpl$
@@ -96,6 +96,10 @@ std::string LLPluginSharedMemory::createName(void)
 	return newname.str();
 }
 
+/**
+ * @brief LLPluginSharedMemoryImpl is the platform-dependent implementation of LLPluginSharedMemory. TODO:DOC is this necessary/sufficient? kinda obvious.
+ *
+ */
 class LLPluginSharedMemoryPlatformImpl
 {
 public:
@@ -112,6 +116,9 @@ class LLPluginSharedMemoryPlatformImpl
 
 };
 
+/**
+ * Constructor. Creates a shared memory segment.
+ */
 LLPluginSharedMemory::LLPluginSharedMemory()
 {
 	mSize = 0;
@@ -121,6 +128,9 @@ LLPluginSharedMemory::LLPluginSharedMemory()
 	mImpl = new LLPluginSharedMemoryPlatformImpl;
 }
 
+/**
+ * Destructor. Uses destroy() and detach() to ensure shared memory segment is cleaned up.
+ */
 LLPluginSharedMemory::~LLPluginSharedMemory()
 {
 	if(mNeedsDestroy)
diff --git a/indra/llplugin/llpluginsharedmemory.h b/indra/llplugin/llpluginsharedmemory.h
index 4014620c520edc7ef0b35b6c7fda902567b14b6f..00c54ef08caf917403b224f881a2011a691a8d1f 100644
--- a/indra/llplugin/llpluginsharedmemory.h
+++ b/indra/llplugin/llpluginsharedmemory.h
@@ -1,6 +1,5 @@
 /** 
  * @file llpluginsharedmemory.h
- * @brief LLPluginSharedMemory manages a shared memory segment for use by the LLPlugin API.
  *
  * @cond
  * $LicenseInfo:firstyear=2008&license=viewergpl$
@@ -36,6 +35,10 @@
 
 class LLPluginSharedMemoryPlatformImpl;
 
+/**
+ * @brief LLPluginSharedMemory manages a shared memory segment for use by the LLPlugin API.
+ *
+ */
 class LLPluginSharedMemory
 {
 	LOG_CLASS(LLPluginSharedMemory);
@@ -46,16 +49,62 @@ class LLPluginSharedMemory
 	// Parent will use create/destroy, child will use attach/detach.
 	// Message transactions will ensure child attaches after parent creates and detaches before parent destroys.
 	
-	// create() implicitly creates a name for the segment which is guaranteed to be unique on the host at the current time.
+   /** 
+    * Creates a shared memory segment, with a name which is guaranteed to be unique on the host at the current time. Used by parent.
+    * Message transactions will (? TODO:DOC - should? must?) ensure child attaches after parent creates and detaches before parent destroys.
+    *
+    * @param[in] size Shared memory size in TODO:DOC units = bytes?.
+    *
+    * @return False for failure, true for success.
+    */
 	bool create(size_t size);
+   /** 
+    * Destroys a shared memory segment. Used by parent.
+    * Message transactions will (? TODO:DOC - should? must?) ensure child attaches after parent creates and detaches before parent destroys.
+    *
+    * @return True. TODO:DOC - always returns true. Is this the intended behavior?
+    */
 	bool destroy(void);
 	
+   /** 
+    * Creates and attaches a name to a shared memory segment. TODO:DOC what's the difference between attach() and create()?
+    *
+    * @param[in] name Name to attach to memory segment
+    * @param[in] size Size of memory segment TODO:DOC in bytes?
+    *
+    * @return False on failure, true otherwise.
+    */
 	bool attach(const std::string &name, size_t size);
+   /** 
+    * Detaches shared memory segment.
+    *
+    * @return False on failure, true otherwise.
+    */
 	bool detach(void);
 
+   /** 
+    * Checks if shared memory is mapped to a non-null address.
+    *
+    * @return True if memory address is non-null, false otherwise.
+    */
 	bool isMapped(void) const { return (mMappedAddress != NULL); };
+   /** 
+    * Get pointer to shared memory.
+    *
+    * @return Pointer to shared memory.
+    */
 	void *getMappedAddress(void) const { return mMappedAddress; };
+   /** 
+    * Get size of shared memory.
+    *
+    * @return Size of shared memory in bytes. TODO:DOC are bytes the correct unit?
+    */
 	size_t getSize(void) const { return mSize; };
+   /** 
+    * Get name of shared memory.
+    *
+    * @return Name of shared memory.
+    */
 	std::string getName() const { return mName; };
 	
 private:
diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp
index 9ba0cfc6b8a2ad60306d74e13f7e505ab53a455d..a28ffbfdc0d3816085326acc697a007d4891bd1f 100644
--- a/indra/llrender/llfontgl.cpp
+++ b/indra/llrender/llfontgl.cpp
@@ -446,7 +446,9 @@ F32 LLFontGL::getWidthF32(const llwchar* wchars, S32 begin_offset, S32 max_chars
 		// for the last character we want to measure the greater of its width and xadvance values
 		// so keep track of the difference between these values for the each character we measure
 		// so we can fix things up at the end
-		width_padding = llmax(0.f, (F32)fgi->mWidth - advance);
+		width_padding = llmax(	0.f,											// always use positive padding amount
+								width_padding - advance,						// previous padding left over after advance of current character
+								(F32)(fgi->mWidth + fgi->mXBearing) - advance);	// difference between width of this character and advance to next character
 
 		cur_x += advance;
 		llwchar next_char = wchars[i+1];
diff --git a/indra/llui/llscrollcontainer.cpp b/indra/llui/llscrollcontainer.cpp
index f6caed4617ff76e22447290e1cc199cc99519d70..a5e47e8547f2f52d76485e5b5d607e9c564d3a38 100644
--- a/indra/llui/llscrollcontainer.cpp
+++ b/indra/llui/llscrollcontainer.cpp
@@ -235,18 +235,37 @@ BOOL LLScrollContainer::handleKeyHere(KEY key, MASK mask)
 
 BOOL LLScrollContainer::handleScrollWheel( S32 x, S32 y, S32 clicks )
 {
-	if(LLUICtrl::handleScrollWheel(x,y,clicks))
+	// Give event to my child views - they may have scroll bars
+	// (Bad UI design, but technically possible.)
+	if (LLUICtrl::handleScrollWheel(x,y,clicks))
 		return TRUE;
-	for( S32 i = 0; i < SCROLLBAR_COUNT; i++ )
-	{
-		// Note: tries vertical and then horizontal
 
+	// When the vertical scrollbar is visible, scroll wheel
+	// only affects vertical scrolling.  It's confusing to have
+	// scroll wheel perform both vertical and horizontal in a
+	// single container.
+	LLScrollbar* vertical = mScrollbar[VERTICAL];
+	if (vertical->getVisible()
+		&& vertical->getEnabled())
+	{
 		// Pretend the mouse is over the scrollbar
-		if( mScrollbar[i]->handleScrollWheel( 0, 0, clicks ) )
+		if (vertical->handleScrollWheel( 0, 0, clicks ) )
 		{
 			updateScroll();
-			return TRUE;
 		}
+		// Always eat the event
+		return TRUE;
+	}
+
+	LLScrollbar* horizontal = mScrollbar[HORIZONTAL];
+	// Test enablement and visibility for consistency with
+	// LLView::childrenHandleScrollWheel().
+	if (horizontal->getVisible()
+		&& horizontal->getEnabled()
+		&& horizontal->handleScrollWheel( 0, 0, clicks ) )
+	{
+		updateScroll();
+		return TRUE;
 	}
 	return FALSE;
 }
diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index 82a3c5cf478be87467a85f3cc8bb14803d8075d6..2a9515171a57dd36fbfd54ee48ea1ec75f4f0843 100644
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -194,7 +194,7 @@ LLTextBase::LLTextBase(const LLTextBase::Params &p)
 	mHAlign(p.font_halign),
 	mLineSpacingMult(p.line_spacing.multiple),
 	mLineSpacingPixels(p.line_spacing.pixels),
-	mClipPartial(p.clip_partial),
+	mClipPartial(p.clip_partial && !p.allow_scroll),
 	mTrackEnd( p.track_end ),
 	mScrollIndex(-1),
 	mSelectionStart( 0 ),
@@ -529,11 +529,6 @@ void LLTextBase::drawText()
 		S32 next_line = cur_line + 1;
 		line_info& line = mLineInfoList[cur_line];
 
-		if ((line.mRect.mTop - scrolled_view_rect.mBottom) < mTextRect.mBottom) 
-		{
-			break;
-		}
-
 		S32 next_start = -1;
 		S32 line_end = text_len;
 
@@ -543,17 +538,9 @@ void LLTextBase::drawText()
 			line_end = next_start;
 		}
 
-		// A patch for EXT-1944 "Implement ellipses in message well" 
-		// introduced a regression where text in SansSerif ending in the
-		// letter "r" is clipped.  This may be due to an off-by-one in
-		// font width information out of FreeType with our fractional font
-		// sizes.  For now, just make an extra pixel of space to resolve
-		// EXT-2971 "Letter R doesn't show when it's the last letter in a
-		// text block".  See James/Richard for details.
-		const S32 FIX_CLIPPING_HACK = 1;
 		LLRect text_rect(line.mRect.mLeft + mTextRect.mLeft - scrolled_view_rect.mLeft,
 						line.mRect.mTop - scrolled_view_rect.mBottom + mTextRect.mBottom,
-						llmin(mDocumentView->getRect().getWidth(), line.mRect.mRight) - scrolled_view_rect.mLeft + FIX_CLIPPING_HACK,
+						llmin(mDocumentView->getRect().getWidth(), line.mRect.mRight) - scrolled_view_rect.mLeft,
 						line.mRect.mBottom - scrolled_view_rect.mBottom + mTextRect.mBottom);
 
 		// draw a single line of text
@@ -1086,6 +1073,10 @@ void LLTextBase::reflow(S32 start_index)
 	{
 		mReflowNeeded = FALSE;
 
+		// shrink document to minimum size (visible portion of text widget)
+		// to force inlined widgets with follows set to shrink
+		mDocumentView->setShape(mTextRect);
+
 		bool scrolled_to_bottom = mScroller ? mScroller->isAtBottom() : false;
 
 		LLRect old_cursor_rect = getLocalRectFromDocIndex(mCursorPos);
@@ -1348,13 +1339,11 @@ std::pair<S32, S32>	LLTextBase::getVisibleLines(bool fully_visible)
 
 	if (fully_visible)
 	{
-		// binary search for line that starts before top of visible buffer and starts before end of visible buffer
 		first_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mTop, compare_top());
 		last_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mBottom, compare_bottom());
 	}
 	else
 	{
-		// binary search for line that starts before top of visible buffer and starts before end of visible buffer
 		first_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mTop, compare_bottom());
 		last_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mBottom, compare_top());
 	}
@@ -2105,7 +2094,7 @@ void LLTextBase::updateRects()
 	LLRect doc_rect = mContentsRect;
 	// use old mTextRect constraint document to width of viewable region
 	doc_rect.mLeft = 0;
-	doc_rect.mRight = mTextRect.getWidth();
+	doc_rect.mRight = llmax(mTextRect.getWidth(), mContentsRect.mRight);
 
 	mDocumentView->setShape(doc_rect);
 
@@ -2125,7 +2114,7 @@ void LLTextBase::updateRects()
 	}
 
 	// update document container again, using new mTextRect
-	doc_rect.mRight = doc_rect.mLeft + mTextRect.getWidth();
+	doc_rect.mRight = llmax(mTextRect.getWidth(), mContentsRect.mRight);
 	mDocumentView->setShape(doc_rect);
 }
 
@@ -2218,6 +2207,12 @@ LLNormalTextSegment::LLNormalTextSegment( const LLStyleSP& style, S32 start, S32
 	mEditor(editor)
 {
 	mFontHeight = llceil(mStyle->getFont()->getLineHeight());
+
+	LLUIImagePtr image = mStyle->getImage();
+	if (image.notNull())
+	{
+		mImageLoadedConnection = image->addLoadedCallback(boost::bind(&LLTextBase::needsReflow, &mEditor));
+	}
 }
 
 LLNormalTextSegment::LLNormalTextSegment( const LLColor4& color, S32 start, S32 end, LLTextBase& editor, BOOL is_visible) 
@@ -2230,6 +2225,12 @@ LLNormalTextSegment::LLNormalTextSegment( const LLColor4& color, S32 start, S32
 	mFontHeight = llceil(mStyle->getFont()->getLineHeight());
 }
 
+LLNormalTextSegment::~LLNormalTextSegment()
+{
+	mImageLoadedConnection.disconnect();
+}
+
+
 F32 LLNormalTextSegment::draw(S32 start, S32 end, S32 selection_start, S32 selection_end, const LLRect& draw_rect)
 {
 	if( end - start > 0 )
@@ -2243,7 +2244,7 @@ F32 LLNormalTextSegment::draw(S32 start, S32 end, S32 selection_start, S32 selec
 			// Center the image vertically
 			S32 image_bottom = draw_rect.getCenterY() - (style_image_height/2);
 			image->draw(draw_rect.mLeft, image_bottom, 
-				style_image_width, style_image_height);
+				style_image_width, style_image_height, color);
 		}
 
 		return drawClippedSegment( getStart() + start, getStart() + end, selection_start, selection_end, draw_rect);
diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h
index c60b0406550993d4402eaceb781e3c8753793f77..0138ca370422a0ecbdc7088593551220bcee82c2 100644
--- a/indra/llui/lltextbase.h
+++ b/indra/llui/lltextbase.h
@@ -136,7 +136,6 @@ class LLTextBase
 	// TODO: move into LLTextSegment?
 	void					createUrlContextMenu(S32 x, S32 y, const std::string &url); // create a popup context menu for the given Url
 
-
 	// Text accessors
 	// TODO: add optional style parameter
 	virtual void			setText(const LLStringExplicit &utf8str , const LLStyle::Params& input_params = LLStyle::Params()); // uses default style
@@ -148,6 +147,8 @@ class LLTextBase
 	LLWString       		getWText() const;
 
 	void					appendText(const std::string &new_text, bool prepend_newline, const LLStyle::Params& input_params = LLStyle::Params());
+	// force reflow of text
+	void					needsReflow() { mReflowNeeded = TRUE; }
 
 	S32						getLength() const { return getWText().length(); }
 	S32						getLineCount() const { return mLineInfoList.size(); }
@@ -162,7 +163,6 @@ class LLTextBase
 	S32						getVPad() { return mVPad; }
 	S32						getHPad() { return mHPad; }
 
-
 	S32						getDocIndexFromLocalCoord( S32 local_x, S32 local_y, BOOL round ) const;
 	LLRect					getLocalRectFromDocIndex(S32 pos) const;
 	LLRect					getDocRectFromDocIndex(S32 pos) const;
@@ -180,6 +180,7 @@ class LLTextBase
 	void					changePage( S32 delta );
 	void					changeLine( S32 delta );
 
+
 	const LLFontGL*			getDefaultFont() const					{ return mDefaultFont; }
 
 public:
@@ -303,7 +304,6 @@ class LLTextBase
 
 	// misc
 	void							updateRects();
-	void							needsReflow() { mReflowNeeded = TRUE; }
 	void							needsScroll() { mScrollNeeded = TRUE; }
 	void							replaceUrlLabel(const std::string &url, const std::string &label);
 
@@ -426,6 +426,7 @@ class LLNormalTextSegment : public LLTextSegment
 public:
 	LLNormalTextSegment( const LLStyleSP& style, S32 start, S32 end, LLTextBase& editor );
 	LLNormalTextSegment( const LLColor4& color, S32 start, S32 end, LLTextBase& editor, BOOL is_visible = TRUE);
+	~LLNormalTextSegment();
 
 	/*virtual*/ bool				getDimensions(S32 first_char, S32 num_chars, S32& width, S32& height) const;
 	/*virtual*/ S32					getOffset(S32 segment_local_x_coord, S32 start_offset, S32 num_chars, bool round) const;
@@ -457,6 +458,7 @@ class LLNormalTextSegment : public LLTextSegment
 	S32					mFontHeight;
 	LLKeywordToken* 	mToken;
 	std::string     	mTooltip;
+	boost::signals2::connection mImageLoadedConnection;
 };
 
 class LLIndexSegment : public LLTextSegment
diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp
index 4cf503b413c49dae9535b13a357e975a0b1fdb6d..660388790570994a1250d962015aa98f1382d4a8 100644
--- a/indra/llui/llui.cpp
+++ b/indra/llui/llui.cpp
@@ -1847,8 +1847,8 @@ LLControlGroup& LLUI::getControlControlGroup (const std::string& controlname)
 // spawn_x and spawn_y are top left corner of view in screen GL coordinates
 void LLUI::positionViewNearMouse(LLView* view, S32 spawn_x, S32 spawn_y)
 {
-	const S32 CURSOR_HEIGHT = 18;		// Approximate "normal" cursor size
-	const S32 CURSOR_WIDTH = 9;
+	const S32 CURSOR_HEIGHT = 16;		// Approximate "normal" cursor size
+	const S32 CURSOR_WIDTH = 8;
 
 	LLView* parent = view->getParent();
 
@@ -1866,7 +1866,7 @@ void LLUI::positionViewNearMouse(LLView* view, S32 spawn_x, S32 spawn_y)
 	LLRect virtual_window_rect = parent->getLocalRect();
 
 	LLRect mouse_rect;
-	const S32 MOUSE_CURSOR_PADDING = 5;
+	const S32 MOUSE_CURSOR_PADDING = 1;
 	mouse_rect.setLeftTopAndSize(mouse_x - MOUSE_CURSOR_PADDING, 
 								mouse_y + MOUSE_CURSOR_PADDING, 
 								CURSOR_WIDTH + MOUSE_CURSOR_PADDING * 2, 
diff --git a/indra/llui/lluiimage.cpp b/indra/llui/lluiimage.cpp
index a8683e55c3597bfd6985f90ff2f29921957af629..f941f391eb3c1b4e825ab8801c04bdbe34413c49 100644
--- a/indra/llui/lluiimage.cpp
+++ b/indra/llui/lluiimage.cpp
@@ -39,18 +39,20 @@
 #include "lluiimage.h"
 #include "llui.h"
 
-LLUIImage::LLUIImage(const std::string& name, LLPointer<LLTexture> image) :
-						mName(name),
-						mImage(image),
-						mScaleRegion(0.f, 1.f, 1.f, 0.f),
-						mClipRegion(0.f, 1.f, 1.f, 0.f),
-						mUniformScaling(TRUE),
-						mNoClip(TRUE)
+LLUIImage::LLUIImage(const std::string& name, LLPointer<LLTexture> image)
+:	mName(name),
+	mImage(image),
+	mScaleRegion(0.f, 1.f, 1.f, 0.f),
+	mClipRegion(0.f, 1.f, 1.f, 0.f),
+	mUniformScaling(TRUE),
+	mNoClip(TRUE),
+	mImageLoaded(NULL)
 {
 }
 
 LLUIImage::~LLUIImage()
 {
+	delete mImageLoaded;
 }
 
 void LLUIImage::setClipRegion(const LLRectf& region) 
@@ -138,6 +140,25 @@ S32 LLUIImage::getTextureHeight() const
 	return mImage->getHeight(0);
 }
 
+boost::signals2::connection LLUIImage::addLoadedCallback( const image_loaded_signal_t::slot_type& cb ) 
+{
+	if (!mImageLoaded) 
+	{
+		mImageLoaded = new image_loaded_signal_t();
+	}
+	return mImageLoaded->connect(cb);
+}
+
+
+void LLUIImage::onImageLoaded()
+{
+	if (mImageLoaded)
+	{
+		(*mImageLoaded)();
+	}
+}
+
+
 namespace LLInitParam
 {
 	LLUIImage* TypedParam<LLUIImage*>::getValueFromBlock() const
@@ -170,3 +191,4 @@ namespace LLInitParam
 			return (a == b);
 	}
 }
+
diff --git a/indra/llui/lluiimage.h b/indra/llui/lluiimage.h
index 9d734bcfdf3a563ee7cc42a3372f57a729c8c160..5fa9610ab20df4c1995592835883685224e7c1c5 100644
--- a/indra/llui/lluiimage.h
+++ b/indra/llui/lluiimage.h
@@ -39,6 +39,7 @@
 #include "llrefcount.h"
 #include "llrect.h"
 #include <boost/function.hpp>
+#include <boost/signals2.hpp>
 #include "llinitparam.h"
 #include "lltexture.h"
 
@@ -47,6 +48,8 @@ extern const LLColor4 UI_VERTEX_COLOR;
 class LLUIImage : public LLRefCount
 {
 public:
+	typedef boost::signals2::signal<void (void)> image_loaded_signal_t;
+
 	LLUIImage(const std::string& name, LLPointer<LLTexture> image);
 	virtual ~LLUIImage();
 
@@ -77,7 +80,13 @@ class LLUIImage : public LLRefCount
 	S32 getTextureWidth() const;
 	S32 getTextureHeight() const;
 
+	boost::signals2::connection addLoadedCallback( const image_loaded_signal_t::slot_type& cb );
+
+	void onImageLoaded();
+
 protected:
+	image_loaded_signal_t* mImageLoaded;
+
 	std::string			mName;
 	LLRectf				mScaleRegion;
 	LLRectf				mClipRegion;
diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h
index 8602225108414776a775b16bea4e3c8a64bb43d5..127dbf45e0a5f16244c2aadb435eacdb19a1316b 100644
--- a/indra/llwindow/llwindow.h
+++ b/indra/llwindow/llwindow.h
@@ -70,6 +70,8 @@ class LLWindow
 	virtual BOOL getMinimized() = 0;
 	virtual BOOL getMaximized() = 0;
 	virtual BOOL maximize() = 0;
+	virtual void minimize() = 0;
+	virtual void restore() = 0;
 	BOOL getFullscreen()	{ return mFullscreen; };
 	virtual BOOL getPosition(LLCoordScreen *position) = 0;
 	virtual BOOL getSize(LLCoordScreen *size) = 0;
diff --git a/indra/llwindow/llwindowheadless.h b/indra/llwindow/llwindowheadless.h
index 3cffd2bbf6b1f4a74738f036ce38689402b4697c..59fc2ec6577bc25de8619a4e4e4715f1114bd437 100644
--- a/indra/llwindow/llwindowheadless.h
+++ b/indra/llwindow/llwindowheadless.h
@@ -45,6 +45,8 @@ class LLWindowHeadless : public LLWindow
 	/*virtual*/ BOOL getMinimized() {return FALSE;};
 	/*virtual*/ BOOL getMaximized() {return FALSE;};
 	/*virtual*/ BOOL maximize() {return FALSE;};
+	/*virtual*/ void minimize() {};
+	/*virtual*/ void restore() {};
 	/*virtual*/ BOOL getFullscreen() {return FALSE;};
 	/*virtual*/ BOOL getPosition(LLCoordScreen *position) {return FALSE;};
 	/*virtual*/ BOOL getSize(LLCoordScreen *size) {return FALSE;};
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 86bbb0bcf8b05750bee689be9464354702ecfd6e..ed62faece6cfc54b3bb1f77cd32791f82a088eb8 100644
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -1033,6 +1033,7 @@ void LLWindowMacOSX::hide()
 	HideWindow(mWindow);
 }
 
+//virtual
 void LLWindowMacOSX::minimize()
 {
 	setMouseClipping(FALSE);
@@ -1040,6 +1041,7 @@ void LLWindowMacOSX::minimize()
 	CollapseWindow(mWindow, true);
 }
 
+//virtual
 void LLWindowMacOSX::restore()
 {
 	show();
diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h
index 17074080eb070bd9da994d8d748779fe8c7c77dc..fbfa07fab4d4a173e7e2af4b766ed2ebb457c941 100644
--- a/indra/llwindow/llwindowmacosx.h
+++ b/indra/llwindow/llwindowmacosx.h
@@ -56,6 +56,8 @@ class LLWindowMacOSX : public LLWindow
 	/*virtual*/ BOOL getMinimized();
 	/*virtual*/ BOOL getMaximized();
 	/*virtual*/ BOOL maximize();
+	/*virtual*/ void minimize();
+	/*virtual*/ void restore();
 	/*virtual*/ BOOL getFullscreen();
 	/*virtual*/ BOOL getPosition(LLCoordScreen *position);
 	/*virtual*/ BOOL getSize(LLCoordScreen *size);
@@ -139,9 +141,6 @@ class LLWindowMacOSX : public LLWindow
 	// Restore the display resolution to its value before we ran the app.
 	BOOL	resetDisplayResolution();
 
-	void	minimize();
-	void	restore();
-
 	BOOL	shouldPostQuit() { return mPostQuit; }
 
 
diff --git a/indra/llwindow/llwindowmesaheadless.h b/indra/llwindow/llwindowmesaheadless.h
index 46b62b914c092fc507175e94726e92323cd881a4..06146afde7e645ec11bee39080c443d657e3a080 100644
--- a/indra/llwindow/llwindowmesaheadless.h
+++ b/indra/llwindow/llwindowmesaheadless.h
@@ -49,6 +49,8 @@ class LLWindowMesaHeadless : public LLWindow
 	/*virtual*/ BOOL getMinimized() {return FALSE;};
 	/*virtual*/ BOOL getMaximized() {return FALSE;};
 	/*virtual*/ BOOL maximize() {return FALSE;};
+	/*virtual*/ void minimize() {};
+	/*virtual*/ void restore() {};
 	/*virtual*/ BOOL getFullscreen() {return FALSE;};
 	/*virtual*/ BOOL getPosition(LLCoordScreen *position) {return FALSE;};
 	/*virtual*/ BOOL getSize(LLCoordScreen *size) {return FALSE;};
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index e671fc8a83cdfe0bd9138fc2f0193f68d17eccf9..bfdf1147a1e48f9c499f93d6c2f7d18026228704 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -839,11 +839,13 @@ void LLWindowSDL::hide()
     // *FIX: What to do with SDL?
 }
 
+//virtual
 void LLWindowSDL::minimize()
 {
     // *FIX: What to do with SDL?
 }
 
+//virtual
 void LLWindowSDL::restore()
 {
     // *FIX: What to do with SDL?
diff --git a/indra/llwindow/llwindowsdl.h b/indra/llwindow/llwindowsdl.h
index dcf41291ec7a71d08696d07b73ed31d6ff2ae333..0ba1c861da883d2dcd63c91afdffc5008d680bc6 100644
--- a/indra/llwindow/llwindowsdl.h
+++ b/indra/llwindow/llwindowsdl.h
@@ -62,6 +62,8 @@ class LLWindowSDL : public LLWindow
 	/*virtual*/ BOOL getMinimized();
 	/*virtual*/ BOOL getMaximized();
 	/*virtual*/ BOOL maximize();
+	/*virtual*/ void minimize();
+	/*virtual*/ void restore();
 	/*virtual*/ BOOL getFullscreen();
 	/*virtual*/ BOOL getPosition(LLCoordScreen *position);
 	/*virtual*/ BOOL getSize(LLCoordScreen *size);
@@ -165,9 +167,6 @@ class LLWindowSDL : public LLWindow
 	// Go back to last fullscreen display resolution.
 	BOOL	setFullscreenResolution();
 
-	void	minimize();
-	void	restore();
-
 	BOOL	shouldPostQuit() { return mPostQuit; }
 
 protected:
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index c608c21d05152332fd5b243c305c44dec051a009..3b9c840e729663809b824137f564b433ee4165b7 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -643,6 +643,7 @@ void LLWindowWin32::hide()
 	ShowWindow(mWindowHandle, SW_HIDE);
 }
 
+//virtual
 void LLWindowWin32::minimize()
 {
 	setMouseClipping(FALSE);
@@ -650,7 +651,7 @@ void LLWindowWin32::minimize()
 	ShowWindow(mWindowHandle, SW_MINIMIZE);
 }
 
-
+//virtual
 void LLWindowWin32::restore()
 {
 	ShowWindow(mWindowHandle, SW_RESTORE);
diff --git a/indra/llwindow/llwindowwin32.h b/indra/llwindow/llwindowwin32.h
index e14324c9f170309213cf85ff1b341378c2ee6abc..e4e9179db7dc38284ae415eee8effc15379fed0e 100644
--- a/indra/llwindow/llwindowwin32.h
+++ b/indra/llwindow/llwindowwin32.h
@@ -54,6 +54,8 @@ class LLWindowWin32 : public LLWindow
 	/*virtual*/ BOOL getMinimized();
 	/*virtual*/ BOOL getMaximized();
 	/*virtual*/ BOOL maximize();
+	/*virtual*/ void minimize();
+	/*virtual*/ void restore();
 	/*virtual*/ BOOL getFullscreen();
 	/*virtual*/ BOOL getPosition(LLCoordScreen *position);
 	/*virtual*/ BOOL getSize(LLCoordScreen *size);
@@ -137,9 +139,6 @@ class LLWindowWin32 : public LLWindow
 	// Restore the display resolution to its value before we ran the app.
 	BOOL	resetDisplayResolution();
 
-	void	minimize();
-	void	restore();
-
 	BOOL	shouldPostQuit() { return mPostQuit; }
 
 	void	fillCompositionForm(const LLRect& bounds, COMPOSITIONFORM *form);
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 57d67bd560a73b0b1a58eb2dc1a54df6b2f4eca3..be6bce8054f6c658f563bd205db6e33bdf799f12 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -389,6 +389,7 @@ set(viewer_SOURCE_FILES
     llsplitbutton.cpp
     llsprite.cpp
     llstartup.cpp
+    llstartuplistener.cpp
     llstatusbar.cpp
     llstylemap.cpp
     llsurface.cpp
@@ -892,6 +893,7 @@ set(viewer_HEADER_FILES
     llsplitbutton.h
     llsprite.h
     llstartup.h
+    llstartuplistener.h
     llstatusbar.h
     llstylemap.h
     llsurface.h
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index ec28603d257b28e3adadb13a1b3743972924fe5c..c43032a3cf84fd02bc8dc41031a9543a664aec9c 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -1044,7 +1044,7 @@
       <key>Type</key>
       <string>S32</string>
       <key>Value</key>
-      <integer>10</integer>
+      <integer>4</integer>
     </map>
     <key>ButtonHeight</key>
     <map>
@@ -1055,7 +1055,7 @@
       <key>Type</key>
       <string>S32</string>
       <key>Value</key>
-      <integer>20</integer>
+      <integer>23</integer>
     </map>
     <key>ButtonHeightSmall</key>
     <map>
@@ -1066,7 +1066,7 @@
       <key>Type</key>
       <string>S32</string>
       <key>Value</key>
-      <integer>16</integer>
+      <integer>23</integer>
     </map>
     <key>ButtonVPad</key>
     <map>
diff --git a/indra/newview/llfloateranimpreview.cpp b/indra/newview/llfloateranimpreview.cpp
index eae2747cc93a5cb736285b7e7d4b90a808525b63..9e6ef2fc4d3143e7fc8e4235bac086c353d55bed 100644
--- a/indra/newview/llfloateranimpreview.cpp
+++ b/indra/newview/llfloateranimpreview.cpp
@@ -208,7 +208,12 @@ BOOL LLFloaterAnimPreview::postBuild()
 
 	mPlayButton = getChild<LLButton>( "play_btn");
 	mPlayButton->setClickedCallback(onBtnPlay, this);
+	mPlayButton->setVisible(true);
 
+	mPauseButton = getChild<LLButton>( "pause_btn");
+	mPauseButton->setClickedCallback(onBtnPause, this);
+	mPauseButton->setVisible(false);
+	
 	mStopButton = getChild<LLButton>( "stop_btn");
 	mStopButton->setClickedCallback(onBtnStop, this);
 
@@ -560,24 +565,60 @@ void LLFloaterAnimPreview::onBtnPlay(void* user_data)
 	if (previewp->mMotionID.notNull() && previewp->mAnimPreview)
 	{
 		LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
-
+		
 		if(!avatarp->isMotionActive(previewp->mMotionID))
 		{
 			previewp->resetMotion();
 			previewp->mPauseRequest = NULL;
+			previewp->mPauseButton->setVisible(TRUE);
+			previewp->mPauseButton->setEnabled(TRUE);
+			previewp->mPlayButton->setVisible(FALSE);
+			previewp->mPlayButton->setEnabled(FALSE);
 		}
-		else
+		else if (avatarp->areAnimationsPaused())
 		{
-			if (avatarp->areAnimationsPaused())
-			{
-				previewp->mPauseRequest = NULL;
-			}
-			else
+			
+			previewp->mPauseRequest = NULL;
+			previewp->mPauseButton->setVisible(TRUE);
+			previewp->mPauseButton->setEnabled(TRUE);
+			previewp->mPlayButton->setVisible(FALSE);
+			previewp->mPlayButton->setEnabled(FALSE);
+		}
+
+	}
+
+	
+
+}
+
+//-----------------------------------------------------------------------------
+// onBtnPause()
+//-----------------------------------------------------------------------------
+void LLFloaterAnimPreview::onBtnPause(void* user_data)
+{
+	LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)user_data;
+	if (!previewp->getEnabled())
+		return;
+	
+	if (previewp->mMotionID.notNull() && previewp->mAnimPreview)
+	{
+		LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
+
+		if(avatarp->isMotionActive(previewp->mMotionID))
+		{
+			if (!avatarp->areAnimationsPaused())
 			{
 				previewp->mPauseRequest = avatarp->requestPause();
+				
+				previewp->mPlayButton->setVisible(TRUE);
+				previewp->mPlayButton->setEnabled(TRUE);
+				previewp->mPauseButton->setVisible(FALSE);
+				previewp->mPauseButton->setEnabled(FALSE);
 			}
 		}
 	}
+
+
 }
 
 //-----------------------------------------------------------------------------
@@ -595,6 +636,10 @@ void LLFloaterAnimPreview::onBtnStop(void* user_data)
 		previewp->resetMotion();
 		previewp->mPauseRequest = avatarp->requestPause();
 	}
+	previewp->mPlayButton->setVisible(TRUE);
+	previewp->mPlayButton->setEnabled(TRUE);
+	previewp->mPauseButton->setVisible(FALSE);
+	previewp->mPauseButton->setEnabled(FALSE);
 }
 
 //-----------------------------------------------------------------------------
@@ -912,43 +957,38 @@ void LLFloaterAnimPreview::refresh()
 	{
 		childShow("bad_animation_text");
 		mPlayButton->setEnabled(FALSE);
+		mPlayButton->setVisible(TRUE);
+		mPauseButton->setVisible(FALSE);
 		mStopButton->setEnabled(FALSE);
 		childDisable("ok_btn");
 	}
 	else
 	{
 		childHide("bad_animation_text");
-		mPlayButton->setEnabled(TRUE);
 		LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar();
 		if (avatarp->isMotionActive(mMotionID))
 		{
 			mStopButton->setEnabled(TRUE);
 			LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(mMotionID);
-			if (avatarp->areAnimationsPaused())
-			{
-
-				mPlayButton->setImages(std::string("button_anim_play.tga"),
-									   std::string("button_anim_play_selected.tga"));
-
-			}
-			else
+			if (!avatarp->areAnimationsPaused())
 			{
 				if (motionp)
 				{
 					F32 fraction_complete = motionp->getLastUpdateTime() / motionp->getDuration();
 					childSetValue("playback_slider", fraction_complete);
 				}
-				mPlayButton->setImages(std::string("button_anim_pause.tga"),
-									   std::string("button_anim_pause_selected.tga"));
-
+			
+				mPlayButton->setVisible(FALSE);
+				mPauseButton->setVisible(TRUE);
+				
 			}
+		
 		}
 		else
 		{
 			mPauseRequest = avatarp->requestPause();
-			mPlayButton->setImages(std::string("button_anim_play.tga"),
-								   std::string("button_anim_play_selected.tga"));
-
+			//mPlayButton->setVisible(TRUE);
+			//mPlayButton->setEnabled(TRUE);			
 			mStopButton->setEnabled(TRUE); // stop also resets, leave enabled.
 		}
 		childEnable("ok_btn");
diff --git a/indra/newview/llfloateranimpreview.h b/indra/newview/llfloateranimpreview.h
index f1c4a6b0d08cdbd34dfa245689228df9e1d78c8d..09b04f1f422443fc71f8ea730ede6d611f39c666 100644
--- a/indra/newview/llfloateranimpreview.h
+++ b/indra/newview/llfloateranimpreview.h
@@ -87,6 +87,7 @@ class LLFloaterAnimPreview : public LLFloaterNameDesc
 	void refresh();
 
 	static void	onBtnPlay(void*);
+	static void	onBtnPause(void*);	
 	static void	onBtnStop(void*);
 	static void onSliderMove(LLUICtrl*, void*);
 	static void onCommitBaseAnim(LLUICtrl*, void*);
@@ -119,6 +120,7 @@ class LLFloaterAnimPreview : public LLFloaterNameDesc
 	S32					mLastMouseX;
 	S32					mLastMouseY;
 	LLButton*			mPlayButton;
+	LLButton*			mPauseButton;	
 	LLButton*			mStopButton;
 	LLRect				mPreviewRect;
 	LLRectf				mPreviewImageRect;
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 1c1f27a25935b31c163026541d7f9d2d1be30e39..ab27375b87e4fd475fd82c2a47586f6d3c84e03f 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -251,7 +251,7 @@ bool callback_skip_dialogs(const LLSD& notification, const LLSD& response, LLFlo
 		{
 			floater->setAllIgnored();
 			LLFirstUse::disableFirstUse();
-			LLFloaterPreference::buildLists(floater);
+			floater->buildPopupLists();
 		}
 	}
 	return false;
@@ -266,7 +266,7 @@ bool callback_reset_dialogs(const LLSD& notification, const LLSD& response, LLFl
 		{
 			floater->resetAllIgnored();
 			LLFirstUse::resetFirstUse();
-			LLFloaterPreference::buildLists(floater);
+			floater->buildPopupLists();
 		}
 	}
 	return false;
@@ -391,6 +391,7 @@ LLFloaterPreference::~LLFloaterPreference()
 		ctrl_window_size->setCurrentByIndex(i);
 	}
 }
+
 void LLFloaterPreference::draw()
 {
 	BOOL has_first_selected = (getChildRef<LLScrollListCtrl>("disabled_popups").getFirstSelected()!=NULL);
@@ -548,17 +549,17 @@ void LLFloaterPreference::cancel()
 void LLFloaterPreference::onOpen(const LLSD& key)
 {
 	gAgent.sendAgentUserInfoRequest();
+
 	/////////////////////////// From LLPanelGeneral //////////////////////////
 	// if we have no agent, we can't let them choose anything
 	// if we have an agent, then we only let them choose if they have a choice
-	bool canChoose = gAgent.getID().notNull() &&
-	(gAgent.isMature() || gAgent.isGodlike());
+	bool can_choose_maturity =
+		gAgent.getID().notNull() &&	(gAgent.isMature() || gAgent.isGodlike());
 	
 	LLComboBox* maturity_combo = getChild<LLComboBox>("maturity_desired_combobox");
 	
-	if (canChoose)
-	{
-		
+	if (can_choose_maturity)
+	{		
 		// if they're not adult or a god, they shouldn't see the adult selection, so delete it
 		if (!gAgent.isAdult() && !gAgent.isGodlike())
 		{
@@ -568,8 +569,7 @@ void LLFloaterPreference::onOpen(const LLSD& key)
 			maturity_combo->remove(0);
 		}
 		childSetVisible("maturity_desired_combobox", true);
-		childSetVisible("maturity_desired_textbox", false);
-		
+		childSetVisible("maturity_desired_textbox", false);		
 	}
 	else
 	{
@@ -577,6 +577,10 @@ void LLFloaterPreference::onOpen(const LLSD& key)
 		childSetVisible("maturity_desired_combobox", false);
 	}
 	
+	// Enabled/disabled popups, might have been changed by user actions
+	// while preferences floater was closed.
+	buildPopupLists();
+
 	LLPanelLogin::setAlwaysRefresh(true);
 	refresh();
 	
@@ -717,14 +721,6 @@ void LLFloaterPreference::updateMeterText(LLUICtrl* ctrl)
 	m1->setVisible(two_digits);
 	m2->setVisible(!two_digits);
 }
-/*
-void LLFloaterPreference::onClickClearCache()
-{
-	// flag client cache for clearing next time the client runs
-	gSavedSettings.setBOOL("PurgeCacheOnNextStartup", TRUE);
-	LLNotificationsUtil::add("CacheWillClear");
-}
-*/
 
 void LLFloaterPreference::onClickBrowserClearCache()
 {
@@ -794,12 +790,13 @@ void LLFloaterPreference::refreshSkin(void* data)
 	self->getChild<LLRadioGroup>("skin_selection", true)->setValue(sSkin);
 }
 
-// static
-void LLFloaterPreference::buildLists(void* data)
+
+void LLFloaterPreference::buildPopupLists()
 {
-	LLPanel*self = (LLPanel*)data;
-	LLScrollListCtrl& disabled_popups = self->getChildRef<LLScrollListCtrl>("disabled_popups");
-	LLScrollListCtrl& enabled_popups = self->getChildRef<LLScrollListCtrl>("enabled_popups");
+	LLScrollListCtrl& disabled_popups =
+		getChildRef<LLScrollListCtrl>("disabled_popups");
+	LLScrollListCtrl& enabled_popups =
+		getChildRef<LLScrollListCtrl>("enabled_popups");
 	
 	disabled_popups.deleteAllItems();
 	enabled_popups.deleteAllItems();
@@ -861,8 +858,7 @@ void LLFloaterPreference::buildLists(void* data)
 }
 
 void LLFloaterPreference::refreshEnabledState()
-{
-	
+{	
 	LLCheckBoxCtrl* ctrl_reflections = getChild<LLCheckBoxCtrl>("Reflections");
 	LLRadioGroup* radio_reflection_detail = getChild<LLRadioGroup>("ReflectionDetailRadio");
 	
@@ -1111,7 +1107,7 @@ void LLFloaterPreference::onClickEnablePopup()
 		LLUI::sSettingGroups["ignores"]->setBOOL(notification_name, TRUE);
 	}
 	
-	buildLists(this);
+	buildPopupLists();
 }
 
 void LLFloaterPreference::onClickDisablePopup()
@@ -1128,8 +1124,9 @@ void LLFloaterPreference::onClickDisablePopup()
 		LLUI::sSettingGroups["ignores"]->setBOOL(notification_name, FALSE);
 	}
 	
-	buildLists(this);
+	buildPopupLists();
 }
+
 void LLFloaterPreference::resetAllIgnored()
 {
 	for (LLNotifications::TemplateMap::const_iterator iter = LLNotifications::instance().templatesBegin();
@@ -1428,17 +1425,11 @@ BOOL LLPanelPreference::postBuild()
 		}
 
 	}
-	////////////////////////Panel Popups/////////////////
-	if(hasChild("disabled_popups") && hasChild("enabled_popups"))
-	{
-		LLFloaterPreference::buildLists(this);
-	}
-	//////
+
 	if(hasChild("online_visibility") && hasChild("send_im_to_email"))
 	{
 		childSetText("email_address",getString("log_in_to_change") );
-//		childSetText("busy_response", getString("log_in_to_change"));
-		
+//		childSetText("busy_response", getString("log_in_to_change"));		
 	}
 
 
@@ -1573,8 +1564,7 @@ void LLPanelPreference::saveSettings()
 		{
 			view_stack.push_back(*iter);
 		}
-	}
-	
+	}	
 }
 
 void LLPanelPreference::cancel()
@@ -1607,4 +1597,3 @@ void LLPanelPreference::setControlFalse(const LLSD& user_data)
 	if (control)
 		control->set(LLSD(FALSE));
 }
-
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h
index a30422564aec1cc9c455a5d82f82a62d51a1f6c7..d292f3bb7b7c7b44996cb0ab8226d610cecf084c 100644
--- a/indra/newview/llfloaterpreference.h
+++ b/indra/newview/llfloaterpreference.h
@@ -85,7 +85,6 @@ class LLFloaterPreference : public LLFloater
 	void		onBtnCancel();
 	void		onBtnApply();
 
-//	void		onClickClearCache();
 	void		onClickBrowserClearCache();
 
 	// if the custom settings box is clicked
@@ -141,7 +140,7 @@ class LLFloaterPreference : public LLFloater
 	
 	static void initWindowSizeControls(LLPanel* panelp);
 	
-	static void buildLists(void* data);
+	void buildPopupLists();
 	static void refreshSkin(void* data);
 	static void cleanupBadSetting();
 	static F32 sAspectRatio;	
@@ -153,7 +152,6 @@ class LLFloaterPreference : public LLFloater
 	
 	bool mOriginalHideOnlineStatus;
 	std::string mDirectoryVisibility;
-
 };
 
 class LLPanelPreference : public LLPanel
diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp
index 63511301b316d0f0766d7e61ff94bf9957345f83..5bef3064851ef3223dcc1e9224e456cf0eca49b3 100644
--- a/indra/newview/llfolderviewitem.cpp
+++ b/indra/newview/llfolderviewitem.cpp
@@ -62,6 +62,7 @@ const F32 LLFolderViewItem::FOLDER_OPEN_TIME_CONSTANT = 0.03f;
 
 const LLColor4U DEFAULT_WHITE(255, 255, 255);
 
+
 //static
 LLFontGL* LLFolderViewItem::getLabelFontForStyle(U8 style)
 {
@@ -387,7 +388,9 @@ BOOL LLFolderViewItem::addToFolder(LLFolderViewFolder* folder, LLFolderView* roo
 // makes sure that this view and it's children are the right size.
 S32 LLFolderViewItem::arrange( S32* width, S32* height, S32 filter_generation)
 {
-	mIndentation = getParentFolder() && getParentFolder()->getParentFolder() 
+	mIndentation = (getParentFolder() 
+					&& getParentFolder()->getParentFolder() 
+					&& getParentFolder()->getParentFolder()->getParentFolder())
 		? mParentFolder->getIndentation() + LEFT_INDENTATION 
 		: 0;
 	if (mLabelWidthDirty)
@@ -735,15 +738,6 @@ BOOL LLFolderViewItem::handleDoubleClick( S32 x, S32 y, MASK mask )
 	return TRUE;
 }
 
-BOOL LLFolderViewItem::handleScrollWheel(S32 x, S32 y, S32 clicks)
-{
-	if (getParent())
-	{
-		return getParent()->handleScrollWheel(x, y, clicks);
-	}
-	return FALSE;
-}
-
 BOOL LLFolderViewItem::handleMouseUp( S32 x, S32 y, MASK mask )
 {
 	if (LLView::childrenHandleMouseUp(x, y, mask))
@@ -2153,12 +2147,6 @@ BOOL LLFolderViewFolder::handleHover(S32 x, S32 y, MASK mask)
 		handled = LLFolderViewItem::handleHover(x, y, mask);
 	}
 
-	//if(x < LEFT_INDENTATION + mIndentation && x > mIndentation - LEFT_PAD && y > getRect().getHeight() - )
-	//{
-	//	gViewerWindow->setCursor(UI_CURSOR_ARROW);
-	//	mExpanderHighlighted = TRUE;
-	//	handled = TRUE;
-	//}
 	return handled;
 }
 
@@ -2171,7 +2159,7 @@ BOOL LLFolderViewFolder::handleMouseDown( S32 x, S32 y, MASK mask )
 	}
 	if( !handled )
 	{
-		if(x < LEFT_INDENTATION + mIndentation && x > mIndentation - LEFT_PAD)
+		if(mIndentation < x && x < mIndentation + ARROW_SIZE + TEXT_PAD)
 		{
 			toggleOpen();
 			handled = TRUE;
@@ -2205,7 +2193,7 @@ BOOL LLFolderViewFolder::handleDoubleClick( S32 x, S32 y, MASK mask )
 	}
 	if( !handled )
 	{
-		if(x < LEFT_INDENTATION + mIndentation && x > mIndentation - LEFT_PAD)
+		if(mIndentation < x && x < mIndentation + ARROW_SIZE + TEXT_PAD)
 		{
 			// don't select when user double-clicks plus sign
 			// so as not to contradict single-click behavior
diff --git a/indra/newview/llfolderviewitem.h b/indra/newview/llfolderviewitem.h
index f6264ec968a39572164abdf4b4a7da31a92a9dc8..0ea031108bdb1e70f545126bc270daec77c97f76 100644
--- a/indra/newview/llfolderviewitem.h
+++ b/indra/newview/llfolderviewitem.h
@@ -110,7 +110,7 @@ class LLFolderViewItem : public LLView
 
 	// layout constants
 	static const S32 LEFT_PAD = 5;
-	static const S32 LEFT_INDENTATION = 8;
+	static const S32 LEFT_INDENTATION = 2;
 	static const S32 ICON_PAD = 2;
 	static const S32 ICON_WIDTH = 16;
 	static const S32 TEXT_PAD = 1;
@@ -319,7 +319,6 @@ class LLFolderViewItem : public LLView
 	virtual BOOL handleHover( S32 x, S32 y, MASK mask );
 	virtual BOOL handleMouseUp( S32 x, S32 y, MASK mask );
 	virtual BOOL handleDoubleClick( S32 x, S32 y, MASK mask );
-	virtual BOOL handleScrollWheel(S32 x, S32 y, S32 clicks);
 
 	//	virtual void handleDropped();
 	virtual void draw();
diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp
index 758d8ff90365dc59fd44d143ce7e59f858a349ea..98ca339f0c2a6c16b99fca8ceb7c929ea8015778 100644
--- a/indra/newview/lllocationinputctrl.cpp
+++ b/indra/newview/lllocationinputctrl.cpp
@@ -810,13 +810,8 @@ void LLLocationInputCtrl::updateWidgetlayout()
 {
 	const LLRect&	rect			= getLocalRect();
 	const LLRect&	hist_btn_rect	= mButton->getRect();
-	LLRect			info_btn_rect	= mInfoBtn->getRect();
 
-	// info button
-	info_btn_rect.setOriginAndSize(
-		2, (rect.getHeight() - info_btn_rect.getHeight()) / 2,
-		info_btn_rect.getWidth(), info_btn_rect.getHeight());
-	mInfoBtn->setRect(info_btn_rect);
+	// Info button is set in the XUI XML location_input.xml
 
 	// "Add Landmark" button
 	LLRect al_btn_rect = mAddLandmarkBtn->getRect();
diff --git a/indra/newview/llloginhandler.cpp b/indra/newview/llloginhandler.cpp
index 2a1f42c3c4bf2828ebe43a0514c68ba2b7478cfe..1be3430e07ce653795aeeee44f8e619827e1bdf6 100644
--- a/indra/newview/llloginhandler.cpp
+++ b/indra/newview/llloginhandler.cpp
@@ -40,9 +40,12 @@
 #include "llurlsimstring.h"
 #include "llviewercontrol.h"		// gSavedSettings
 #include "llviewernetwork.h"		// EGridInfo
+#include "llviewerwindow.h"			// getWindow()
 
 // library includes
 #include "llmd5.h"
+#include "llweb.h"
+#include "llwindow.h"
 
 
 // Must have instance to auto-register with LLCommandDispatcher
@@ -174,6 +177,32 @@ bool LLLoginHandler::handle(const LLSD& tokens,
 		return true;
 	}
 
+	if (tokens.size() == 1
+		&& tokens[0].asString() == "reg")
+	{
+		LLWindow* window = gViewerWindow->getWindow();
+		window->incBusyCount();
+		window->setCursor(UI_CURSOR_ARROW);
+
+		// Do this first, as it may be slow and we want to keep something
+		// on the user's screen as long as possible
+		LLWeb::loadURLExternal( "http://join.eniac15.lindenlab.com/" );
+
+		window->decBusyCount();
+		window->setCursor(UI_CURSOR_ARROW);
+
+		// Then hide the window
+		window->minimize();
+		return true;
+	}
+
+	// Make sure window is visible
+	LLWindow* window = gViewerWindow->getWindow();
+	if (window->getMinimized())
+	{
+		window->restore();
+	}
+
 	parse(query_map);
 	
 	//if we haven't initialized stuff yet, this is 
diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp
index e65b7d8a0c61a2ee7742e75bd76ac6a69d27df65..9797c013711ee48ff9e7c67f95b4869776611fab 100644
--- a/indra/newview/llnavigationbar.cpp
+++ b/indra/newview/llnavigationbar.cpp
@@ -82,9 +82,24 @@ class LLTeleportHistoryMenuItem : public LLMenuItemCallGL
 
 	struct Params : public LLInitParam::Block<Params, LLMenuItemCallGL::Params>
 	{
-		Mandatory<EType> item_type;
-
-		Params() {}
+		Mandatory<EType>		item_type;
+		Optional<const LLFontGL*> back_item_font,
+								current_item_font,
+								forward_item_font;
+		Optional<std::string>	back_item_image,
+								forward_item_image;
+		Optional<S32>			image_hpad,
+								image_vpad;
+		Params()
+		:	item_type(),
+			back_item_font("back_item_font"),
+			current_item_font("current_item_font"),
+			forward_item_font("forward_item_font"),
+			back_item_image("back_item_image"),
+			forward_item_image("forward_item_image"),
+			image_hpad("image_hpad"),
+			image_vpad("image_vpad")
+		{}
 	};
 
 	/*virtual*/ void	draw();
@@ -97,33 +112,38 @@ class LLTeleportHistoryMenuItem : public LLMenuItemCallGL
 
 	static const S32			ICON_WIDTH			= 16;
 	static const S32			ICON_HEIGHT			= 16;
-	static const std::string	ICON_IMG_BACKWARD;
-	static const std::string	ICON_IMG_FORWARD;
 
 	LLIconCtrl*		mArrowIcon;
 };
 
-const std::string LLTeleportHistoryMenuItem::ICON_IMG_BACKWARD("teleport_history_backward.tga");
-const std::string LLTeleportHistoryMenuItem::ICON_IMG_FORWARD("teleport_history_forward.tga");
+static LLDefaultChildRegistry::Register<LLTeleportHistoryMenuItem> r("teleport_history_menu_item");
+
 
 LLTeleportHistoryMenuItem::LLTeleportHistoryMenuItem(const Params& p)
 :	LLMenuItemCallGL(p),
 	mArrowIcon(NULL)
 {
 	// Set appearance depending on the item type.
-	if (p.item_type  == TYPE_CURRENT)
+	if (p.item_type == TYPE_BACKWARD)
+	{
+		setFont( p.back_item_font );
+		setLabel(std::string("   ") + std::string(p.label));
+	}
+	else if (p.item_type == TYPE_CURRENT)
 	{
-		setFont(LLFontGL::getFontSansSerifBold());
+		setFont( p.current_item_font );
 	}
 	else
 	{
-		setFont(LLFontGL::getFontSansSerif());
+		setFont( p.forward_item_font );
 		setLabel(std::string("   ") + std::string(p.label));
 	}
 
 	LLIconCtrl::Params icon_params;
 	icon_params.name("icon");
-	icon_params.rect(LLRect(0, ICON_HEIGHT, ICON_WIDTH, 0));
+	LLRect rect(0, ICON_HEIGHT, ICON_WIDTH, 0);
+	rect.translate( p.image_hpad, p.image_vpad );
+	icon_params.rect( rect );
 	icon_params.mouse_opaque(false);
 	icon_params.follows.flags(FOLLOWS_LEFT | FOLLOWS_TOP);
 	icon_params.visible(false);
@@ -132,9 +152,9 @@ LLTeleportHistoryMenuItem::LLTeleportHistoryMenuItem(const Params& p)
 
 	// no image for the current item
 	if (p.item_type == TYPE_BACKWARD)
-		mArrowIcon->setValue(ICON_IMG_BACKWARD);
+		mArrowIcon->setValue( p.back_item_image() );
 	else if (p.item_type == TYPE_FORWARD)
-		mArrowIcon->setValue(ICON_IMG_FORWARD);
+		mArrowIcon->setValue( p.forward_item_image() );
 
 	addChild(mArrowIcon);
 }
diff --git a/indra/newview/llpanelprimmediacontrols.cpp b/indra/newview/llpanelprimmediacontrols.cpp
index aa2b7d4554b0f61b827552ff87e0d5d2acc016d0..3fe51106e4b34a56af0709feb45186ecf6d87191 100644
--- a/indra/newview/llpanelprimmediacontrols.cpp
+++ b/indra/newview/llpanelprimmediacontrols.cpp
@@ -150,7 +150,7 @@ BOOL LLPanelPrimMediaControls::postBuild()
 	mSkipFwdCtrl			= getChild<LLUICtrl>("skip_forward");
 	mSkipBackCtrl			= getChild<LLUICtrl>("skip_back");
 	mVolumeCtrl				= getChild<LLUICtrl>("media_volume");
-	mVolumeBtn				= getChild<LLButton>("media_volume_button");
+	mMuteBtn				= getChild<LLButton>("media_mute_button");
 	mVolumeUpCtrl			= getChild<LLUICtrl>("volume_up");
 	mVolumeDownCtrl			= getChild<LLUICtrl>("volume_down");
 	mVolumeSliderCtrl       = getChild<LLSliderCtrl>("volume_slider");
@@ -200,7 +200,7 @@ BOOL LLPanelPrimMediaControls::postBuild()
 		mScrollDownCtrl->setHeldDownCallback(onScrollDownHeld, this);
 		mScrollDownCtrl->setMouseUpCallback(onScrollStop, this);
 	}
-	
+		
 	mMediaAddress->setFocusReceivedCallback(boost::bind(&LLPanelPrimMediaControls::onInputURL, _1, this ));
 	mInactiveTimeout = gSavedSettings.getF32("MediaControlTimeout");
 	mControlFadeTime = gSavedSettings.getF32("MediaControlFadeTime");
@@ -215,11 +215,15 @@ void LLPanelPrimMediaControls::setMediaFace(LLPointer<LLViewerObject> objectp, S
 {
 	if (media_impl.notNull() && objectp.notNull())
 	{
+		LLUUID prev_id = mTargetImplID;
 		mTargetImplID = media_impl->getMediaTextureID();
 		mTargetObjectID = objectp->getID();
 		mTargetObjectFace = face;
 		mTargetObjectNormal = pick_normal;
 		mClearFaceOnFade = false;
+		
+		if (prev_id != mTargetImplID)
+			mVolumeSliderCtrl->setValue(media_impl->getVolume());
 	}
 	else
 	{
@@ -308,13 +312,12 @@ void LLPanelPrimMediaControls::updateShape()
 			enabled = dynamic_cast<LLVOVolume*>(objectp)->hasMediaPermission(media_data, LLVOVolume::MEDIA_PERM_CONTROL);
 			mini_controls = (LLMediaEntry::MINI == media_data->getControls());
 		}
-		
 		const bool is_hud = objectp->isHUDAttachment();
 		
 		//
 		// Set the state of the buttons
 		//
-				
+		
 		// XXX RSP: TODO: FIXME: clean this up so that it is clearer what mode we are in,
 		// and that only the proper controls get made visible/enabled according to that mode. 
 		mBackCtrl->setVisible(has_focus);
@@ -343,7 +346,7 @@ void LLPanelPrimMediaControls::updateShape()
 		mStopCtrl->setEnabled(has_focus && can_navigate);
 		mHomeCtrl->setEnabled(has_focus && can_navigate);
 		LLPluginClassMediaOwner::EMediaStatus result = ((media_impl != NULL) && media_impl->hasMedia()) ? media_plugin->getStatus() : LLPluginClassMediaOwner::MEDIA_NONE;
-
+		
 		if(media_plugin && media_plugin->pluginSupportsMediaTime())
 		{
 			mReloadCtrl->setEnabled(false);
@@ -360,14 +363,14 @@ void LLPanelPrimMediaControls::updateShape()
 			mSkipFwdCtrl->setEnabled(has_focus && !mini_controls);
 			mSkipBackCtrl->setVisible(has_focus && !mini_controls);
 			mSkipBackCtrl->setEnabled(has_focus && !mini_controls);
-				
+			
 			mVolumeCtrl->setVisible(has_focus);
 			mVolumeUpCtrl->setVisible(has_focus);
 			mVolumeDownCtrl->setVisible(has_focus);
 			mVolumeCtrl->setEnabled(has_focus);
 			mVolumeSliderCtrl->setEnabled(has_focus && mVolumeSliderVisible);
 			mVolumeSliderCtrl->setVisible(has_focus && mVolumeSliderVisible);
-
+			
 			mWhitelistIcon->setVisible(false);
 			mSecureLockIcon->setVisible(false);
 			if (mMediaPanelScroll)
@@ -378,7 +381,7 @@ void LLPanelPrimMediaControls::updateShape()
 				mScrollRightCtrl->setVisible(false);
 				mScrollDownCtrl->setVisible(false);
 			}
-				
+			
 			F32 volume = media_impl->getVolume();
 			// movie's url changed
 			if(mCurrentURL!=mPreviousURL)
@@ -386,7 +389,7 @@ void LLPanelPrimMediaControls::updateShape()
 				mMovieDuration = media_plugin->getDuration();
 				mPreviousURL = mCurrentURL;
 			}
-				
+			
 			if(mMovieDuration == 0) 
 			{
 				mMovieDuration = media_plugin->getDuration();
@@ -394,7 +397,7 @@ void LLPanelPrimMediaControls::updateShape()
 				mMediaPlaySliderCtrl->setEnabled(false);
 			}
 			// TODO: What if it's not fully loaded
-					
+			
 			if(mUpdateSlider && mMovieDuration!= 0)
 			{
 				F64 current_time =  media_plugin->getCurrentTime();
@@ -402,29 +405,27 @@ void LLPanelPrimMediaControls::updateShape()
 				mMediaPlaySliderCtrl->setValue(percent);
 				mMediaPlaySliderCtrl->setEnabled(true);
 			}
-				
+			
 			// video vloume
 			if(volume <= 0.0)
 			{
 				mVolumeUpCtrl->setEnabled(TRUE);
 				mVolumeDownCtrl->setEnabled(FALSE);
-				media_impl->setVolume(0.0);
-				mVolumeBtn->setToggleState(true);
+				mMuteBtn->setToggleState(true);
 			}
 			else if (volume >= 1.0)
 			{
 				mVolumeUpCtrl->setEnabled(FALSE);
 				mVolumeDownCtrl->setEnabled(TRUE);
-				media_impl->setVolume(1.0);
-				mVolumeBtn->setToggleState(false);
+				mMuteBtn->setToggleState(false);
 			}
 			else
 			{
+				mMuteBtn->setToggleState(false);
 				mVolumeUpCtrl->setEnabled(TRUE);
 				mVolumeDownCtrl->setEnabled(TRUE);
 			}
-			mVolumeSliderCtrl->setValue(volume);
-				
+			
 			switch(result)
 			{
 				case LLPluginClassMediaOwner::MEDIA_PLAYING:
@@ -453,7 +454,7 @@ void LLPanelPrimMediaControls::updateShape()
 			{
 				mCurrentURL.clear();
 			}
-				
+			
 			mPlayCtrl->setVisible(FALSE);
 			mPauseCtrl->setVisible(FALSE);
 			mMediaStopCtrl->setVisible(FALSE);
@@ -465,7 +466,7 @@ void LLPanelPrimMediaControls::updateShape()
 			mSkipFwdCtrl->setEnabled(FALSE);
 			mSkipBackCtrl->setVisible(FALSE);
 			mSkipBackCtrl->setEnabled(FALSE);
-				
+			
 			mVolumeCtrl->setVisible(FALSE);
 			mVolumeUpCtrl->setVisible(FALSE);
 			mVolumeDownCtrl->setVisible(FALSE);
@@ -491,13 +492,13 @@ void LLPanelPrimMediaControls::updateShape()
 			{
 				mSecureLockIcon->setVisible(has_focus);
 			}
-				
+			
 			if(mCurrentURL!=mPreviousURL)
 			{
 				setCurrentURL();
 				mPreviousURL = mCurrentURL;
 			}
-
+			
 			if(result == LLPluginClassMediaOwner::MEDIA_LOADING)
 			{
 				mReloadCtrl->setEnabled(FALSE);
@@ -513,7 +514,7 @@ void LLPanelPrimMediaControls::updateShape()
 				mStopCtrl->setVisible(FALSE);
 			}
 		}
-
+		
 		
 		if(media_plugin)
 		{
@@ -530,7 +531,7 @@ void LLPanelPrimMediaControls::updateShape()
 				mMediaProgressPanel->setVisible(false);
 			}
 		}
-
+		
 		if(media_impl)
 		{
 			//
@@ -538,28 +539,28 @@ void LLPanelPrimMediaControls::updateShape()
 			//
 			switch (mScrollState) 
 			{
-			case SCROLL_UP:
-				media_impl->scrollWheel(0, -1, MASK_NONE);
-				break;
-			case SCROLL_DOWN:
-				media_impl->scrollWheel(0, 1, MASK_NONE);
-				break;
-			case SCROLL_LEFT:
-				media_impl->scrollWheel(1, 0, MASK_NONE);
-//				media_impl->handleKeyHere(KEY_LEFT, MASK_NONE);
-				break;
-			case SCROLL_RIGHT:
-				media_impl->scrollWheel(-1, 0, MASK_NONE);
-//				media_impl->handleKeyHere(KEY_RIGHT, MASK_NONE);
-				break;
-			case SCROLL_NONE:
-			default:
-				break;
+				case SCROLL_UP:
+					media_impl->scrollWheel(0, -1, MASK_NONE);
+					break;
+				case SCROLL_DOWN:
+					media_impl->scrollWheel(0, 1, MASK_NONE);
+					break;
+				case SCROLL_LEFT:
+					media_impl->scrollWheel(1, 0, MASK_NONE);
+					//				media_impl->handleKeyHere(KEY_LEFT, MASK_NONE);
+					break;
+				case SCROLL_RIGHT:
+					media_impl->scrollWheel(-1, 0, MASK_NONE);
+					//				media_impl->handleKeyHere(KEY_RIGHT, MASK_NONE);
+					break;
+				case SCROLL_NONE:
+				default:
+					break;
 			}
 		}
 		
 		setVisible(enabled);
-
+		
 		//
 		// Calculate position and shape of the controls
 		//
@@ -569,31 +570,31 @@ void LLPanelPrimMediaControls::updateShape()
 		std::vector<LLVector3>::iterator vert_it;
 		std::vector<LLVector3>::iterator vert_end;
 		std::vector<LLVector3> vect_face;
-			
+		
 		LLVolume* volume = objectp->getVolume();
-			
+		
 		if (volume)
 		{
 			const LLVolumeFace& vf = volume->getVolumeFace(mTargetObjectFace);
-				
+			
 			const LLVector3* ext = vf.mExtents;
-				
+			
 			LLVector3 center = (ext[0]+ext[1])*0.5f;
 			LLVector3 size = (ext[1]-ext[0])*0.5f;
 			LLVector3 vert[] =
-				{
-					center + size.scaledVec(LLVector3(1,1,1)),
-					center + size.scaledVec(LLVector3(-1,1,1)),
-					center + size.scaledVec(LLVector3(1,-1,1)),
-					center + size.scaledVec(LLVector3(-1,-1,1)),
-					center + size.scaledVec(LLVector3(1,1,-1)),
-					center + size.scaledVec(LLVector3(-1,1,-1)),
-					center + size.scaledVec(LLVector3(1,-1,-1)),
-					center + size.scaledVec(LLVector3(-1,-1,-1)),
-				};
-				
+			{
+				center + size.scaledVec(LLVector3(1,1,1)),
+				center + size.scaledVec(LLVector3(-1,1,1)),
+				center + size.scaledVec(LLVector3(1,-1,1)),
+				center + size.scaledVec(LLVector3(-1,-1,1)),
+				center + size.scaledVec(LLVector3(1,1,-1)),
+				center + size.scaledVec(LLVector3(-1,1,-1)),
+				center + size.scaledVec(LLVector3(1,-1,-1)),
+				center + size.scaledVec(LLVector3(-1,-1,-1)),
+			};
+			
 			LLVOVolume* vo = (LLVOVolume*) objectp;
-				
+			
 			for (U32 i = 0; i < 8; i++)
 			{
 				vect_face.push_back(vo->volumePositionToAgent(vert[i]));
@@ -601,7 +602,7 @@ void LLPanelPrimMediaControls::updateShape()
 		}
 		vert_it = vect_face.begin();
 		vert_end = vect_face.end();
-			
+		
 		min = LLVector3(1,1,1);
 		max = LLVector3(-1,-1,-1);
 		for(; vert_it != vert_end; ++vert_it)
@@ -609,19 +610,19 @@ void LLPanelPrimMediaControls::updateShape()
 			// project silhouette vertices into screen space
 			glh::vec3f screen_vert = glh::vec3f(vert_it->mV); 
 			mat.mult_matrix_vec(screen_vert);
-				
+			
 			// add to screenspace bounding box
 			update_min_max(min, max, LLVector3(screen_vert.v));
 		}
-			
+		
 		LLCoordGL screen_min;
 		screen_min.mX = llround((F32)gViewerWindow->getWorldViewWidthScaled() * (min.mV[VX] + 1.f) * 0.5f);
 		screen_min.mY = llround((F32)gViewerWindow->getWorldViewHeightScaled() * (min.mV[VY] + 1.f) * 0.5f);
-
+		
 		LLCoordGL screen_max;
 		screen_max.mX = llround((F32)gViewerWindow->getWorldViewWidthScaled() * (max.mV[VX] + 1.f) * 0.5f);
 		screen_max.mY = llround((F32)gViewerWindow->getWorldViewHeightScaled() * (max.mV[VY] + 1.f) * 0.5f);
-
+		
 		// grow panel so that screenspace bounding box fits inside "media_region" element of HUD
 		LLRect media_controls_rect;
 		S32 volume_slider_height = mVolumeSliderCtrl->getRect().getHeight() - /*fudge*/ 2;
@@ -636,19 +637,19 @@ void LLPanelPrimMediaControls::updateShape()
 		
 		// clamp to minimum size, keeping centered
 		media_controls_rect.setCenterAndSize(media_controls_rect.getCenterX(), media_controls_rect.getCenterY(),
-			llmax(mMinWidth, media_controls_rect.getWidth()), llmax(mMinHeight, media_controls_rect.getHeight()));
-
+											 llmax(mMinWidth, media_controls_rect.getWidth()), llmax(mMinHeight, media_controls_rect.getHeight()));
+		
 		setShape(media_controls_rect, true);
-
+		
 		// Test mouse position to see if the cursor is stationary
 		LLCoordWindow cursor_pos_window;
 		getWindow()->getCursorPosition(&cursor_pos_window);
-
+		
 		// If last pos is not equal to current pos, the mouse has moved
 		// We need to reset the timer, and make sure the panel is visible
 		if(cursor_pos_window.mX != mLastCursorPos.mX ||
-			cursor_pos_window.mY != mLastCursorPos.mY ||
-			mScrollState != SCROLL_NONE)
+		   cursor_pos_window.mY != mLastCursorPos.mY ||
+		   mScrollState != SCROLL_NONE)
 		{
 			mInactivityTimer.start();
 			mLastCursorPos = cursor_pos_window;
@@ -673,7 +674,7 @@ void LLPanelPrimMediaControls::updateShape()
 		else
 		{
 			// I don't think this is correct anymore.  This is done in draw() after the fade has completed.
-//			setVisible(FALSE);
+			//			setVisible(FALSE);
 		}
 	}
 }
@@ -1193,7 +1194,7 @@ void LLPanelPrimMediaControls::onCommitVolumeUp()
 		}
 		
 		media_impl->setVolume(volume);
-		mVolumeBtn->setToggleState(false);
+		mMuteBtn->setToggleState(false);
 	}
 }		
 
@@ -1213,7 +1214,7 @@ void LLPanelPrimMediaControls::onCommitVolumeDown()
 		}
 
 		media_impl->setVolume(volume);
-		mVolumeBtn->setToggleState(false);
+		mMuteBtn->setToggleState(false);
 	}
 }		
 
@@ -1243,7 +1244,7 @@ void LLPanelPrimMediaControls::onToggleMute()
 		}
 		else 
 		{
-			media_impl->setVolume(0.5);
+			media_impl->setVolume(mVolumeSliderCtrl->getValueF32());
 		}
 	}
 }
diff --git a/indra/newview/llpanelprimmediacontrols.h b/indra/newview/llpanelprimmediacontrols.h
index 06163051a5d39066cff3bad1a68d21f7b5871689..17e65b8b0c3698eec57b4079524bcbb288647da5 100644
--- a/indra/newview/llpanelprimmediacontrols.h
+++ b/indra/newview/llpanelprimmediacontrols.h
@@ -153,7 +153,7 @@ class LLPanelPrimMediaControls : public LLPanel
 	LLUICtrl *mMediaPlaySliderPanel;
 	LLUICtrl *mMediaPlaySliderCtrl;
 	LLUICtrl *mVolumeCtrl;
-	LLButton *mVolumeBtn;
+	LLButton *mMuteBtn;
 	LLUICtrl *mVolumeUpCtrl;
 	LLUICtrl *mVolumeDownCtrl;
 	LLSliderCtrl *mVolumeSliderCtrl;
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index be0c92a76d89fea0ef872465fce6ffe9036584eb..f3d161ce1e58f64a05de079a95e3feccc8c21e02 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -193,6 +193,7 @@
 
 #include "lllogin.h"
 #include "llevents.h"
+#include "llstartuplistener.h"
 
 #if LL_WINDOWS
 #include "llwindebug.h"
@@ -241,7 +242,8 @@ static std::string gFirstSimSeedCap;
 static LLVector3 gAgentStartLookAt(1.0f, 0.f, 0.f);
 static std::string gAgentStartLocation = "safe";
 
-static LLEventStream sStartupStateWatcher("StartupState");
+boost::scoped_ptr<LLEventPump> LLStartUp::sStateWatcher(new LLEventStream("StartupState"));
+boost::scoped_ptr<LLStartupListener> LLStartUp::sListener(new LLStartupListener());
 
 //
 // local function declaration
@@ -2725,10 +2727,15 @@ void LLStartUp::setStartupState( EStartupState state )
 		getStartupStateString() << " to " <<  
 		startupStateToString(state) << LL_ENDL;
 	gStartupState = state;
+	postStartupState();
+}
+
+void LLStartUp::postStartupState()
+{
 	LLSD stateInfo;
 	stateInfo["str"] = getStartupStateString();
-	stateInfo["enum"] = state;
-	sStartupStateWatcher.post(stateInfo);
+	stateInfo["enum"] = gStartupState;
+	sStateWatcher->post(stateInfo);
 }
 
 
diff --git a/indra/newview/llstartup.h b/indra/newview/llstartup.h
index 7f869d014f8d3098586255616eaebf094d5691e0..ab11b42e7427f81c70cbddc08d68c07402e437ad 100644
--- a/indra/newview/llstartup.h
+++ b/indra/newview/llstartup.h
@@ -33,7 +33,11 @@
 #ifndef LL_LLSTARTUP_H
 #define LL_LLSTARTUP_H
 
+#include <boost/scoped_ptr.hpp>
+
 class LLViewerTexture ;
+class LLEventPump;
+class LLStartupListener;
 
 // functions
 bool idle_startup();
@@ -113,9 +117,13 @@ class LLStartUp
 		// *HACK: On startup, if we were passed a secondlife://app/do/foo
 		// command URL, store it for later processing.
 
+	static void postStartupState();
+
 private:
 	static std::string startupStateToString(EStartupState state);
 	static EStartupState gStartupState; // Do not set directly, use LLStartup::setStartupState
+	static boost::scoped_ptr<LLEventPump> sStateWatcher;
+	static boost::scoped_ptr<LLStartupListener> sListener;
 };
 
 
diff --git a/indra/newview/llstartuplistener.cpp b/indra/newview/llstartuplistener.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..5a76a297c7ef3dca479c8cba414d05594a07277b
--- /dev/null
+++ b/indra/newview/llstartuplistener.cpp
@@ -0,0 +1,34 @@
+/**
+ * @file   llstartuplistener.cpp
+ * @author Nat Goodspeed
+ * @date   2009-12-08
+ * @brief  Implementation for llstartuplistener.
+ * 
+ * $LicenseInfo:firstyear=2009&license=viewergpl$
+ * Copyright (c) 2009, Linden Research, Inc.
+ * $/LicenseInfo$
+ */
+
+// Precompiled header
+#include "llviewerprecompiledheaders.h"
+// associated header
+#include "llstartuplistener.h"
+// STL headers
+// std headers
+// external library headers
+// other Linden headers
+#include "llstartup.h"
+
+
+LLStartupListener::LLStartupListener(/* LLStartUp* instance */):
+    LLEventAPI("LLStartUp", "Access e.g. LLStartup::postStartupState()") /* ,
+    mStartup(instance) */
+{
+    add("postStartupState", "Refresh \"StartupState\" listeners with current startup state",
+        &LLStartupListener::postStartupState);
+}
+
+void LLStartupListener::postStartupState(const LLSD&) const
+{
+    LLStartUp::postStartupState();
+}
diff --git a/indra/newview/llstartuplistener.h b/indra/newview/llstartuplistener.h
new file mode 100644
index 0000000000000000000000000000000000000000..a2a4d3a08e9310c2155d3459de70f1d173a0ccc5
--- /dev/null
+++ b/indra/newview/llstartuplistener.h
@@ -0,0 +1,30 @@
+/**
+ * @file   llstartuplistener.h
+ * @author Nat Goodspeed
+ * @date   2009-12-07
+ * @brief  Event API to provide access to LLStartUp
+ * 
+ * $LicenseInfo:firstyear=2009&license=viewergpl$
+ * Copyright (c) 2009, Linden Research, Inc.
+ * $/LicenseInfo$
+ */
+
+#if ! defined(LL_LLSTARTUPLISTENER_H)
+#define LL_LLSTARTUPLISTENER_H
+
+#include "lleventapi.h"
+class LLStartUp;
+class LLSD;
+
+class LLStartupListener: public LLEventAPI
+{
+public:
+    LLStartupListener(/* LLStartUp* instance */); // all static members!
+
+private:
+    void postStartupState(const LLSD&) const;
+
+    //LLStartup* mStartup;
+};
+
+#endif /* ! defined(LL_LLSTARTUPLISTENER_H) */
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index bf4d0c78e66786c4976c1e55c3eb5501f5e45afe..431b4d3c0a85a46db6f7de51192eeaf3b0c62d67 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -45,6 +45,7 @@
 #include "llagentwearables.h"
 #include "llagentpilot.h"
 #include "llcompilequeue.h"
+#include "llconsole.h"
 #include "lldebugview.h"
 #include "llfilepicker.h"
 #include "llfirstuse.h"
@@ -487,7 +488,7 @@ class LLAdvancedToggleConsole : public view_listener_t
 		}
 		else if ("debug" == console_type)
 		{
-			toggle_visibility( (void*)((LLView*)gDebugView->mDebugConsolep) );
+			toggle_visibility( (void*)static_cast<LLUICtrl*>(gDebugView->mDebugConsolep));
 		}
 		else if (gTextureSizeView && "texture size" == console_type)
 		{
diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp
index 5be7f2945fb53a294af3df4bee3fcd27264d868f..e066546bd8108b8428d228c828576428b9cc4871 100644
--- a/indra/newview/llviewertexturelist.cpp
+++ b/indra/newview/llviewertexturelist.cpp
@@ -1454,6 +1454,8 @@ void LLUIImageList::onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_v
 						llclamp((F32)scale_rect.mRight / (F32)imagep->getWidth(), 0.f, 1.f),
 						llclamp((F32)scale_rect.mBottom / (F32)imagep->getHeight(), 0.f, 1.f)));
 			}
+
+			imagep->onImageLoaded();
 		}
 	}
 }
diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml
index acb3262093a80d8c73baae1fd500a70e617c2821..cdbeed111e3104e06148cc7bc9c89697f1324ab7 100644
--- a/indra/newview/skins/default/colors.xml
+++ b/indra/newview/skins/default/colors.xml
@@ -648,7 +648,7 @@
      reference="LtGray" />
     <color
      name="TextFgTentativeColor"
-	 value="0 0 0 .33" />
+     value="0.4 0.4 0.4 1" />
     <color
      name="TimeTextColor"
      reference="LtGray" />
diff --git a/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb1f7d3a6de4267696bb55c1f50219e948a38019
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6f614b844d15e3ffc4e9dc1db7817704eedb474
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_BuildNo_Light.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Build_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Build_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..84a96a60cb07554fd26658ebff3c1c0a09c926d2
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_Build_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..d55ebd7c671b908989b2623e9329ad3f74b815c2
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_DamageNo_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae4077488bf17226bf97adfad7e83f3fc3ccaddd
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_Damage_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Exp_Color.png b/indra/newview/skins/default/textures/icons/Parcel_Exp_Color.png
new file mode 100644
index 0000000000000000000000000000000000000000..4813d37198356805ef1c67724adae778fec9a442
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_Exp_Color.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..0455a52fdc8bdeed55430f60db0329acece8fe62
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png
new file mode 100644
index 0000000000000000000000000000000000000000..be0c379d844826f4002e972497c991e22e2acc00
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed4a512e04a419639f9695670697bca7dee85bb1
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.png b/indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.png
new file mode 100644
index 0000000000000000000000000000000000000000..d28e5357dff704b3b9bd1b5b5949a5c74e1fed47
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_ForSale_Light.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Health_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Health_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..d72f02f708fcfd387dad98ea35359df06857304d
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_Health_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_M_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_M_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..2f5871b8ffcf846835da70f7576aaf8e3ae24300
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_M_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_M_Light.png b/indra/newview/skins/default/textures/icons/Parcel_M_Light.png
new file mode 100644
index 0000000000000000000000000000000000000000..724ac22744cc07f744f3960cd2f254aa478be626
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_M_Light.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.png b/indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.png
new file mode 100644
index 0000000000000000000000000000000000000000..f82354959e9750e140bb7a7937f23602187fffde
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_NoScripts_Light.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_PG_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PG_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0565f02ddebbe0b5a734cea38baa8e99f6c02e5
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_PG_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_PG_Light.png b/indra/newview/skins/default/textures/icons/Parcel_PG_Light.png
new file mode 100644
index 0000000000000000000000000000000000000000..f32b0570a128d57ed726c96e8665691cb1130c95
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_PG_Light.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f0fe6a04d2b741ec114775bcddf1abe64630d6c
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.png
new file mode 100644
index 0000000000000000000000000000000000000000..eba7070b4d2f16551f3d927d1b7efd387d2a1ca2
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_PushNo_Light.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Push_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Push_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..08c2a18ac30a60a48359c53c25e6a3ce1c5998db
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_Push_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_R_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_R_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0e6e14ccab60fd3ad9f27a410639dbf19002538
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_R_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_R_Light.png b/indra/newview/skins/default/textures/icons/Parcel_R_Light.png
new file mode 100644
index 0000000000000000000000000000000000000000..efca6776da7533cadab65e3e7959d8af55155a4f
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_R_Light.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f9f37a1bf8a7c6f6818dae976804ece3f2f8af8
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_ScriptsNo_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b1d6c5e1401a9cb1fbc8570fa156c1a49d1d8c5
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_Scripts_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..eace54ae79dda5548b8f3ea7d50f752f4bef5864
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d07e552b1c5d08374702eeb3e15f965a62f7ca8
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_VoiceNo_Light.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..b36a9bd2f02bd16f0fdb3eefefe753c8d530650c
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_Voice_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Voice_Light.png b/indra/newview/skins/default/textures/icons/Parcel_Voice_Light.png
new file mode 100644
index 0000000000000000000000000000000000000000..86ce19474a7714fbe5921682d591610068b4ca30
Binary files /dev/null and b/indra/newview/skins/default/textures/icons/Parcel_Voice_Light.png differ
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index 6f9801491aa449b34bb80d2c39b9ace4146f22cd..607df10048248a2285749329c09ef043bb28fed2 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -57,6 +57,9 @@ with the same filename but different name
   <texture name="Arrow_Small_Left" file_name="widgets/Arrow_Small_Left.png" preload="true" />
   <texture name="Arrow_Small_Right" file_name="widgets/Arrow_Small_Right.png" preload="true" />
 
+  <texture name="Arrow_Down" file_name="widgets/Arrow_Down.png"	preload="true" />
+  <texture name="Arrow_Up" file_name="widgets/Arrow_Up.png" preload="true" />
+
   <texture name="AudioMute_Off" file_name="icons/AudioMute_Off.png" preload="false" />
   <texture name="AudioMute_Over" file_name="icons/AudioMute_Over.png" preload="false" />
   <texture name="AudioMute_Press" file_name="icons/AudioMute_Press.png" preload="false" />
@@ -332,49 +335,49 @@ with the same filename but different name
   <texture name="Overhead_M" file_name="world/Overhead_M.png" preload="false" />
   <texture name="Overhead_S" file_name="world/Overhead_S.png" preload="false" />
 
-  <texture name="parcel_color_EVRY" file_name="icons/parcel_color_EVRY.png" preload="false" />
-  <texture name="parcel_color_EXP" file_name="icons/parcel_color_EXP.png" preload="false" />
-  <texture name="parcel_color_M" file_name="icons/parcel_color_M.png" preload="false" />
-
-  <texture name="parcel_drk_Build" file_name="icons/parcel_drk_Build.png" preload="false" />
- <texture name="parcel_drk_BuildNo" file_name="icons/parcel_drk_BuildNo.png" preload="false" />
- <texture name="parcel_drk_Damage" file_name="icons/parcel_drk_Damage.png" preload="false" />
- <texture name="parcel_drk_DamageNo" file_name="icons/parcel_drk_DamageNo.png" preload="false" />
- <texture name="parcel_drk_EVRY" file_name="icons/parcel_drk_EVRY.png" preload="false" />
- <texture name="parcel_drk_EXP" file_name="icons/parcel_drk_EXP.png" preload="false" />
- <texture name="parcel_drk_Fly" file_name="icons/parcel_drk_Fly.png" preload="false" />
- <texture name="parcel_drk_FlyNo" file_name="icons/parcel_drk_FlyNo.png" preload="false" />
- <texture name="parcel_drk_ForSale" file_name="icons/parcel_drk_ForSale.png" preload="false" />
- <texture name="parcel_drk_ForSaleNo" file_name="icons/parcel_drk_ForSaleNo.png" preload="false" />
- <texture name="parcel_drk_M" file_name="icons/parcel_drk_M.png" preload="false" />
- <texture name="parcel_drk_PG" file_name="icons/parcel_drk_PG.png" preload="false" />
- <texture name="parcel_drk_Push" file_name="icons/parcel_drk_Push.png" preload="false" />
- <texture name="parcel_drk_PushNo" file_name="icons/parcel_drk_PushNo.png" preload="false" />
- <texture name="parcel_drk_R" file_name="icons/parcel_drk_R.png" preload="false" />
- <texture name="parcel_drk_Scripts" file_name="icons/parcel_drk_Scripts.png" preload="false" />
- <texture name="parcel_drk_ScriptsNo" file_name="icons/parcel_drk_ScriptsNo.png" preload="false" />
- <texture name="parcel_drk_Voice" file_name="icons/parcel_drk_Voice.png" preload="false" />
- <texture name="parcel_drk_VoiceNo" file_name="icons/parcel_drk_VoiceNo.png" preload="false" />
-
- <texture name="parcel_lght_Build" file_name="icons/parcel_lght_Build.png" preload="false" />
- <texture name="parcel_lght_BuildNo" file_name="icons/parcel_lght_BuildNo.png" preload="false" />
- <texture name="parcel_lght_Damage" file_name="icons/parcel_lght_Damage.png" preload="false" />
- <texture name="parcel_lght_DamageNo" file_name="icons/parcel_lght_DamageNo.png" preload="false" />
- <texture name="parcel_lght_EVRY" file_name="icons/parcel_lght_EVRY.png" preload="false" />
- <texture name="parcel_lght_EXP" file_name="icons/parcel_lght_EXP.png" preload="false" />
- <texture name="parcel_lght_Fly" file_name="icons/parcel_lght_Fly.png" preload="false" />
- <texture name="parcel_lght_FlyNo" file_name="icons/parcel_lght_FlyNo.png" preload="false" />
- <texture name="parcel_lght_ForSale" file_name="icons/parcel_lght_ForSale.png" preload="false" />
- <texture name="parcel_lght_ForSaleNo" file_name="icons/parcel_lght_ForSaleNo.png" preload="false" />
- <texture name="parcel_lght_M" file_name="icons/parcel_lght_M.png" preload="false" />
- <texture name="parcel_lght_PG" file_name="icons/parcel_lght_PG.png" preload="false" />
- <texture name="parcel_lght_Push" file_name="icons/parcel_lght_Push.png" preload="false" />
- <texture name="parcel_lght_PushNo" file_name="icons/parcel_lght_PushNo.png" preload="false" />
- <texture name="parcel_lght_R" file_name="icons/parcel_lght_R.png" preload="false" />
- <texture name="parcel_lght_Scripts" file_name="icons/parcel_lght_Scripts.png" preload="false" />
- <texture name="parcel_lght_ScriptsNo" file_name="icons/parcel_lght_ScriptsNo.png" preload="false" />
- <texture name="parcel_lght_Voice" file_name="icons/parcel_lght_Voice.png" preload="false" />
- <texture name="parcel_lght_VoiceNo" file_name="icons/parcel_lght_VoiceNo.png" preload="false" />
+  <texture name="Parcel_Evry_Color" file_name="icons/Parcel_Evry_Color.png" preload="false" />
+  <texture name="Parcel_Exp_Color" file_name="icons/Parcel_Exp_Color.png" preload="false" />
+  <texture name="Parcel_M_Color" file_name="icons/Parcel_M_Color.png" preload="false" />
+
+ <texture name="Parcel_Build_Dark" file_name="icons/Parcel_Build_Dark.png" preload="false" />
+ <texture name="Parcel_BuildNo_Dark" file_name="icons/Parcel_BuildNo_Dark.png" preload="false" />
+ <texture name="Parcel_Damage_Dark" file_name="icons/Parcel_Damage_Dark.png" preload="false" />
+ <texture name="Parcel_DamageNo_Dark" file_name="icons/Parcel_DamageNo_Dark.png" preload="false" />
+ <texture name="Parcel_Evry_Dark" file_name="icons/Parcel_Evry_Dark.png" preload="false" />
+ <texture name="Parcel_Exp_Dark" file_name="icons/Parcel_Exp_Dark.png" preload="false" />
+ <texture name="Parcel_Fly_Dark" file_name="icons/Parcel_Fly_Dark.png" preload="false" />
+ <texture name="Parcel_FlyNo_Dark" file_name="icons/Parcel_FlyNo_Dark.png" preload="false" />
+ <texture name="Parcel_ForSale_Dark" file_name="icons/Parcel_ForSale_Dark.png" preload="false" />
+ <texture name="Parcel_ForSaleNo_Dark" file_name="icons/Parcel_ForSaleNo_Dark.png" preload="false" />
+ <texture name="Parcel_M_Dark" file_name="icons/Parcel_M_Dark.png" preload="false" />
+ <texture name="Parcel_PG_Dark" file_name="icons/Parcel_PG_Dark.png" preload="false" />
+ <texture name="Parcel_Push_Dark" file_name="icons/Parcel_Push_Dark.png" preload="false" />
+ <texture name="Parcel_PushNo_Dark" file_name="icons/Parcel_PushNo_Dark.png" preload="false" />
+ <texture name="Parcel_R_Dark" file_name="icons/Parcel_R_Dark.png" preload="false" />
+ <texture name="Parcel_Scripts_Dark" file_name="icons/Parcel_Scripts_Dark.png" preload="false" />
+ <texture name="Parcel_ScriptsNo_Dark" file_name="icons/Parcel_ScriptsNo_Dark.png" preload="false" />
+ <texture name="Parcel_Voice_Dark" file_name="icons/Parcel_Voice_Dark.png" preload="false" />
+ <texture name="Parcel_VoiceNo_Dark" file_name="icons/Parcel_VoiceNo_Dark.png" preload="false" />
+
+ <texture name="Parcel_Build_Light" file_name="icons/Parcel_Build_Light.png" preload="false" />
+ <texture name="Parcel_BuildNo_Light" file_name="icons/Parcel_BuildNo_Light.png" preload="false" />
+ <texture name="Parcel_Damage_Light" file_name="icons/Parcel_Damage_Light.png" preload="false" />
+ <texture name="Parcel_DamageNo_Light" file_name="icons/Parcel_DamageNo_Light.png" preload="false" />
+ <texture name="Parcel_Evry_Light" file_name="icons/Parcel_Evry_Light.png" preload="false" />
+ <texture name="Parcel_Exp_Light" file_name="icons/Parcel_Exp_Light.png" preload="false" />
+ <texture name="Parcel_Fly_Light" file_name="icons/Parcel_Fly_Light.png" preload="false" />
+ <texture name="Parcel_FlyNo_Light" file_name="icons/Parcel_FlyNo_Light.png" preload="false" />
+ <texture name="Parcel_ForSale_Light" file_name="icons/Parcel_ForSale_Light.png" preload="false" />
+ <texture name="Parcel_ForSaleNo_Light" file_name="icons/Parcel_ForSaleNo_Light.png" preload="false" />
+ <texture name="Parcel_M_Light" file_name="icons/Parcel_M_Light.png" preload="false" />
+ <texture name="Parcel_PG_Light" file_name="icons/Parcel_PG_Light.png" preload="false" />
+ <texture name="Parcel_Push_Light" file_name="icons/Parcel_Push_Light.png" preload="false" />
+ <texture name="Parcel_PushNo_Light" file_name="icons/Parcel_PushNo_Light.png" preload="false" />
+ <texture name="Parcel_R_Light" file_name="icons/Parcel_R_Light.png" preload="false" />
+ <texture name="Parcel_Scripts_Light" file_name="icons/Parcel_Scripts_Light.png" preload="false" />
+ <texture name="Parcel_ScriptsNo_Light" file_name="icons/Parcel_ScriptsNo_Light.png" preload="false" />
+ <texture name="Parcel_Voice_Light" file_name="icons/Parcel_Voice_Light.png" preload="false" />
+ <texture name="Parcel_VoiceNo_Light" file_name="icons/Parcel_VoiceNo_Light.png" preload="false" />
 
   <texture name="Pause_Off" file_name="icons/Pause_Off.png" preload="false" />
   <texture name="Pause_Over" file_name="icons/Pause_Over.png" preload="false" />
diff --git a/indra/newview/skins/default/xui/en/floater_animation_preview.xml b/indra/newview/skins/default/xui/en/floater_animation_preview.xml
index a8f875754e612735a987e88633634aba177a4cbd..4f4288b654db4f9736ac79d9faaed1095ce1f557 100644
--- a/indra/newview/skins/default/xui/en/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/en/floater_animation_preview.xml
@@ -456,26 +456,43 @@ Maximum animation length is [MAX_LENGTH] seconds.
      image_overlay="Play_Over"
      image_unselected="SegmentedBtn_Left_Off"
      image_selected="SegmentedBtn_Left_On_Selected"
-        image_disabled_selected="SegmentedBtn_Left_Selected_Disabled"
-        image_disabled="SegmentedBtn_Left_Disabled"
-	image_pressed="SegmentedBtn_Left_Press"
-	image_pressed_selected="SegmentedBtn_Left_Selected_Press"
+	 image_disabled_selected="SegmentedBtn_Left_Selected_Disabled"
+	 image_disabled="SegmentedBtn_Left_Disabled"
+	 image_pressed="SegmentedBtn_Left_Press"
+	 image_pressed_selected="SegmentedBtn_Left_Selected_Press"
      layout="topleft"
      left="10"
      name="play_btn"
-     tool_tip="Play/pause your animation"
+     tool_tip="Play your animation"
      top_pad="0"
      width="23" />
+    <button
+	 visible = "false"
+     follows="top|right"
+     height="23"
+     image_overlay="Pause_Over"
+     image_unselected="SegmentedBtn_Left_Off"
+     image_selected="SegmentedBtn_Left_On_Selected"
+	 image_disabled_selected="SegmentedBtn_Left_Selected_Disabled"
+	 image_disabled="SegmentedBtn_Left_Disabled"
+	 image_pressed="SegmentedBtn_Left_Press"
+	 image_pressed_selected="SegmentedBtn_Left_Selected_Press"
+     layout="topleft"
+     left="10"
+     name="pause_btn"
+     tool_tip="Pause your animation"
+     top_pad="-23"
+     width="23" />	 
     <button
      follows="top|right"
      height="23"
      image_overlay="StopReload_Over"
      image_unselected="SegmentedBtn_Right_Off"
      image_selected="SegmentedBtn_Right_On_Selected"
-        image_disabled_selected="SegmentedBtn_Right_Selected_Disabled"
-        image_disabled="SegmentedBtn_Right_Disabled"
-	image_pressed="SegmentedBtn_Right_Press"
-	image_pressed_selected="SegmentedBtn_Right_Selected_Press"
+	 image_disabled_selected="SegmentedBtn_Right_Selected_Disabled"
+	 image_disabled="SegmentedBtn_Right_Disabled"
+	 image_pressed="SegmentedBtn_Right_Press"
+	 image_pressed_selected="SegmentedBtn_Right_Selected_Press"
      layout="topleft"
      name="stop_btn"
      tool_tip="Stop animation playback"
diff --git a/indra/newview/skins/default/xui/en/floater_lagmeter.xml b/indra/newview/skins/default/xui/en/floater_lagmeter.xml
index 19f5155f884a07132caf51ab261f5311cfc31253..b24c745bdd0bc67fc0cbf085af4fbd09335b8238 100644
--- a/indra/newview/skins/default/xui/en/floater_lagmeter.xml
+++ b/indra/newview/skins/default/xui/en/floater_lagmeter.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- height="150"
+ height="170"
  layout="topleft"
  name="floater_lagmeter"
  help_topic="floater_lagmeter"
@@ -328,7 +328,7 @@
      left="10"
      name="minimize"
 	 tool_tip="Toggle floater size"
-     top_delta="4"
+     top_delta="24"
      width="40">
         <button.commit_callback
          function="LagMeter.ClickShrink" />
diff --git a/indra/newview/skins/default/xui/en/floater_select_key.xml b/indra/newview/skins/default/xui/en/floater_select_key.xml
index af4fdff0446bb90e58eeea17bca9b8c3d299abf1..6050aede79e1a49b83b017e051e04e943c2d1e2e 100644
--- a/indra/newview/skins/default/xui/en/floater_select_key.xml
+++ b/indra/newview/skins/default/xui/en/floater_select_key.xml
@@ -4,30 +4,31 @@
  border="false"
  can_close="false"
  can_minimize="false"
- height="100"
+ height="90"
  layout="topleft"
  name="modal container"
  width="240">
-    <button
-     height="20"
-     label="Cancel"
-     label_selected="Cancel"
-     layout="topleft"
-     left="138"
-     name="Cancel"
-     top="70"
-     width="82" />
     <text
      type="string"
+     halign="center"
      length="1"
      follows="left|top"
-     font="SansSerif"
-     height="16"
+     height="30"
      layout="topleft"
-     left="20"
+     left="10"
      name="Save item as:"
-     top="10"
-     width="200">
-        Press a key to select
+     top="25"
+     word_wrap="true"
+     width="220">
+        Press a key to set your
+Speak button toggle
     </text>
+    <button
+     height="23"
+     label="Cancel"
+     label_selected="Cancel"
+     layout="topleft"
+     right="-10"
+     name="Cancel"
+     width="100" />
 </floater>
diff --git a/indra/newview/skins/default/xui/en/floater_sell_land.xml b/indra/newview/skins/default/xui/en/floater_sell_land.xml
index e6a78563f39a43d78f969e0f523a728e2245054e..409f46b9609c4f2d2a781e1c86fcbdaaea31dce8 100644
--- a/indra/newview/skins/default/xui/en/floater_sell_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_sell_land.xml
@@ -182,7 +182,7 @@
      width="130">
         <combo_box.item
          enabled="false"
-         label="-- select one --"
+         label="- Select one -"
          name="--selectone--"
          value="select" />
         <combo_box.item
diff --git a/indra/newview/skins/default/xui/en/floater_telehub.xml b/indra/newview/skins/default/xui/en/floater_telehub.xml
index 374f01490818b62dc0acbf1079911b2d77b23d9a..bb463edd4d21eec78af68e0fd8883af78f5dd348 100644
--- a/indra/newview/skins/default/xui/en/floater_telehub.xml
+++ b/indra/newview/skins/default/xui/en/floater_telehub.xml
@@ -6,7 +6,7 @@
  name="telehub"
  help_topic="telehub"
  title="TELEHUB"
- width="280">
+ width="330">
     <text
      type="string"
      length="1"
@@ -16,7 +16,7 @@
      left="10"
      name="status_text_connected"
      top="24"
-     width="200">
+     width="315">
         Telehub connected to object [OBJECT]
     </text>
     <text
@@ -28,7 +28,7 @@
      left_delta="0"
      name="status_text_not_connected"
      top_delta="0"
-     width="200">
+     width="315">
         No telehub connected.
     </text>
     <text
@@ -40,7 +40,7 @@
      left_delta="0"
      name="help_text_connected"
      top_delta="16"
-     width="260">
+     width="315">
         To remove, click Disconnect.
     </text>
     <text
@@ -52,78 +52,73 @@
      left_delta="0"
      name="help_text_not_connected"
      top_delta="0"
-     width="260">
+     width="315">
         Select object and click Connect Telehub.
     </text>
     <button
      follows="top|left"
-     height="20"
+     height="23"
      label="Connect Telehub"
      layout="topleft"
      left_delta="0"
      name="connect_btn"
      top_delta="20"
-     width="110" />
+     width="130" />
     <button
      follows="top|left"
-     height="20"
+     height="23"
      label="Disconnect"
      layout="topleft"
      left_pad="10"
      name="disconnect_btn"
      top_delta="0"
-     width="110" />
+     width="130" />
     <text
      type="string"
      length="1"
      follows="left|top"
-     height="16"
+     height="14"
      layout="topleft"
      left="10"
      name="spawn_points_text"
      top="84"
-     width="200">
+     width="315">
         Spawn Points (positions, not objects):
     </text>
     <scroll_list
      follows="left|top"
      height="60"
      layout="topleft"
-     left_delta="0"
      name="spawn_points_list"
-     top_delta="16"
-     width="230" />
+     width="315" />
     <button
      follows="top|left"
-     height="20"
+     height="23"
      label="Add Spawn"
      layout="topleft"
-     left_delta="0"
      name="add_spawn_point_btn"
-     top_pad="5"
-     width="110" />
+     width="130" />
     <button
      follows="top|left"
-     height="20"
+     height="23"
      label="Remove Spawn"
      layout="topleft"
      left_pad="10"
      name="remove_spawn_point_btn"
-     top_delta="0"
-     width="110" />
+     width="130" />
     <text
      type="string"
      length="1"
      follows="top|left"
-     height="80"
+     height="56"
      layout="topleft"
      left="10"
      name="spawn_point_help"
-     top="190"
-     width="260">
-        Select object and click Add to specify position.
-You may then move or delete the object.
+     word_wrap="true"
+     width="317">
+        Select object and click "Add Spawn" to specify position.
+You can then move or delete the object.
 Positions are relative to the telehub center.
-Select item in list to show position in world.
+Select an item in list to highlight it inworld.
     </text>
 </floater>
diff --git a/indra/newview/skins/default/xui/en/floater_test_text_editor.xml b/indra/newview/skins/default/xui/en/floater_test_text_editor.xml
index b0aa5c7c4fc02c53f805a3e374820135dbdd4b7a..8be0c28c5c5aaf9458b352af0218966288bc412c 100644
--- a/indra/newview/skins/default/xui/en/floater_test_text_editor.xml
+++ b/indra/newview/skins/default/xui/en/floater_test_text_editor.xml
@@ -9,7 +9,6 @@
   <text_editor
    height="50"
    follows="top|left|bottom"
-   layout="topleft"
    left="10"
    name="test_text_editor"
    tool_tip="text editor"
@@ -17,4 +16,15 @@
    width="200">
     Text Editor
   </text_editor>
+  <text_editor
+   height="50"
+   follows="top|left|bottom"
+   font="SansSerif" 
+   left="10"
+   name="test_text_editor"
+   tool_tip="text editor"
+   top_pad="10"
+   width="200">
+    This contains long text and should scroll horizontally to the right
+  </text_editor>
 </floater>
diff --git a/indra/newview/skins/default/xui/en/floater_top_objects.xml b/indra/newview/skins/default/xui/en/floater_top_objects.xml
index d2db26daec5f3ea0689c131e33f2e4ad34061bcf..68bb500c7857d3c283e5f5dcb2a39f752bf7a813 100644
--- a/indra/newview/skins/default/xui/en/floater_top_objects.xml
+++ b/indra/newview/skins/default/xui/en/floater_top_objects.xml
@@ -8,7 +8,7 @@
  min_width="450"
  name="top_objects"
  help_topic="top_objects"
- title="LOADING..."
+ title="Top Objects"
  width="550">
     <floater.string
      name="top_scripts_title">
@@ -46,24 +46,24 @@
      type="string"
      length="1"
      follows="left|top"
-     font="SansSerif"
      height="20"
      layout="topleft"
      left="10"
      name="title_text"
-     top="30"
+     top="20"
+     text_color="EmphasisColor"
      width="400">
         Loading...
     </text>
     <scroll_list
      draw_heading="true"
-     follows="left|top|bottom|right"
-     height="150"
+     follows="all"
+     height="170"
      layout="topleft"
      left_delta="0"
      multi_select="true"
      name="objects_list"
-     top_delta="20"
+     top_delta="17"
      width="530">
         <scroll_list.columns
          label="Score"
@@ -109,16 +109,16 @@
      follows="left|bottom|right"
      height="20"
      layout="topleft"
-     left_delta="70"
+     left_pad="3"
      name="id_editor"
      top_delta="-3"
-     width="350" />
+     width="325" />
     <button
      follows="bottom|right"
-     height="20"
+     height="23"
      label="Show Beacon"
      layout="topleft"
-     left_pad="10"
+     left_pad="5"
      name="show_beacon_btn"
      top_delta="0"
      width="100">
@@ -132,25 +132,25 @@
      height="20"
      layout="topleft"
      left="10"
+     top_pad="5"
      name="obj_name_text"
-     top="237"
      width="100">
-        Object Name:
+        Object name:
     </text>
     <line_editor
      follows="left|bottom|right"
      height="20"
      layout="topleft"
-     left_delta="70"
+     left_pad="3"
      name="object_name_editor"
      top_delta="-3"
-     width="350" />
+     width="325" />
     <button
      follows="bottom|right"
-     height="20"
+     height="23"
      label="Filter"
      layout="topleft"
-     left_pad="10"
+     left_pad="5"
      name="filter_object_btn"
      top_delta="0"
      width="100">
@@ -164,46 +164,58 @@
      height="20"
      layout="topleft"
      left="10"
+     top_pad="5"
      name="owner_name_text"
-     top="264"
      width="100">
-        Owner Name:
+        Owner:
     </text>
     <line_editor
      follows="left|bottom|right"
      height="20"
      layout="topleft"
-     left_delta="70"
+     left_pad="3"
      name="owner_name_editor"
      top_delta="-3"
-     width="350" />
+     width="325" />
     <button
      follows="bottom|right"
-     height="20"
+     height="23"
      label="Filter"
      layout="topleft"
-     left_pad="10"
+     left_pad="5"
      name="filter_owner_btn"
      top_delta="0"
      width="100">
       <button.commit_callback
           function="TopObjects.GetByOwnerName" />
     </button>
+    <button
+     follows="top|left"
+     height="22"
+     image_overlay="Refresh_Off"
+     layout="topleft"
+     name="refresh_btn"
+     right="-8"
+     top_pad="5"
+     width="23">
+      <button.commit_callback
+          function="TopObjects.Refresh" />
+    </button>
     <button
      follows="bottom|left"
-     height="20"
+     height="23"
      label="Return Selected"
      layout="topleft"
-     left="10"
+     left="112"
+     top_delta="0"
      name="return_selected_btn"
-     top="295"
      width="130">
       <button.commit_callback
           function="TopObjects.ReturnSelected" />
     </button>
     <button
      follows="bottom|left"
-     height="20"
+     height="23"
      label="Return All"
      layout="topleft"
      left_pad="10"
@@ -215,19 +227,19 @@
     </button>
     <button
      follows="bottom|left"
-     height="20"
+     height="23"
      label="Disable Selected"
      layout="topleft"
-     left="10"
+
+     left="112"
      name="disable_selected_btn"
-     top="320"
      width="130">
       <button.commit_callback
           function="TopObjects.DisableSelected" />
     </button>
     <button
      follows="bottom|left"
-     height="20"
+     height="23"
      label="Disable All"
      layout="topleft"
      left_pad="10"
@@ -237,16 +249,4 @@
       <button.commit_callback
           function="TopObjects.DisableAll" />
     </button>
-    <button
-     bottom="315"
-     follows="bottom|right"
-     height="20"
-     label="Refresh"
-     layout="topleft"
-     name="refresh_btn"
-     right="-10"
-     width="100">
-      <button.commit_callback
-          function="TopObjects.Refresh" />
-    </button>
 </floater>
diff --git a/indra/newview/skins/default/xui/en/floater_water.xml b/indra/newview/skins/default/xui/en/floater_water.xml
index b13a11c05d8770ff93424aa40262ee3dcfbea803..89492d8abc797cbfb18a0042c5722076a82a7a98 100644
--- a/indra/newview/skins/default/xui/en/floater_water.xml
+++ b/indra/newview/skins/default/xui/en/floater_water.xml
@@ -116,7 +116,7 @@
              layout="topleft"
              left="10"
              name="WaterFogDensText"
-             top="74"
+             top="84"
              width="200">
                 Fog Density Exponent
             </text>
@@ -130,7 +130,7 @@
              left="24"
              max_val="10"
              name="WaterFogDensity"
-             top="110"
+             top="124"
              width="200" />
             <text
              type="string"
@@ -141,7 +141,7 @@
              layout="topleft"
              left_delta="-14"
              name="WaterUnderWaterFogModText"
-             top_delta="4"
+             top="124"
              width="200">
                 Underwater Fog Modifier
             </text>
@@ -155,7 +155,7 @@
              left="24"
              max_val="2"
              name="WaterUnderWaterFogMod"
-             top="150"
+             top="164"
              width="200" />
             <text
              type="string"
@@ -180,7 +180,7 @@
              layout="topleft"
              max_val="10"
              name="WaterNormalScaleX"
-             top_pad="20"
+             top_pad="24"
              width="200" />
             <slider
              control_name="WaterNormalScaleY"
@@ -192,7 +192,7 @@
              layout="topleft"
              max_val="10"
              name="WaterNormalScaleY"
-             top_pad="0"
+             top_pad="4"
              width="200" />
             <slider
              control_name="WaterNormalScaleZ"
@@ -204,7 +204,7 @@
              layout="topleft"
              max_val="10"
              name="WaterNormalScaleZ"
-             top_pad="0"
+             top_pad="4"
              width="200" />
             <text
              type="string"
@@ -214,7 +214,7 @@
              height="16"
              layout="topleft"
              name="HDText"
-             top_pad="-10"
+             top="84"
              width="200">
                 Fresnel Scale
             </text>
@@ -227,7 +227,7 @@
              initial_value="0.7"
              layout="topleft"
              name="WaterFresnelScale"
-             top_pad="20"
+             top="124"
              width="200" />
             <text
              type="string"
@@ -237,7 +237,7 @@
              height="16"
              layout="topleft"
              name="FresnelOffsetText"
-             top_pad="-10"
+             top="124"
              width="200">
                 Fresnel Offset
             </text>
@@ -250,7 +250,7 @@
              initial_value="0.7"
              layout="topleft"
              name="WaterFresnelOffset"
-             top_pad="20"
+             top="164"
              width="200" />
             <text
              type="string"
@@ -275,7 +275,7 @@
              layout="topleft"
              left="494"
              name="WaterScaleAbove"
-             top="40"
+             top="44"
              width="200" />
             <text
              type="string"
@@ -286,7 +286,7 @@
              layout="topleft"
              left_delta="-14"
              name="WaterScaleBelowText"
-             top_delta="-3"
+             top="44"
              width="200">
                 Refract Scale Below
             </text>
@@ -300,7 +300,7 @@
              layout="topleft"
              left="494"
              name="WaterScaleBelow"
-             top="73"
+             top="84"
              width="200" />
             <text
              type="string"
@@ -311,7 +311,7 @@
              layout="topleft"
              left_delta="-14"
              name="MaxAltText"
-             top_delta="-2"
+             top="84"
              width="200">
                 Blur Multiplier
             </text>
@@ -325,7 +325,7 @@
              left="494"
              max_val="0.16"
              name="WaterBlurMult"
-             top="107"
+             top="124"
              width="200" />
         </panel>
         <panel
diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml
index 9c11a88c34cdf24df01784bf34fb0d0adb1a4089..e632b67d119f3b7e2acc5b0a24a78797f65d1e23 100644
--- a/indra/newview/skins/default/xui/en/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/en/floater_world_map.xml
@@ -62,7 +62,7 @@
      left="4"
      layout="topleft"
      name="Show My Location"
-     tool_tip="Center map on your avatar&apos;s location"
+     tool_tip="Center map on my avatar&apos;s location"
      top="6"
      width="24" >
 		<button.commit_callback
@@ -235,7 +235,7 @@
      left="136"
      top="6"
      name="Go Home"
-     tool_tip="Teleport home"
+     tool_tip="Teleport to my home location"
      width="24" >
 		<button.commit_callback
 		function="WMap.GoHome" />
diff --git a/indra/newview/skins/default/xui/en/inspect_remote_object.xml b/indra/newview/skins/default/xui/en/inspect_remote_object.xml
index b5f2abf52a61a8fc9e0489cad187cc4fda4f91f3..ef3dd844cd04fe8f2278bb9f08c4ba40e6993d14 100644
--- a/indra/newview/skins/default/xui/en/inspect_remote_object.xml
+++ b/indra/newview/skins/default/xui/en/inspect_remote_object.xml
@@ -6,10 +6,10 @@
 <floater
  legacy_header_height="18"
  bevel_style="in"
- bg_opaque_image="Inspector_Background" 
+ bg_opaque_image="Inspector_Background"
  can_close="false"
  can_minimize="false"
- height="145"
+ height="130"
  layout="topleft"
  name="inspect_remote_object"
  single_instance="true"
@@ -18,79 +18,78 @@
  width="300">
   <text
    follows="all"
-   font="SansSerifLargeBold"
-   height="16"
+   font="SansSerifLarge"
+   font_style="BOLD"
+   height="30"
    left="8"
    name="object_name"
    text_color="White"
    top="5"
    use_ellipses="true"
-   width="290">
-     Test Object Name That Is Really Long
+   word_wrap="true"
+   width="291">
+     Test Object Name That Is Really Long OMG so long I can't believe how long the name of this object is, I mean really.
   </text>
   <text
-   follows="all"
-   font="SansSerif"
-   height="20"
+   follows="top|left"
+   font="SansSerifSmall"
+   height="16"
    left="8"
    name="object_owner_label"
    width="55"
-   top_pad="20">
+   top_pad="12">
      Owner:
   </text>
   <text
    follows="top|left"
-   font="SansSerif"
-   height="20"
-   left_pad="10"
+   height="16"
+   left_pad="5"
    name="object_owner"
    use_ellipses="true"
-   width="200"
+   width="230"
    word_wrap="false">
      Longavatarname Johnsonlongstonnammer
   </text>
-  <text
+  <!--<text
    follows="top|left"
-   font="SansSerif"
-   height="20"
+   height="16"
    left="8"
    name="object_slurl_label"
-   top_pad="10"
+   top_pad="5"
    width="55">
      Location:
-  </text>
+  </text>-->
   <text
    follows="top|left"
-   height="20"
-   left_pad="10"
+   height="16"
+   left="8"
    name="object_slurl"
-   width="240"
+   width="290"
    use_ellipses="true"
    word_wrap="false">
      http://slurl.com/Ahern/50/50/50
   </text>
   <button
    follows="top|left"
-   height="20"
+   height="23"
    label="Map"
-   left="10"
+   left="8"
+   top_pad="8"
    name="map_btn"
-   top="114"
-   width="75" />
+   width="90" />
   <button
    follows="top|left"
-   height="20"
+   height="23"
    label="Block"
-   left_pad="5"
+   left_pad="8"
    name="block_btn"
-   top_delta="0"
-   width="75" />
+   width="90" />
   <button
    follows="top|left"
-   height="20"
+   height="23"
    label="Close"
-   right="-10"
+   right="-8"
    name="close_btn"
-   top_delta="0"
-   width="75" />
+   left_pad="5"
+   width="90" />
 </floater>
diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml
index a11ebf5af83b3bae78d17ae9958bfb6c3c134b29..65a545d2ed80f7db1e70b1e3418d52f1720dbe75 100644
--- a/indra/newview/skins/default/xui/en/main_view.xml
+++ b/indra/newview/skins/default/xui/en/main_view.xml
@@ -19,6 +19,7 @@
                   mouse_opaque="false"
                   name="nav_bar_container"
                   width="1024"
+                  user_resize="false" 
                   visible="false">
     </layout_panel>
     <layout_panel auto_resize="true"
@@ -43,7 +44,7 @@
                layout="topleft"
                mouse_opaque="false"
                name="non_side_tray_view"
-               user_resize="true"
+               user_resize="false"
                width="500">
           <view bottom="500"
                 follows="all"
diff --git a/indra/newview/skins/default/xui/en/menu_avatar_icon.xml b/indra/newview/skins/default/xui/en/menu_avatar_icon.xml
index df510d68eb7dbde61e95d1ee487bb2600211e488..50910dff32437eba7156eaf03f2ca7aac9cfc720 100644
--- a/indra/newview/skins/default/xui/en/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/en/menu_avatar_icon.xml
@@ -9,7 +9,7 @@
  visible="false"
  width="128">
     <menu_item_call
-     label="Show Profile..."
+     label="View Profile"
      layout="topleft"
      name="Show Profile">
         <menu_item_call.on_click
diff --git a/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml
index 6891aaca32a981c41b1088af47ad237d3acea1b7..038b8328cb59f8d5a5dfafd21c57ef26198c32ad 100644
--- a/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml
+++ b/indra/newview/skins/default/xui/en/menu_imchiclet_p2p.xml
@@ -9,7 +9,7 @@
  visible="false"
  width="128">
     <menu_item_call
-     label="Show Profile"
+     label="View Profile"
      layout="topleft"
      name="Show Profile">
         <menu_item_call.on_click
diff --git a/indra/newview/skins/default/xui/en/menu_participant_list.xml b/indra/newview/skins/default/xui/en/menu_participant_list.xml
index c3283c60143f0672cc2992e943c9921fab3f89df..5ab327a182084d4636081efbe0f69c4151a2926a 100644
--- a/indra/newview/skins/default/xui/en/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/en/menu_participant_list.xml
@@ -2,6 +2,67 @@
 <context_menu
  layout="topleft"
  name="Participant List Context Menu">
+ <menu_item_call
+     label="View Profile"
+     layout="topleft"
+     name="View Profile">
+        <menu_item_call.on_click
+         function="Avatar.Profile" />
+    </menu_item_call>
+    <menu_item_call
+     label="Add Friend"
+     layout="topleft"
+     name="Add Friend">
+        <menu_item_call.on_click
+         function="Avatar.AddFriend" />
+        <menu_item_call.on_enable
+         function="Avatar.EnableItem"
+         parameter="can_add" />
+    </menu_item_call>
+    <menu_item_call
+     label="IM"
+     layout="topleft"
+     name="IM">
+        <menu_item_call.on_click
+         function="Avatar.IM" />
+    </menu_item_call>
+    <menu_item_call
+     label="Call"
+     layout="topleft"
+     name="Call">
+        <menu_item_call.on_click
+         function="Avatar.Call" />
+    </menu_item_call>
+    <menu_item_call
+     enabled="false"
+     label="Share"
+     layout="topleft"
+     name="Share">
+        <menu_item_call.on_click
+         function="Avatar.Share" />
+    </menu_item_call>
+    <menu_item_call
+     label="Pay"
+     layout="topleft"
+     name="Pay">
+        <menu_item_call.on_click
+         function="Avatar.Pay" />
+    </menu_item_call>
+    <menu_item_check
+     label="Block/Unblock"
+     layout="topleft"
+     name="Block/Unblock">
+        <menu_item_check.on_click
+         function="Avatar.BlockUnblock" />
+        <menu_item_check.on_check
+         function="Avatar.CheckItem"
+         parameter="is_blocked" />
+        <menu_item_check.on_enable
+         function="Avatar.EnableItem"
+         parameter="can_block" />
+    </menu_item_check>
+        <menu_item_separator
+         layout="topleft" />
     <menu_item_check
      label="Mute Text"
      layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 2b3f3c79e079ff1ac23a60a8b86b6cf44717e60f..861b0de2cfaa107c405e75cda141887a3e2682b0 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -68,7 +68,7 @@
              parameter="inventory" />
         </menu_item_check>
         <menu_item_call
-         label="Show Sidetray Inventory"
+         label="Show Inventory in Side Tray"
          name="ShowSidetrayInventory"
          shortcut="control|I"
          visible="false">
@@ -433,6 +433,8 @@
         </menu_item_check>
         <menu_item_separator
          layout="topleft" />-->
+        <menu_item_separator
+         layout="topleft" />
         <menu_item_call
          label="Snapshot"
          layout="topleft"
@@ -442,6 +444,8 @@
              function="Floater.Show"
              parameter="snapshot" />
         </menu_item_call>
+        <menu_item_separator
+         layout="topleft" />
     <menu
          create_jump_keys="true"
          label="Sun"
@@ -3422,7 +3426,7 @@
          name="Parcel"
          tear_off="true">
             <menu_item_call
-             label="Owner To Me"
+             label="Force Owner To Me"
              layout="topleft"
              name="Owner To Me">
                 <menu_item_call.on_click
diff --git a/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml
index 3842c2a8db833e48184703e5ae7ba5965e67ddcf..970a2e6a8a5a7bf26a23e76e3871c704fe467aa2 100644
--- a/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml
+++ b/indra/newview/skins/default/xui/en/panel_block_list_sidetray.xml
@@ -8,31 +8,31 @@
  min_height="350"
  min_width="240"
  width="280">
-    <text 
+        <button
+     follows="top|left"
+     height="25"
+     image_overlay="BackArrow_Off"
+     layout="topleft"
+     name="back"
+     left="10"
+     tab_stop="false"
+     top="0"
+     width="25"/>
+    <text
      follows="top|left|right"
-     font="SansSerifHugeBold"
+     font="SansSerifLargeBold"
      height="20"
      layout="topleft"
-     left="10" 
+     left_pad="10"
      name="title_text"
      text_color="white"
-     top="0" 
+     top="5"
      width="250">
         Blocked List
      </text>
-     <button 
-     follows="top|right"
-     height="25"
-     image_overlay="BackArrow_Off"
-     layout="topleft"
-     name="back"
-     right="-9"
-     tab_stop="false" 
-     top="0"
-     width="25"/>
     <scroll_list
-     follows="left|top|right|bottom"
-     height="200"
+     follows="all"
+     height="190"
      layout="topleft"
      left="5"
      name="blocked"
@@ -41,9 +41,8 @@
      width="270" />
     <button
      follows="left|bottom"
-     height="20"
-     label="Block Resident..."
-     label_selected="Block Resident..."
+     height="23"
+     label="Block person"
      layout="topleft"
      left_delta="0"
      name="Block resident..."
@@ -55,9 +54,8 @@
     </button>
     <button
      follows="left|bottom"
-     height="20"
-     label="Block object by name..."
-     label_selected="Block object by name..."
+     height="23"
+     label="Block object by name"
      layout="topleft"
      left_delta="0"
      name="Block object by name..."
@@ -70,9 +68,8 @@
     <button
      enabled="false"
      follows="left|bottom"
-     height="20"
+     height="23"
      label="Unblock"
-     label_selected="Unblock"
      layout="topleft"
      left_delta="0"
      name="Unblock"
diff --git a/indra/newview/skins/default/xui/en/panel_classified.xml b/indra/newview/skins/default/xui/en/panel_classified.xml
index 962231378623465b98b3b3bb3ef5e3034ac87cbf..c8293d366395b3e9517c78b4ba7486ffa751edc1 100644
--- a/indra/newview/skins/default/xui/en/panel_classified.xml
+++ b/indra/newview/skins/default/xui/en/panel_classified.xml
@@ -107,7 +107,7 @@
      top="48"
      width="130">
         <combo_box.item
-         label="- Select Mature -"
+         label="- Select one -"
          name="select_mature"
          value="Select" />
         <combo_box.item
diff --git a/indra/newview/skins/default/xui/en/panel_friends.xml b/indra/newview/skins/default/xui/en/panel_friends.xml
index 3a35465df27f7c79c40d01a6ec332d7ad8a6e5a1..ac731bcdf009e24d9e9bc1badf7784dcdec2e96b 100644
--- a/indra/newview/skins/default/xui/en/panel_friends.xml
+++ b/indra/newview/skins/default/xui/en/panel_friends.xml
@@ -8,7 +8,7 @@
  width="100">
     <panel.string
      name="Multiple">
-        Multiple friends...
+        Multiple friends
     </panel.string>
     <scroll_list
      bottom="337"
@@ -84,7 +84,7 @@
     <button
      follows="top|right"
      height="22"
-     label="Teleport..."
+     label="Teleport"
      layout="topleft"
      left_delta="0"
      name="offer_teleport_btn"
@@ -94,7 +94,7 @@
     <button
      follows="top|right"
      height="22"
-     label="Pay..."
+     label="Pay"
      layout="topleft"
      left_delta="0"
      name="pay_btn"
@@ -104,7 +104,7 @@
     <button
      follows="top|right"
      height="22"
-     label="Remove..."
+     label="Remove"
      layout="topleft"
      left_delta="0"
      name="remove_btn"
@@ -114,7 +114,7 @@
     <button
      follows="top|right"
      height="22"
-     label="Add..."
+     label="Add"
      layout="topleft"
      left_delta="0"
      name="add_btn"
diff --git a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
index 889f29fc5390c8c4a6cd3da0444355b3f2cfc514..a5445a57831b000b8b92988e9a8799dda4020081 100644
--- a/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_control_panel.xml
@@ -1,14 +1,13 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <panel
  border="false"
- follows="left|top|right|bottom"
+ follows="all"
  height="238"
  name="panel_im_control_panel"
  width="180">
-
     <avatar_list
      color="DkGray2"
-     follows="left|top|right|bottom"
+     follows="all"
      height="100"
      ignore_online_status="true"
      layout="topleft"
@@ -19,20 +18,18 @@
      show_profile_btn="false"
      show_speaking_indicator="false"
      top="10"
-     width="180"/>
-
+     width="180" />
     <button
      bottom_pad="0"
-     follows="left|right|bottom" 
-     height="20"
-     label="Group Info"
+     follows="left|right|bottom"
+     height="23"
+     label="Group Profile"
      left_delta="28"
      name="group_info_btn"
-     width="125"/>
-
+     width="125" />
     <panel
      background_visible="true"
-     bg_alpha_color="0.2 0.2 0.2 1"
+     bg_alpha_color="DkGray2"
      border="false"
      follows="left|right|bottom"
      height="70"
@@ -41,34 +38,29 @@
      name="panel_call_buttons"
      top_pad="0"
      width="180">
-
         <button
          bottom="10"
-         follows="all" 
-         height="20"
+         follows="all"
+         height="23"
          label="Call Group"
          left_delta="28"
          name="call_btn"
-         width="125"/>
-
+         width="125" />
         <button
          bottom="40"
-         follows="all" 
-         height="20"
+         follows="all"
+         height="23"
          label="Leave Call"
          name="end_call_btn"
          visible="false"
-         width="125"/>
-
+         width="125" />
         <button
          bottom="10"
-         follows="all" 
-         height="20"
+         follows="all"
+         height="23"
          label="Open Voice Controls"
          name="voice_ctrls_btn"
          visible="false"
-         width="125"/>
-
+         width="125" />
     </panel>
-
 </panel>
diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml
index 043edd10e1967aec67978d0f42c886e4fc8e4e07..e5dc4df0f817d829b033857f6a61c2f4abd98776 100644
--- a/indra/newview/skins/default/xui/en/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_general.xml
@@ -145,7 +145,7 @@ Hover your mouse over the options for more help.
          layout="topleft"
          left="10"
          name="group_mature_check"
-         tool_tip="Sets whether your group information is considered moderate"
+         tool_tip="Sets whether your group contains information rated as Moderate"
          top_pad="0"
          width="190">
             <combo_box.item
diff --git a/indra/newview/skins/default/xui/en/panel_group_notices.xml b/indra/newview/skins/default/xui/en/panel_group_notices.xml
index 0dea81eefe068caa55b8c1be1ce66791a36371df..1b70b95a93265017f74199d1df97d28150481b69 100644
--- a/indra/newview/skins/default/xui/en/panel_group_notices.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_notices.xml
@@ -10,11 +10,9 @@
  width="310">
     <panel.string
      name="help_text">
-        Notices let you send a message and
-an optionally attached item. Notices only go to
-group members in Roles with the ability to
-receive Notices. You can turn off Notices on
-the General tab.
+        Notices let you send a message and an optionally attached item.
+Notices only go to group members in Roles with the ability to receive Notices.
+You can turn off Notices on the General tab.
     </panel.string>
     <panel.string
      name="no_notices_text">
@@ -31,7 +29,7 @@ the General tab.
      name="lbl2"
      top="5"
      width="300">
-     Notices are kept for 14 days
+     Notices are kept for 14 days.
 Maximum 200 per group daily
     </text>
     <scroll_list
@@ -93,6 +91,7 @@ Maximum 200 per group daily
      layout="topleft"
      name="refresh_notices"
      right="-5"
+     tool_tip="Refresh list of notices"
      top_delta="0"
      width="23" />
     <panel
@@ -192,7 +191,7 @@ Maximum 200 per group daily
          top_pad="15"
          word_wrap="true"
          width="150">
-            Drag here to attach something -- >
+            Drag and drop item here to attach it:
         </text>
         <icon
          height="72"
@@ -228,7 +227,7 @@ Maximum 200 per group daily
          left="10"
          layout="topleft"
          name="drop_target"
-         tool_tip="Drag an inventory item onto the message box to send it with the notice. You must have permission to copy and transfer the object to send it with the notice."
+         tool_tip="Drag an inventory item onto this target box to send it with this notice. You must have permission to copy and transfer the item in order to attach it."
          width="280" />
    </panel>
     <panel
diff --git a/indra/newview/skins/default/xui/en/panel_group_roles.xml b/indra/newview/skins/default/xui/en/panel_group_roles.xml
index a5bab3232cfd2b5158ee531adf5da39ab103b17e..9548119d58753abbae2d81af9abfe054af8345eb 100644
--- a/indra/newview/skins/default/xui/en/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_roles.xml
@@ -258,7 +258,7 @@ things in this group. There&apos;s a broad variety of Abilities.
          name="static"
          top_pad="5"
          width="300">
-            Assigned Roles
+            Assigned Members
         </text>
         <scroll_list
          draw_stripes="true"
diff --git a/indra/newview/skins/default/xui/en/panel_landmark_info.xml b/indra/newview/skins/default/xui/en/panel_landmark_info.xml
index a219e30b8bc8c28d5150aa3d87b429bf56145d12..68e58b27ec2df9aede053e6a9b20e276b413a134 100644
--- a/indra/newview/skins/default/xui/en/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/en/panel_landmark_info.xml
@@ -46,13 +46,13 @@
     <!-- Texture names for rating icons -->
     <string
      name="icon_PG"
-     value="parcel_drk_PG" />
+     value="Parcel_PG_Dark" />
     <string
      name="icon_M"
-     value="parcel_drk_M" />
+     value="Parcel_M_Dark" />
     <string
      name="icon_R"
-     value="parcel_drk_R" />
+     value="Parcel_R_Dark" />
     <button
      follows="top|right"
      height="23"
diff --git a/indra/newview/skins/default/xui/en/panel_main_inventory.xml b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
index 37d59de66fc8b3742de034841595f03d19b808ff..aeb28e4c605b4177868a17ff0b490c035f80c070 100644
--- a/indra/newview/skins/default/xui/en/panel_main_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
@@ -30,13 +30,16 @@
      layout="topleft"
      left_delta="-4"
      name="inventory filter tabs"
+     tab_min_width="70"
+     tab_height="30"
      tab_position="top"
-     top_pad="4"
+     top_pad="10"
+     halign="center"
      width="305">
         <inventory_panel
          follows="left|top|right|bottom"
          height="295"
-         label="All Items"
+         label="ALL ITEMS"
          layout="topleft"
          left="1"
          name="All Items"
@@ -45,7 +48,7 @@
         <inventory_panel
          follows="left|top|right|bottom"
          height="295"
-         label="Recent Items"
+         label="RECENT ITEMS"
          layout="topleft"
          left_delta="0"
          name="Recent Items"
diff --git a/indra/newview/skins/default/xui/en/panel_media_settings_security.xml b/indra/newview/skins/default/xui/en/panel_media_settings_security.xml
index 7d9350b45f950e16aa1d7c88fe014da8f64f9757..6e82713f06278e34b99c5c7696bb5a975e5d4cd1 100644
--- a/indra/newview/skins/default/xui/en/panel_media_settings_security.xml
+++ b/indra/newview/skins/default/xui/en/panel_media_settings_security.xml
@@ -35,10 +35,10 @@
    right="-35"
    width="16"
    height="16"
-   image_name="parcel_color_EXP"
+   image_name="Parcel_Exp_Color"
    mouse_opaque="true"
    follows="top|left"
-   name="parcel_color_EXP"
+   name="Parcel_Exp_Color"
    />
   <text
    visible="true"
diff --git a/indra/newview/skins/default/xui/en/panel_my_profile.xml b/indra/newview/skins/default/xui/en/panel_my_profile.xml
index 3c8733119943c4ed3fc3b8714401885bf9a48335..d51893793c789489a05f6d03779389c1677a40cd 100644
--- a/indra/newview/skins/default/xui/en/panel_my_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_my_profile.xml
@@ -27,7 +27,7 @@
     <string
      name="no_partner_text"
      value="None" />
-    <string 
+    <string
 	 name="RegisterDateFormat">
 	 [REG_DATE] ([AGE])
 	</string>
@@ -156,8 +156,8 @@
                 Lorem ipsum dolor sit amet, consectetur adlkjpiscing elit moose moose. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet. adipiscing elit. Aenean rigviverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet sorbet ipsum. adipiscing elit. Aenean viverra orci et justo sagittis aliquet. Nullam malesuada mauris sit amet ipsum.
             </expandable_text>
         </panel>
-	
-	
+
+
 	<!-- <panel
        name="lifes_images_panel"
          follows="left|top|right"
@@ -207,10 +207,10 @@
            top="25"
            width="18" />
       </panel> -->
-	
-	
-	
-	
+
+
+
+
         <text
          type="string"
          follows="left|top"
@@ -254,7 +254,7 @@
          layout="topleft"
          left="10"
          name="register_date"
-         value="05/31/1976"
+         value="05/31/2376"
          width="280"
          word_wrap="true" />
         <text
@@ -351,11 +351,11 @@
      name="profile_buttons_panel"
      top_pad="2"
      bottom="10"
-     height="19"
+     height="23"
      width="303">
         <button
          follows="bottom|left"
-         height="19"
+         height="23"
          label="Add Friend"
          layout="topleft"
          left="0"
@@ -365,7 +365,7 @@
          width="75" />
         <button
          follows="bottom|left"
-         height="19"
+         height="23"
          label="IM"
          layout="topleft"
          name="im"
@@ -374,7 +374,7 @@
          width="45" />
         <button
          follows="bottom|left"
-         height="19"
+         height="23"
          label="Call"
          layout="topleft"
          name="call"
@@ -384,7 +384,7 @@
         <button
          enabled="false"
          follows="bottom|left"
-         height="19"
+         height="23"
          label="Map"
          layout="topleft"
          name="show_on_map_btn"
@@ -393,7 +393,7 @@
          width="45" />
         <button
          follows="bottom|left"
-         height="19"
+         height="23"
          label="Teleport"
          layout="topleft"
          name="teleport"
@@ -408,11 +408,11 @@
      top_pad="-17"
      name="profile_me_buttons_panel"
      visible="false"
-     height="19"
+     height="23"
      width="303">
         <button
          follows="bottom|right"
-         height="19"
+         height="23"
          left="10"
          label="Edit Profile"
          name="edit_profile_btn"
@@ -420,7 +420,7 @@
          width="130" />
         <button
          follows="bottom|right"
-         height="19"
+         height="23"
          label="Edit Appearance"
          left_pad="10"
          name="edit_appearance_btn"
diff --git a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
index de612fbbc3117455b977bd338137a19004a41ca8..2543656a8bd9c73222005e90bc3e6f65538a62e9 100644
--- a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
@@ -22,6 +22,7 @@
      label="Click here to chat."
      layout="topleft"
      left_delta="7"
+     text_pad_right="25"
      left="0"
      max_length="512"
      name="chat_box"
@@ -37,7 +38,7 @@
      left_pad="-24"
      mouse_opaque="true"
      name="chat_zone_indicator"
-     top="1"
+     top="6"
      visible="true"
      width="20" />
     <button
diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
index 51997a2813b3a60a220d89f3420eff21afe9017e..0567d722d5c13a8a9a5e190bbcff6f27b1386820 100644
--- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml
@@ -1,56 +1,52 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<panel name="Outfits" 
-	  bottom="0" 
-	  height="326" 
-	  left="0" 
-	  width="310"
-	  border="true"
-	  follows="left|top|right|bottom">
+<panel name="Outfits"
+ follows="all"
+border="false">
     <accordion
-     follows="left|top|right|bottom"
-     height="315"
-     layout="topleft"
+     single_expansion="true"
+      follows="top|left|bottom"
+      height="460"
+      layout="topleft"
      left="0"
      name="outfits_accordion"
-     top="2"
-     width="310">
-        <accordion_tab
+     top="0"
+     width="333">
+     <accordion_tab
          layout="topleft"
-         name="tab_outfits"
-         title="Outfits">
-	 <inventory_panel 
-	 	 allow_multi_select="true" 
-		 border="true" 
+         name="tab_cof"
+         title="Current Outfit">
+	 <inventory_panel
+	 	 allow_multi_select="true"
+		 border="false"
 		 bottom="0"
-	     follows="left|top|right|bottom" 
-		 height="326" 
-		 left="0" 
+	         follows="all"
+		 height="416"
+		 left="0"
 		 mouse_opaque="true"
-	     name="outfitslist_accordionpanel"
-		 width="310"
-		 start_folder="My Outfits"/>
+	         name="cof_accordionpanel"
+		 width="333"
+		 start_folder="Current Outfit" />
         </accordion_tab>
         <accordion_tab
          layout="topleft"
-         name="tab_cof"
-         title="Current Outfit">
-	 <inventory_panel 
-	 	 allow_multi_select="true" 
-		 border="true" 
+         name="tab_outfits"
+         title="My Outfits">
+	 <inventory_panel
+	 	 allow_multi_select="true"
+		 border="false"
 		 bottom="0"
-	     follows="left|top|right|bottom" 
-		 height="326" 
-		 left="0" 
+	     follows="all"
+		 height="415"
+		 left="0"
 		 mouse_opaque="true"
-	     name="cof_accordionpanel"
-		 width="310"
-		 start_folder="Current Outfit"/>
+	     name="outfitslist_accordionpanel"
+		 width="333"
+		 start_folder="My Outfits" />
         </accordion_tab>
 	</accordion>
-
-	<button bottom="0"
+	<!--<button bottom="0"
 		 halign="center"
-		 height="16"
+		 height="23"
 		 label=">"
 		 enabled="false"
 	     mouse_opaque="false"
@@ -59,54 +55,5 @@
 		 left="0"
 		 visible="false"
 	     follows="right|bottom"
-		 tool_tip="View outfit properties"/>
-    <panel
-     background_visible="true"
-     bevel_style="none"
-     bottom="0"
-     follows="left|right|bottom"
-     height="30"
-     layout="bottomleft"
-     left="0"
-	 visible="true"
-     name="bottom_panel"
-     width="310">
-        <button
-         follows="bottom|left"
-         tool_tip="Show additional options"
-         height="18"
-         image_disabled="OptionsMenu_Disabled"
-         image_selected="OptionsMenu_Press"
-         image_unselected="OptionsMenu_Off"
-         layout="topleft"
-         left="10"
-         name="options_gear_btn"
-         picture_style="true"
-         top="6"
-         width="18" />
-        <button
-         follows="bottom|left"
-         height="18"
-         image_selected="AddItem_Press"
-         image_unselected="AddItem_Off"
-         image_disabled="AddItem_Disabled"
-         layout="topleft"
-         left_pad="5"
-         name="add_btn"
-         picture_style="true"
-         tool_tip="Add new item"
-         width="18" />
-        <dnd_button
-         follows="bottom|right"
-         height="18"
-         image_selected="TrashItem_Press"
-         image_unselected="TrashItem_Off"
-         layout="topleft"
-         right="-5"
-         name="trash_btn"
-         picture_style="true"
-         tool_tip="Remove selected item"
-         top="6"
-         width="18" />
-    </panel>
+		 tool_tip="View outfit properties" />-->
 </panel>
diff --git a/indra/newview/skins/default/xui/en/panel_picks.xml b/indra/newview/skins/default/xui/en/panel_picks.xml
index 52bc72fe86873f103e12f75c236bb28dcc517437..4facedc7ea7db4d96674de726fa9cc732773e56a 100644
--- a/indra/newview/skins/default/xui/en/panel_picks.xml
+++ b/indra/newview/skins/default/xui/en/panel_picks.xml
@@ -106,7 +106,7 @@
              layout="topleft"
              left_pad="15"
              name="new_btn"
-             tool_tip="Create new pick or classified at current location"
+             tool_tip="Create a new pick or classified at the current location"
              top="5"
              width="18" />
             <button
@@ -138,7 +138,7 @@
          left="5"
          name="info_btn"
          tab_stop="false"
-         tool_tip="Show pic information"
+         tool_tip="Show pick information"
          top="0"
          width="55" />
         <button
@@ -162,7 +162,7 @@
          left_pad="5"
          name="show_on_map_btn"
          tab_stop="false"
-         tool_tip="Show corresponding area on the world map"
+         tool_tip="Show the corresponding area on the World Map"
          top="0"
          width="50" />
         </panel>
diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml
index 3f5da66dcec8337777cdf1766c35e6d898476134..b25d9a7dfcc214062425599eca774765e96ca400 100644
--- a/indra/newview/skins/default/xui/en/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml
@@ -95,49 +95,49 @@
     <!-- Texture names for parcel permissions icons -->
     <string
      name="icon_PG"
-     value="parcel_drk_PG" />
+     value="Parcel_PG_Dark" />
     <string
      name="icon_M"
-     value="parcel_drk_M" />
+     value="Parcel_M_Dark" />
     <string
      name="icon_R"
-     value="parcel_drk_R" />
+     value="Parcel_R_Dark" />
     <string
      name="icon_Voice"
-     value="parcel_drk_Voice" />
+     value="Parcel_Voice_Dark" />
     <string
      name="icon_VoiceNo"
-     value="parcel_drk_VoiceNo" />
+     value="Parcel_VoiceNo_Dark" />
     <string
      name="icon_Fly"
-     value="parcel_drk_Fly" />
+     value="Parcel_Fly_Dark" />
     <string
      name="icon_FlyNo"
-     value="parcel_drk_FlyNo" />
+     value="Parcel_FlyNo_Dark" />
     <string
      name="icon_Push"
-     value="parcel_drk_Push" />
+     value="Parcel_Push_Dark" />
     <string
      name="icon_PushNo"
-     value="parcel_drk_PushNo" />
+     value="Parcel_PushNo_Dark" />
     <string
      name="icon_Build"
-     value="parcel_drk_Build" />
+     value="Parcel_Build_Dark" />
     <string
      name="icon_BuildNo"
-     value="parcel_drk_BuildNo" />
+     value="Parcel_BuildNo_Dark" />
     <string
      name="icon_Scripts"
-     value="parcel_drk_Scripts" />
+     value="Parcel_Scripts_Dark" />
     <string
      name="icon_ScriptsNo"
-     value="parcel_drk_ScriptsNo" />
+     value="Parcel_ScriptsNo_Dark" />
     <string
      name="icon_Damage"
-     value="parcel_drk_Damage" />
+     value="Parcel_Damage_Dark" />
     <string
      name="icon_DamageNo"
-     value="parcel_drk_DamageNo" />
+     value="Parcel_DamageNo_Dark" />
     <button
      follows="top|right"
      height="23"
@@ -335,7 +335,7 @@
                         <icon
                          follows="top|left"
                          height="16"
-                         image_name="parcel_drk_PG"
+                         image_name="Parcel_PG_Dark"
                          layout="topleft"
                          left="10"
                          name="rating_icon"
@@ -361,7 +361,7 @@
                         <icon
                          follows="top|left"
                          height="18"
-                         image_name="parcel_drk_Voice"
+                         image_name="Parcel_Voice_Dark"
                          layout="topleft"
                          left="10"
                          name="voice_icon"
@@ -388,7 +388,7 @@
                         <icon
                          follows="top|left"
                          height="18"
-                         image_name="parcel_drk_Fly"
+                         image_name="Parcel_Fly_Dark"
                          layout="topleft"
                          left="10"
                          name="fly_icon"
@@ -414,7 +414,7 @@
                         <icon
                          follows="top|left"
                          height="18"
-                         image_name="parcel_drk_Push"
+                         image_name="Parcel_Push_Dark"
                          layout="topleft"
                          left="10"
                          name="push_icon"
@@ -440,7 +440,7 @@
                         <icon
                          follows="top|left"
                          height="18"
-                         image_name="parcel_drk_Build"
+                         image_name="Parcel_Build_Dark"
                          layout="topleft"
                          left="10"
                          name="build_icon"
@@ -466,7 +466,7 @@
                         <icon
                          follows="top|left"
                          height="18"
-                         image_name="parcel_drk_Scripts"
+                         image_name="Parcel_Scripts_Dark"
                          layout="topleft"
                          left="10"
                          name="scripts_icon"
@@ -492,7 +492,7 @@
                         <icon
                          follows="top|left"
                          height="18"
-                         image_name="parcel_drk_Damage"
+                         image_name="Parcel_Damage_Dark"
                          layout="topleft"
                          left="10"
                          name="damage_icon"
@@ -591,7 +591,7 @@
                         <icon
                          follows="top|left"
                          height="16"
-                         image_name="parcel_drk_PG"
+                         image_name="Parcel_PG_Dark"
                          layout="topleft"
                          left_pad="0"
                          name="region_rating_icon"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
index 3aa5d3fae423046223c9fdada0caf67f7f5dcee7..fff53c1de2ed053b98e74c337f10d958e04397fe 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
@@ -332,7 +332,7 @@
      control_name="ChatWindow"
      name="chat_window"
      top_pad="10"
-     tool_tip="Show chat in multiple windows(by default) or in one multi-tabbed window (requires restart)"
+     tool_tip="Show your Instant Messages in separate windows, or in one window with many tabs (Requires restart)"
      width="331">
      <radio_item
       height="16"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
index 8ef2cdfc37fad3348759b54c3881d26d3c0a62f7..854227619b522fc3c755c4ef71109e8c59ccaaa8 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
@@ -23,7 +23,7 @@
      name="System Volume"
      show_text="false"
      slider_label.halign="right"
-     top_pad="5"
+     top="10"
      volume="true"
      width="350">
         <slider.commit_callback
@@ -34,8 +34,8 @@
      control_name="MuteAudio"
      follows="top|right"
      height="18"
-     image_selected="parcel_drk_VoiceNo"
-     image_unselected="parcel_drk_Voice"
+     image_selected="Parcel_VoiceNo_Dark"
+     image_unselected="Parcel_Voice_Dark"
      is_toggle="true"
      layout="topleft"
      left_pad="16"
@@ -79,8 +79,8 @@
      disabled_control="MuteAudio"
      follows="top|right"
      height="18"
-     image_selected="parcel_drk_VoiceNo"
-     image_unselected="parcel_drk_Voice"
+     image_selected="Parcel_VoiceNo_Dark"
+     image_unselected="Parcel_Voice_Dark"
      is_toggle="true"
      layout="topleft"
      left_pad="16"
@@ -114,8 +114,8 @@
      disabled_control="MuteAudio"
      follows="top|right"
      height="18"
-     image_selected="parcel_drk_VoiceNo"
-     image_unselected="parcel_drk_Voice"
+     image_selected="Parcel_VoiceNo_Dark"
+     image_unselected="Parcel_Voice_Dark"
      is_toggle="true"
      layout="topleft"
      left_pad="16"
@@ -149,8 +149,8 @@
      disabled_control="MuteAudio"
      follows="top|right"
      height="18"
-     image_selected="parcel_drk_VoiceNo"
-     image_unselected="parcel_drk_Voice"
+     image_selected="Parcel_VoiceNo_Dark"
+     image_unselected="Parcel_Voice_Dark"
      is_toggle="true"
      layout="topleft"
      left_pad="16"
@@ -184,8 +184,8 @@
      disabled_control="MuteAudio"
      follows="top|right"
      height="18"
-     image_selected="parcel_drk_VoiceNo"
-     image_unselected="parcel_drk_Voice"
+     image_selected="Parcel_VoiceNo_Dark"
+     image_unselected="Parcel_Voice_Dark"
      is_toggle="true"
      layout="topleft"
      left_pad="16"
@@ -219,8 +219,8 @@
      disabled_control="MuteAudio"
      follows="top|right"
      height="18"
-     image_selected="parcel_drk_VoiceNo"
-     image_unselected="parcel_drk_Voice"
+     image_selected="Parcel_VoiceNo_Dark"
+     image_unselected="Parcel_Voice_Dark"
      is_toggle="true"
      layout="topleft"
      left_pad="16"
@@ -230,12 +230,13 @@
      width="22" />
    <check_box
      label_text.halign="left"
-     follows="right|top"
-    height="16"
-    control_name ="EnableVoiceChat"
-   disabled_control="CmdLineDisableVoice"
-     label="Voice"
-     left="50"
+     follows="left|top"
+     height="16"
+     control_name ="EnableVoiceChat"
+     disabled_control="CmdLineDisableVoice"
+     label="Enable voice"
+     layout="topleft"
+     left="28"
      name="enable_voice_check"
      top_pad="5"
      width="110"
@@ -249,15 +250,16 @@
      height="15"
      increment="0.05"
      initial_value="0.5"
-     label_width="0"
+     label="Voice"
+     label_width="160"
      layout="topleft"
-     left="165"
-     top_delta="0"
+     left="0"
+     top_delta="20"
      name="Voice Volume"
      show_text="false"
      slider_label.halign="right"
      volume="true"
-     width="185">
+     width="350">
         <slider.commit_callback
          function="Pref.setControlFalse"
          parameter="MuteVoice" />
@@ -268,8 +270,8 @@
      disabled_control="MuteAudio"
      follows="top|right"
      height="18"
-     image_selected="parcel_drk_VoiceNo"
-     image_unselected="parcel_drk_Voice"
+     image_selected="Parcel_VoiceNo_Dark"
+     image_unselected="Parcel_Voice_Dark"
      is_toggle="true"
      layout="topleft"
      left_pad="16"
@@ -283,63 +285,70 @@
      follows="left|top"
      height="13"
      layout="topleft"
-     left="170"
+     left="30"
      name="Listen from"
-     width="200">
+     width="200"
+     top="205">
         Listen from:
     </text>
     <icon
-	 follows="left"
+	 follows="left|top"
 	 height="18"
 	 image_name="Cam_FreeCam_Off"
+         layout="topleft"
 	 name="camera_icon"
 	 mouse_opaque="false"
 	 visible="true"
-	 width="18" />
+	 width="18"
+         left="80"
+         top="219"/>
 	<icon
-	 follows="left"
+	 follows="left|top"
 	 height="18"
 	 image_name="Move_Walk_Off"
+         layout="topleft"
 	 name="avatar_icon"
 	 mouse_opaque="false"
 	 visible="true"
-	 width="18" />
+	 width="18"
+         top="239"
+         left="80"
+         />
    <radio_group
      enabled_control="EnableVoiceChat"
      control_name="VoiceEarLocation"
      draw_border="false"
-	 follows="left"
-     left_delta="20"
-	 top = "210"
-	 width="221"
-	 height="38"
-     name="ear_location">
-        <radio_item
-         height="16"
-         label="Camera position"
-         left_pad="1"
-	follows="topleft"
-         name="0"
-         top_delta="-30"
-         width="200" />
-        <radio_item
-         height="16"
-	follows="topleft"
-         label="Avatar position"
-         left_delta="0"
-         name="1"
-         top_delta="19"
-         width="200" />
-    </radio_group>
+     follows="left|top"
+     layout="topleft"
+     left="100"
+     width="221"
+     height="38"
+     name="ear_location"
+     top="218">
+    <radio_item
+     height="16"
+     label="Camera position"
+     follows="left|top"
+     layout="topleft"
+     name="0"
+     width="200"/>
+    <radio_item
+     height="16"
+     follows="left|top"
+     label="Avatar position"
+     layout="topleft"
+     name="1"
+     width="200" />
+   </radio_group>
   <button
    control_name="ShowDeviceSettings"
-   follows="left|bottom"
+   follows="left|top"
    height="19"
    is_toggle="true"
-   label="Input/Output Devices"
+   label="Input/Output devices"
    layout="topleft"
-   left="165"
-   top_pad="12"
+   left="30"
+   top="270"
    name="device_settings_btn"
    width="190">
   </button>
@@ -475,7 +484,7 @@
     </text>-->
           <icon
              height="18"
-             image_name="parcel_lght_Voice"
+             image_name="Parcel_Voice_Light"
              left="80"
              name="speaker_icon"
              mouse_opaque="false"
diff --git a/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml
index e21de314986ce40226ffc4ed9cd7397fbf31301b..b4f72a48bc285326dc7c760c0ca6dc7ad6fa9c6d 100644
--- a/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml
+++ b/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml
@@ -380,7 +380,7 @@
 		  image_selected="AudioMute_Off"
 		  image_unselected="Audio_Off"
 		  hover_glow_amount="0.15"
-		  name="media_volume_button"
+		  name="media_mute_button"
 		  height="22"
 		  is_toggle="true"
 		  layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml
index 5dcee9e965b9b70dd17d2ab19c7f0457d15b61e5..57b090e5b499883bc1056ee9b8edf6d9a14dafaf 100644
--- a/indra/newview/skins/default/xui/en/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml
@@ -72,8 +72,8 @@
     <button
      follows="right|bottom"
      height="16"
-     image_selected="parcel_drk_VoiceNo"
-     image_unselected="parcel_drk_Voice"
+     image_selected="Parcel_VoiceNo_Dark"
+     image_unselected="Parcel_Voice_Dark"
      is_toggle="true"
      left_pad="18"
      top="1"
diff --git a/indra/newview/skins/default/xui/en/panel_toast.xml b/indra/newview/skins/default/xui/en/panel_toast.xml
index 6479fc91ca136a46fed016cad16b4971bec35e38..707b24c92cd89a5b3faad5fb80f45079a397aef0 100644
--- a/indra/newview/skins/default/xui/en/panel_toast.xml
+++ b/indra/newview/skins/default/xui/en/panel_toast.xml
@@ -46,7 +46,7 @@
   </text>
   <button
     layout="topleft"
-    top="-6"
+    top="-14"
     left="293"
     width="17"
     height="17"
diff --git a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
index 4dae8e48a0b36ac61e0bf8a92eeedb7f12fcaaac..886887c2b50ac4c4235a901f4854ab5399b312cc 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml
@@ -1,111 +1,177 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <panel
-	  background_visible="true"
-	  follows="all"
-	  height="400"
-	  label="Appearance"
-	  layout="topleft"
-	  min_height="350"
-	  min_width="240"
-	  name="appearance panel"
-	  width="333">
-	 <string
-      name="No Outfit"
-	  value="No Outfit" />
-     <panel
-		 left="5" width="320" height="55"
-		 background_visible="true"
-		 background_opaque="false"
-		 bg_alpha_color="0.2 0.2 0.2 1.0"
-		 name="panel_currentlook"
-		 follows="left|top|right">
-  	    <button
-  	     	 follows="left|right|top"
-  	     	 font="SansSerif"
-  	     	 top="28" right="-10" width="60" height="20"
-  	     	 layout="topleft"
-  		 	 label="Edit"
-  	     	 name="editappearance_btn"/>
-        <button
-	     follows="left|right|top"
-		 top="28" left="5" width="25" height="22"
-	     image_overlay="Inv_LookFolderOpen"
-	     layout="topleft"
-		 name="openoutfit_btn"
-	     picture_style="true" />
-		<text
-			 top="10" width="150" left="5" height="15" follows="left|right|top"
-			 layout="topleft"
-        	 font="SansSerif" text_color="LtGray" word_wrap="true"
-        	 mouse_opaque="false" name="currentlook_title">
-					Current Outfit:
-    	</text>
-  		<text
-			 top="32" width="150" left="32" height="15" follows="left|right|top"
-			 layout="topleft"
-      		 font="SansSerifBold" text_color="white" word_wrap="true"
-      		 mouse_opaque="false" name="currentlook_name" >
-					MyOutfit
-  		</text>
-	</panel>
-
+background_visible="true"
+ follows="all"
+ height="570"
+  label="My Appearance"
+  layout="topleft"
+ min_height="350"
+  name="appearance panel"
+ width="333">
+ <string
+name="No Outfit"
+value="No Outfit" />
+<panel
+ left="0"
+ top="0"
+ follows="top|left"
+layout="topleft"
+ width="333"
+ height="45"
+ background_visible="true"
+ background_opaque="false"
+ bg_alpha_color="MouseGray"
+ name="panel_currentlook"
+ >
+<button
+   follows="left|top"
+        top="0"  width="1" height="1"
+        layout="topleft"
+	left="0"
+        name="editappearance_btn" />
+   <button
+   follows="left|top"
+        top="0"  width="1" height="1"
+        layout="topleft"
+	left="3"
+ name="openoutfit_btn" />
+<icon
+ follows="top|left"
+ height="30"
+ image_name="TabIcon_Appearance_Off"
+ name="outfit_icon"
+ mouse_opaque="false"
+ visible="true"
+ left="5"
+ top="0"
+ width="30" />
+<text
+ width="292"
+ height="22"
+follows="top|left"
+ layout="topleft"
+ left_pad="5"
+font="SansSerifLarge"
+font.style="BOLD"
+word_wrap="false"
+use_ellipses="true"
+mouse_opaque="false"
+ text_color="white"
+ name="currentlook_name">
+MyOutfit With a really Long Name like MOOSE
+    </text>
+  <text
+width="290"
+left="40"
+height="1"
+follows="top|left"
+ layout="topleft"
+ top_pad="-2"
+mouse_opaque="false"
+ name="currentlook_title" >
+(now wearing)
+  </text>
+</panel>
     <filter_editor
-  	     follows="left|top|right"
-  	     font="SansSerif"
-  	     label="Filter"
-  	     layout="topleft"
-  	     left="15" 
-		 width="313"
-		 height="20"
-  	     name="Filter" />
+     follows="top|left"
+     height="23"
+     layout="topleft"
+     left="15"
+     label="Filter"
+     max_length="300"
+     name="Filter"
+     top_pad="7"
+     width="303" />
     <panel
-   	     class="panel_outfits_inventory"
-   	     filename="panel_outfits_inventory.xml"
- 	     name="panel_outfits_inventory"
-  	     follows="all"
-  	     height="271"
-  	     halign="center"
-  	     layout="topleft"
-  	     left="10"
-  	     top_pad="19"
-  	     width="313" />
-    <button
-  	     follows="bottom|left"
-  	     height="25"
-  	     label="Wear"
-  	     layout="topleft"
-  	     left="10"
-  	     name="wear_btn"
-     	 top_pad="0"
-       	 width="80" />
+     follows="top|left"
+     halign="center"
+     height="500"
+     layout="topleft"
+    class="panel_outfits_inventory"
+      filename="panel_outfits_inventory.xml"
+      name="panel_outfits_inventory"
+     min_height="300"
+      left="0"
+      top_pad="3"
+	width="333"
+       />
+   <panel
+     background_visible="true"
+     follows="top|left"
+     height="19"
+     layout="topleft"
+     left="0"
+     visible="true"
+     name="bottom_panel"
+     width="333">
+        <button
+         follows="bottom|left"
+         tool_tip="Show additional options"
+         height="18"
+         image_disabled="OptionsMenu_Disabled"
+         image_selected="OptionsMenu_Press"
+         image_unselected="OptionsMenu_Off"
+         layout="topleft"
+         left="10"
+         name="options_gear_btn"
+         top="6"
+         width="18" />
+        <button
+         follows="bottom|left"
+         height="18"
+         image_selected="AddItem_Press"
+         image_unselected="AddItem_Off"
+         image_disabled="AddItem_Disabled"
+         layout="topleft"
+         left_pad="5"
+         name="add_btn"
+         tool_tip="Add new item"
+         width="18" />
+        <dnd_button
+         follows="bottom|left"
+         height="18"
+         image_selected="TrashItem_Press"
+         image_unselected="TrashItem_Off"
+         layout="topleft"
+         right="-5"
+         name="trash_btn"
+         tool_tip="Remove selected item"
+         top="6"
+         width="18" />
     <button
-    	 follows="bottom|left"
-  	     height="25"
-  	     label="New Outfit"
-  	     layout="topleft"
-  	     left_pad="0"
-  	     name="newlook_btn"
-  	     top_delta="0"
-   	     width="90" />
-
-	<panel
-       	 class="panel_look_info"
-       	 filename="panel_look_info.xml"
-       	 follows="all"
-       	 layout="topleft"
-       	 left="0"
-       	 name="panel_look_info"
-       	 top="-200"
-       	 visible="false" />
-
-	<panel
-	   	 class="panel_edit_wearable"
-	   	 filename="panel_edit_wearable.xml"
-	   	 follows="all"
-	   	 layout="topleft"
-	   	 left="0"
-	   	 name="panel_edit_wearable"
-	   	 top="-200"
-	   	 visible="false"
-	   	 width="333" />
+     follows="top|left"
+       height="23"
+       label="Wear"
+       layout="topleft"
+       name="wear_btn"
+       right="-5"
+       top_pad="0"
+        width="90" />
+    </panel>
+ <!--   <button
+     follows="bottom|left"
+       height="23"
+       label="New outfit"
+       layout="topleft"
+       left_pad="5"
+       right="-10"
+       name="newlook_btn"
+        width="100" />-->
+<panel
+        class="panel_look_info"
+        filename="panel_look_info.xml"
+        follows="all"
+        layout="topleft"
+        left="0"
+        name="panel_look_info"
+        visible="false" />
+<panel
+    class="panel_edit_wearable"
+    filename="panel_edit_wearable.xml"
+    follows="all"
+    layout="topleft"
+    left="0"
+    name="panel_edit_wearable"
+    visible="false"
+    width="333" />
 </panel>
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 3b32912fbfada8a7bc76b5b3a89b93ac7e946b94..7fafa63e5728cb56320b43bc2ac871461e3a560e 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -1770,7 +1770,8 @@ Clears (deletes) the media and all params from the given face.
 	<string name="tattoo">Tattoo</string>
 	<string name="invalid">invalid</string>
 
-	<!-- notify -->
+	<!-- LLGroupNotify -->
+	<!-- used in the construction of a Group Notice blue dialog box, buttons, tooltip etc. Seems to be no longer utilized by code in Viewer 2.0 -->
 	<string name="next">Next</string>
 	<string name="ok">OK</string>
 	<string name="GroupNotifyGroupNotice">Group Notice</string>
@@ -1780,6 +1781,7 @@ Clears (deletes) the media and all params from the given face.
 	<string name="GroupNotifyViewPastNotices">View past notices or opt-out of receiving these messages here.</string>
 	<string name="GroupNotifyOpenAttachment">Open Attachment</string>
 	<string name="GroupNotifySaveAttachment">Save Attachment</string>
+
   <string name="TeleportOffer">Teleport offering</string>
   <!-- start-up toast's string-->
   <string name="StartUpNotifications">New notifications arrived while you were away.</string>
diff --git a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml
index 0e34243349aa8357022808947d57e540b17065f3..48baa2812d70889ac4fe751e2062bd13a09e5065 100644
--- a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml
+++ b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml
@@ -4,6 +4,7 @@
   search_button_visible="true"
   text_pad_left="7"
   select_on_focus="true"
+  text_tentative_color="TextFgTentativeColor"
   background_image="TextField_Search_Off"
   background_image_disabled="TextField_Search_Disabled"
   background_image_focused="TextField_Search_Active">
diff --git a/indra/newview/skins/default/xui/en/widgets/location_input.xml b/indra/newview/skins/default/xui/en/widgets/location_input.xml
index 0e2700cb80fed410422e357a70d17dbb6af145a5..7ac44b412d47c6b4198b8a7fef28f493e2bd2c8d 100644
--- a/indra/newview/skins/default/xui/en/widgets/location_input.xml
+++ b/indra/newview/skins/default/xui/en/widgets/location_input.xml
@@ -22,9 +22,12 @@
                 >
   <!-- *NOTE: Tooltips are in strings.xml so they can be localized.
   See LocationCtrlAddLandmarkTooltip etc. -->
-  <info_button name="Place Information"
-                          width="16"
-                          height="16"
+  <info_button
+    name="Place Information"
+    width="16"
+    height="16"
+    left="4" 
+    top="20" 
                           follows="left|top"
                           hover_glow_amount="0.15"
                           image_unselected="Info_Off"
@@ -43,8 +46,8 @@
 			  left="-3" />
   <for_sale_button
     name="for_sale_btn"
-    image_unselected="parcel_lght_ForSale"
-    image_selected="parcel_lght_ForSale"
+    image_unselected="Parcel_ForSale_Light"
+    image_selected="Parcel_ForSale_Light"
     width="22"
     height="18"
     follows="right|top"
@@ -58,7 +61,7 @@
     height="18"
     top="21"
     follows="right|top"
-    image_name="parcel_lght_VoiceNo"
+    image_name="Parcel_VoiceNo_Light"
     />
   <fly_icon
     name="fly_icon"
@@ -66,7 +69,7 @@
     height="18"
     top="21"
     follows="right|top"
-    image_name="parcel_lght_FlyNo"
+    image_name="Parcel_FlyNo_Light"
     />
   <push_icon
     name="push_icon"
@@ -74,7 +77,7 @@
     height="18"
     top="21"
     follows="right|top"
-    image_name="parcel_lght_PushNo"
+    image_name="Parcel_PushNo_Light"
     />
   <build_icon
     name="build_icon"
@@ -82,7 +85,7 @@
     height="18"
     top="21"
     follows="right|top"
-    image_name="parcel_lght_BuildNo"
+    image_name="Parcel_BuildNo_Light"
     />
   <scripts_icon
     name="scripts_icon"
@@ -90,7 +93,7 @@
     height="18"
     top="21"
     follows="right|top"
-    image_name="parcel_lght_ScriptsNo"
+    image_name="Parcel_ScriptsNo_Light"
     />
   <!-- NOTE: Placeholder icon, there is no dark grayscale version -->
   <damage_icon
@@ -99,7 +102,7 @@
     height="18"
     top="21"
     follows="right|top"
-    image_name="parcel_lght_Damage"
+    image_name="Parcel_Damage_Light"
     />
   <!-- Default text color is invisible on top of nav bar background -->
   <damage_text
diff --git a/indra/newview/skins/default/xui/en/widgets/output_monitor.xml b/indra/newview/skins/default/xui/en/widgets/output_monitor.xml
index 98b3e2faaada9f6dbd9e6a97734a19d1f786de4f..21b957d089a6b18c56cff5c8ef668c804d0b3ba6 100644
--- a/indra/newview/skins/default/xui/en/widgets/output_monitor.xml
+++ b/indra/newview/skins/default/xui/en/widgets/output_monitor.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <output_monitor
-  image_mute="parcel_lght_VoiceNo"
+  image_mute="Parcel_VoiceNo_Light"
   image_off="VoicePTT_Off"
   image_on="VoicePTT_On"
   image_level_1="VoicePTT_Lvl1"
diff --git a/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml b/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml
index c2a70d4b39dcaaa53a544995007089b1267fee0f..5d429d5b5b989a67e46fd7a4af5748352335c631 100644
--- a/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml
+++ b/indra/newview/skins/default/xui/en/widgets/search_combo_box.xml
@@ -13,7 +13,8 @@
  <combo_editor
   name="child1"
   select_on_focus="true"
-  text_pad_left="30" 
+  text_pad_left="30"
+  text_tentative_color="TextFgTentativeColor"
   background_image="TextField_Search_Off"
   background_image_disabled="TextField_Search_Disabled"
   background_image_focused="TextField_Search_Active"/>
diff --git a/indra/newview/skins/default/xui/en/widgets/search_editor.xml b/indra/newview/skins/default/xui/en/widgets/search_editor.xml
index f644a710b224ba9a7d27539e3eb459ff21190af6..1616e4c3f746e10740058628ff9d01c97af8865a 100644
--- a/indra/newview/skins/default/xui/en/widgets/search_editor.xml
+++ b/indra/newview/skins/default/xui/en/widgets/search_editor.xml
@@ -4,6 +4,7 @@
   search_button_visible="true"
   text_pad_left="6" 
   select_on_focus="true"
+  text_tentative_color="TextFgTentativeColor"
   background_image="TextField_Search_Off"
   background_image_disabled="TextField_Search_Disabled"
   background_image_focused="TextField_Search_Active" >
diff --git a/indra/newview/skins/default/xui/en/widgets/spinner.xml b/indra/newview/skins/default/xui/en/widgets/spinner.xml
index ab3f8df5f885af6b5d6749a7f0dd236b01353737..d7af6077e51388246ca6562b224ffc5fb9ca0caa 100644
--- a/indra/newview/skins/default/xui/en/widgets/spinner.xml
+++ b/indra/newview/skins/default/xui/en/widgets/spinner.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <spinner text_enabled_color="LabelTextColor"
          text_disabled_color="LabelDisabledColor"
-         font="SansSerif" 
+         font="SansSerifSmall" 
          decimal_digits="3"
          label_width="40" >
   <spinner.up_button name="SpinCtrl Up"
diff --git a/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml
new file mode 100644
index 0000000000000000000000000000000000000000..eaa68f56900b1347843bea40e4062880ba5dd029
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<!-- Menu items for the back button drop-down menu of locations.
+  Based on menu_item_call.xml -->
+<teleport_history_menu_item
+  back_item_font="SansSerif"
+  current_item_font="SansSerifBold"
+  forward_item_font="SansSerif"
+  back_item_image="teleport_history_backward.tga"
+  forward_item_image="teleport_history_forward.tga"
+  image_hpad="1"
+  image_vpad="0"
+  />
diff --git a/indra/viewer_components/login/lllogin.cpp b/indra/viewer_components/login/lllogin.cpp
index b14c59ab9ac1d702501ae9a26b1a92fe4619f69e..02c13716eddae0e5a037359968351f8e905f5e3a 100644
--- a/indra/viewer_components/login/lllogin.cpp
+++ b/indra/viewer_components/login/lllogin.cpp
@@ -133,9 +133,16 @@ void LLLogin::Impl::connect(const std::string& uri, const LLSD& credentials)
 
 void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credentials)
 {
-    LL_INFOS("LLLogin") << "Entering coroutine " << LLCoros::instance().getName(self)
-                        << " with uri '" << uri << "', credentials " << credentials << LL_ENDL;
-    // Arriving in SRVRequest state
+	LLSD printable_credentials = credentials;
+	if(printable_credentials.has("params") 
+		&& printable_credentials["params"].has("passwd")) 
+	{
+		printable_credentials["params"]["passwd"] = "*******";
+	}
+    LL_DEBUGS("LLLogin") << "Entering coroutine " << LLCoros::instance().getName(self)
+                        << " with uri '" << uri << "', credentials " << printable_credentials << LL_ENDL;
+
+	// Arriving in SRVRequest state
     LLEventStream replyPump("reply", true);
     // Should be an array of one or more uri strings.
     LLSD rewrittenURIs;
@@ -144,7 +151,7 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credential
         sendProgressEvent("offline", "srvrequest");
 
         // Request SRV record.
-        LL_INFOS("LLLogin") << "Requesting SRV record from " << uri << LL_ENDL;
+        LL_DEBUGS("LLLogin") << "Requesting SRV record from " << uri << LL_ENDL;
 
         // *NOTE:Mani - Completely arbitrary default timeout value for SRV request.
 		F32 seconds_to_timeout = 5.0f;
@@ -193,6 +200,11 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD credential
             LLSD progress_data;
             progress_data["attempt"] = attempts;
             progress_data["request"] = request;
+			if(progress_data["request"].has("params")
+				&& progress_data["request"]["params"].has("passwd"))
+			{
+				progress_data["request"]["params"]["passwd"] = "*******";
+			}
             sendProgressEvent("offline", "authenticating", progress_data);
 
             // We expect zero or more "Downloading" status events, followed by
diff --git a/install.xml b/install.xml
index c76217426ca01450bf5c5f42779e9b468225099b..2d60f07c11d4be864857361b7c3d98b196b8f88e 100644
--- a/install.xml
+++ b/install.xml
@@ -1367,23 +1367,23 @@ anguage Infrstructure (CLI) international standard</string>
           <key>darwin</key>
           <map>
             <key>md5sum</key>
-            <string>dd66471b31d369bb7bcbcc1a833d9070</string>
+            <string>90a08e3a1dffa2ea45c1227c4d4d01f7</string>
             <key>url</key>
-            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/vivox-3.0.0006.7653-darwin-20091126.tar.bz2</uri>
+            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/vivox-3.0.0006.7714-darwin-20091208.tar.bz2</uri>
           </map>
           <key>linux</key>
           <map>
             <key>md5sum</key>
-            <string>e56745bc71fc22fc90f80cb359db7022</string>
+            <string>390fe4ed062cfb05bbc534772837ce5e</string>
             <key>url</key>
-            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/vivox-3.0.0006.7653-linux-20091126.tar.bz2</uri>
+            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/vivox-3.0.0006.7714-linux-20091208.tar.bz2</uri>
           </map>
           <key>windows</key>
           <map>
             <key>md5sum</key>
-            <string>3081bcc821cdc016aa4127cb026e4311</string>
+            <string>0232fb487bd31ea756604d139b2a2e34</string>
             <key>url</key>
-            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/vivox-3.0.0006.7653-windows-20091126.tar.bz2</uri>
+            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/vivox-3.0.0006.7714-windows-20091208.tar.bz2</uri>
           </map>
         </map>
       </map>
@@ -1447,9 +1447,9 @@ anguage Infrstructure (CLI) international standard</string>
           <key>linux</key>
           <map>
             <key>md5sum</key>
-            <string>1804b54034ef7f82832506a44acb06b8</string>
+            <string>26fe88213c213dc6153690ab142c25ca</string>
             <key>url</key>
-            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/zlib-1.2.3-linux-20090603.tar.bz2</uri>
+            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/zlib-1.2.3dfsg-linux-20091208.tar.bz2</uri>
           </map>
           <key>linux64</key>
           <map>