diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dbb92c1e3e3f90dc633a41a4510462be6011a72b..c5979863bb4b88cdc76af9233a288218e49c428c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -208,6 +208,7 @@ coverity_scan:
   extends: .mac_build
   variables:
     AUTOBUILD_ADDRSIZE: 64
+    USE_SENTRY: "FALSE"
   cache:
     key:
       prefix: darwin64
diff --git a/autobuild.xml b/autobuild.xml
index a566e8cf64706370bc931ce3ca07e724172576a1..84e0fd03263b1cd2da739cdc5bd194271001b850 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -696,11 +696,11 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>540c22da6b191c63b9488296034b429948d87f693ba37a8b13080ad9229136808bcd63653bb58d49b733cf2296fb3aca2cd52a1f582f37da763d50537c23486b</string>
+              <string>d8e58016074727c9b4fffb8623035adac7dda2933f61e03998cac1d75e80a2da4ece61f9222bdc589e3be10154e80beda4eb7d4ff8a3b2aab4736350d27098e0</string>
               <key>hash_algorithm</key>
               <string>blake2b</string>
               <key>url</key>
-              <string>https://git.alchemyviewer.org/api/v4/projects/169/packages/generic/fonts/76a6399.2390/fonts-76a6399-common-2390.tar.zst</string>
+              <string>https://git.alchemyviewer.org/api/v4/projects/169/packages/generic/fonts/427d30e.2397/fonts-427d30e-common-2397.tar.zst</string>
             </map>
             <key>name</key>
             <string>common</string>
@@ -713,7 +713,7 @@
         <key>copyright</key>
         <string>Various Licenses</string>
         <key>version</key>
-        <string>76a6399</string>
+        <string>427d30e</string>
         <key>name</key>
         <string>fonts</string>
         <key>canonical_repo</key>
diff --git a/indra/cmake/Sentry.cmake b/indra/cmake/Sentry.cmake
index 24c1ffb9db0f5b8cc31369c83d6141fd08e0e869..adf3403840cedb1ba8eef7c3adb7d8d450eb20f1 100644
--- a/indra/cmake/Sentry.cmake
+++ b/indra/cmake/Sentry.cmake
@@ -7,7 +7,7 @@ include(OpenSSL)
 include(ZLIBNG)
 
 include_guard()
-if (DEFINED ENV{USE_SENTRY})
+if (DEFINED ENV{USE_SENTRY} AND NOT DARWIN)
   set(USE_SENTRY $ENV{USE_SENTRY} CACHE BOOL "" FORCE)
 endif()
 
@@ -17,7 +17,7 @@ else()
   set(SENTRY_DSN "" CACHE STRING "Sentry DSN")
 endif()
 
-if (INSTALL_PROPRIETARY AND NOT SENTRY_DSN STREQUAL "")
+if (INSTALL_PROPRIETARY AND NOT SENTRY_DSN STREQUAL "" AND NOT DARWIN)
   set(USE_SENTRY ON CACHE BOOL "Use the Sentry crash reporting system")
 endif ()
 
diff --git a/indra/newview/app_settings/settings_alchemy.xml b/indra/newview/app_settings/settings_alchemy.xml
index c6ba14575ecd0399fd046ad62e2f58bc90feb3b4..27e7738dd3e923918f0e5f0c3f288c25a0712f70 100644
--- a/indra/newview/app_settings/settings_alchemy.xml
+++ b/indra/newview/app_settings/settings_alchemy.xml
@@ -2,6 +2,17 @@
 <llsd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="llsd.xsd">
 	<map>
+		<key>AlchemyAppearanceShowHints</key>
+		<map>
+			<key>Comment</key>
+			<string>Show visual param hints in appearance editors.</string>
+			<key>Persist</key>
+			<integer>1</integer>
+			<key>Type</key>
+			<string>Boolean</string>
+			<key>Value</key>
+			<integer>0</integer>
+		</map>
 		<key>AlchemyLinuxVoiceVariant</key>
 		<map>
 			<key>Comment</key>
@@ -332,6 +343,17 @@
 			<key>Value</key>
 			<integer>1</integer>
 		</map>
+		<key>AlchemyGlobalLightScale</key>
+		<map>
+			<key>Comment</key>
+			<string>Curve White Point</string>
+			<key>Persist</key>
+			<integer>0</integer>
+			<key>Type</key>
+			<string>F32</string>
+			<key>Value</key>
+			<real>1.0</real>
+		</map>
 		<key>AlchemyHudTextFadeDistance</key>
 		<map>
 			<key>Comment</key>
@@ -1489,6 +1511,17 @@
 			<key>Value</key>
 			<integer>0</integer>
 		</map>
+		<key>StreamList</key>
+		<map>
+			<key>Comment</key>
+			<string>Saved list of parcel audio streams</string>
+			<key>Persist</key>
+			<integer>1</integer>
+			<key>Type</key>
+			<string>LLSD</string>
+			<key>Value</key>
+			<string />
+		</map>
 		<key>VoiceMultiInstance</key>
 		<map>
 			<key>Comment</key>
diff --git a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
index f4c59c538873638f9a886672be16cd67547b028e..e95885ca401934947a4e7b2531b7ae24e507e21b 100644
--- a/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
+++ b/indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl
@@ -78,6 +78,8 @@ float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen);
 
 float getAmbientClamp();
 
+float calcLegacyDistanceAttenuation(float distance, float falloff);
+
 void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv,
         vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit_linear);
 
@@ -126,7 +128,7 @@ vec3 calcPointLightOrSpotLight(vec3 light_col, vec3 diffuse, vec3 v, vec3 n, vec
 		lv = normalize(lv);
 	
 		//distance attenuation
-		float dist_atten = clamp(1.0-(dist-1.0*(1.0-fa))/fa, 0.0, 1.0);
+		float dist_atten = calcLegacyDistanceAttenuation(dist, fa);
 		dist_atten *= dist_atten;
         dist_atten *= 2.0f;
 
diff --git a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl
index 35d98f0a8c2e6d8de904e86d413720b313faa47e..566798724a7081d9844033a511afe49e67e0db8f 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl
@@ -53,6 +53,8 @@ out vec4 frag_color;
 float sampleDirectionalShadow(vec3 pos, vec3 norm, vec2 pos_screen);
 #endif
 
+float calcLegacyDistanceAttenuation(float distance, float falloff);
+
 void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout vec3 legacyenv,
         vec2 tc, vec3 pos, vec3 norm, float glossiness, float envIntensity, bool transparent, vec3 amblit_linear);
 void applyGlossEnv(inout vec3 color, vec3 glossenv, vec4 spec, vec3 pos, vec3 norm);
@@ -111,7 +113,7 @@ vec3 calcPointLightOrSpotLight(vec3 light_col, vec3 npos, vec3 diffuse, vec4 spe
         lv = normalize(lv);
 
         //distance attenuation
-        float dist_atten = clamp(1.0 - (dist - 1.0*(1.0 - fa)) / fa, 0.0, 1.0);
+        float dist_atten = calcLegacyDistanceAttenuation(dist, fa);
         dist_atten *= dist_atten;
         dist_atten *= 2.0f;
 
diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp
index 37d0d430975073a320af5e974c091500f1ab78ae..7567b5cb934cca1cefa48c7529235af638e8f921 100644
--- a/indra/newview/llfloatermap.cpp
+++ b/indra/newview/llfloatermap.cpp
@@ -33,6 +33,7 @@
 #include "llfloaterreg.h"
 #include "llfontgl.h"
 #include "llglheaders.h"
+#include "lltrans.h"
 
 // Viewer includes
 #include "llagentcamera.h"
@@ -82,14 +83,14 @@ LLFloaterMap::~LLFloaterMap()
 BOOL LLFloaterMap::postBuild()
 {
     mMap = getChild<LLNetMap>("Net Map");
-    mMap->setToolTipMsg(getString("ToolTipMsg"));
-    mMap->setParcelNameMsg(getString("ParcelNameMsg"));
-    mMap->setParcelSalePriceMsg(getString("ParcelSalePriceMsg"));
-    mMap->setParcelSaleAreaMsg(getString("ParcelSaleAreaMsg"));
-    mMap->setParcelOwnerMsg(getString("ParcelOwnerMsg"));
-    mMap->setRegionNameMsg(getString("RegionNameMsg"));
-    mMap->setToolTipHintMsg(getString("ToolTipHintMsg"));
-    mMap->setAltToolTipHintMsg(getString("AltToolTipHintMsg"));
+	mMap->setToolTipMsg(LLTrans::getString("MinimapToolTipMsg"));
+	mMap->setParcelNameMsg(LLTrans::getString("MinimapParcelNameMsg"));
+	mMap->setParcelSalePriceMsg(LLTrans::getString("MinimapParcelSalePriceMsg"));
+	mMap->setParcelSaleAreaMsg(LLTrans::getString("MinimapParcelSaleAreaMsg"));
+	mMap->setParcelOwnerMsg(LLTrans::getString("MinimapParcelOwnerMsg"));
+	mMap->setRegionNameMsg(LLTrans::getString("MinimapRegionNameMsg"));
+	mMap->setToolTipHintMsg(LLTrans::getString("MinimapToolTipHintMsg"));
+	mMap->setAltToolTipHintMsg(LLTrans::getString("MinimapAltToolTipHintMsg"));
     sendChildToBack(mMap);
 
     mTextBoxNorth     = getChild<LLTextBox>("floater_map_north");
diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp
index 280e41c3480da1bff95b012e52a674539e7813a4..6d431d64a405cdea7838f3cc5b1da7f95f519e4f 100644
--- a/indra/newview/llpaneleditwearable.cpp
+++ b/indra/newview/llpaneleditwearable.cpp
@@ -1518,6 +1518,7 @@ void LLPanelEditWearable::getSortedParams(value_map_t &sorted_params, const std:
 
 void LLPanelEditWearable::buildParamList(LLScrollingPanelList *panel_list, value_map_t &sorted_params, LLAccordionCtrlTab *tab, LLJoint* jointp)
 {
+        BOOL show_hints = gSavedSettings.getBOOL("AlchemyAppearanceShowHints");
         // sorted_params is sorted according to magnitude of effect from
         // least to greatest.  Adding to the front of the child list
         // reverses that order.
@@ -1531,7 +1532,7 @@ void LLPanelEditWearable::buildParamList(LLScrollingPanelList *panel_list, value
                         p.name("LLScrollingPanelParam");
                         LLViewerWearable *wearable = this->getWearable();
                         LLScrollingPanelParamBase *panel_param = NULL;
-                        if (wearable && wearable->getType() == LLWearableType::WT_PHYSICS) // Hack to show a different panel for physics.  Should generalize this later.
+                        if (!show_hints || (wearable && wearable->getType() == LLWearableType::WT_PHYSICS)) // Hack to show a different panel for physics.  Should generalize this later.
                         {
                                 panel_param = new LLScrollingPanelParamBase( p, NULL, (*it).second, TRUE, this->getWearable(), jointp);
                         }
diff --git a/indra/newview/llpanellandaudio.cpp b/indra/newview/llpanellandaudio.cpp
index 9e3fc544773ab2c27285b870b4f18072c8b14318..09f28315974ea4cde260bc88b3aefaf9680cdd85 100644
--- a/indra/newview/llpanellandaudio.cpp
+++ b/indra/newview/llpanellandaudio.cpp
@@ -34,6 +34,7 @@
 #include "llviewerparcelmgr.h"
 #include "llviewerregion.h"
 #include "lluictrlfactory.h"
+#include "llviewercontrol.h"
 
 // library includes
 #include "llcheckboxctrl.h"
@@ -88,8 +89,8 @@ BOOL LLPanelLandAudio::postBuild()
 	mCheckParcelVoiceLocal = getChild<LLCheckBoxCtrl>("parcel_enable_voice_channel_local");
 	childSetCommitCallback("parcel_enable_voice_channel_local", onCommitAny, this);
 
-	mMusicURLEdit = getChild<LLLineEditor>("music_url");
-	childSetCommitCallback("music_url", onCommitAny, this);
+	mMusicURLEdit = getChild<LLComboBox>("music_url");
+	mMusicURLEdit->setCommitCallback(boost::bind(&LLPanelLandAudio::onCommitMusicUrl, this));
 
 	mCheckAVSoundAny = getChild<LLCheckBoxCtrl>("all av sound check");
 	childSetCommitCallback("all av sound check", onCommitAny, this);
@@ -151,8 +152,18 @@ void LLPanelLandAudio::refresh()
 		mCheckParcelEnableVoice->set(allow_voice);
 		mCheckParcelVoiceLocal->set(!parcel->getParcelFlagUseEstateVoiceChannel());
 
-		mMusicURLEdit->setText(parcel->getMusicURL());
-		mMusicURLEdit->setEnabled( can_change_media );
+		const std::string& current_url = parcel->getMusicURL();
+		mMusicURLEdit->clearRows();
+		LLSD stream_list = gSavedSettings.getLLSD("StreamList");
+		const LLSD streams = stream_list["audio"];
+		for (LLSD::array_const_iterator s_itr = streams.beginArray(), s_end = streams.endArray(); s_itr != s_end; ++s_itr)
+		{
+			mMusicURLEdit->add(LLSD(*s_itr));
+		}
+		mMusicURLEdit->addSeparator(ADD_TOP);
+		mMusicURLEdit->add(LLSD(current_url), ADD_TOP);
+		mMusicURLEdit->selectByValue(current_url);
+		mMusicURLEdit->setEnabled(can_change_media);
 
 		BOOL can_change_av_sounds = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_OPTIONS) && parcel->getHaveNewParcelLimitData();
 		mCheckAVSoundAny->set(parcel->getAllowAnyAVSounds());
@@ -178,7 +189,7 @@ void LLPanelLandAudio::onCommitAny(LLUICtrl*, void *userdata)
 
 	// Extract data from UI
 	BOOL sound_local		= self->mCheckSoundLocal->get();
-	std::string music_url	= self->mMusicURLEdit->getText();
+	std::string music_url	= self->mMusicURLEdit->getSimple();
 
 	BOOL voice_enabled = self->mCheckParcelEnableVoice->get();
 	BOOL voice_estate_chan = !self->mCheckParcelVoiceLocal->get();
@@ -210,3 +221,25 @@ void LLPanelLandAudio::onCommitAny(LLUICtrl*, void *userdata)
 	// Might have changed properties, so let's redraw!
 	self->refresh();
 }
+
+void LLPanelLandAudio::onCommitMusicUrl()
+{
+	std::string music_url = mMusicURLEdit->getSimple();
+	LLStringUtil::trim(music_url);
+	if (!music_url.empty())
+	{
+		LLSD stream_list = gSavedSettings.getLLSD("StreamList");
+		const LLSD streams = stream_list["audio"];
+		bool found = false;
+		for (LLSD::array_const_iterator s_itr = streams.beginArray(), s_end = streams.endArray(); s_itr != s_end; ++s_itr)
+		{
+			if (LLStringUtil::compareInsensitive((LLSD(*s_itr)).asString(), music_url) == 0)
+				found = true;
+		}
+		if (!found)
+			stream_list["audio"].append(music_url);
+		gSavedSettings.setLLSD("StreamList", stream_list);
+	}
+
+	onCommitAny(mMusicURLEdit, this);
+}
diff --git a/indra/newview/llpanellandaudio.h b/indra/newview/llpanellandaudio.h
index b54fe62179a9f294af384e0daa3c5a02e9926f07..d1024d89fdf2cdc853319f23a86a16296af763c0 100644
--- a/indra/newview/llpanellandaudio.h
+++ b/indra/newview/llpanellandaudio.h
@@ -28,11 +28,12 @@
 #ifndef LLPANELLANDAUDIO_H
 #define LLPANELLANDAUDIO_H
 
-#include "lllineeditor.h"
 #include "llpanel.h"
 #include "llparcelselection.h"
 #include "lluifwd.h"	// widget pointer types
 
+class LLComboBox;
+
 class LLPanelLandAudio
 	:	public LLPanel
 {
@@ -44,13 +45,14 @@ class LLPanelLandAudio
 
 private:
 	static void onCommitAny(LLUICtrl* ctrl, void *userdata);
+	void onCommitMusicUrl();
 
 private:
 	LLCheckBoxCtrl* mCheckSoundLocal;
 	LLCheckBoxCtrl* mCheckParcelEnableVoice;
 	LLCheckBoxCtrl* mCheckEstateDisabledVoice;
 	LLCheckBoxCtrl* mCheckParcelVoiceLocal;	
-	LLLineEditor*	mMusicURLEdit;
+	LLComboBox*	mMusicURLEdit;
 	LLCheckBoxCtrl* mCheckAVSoundAny;
 	LLCheckBoxCtrl* mCheckAVSoundGroup;
     LLCheckBoxCtrl* mCheckObscureMOAP;
diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp
index 419a5919bde7b1761b181a8371de908c32ce8fc8..4254796f32c5b9627b70d8ad3f098d5d5bc236ba 100644
--- a/indra/newview/llpaneloutfitedit.cpp
+++ b/indra/newview/llpaneloutfitedit.cpp
@@ -415,16 +415,6 @@ LLPanelOutfitEdit::LLPanelOutfitEdit()
 	mSavedFolderState = new LLSaveFolderState();
 	mSavedFolderState->setApply(FALSE);
 	
-
-	LLOutfitObserver& observer = LLOutfitObserver::instance();
-	observer.addBOFReplacedCallback(boost::bind(&LLPanelOutfitEdit::updateCurrentOutfitName, this));
-	observer.addBOFChangedCallback(boost::bind(&LLPanelOutfitEdit::updateVerbs, this));
-	observer.addOutfitLockChangedCallback(boost::bind(&LLPanelOutfitEdit::updateVerbs, this));
-	observer.addCOFChangedCallback(boost::bind(&LLPanelOutfitEdit::onCOFChanged, this));
-
-	gAgentWearables.addLoadingStartedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, true));
-	gAgentWearables.addLoadedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, false));
-	
 	mFolderViewItemTypes.reserve(NUM_FOLDER_VIEW_ITEM_TYPES);
 	for (U32 i = 0; i < NUM_FOLDER_VIEW_ITEM_TYPES; i++)
 	{
@@ -578,8 +568,21 @@ BOOL LLPanelOutfitEdit::postBuild()
 	mAvatarComplexityLabel = getChild<LLTextBox>("avatar_complexity_label");
 	mAvatarComplexityAddingLabel = getChild<LLTextBox>("avatar_complexity_adding_label");
 
+	mLoadingIndicator = getChild<LLLoadingIndicator>("edit_outfit_loading_indicator");
+	mOutfitNameStatusPanel = getChild<LLPanel>("outfit_name_and_status");
+
 	onOutfitChanging(gAgentWearables.isCOFChangeInProgress());
-	return TRUE;
+
+	LLOutfitObserver& observer = LLOutfitObserver::instance();
+	observer.addBOFReplacedCallback(boost::bind(&LLPanelOutfitEdit::updateCurrentOutfitName, this));
+	observer.addBOFChangedCallback(boost::bind(&LLPanelOutfitEdit::updateVerbs, this));
+	observer.addOutfitLockChangedCallback(boost::bind(&LLPanelOutfitEdit::updateVerbs, this));
+	observer.addCOFChangedCallback(boost::bind(&LLPanelOutfitEdit::onCOFChanged, this));
+
+	gAgentWearables.addLoadingStartedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, true));
+	gAgentWearables.addLoadedCallback(boost::bind(&LLPanelOutfitEdit::onOutfitChanging, this, false));
+
+	return LLPanel::postBuild();
 }
 
 // virtual
@@ -1325,19 +1328,17 @@ static void update_status_widget_rect(LLView * widget, S32 right_border)
 
 void LLPanelOutfitEdit::onOutfitChanging(bool started)
 {
-	static LLLoadingIndicator* indicator = getChild<LLLoadingIndicator>("edit_outfit_loading_indicator");
-	static LLView* status_panel = getChild<LLView>("outfit_name_and_status");
-	static S32 indicator_delta = status_panel->getRect().getWidth() - indicator->getRect().mLeft;
+	S32 indicator_delta = mOutfitNameStatusPanel->getRect().getWidth() - mLoadingIndicator->getRect().mLeft;
 
 	S32 delta = started ? indicator_delta : 0;
-	S32 right_border = status_panel->getRect().getWidth() - delta;
+	S32 right_border = mOutfitNameStatusPanel->getRect().getWidth() - delta;
 
 	if (mCurrentOutfitName)
 		update_status_widget_rect(mCurrentOutfitName, right_border);
 	if (mStatus)
 		update_status_widget_rect(mStatus, right_border);
 
-	indicator->setVisible(started);
+	mLoadingIndicator->setVisible(started);
 }
 
 void LLPanelOutfitEdit::getCurrentItemUUID(LLUUID& selected_id)
diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h
index 107f798802a75a7ff22954bd07d7e3408bbb8c11..f536571558fe0c64d1157c0d250c34fd85bb2495 100644
--- a/indra/newview/llpaneloutfitedit.h
+++ b/indra/newview/llpaneloutfitedit.h
@@ -59,6 +59,7 @@ class LLMenuGL;
 class LLFindNonLinksByMask;
 class LLFindWearablesOfType;
 class LLWearableItemTypeNameComparator;
+class LLLoadingIndicator;
 
 class LLPanelOutfitEdit : public LLPanel
 {
@@ -243,6 +244,8 @@ class LLPanelOutfitEdit : public LLPanel
 	bool				mInitialized;
 	LLMenuButton*		mWearablesGearMenuBtn;
 	LLMenuButton*		mGearMenuBtn;
+	LLLoadingIndicator* mLoadingIndicator = nullptr;
+	LLPanel*			mOutfitNameStatusPanel = nullptr;
 
 };
 
diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp
index eebf8d9ae2b3f38102245abaddbf4138158648f1..945a4a400c2f665f182d231ba4835848df72b5fa 100644
--- a/indra/newview/llpanelpeople.cpp
+++ b/indra/newview/llpanelpeople.cpp
@@ -661,6 +661,8 @@ BOOL LLPanelPeople::postBuild()
 
 	LLPanel* nearby_tab = getChild<LLPanel>(NEARBY_TAB_NAME);
 	nearby_tab->setVisibleCallback(boost::bind(&Updater::setActive, mNearbyListUpdater, _2));
+	mNearbyCountText = nearby_tab->getChild<LLTextBox>("nearbycount");
+
 	mNearbyList = nearby_tab->getChild<LLAvatarList>("avatar_list");
 	mNearbyList->setNoItemsCommentText(getString("no_one_near"));
 	mNearbyList->setNoItemsMsg(getString("no_one_near"));
@@ -671,8 +673,15 @@ BOOL LLPanelPeople::postBuild()
 	mNearbyList->setRlvCheckShowNames(true);
 // [/RLVa:KB]
 	mMiniMap = nearby_tab->getChild<LLNetMap>("Net Map", true);
-	mMiniMap->setToolTipMsg(gSavedSettings.getBOOL("DoubleClickTeleport") ? 
-		getString("AltMiniMapToolTipMsg") :	getString("MiniMapToolTipMsg"));
+	mMiniMap->setToolTipMsg(LLTrans::getString("MinimapToolTipMsg"));
+	mMiniMap->setParcelNameMsg(LLTrans::getString("MinimapParcelNameMsg"));
+	mMiniMap->setParcelSalePriceMsg(LLTrans::getString("MinimapParcelSalePriceMsg"));
+	mMiniMap->setParcelSaleAreaMsg(LLTrans::getString("MinimapParcelSaleAreaMsg"));
+	mMiniMap->setParcelOwnerMsg(LLTrans::getString("MinimapParcelOwnerMsg"));
+	mMiniMap->setRegionNameMsg(LLTrans::getString("MinimapRegionNameMsg"));
+	mMiniMap->setToolTipHintMsg(LLTrans::getString("MinimapToolTipHintMsg"));
+	mMiniMap->setAltToolTipHintMsg(LLTrans::getString("MinimapAltToolTipHintMsg"));
+
 	mNearbyGearBtn = nearby_tab->getChild<LLButton>("gear_btn");
 	mNearbyAddFriendBtn = nearby_tab->getChild<LLButton>("add_friend_btn");
 
@@ -768,6 +777,34 @@ void LLPanelPeople::onChange(EStatusType status, const std::string &channelURI,
 	updateButtons();
 }
 
+void LLPanelPeople::updateAccordionTabTitles()
+{
+	// For now, only using according lists for the friends tab.
+	// who knows if this changes for any other UI imrprovesments. -- FLN
+	if (FRIENDS_TAB_NAME == getActiveTabName())
+	{
+		if (mOnlineFriendList)
+		{
+			mOnlineFriendList->setDirty(true, !mOnlineFriendList->filterHasMatches());
+			LLStringUtil::format_map_t args_online;
+			args_online["[COUNT]"] = llformat("%d", mOnlineFriendList->size());
+			std::string online_title = getString("online_friends_count", args_online);
+
+			mAccordionOnlineTab->setTitle(online_title);
+		}
+		
+		if (mAllFriendList)
+		{
+			mAllFriendList->setDirty(true, !mAllFriendList->filterHasMatches());
+			LLStringUtil::format_map_t args_all;
+			args_all["[COUNT]"] = llformat("%d", mAllFriendList->size());
+			std::string all_title = getString("all_friends_count", args_all);
+
+			mAccordionAllTab->setTitle(all_title);
+		}
+	}
+}
+
 void LLPanelPeople::updateFriendListHelpText()
 {
 	// show special help text for just created account to help finding friends. EXT-4836
@@ -787,6 +824,12 @@ void LLPanelPeople::updateFriendListHelpText()
 		args["[SEARCH_TERM]"] = LLURI::escape(filter);
 		no_friends_text->setText(getString(message_name, args));
 	}
+	else
+	{
+		// No point in updating if you're hiding them due to no friends. -- FLN
+		updateAccordionTabTitles();
+	}
+
 }
 
 void LLPanelPeople::updateFriendList()
@@ -834,6 +877,7 @@ void LLPanelPeople::updateFriendList()
 	mAllFriendList->setDirty(true, !mAllFriendList->filterHasMatches());
 	//update trash and other buttons according to a selected item
 	updateButtons();
+	updateAccordionTabTitles();
 	showFriendsAccordionsIfNeeded();
 }
 
@@ -849,6 +893,14 @@ void LLPanelPeople::updateNearbyList()
 	{
 // [/RLVa:KB]
 		LLWorld::getInstance()->getAvatars(&mNearbyList->getIDs(), &positions, gAgent.getPositionGlobal(), ALControlCache::NearMeRange);
+
+		LLViewerRegion* cur_region = gAgent.getRegion();
+		mNearbyCountText->setTextArg("[COUNT]", llformat("%d", mNearbyList->size()));
+
+		if (cur_region)
+		{
+			mNearbyCountText->setTextArg("[REGION]", llformat("%s", cur_region->getName()));
+		}
 // [RLVa:KB] - Checked: RLVa-2.0.3
 	}
 	else
diff --git a/indra/newview/llpanelpeople.h b/indra/newview/llpanelpeople.h
index 7988fa5ab98e99ffef00904e8bb81b15f7ea1316..296e2361ac3a09d66a7780ff201d9ee9ebafd974 100644
--- a/indra/newview/llpanelpeople.h
+++ b/indra/newview/llpanelpeople.h
@@ -92,6 +92,7 @@ class LLPanelPeople
 	// methods indirectly called by the updaters
 	void					updateFriendListHelpText();
 	void					updateFriendList();
+	void 					updateAccordionTabTitles();
 //	void					updateNearbyList();
 	void					updateRecentList();
 
@@ -169,6 +170,7 @@ class LLPanelPeople
 	LLUICtrl*				mFriendsDelFriendBtn = nullptr;
 
 	LLTextBox*				mGroupCountText = nullptr;
+	LLTextBox*				mNearbyCountText = nullptr;
 
 	std::vector<std::string> mSavedOriginalFilters;
 	std::vector<std::string> mSavedFilters;
diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp
index d6b27acc0bd7197b070474b71bc4858171b36217..c840776f37d0c32ea6f7cc16c4cf7eced2ac5811 100644
--- a/indra/newview/llsettingsvo.cpp
+++ b/indra/newview/llsettingsvo.cpp
@@ -721,11 +721,11 @@ void LLSettingsVOSky::applySpecial(void *ptarget, bool force)
     LLSettingsSky::ptr_t psky = LLEnvironment::instance().getCurrentSky();
 
     // TODO -- make these getters return vec3s
-    LLVector3 sunDiffuse = LLVector3(psky->getSunlightColor().mV);
-    LLVector3 moonDiffuse = LLVector3(psky->getMoonlightColor().mV);
+    LLVector3 sun_light_color = LLVector3(psky->getSunlightColor().mV);
+    LLVector3 moon_light_color = LLVector3(psky->getMoonlightColor().mV);
 
-    shader->uniform3fv(LLShaderMgr::SUNLIGHT_COLOR, sunDiffuse);
-    shader->uniform3fv(LLShaderMgr::MOONLIGHT_COLOR, moonDiffuse);
+    shader->uniform3fv(LLShaderMgr::SUNLIGHT_COLOR, sun_light_color);
+    shader->uniform3fv(LLShaderMgr::MOONLIGHT_COLOR, moon_light_color);
 
     shader->uniform3fv(LLShaderMgr::CLOUD_COLOR, LLVector3(psky->getCloudColor().mV));
 
@@ -768,9 +768,9 @@ void LLSettingsVOSky::applySpecial(void *ptarget, bool force)
             shader->uniform1f(LLShaderMgr::SKY_HDR_SCALE, auto_adjust_hdr_scale);
             LLColor3 blue_horizon = getBlueHorizon() * auto_adjust_blue_horizon_scale;
             LLColor3 blue_density = getBlueDensity() * auto_adjust_blue_density_scale;
-            LLColor3 sun_diffuse = getSunDiffuse() * auto_adjust_sun_color_scale;
+            sun_light_color = sun_light_color * auto_adjust_sun_color_scale;
             
-            shader->uniform3fv(LLShaderMgr::SUNLIGHT_COLOR, sun_diffuse.mV);
+            shader->uniform3fv(LLShaderMgr::SUNLIGHT_COLOR, sun_light_color.mV);
             shader->uniform3fv(LLShaderMgr::BLUE_DENSITY, blue_density.mV);
             shader->uniform3fv(LLShaderMgr::BLUE_HORIZON, blue_horizon.mV);
 
diff --git a/indra/newview/llviewerprecompiledheaders.h b/indra/newview/llviewerprecompiledheaders.h
index 5210df1fd9301f50d6a7a231bf88afb0a72cdc30..44c92c169223886988f0ab765c1d43c9f7ec916e 100644
--- a/indra/newview/llviewerprecompiledheaders.h
+++ b/indra/newview/llviewerprecompiledheaders.h
@@ -114,5 +114,7 @@
 // Library includes from llui project
 #include "llui.h"
 #include "lluictrl.h"
+#include "llpanel.h"
+#include "llfloater.h"
 
 #endif
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 0a5b657633a824602a7af8625070d0d09b669946..749cba775e3d32845b817e3b24fc8ba5f2703414 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -5555,6 +5555,11 @@ void LLPipeline::setupHWLights()
     { //darken local lights when probe ambiance is above 1
         light_scale = mReflectionMapManager.mLightScale;
     }
+	else
+	{
+		static LLCachedControl<F32> alchemy_light_scale(gSavedSettings, "AlchemyGlobalLightScale", 1.f);
+		light_scale = alchemy_light_scale;
+	}
 
 
     LLEnvironment& environment = LLEnvironment::instance();
@@ -7873,6 +7878,11 @@ void LLPipeline::renderDeferredLighting()
     { //darken local lights when probe ambiance is above 1
         light_scale = mReflectionMapManager.mLightScale;
     }
+	else
+	{
+		static LLCachedControl<F32> alchemy_light_scale(gSavedSettings, "AlchemyGlobalLightScale", 1.f);
+		light_scale = alchemy_light_scale;
+	}
 
     LLRenderTarget *screen_target         = &mRT->screen;
     LLRenderTarget* deferred_light_target = &mRT->deferredLight;
diff --git a/indra/newview/skins/alchemy/xui/en/panel_toolbar_view.xml b/indra/newview/skins/alchemy/xui/en/panel_toolbar_view.xml
index 9f9ae71beb40fc5620a90c255b2d3ab94f3c3ffd..fa1316b99890492f0433f6abfc275985bda92f57 100644
--- a/indra/newview/skins/alchemy/xui/en/panel_toolbar_view.xml
+++ b/indra/newview/skins/alchemy/xui/en/panel_toolbar_view.xml
@@ -27,8 +27,8 @@
              button_panel.bg_opaque_image="transparent.j2c"
              name="toolbar_top"
              height="30"
-             left="40"
-             right="-40"
+             left="0"
+             right="-1"
              top="1"
              side="top"
              follows="left|right|top"
@@ -70,8 +70,8 @@
                  name="toolbar_left"
                  width="30"
                  left="0"
-                 top="10"
-                 bottom="-10"
+                 top="0"
+                 bottom="-1"
                  side="left"
                  button_display_mode="icons_only">
 	             <icon layout="topleft"
@@ -137,8 +137,8 @@
           name="toolbar_right"
           width="30"
           left="0"
-          top="10"
-          bottom="-10"
+          top="0"
+          bottom="-1"
           side="right"
           button_display_mode="icons_only">
 	      <icon layout="topleft"
@@ -164,8 +164,8 @@
              button_panel.bg_opaque_image="transparent.j2c"
              name="toolbar_bottom"
              height="30"
-             left="40"
-             right="-40"
+             left="0"
+             right="-1"
              top="0"
              side="bottom"
              follows="left|right|bottom"
diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml
index 120f27ffb181e2ae5ad64d8706a58a6fe0b04bd0..eb5c1623fbca2d0a67c596fa63c580e31806a835 100644
--- a/indra/newview/skins/default/xui/en/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_about_land.xml
@@ -1842,12 +1842,14 @@ Only large parcels can be listed in search.
              width="364">
                 Music URL:
             </text>
-            <line_editor
+            <combo_box
+             allow_text_entry="true"
+             allow_new_values="true"
              follows="left|top|right"
              height="23"
              layout="topleft"
              left="100"
-             max_length_bytes="255"
+             max_chars="255"
              name="music_url"
              top_delta="0"
              right="-15"
diff --git a/indra/newview/skins/default/xui/en/floater_lightbox_settings.xml b/indra/newview/skins/default/xui/en/floater_lightbox_settings.xml
index 03b6d7546a6f4f5c20e72576c5a62289b58bc6a4..2b08624be32b4e7dee48751311265ec26ca1e7c7 100644
--- a/indra/newview/skins/default/xui/en/floater_lightbox_settings.xml
+++ b/indra/newview/skins/default/xui/en/floater_lightbox_settings.xml
@@ -1118,6 +1118,41 @@
 				increment="8"
 				name="local_light_spinner"
 				control_name="RenderLocalLightCount" />
+			<!--Global Light Scale-->
+			<text
+				follows="left|top"
+				height="15"
+				left="10"
+				top_pad="12"
+				width="120"
+				layout="topleft"
+				value="Light Intensity Scale:" />
+			<slider_bar
+				top_pad="-18"
+				height="20"
+				increment=".1"
+				follows="left|top|right"
+				layout="topleft"
+				max_val="10"
+				min_val="0"
+				left="130"
+				right="-55"
+				name="global_light_inten_slider_bar"
+				control_name="AlchemyGlobalLightScale" />
+			<spinner
+				top_pad="-20"
+				height="15"
+				label_width="0"
+				right="-2"
+				decimal_digits="2"
+				follows="top|right"
+				layout="topleft"
+				max_val="10"
+				min_val="0"
+				width="55"
+				increment=".1"
+				name="global_light_inten_spinner"
+				control_name="AlchemyGlobalLightScale" />
 		</panel>
 		<!--Shadows/SSAO Panel-->
 		<panel
diff --git a/indra/newview/skins/default/xui/en/floater_map.xml b/indra/newview/skins/default/xui/en/floater_map.xml
index 201563290eb204ad0f221dbe16e68950136465f6..4b6cdef041641644684dccc81a80285c18b25f18 100644
--- a/indra/newview/skins/default/xui/en/floater_map.xml
+++ b/indra/newview/skins/default/xui/en/floater_map.xml
@@ -17,38 +17,6 @@
  save_visibility="true"
  width="200">
     <!-- RLVa shows the anonymized name on the regular tooltip when @shownames=n restricted (rather than show the avatar inspector) --> 
-    <floater.string
-     name="ToolTipMsg">
-        [PARCEL_NAME_MSG][PARCEL_SALE_PRICE_MSG][PARCEL_SALE_AREA_MSG][PARCEL_OWNER_MSG][REGION_NAME_MSG][TOOL_TIP_HINT_MSG]
-    </floater.string>
-    <floater.string
-     name="ParcelNameMsg">
-        [PARCEL_NAME]
-    </floater.string>
-    <floater.string
-     name="ParcelSalePriceMsg">
-        Price: L$[PRICE] (L$[PRICE_PER_SQM]/m²)
-    </floater.string>
-    <floater.string
-     name="ParcelSaleAreaMsg">
-        Area: [AREA]m²
-    </floater.string>
-    <floater.string
-     name="ParcelOwnerMsg">
-        Owner: [PARCEL_OWNER]
-    </floater.string>
-    <floater.string
-     name="RegionNameMsg">
-        Region: [REGION_NAME]
-    </floater.string>
-	<floater.string
-     name="ToolTipHintMsg">
-        Double-click to open map
-	</floater.string>
-	<floater.string
-     name="AltToolTipHintMsg">
-        Double-click to teleport
-	</floater.string>
 	<floater.string name="mini_map_caption">
 	Mini-map
     </floater.string>
diff --git a/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
index f3109080ff3a92b48db75551a2f13c849280d0f5..a81e0793ef64d69d95eb0d9f9c18bb29efb33147 100644
--- a/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
+++ b/indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
@@ -5,7 +5,6 @@
   name="prefs_graphics_advanced"
   help_topic="Preferences_Graphics_Advanced"
   single_instance="true"
-  reuse_instance="false"
   save_rect="true"
   title="ADVANCED GRAPHICS PREFERENCES"
   width="800">
@@ -83,7 +82,7 @@
     layout="topleft"
     left="30"
     min_val="8"
-    max_val="10"
+    max_val="9"
     name="RenderPostProcess"
     show_text="false"
     top_delta="16"
diff --git a/indra/newview/skins/default/xui/en/font_main_ibmplex.xml b/indra/newview/skins/default/xui/en/font_main_ibmplex.xml
index ff8ddc82e3ec1b0a10c38d777068d9b1385d9f21..fb1ccd8f7fedb04f147c8f4f4bfb0220d39ad996 100644
--- a/indra/newview/skins/default/xui/en/font_main_ibmplex.xml
+++ b/indra/newview/skins/default/xui/en/font_main_ibmplex.xml
@@ -1,45 +1,45 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <fonts>
   <font name="default">
-    <file>IBMPlexSans-Regular.ttf</file>
-		<file>IBMPlexSansJP-Regular.ttf</file>
-		<file>IBMPlexSansKR-Regular.ttf</file>
-		<file>IBMPlexSansThai-Regular.ttf</file>
-		<file>IBMPlexSansHebrew-Regular.ttf</file>
-		<file>IBMPlexSansDevanagari-Regular.ttf</file>
-		<file>IBMPlexSansArabic-Regular.ttf</file>
+    <file>IBMPlexSans-Regular.otf</file>
+		<file>IBMPlexSansJP-Regular.otf</file>
+		<file>IBMPlexSansKR-Regular.otf</file>
+		<file>IBMPlexSansThai-Regular.otf</file>
+		<file>IBMPlexSansHebrew-Regular.otf</file>
+		<file>IBMPlexSansDevanagari-Regular.otf</file>
+		<file>IBMPlexSansArabic-Regular.otf</file>
   </font>
 
   <font name="SansSerif">
-    <file>IBMPlexSans-Regular.ttf</file>
-		<file>IBMPlexSansJP-Regular.ttf</file>
-		<file>IBMPlexSansKR-Regular.ttf</file>
-		<file>IBMPlexSansThai-Regular.ttf</file>
-		<file>IBMPlexSansHebrew-Regular.ttf</file>
-		<file>IBMPlexSansDevanagari-Regular.ttf</file>
-		<file>IBMPlexSansArabic-Regular.ttf</file>
+    <file>IBMPlexSans-Regular.otf</file>
+		<file>IBMPlexSansJP-Regular.otf</file>
+		<file>IBMPlexSansKR-Regular.otf</file>
+		<file>IBMPlexSansThai-Regular.otf</file>
+		<file>IBMPlexSansHebrew-Regular.otf</file>
+		<file>IBMPlexSansDevanagari-Regular.otf</file>
+		<file>IBMPlexSansArabic-Regular.otf</file>
   </font>
 
   <font name="SansSerif" font_style="BOLD">
-    <file>IBMPlexSans-Bold.ttf</file>
-		<file>IBMPlexSansJP-Bold.ttf</file>
-		<file>IBMPlexSansKR-Bold.ttf</file>
-		<file>IBMPlexSansThai-Bold.ttf</file>
-		<file>IBMPlexSansHebrew-Bold.ttf</file>
-		<file>IBMPlexSansDevanagari-Bold.ttf</file>
-		<file>IBMPlexSansArabic-Bold.ttf</file>
+    <file>IBMPlexSans-Bold.otf</file>
+		<file>IBMPlexSansJP-Bold.otf</file>
+		<file>IBMPlexSansKR-Bold.otf</file>
+		<file>IBMPlexSansThai-Bold.otf</file>
+		<file>IBMPlexSansHebrew-Bold.otf</file>
+		<file>IBMPlexSansDevanagari-Bold.otf</file>
+		<file>IBMPlexSansArabic-Bold.otf</file>
   </font>
 
   <font name="SansSerif" font_style="ITALIC">
-    <file>IBMPlexSans-Italic.ttf</file>
+    <file>IBMPlexSans-Italic.otf</file>
   </font>
 
   <font name="SansSerif" font_style="BOLD|ITALIC">
-    <file>IBMPlexSans-BoldItalic.ttf</file>
+    <file>IBMPlexSans-BoldItalic.otf</file>
   </font>
 
   <font name="OverrideTest">
-    <file>IBMPlexSans-Regular.ttf</file>
+    <file>IBMPlexSans-Regular.otf</file>
   </font>
 
 	<font_size name="Huge" size="16.0" />
diff --git a/indra/newview/skins/default/xui/en/font_main_ibmplexmono.xml b/indra/newview/skins/default/xui/en/font_main_ibmplexmono.xml
index c4a5808a5dd3b3169ab9e3615998abe9b5b360a2..072192158d07e66a0588bc49cd0488e5b996b4be 100644
--- a/indra/newview/skins/default/xui/en/font_main_ibmplexmono.xml
+++ b/indra/newview/skins/default/xui/en/font_main_ibmplexmono.xml
@@ -1,45 +1,45 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <fonts>
   <font name="default">
-    <file>IBMPlexMono-Regular.ttf</file>
-		<file>IBMPlexSansJP-Regular.ttf</file>
-		<file>IBMPlexSansKR-Regular.ttf</file>
-		<file>IBMPlexSansThai-Regular.ttf</file>
-		<file>IBMPlexSansHebrew-Regular.ttf</file>
-		<file>IBMPlexSansDevanagari-Regular.ttf</file>
-		<file>IBMPlexSansArabic-Regular.ttf</file>
+    <file>IBMPlexMono-Regular.otf</file>
+	<file>IBMPlexSansJP-Regular.otf</file>
+	<file>IBMPlexSansKR-Regular.otf</file>
+	<file>IBMPlexSansThai-Regular.otf</file>
+	<file>IBMPlexSansHebrew-Regular.otf</file>
+	<file>IBMPlexSansDevanagari-Regular.otf</file>
+	<file>IBMPlexSansArabic-Regular.otf</file>
   </font>
 
   <font name="SansSerif">
-    <file>IBMPlexMono-Regular.ttf</file>
-		<file>IBMPlexSansJP-Regular.ttf</file>
-		<file>IBMPlexSansKR-Regular.ttf</file>
-		<file>IBMPlexSansThai-Regular.ttf</file>
-		<file>IBMPlexSansHebrew-Regular.ttf</file>
-		<file>IBMPlexSansDevanagari-Regular.ttf</file>
-		<file>IBMPlexSansArabic-Regular.ttf</file>
+    <file>IBMPlexMono-Regular.otf</file>
+	<file>IBMPlexSansJP-Regular.otf</file>
+	<file>IBMPlexSansKR-Regular.otf</file>
+	<file>IBMPlexSansThai-Regular.otf</file>
+	<file>IBMPlexSansHebrew-Regular.otf</file>
+	<file>IBMPlexSansDevanagari-Regular.otf</file>
+	<file>IBMPlexSansArabic-Regular.otf</file>
   </font>
 
   <font name="SansSerif" font_style="BOLD">
-    <file>IBMPlexMono-Bold.ttf</file>
-		<file>IBMPlexSansJP-Bold.ttf</file>
-		<file>IBMPlexSansKR-Bold.ttf</file>
-		<file>IBMPlexSansThai-Bold.ttf</file>
-		<file>IBMPlexSansHebrew-Bold.ttf</file>
-		<file>IBMPlexSansDevanagari-Bold.ttf</file>
-		<file>IBMPlexSansArabic-Bold.ttf</file>
+    <file>IBMPlexMono-Bold.otf</file>
+	<file>IBMPlexSansJP-Bold.otf</file>
+	<file>IBMPlexSansKR-Bold.otf</file>
+	<file>IBMPlexSansThai-Bold.otf</file>
+	<file>IBMPlexSansHebrew-Bold.otf</file>
+	<file>IBMPlexSansDevanagari-Bold.otf</file>
+	<file>IBMPlexSansArabic-Bold.otf</file>
   </font>
 
   <font name="SansSerif" font_style="ITALIC">
-    <file>IBMPlexMono-Italic.ttf</file>
+    <file>IBMPlexMono-Italic.otf</file>
   </font>
 
   <font name="SansSerif" font_style="BOLD|ITALIC">
-    <file>IBMPlexMono-BoldItalic.ttf</file>
+    <file>IBMPlexMono-BoldItalic.otf</file>
   </font>
 
   <font name="OverrideTest">
-    <file>IBMPlexMono-Regular.ttf</file>
+    <file>IBMPlexMono-Regular.otf</file>
   </font>
 
 	<font_size name="Huge" size="16.0" />
diff --git a/indra/newview/skins/default/xui/en/font_mono_sourcecodepro.xml b/indra/newview/skins/default/xui/en/font_mono_sourcecodepro.xml
index f820c441f778dbf8e55d3daa88ffd05b432c01e8..91231058135b1b8bcda402be4fc3ea986579fb2a 100644
--- a/indra/newview/skins/default/xui/en/font_mono_sourcecodepro.xml
+++ b/indra/newview/skins/default/xui/en/font_mono_sourcecodepro.xml
@@ -1,19 +1,19 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <fonts>
 	<font name="Monospace">
-		<file>SourceCodePro-Regular.ttf</file>
+		<file>SourceCodePro-Regular.otf</file>
 	</font>
 
 	<font name="Monospace" font_style="BOLD">
-		<file>SourceCodePro-Bold.ttf</file>
+		<file>SourceCodePro-Bold.otf</file>
 	</font>
 
 	<font name="Monospace" font_style="ITALIC">
-		<file>SourceCodePro-It.ttf</file>
+		<file>SourceCodePro-It.otf</file>
 	</font>
 
 	<font name="Monospace" font_style="BOLD|ITALIC">
-		<file>SourceCodePro-BoldIt.ttf</file>
+		<file>SourceCodePro-BoldIt.otf</file>
 	</font>
 
 	<font_size name="Monospace" size="8.0" />
diff --git a/indra/newview/skins/default/xui/en/fonts.xml b/indra/newview/skins/default/xui/en/fonts.xml
index f298128b13ef7723d74f595e4ce9e34f49f544a2..dfc1c8adda75e71a1cafbbfdd72ad7f9f3eab2b0 100644
--- a/indra/newview/skins/default/xui/en/fonts.xml
+++ b/indra/newview/skins/default/xui/en/fonts.xml
@@ -221,31 +221,31 @@
 
 	<!--IBM Plex-->
 	<font name="IBMPlex">
-		<file>IBMPlexSans-Regular.ttf</file>
-		<file>IBMPlexSansJP-Regular.ttf</file>
-		<file>IBMPlexSansKR-Regular.ttf</file>
-		<file>IBMPlexSansThai-Regular.ttf</file>
-		<file>IBMPlexSansHebrew-Regular.ttf</file>
-		<file>IBMPlexSansDevanagari-Regular.ttf</file>
-		<file>IBMPlexSansArabic-Regular.ttf</file>
+		<file>IBMPlexSans-Regular.otf</file>
+		<file>IBMPlexSansJP-Regular.otf</file>
+		<file>IBMPlexSansKR-Regular.otf</file>
+		<file>IBMPlexSansThai-Regular.otf</file>
+		<file>IBMPlexSansHebrew-Regular.otf</file>
+		<file>IBMPlexSansDevanagari-Regular.otf</file>
+		<file>IBMPlexSansArabic-Regular.otf</file>
 	</font>
 
 	<font name="IBMPlex" font_style="BOLD">
-		<file>IBMPlexSans-Bold.ttf</file>
-		<file>IBMPlexSansJP-Bold.ttf</file>
-		<file>IBMPlexSansKR-Bold.ttf</file>
-		<file>IBMPlexSansThai-Bold.ttf</file>
-		<file>IBMPlexSansHebrew-Bold.ttf</file>
-		<file>IBMPlexSansDevanagari-Bold.ttf</file>
-		<file>IBMPlexSansArabic-Bold.ttf</file>
+		<file>IBMPlexSans-Bold.otf</file>
+		<file>IBMPlexSansJP-Bold.otf</file>
+		<file>IBMPlexSansKR-Bold.otf</file>
+		<file>IBMPlexSansThai-Bold.otf</file>
+		<file>IBMPlexSansHebrew-Bold.otf</file>
+		<file>IBMPlexSansDevanagari-Bold.otf</file>
+		<file>IBMPlexSansArabic-Bold.otf</file>
 	</font>
 
 	<font name="IBMPlex" font_style="ITALIC">
-		<file>IBMPlexSans-Italic.ttf</file>
+		<file>IBMPlexSans-Italic.otf</file>
 	</font>
 
 	<font name="IBMPlex" font_style="BOLD|ITALIC">
-		<file>IBMPlexSans-BoldItalic.ttf</file>
+		<file>IBMPlexSans-BoldItalic.otf</file>
 	</font>
 
 	<font_size name="Monospace" font="IBMPlex" size="8.0" />
@@ -302,21 +302,21 @@
 
 	<!--Source Sans 3-->
 	<font name="SourceSans">
-		<file>SourceSans3-Regular.ttf</file>
+		<file>SourceSans3-Regular.otf</file>
 		<file load_collection="true">SourceHanSans-Regular.ttc</file>
 	</font>
 
 	<font name="SourceSans" font_style="BOLD">
-		<file>SourceSans3-Bold.ttf</file>
+		<file>SourceSans3-Bold.otf</file>
 		<file load_collection="true">SourceHanSans-Bold.ttc</file>
 	</font>
 
 	<font name="SourceSans" font_style="ITALIC">
-		<file>SourceSans3-It.ttf</file>
+		<file>SourceSans3-It.otf</file>
 	</font>
 
 	<font name="SourceSans" font_style="BOLD|ITALIC">
-		<file>SourceSans3-BoldIt.ttf</file>
+		<file>SourceSans3-BoldIt.otf</file>
 	</font>
 
 	<font_size name="Monospace" font="SourceSans" size="8.0" />
@@ -390,19 +390,19 @@
 
 	<!--IBM Plex Mono-->
 	<font name="IBMPlexMono">
-		<file>IBMPlexMono-Regular.ttf</file>
+		<file>IBMPlexMono-Regular.otf</file>
 	</font>
 
 	<font name="IBMPlexMono" font_style="BOLD">
-		<file>IBMPlexMono-Bold.ttf</file>
+		<file>IBMPlexMono-Bold.otf</file>
 	</font>
 
 	<font name="IBMPlexMono" font_style="ITALIC">
-		<file>IBMPlexMono-Italic.ttf</file>
+		<file>IBMPlexMono-Italic.otf</file>
 	</font>
 
 	<font name="IBMPlexMono" font_style="BOLD|ITALIC">
-		<file>IBMPlexMono-BoldItalic.ttf</file>
+		<file>IBMPlexMono-BoldItalic.otf</file>
 	</font>
 
 	<font_size name="Monospace" font="IBMPlexMono" size="8.0" />
@@ -550,21 +550,21 @@
 
 	<!--Source Code Pro-->
 	<font name="SourceCodePro">
-		<file>SourceCodePro-Regular.ttf</file>
+		<file>SourceCodePro-Regular.otf</file>
 		<file load_collection="true">SourceHanSans-Regular.ttc</file>
 	</font>
 
 	<font name="SourceCodePro" font_style="BOLD">
-		<file>SourceSans3-Bold.ttf</file>
+		<file>SourceCodePro-Bold.otf</file>
 		<file load_collection="true">SourceHanSans-Bold.ttc</file>
 	</font>
 
 	<font name="SourceCodePro" font_style="ITALIC">
-		<file>SourceSans3-It.ttf</file>
+		<file>SourceCodePro-It.otf</file>
 	</font>
 
 	<font name="SourceCodePro" font_style="BOLD|ITALIC">
-		<file>SourceSans3-BoldIt.ttf</file>
+		<file>SourceCodePro-BoldIt.otf</file>
 	</font>
 
 	<font_size name="Monospace" font="SourceCodePro" size="8.0" />
diff --git a/indra/newview/skins/default/xui/en/menu_place.xml b/indra/newview/skins/default/xui/en/menu_place.xml
index 288811d2f6b020f3e1ee8aa5bf5d10748ad2b918..c9c2df834e669ab88278f71245057fdbffebb8c6 100644
--- a/indra/newview/skins/default/xui/en/menu_place.xml
+++ b/indra/newview/skins/default/xui/en/menu_place.xml
@@ -5,7 +5,15 @@
  mouse_opaque="false"
  name="place_overflow_menu"
  width="128">
-     <menu_item_call
+	<menu_item_call
+     label="Copy SLurl"
+     layout="topleft"
+     name="copy">
+		<menu_item_call.on_click
+         function="Places.OverflowMenu.Action"
+         parameter="copy" />
+	</menu_item_call>
+	<menu_item_call
      label="Make a Landmark"
      layout="topleft"
      name="landmark">
diff --git a/indra/newview/skins/default/xui/en/panel_edit_alpha.xml b/indra/newview/skins/default/xui/en/panel_edit_alpha.xml
index 9e41b2c0b51dd9180ebd17aa3beda42359884e25..b319e5e872ac10a45d9ce6130b42ccd7af5ebbce 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_alpha.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_alpha.xml
@@ -33,7 +33,6 @@
       top="0"
       width="313" >
        <check_box
-        control_name="LowerAlphaTextureInvisible"
         follows="left|top"
         height="16"
         layout="topleft"
@@ -58,7 +57,6 @@
        </texture_picker>
 
        <check_box
-        control_name="UpperAlphaTextureInvisible"
         follows="left|top"
         height="16"
         layout="topleft"
@@ -83,7 +81,6 @@
        </texture_picker>
 
        <check_box
-        control_name="HeadAlphaTextureInvisible"
         follows="left|top"
         height="16"
         layout="topleft"
@@ -108,7 +105,6 @@
        </texture_picker>
 
        <check_box
-        control_name="Eye AlphaTextureInvisible"
         follows="left|top"
         height="16"
         layout="topleft"
@@ -133,7 +129,6 @@
        </texture_picker>
 
        <check_box
-        control_name="HairAlphaTextureInvisible"
         follows="left|top"
         height="16"
         layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml
index 363c48a74388a5e906eeca0fb9f0255352f1cc1b..4a12546d5ce36b0b0fea95708f904d1ae03b8774 100644
--- a/indra/newview/skins/default/xui/en/panel_people.xml
+++ b/indra/newview/skins/default/xui/en/panel_people.xml
@@ -55,15 +55,11 @@ You are not a member of any groups.
 
 Learn about [https://community.secondlife.com/knowledgebase/joining-and-participating-in-groups-r51/ groups in Second Life.]
   </string>
-	<string
-	 name="MiniMapToolTipMsg"
-	 value="[REGION](Double-click to open Map, shift-drag to pan)"/>
-	<string
-	 name="AltMiniMapToolTipMsg"
-	 value="[REGION](Double-click to teleport, shift-drag to pan)"/>
 	<string
 	 name="GroupCountWithInfo"
 	 value="You belong to [COUNT] groups, and can join [REMAINING] more.  [secondlife:/// Raise your limit]"/>
+	<string name="online_friends_count">Online ([COUNT])</string>
+	<string name="all_friends_count">All ([COUNT])</string>
     <tab_container
      bottom="-10"
      follows="all"
@@ -176,10 +172,24 @@ Learn about [https://community.secondlife.com/knowledgebase/joining-and-particip
                      function="People.DelFriend" />
                  </dnd_button>
             </panel>
+            <text
+               type="string"
+               length="1"
+               follows="left|top|right"
+               height="14"
+               layout="topleft"
+               right="-10"
+               top_pad="4"
+               left="3"
+               use_ellipses="true"
+               skip_link_underline="true"
+               name="nearbycount">
+            There are [COUNT] avatars in [REGION].
+            </text>
          <layout_stack
            clip="false"
            follows="all"
-           height="410"
+           height="394"
            layout="topleft"
            left="0"
            mouse_opaque="false"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_interface.xml b/indra/newview/skins/default/xui/en/panel_preferences_interface.xml
index 4335551ce82d050d603417243d641b93aebec3a3..77f86489bbe56b6729bd2f9f2e1507b1444b3ee6 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_interface.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_interface.xml
@@ -112,7 +112,7 @@
     layout="topleft"
     left="45"
     name="HideHoverTextInCinematicMode"
-    top_pad="7"
+    top_pad="4"
     width="256">
     <check_box.commit_callback
       function="Pref.RenderOptionUpdate" />
@@ -139,7 +139,7 @@
     layout="topleft"
     left="45"
     name="DoubleClickAttachmentAddCheck"
-    top_pad="7"
+    top_pad="4"
     width="256"/>
   <check_box
     control_name="DoubleClickWearableAdd"
@@ -151,6 +151,31 @@
     name="DoubleClickWearableAddCheck"
     top_pad="4"
     width="256"/>
+    <text
+    type="string"
+    length="1"
+    follows="left|top"
+    height="16"
+    layout="topleft"
+    left="30"
+    name="Appearance Editor"
+    mouse_opaque="false"
+    top_pad="5"
+    width="300"
+    font="SansSerifSmall">
+    Appearance Editor:
+  </text>
+     <check_box
+      follows="left|top"
+      height="16"
+      label="Show visual hints in wearable editors"
+      layout="topleft"
+      tool_tip="Enable or disable the visual hints showing the avatar parts being modified."
+      left="45"
+      top_pad="4"
+      name="AlchemyAppearanceShowHints"
+      width="275"
+      control_name="AlchemyAppearanceShowHints"/>
   <text
      type="string"
      length="1"
@@ -170,7 +195,7 @@
        height="16"
        label="Block left-click sitting on Objects"
        left="45"
-       top_pad="7"
+       top_pad="4"
        name="AlchemyDisableClickToSit"
        width="275"
        control_name="AlchemyDisableClickToSit"/>
@@ -255,7 +280,7 @@
 	  	layout="topleft"
   		tool_tip="If enabled scripted objects display swirling particle lights when the scripts communicate"
       left="45"
-      top_pad="7"
+      top_pad="4"
       name="EffectScriptChatParticles"
       width="275"
       control_name="EffectScriptChatParticles"/>
diff --git a/indra/newview/skins/default/xui/en/panel_scrolling_param.xml b/indra/newview/skins/default/xui/en/panel_scrolling_param.xml
index a8cd380f2045a1c488fd47728b2d7144fc73d29e..b2d58ce0de798f33ec0c73b3a9f6ca707f00bd6f 100644
--- a/indra/newview/skins/default/xui/en/panel_scrolling_param.xml
+++ b/indra/newview/skins/default/xui/en/panel_scrolling_param.xml
@@ -84,7 +84,7 @@
      enabled="false"
      height="132"
      image_disabled="PushButton_Disabled"
-     image_disabled_selected="PushButton_Disabled_Selected"
+     image_disabled_selected="PushButton_Selected_Disabled"
      image_selected="PushButton_Selected"
      image_unselected="PushButton_Off"
      layout="topleft"
@@ -97,7 +97,7 @@
      enabled="false"
      height="132"
      image_disabled="PushButton_Disabled"
-     image_disabled_selected="PushButton_Disabled_Selected"
+     image_disabled_selected="PushButton_Selected_Disabled"
      image_selected="PushButton_Selected"
      image_unselected="PushButton_Off"
      layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml
index 07070b8eaf5f500aa1e6d9fdeedca428e02b5be1..e2c7878055a0f05aed8a5b398df129abbd5cd88b 100644
--- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml
+++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml
@@ -27,8 +27,8 @@
              button_panel.bg_opaque_image="Rounded_Rect_Top"
              name="toolbar_top"
              height="30"
-             left="40"
-             right="-40"
+             left="0"
+             right="-1"
              top="1"
              side="top"
              follows="left|right|top"
@@ -70,8 +70,8 @@
                  name="toolbar_left"
                  width="30"
                  left="0"
-                 top="10"
-                 bottom="-10"
+                 top="0"
+                 bottom="-1"
                  side="left"
                  button_display_mode="icons_only">
 	             <icon layout="topleft"
@@ -137,8 +137,8 @@
           name="toolbar_right"
           width="30"
           left="0"
-          top="10"
-          bottom="-10"
+          top="0"
+          bottom="-1"
           side="right"
           button_display_mode="icons_only">
 	      <icon layout="topleft"
@@ -164,8 +164,8 @@
              button_panel.bg_opaque_image="Rounded_Rect_Top"
              name="toolbar_bottom"
              height="30"
-             left="40"
-             right="-40"
+             left="0"
+             right="-1"
              top="0"
              side="bottom"
              follows="left|right|bottom"
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index fa54e8e0f59a55e84a82e813698b385899a3709a..6e4a70b45ca6d3350e51b4f31dc9caa85d93e852 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -4474,4 +4474,36 @@ and report the problem.
   <string name="fs_preprocessor_caching_err">Error caching included file '[FILENAME]'</string>
   <string name="fs_preprocessor_truncated">Warning: Preprocessor output truncated due to excessive script text size. This script will most likely not work.</string>
 
+	<string
+     name="MinimapToolTipMsg">
+		[PARCEL_NAME_MSG][PARCEL_SALE_PRICE_MSG][PARCEL_SALE_AREA_MSG][PARCEL_OWNER_MSG][REGION_NAME_MSG][TOOL_TIP_HINT_MSG]
+	</string>
+	<string
+     name="MinimapParcelNameMsg">
+		[PARCEL_NAME]
+	</string>
+	<string
+     name="MinimapParcelSalePriceMsg">
+		Price: L$[PRICE] (L$[PRICE_PER_SQM]/m²)
+	</string>
+	<string
+     name="MinimapParcelSaleAreaMsg">
+		Area: [AREA]m²
+	</string>
+	<string
+     name="MinimapParcelOwnerMsg">
+		Owner: [PARCEL_OWNER]
+	</string>
+	<string
+     name="MinimapRegionNameMsg">
+		Region: [REGION_NAME]
+	</string>
+	<string
+     name="MinimapToolTipHintMsg">
+		Double-click to open map
+	</string>
+	<string
+     name="MinimapAltToolTipHintMsg">
+		Double-click to teleport
+	</string>
 </strings>
diff --git a/indra/newview/skins/default/xui/en/widgets/drop_down.xml b/indra/newview/skins/default/xui/en/widgets/drop_down.xml
index 602250ace698c790ac08c480464c827ccb9fc43e..8644702555847b28f76407581cbddb531dfb9f2c 100644
--- a/indra/newview/skins/default/xui/en/widgets/drop_down.xml
+++ b/indra/newview/skins/default/xui/en/widgets/drop_down.xml
@@ -12,7 +12,7 @@
                           image_unselected="PushButton_Off"
                           image_selected="PushButton_Selected"
                           image_disabled="PushButton_Disabled"
-                          image_disabled_selected="PushButton_Disabled_Selected"
+                          image_disabled_selected="PushButton_Selected_Disabled"
                           image_overlay="Combobox_Over"
                           image_overlay_alignment="right" />
   <drop_down.combo_list bg_writeable_color="white" />
diff --git a/indra/newview/skins/heretic/xui/en/panel_toolbar_view.xml b/indra/newview/skins/heretic/xui/en/panel_toolbar_view.xml
index 9f9ae71beb40fc5620a90c255b2d3ab94f3c3ffd..fa1316b99890492f0433f6abfc275985bda92f57 100644
--- a/indra/newview/skins/heretic/xui/en/panel_toolbar_view.xml
+++ b/indra/newview/skins/heretic/xui/en/panel_toolbar_view.xml
@@ -27,8 +27,8 @@
              button_panel.bg_opaque_image="transparent.j2c"
              name="toolbar_top"
              height="30"
-             left="40"
-             right="-40"
+             left="0"
+             right="-1"
              top="1"
              side="top"
              follows="left|right|top"
@@ -70,8 +70,8 @@
                  name="toolbar_left"
                  width="30"
                  left="0"
-                 top="10"
-                 bottom="-10"
+                 top="0"
+                 bottom="-1"
                  side="left"
                  button_display_mode="icons_only">
 	             <icon layout="topleft"
@@ -137,8 +137,8 @@
           name="toolbar_right"
           width="30"
           left="0"
-          top="10"
-          bottom="-10"
+          top="0"
+          bottom="-1"
           side="right"
           button_display_mode="icons_only">
 	      <icon layout="topleft"
@@ -164,8 +164,8 @@
              button_panel.bg_opaque_image="transparent.j2c"
              name="toolbar_bottom"
              height="30"
-             left="40"
-             right="-40"
+             left="0"
+             right="-1"
              top="0"
              side="bottom"
              follows="left|right|bottom"