diff --git a/.hgtags b/.hgtags
index 4d2aec76733f6e54253525e9b51ac7c7db8d1719..bd574ec656ca91615d3309fd5c0230bc3bed8e7c 100755
--- a/.hgtags
+++ b/.hgtags
@@ -486,3 +486,4 @@ a9f2d0cb11f73b06858e6083bb50083becc3f9cd 3.7.9-release
 64799eb298834073a3e9992cd8d27c3cb9d30b10 3.7.11-release
 3b44ea8988cb902f0dda8429e8d5e4569e304532 3.7.12-release
 d86a7e1bc96d27b683f951d3701d5b7042158c68 3.7.13-release
+a7872554f3665588f1e8347d472cec3a299254b3 3.7.14-release
diff --git a/autobuild.xml b/autobuild.xml
index c813e7728862f1d063f7d32d098b029f003834e6..b6586b25b7d211849d1282f60d2922675c253474 100755
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -66,9 +66,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>69ae3b1c9cdb0ebc0d0e1ac8413e3eb7</string>
+              <string>8da309d24fb0bad8eaaa667fb04c6dc7</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/SDL-1.2.14-linux-20110309.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-sdl-update/rev/290561/arch/Linux/installer/SDL-1.2.15-linux-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -138,9 +138,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>e6caaeea16131e1f2343ecd7765e3147</string>
+              <string>127c6c37726b11a0750cd4d3b920beff</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ares-1.7.1-darwin-20110217.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-ares-update/rev/290399/arch/Darwin/installer/ares-1.10.0-darwin-20140529.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -150,9 +150,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>0745872db83d45f4ab3bdc697d98e264</string>
+              <string>92f6a454d90b5740a38fb68e369cc13e</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-ares/rev/223275/arch/Linux/installer/ares-1.7.1-linux-20110310.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-ares-update/rev/290399/arch/Linux/installer/ares-1.10.0-linux-20140529.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -162,9 +162,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>1dcec6babd249a2597114d4ac226c461</string>
+              <string>887c93c4075beefefa44b69fb2c0461e</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-ares/rev/220963/arch/CYGWIN/installer/ares-1.7.1-windows-20110211.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-ares-update/rev/290399/arch/CYGWIN/installer/ares-1.10.0-windows-20140529.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
@@ -186,9 +186,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>06dd7af75e1eb179aed54fd58d8688af</string>
+              <string>b57789bd22dd166aade4a35ec5d36fbb</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/270698/arch/Darwin/installer/boost-1.52.0-darwin-20130221.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-boost-update/rev/290566/arch/Darwin/installer/boost-1.55.0-darwin-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -198,9 +198,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>50c8b50b7cced52cc5656fb44e9b12cf</string>
+              <string>2f076eae296600a1b810ce375dc4b42d</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/270698/arch/Linux/installer/boost-1.52.0-linux-20130222.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-boost-update/rev/290566/arch/Linux/installer/boost-1.55.0-linux-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -210,9 +210,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>742fc9675b033df7f9c6f215ff250f6c</string>
+              <string>8af0500013739866a41cfc2ce90e4f4b</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/270698/arch/CYGWIN/installer/boost-1.52.0-windows-20130221.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-boost-update/rev/290566/arch/CYGWIN/installer/boost-1.55.0-windows-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
@@ -234,9 +234,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>480b27a0cb39a4adfcdeabef895de3e1</string>
+              <string>68dc13f49a686331df6f0128c5483da3</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-colladadom/rev/227230/arch/Darwin/installer/colladadom-2.2-darwin-20110420.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-colladadom-update/rev/290576/arch/Darwin/installer/colladadom-2.3-darwin-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -246,9 +246,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>be7321370b69b6d66938b82a9230a067</string>
+              <string>bdec5fe5fd008da4328f84115128ee61</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-colladadom/rev/233450/arch/Linux/installer/colladadom-2.2-linux-20110621.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-colladadom-update/rev/290576/arch/Linux/installer/colladadom-2.3-linux-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -258,9 +258,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>a9f548eb6f9aaf292508a8b09c7f2f73</string>
+              <string>ae103c9481be20cd6c035940832b2650</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-colladadom/rev/226584/arch/CYGWIN/installer/colladadom-2.2-windows-20110413.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-colladadom-update/rev/290576/arch/CYGWIN/installer/colladadom-2.3-windows-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
@@ -282,9 +282,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>f7d9b6a9c624364389b71209881f39de</string>
+              <string>f5a699c93beb1a854d0b51382b5cecc8</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-curl/rev/280289/arch/Darwin/installer/curl-7.24.0-darwin-20130826.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-curl-update/rev/290664/arch/Darwin/installer/curl-7.37.0-darwin-20140605.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -294,9 +294,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>58b7bf45383c1b1bc24afb303b1519c8</string>
+              <string>2bc285edffd0e55e0cd6290f39854a89</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-curl/rev/280289/arch/Linux/installer/curl-7.24.0-linux-20130826.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-curl-update/rev/290664/arch/Linux/installer/curl-7.37.0-linux-20140605.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -306,9 +306,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>8d9ccb0277a26bfe3f346c3c49ce4b58</string>
+              <string>8d3b197d7a114d2b688d2831a0a59757</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-curl/rev/280289/arch/CYGWIN/installer/curl-7.24.0-windows-20130826.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-curl-update/rev/290664/arch/CYGWIN/installer/curl-7.37.0-windows-20140605.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
@@ -546,9 +546,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>d8b08b657247566bde5fd853c7622478</string>
+              <string>2843c48e6c84a51e3d6aa05dace4c8c0</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/fontconfig-2.8.0-linux-20110311.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-fontconfig-update/rev/290569/arch/Linux/installer/fontconfig-2.11.0-linux-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -594,9 +594,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>c0eacb6348e032fbc69cfdc4bd215ee4</string>
+              <string>71c8d80de052f0c2a49e4c7ddf1a56a0</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetype-2.4.4-darwin-20110307.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-freetype-update/rev/290557/arch/Darwin/installer/freetype-2.4.4-darwin-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -606,9 +606,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>bd6f84f9fb3c2e68850676d06935373f</string>
+              <string>52f87a65cc61ec4b05721c079d015b19</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-freetype/rev/271684/arch/Linux/installer/freetype-2.4.4-linux-20130312.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-freetype-update/rev/290557/arch/Linux/installer/freetype-2.4.4-linux-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -618,9 +618,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>271349827b939406162ce42e42cd18e0</string>
+              <string>6e9fc0fe628a7c88f6f614bf3b0450ae</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetype-2.4.4-windows-20110218.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-freetype-update/rev/290557/arch/CYGWIN/installer/freetype-2.4.4-windows-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
@@ -747,14 +747,14 @@
           </map>
         </map>
       </map>
-      <key>google_breakpad</key>
+      <key>gmock</key>
       <map>
         <key>license</key>
         <string>bsd</string>
         <key>license_file</key>
-        <string>LICENSES/google_breakpad.txt</string>
+        <string>LICENSES/gmock.txt</string>
         <key>name</key>
-        <string>google_breakpad</string>
+        <string>gmock</string>
         <key>platforms</key>
         <map>
           <key>darwin</key>
@@ -762,9 +762,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>aff5566e04003de0383941981198e04e</string>
+              <string>36b0ea1a8be38f5749a7b13536b871ab</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/273073/arch/Darwin/installer/google_breakpad-0.0.0-rev1099-darwin-20130329.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-google-mock-update/rev/290574/arch/Darwin/installer/gmock-1.7.0-darwin-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -774,9 +774,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>52257e5eb166a0b69c9c0c38f6e1920e</string>
+              <string>3de99704847b34c7acccf5ab87222f6c</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/273079/arch/Linux/installer/google_breakpad-0.0.0-rev1099-linux-20130329.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-google-mock-update/rev/290574/arch/Linux/installer/gmock-1.7.0-linux-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -786,23 +786,23 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>a1e519d08c507c12f9d412b2ae8328c8</string>
+              <string>5d91c1d03780aa26bcd5481145ee9e86</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/279804/arch/CYGWIN/installer/google_breakpad-0.0.0-rev1099-windows-20130813.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-google-mock-update/rev/290574/arch/CYGWIN/installer/gmock-1.7.0-windows-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
           </map>
         </map>
       </map>
-      <key>googlemock</key>
+      <key>google_breakpad</key>
       <map>
         <key>license</key>
         <string>bsd</string>
         <key>license_file</key>
-        <string>LICENSES/googlemock.txt</string>
+        <string>LICENSES/google_breakpad.txt</string>
         <key>name</key>
-        <string>googlemock</string>
+        <string>google_breakpad</string>
         <key>platforms</key>
         <map>
           <key>darwin</key>
@@ -810,9 +810,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>886ee428f058005ab7f90f61784ec9d9</string>
+              <string>aff5566e04003de0383941981198e04e</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/googlemock-1.1.0-darwin-20101004.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/273073/arch/Darwin/installer/google_breakpad-0.0.0-rev1099-darwin-20130329.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -822,9 +822,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>782ca04e56d8eab755adcae297cafa7c</string>
+              <string>52257e5eb166a0b69c9c0c38f6e1920e</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/googlemock-1.1.0-linux-20101001.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/273079/arch/Linux/installer/google_breakpad-0.0.0-rev1099-linux-20130329.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -834,9 +834,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>98994d5b0b4b3d43be22aa6a5c36e6fa</string>
+              <string>a1e519d08c507c12f9d412b2ae8328c8</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-mock-graham/rev/272961/arch/CYGWIN/installer/gmock-1.6.0-windows-20130327.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-google-breakpad/rev/279804/arch/CYGWIN/installer/google_breakpad-0.0.0-rev1099-windows-20130813.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
@@ -1194,9 +1194,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>6fe1adf12d98bce9111f60ee762007b9</string>
+              <string>80a84bbbb363e1a38f39bb6be8a3f166</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libpng-1.5.1-darwin-20110222.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-libpng-update/rev/290558/arch/Darwin/installer/libpng-1.6.8-darwin-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -1206,9 +1206,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>0681ab7e1988dfdbdad7dd9edb7760ee</string>
+              <string>3368a25b361c22a03f7ec7e0f8d5ff9d</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libpng-1.5.1-linux-20110223.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-libpng-update/rev/290558/arch/Linux/installer/libpng-1.6.8-linux-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -1218,9 +1218,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>f194ba857ca8dd86483a3ef24535d0db</string>
+              <string>596f4798f90941817b1ca5009c24d16a</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-libpng/rev/226532/arch/CYGWIN/installer/libpng-1.5.1-windows-20110413.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-libpng-update/rev/290558/arch/CYGWIN/installer/libpng-1.6.8-windows-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
@@ -1261,18 +1261,42 @@
         <string>libxml2</string>
         <key>platforms</key>
         <map>
+          <key>darwin</key>
+          <map>
+            <key>archive</key>
+            <map>
+              <key>hash</key>
+              <string>4a5880b8235beb5ca21f1e252a46e342</string>
+              <key>url</key>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-libxml-update/rev/290562/arch/Darwin/installer/libxml2-2.9.1-darwin-20140602.tar.bz2</string>
+            </map>
+            <key>name</key>
+            <string>darwin</string>
+          </map>
           <key>linux</key>
           <map>
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>fd34e3e818ad7dd26add1f05e6069c11</string>
+              <string>7eb90f075730f8d7d176f8fb7bad5ef5</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-libxml/rev/282218/arch/Linux/installer/libxml2-2.7.8-linux-20131009.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-libxml-update/rev/290562/arch/Linux/installer/libxml2-2.9.1-linux-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
           </map>
+          <key>windows</key>
+          <map>
+            <key>archive</key>
+            <map>
+              <key>hash</key>
+              <string>ba20e2634b4c249a7064620d135f7972</string>
+              <key>url</key>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-libxml-update/rev/290562/arch/CYGWIN/installer/libxml2-2.9.1-windows-20140602.tar.bz2</string>
+            </map>
+            <key>name</key>
+            <string>windows</string>
+          </map>
         </map>
       </map>
       <key>llappearanceutility-source</key>
@@ -1420,9 +1444,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>4a98d727561cd1f4ac5ee02907411df1</string>
+              <string>79afb464255be2be7c02fdfac10bcd5c</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llqtwebkit/rev/250147/arch/Darwin/installer/llqtwebkit-4.7.1-darwin-20120228.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-llqtwebkit2/rev/290663/arch/Darwin/installer/llqtwebkit-4.7.1-darwin-20140605.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -1432,9 +1456,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>f50e5f0cc880c55b3f0f7e67dc8f7221</string>
+              <string>090190a8dd80efe1f0933c7ed307e6f1</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llqtwebkit/rev/250147/arch/Linux/installer/llqtwebkit-4.7.1-linux-20120228.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-llqtwebkit2/rev/290663/arch/Linux/installer/llqtwebkit-4.7.1-linux-20140605.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -1444,9 +1468,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>5e3cd6af397e853a963a6de40d440ff4</string>
+              <string>650f2a30a83eacde238fcc87ff161190</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-llqtwebkit/rev/250147/arch/CYGWIN/installer/llqtwebkit-4.7.1-windows-20120228.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-llqtwebkit2/rev/290663/arch/CYGWIN/installer/llqtwebkit-4.7.1-windows-20140605.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
@@ -1597,36 +1621,26 @@
           </map>
         </map>
       </map>
-      <key>openSSL</key>
+      <key>openal_soft</key>
       <map>
         <key>license</key>
-        <string>openSSL</string>
+        <string>lgpl</string>
         <key>license_file</key>
-        <string>LICENSES/openssl.txt</string>
+        <string>LICENSES/OPENAL.txt</string>
         <key>name</key>
-        <string>openSSL</string>
+        <string>openal_soft</string>
         <key>platforms</key>
         <map>
-          <key>darwin</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>facee34b8bd57ad602157e65a5af1a49</string>
-              <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openssl-0.9.8q-darwin-20110211.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>darwin</string>
-          </map>
           <key>linux</key>
           <map>
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>3d40be8566fa4b9df9a38e2a0f9ea467</string>
+              <string>fccdca18a950ac9363c6fb39118b80e1</string>
+              <key>hash_algorithm</key>
+              <string>md5</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-openssl/rev/226882/arch/Linux/installer/openssl-1.0.0d-linux-20110418.tar.bz2</string>
+              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openal-3ad86a1c-linux-20110114.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -1636,35 +1650,47 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>774c7f0a0312bee3054757a623e227bc</string>
+              <string>04df406f3e5d04cf176660bdac66c3a1</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-openssl/rev/220986/arch/CYGWIN/installer/openssl-0.9.8q-windows-20110211.tar.bz2</string>
+              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openal-1.12.854-1.1.0-windows-20110301.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
           </map>
         </map>
+        <key>version</key>
+        <string>3ad86a1c</string>
       </map>
-      <key>openal_soft</key>
+      <key>openjpeg</key>
       <map>
         <key>license</key>
-        <string>lgpl</string>
+        <string>openjpeg</string>
         <key>license_file</key>
-        <string>LICENSES/OPENAL.txt</string>
+        <string>LICENSES/openjpeg.txt</string>
         <key>name</key>
-        <string>openal_soft</string>
+        <string>openjpeg</string>
         <key>platforms</key>
         <map>
+          <key>darwin</key>
+          <map>
+            <key>archive</key>
+            <map>
+              <key>hash</key>
+              <string>4be51c7cca7d84831e30b63279df7ae5</string>
+              <key>url</key>
+              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.4-darwin-20110302.tar.bz2</string>
+            </map>
+            <key>name</key>
+            <string>darwin</string>
+          </map>
           <key>linux</key>
           <map>
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>fccdca18a950ac9363c6fb39118b80e1</string>
-              <key>hash_algorithm</key>
-              <string>md5</string>
+              <string>fb2382014c79e0049746e4e29bd834f9</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openal-3ad86a1c-linux-20110114.tar.bz2</string>
+              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.4-linux-20110314.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -1674,25 +1700,23 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>04df406f3e5d04cf176660bdac66c3a1</string>
+              <string>ca5765af55f798724d601720afdf6953</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openal-1.12.854-1.1.0-windows-20110301.tar.bz2</string>
+              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.4-windows-20110302.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
           </map>
         </map>
-        <key>version</key>
-        <string>3ad86a1c</string>
       </map>
-      <key>openjpeg</key>
+      <key>openssl</key>
       <map>
         <key>license</key>
-        <string>openjpeg</string>
+        <string>openssl</string>
         <key>license_file</key>
-        <string>LICENSES/openjpeg.txt</string>
+        <string>LICENSES/openssl.txt</string>
         <key>name</key>
-        <string>openjpeg</string>
+        <string>openssl</string>
         <key>platforms</key>
         <map>
           <key>darwin</key>
@@ -1700,9 +1724,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>4be51c7cca7d84831e30b63279df7ae5</string>
+              <string>4db126327bbb125ea2490c79c73103bf</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.4-darwin-20110302.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-openssl-update/rev/290662/arch/Darwin/installer/openssl-1.0.1h-darwin-20140605.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -1712,9 +1736,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>fb2382014c79e0049746e4e29bd834f9</string>
+              <string>0665c18f8cdbe2f90cb0a2f088cfe1a6</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.4-linux-20110314.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-openssl-update/rev/290662/arch/Linux/installer/openssl-1.0.1h-linux-20140605.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -1724,9 +1748,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>ca5765af55f798724d601720afdf6953</string>
+              <string>138997e1a73c65525d45c00f43f08010</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.4-windows-20110302.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-openssl-update/rev/290662/arch/CYGWIN/installer/openssl-1.0.1h-windows-20140605.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
@@ -1748,9 +1772,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>a8e74694a0f4248228c13c845ed0a6f8</string>
+              <string>af0d38a4c56b52c4df40a4ff0d51efef</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-pcre/rev/228822/arch/Darwin/installer/pcre-7.6-darwin-20110504.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-pcre-update/rev/290406/arch/Darwin/installer/pcre-8.35-darwin-20140529.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -1760,9 +1784,21 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>bb0abe962b3b8208ed2dab0424aab33d</string>
+              <string>5e6368d39b95f2c0d5162dac2c17c67f</string>
+              <key>url</key>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-pcre-update/rev/290406/arch/Linux/installer/pcre-8.35-linux-20140530.tar.bz2</string>
+            </map>
+            <key>name</key>
+            <string>linux</string>
+          </map>
+          <key>windows</key>
+          <map>
+            <key>archive</key>
+            <map>
+              <key>hash</key>
+              <string>9250f74fed826ad1b8700229e964519d</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-pcre/rev/228822/arch/Linux/installer/pcre-7.6-linux-20110504.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-pcre-update/rev/290406/arch/CYGWIN/installer/pcre-8.35-windows-20140529.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -1928,9 +1964,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>49b8de20f3bb43537f51311894a72de1</string>
+              <string>6658071e3b54b1dd5f5279227aff402a</string>
               <key>url</key>
-              <string>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/zlib-1.2.5-darwin-20110211.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-zlib-update/rev/290556/arch/Darwin/installer/zlib-1.2.8-darwin-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -1940,9 +1976,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>7b4cf3aa2c04937d0a20761516587896</string>
+              <string>63a62bb3cbef2aad3cca49cb6f2d0aeb</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-zlib/rev/223739/arch/Linux/installer/zlib-1.2.5-linux-20110314.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-zlib-update/rev/290556/arch/Linux/installer/zlib-1.2.8-linux-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>linux</string>
@@ -1952,9 +1988,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>5852192646681817fc3c3a8c95e91c1e</string>
+              <string>ab45a628e22a495814e806ce46081806</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-zlib/rev/220983/arch/CYGWIN/installer/zlib-1.2.5-windows-20110211.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3pl_3p-zlib-update/rev/290556/arch/CYGWIN/installer/zlib-1.2.8-windows-20140602.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
diff --git a/doc/contributions.txt b/doc/contributions.txt
index 7e8ab46b1a43b53b9fa8fb78c2a51e91e97ae5e8..e157e82aaca070dd894ad95540e646c76ad53f76 100755
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -1017,6 +1017,8 @@ Peekay Semyorka
 	VWR-19
 	VWR-49
 	VWR-79
+Pell Smit
+	MAINT-4323
 Peter Lameth
 	VWR-7331
 PeterPunk Mooney
diff --git a/indra/cmake/00-COMPILE-LINK-RUN.txt b/indra/cmake/00-COMPILE-LINK-RUN.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d08cc2dc0cf49b67fdc0631f62b2ffb890fbcfaa
--- /dev/null
+++ b/indra/cmake/00-COMPILE-LINK-RUN.txt
@@ -0,0 +1,344 @@
+
+    A short guide to compiling, linking, running and debugging issues
+    in the viewer and its packaged libraries.
+
+Introduction
+
+    A recent pass through some third-party libraries resulted in the
+    collection of a lot of information about how things should and
+    shouldn't be built in the viewer.  Some of that is presented below
+    with hints and rules about doing things well.  What's presented is
+    a guideline only.  Not all suggestions are hard rules and you'll
+    find exceptions all over.  Some exceptions arise from solid
+    reasoning, others may be legacy that hasn't been re-examined.
+
+    Use good engineering judgement when applying this information.
+
+Compilation
+
+  Windows Targets
+
+    Significant compilation flags and defines follow:
+
+    ----------------------------------------------------------------------------
+    Option                Release          RelWithDebInfo          Debug
+    ----------------------------------------------------------------------------
+    wchar_t             /Zc:wchar_t-             "                   "
+    RTL type               /MD                  /MD                 /MDd
+    FLoating Point       /fp:fast                "                   "
+    Debug Info        /Zi (app/dll), /Z7 (lib)   "                   "
+    Optimizer           /O2 /Ob2 /GR       /Od /Ob0 /GR           /Od /GR
+    Incr. Link      /INCREMENTAL:NO        /INCREMENTAL       /INCREMENTAL:NO
+    Debug                /DEBUG               /DEBUG              /DEBUG
+                         /OPT:REF
+    Ignore Libs          LIBCMT               LIBCMT      LIBCMT;LIBCMTD;MSVCRT
+    Alignment           Default                  "                   "
+
+    Defines        WIN32                         "                   "
+                   _WINDOWS                      "                   "
+                   LL_RELEASE=1          LL_RELEASE=1               n/a
+                   LL_RELEASE_FOR_DOWNLOAD=1    n/a                 n/a
+                   NDEBUG                NDEBUG               _DEBUG
+                           n/a                  n/a           LL_DEBUG=1
+                           n/a           LL_RELEASE_WITH_\          n/a
+                                         DEBUG_INFO=1
+                           n/a                  n/a           _SCL_SECURE_NO_WARNINGS=1
+                   _SECURE_STL=0         _SECURE_STL=0        _SECURE_STL=0
+                   _HAS_ITERATOR_DEBUGGING=0    n/a                 n/a
+                   LL_WINDOWS=1                  "                   "
+                   UNICODE                       "                   "
+                   _UNICODE                      "                   "
+                   WINVER=0x0501                 "                   "
+                   _WIN32_WINNT=0x0501           "                   "
+                   LL_OS_DRAGDROP_ENABLED=1      "                   "
+                   CARES_STATICLIB               "                   "
+                   LIB_NDOF=1                    "                   "
+
+    ----------------------------------------------------------------------------
+    Notes:
+
+    1.  /Zc:wchar_t-.  Not certain where this comes from.  It may be
+    due to a default set of compilation flags in Qt 4.X that then
+    propagates outward.  In Qt 5.X, this setting is flipped back to
+    default (wchar_t is a built-in).  Other options for dealing with
+    this include:
+
+    http://msdn.microsoft.com/en-us/library/dh8che7s%28v=vs.110%29.aspx
+
+    Recommend trying to stay with /Zc:wchar_t (the default) when
+    adding libraries.  If incompatible, you'll typically get some
+    missing ostream '<<' operators or something similar in the stream
+    headers.
+
+    2.  /Z7 (VC 7.0 compatibility symbols) gives us debug information
+    in the static libraries we build.  Otherwise builds generate
+    vc100.pdb files all over the place which generally aren't useful.
+    DLL's and .EXEs are to get /Zi or /ZI with separate .PDB files.
+    These .PDB files can then be packaged up in symbol tarballs for
+    the crash dump analyzer or used in debugging.  There are issues here
+    for VS 2013 (see below).
+
+
+  Mac Targets
+
+    Fairly straightforward, optimization level is easily changed (may
+    be little or negative gain for -O3 and RelWithDebInfo should be
+    kicked up to 1 or 2.  Boost debug symbols to dwarf-2 with a goal
+    of dwarf-2 in separate dSYM file when building .dylibs and
+    executables.
+
+    ----------------------------------------------------------------------------
+    Option                Release          RelWithDebInfo          Debug
+    ----------------------------------------------------------------------------
+    Strip Debug Symbols     On                   "                   "
+    During Copy
+
+    Generate Debug Syms     On                   "                   "
+
+    Level Debug Syms    -gdwarf-2                "                   "
+
+    Optimization           -O3                  -O0                 -O0
+
+    PIC                -fPIC -DPIC               "                   "
+
+    Defines        LL_RELEASE=1          LL_RELEASE=1               n/a
+                   LL_RELEASE_FOR_DOWNLOAD=1    n/a                 n/a
+                   NDEBUG                NDEBUG               _DEBUG
+                           n/a                  n/a           LL_DEBUG=1
+                           n/a           LL_RELEASE_WITH_\          n/a
+                                         DEBUG_INFO=1
+                   LL_DARWIN=1                   "                   "
+                   LL_OS_DRAGDROP_ENABLED=1      "                   "
+                   CARES_STATICLIB               "                   "
+                   LIB_NDOF=1                    "                   "
+
+    ----------------------------------------------------------------------------
+    Notes:
+
+    1.  We’re also building dylibs in a somewhat unusual way.  They’re
+    currently being generated with a link path of
+    ‘@executable_path/../Resources/<library>’.  If we were to follow
+    the recommendations in dyld’s man page, we’d instead reference
+    ‘@loader_path/<library>’, use -rpath on the executable link
+    (pointing to the ‘Resources’ subdir of the main executable), and
+    be able to avoid some symlinking in the .app tree.
+
+    2.  Use the -headerpad_max_install_names link option on all .dylibs.
+
+
+  Linux Targets
+
+    Not much variety here.
+
+    ----------------------------------------------------------------------------
+    Option                Release          RelWithDebInfo          Debug
+    ----------------------------------------------------------------------------
+    Debug Level     -g (-g0/1 better?)          -g                  -g
+    During Copy
+
+    Optimization            -O2                 -O0                 -O0
+
+    PIC                    -fPIC                 "                   "
+    ----------------------------------------------------------------------------
+    Notes:
+
+
+Linking
+
+    The library update work has generally moved in the direction of
+    preferring static libraries over dynamic (Qt4 being the notable
+    exception).  It also mostly eliminated the extremely bad practice
+    of having multiple versions of a library built into an image.
+
+    How bad was it?  Very.  Appalling.  A nightmare.  On Windows, at
+    least four versions of zlib (1.2.3, 1.2.5, 1.2.6, unknown), three
+    versions of Boost (1.45, 1.48, 1.52), two versions of OpenSSL
+    (0.9.8q, 1.0.0g) and three different builds of libexpat
+    2.0.5/1.5.2 were used.  Mac was worse with five builds or versions
+    of zlib, two of PCRE, two of c-ares, and three of OpenSSL.  Linux
+    topped that by adding two builds of libpng.
+
+    DO NOT ALLOW THIS TO HAPPEN AGAIN.  It isn't enough to update a
+    library and then stuff a new triplet of S3 URLs into the viewer's
+    autobuild.xml.  If you update a library you MUST:
+
+    *  Update the autobuild.xml of ALL consumers of the library.  In
+    the case of zlib, that meant updating freetype, libpng, openssl,
+    libxml2, fontconfig, curl, Boost, SDL, llqtwebkit, google-mock and
+    colladadom.
+
+    *  Confirm by test and observation that the consumers actually use
+    your library rather than 'call home to mother' and find
+    system-supplied versions of your library.  This may consist of
+    watching configuration scripts, probing with ldd/depends/otool,
+    pulling text out of binaries with 'strings'.  The previously-
+    mentioned libraries all have a README.Linden file that gives
+    examples specific to the consumer library.
+
+    *  DO NOT RE-EXPORT LIBRARIES.  Colladadom was the worst offender
+    of this rule.  As a shared library, it was re-exporting part, but
+    not all, of Boost filesystem and system, some zlib, some PCRE,
+    some libxml2 and minizip.  This meant that depending upon link-
+    time and run-time symbol resolution, data constructed with one
+    version of a library might be processed by a method built in a
+    second, incompatible version of the library.  Switching colladadom
+    to a static library ended the re-export problem.
+
+    *  Preventing re-export is not sufficient.  other libraries will
+    still be shipped as shared and they can still have Singleton and
+    Fragile Base Class issues.  A DLL may be built with a static
+    archive of a library that has global data.  That same static
+    archive might be linked into the application proper.  An object
+    created with a method in the DLL may pass into a method in the
+    application where the archive's global data has a second instance
+    and no knowledge of the object.  This is a failure due to an
+    assumption of Singleton global data which leads to some kind of
+    failure.  This is the same effect as when, in Windows, both MSVCRT
+    and MSVCRTD get activated in a program.  If you're lucky, some
+    asserts fail in that case having to do with file handle global
+    data.
+
+
+Running
+
+    Windows Debug Build.  Seems to have been rendered nearly useless
+    by having the LL_CHECK_MEMORY define in llmemory.h calling
+    _CrtCheckMemory().  Viewer is almost useful disabling this in
+    llvoavatar code alone but not quite.
+
+
+Futures
+
+  Static Versus Dynamic Libraries
+
+    One solution to the above linking problems is the use of static
+    libraries for everything.  Single version, singleton instancing of
+    data, etc.  But it's not the 1950's and we're not running our
+    applications on bare metal.  Every platform comes with 100s of
+    libraries waiting to interfere with operations by breaking the
+    single-version and singleton-data assumption.
+
+    Additionally, there are libraries that simply expect to be built
+    into shared libraries.  Qt4 is one such.  The version we're using
+    now, 4.7.1, is actually trying to disable both Webkit and plugin
+    modules because we're building it statically on Mac and Linux.
+    It's only because of configuration bugs that we're getting the
+    functionality out of it that we want.
+
+    With enough libraries and a single, global namespace, eventually
+    there will be collisions and there may not be a warning.  All it
+    takes is two programmers who thought that 'FILE * open_file(const
+    char *);' was a safe signature to use between compilation units in
+    their libraries and glorious debugging sessions are in your
+    future.  Having debugged it, you will now become the proud owner
+    of a one-off version of one of those libraries that uses a special
+    symbol prefix which you will be maintaining forever.
+
+    Lastly, we have some binary blobs that we must use as delivered.
+    Executables can be isolated at run-time if necessary.  Shared
+    libraries are a different problem.  They may bring their own
+    library dependencies that affect link- and run-time symbol
+    resolution and they'll impose that on us according to platform
+    rules.
+
+    So, what to do?  My natural bias for large software is to use
+    shared libraries for everything.  It's a path to single-version
+    and singleton data and isolates namespaces and prevents
+    interactions.  It also has some field serviceability benefits if
+    you need to debug some bizarre problem a user has.
+
+    But there's a local preference for static.  Here, my
+    rules-of-thumb are:
+
+    * Static library used by default.
+
+    * Shared library where the library must be built shared.
+
+    * Shared library if that is the only means to enforce the
+      single-version and singleton-data requirements.
+
+    * Shared library *on a case-by-case basis* if the library is also
+      provided by the platform and some benefit is plausible.  (An
+      example of this is freetype/fontconfig on Linux.  The .so
+      versions we build with, and incompletely ship, are inferior in
+      behavior to the platform libraries.  By being shared libraries,
+      the platform-supplied option is available to all Linux users.)
+
+    In all cases, beware of cmake which appears to collapse and move
+    library references in links.  This can drastically affect symbol
+    resolution when there are multiple sources for a symbol.
+
+  General
+
+    VS 2013.  The /Z7 flag is rumored to be somewhat broken in 2013.
+    But it also sounds like there are explicit controls to name .PDB
+    files associated with static archives.  That would make this an
+    ideal time to switch to /Zi or /ZI everywhere with explicit naming
+    and bring all the .PDBs together.
+
+    The embedded browser technology (e.g. Qt4 with Webkit) is the
+    800-pound gorilla in the viewer.  When starting any major work,
+    decide what changes you need here as those changes will propagate
+    outwards forcing many other decisions (cf: /Zc:wchar_t- flag).
+
+    The current package structure (./include, ./lib/release,
+    ./lib/debug, etc.) really works against the conventions used by
+    configure-like programs.  I wasted a lot of time getting each
+    library to work with our structure without having to go back to
+    automake/autoconf.  For Linux and Mac (and even for Windows), a
+    structure like the following where each grouping is optional would
+    probably save some work:
+
+        ./debug/bin
+               /include
+               /lib
+        ./debug/shared/bin
+                      /include
+                      /lib
+        ./debug/static/bin
+                      /include
+                      /lib
+        ./release/bin
+                 /include
+                 /lib
+        ...
+
+    In zlib and openssl and in a few of the libraries that consume
+    them, I experimented with packaging both static and shared
+    libraries and then having the consumer library move the unwanted
+    pieces out of the way to use the library type of choice (see
+    restore_dylibs() and restore_sos() functions).  It was a bit fussy
+    and simplicity and clarity are the keys to maintaining libraries
+    in the future.
+
+    But it did suggest another approach.  The idea is that every build
+    pre-stages inputs.  Before anything is built, package pieces are
+    copied or symlinked from the 'stage/packages' area to the
+    'stage/input' area.  Builds then proceed with a single set of
+    -I/-L options for the dependencies.  And products are built and
+    installed in a similar output staging structure for the next
+    consumer:
+
+        stage/packages/<package>/[above structure]
+        stage/input/{bin,include,lib}
+        stage/<package>/[above structure]
+
+    Next library project.  I'd recommend working on the related set of
+    libexpat, apr, aprutil, xmlrpc-epi.  We know libexpat has some
+    updates that should improve stability.  Libapr consumes it and it
+    could use some /Z7 flag work to get rid of some 1000's of PDB
+    warnings and improve our debug symbols.
+
+    Miscellany to be sorted out:
+
+    * The packaging of libfreetype and libfontconfig on Linux.
+    Determine what the right thing is, do it.
+
+    * Maybe do something with ICU4C.  Qt5 will require it and a number
+    of our packages can consume it typically replacing iconv or some
+    other library.  But it is a huge bolus of static data.  It can be
+    trimmed, but still.
+
+    * Revisit openssl.  Package as a shared library?  Replace with
+    LibreSSL when available?  Start using platform-supplied crypto?
+
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index 6a0f7a214c6d877ce1ea83eb71b1425895fbbe55..52b0f4e8b404904bcea4ccd671ee59bf5e701716 100755
--- a/indra/cmake/00-Common.cmake
+++ b/indra/cmake/00-Common.cmake
@@ -62,7 +62,7 @@ if (WINDOWS)
   add_definitions(
       /DLL_WINDOWS=1
       /DNOMINMAX
-      /DDOM_DYNAMIC
+#      /DDOM_DYNAMIC            # For shared library colladadom
       /DUNICODE
       /D_UNICODE 
       /GS
diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake
index 50ac27d402065e0151f548e63ff2c67abbd7758e..25e54b7cbd73e169ca5c0bc7b9551100c7737c2e 100755
--- a/indra/cmake/Boost.cmake
+++ b/indra/cmake/Boost.cmake
@@ -8,6 +8,7 @@ if (USESYSTEMLIBS)
   include(FindBoost)
 
   set(BOOST_CONTEXT_LIBRARY boost_context-mt)
+  set(BOOST_COROUTINE_LIBRARY boost_coroutine-mt)
   set(BOOST_FILESYSTEM_LIBRARY boost_filesystem-mt)
   set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt)
   set(BOOST_REGEX_LIBRARY boost_regex-mt)
@@ -17,10 +18,11 @@ if (USESYSTEMLIBS)
 else (USESYSTEMLIBS)
   use_prebuilt_binary(boost)
   set(Boost_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
-  set(BOOST_VERSION "1.52")
+  set(BOOST_VERSION "1.55")
 
   if (WINDOWS)
     if(MSVC80)
+      # This should be obsolete at this point
       set(BOOST_CONTEXT_LIBRARY 
           optimized libboost_context-vc80-mt-${BOOST_VERSION}
           debug libboost_context-vc80-mt-gd-${BOOST_VERSION})
@@ -47,6 +49,9 @@ else (USESYSTEMLIBS)
       set(BOOST_CONTEXT_LIBRARY 
           optimized libboost_context-mt
           debug libboost_context-mt-gd)
+      set(BOOST_COROUTINE_LIBRARY 
+          optimized libboost_coroutine-mt
+          debug libboost_coroutine-mt-gd)
       set(BOOST_FILESYSTEM_LIBRARY 
           optimized libboost_filesystem-mt
           debug libboost_filesystem-mt-gd)
@@ -70,6 +75,9 @@ else (USESYSTEMLIBS)
     set(BOOST_CONTEXT_LIBRARY
         optimized boost_context-mt
         debug boost_context-mt-d)
+    set(BOOST_COROUTINE_LIBRARY
+        optimized boost_coroutine-mt
+        debug boost_coroutine-mt-d)
     set(BOOST_FILESYSTEM_LIBRARY
         optimized boost_filesystem-mt
         debug boost_filesystem-mt-d)
@@ -92,6 +100,9 @@ else (USESYSTEMLIBS)
     set(BOOST_CONTEXT_LIBRARY
         optimized boost_context-mt
         debug boost_context-mt-d)
+    set(BOOST_COROUTINE_LIBRARY
+        optimized boost_coroutine-mt
+        debug boost_coroutine-mt-d)
     set(BOOST_FILESYSTEM_LIBRARY
         optimized boost_filesystem-mt
         debug boost_filesystem-mt-d)
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index 4f1b6640c2466b6052ebc9e7554bdc3a6e62b688..28202f85d648f036e7689447f3f4ea8649c3647b 100755
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -40,7 +40,6 @@ if(WINDOWS)
         libapriconv-1.dll
         ssleay32.dll
         libeay32.dll
-        libcollada14dom22-d.dll
         glod.dll    
         libhunspell.dll
         )
@@ -53,7 +52,6 @@ if(WINDOWS)
         libapriconv-1.dll
         ssleay32.dll
         libeay32.dll
-        libcollada14dom22.dll
         glod.dll
         libhunspell.dll
         )
@@ -213,15 +211,12 @@ elseif(DARWIN)
         libapr-1.dylib
         libaprutil-1.0.dylib
         libaprutil-1.dylib
+        libexception_handler.dylib
         libexpat.1.5.2.dylib
         libexpat.dylib
         libGLOD.dylib
-        libllqtwebkit.dylib
-        libminizip.a
-        libndofdev.dylib
         libhunspell-1.3.0.dylib
-        libexception_handler.dylib
-        libcollada14dom.dylib
+        libndofdev.dylib
        )
 
     if (FMODEX)
@@ -259,35 +254,21 @@ elseif(LINUX)
         libapr-1.so.0
         libaprutil-1.so.0
         libatk-1.0.so
-        libboost_context-mt.so.${BOOST_VERSION}.0
-        libboost_filesystem-mt.so.${BOOST_VERSION}.0
-        libboost_program_options-mt.so.${BOOST_VERSION}.0
-        libboost_regex-mt.so.${BOOST_VERSION}.0
-        libboost_signals-mt.so.${BOOST_VERSION}.0
-        libboost_system-mt.so.${BOOST_VERSION}.0
-        libboost_thread-mt.so.${BOOST_VERSION}.0
-        libcollada14dom.so
-        libcrypto.so.1.0.0
         libdb-5.1.so
         libexpat.so
         libexpat.so.1
+        libfreetype.so.6.6.2
         libfreetype.so.6
         libGLOD.so
-        libgmock_main.so
-        libgmock.so.0
         libgmodule-2.0.so
         libgobject-2.0.so
-        libgtest_main.so
-        libgtest.so.0
         libhunspell-1.3.so.0.0.0
-        libminizip.so
         libopenal.so
         libopenjpeg.so
-        libssl.so
         libuuid.so.16
         libuuid.so.16.0.22
-        libssl.so.1.0.0
-        libfontconfig.so.1.4.4
+        libfontconfig.so.1.8.0
+        libfontconfig.so.1
        )
 
     if (USE_TCMALLOC)
diff --git a/indra/cmake/FreeType.cmake b/indra/cmake/FreeType.cmake
index 02c5b37f28410fc81102f845d38f3a9049701ce2..a36485f6d0fb6cf4f2c5a768cbb98d316f193336 100755
--- a/indra/cmake/FreeType.cmake
+++ b/indra/cmake/FreeType.cmake
@@ -7,7 +7,7 @@ if (USESYSTEMLIBS)
   pkg_check_modules(FREETYPE REQUIRED freetype2)
 else (USESYSTEMLIBS)
   use_prebuilt_binary(freetype)
-  set(FREETYPE_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
+  set(FREETYPE_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/freetype2/)
   set(FREETYPE_LIBRARIES freetype)
 endif (USESYSTEMLIBS)
 
diff --git a/indra/cmake/GoogleMock.cmake b/indra/cmake/GoogleMock.cmake
index c4c96a9af7042f51f67d19d59ab0006bac5a0dfd..cac072988e8288bb69329b6af1732112ce2e492b 100755
--- a/indra/cmake/GoogleMock.cmake
+++ b/indra/cmake/GoogleMock.cmake
@@ -2,7 +2,7 @@
 include(Prebuilt)
 include(Linking)
 
-use_prebuilt_binary(googlemock)
+use_prebuilt_binary(gmock)
 
 set(GOOGLEMOCK_INCLUDE_DIRS 
     ${LIBS_PREBUILT_DIR}/include)
diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake
index 67c2115237cfbebb3ba7f71fcbdfea478d00fc63..93626f689fda6f9ed450bc65696a4d0410f663dd 100755
--- a/indra/cmake/LLPrimitive.cmake
+++ b/indra/cmake/LLPrimitive.cmake
@@ -6,32 +6,40 @@ include(Boost)
 
 use_prebuilt_binary(colladadom)
 use_prebuilt_binary(pcre)
+use_prebuilt_binary(libxml2)
 
 set(LLPRIMITIVE_INCLUDE_DIRS
     ${LIBS_OPEN_DIR}/llprimitive
     )
 if (WINDOWS)
-    set(LLPRIMITIVE_LIBRARIES
+    set(LLPRIMITIVE_LIBRARIES 
         debug llprimitive
         optimized llprimitive
-        debug libcollada14dom22-d
-        optimized libcollada14dom22
+        debug libcollada14dom23-sd
+        optimized libcollada14dom23-s
+        libxml2_a
+        debug pcrecppd
+        optimized pcrecpp
+        debug pcred
+        optimized pcre
         ${BOOST_SYSTEM_LIBRARIES}
         )
-elseif (LINUX)
-    use_prebuilt_binary(libxml2)
-    set(LLPRIMITIVE_LIBRARIES
+elseif (DARWIN)
+    set(LLPRIMITIVE_LIBRARIES 
         llprimitive
-        collada14dom
+        debug collada14dom-d
+        optimized collada14dom
         minizip
         xml2
         pcrecpp
         pcre
+        iconv           # Required by libxml2
         )
-else (WINDOWS)
-    set(LLPRIMITIVE_LIBRARIES
+elseif (LINUX)
+    set(LLPRIMITIVE_LIBRARIES 
         llprimitive
-        collada14dom
+        debug collada14dom-d
+        optimized collada14dom
         minizip
         xml2
         pcrecpp
diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake
index b9c9e531fce292acc672e6ef9643626d4b6b41b5..74fe3f11377d096bc3e57fdaba85360168cb9a65 100755
--- a/indra/cmake/Linking.cmake
+++ b/indra/cmake/Linking.cmake
@@ -6,6 +6,7 @@ set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES")
 include(Variables)
 
 set(ARCH_PREBUILT_DIRS ${AUTOBUILD_INSTALL_DIR}/lib)
+set(ARCH_PREBUILT_DIRS_PLUGINS ${AUTOBUILD_INSTALL_DIR}/plugins)
 set(ARCH_PREBUILT_DIRS_RELEASE ${AUTOBUILD_INSTALL_DIR}/lib/release)
 set(ARCH_PREBUILT_DIRS_DEBUG ${AUTOBUILD_INSTALL_DIR}/lib/debug)
 if (WINDOWS)
diff --git a/indra/cmake/OpenSSL.cmake b/indra/cmake/OpenSSL.cmake
index 5b469f74f9a12d1085d3cfa8886fdcd7a03f8f89..eb548bdcc1393d90fe9e8cdeac1f6ae32c1d3745 100755
--- a/indra/cmake/OpenSSL.cmake
+++ b/indra/cmake/OpenSSL.cmake
@@ -7,7 +7,7 @@ set(OpenSSL_FIND_REQUIRED ON)
 if (USESYSTEMLIBS)
   include(FindOpenSSL)
 else (USESYSTEMLIBS)
-  use_prebuilt_binary(openSSL)
+  use_prebuilt_binary(openssl)
   if (WINDOWS)
     set(OPENSSL_LIBRARIES ssleay32 libeay32)
   else (WINDOWS)
@@ -17,7 +17,7 @@ else (USESYSTEMLIBS)
 endif (USESYSTEMLIBS)
 
 if (LINUX)
-  set(CRYPTO_LIBRARIES crypto)
+  set(CRYPTO_LIBRARIES crypto dl)
 elseif (DARWIN)
   set(CRYPTO_LIBRARIES crypto)
 endif (LINUX)
diff --git a/indra/cmake/PNG.cmake b/indra/cmake/PNG.cmake
index 173d59391e1ebb33f5e79a6a7034552b4eed17fd..248a875a19bd6bfd451f9d8ec1d6ee3967e09c51 100755
--- a/indra/cmake/PNG.cmake
+++ b/indra/cmake/PNG.cmake
@@ -9,13 +9,26 @@ if (USESYSTEMLIBS)
 else (USESYSTEMLIBS)
   use_prebuilt_binary(libpng)
   if (WINDOWS)
-    set(PNG_LIBRARIES libpng15)
-    set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng15)
+    set(PNG_LIBRARIES libpng16)
+    set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16)
   elseif(DARWIN)
-    set(PNG_LIBRARIES png15)
-    set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng15)
+    set(PNG_LIBRARIES png16)
+    set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16)
   else()
-    set(PNG_LIBRARIES png15)
-    set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng15)
+    #
+    # When we have updated static libraries in competition with older
+    # shared libraries and we want the former to win, we need to do some
+    # extra work.  The *_PRELOAD_ARCHIVES settings are invoked early
+    # and will pull in the entire archive to the binary giving it 
+    # priority in symbol resolution.  Beware of cmake moving the
+    # achive load itself to another place on the link command line.  If
+    # that happens, you can try something like -Wl,-lpng16 here to hide
+    # the archive.  Also be aware that the linker will not tolerate a
+    # second whole-archive load of the archive.  See viewer's
+    # CMakeLists.txt for more information.
+    #
+    set(PNG_PRELOAD_ARCHIVES -Wl,--whole-archive png16 -Wl,--no-whole-archive)
+    set(PNG_LIBRARIES png16)
+    set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16)
   endif()
 endif (USESYSTEMLIBS)
diff --git a/indra/cmake/WebKitLibPlugin.cmake b/indra/cmake/WebKitLibPlugin.cmake
index 76f2c148db634ac3a62564d3142d6fcd348bda83..f7c548a2fda5381b77ef026e41e5086d59b46609 100755
--- a/indra/cmake/WebKitLibPlugin.cmake
+++ b/indra/cmake/WebKitLibPlugin.cmake
@@ -1,6 +1,7 @@
 # -*- cmake -*-
 include(Linking)
 include(Prebuilt)
+include(OpenSSL)
 
 if (USESYSTEMLIBS)
   # The minimal version, 4.4.3, is rather arbitrary: it's the version in Debian/Lenny.
@@ -36,27 +37,32 @@ endif (USESYSTEMLIBS)
 
 if (WINDOWS)
     set(WEBKIT_PLUGIN_LIBRARIES 
-    debug llqtwebkitd
-    debug QtWebKitd4
-    debug QtOpenGLd4
-    debug QtNetworkd4
-    debug QtGuid4
-    debug QtCored4
-    debug qtmaind
-    optimized llqtwebkit
-    optimized QtWebKit4
-    optimized QtOpenGL4
-    optimized QtNetwork4
-    optimized QtGui4
-    optimized QtCore4
-    optimized qtmain
+        debug llqtwebkitd
+        debug QtWebKitd4
+        debug QtOpenGLd4
+        debug QtNetworkd4
+        debug QtGuid4
+        debug QtCored4
+        debug qtmaind
+        optimized llqtwebkit
+        optimized QtWebKit4
+        optimized QtOpenGL4
+        optimized QtNetwork4
+        optimized QtGui4
+        optimized QtCore4
+        optimized qtmain
     )
 elseif (DARWIN)
     set(WEBKIT_PLUGIN_LIBRARIES
-        optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
-        debug ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
-        )
+        ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.a
+        ${ARCH_PREBUILT_DIRS_RELEASE}/libQtWebKit.4.dylib
+        ${ARCH_PREBUILT_DIRS_RELEASE}/libQtOpenGL.4.dylib
+        ${ARCH_PREBUILT_DIRS_RELEASE}/libQtNetwork.4.dylib
+        ${ARCH_PREBUILT_DIRS_RELEASE}/libQtGui.4.dylib
+        ${ARCH_PREBUILT_DIRS_RELEASE}/libQtCore.4.dylib
+       )
 elseif (LINUX)
+    # *HUH:  What does this do?
     set(WEBKIT_PLUGIN_LIBRARIES ${LLQTWEBKIT_LIBRARY} ${QT_LIBRARIES} ${QT_PLUGIN_LIBRARIES})
     set(WEBKIT_PLUGIN_LIBRARIES
         llqtwebkit
@@ -68,9 +74,10 @@ elseif (LINUX)
         QtWebKit
         QtOpenGL
         QtNetwork
+        ${OPENSSL_LIBRARIES}
         QtGui
         QtCore
-        jscore
+#        jscore
 #        qgif
 #        qjpeg
 #        jpeg
diff --git a/indra/cmake/ZLIB.cmake b/indra/cmake/ZLIB.cmake
index b99a8644c92ca2d637264d5b87a2c052194b7f39..6cff0753b25f5d6ea55448bd866e27ce8609a2f9 100755
--- a/indra/cmake/ZLIB.cmake
+++ b/indra/cmake/ZLIB.cmake
@@ -13,10 +13,23 @@ else (USESYSTEMLIBS)
     set(ZLIB_LIBRARIES 
       debug zlibd
       optimized zlib)
-  else (WINDOWS)
+  elseif (LINUX)
+    #
+    # When we have updated static libraries in competition with older
+    # shared libraries and we want the former to win, we need to do some
+    # extra work.  The *_PRELOAD_ARCHIVES settings are invoked early
+    # and will pull in the entire archive to the binary giving it 
+    # priority in symbol resolution.  Beware of cmake moving the
+    # achive load itself to another place on the link command line.  If
+    # that happens, you can try something like -Wl,-lz here to hide
+    # the archive.  Also be aware that the linker will not tolerate a
+    # second whole-archive load of the archive.  See viewer's
+    # CMakeLists.txt for more information.
+    #
+    set(ZLIB_PRELOAD_ARCHIVES -Wl,--whole-archive z -Wl,--no-whole-archive)
+    set(ZLIB_LIBRARIES z)
+  elseif (DARWIN)
     set(ZLIB_LIBRARIES z)
   endif (WINDOWS)
-  if (WINDOWS OR LINUX)
-    set(ZLIB_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/zlib)
-  endif (WINDOWS OR LINUX)
+  set(ZLIB_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/zlib)
 endif (USESYSTEMLIBS)
diff --git a/indra/edit-me-to-trigger-new-build.txt b/indra/edit-me-to-trigger-new-build.txt
index c63ad74682b6ce81f684bcf591a71f7b6526aa06..6f2087d58088cbfeeb19f3b201e1f67bbb0b34dc 100755
--- a/indra/edit-me-to-trigger-new-build.txt
+++ b/indra/edit-me-to-trigger-new-build.txt
@@ -1 +1,2 @@
 2014-02-25 10:34
+
diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt
index 8eeb1869361dc06977aaef841097b226c9886589..763f5a3521ee41ccf1cbc2f69878924ec1d2ad4e 100755
--- a/indra/llcommon/CMakeLists.txt
+++ b/indra/llcommon/CMakeLists.txt
@@ -301,7 +301,7 @@ if (LL_TESTS)
   LL_ADD_INTEGRATION_TEST(llunits "" "${test_libs}")
   LL_ADD_INTEGRATION_TEST(stringize "" "${test_libs}")
   LL_ADD_INTEGRATION_TEST(lleventdispatcher "" "${test_libs}")
-  LL_ADD_INTEGRATION_TEST(lleventcoro "" "${test_libs};${BOOST_CONTEXT_LIBRARY}")
+  LL_ADD_INTEGRATION_TEST(lleventcoro "" "${test_libs};${BOOST_CONTEXT_LIBRARY};${BOOST_COROUTINE_LIBRARY};${BOOST_SYSTEM_LIBRARY}")
   LL_ADD_INTEGRATION_TEST(llprocess "" "${test_libs}")
   LL_ADD_INTEGRATION_TEST(llleap "" "${test_libs}")
   LL_ADD_INTEGRATION_TEST(llstreamqueue "" "${test_libs}")
diff --git a/indra/llcommon/llmemory.h b/indra/llcommon/llmemory.h
index db52f2b1f478e624f96af05d03aa9ff8384394f1..7d1d541a4b6b40cb6b03da8b4e6764d7357f158c 100755
--- a/indra/llcommon/llmemory.h
+++ b/indra/llcommon/llmemory.h
@@ -257,7 +257,8 @@ inline void ll_memcpy_nonaliased_aligned_16(char* __restrict dst, const char* __
 	assert((bytes % sizeof(F32))== 0); 
 	ll_assert_aligned(src,16);
 	ll_assert_aligned(dst,16);
-	assert((src < dst) ? ((src + bytes) < dst) : ((dst + bytes) < src));
+
+	assert((src < dst) ? ((src + bytes) <= dst) : ((dst + bytes) <= src));
 	assert(bytes%16==0);
 
 	char* end = dst + bytes;
diff --git a/indra/llinventory/llfoldertype.cpp b/indra/llinventory/llfoldertype.cpp
index 5f8aaae20bb9c8b8b41753fc83e6791064ebeb3c..23bf6da1f9367df9e364b68ef89fb14a0f24685f 100755
--- a/indra/llinventory/llfoldertype.cpp
+++ b/indra/llinventory/llfoldertype.cpp
@@ -93,7 +93,7 @@ LLFolderDictionary::LLFolderDictionary()
 	addEntry(LLFolderType::FT_MESH, 				new FolderEntry("mesh",	TRUE));
 
 	addEntry(LLFolderType::FT_INBOX, 				new FolderEntry("inbox",	TRUE));
-	addEntry(LLFolderType::FT_OUTBOX, 				new FolderEntry("outbox",	FALSE));
+	addEntry(LLFolderType::FT_OUTBOX, 				new FolderEntry("outbox",	TRUE));
 	
 	addEntry(LLFolderType::FT_BASIC_ROOT,			new FolderEntry("basic_rt", TRUE));
 		 
diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp
index e400877b3bba53b75f7dc44c0bd8578db19c1636..b24e14c72b038f48cc5330022369bc2bb9d546de 100755
--- a/indra/llinventory/llparcel.cpp
+++ b/indra/llinventory/llparcel.cpp
@@ -793,8 +793,6 @@ BOOL LLParcel::addToAccessList(const LLUUID& agent_id, S32 time)
 		}
 	}
     
-    removeFromBanList(agent_id);
-    
     LLAccessEntry new_entry;
     new_entry.mID			 = agent_id;
     new_entry.mTime	 = time;
@@ -838,8 +836,6 @@ BOOL LLParcel::addToBanList(const LLUUID& agent_id, S32 time)
         }
     }
     
-    removeFromAccessList(agent_id);
-    
     LLAccessEntry new_entry;
     new_entry.mID			 = agent_id;
     new_entry.mTime	 = time;
diff --git a/indra/llmessage/lltransfermanager.cpp b/indra/llmessage/lltransfermanager.cpp
index d6db20d7a33b5ee90871231069aa6ded38b968a5..ec7b21d8b60b6f3dc20d4627e08b56ca4444d9f2 100755
--- a/indra/llmessage/lltransfermanager.cpp
+++ b/indra/llmessage/lltransfermanager.cpp
@@ -1260,9 +1260,13 @@ bool LLTransferTarget::addDelayedPacket(
 		size);
 
 #ifdef _DEBUG
-	if (mDelayedPacketMap.find(packet_id) != mDelayedPacketMap.end())
+    transfer_packet_map::iterator iter = mDelayedPacketMap.find(packet_id);
+	if (iter != mDelayedPacketMap.end())
 	{
-		LL_ERRS() << "Packet ALREADY in delayed packet map!" << LL_ENDL;
+        if (!(iter->second->mSize == size) && !(iter->second->mDatap == datap))
+        {
+            LL_ERRS() << "Packet ALREADY in delayed packet map!" << LL_ENDL;
+        }
 	}
 #endif
 
diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp
index 57a698b98f8490a27c0ac7d24a4749cac732b6c2..b4963225dc630b23177f9a883354133403e7fcf0 100755
--- a/indra/llprimitive/llmodel.cpp
+++ b/indra/llprimitive/llmodel.cpp
@@ -191,7 +191,7 @@ LLModel::EModelStatus load_face_from_dom_triangles(std::vector<LLVolumeFace>& fa
 	U32 tc_count     = tc_source   ? tc.getCount() : 0;
 	U32 norm_count   = norm_source ? n.getCount()  : 0;
 
-	if (vertex_count == 0)
+	if ((vertex_count == 0) || (tc_count == 0))
 	{
 		llwarns << "Unable to process mesh with empty position array; invalid model." << llendl;
 		return LLModel::BAD_ELEMENT;
diff --git a/indra/llui/llfolderview.cpp b/indra/llui/llfolderview.cpp
index cca26f335a2c8b0c8ddeb857f5bf24e99fa1ec2b..474b545f00c3c25a83fff71aed6f05683386d590 100755
--- a/indra/llui/llfolderview.cpp
+++ b/indra/llui/llfolderview.cpp
@@ -1371,7 +1371,8 @@ BOOL LLFolderView::search(LLFolderViewItem* first_item, const std::string &searc
 			}
 		}
 
-		const std::string current_item_label(search_item->getViewModelItem()->getSearchableName());
+		std::string current_item_label(search_item->getViewModelItem()->getSearchableName());
+		LLStringUtil::toUpper(current_item_label);
 		S32 search_string_length = llmin(upper_case_string.size(), current_item_label.size());
 		if (!current_item_label.compare(0, search_string_length, upper_case_string))
 		{
diff --git a/indra/llui/llfolderviewitem.cpp b/indra/llui/llfolderviewitem.cpp
index 83254c2840737f6555eda17528efba3dfa404a65..6dd6f94d026646ab2e3e107b830d3fceda38001f 100644
--- a/indra/llui/llfolderviewitem.cpp
+++ b/indra/llui/llfolderviewitem.cpp
@@ -256,6 +256,23 @@ BOOL LLFolderViewItem::passedFilter(S32 filter_generation)
 	return getViewModelItem()->passedFilter(filter_generation);
 }
 
+BOOL LLFolderViewItem::isPotentiallyVisible(S32 filter_generation)
+{
+	if (filter_generation < 0)
+	{
+		filter_generation = getFolderViewModel()->getFilter().getFirstSuccessGeneration();
+	}
+	LLFolderViewModelItem* model = getViewModelItem();
+	BOOL visible = model->passedFilter(filter_generation);
+	if (model->getMarkedDirtyGeneration() >= filter_generation)
+	{
+		// unsure visibility state
+		// retaining previous visibility until item is updated or filter generation changes
+		visible |= getVisible();
+	}
+	return visible;
+}
+
 void LLFolderViewItem::refresh()
 {
 	LLFolderViewModelItem& vmi = *getViewModelItem();
@@ -655,7 +672,7 @@ void LLFolderViewItem::drawOpenFolderArrow(const Params& default_params, const L
 	//
 	const S32 TOP_PAD = default_params.item_top_pad;
 
-	if (hasVisibleChildren() || getViewModelItem()->hasChildren())
+	if (hasVisibleChildren())
 	{
 		LLUIImage* arrow_image = default_params.folder_arrow_image;
 		gl_draw_scaled_rotated_image(
@@ -968,7 +985,7 @@ S32 LLFolderViewFolder::arrange( S32* width, S32* height )
 	getRoot()->getFolderViewModel()->sort(this);
 
 	LL_RECORD_BLOCK_TIME(FTM_ARRANGE);
-
+	
 	// evaluate mHasVisibleChildren
 	mHasVisibleChildren = false;
 	if (getViewModelItem()->descendantsPassedFilter())
@@ -979,7 +996,7 @@ S32 LLFolderViewFolder::arrange( S32* width, S32* height )
 		for (items_t::iterator iit = mItems.begin(); iit != mItems.end(); ++iit)
 		{
 			LLFolderViewItem* itemp = (*iit);
-			found = itemp->passedFilter();
+			found = itemp->isPotentiallyVisible();
 			if (found)
 				break;
 		}
@@ -989,7 +1006,7 @@ S32 LLFolderViewFolder::arrange( S32* width, S32* height )
 			for (folders_t::iterator fit = mFolders.begin(); fit != mFolders.end(); ++fit)
 			{
 				LLFolderViewFolder* folderp = (*fit);
-				found = folderp->passedFilter();
+				found = folderp->isPotentiallyVisible();
 				if (found)
 					break;
 			}
@@ -1022,7 +1039,7 @@ S32 LLFolderViewFolder::arrange( S32* width, S32* height )
 			for(folders_t::iterator fit = mFolders.begin(); fit != mFolders.end(); ++fit)
 			{
 				LLFolderViewFolder* folderp = (*fit);
-				folderp->setVisible(folderp->passedFilter()); // passed filter or has descendants that passed filter
+				folderp->setVisible(folderp->isPotentiallyVisible());
 
 				if (folderp->getVisible())
 				{
@@ -1041,7 +1058,7 @@ S32 LLFolderViewFolder::arrange( S32* width, S32* height )
 				iit != mItems.end(); ++iit)
 			{
 				LLFolderViewItem* itemp = (*iit);
-				itemp->setVisible(itemp->passedFilter());
+				itemp->setVisible(itemp->isPotentiallyVisible());
 
 				if (itemp->getVisible())
 				{
diff --git a/indra/llui/llfolderviewitem.h b/indra/llui/llfolderviewitem.h
index a9b0201236b9ff3174695a0dabb8424d015f3a1b..0cd20a0f2d9a7047d39f23c641452cfe9bab4a7c 100644
--- a/indra/llui/llfolderviewitem.h
+++ b/indra/llui/llfolderviewitem.h
@@ -254,6 +254,7 @@ class LLFolderViewItem : public LLView
 	S32				getIndentation() { return mIndentation; }
 
 	virtual BOOL	passedFilter(S32 filter_generation = -1);
+	virtual BOOL	isPotentiallyVisible(S32 filter_generation = -1);
 
 	// refresh information from the object being viewed.
 	virtual void refresh();
diff --git a/indra/llui/llfolderviewmodel.h b/indra/llui/llfolderviewmodel.h
index 8d98363c5fd59c1e520abe6d0ae2b4906126a11e..cad3ca9d8dbfe8b403079c250bd67b1ddf6a69e9 100755
--- a/indra/llui/llfolderviewmodel.h
+++ b/indra/llui/llfolderviewmodel.h
@@ -190,6 +190,7 @@ class LLFolderViewModelItem : public LLRefCount, public LLTrace::MemTrackable<LL
 	virtual std::string::size_type getFilterStringSize() = 0;
 
 	virtual S32	getLastFilterGeneration() const = 0;
+	virtual S32 getMarkedDirtyGeneration() const = 0;
 
 	virtual bool hasChildren() const = 0;
 	virtual void addChild(LLFolderViewModelItem* child) = 0;
@@ -230,6 +231,7 @@ class LLFolderViewModelItemCommon : public LLFolderViewModelItem
 		mFolderViewItem(NULL),
 		mLastFilterGeneration(-1),
 		mLastFolderFilterGeneration(-1),
+		mMarkedDirtyGeneration(-1),
 		mMostFilteredDescendantGeneration(-1),
 		mParent(NULL),
 		mRootViewModel(root_view_model)
@@ -243,8 +245,13 @@ class LLFolderViewModelItemCommon : public LLFolderViewModelItem
 
 	S32	getLastFilterGeneration() const { return mLastFilterGeneration; }
 	S32	getLastFolderFilterGeneration() const { return mLastFolderFilterGeneration; }
+	S32	getMarkedDirtyGeneration() const { return mMarkedDirtyGeneration; }
 	void dirtyFilter()
 	{
+		if(mMarkedDirtyGeneration < 0)
+		{
+			mMarkedDirtyGeneration = mLastFilterGeneration;
+		}
 		mLastFilterGeneration = -1;
 		mLastFolderFilterGeneration = -1;
 
@@ -303,6 +310,7 @@ class LLFolderViewModelItemCommon : public LLFolderViewModelItem
 		mLastFilterGeneration = filter_generation;
 		mStringMatchOffsetFilter = string_offset;
 		mStringFilterSize = string_size;
+		mMarkedDirtyGeneration = -1;
 	}
 
 	void setPassedFolderFilter(bool passed, S32 filter_generation)
@@ -351,7 +359,8 @@ class LLFolderViewModelItemCommon : public LLFolderViewModelItem
 
 	S32							mLastFilterGeneration,
 								mLastFolderFilterGeneration,
-								mMostFilteredDescendantGeneration;
+								mMostFilteredDescendantGeneration,
+								mMarkedDirtyGeneration;
 
 	child_list_t				mChildren;
 	LLFolderViewModelItem*		mParent;
diff --git a/indra/llui/llkeywords.cpp b/indra/llui/llkeywords.cpp
index 75773d7dfde266e70338004f12effc2be86cd0fc..6750ee482ab179f85fe3a1736c3cd21bc338e793 100755
--- a/indra/llui/llkeywords.cpp
+++ b/indra/llui/llkeywords.cpp
@@ -505,7 +505,7 @@ void LLKeywords::findSegments(std::vector<LLTextSegmentPtr>* seg_list, const LLW
 			}
 
 			// Skip white space
-			while( *cur && isspace(*cur) && (*cur != '\n')  )
+			while( *cur && iswspace(*cur) && (*cur != '\n')  )
 			{
 				cur++;
 			}
@@ -548,7 +548,7 @@ void LLKeywords::findSegments(std::vector<LLTextSegmentPtr>* seg_list, const LLW
 		}
 
 		// Skip white space
-		while( *cur && isspace(*cur) && (*cur != '\n')  )
+		while( *cur && iswspace(*cur) && (*cur != '\n')  )
 		{
 			cur++;
 		}
@@ -655,10 +655,10 @@ void LLKeywords::findSegments(std::vector<LLTextSegmentPtr>* seg_list, const LLW
 
 			// check against words
 			llwchar prev = cur > base ? *(cur-1) : 0;
-			if( !isalnum( prev ) && (prev != '_') )
+			if( !iswalnum( prev ) && (prev != '_') )
 			{
 				const llwchar* p = cur;
-				while( isalnum( *p ) || (*p == '_') )
+				while( iswalnum( *p ) || (*p == '_') )
 				{
 					p++;
 				}
diff --git a/indra/llui/lllineeditor.cpp b/indra/llui/lllineeditor.cpp
index b09c9277828f94b8d1d6c40972d510a71192a6d1..45f4272aa7a0b6a702b17ae57078723dd9481780 100755
--- a/indra/llui/lllineeditor.cpp
+++ b/indra/llui/lllineeditor.cpp
@@ -254,6 +254,7 @@ void LLLineEditor::onCommit()
 
 	setControlValue(getValue());
 	LLUICtrl::onCommit();
+	resetDirty();
 
 	// Selection on commit needs to be turned off when evaluating maths
 	// expressions, to allow indication of the error position
diff --git a/indra/llui/llstatbar.cpp b/indra/llui/llstatbar.cpp
index 1bd2bc06f4b1d24841bcb14c7711bdea86572a1b..303417c337288cf6f6aad993df96207e5697e813 100755
--- a/indra/llui/llstatbar.cpp
+++ b/indra/llui/llstatbar.cpp
@@ -638,7 +638,7 @@ void LLStatBar::drawLabelAndValue( F32 value, std::string &label, LLRect &bar_re
 
 void LLStatBar::drawTicks( F32 min, F32 max, F32 value_scale, LLRect &bar_rect )
 {
-	if (mAutoScaleMax || mAutoScaleMin)
+	if (!llisnan(min) && (mAutoScaleMax || mAutoScaleMin))
 	{
 		F32 u = LLSmoothInterpolation::getInterpolant(10.f);
 		mFloatingTargetMinBar = llmin(min, lerp(mFloatingTargetMinBar, min, u));
diff --git a/indra/llui/llstatgraph.cpp b/indra/llui/llstatgraph.cpp
index a44bc1873381a410d0a0f627168d358bbcaad331..98962aff9aa496ee3939c1ca46dd28bb3f5c40e0 100755
--- a/indra/llui/llstatgraph.cpp
+++ b/indra/llui/llstatgraph.cpp
@@ -44,9 +44,10 @@ LLStatGraph::LLStatGraph(const Params& p)
 :	LLView(p),
 	mMin(p.min),
 	mMax(p.max),
-	mPerSec(true),
+	mPerSec(p.per_sec),
 	mPrecision(p.precision),
 	mValue(p.value),
+	mUnits(p.units),
 	mNewStatFloatp(p.stat.count_stat_float)
 {
 	setToolTip(p.name());
diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index 71db0ac03077f419cf5bdefefc8686555c74c200..9b125a85b91095936668b786efec73c531720779 100755
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -1307,14 +1307,14 @@ void LLTextBase::replaceWithSuggestion(U32 index)
 		if ( (it->first <= (U32)mCursorPos) && (it->second >= (U32)mCursorPos) )
 		{
 			deselect();
-
-			// Delete the misspelled word
-			removeStringNoUndo(it->first, it->second - it->first);
-
 			// Insert the suggestion in its place
 			LLWString suggestion = utf8str_to_wstring(mSuggestionList[index]);
 			insertStringNoUndo(it->first, utf8str_to_wstring(mSuggestionList[index]));
 
+			// Delete the misspelled word
+			removeStringNoUndo(it->first + (S32)suggestion.length(), it->second - it->first);
+
+
 			setCursorPos(it->first + (S32)suggestion.length());
 
 			break;
@@ -2381,7 +2381,7 @@ S32 LLTextBase::getDocIndexFromLocalCoord( S32 local_x, S32 local_y, BOOL round,
 	// binary search for line that starts before local_y
 	line_list_t::const_iterator line_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), doc_y, compare_bottom());
 
-	if (line_iter == mLineInfoList.end())
+	if (!mLineInfoList.size() || line_iter == mLineInfoList.end())
 	{
 		return getLength(); // past the end
 	}
@@ -2473,7 +2473,6 @@ LLRect LLTextBase::getDocRectFromDocIndex(S32 pos) const
 	// clamp pos to valid values
 	pos = llclamp(pos, 0, mLineInfoList.back().mDocIndexEnd - 1);
 
-	// find line that contains cursor
 	line_list_t::const_iterator line_iter = std::upper_bound(mLineInfoList.begin(), mLineInfoList.end(), pos, line_end_compare());
 
 	doc_rect.mLeft = line_iter->mRect.mLeft; 
@@ -2649,6 +2648,12 @@ void LLTextBase::changeLine( S32 delta )
         LLRect visible_region = getVisibleDocumentRect();
         S32 new_cursor_pos = getDocIndexFromLocalCoord(mDesiredXPixel,
                                                        mLineInfoList[new_line].mRect.mBottom + mVisibleTextRect.mBottom - visible_region.mBottom, TRUE);
+		S32 actual_line = getLineNumFromDocIndex(new_cursor_pos);
+		if (actual_line != new_line)
+		{
+			// line edge, correcting position by 1 to move onto proper line
+			new_cursor_pos += new_line - actual_line;
+		}
         setCursorPos(new_cursor_pos, true);
     }
 }
diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp
index 576e8f760039fac71a9686b592df601ddb12fdee..cf5fdef539c346db3ebf1ace01de2def482ddc5b 100755
--- a/indra/llui/lltexteditor.cpp
+++ b/indra/llui/lltexteditor.cpp
@@ -1126,7 +1126,6 @@ void LLTextEditor::addChar(llwchar wc)
 	}
 }
 
-
 void LLTextEditor::addLineBreakChar(BOOL group_together)
 {
 	if( !getEnabled() )
diff --git a/indra/llui/llui.h b/indra/llui/llui.h
index b162f2588786c0f8a97b4c5ee72d46353233e713..c727f75c4fa6a953f8abdc244ef05225f4c764e7 100755
--- a/indra/llui/llui.h
+++ b/indra/llui/llui.h
@@ -86,6 +86,7 @@ enum EAcceptance
 {
 	ACCEPT_POSTPONED,	// we are asynchronously determining acceptance
 	ACCEPT_NO,			// Uninformative, general purpose denial.
+	ACCEPT_NO_CUSTOM,	// Denial with custom message.
 	ACCEPT_NO_LOCKED,	// Operation would be valid, but permissions are set to disallow it.
 	ACCEPT_YES_COPY_SINGLE,	// We'll take a copy of a single item
 	ACCEPT_YES_SINGLE,		// Accepted. OK to drag and drop single item here.
diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp
index 6f3122e7a1c9cd934311b5142277fdc73d4bf735..be583c83d835221e30ef107e23d42f16d95f9b10 100755
--- a/indra/llui/llurlentry.cpp
+++ b/indra/llui/llurlentry.cpp
@@ -178,6 +178,12 @@ bool LLUrlEntryBase::isLinkDisabled() const
 	return globally_disabled;
 }
 
+bool LLUrlEntryBase::isWikiLinkCorrect(std::string url)
+{
+	std::string label = getLabelFromWikiLink(url);
+	return (LLUrlRegistry::instance().hasUrl(label)) ? false : true;
+}
+
 static std::string getStringAfterToken(const std::string str, const std::string token)
 {
 	size_t pos = str.find(token);
diff --git a/indra/llui/llurlentry.h b/indra/llui/llurlentry.h
index d4684e2e1e1f04185863f8b36b838c10e781ce34..ffcd45dfdeb311e051e8d05390c2aebfdb6ea72e 100755
--- a/indra/llui/llurlentry.h
+++ b/indra/llui/llurlentry.h
@@ -100,6 +100,8 @@ class LLUrlEntryBase
 
 	bool isLinkDisabled() const;
 
+	bool isWikiLinkCorrect(std::string url);
+
 protected:
 	std::string getIDStringFromUrl(const std::string &url) const;
 	std::string escapeUrl(const std::string &url) const;
diff --git a/indra/llui/llurlregistry.cpp b/indra/llui/llurlregistry.cpp
index bccc646821198499fedad53d6dba908748809941..ef0789e0e42f1267e2dfe6e6d919208ee56e7286 100755
--- a/indra/llui/llurlregistry.cpp
+++ b/indra/llui/llurlregistry.cpp
@@ -45,7 +45,8 @@ LLUrlRegistry::LLUrlRegistry()
 	registerUrl(mUrlEntryIcon);
 	registerUrl(new LLUrlEntrySLURL());
 	registerUrl(new LLUrlEntryHTTP());
-	registerUrl(new LLUrlEntryHTTPLabel());
+	mUrlEntryHTTPLabel = new LLUrlEntryHTTPLabel();
+	registerUrl(mUrlEntryHTTPLabel);
 	registerUrl(new LLUrlEntryAgentCompleteName());
 	registerUrl(new LLUrlEntryAgentDisplayName());
 	registerUrl(new LLUrlEntryAgentUserName());
@@ -64,7 +65,8 @@ LLUrlRegistry::LLUrlRegistry()
 	//LLUrlEntrySL and LLUrlEntrySLLabel have more common pattern, 
 	//so it should be registered in the end of list
 	registerUrl(new LLUrlEntrySL());
-	registerUrl(new LLUrlEntrySLLabel());
+	mUrlEntrySLLabel = new LLUrlEntrySLLabel();
+	registerUrl(mUrlEntrySLLabel);
 	// most common pattern is a URL without any protocol,
 	// e.g., "secondlife.com"
 	registerUrl(new LLUrlEntryHTTPNoProtocol());	
@@ -128,6 +130,11 @@ static bool matchRegex(const char *text, boost::regex regex, U32 &start, U32 &en
 		end--;
 	}
 
+	else if (text[end] == ']' && std::string(text+start, end-start).find('[') == std::string::npos)
+	{
+			end--;
+	}
+
 	return true;
 }
 
@@ -175,6 +182,15 @@ bool LLUrlRegistry::findUrl(const std::string &text, LLUrlMatch &match, const LL
 			// does this match occur in the string before any other match
 			if (start < match_start || match_entry == NULL)
 			{
+
+				if((mUrlEntryHTTPLabel == *it) || (mUrlEntrySLLabel == *it))
+				{
+					if(url_entry && !url_entry->isWikiLinkCorrect(text.substr(start, end - start + 1)))
+					{
+						continue;
+					}
+				}
+
 				match_start = start;
 				match_end = end;
 				match_entry = url_entry;
diff --git a/indra/llui/llurlregistry.h b/indra/llui/llurlregistry.h
index 6270df1bbbf22a7cb57733aded8bbd4dc28d205d..1cb403dfc9f250e78881be0b474046fa7699e4a9 100755
--- a/indra/llui/llurlregistry.h
+++ b/indra/llui/llurlregistry.h
@@ -94,6 +94,8 @@ class LLUrlRegistry : public LLSingleton<LLUrlRegistry>
 
 	std::vector<LLUrlEntryBase *> mUrlEntry;
 	LLUrlEntryBase*	mUrlEntryIcon;
+	LLUrlEntryBase* mUrlEntryHTTPLabel;
+	LLUrlEntryBase* mUrlEntrySLLabel;
 };
 
 #endif
diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm
index 017ea3769cd5003fcd62508bb686c6e4dbcc023e..1bb93d05d6c89edb0d4693a6a1ce0bb32d07056d 100644
--- a/indra/llwindow/llopenglview-objc.mm
+++ b/indra/llwindow/llopenglview-objc.mm
@@ -349,9 +349,14 @@ attributedStringInfo getSegments(NSAttributedString *str)
 	callMiddleMouseUp(mMousePos, mModifiers);
 }
 
+- (void) rightMouseDragged:(NSEvent *)theEvent
+{
+	[self mouseDragged:theEvent];
+}
+
 - (void) otherMouseDragged:(NSEvent *)theEvent
 {
-	
+	[self mouseDragged:theEvent];        
 }
 
 - (void) scrollWheel:(NSEvent *)theEvent
@@ -398,9 +403,35 @@ attributedStringInfo getSegments(NSAttributedString *str)
     }
 }
 
-- (void)flagsChanged:(NSEvent *)theEvent {
+- (void)flagsChanged:(NSEvent *)theEvent
+{
 	mModifiers = [theEvent modifierFlags];
 	callModifier([theEvent modifierFlags]);
+     
+    NSInteger mask = 0;
+    switch([theEvent keyCode])
+    {        
+        case 56:
+            mask = NSShiftKeyMask;
+            break;
+        case 58:
+            mask = NSAlternateKeyMask;
+            break;
+        case 59:
+            mask = NSControlKeyMask;
+            break;
+        default:
+            return;            
+    }
+    
+    if (mModifiers & mask)
+    {
+        callKeyDown([theEvent keyCode], 0);
+    }
+    else
+    {
+        callKeyUp([theEvent keyCode], 0);
+    }  
 }
 
 - (BOOL) acceptsFirstResponder
diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt
index 0c1c3d800e1646aedf25caf4ad87083beef9b71b..5a8fe90bdd3e9d7c22ee1cc63e8d85ec043b65e9 100755
--- a/indra/media_plugins/webkit/CMakeLists.txt
+++ b/indra/media_plugins/webkit/CMakeLists.txt
@@ -121,12 +121,12 @@ if (DARWIN)
   )
 
   # copy the webkit dylib to the build directory
-  add_custom_command(
-    TARGET media_plugin_webkit POST_BUILD
-#    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllqtwebkit.dylib
-    COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/
-    DEPENDS media_plugin_webkit ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
-    )
+#   add_custom_command(
+#     TARGET media_plugin_webkit POST_BUILD
+# #    OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllqtwebkit.dylib
+#     COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/
+#     DEPENDS media_plugin_webkit ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
+#     )
     
 endif (DARWIN)
 
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 3e296c8d9f52f2e345d55b5b85b76de4196f46d9..748bd90c61a109d54eacb2574ba04ca955f5cf90 100755
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -47,6 +47,8 @@ include(VisualLeakDetector)
 include(GLOD)
 include(CMakeCopyIfDifferent)
 include(LLAppearance)
+include(PNG)
+include(ZLIB)
 
 if (NOT HAVOK_TPV)
    # When using HAVOK_TPV, the library is precompiled, so no need for this
@@ -250,6 +252,7 @@ set(viewer_SOURCE_FILES
     llfloaterinspect.cpp
     llfloaterinventory.cpp
     llfloaterjoystick.cpp
+    llfloaterlagmeter.cpp
     llfloaterland.cpp
     llfloaterlandholdings.cpp
     llfloatermap.cpp
@@ -857,6 +860,7 @@ set(viewer_HEADER_FILES
     llfloaterinspect.h
     llfloaterinventory.h
     llfloaterjoystick.h
+    llfloaterlagmeter.h
     llfloaterland.h
     llfloaterlandholdings.h
     llfloatermap.h
@@ -1891,13 +1895,37 @@ else (WINDOWS)
         )
 endif (WINDOWS)
 
-# *NOTE - this list is very sensitive to ordering, test carefully on all
+# *NOTE: - this list is very sensitive to ordering, test carefully on all
 # platforms if you change the releative order of the entries here.
 # In particular, cmake 2.6.4 (when buidling with linux/makefile generators)
 # appears to sometimes de-duplicate redundantly listed dependencies improperly.
 # To work around this, higher level modules should be listed before the modules
 # that they depend upon. -brad
+#
+# *NOTE:  On mixing system shared libraries and updated static archives.
+# We use a number of libraries that have an existence as system libraries,
+# internal-use libraries and applications libraries.  The most-referenced
+# one of these being libz where you can find four or more versions in play
+# at once.  On Linux, libz can be found at link and run time via a number
+# of paths:
+#     
+#      => -lfreetype
+#        => libz.so.1 (on install machine, not build)
+#      => -lSDL
+#        => libz.so.1 (on install machine, not build)
+#      => -lgdk-x11-2.0
+#        => libz.so.1
+#      => -lz
+#
+# We generally want the newest version of the library to provide all symbol
+# resolution.  To that end, when using static archives, the *_PRELOAD_ARCHIVES
+# variables, PNG_PRELOAD_ARCHIVES and ZLIB_PRELOAD_ARCHIVES, get the archives
+# dumped into the target binary and runtime lookup will find the most
+# modern version.
+
 target_link_libraries(${VIEWER_BINARY_NAME}
+    ${PNG_PRELOAD_ARCHIVES}
+    ${ZLIB_PRELOAD_ARCHIVES}
     ${UPDATER_LIBRARIES}
     ${GOOGLE_PERFTOOLS_LIBRARIES}
     ${LLAUDIO_LIBRARIES}
@@ -1924,6 +1952,7 @@ target_link_libraries(${VIEWER_BINARY_NAME}
     ${BOOST_PROGRAM_OPTIONS_LIBRARY}
     ${BOOST_REGEX_LIBRARY}
     ${BOOST_CONTEXT_LIBRARY}
+    ${BOOST_COROUTINE_LIBRARY}
     ${DBUSGLIB_LIBRARIES}
     ${OPENGL_LIBRARIES}
     ${FMODWRAPPER_LIBRARY} # must come after LLAudio
diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt
index 35c6ac5179bf486944e8f38a19d468a9ad6164e0..03d7b8fb9b85130bd5e06e4ab23d65e9bb6a08ed 100644
--- a/indra/newview/VIEWER_VERSION.txt
+++ b/indra/newview/VIEWER_VERSION.txt
@@ -1 +1 @@
-3.7.14
+3.7.15
diff --git a/indra/newview/app_settings/keywords.ini b/indra/newview/app_settings/keywords.ini
index 17c70ef1c52def63f980f62bc21dd138a2a0eefe..4972472f674e2d87a931deea1a208dde39a72cc4 100755
--- a/indra/newview/app_settings/keywords.ini
+++ b/indra/newview/app_settings/keywords.ini
@@ -628,22 +628,22 @@ RCERR_CAST_TIME_EXCEEDED    TODO: add documentation
 RCERR_SIM_PERF_LOW          TODO: add documentation
 RCERR_UNKNOWN               TODO: add documentation
 
-ESTATE_ACCESS_ALLOWED_AGENT_ADD    TODO: add documentation
-ESTATE_ACCESS_ALLOWED_AGENT_REMOVE TODO: add documentation
-ESTATE_ACCESS_ALLOWED_GROUP_ADD    TODO: add documentation
-ESTATE_ACCESS_ALLOWED_GROUP_REMOVE TODO: add documentation
-ESTATE_ACCESS_BANNED_AGENT_ADD     TODO: add documentation
-ESTATE_ACCESS_BANNED_AGENT_REMOVE  TODO: add documentation
+ESTATE_ACCESS_ALLOWED_AGENT_ADD    Passed to llManageEstateAccess to add the agent to this estate's Allowed Residents list
+ESTATE_ACCESS_ALLOWED_AGENT_REMOVE Passed to llManageEstateAccess to remove the agent from this estate's Allowed Residents list
+ESTATE_ACCESS_ALLOWED_GROUP_ADD    Passed to llManageEstateAccess to add the group to this estate's Allowed groups list
+ESTATE_ACCESS_ALLOWED_GROUP_REMOVE Passed to llManageEstateAccess to remove the group from this estate's Allowed groups list 
+ESTATE_ACCESS_BANNED_AGENT_ADD     Passed to llManageEstateAccess to add the agent to this estate's Banned residents list
+ESTATE_ACCESS_BANNED_AGENT_REMOVE  Passed to llManageEstateAccess to remove the agent from this estate's Banned residents list
 
 DENSITY 			TODO: add documentation
 FRICTION 			TODO: add documentation
 RESTITUTION 		TODO: add documentation
 GRAVITY_MULTIPLIER 	TODO: add documentation
 
-KFM_COMMAND			TODO: add documentation
-KFM_CMD_PLAY		TODO: add documentation
-KFM_CMD_STOP		TODO: add documentation
-KFM_CMD_PAUSE		TODO: add documentation
+KFM_COMMAND			Command used in the options parameter of llSetKeyframedMotion, followed by one of: KFM_CMD_STOP, KFM_CMD_PLAY, KFM_CMD_PAUSE to play, stop or pause the motion
+KFM_CMD_PLAY		Command used in the options parameter llSetKeyframedMotion. Resumes the animation previously stopped by KFM_CMD_STOP or KFM_CMD_PAUSE
+KFM_CMD_STOP		Command used in the options parameter llSetKeyframedMotion. Stops the animation and resets it at the start of motion
+KFM_CMD_PAUSE		Command used in the options parameter llSetKeyframedMotion. Stops the animation but doesn t reset it at the start of motion. 
 KFM_CMD_SET_MODE	TODO: add documentation
 KFM_MODE			TODO: add documentation
 KFM_FORWARD			TODO: add documentation
@@ -657,18 +657,18 @@ KFM_TRANSLATION		TODO: add documentation
 CHARACTER_CMD_STOP	TODO: add documentation
 CHARACTER_CMD_JUMP	TODO: add documentation
 
-CHARACTER_DESIRED_SPEED		TODO: add documentation
-CHARACTER_RADIUS			TODO: add documentation
-CHARACTER_LENGTH			TODO: add documentation
-CHARACTER_ORIENTATION		TODO: add documentation
-CHARACTER_AVOIDANCE_MODE	TODO: add documentation
+CHARACTER_DESIRED_SPEED		Constant used to indicate that the following argument is the desired speed for a Pathfinding character.
+CHARACTER_RADIUS			Constant used to indicate that the following argument is the radius of the capsule for a Pathfinding character. 
+CHARACTER_LENGTH			Constant used to indicate that the following argument is the length of the capsule for a Pathfinding character. 
+CHARACTER_ORIENTATION		Constant used to indicate that the following argument is the orientation of the capsule for a Pathfinding character. 
+CHARACTER_AVOIDANCE_MODE	Allows you to specify that a character should not try to avoid other characters, should not try to avoid dynamic obstacles, or both. Is combined with a mask bit flags
 PURSUIT_OFFSET				TODO: add documentation
 REQUIRE_LINE_OF_SIGHT		TODO: add documentation
 PURSUIT_FUZZ_FACTOR			TODO: add documentation
 PURSUIT_INTERCEPT			TODO: add documentation
 FORCE_DIRECT_PATH			TODO: add documentation
-VERTICAL					TODO: add documentation
-HORIZONTAL					TODO: add documentation
+VERTICAL					Constant to indicate that the orientation of the capsule for a Pathfinding character is vertical. 
+HORIZONTAL					Constant to indicate that the orientation of the capsule for a Pathfinding character is horizontal. 
 AVOID_CHARACTERS			TODO: add documentation
 AVOID_DYNAMIC_OBSTACLES		TODO: add documentation
 
@@ -683,12 +683,12 @@ PU_FAILURE_UNREACHABLE           Goal is no longer reachable for some reason - e
 PU_GOAL_REACHED                  Character has reached the goal and will stop or choose a new goal (if wandering).
 PU_SLOWDOWN_DISTANCE_REACHED     Character is near current goal.
 
-CHARACTER_TYPE			TODO: add documentation
-CHARACTER_TYPE_A		TODO: add documentation
-CHARACTER_TYPE_B		TODO: add documentation
-CHARACTER_TYPE_C		TODO: add documentation
-CHARACTER_TYPE_D		TODO: add documentation
-CHARACTER_TYPE_NONE		TODO: add documentation
+CHARACTER_TYPE			Specifies which walkability coefficient will be used by this character. Used in combination with one of the character type flags.
+CHARACTER_TYPE_A		Used for character types that you prefer move in a way consistent with humanoids. 
+CHARACTER_TYPE_B		Used for character types that you prefer move in a way consistent with wild animals or off road vehicles. 
+CHARACTER_TYPE_C		Used for mechanical character types or road going vehicles. 
+CHARACTER_TYPE_D		Used for character types that are not consistent with the A, B, or C type. 
+CHARACTER_TYPE_NONE		Used to set no specific character type. 
 
 TRAVERSAL_TYPE			TODO: add documentation
 TRAVERSAL_TYPE_SLOW		TODO: add documentation
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 000362ebfd6657d6340f8e3692bf95149f9f074d..86a7def14f92e5b299106f07023af014e8d2e253 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -13212,7 +13212,7 @@
       <key>Value</key>
       <string>Default</string>
     </map>
-    <key>UseExternalBrowser</key>
+    <key>UseExternalBrowser</key> <!-- deprecated (see MAINT-4127) -->
     <map>
       <key>Comment</key>
       <string>Use default browser when opening web pages instead of in-world browser.</string>
@@ -13223,6 +13223,17 @@
       <key>Value</key>
       <boolean>1</boolean>
     </map>
+    <key>PreferredBrowserBehavior</key>
+    <map>
+      <key>Comment</key>
+      <string>Use system browser for any links (0), use builtin browser for SL links and system one for others (1) or use builtin browser only (2).</string>
+      <key>Persist</key>
+      <integer>1</integer>
+      <key>Type</key>
+      <string>U32</string>
+      <key>Value</key>
+      <integer>1</integer>
+    </map>
     <key>UseFreezeFrame</key>
     <map>
       <key>Comment</key>
@@ -14213,6 +14224,17 @@
       <key>Value</key>
       <integer>0</integer>
     </map>
+    <key>LeaveMouselook</key>
+    <map>
+      <key>Comment</key>
+      <string>Exit Mouselook mode via S or Down Arrow keys while sitting </string>
+      <key>Persist</key>
+      <integer>1</integer>
+      <key>Type</key>
+      <string>Boolean</string>
+      <key>Value</key>
+      <integer>0</integer>
+    </map>
     <key>TextureLoggingThreshold</key>
     <map>
       <key>Comment</key>
@@ -15451,6 +15473,17 @@
       <key>Value</key>
       <string />
     </map>
+  <key>WearFolderLimit</key>
+  <map>
+    <key>Comment</key>
+    <string>Limits number of items in the folder that can be replaced/added to current outfit</string>
+    <key>Persist</key>
+    <integer>1</integer>
+    <key>Type</key>
+    <string>U32</string>
+    <key>Value</key>
+    <integer>125</integer>
+  </map>
     <key>EveryoneCopy</key>
       <map>
         <key>Comment</key>
diff --git a/indra/newview/icons/beta/secondlife_128.png b/indra/newview/icons/beta/secondlife_128.png
index fa42aa764bd2eb9ba528a264aa5cf9dc7ca82831..af5ae633359cd2ffa3c546d21307f901ab07bb2a 100755
Binary files a/indra/newview/icons/beta/secondlife_128.png and b/indra/newview/icons/beta/secondlife_128.png differ
diff --git a/indra/newview/icons/beta/secondlife_16.png b/indra/newview/icons/beta/secondlife_16.png
index ff648cf3fcd6f178a8211ef0d63f48c766028c08..9e6305d98ffcf057391b876f095400c102aefa84 100755
Binary files a/indra/newview/icons/beta/secondlife_16.png and b/indra/newview/icons/beta/secondlife_16.png differ
diff --git a/indra/newview/icons/beta/secondlife_256.png b/indra/newview/icons/beta/secondlife_256.png
index 245e2c3e9f6ccff71e98f7777643bc2ae708b48b..b0814fc18057d2ba03f707a589a8cb70ca2df159 100755
Binary files a/indra/newview/icons/beta/secondlife_256.png and b/indra/newview/icons/beta/secondlife_256.png differ
diff --git a/indra/newview/icons/beta/secondlife_32.png b/indra/newview/icons/beta/secondlife_32.png
index fd7f46bf4d7a98724a5c7a7ef97242b81013d6b6..a00b3cf53cff7d0f5fc431733f1c02fb08db0135 100755
Binary files a/indra/newview/icons/beta/secondlife_32.png and b/indra/newview/icons/beta/secondlife_32.png differ
diff --git a/indra/newview/icons/beta/secondlife_48.png b/indra/newview/icons/beta/secondlife_48.png
index cc3a795e2b610459c17dfab6540dc6e53f231d7d..551587b1cd78a6b24a06ac42a87b2302f754b17a 100755
Binary files a/indra/newview/icons/beta/secondlife_48.png and b/indra/newview/icons/beta/secondlife_48.png differ
diff --git a/indra/newview/icons/beta/secondlife_512.png b/indra/newview/icons/beta/secondlife_512.png
index a959bd9a9ec12e81fbd7ae1f264a70ab5ca966f1..99226de74e9bca136b09a92ee52fcd3d9e2e6352 100755
Binary files a/indra/newview/icons/beta/secondlife_512.png and b/indra/newview/icons/beta/secondlife_512.png differ
diff --git a/indra/newview/icons/project/secondlife_128.png b/indra/newview/icons/project/secondlife_128.png
index d67b8228f96e017870dac4f996f0e2f27bdbc235..b1b49973064e58488ac98e5dc28b8ce3763b3766 100755
Binary files a/indra/newview/icons/project/secondlife_128.png and b/indra/newview/icons/project/secondlife_128.png differ
diff --git a/indra/newview/icons/project/secondlife_16.png b/indra/newview/icons/project/secondlife_16.png
index 91493a033c93e2e33b889b77dbc1654bc2f64f0c..7d3d74b5344771afbd9f1ff1f8d75a441284f5ee 100755
Binary files a/indra/newview/icons/project/secondlife_16.png and b/indra/newview/icons/project/secondlife_16.png differ
diff --git a/indra/newview/icons/project/secondlife_256.png b/indra/newview/icons/project/secondlife_256.png
index cccfaf7cbafae6a1ebc16560f227128f86e544bb..88ad9592751afe6294fa4f15fbc280e82e2b13b8 100755
Binary files a/indra/newview/icons/project/secondlife_256.png and b/indra/newview/icons/project/secondlife_256.png differ
diff --git a/indra/newview/icons/project/secondlife_32.png b/indra/newview/icons/project/secondlife_32.png
index ad7b33f78931cc7603604de90ef29d2f72f51032..e55f75e1ddbba4df5e5ef466aa124ffcf873d8b7 100755
Binary files a/indra/newview/icons/project/secondlife_32.png and b/indra/newview/icons/project/secondlife_32.png differ
diff --git a/indra/newview/icons/project/secondlife_48.png b/indra/newview/icons/project/secondlife_48.png
index 104a931fbc92167e3f9c514b7b56ef4cba01849c..c29703e1649860de4544dd8660214d466ce1dbca 100755
Binary files a/indra/newview/icons/project/secondlife_48.png and b/indra/newview/icons/project/secondlife_48.png differ
diff --git a/indra/newview/icons/project/secondlife_512.png b/indra/newview/icons/project/secondlife_512.png
index 74e2fa9bc65a3f02dccf53a0add34cc9624ad569..4fa3474d701752310676d1b2b69bccd9d53c1f90 100755
Binary files a/indra/newview/icons/project/secondlife_512.png and b/indra/newview/icons/project/secondlife_512.png differ
diff --git a/indra/newview/icons/release/secondlife_128.png b/indra/newview/icons/release/secondlife_128.png
index bcf94dcae8fa6b7fda4eab2d75deaf8b756fac26..4c9544f49837be4dec00a426239a9191f9612f92 100755
Binary files a/indra/newview/icons/release/secondlife_128.png and b/indra/newview/icons/release/secondlife_128.png differ
diff --git a/indra/newview/icons/release/secondlife_16.png b/indra/newview/icons/release/secondlife_16.png
index 90311ea8b0e06d238ebfe7ba829c91d695e4b6e4..bb3168b8be416de728cf281814b56592a030d064 100755
Binary files a/indra/newview/icons/release/secondlife_16.png and b/indra/newview/icons/release/secondlife_16.png differ
diff --git a/indra/newview/icons/release/secondlife_256.png b/indra/newview/icons/release/secondlife_256.png
index a89fb4c74f1234bcc7a4efd522b1d02f42f66bf6..bece338a909ad32f782943ef7441fee930809191 100755
Binary files a/indra/newview/icons/release/secondlife_256.png and b/indra/newview/icons/release/secondlife_256.png differ
diff --git a/indra/newview/icons/release/secondlife_32.png b/indra/newview/icons/release/secondlife_32.png
index 530e8fc80ccf073fef4816c8f8152f61d7f43abc..736359c1475427ce71ef5e9fd9baa2de433fdf00 100755
Binary files a/indra/newview/icons/release/secondlife_32.png and b/indra/newview/icons/release/secondlife_32.png differ
diff --git a/indra/newview/icons/release/secondlife_48.png b/indra/newview/icons/release/secondlife_48.png
index cb33c51f8a6edd5e2913c120ae16c3e66616d66c..07d39ae5854c4d6d9a67b85d21abed1c4d2353bb 100755
Binary files a/indra/newview/icons/release/secondlife_48.png and b/indra/newview/icons/release/secondlife_48.png differ
diff --git a/indra/newview/icons/release/secondlife_512.png b/indra/newview/icons/release/secondlife_512.png
index f291e60586ec755259e20d892783ed347d19d701..53d1643f45b8f276f661798ee7acd87871cbd7d3 100755
Binary files a/indra/newview/icons/release/secondlife_512.png and b/indra/newview/icons/release/secondlife_512.png differ
diff --git a/indra/newview/icons/test/secondlife_128.png b/indra/newview/icons/test/secondlife_128.png
index 019f65db2885f4dd120b59681d7fdddd46c84bcb..486772b6d3e9c37d75b2a5e2715f1a1066a7f1d4 100755
Binary files a/indra/newview/icons/test/secondlife_128.png and b/indra/newview/icons/test/secondlife_128.png differ
diff --git a/indra/newview/icons/test/secondlife_16.png b/indra/newview/icons/test/secondlife_16.png
index 91493a033c93e2e33b889b77dbc1654bc2f64f0c..7d3d74b5344771afbd9f1ff1f8d75a441284f5ee 100755
Binary files a/indra/newview/icons/test/secondlife_16.png and b/indra/newview/icons/test/secondlife_16.png differ
diff --git a/indra/newview/icons/test/secondlife_256.png b/indra/newview/icons/test/secondlife_256.png
index f402424c51e957af470ac242b9a94029656625d3..56c781788d594e8b516c76dcec84266fc3774d28 100755
Binary files a/indra/newview/icons/test/secondlife_256.png and b/indra/newview/icons/test/secondlife_256.png differ
diff --git a/indra/newview/icons/test/secondlife_32.png b/indra/newview/icons/test/secondlife_32.png
index 80d6efe13d8bbd28d44d6a1a4a7bce001b5a4437..476029db61a079734e0e4c44dc4b129280d28f8f 100755
Binary files a/indra/newview/icons/test/secondlife_32.png and b/indra/newview/icons/test/secondlife_32.png differ
diff --git a/indra/newview/icons/test/secondlife_48.png b/indra/newview/icons/test/secondlife_48.png
index bba938feba214f83099956d36aeb9a2fd8912a5d..d7de7849f90b7cf1c4f54359d208e0e27c1eef88 100755
Binary files a/indra/newview/icons/test/secondlife_48.png and b/indra/newview/icons/test/secondlife_48.png differ
diff --git a/indra/newview/icons/test/secondlife_512.png b/indra/newview/icons/test/secondlife_512.png
index 10ff65312b6c5801e28a1734a4412a9a6ba28d46..a4b1e4974c6661aec54b0aee7e0bc9571957fec4 100755
Binary files a/indra/newview/icons/test/secondlife_512.png and b/indra/newview/icons/test/secondlife_512.png differ
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index bd6025feead89bdcf7e5618669f51a6b5918fde1..ef1d528aa2b1ca379c539a4d90c0ecec387cdcaa 100755
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -3712,6 +3712,12 @@ bool LLAgent::teleportCore(bool is_local)
 		return false;
 	}
 
+	// force stand up and stop a sitting animation (if any), see MAINT-3969
+	if (isAgentAvatarValid() && gAgentAvatarp->getParent() && gAgentAvatarp->isSitting())
+	{
+		gAgentAvatarp->getOffObject();
+	}
+
 #if 0
 	// This should not exist. It has been added, removed, added, and now removed again.
 	// This change needs to come from the simulator. Otherwise, the agent ends up out of
@@ -3887,7 +3893,7 @@ void LLAgent::teleportRequest(
 	bool look_at_from_camera)
 {
 	LLViewerRegion* regionp = getRegion();
-	bool is_local = (region_handle == to_region_handle(getPositionGlobal()));
+	bool is_local = (region_handle == regionp->getHandle());
 	if(regionp && teleportCore(is_local))
 	{
 		LL_INFOS("") << "TeleportLocationRequest: '" << region_handle << "':"
@@ -4054,7 +4060,12 @@ void LLAgent::teleportViaLocationLookAt(const LLVector3d& pos_global)
 void LLAgent::doTeleportViaLocationLookAt(const LLVector3d& pos_global)
 {
 	mbTeleportKeepsLookAt = true;
-	gAgentCamera.setFocusOnAvatar(FALSE, ANIMATE);	// detach camera form avatar, so it keeps direction
+
+	if(!gAgentCamera.isfollowCamLocked())
+	{
+		gAgentCamera.setFocusOnAvatar(FALSE, ANIMATE);	// detach camera form avatar, so it keeps direction
+	}
+
 	U64 region_handle = to_region_handle(pos_global);
 	LLVector3 pos_local = (LLVector3)(pos_global - from_region_handle(region_handle));
 	teleportRequest(region_handle, pos_local, getTeleportKeepsLookAt());
@@ -4105,8 +4116,8 @@ void LLAgent::stopCurrentAnimations()
 		      anim_it != gAgentAvatarp->mPlayingAnimations.end();
 		      anim_it++)
 		{
-			if (anim_it->first ==
-			    ANIM_AGENT_SIT_GROUND_CONSTRAINED)
+			if ((anim_it->first == ANIM_AGENT_DO_NOT_DISTURB)||
+				(anim_it->first == ANIM_AGENT_SIT_GROUND_CONSTRAINED))
 			{
 				// don't cancel a ground-sit anim, as viewers
 				// use this animation's status in
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp
index 7b0496ea457c214dec5ae66618dd2c72d0a3aedf..2356a8468848a0297f582227600b66c65531f415 100755
--- a/indra/newview/llagentcamera.cpp
+++ b/indra/newview/llagentcamera.cpp
@@ -2721,6 +2721,11 @@ void LLAgentCamera::lookAtLastChat()
 	}
 }
 
+bool LLAgentCamera::isfollowCamLocked()
+{
+	return mFollowCam.getPositionLocked();
+}
+
 BOOL LLAgentCamera::setPointAt(EPointAtType target_type, LLViewerObject *object, LLVector3 position)
 {
 	// disallow pointing at attachments and avatars
diff --git a/indra/newview/llagentcamera.h b/indra/newview/llagentcamera.h
index 00fa6ea189095d0a5c269cc8942b539992f8483c..4d0f9a80de3289f6287b370e05efce3ca32ba1e9 100755
--- a/indra/newview/llagentcamera.h
+++ b/indra/newview/llagentcamera.h
@@ -155,6 +155,7 @@ class LLAgentCamera
 	//--------------------------------------------------------------------
 public:
 	void			setUsingFollowCam(bool using_follow_cam);
+	bool 			isfollowCamLocked();
 private:
 	LLFollowCam 	mFollowCam; 			// Ventrella
 
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 215699dcc94ae03ffebf9a58f6c5c54d2d6b69a7..3928bbadc816cdf2d0ff4fde159f034ab8077c44 100755
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -1040,6 +1040,7 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it
 	if (mismatched == 0)
 	{
 		LL_DEBUGS("Avatar") << "no changes, bailing out" << LL_ENDL;
+		mCOFChangeInProgress = false;
 		return;
 	}
 	
diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp
index da66ea357a8a754e187bfb5d6253c3451530daff..96de15bf75ce765bc0dd6f577ae64e574bb994de 100755
--- a/indra/newview/llaisapi.cpp
+++ b/indra/newview/llaisapi.cpp
@@ -380,8 +380,15 @@ void AISUpdate::parseMeta(const LLSD& update)
 		 it != cat_ids.end(); ++it)
 	{
 		LLViewerInventoryCategory *cat = gInventory.getCategory(*it);
-		mCatDescendentDeltas[cat->getParentUUID()]--;
-		mObjectsDeletedIds.insert(*it);
+		if(cat)
+		{
+			mCatDescendentDeltas[cat->getParentUUID()]--;
+			mObjectsDeletedIds.insert(*it);
+		}
+		else
+		{
+			LL_WARNS("Inventory") << "removed category not found " << *it << LL_ENDL;
+		}
 	}
 
 	// parse _categories_items_removed -> mObjectsDeletedIds
@@ -392,8 +399,15 @@ void AISUpdate::parseMeta(const LLSD& update)
 		 it != item_ids.end(); ++it)
 	{
 		LLViewerInventoryItem *item = gInventory.getItem(*it);
-		mCatDescendentDeltas[item->getParentUUID()]--;
-		mObjectsDeletedIds.insert(*it);
+		if(item)
+		{
+			mCatDescendentDeltas[item->getParentUUID()]--;
+			mObjectsDeletedIds.insert(*it);
+		}
+		else
+		{
+			LL_WARNS("Inventory") << "removed item not found " << *it << LL_ENDL;
+		}
 	}
 
 	// parse _broken_links_removed -> mObjectsDeletedIds
@@ -403,8 +417,15 @@ void AISUpdate::parseMeta(const LLSD& update)
 		 it != broken_link_ids.end(); ++it)
 	{
 		LLViewerInventoryItem *item = gInventory.getItem(*it);
-		mCatDescendentDeltas[item->getParentUUID()]--;
-		mObjectsDeletedIds.insert(*it);
+		if(item)
+		{
+			mCatDescendentDeltas[item->getParentUUID()]--;
+			mObjectsDeletedIds.insert(*it);
+		}
+		else
+		{
+			LL_WARNS("Inventory") << "broken link not found " << *it << LL_ENDL;
+		}
 	}
 
 	// parse _created_items
@@ -795,7 +816,7 @@ void AISUpdate::doUpdate()
 		// Since this is a copy of the category *before* the accounting update, above,
 		// we need to transfer back the updated version/descendent count.
 		LLViewerInventoryCategory* curr_cat = gInventory.getCategory(new_category->getUUID());
-		if (NULL == curr_cat)
+		if (!curr_cat)
 		{
 			LL_WARNS("Inventory") << "Failed to update unknown category " << new_category->getUUID() << LL_ENDL;
 		}
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 9451a303418fb2ec031e577193618b9e61ed192a..e35cf011c7356d8f10d31f43e309af8bd932af7d 100755
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -1710,8 +1710,16 @@ bool LLAppearanceMgr::getCanAddToCOF(const LLUUID& outfit_cat_id)
 		return false;
 	}
 
+	LLInventoryModel::cat_array_t cats;
+	LLInventoryModel::item_array_t items;
 	LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false);
-	return gInventory.hasMatchingDirectDescendent(outfit_cat_id, not_worn);
+	gInventory.collectDescendentsIf(outfit_cat_id,
+		cats,
+		items,
+		LLInventoryModel::EXCLUDE_TRASH,
+		not_worn);
+
+	return items.size() > 0;
 }
 
 bool LLAppearanceMgr::getCanReplaceCOF(const LLUUID& outfit_cat_id)
@@ -1729,8 +1737,16 @@ bool LLAppearanceMgr::getCanReplaceCOF(const LLUUID& outfit_cat_id)
 	}
 
 	// Check whether the outfit contains any wearables we aren't wearing already (STORM-702).
-	LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ true);
-	return gInventory.hasMatchingDirectDescendent(outfit_cat_id, not_worn);
+	LLInventoryModel::cat_array_t cats;
+	LLInventoryModel::item_array_t items;
+	LLFindWearablesEx is_worn(/*is_worn=*/ false, /*include_body_parts=*/ true);
+	gInventory.collectDescendentsIf(outfit_cat_id,
+		cats,
+		items,
+		LLInventoryModel::EXCLUDE_TRASH,
+		is_worn);
+
+	return items.size() > 0;
 }
 
 void LLAppearanceMgr::purgeBaseOutfitLink(const LLUUID& category, LLPointer<LLInventoryCallback> cb)
@@ -4040,17 +4056,33 @@ class LLWearFolderHandler : public LLCommandHandler
 	bool handle(const LLSD& tokens, const LLSD& query_map,
 				LLMediaCtrl* web)
 	{
-		LLPointer<LLInventoryCategory> category = new LLInventoryCategory(query_map["folder_id"],
-																		  LLUUID::null,
-																		  LLFolderType::FT_CLOTHING,
-																		  "Quick Appearance");
-		LLSD::UUID folder_uuid = query_map["folder_id"].asUUID();
-		if ( gInventory.getCategory( folder_uuid ) != NULL )
-		{
-			LLAppearanceMgr::getInstance()->wearInventoryCategory(category, true, false);
+		LLSD::UUID folder_uuid;
 
-			// *TODOw: This may not be necessary if initial outfit is chosen already -- josh
-			gAgent.setOutfitChosen(TRUE);
+		if (folder_uuid.isNull() && query_map.has("folder_name"))
+		{
+			std::string outfit_folder_name = query_map["folder_name"];
+			folder_uuid = findDescendentCategoryIDByName(
+				gInventory.getLibraryRootFolderID(),
+				outfit_folder_name);	
+		}
+		if (folder_uuid.isNull() && query_map.has("folder_id"))
+		{
+			folder_uuid = query_map["folder_id"].asUUID();
+		}
+		
+		if (folder_uuid.notNull())
+		{
+			LLPointer<LLInventoryCategory> category = new LLInventoryCategory(folder_uuid,
+																			  LLUUID::null,
+																			  LLFolderType::FT_CLOTHING,
+																			  "Quick Appearance");
+			if ( gInventory.getCategory( folder_uuid ) != NULL )
+			{
+				LLAppearanceMgr::getInstance()->wearInventoryCategory(category, true, false);
+				
+				// *TODOw: This may not be necessary if initial outfit is chosen already -- josh
+				gAgent.setOutfitChosen(TRUE);
+			}
 		}
 
 		// release avatar picker keyboard focus
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 24150daea4da2ebd5f2344ffbb65595e514a0040..3a5008507ab31f4368232c92732f5150862ef2a5 100755
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -3368,11 +3368,11 @@ LLSD LLAppViewer::getViewerInfo() const
 	// TODO: Implement media plugin version query
 	info["QT_WEBKIT_VERSION"] = "4.7.1 (version number hard-coded)";
 
-	if (gPacketsIn > 0)
+	S32 packets_in = LLViewerStats::instance().getRecording().getSum(LLStatViewer::PACKETS_IN);
+	if (packets_in > 0)
 	{
-		LLTrace::Recording& last_frame = LLTrace::get_frame_recording().getLastRecording();
-		info["PACKETS_LOST"] = last_frame.getSum(LLStatViewer::PACKETS_LOST);
-		info["PACKETS_IN"] = last_frame.getSum(LLStatViewer::PACKETS_IN);
+		info["PACKETS_LOST"] = LLViewerStats::instance().getRecording().getSum(LLStatViewer::PACKETS_LOST);
+		info["PACKETS_IN"] = packets_in;
 		info["PACKETS_PCT"] = 100.f*info["PACKETS_LOST"].asReal() / info["PACKETS_IN"].asReal();
 	}
 
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp
index dad85a016c071c69adbe595f901bd8ba97bb5b0b..8235b131181e17dccffb17a71b41557269b3979c 100755
--- a/indra/newview/llavataractions.cpp
+++ b/indra/newview/llavataractions.cpp
@@ -143,7 +143,7 @@ void LLAvatarActions::removeFriendsDialog(const uuid_vec_t& ids)
 		LLAvatarName av_name;
 		if(LLAvatarNameCache::get(agent_id, &av_name))
 		{
-			args["NAME"] = av_name.getDisplayName();
+			args["NAME"] = av_name.getCompleteName();
 		}
 
 		msgType = "RemoveFromFriends";
@@ -381,7 +381,7 @@ void LLAvatarActions::showOnMap(const LLUUID& id)
 	}
 
 	gFloaterWorldMap->trackAvatar(id, av_name.getDisplayName());
-	LLFloaterReg::showInstance("world_map");
+	LLFloaterReg::showInstance("world_map", "center");
 }
 
 // static
@@ -533,6 +533,14 @@ void LLAvatarActions::share(const LLUUID& id)
 	{
 		// we should always get here, but check to verify anyways
 		LLIMModel::getInstance()->addMessage(session_id, SYSTEM_FROM, LLUUID::null, LLTrans::getString("share_alert"), false);
+
+		LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(session_id);
+		if (session_floater && session_floater->isMinimized())
+		{
+			session_floater->setMinimized(false);
+		}
+		LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container");
+		im_container->selectConversationPair(session_id, true);
 	}
 }
 
diff --git a/indra/newview/llavatariconctrl.cpp b/indra/newview/llavatariconctrl.cpp
index 746b541f9d2ce76e8d50fad1900197881b5d5d21..b89b0d99004d404e493a1be460cc86d08764fc73 100755
--- a/indra/newview/llavatariconctrl.cpp
+++ b/indra/newview/llavatariconctrl.cpp
@@ -247,7 +247,7 @@ void LLAvatarIconCtrl::setValue(const LLSD& value)
 	{
 		LLAvatarPropertiesProcessor* app =
 			LLAvatarPropertiesProcessor::getInstance();
-		if (mAvatarId.notNull())
+		if (mAvatarId.notNull() && mAvatarId != value.asUUID())
 		{
 			app->removeObserver(mAvatarId, this);
 		}
@@ -255,6 +255,7 @@ void LLAvatarIconCtrl::setValue(const LLSD& value)
 		if (mAvatarId != value.asUUID())
 		{
 			mAvatarId = value.asUUID();
+			app->addObserver(mAvatarId, this);
 
 			// *BUG: This will return stale icons if a user changes their
 			// profile picture. However, otherwise we send too many upstream
@@ -270,7 +271,7 @@ void LLAvatarIconCtrl::setValue(const LLSD& value)
 				// People API, rather than sending AvatarPropertyRequest
 				// messages.  People API already hits the user table.
 				LLIconCtrl::setValue(mDefaultIconName);
-				app->addObserver(mAvatarId, this);
+				// duplicated requests are filtered later if there are any
 				app->sendAvatarPropertiesRequest(mAvatarId);
 			}
 		}
diff --git a/indra/newview/lldrawpool.cpp b/indra/newview/lldrawpool.cpp
index 5b151bdcda15ed053834e3f49538d4e6bfc4dd27..f74164aea6b234e5cf1ea0f50210bcec8b5789b1 100755
--- a/indra/newview/lldrawpool.cpp
+++ b/indra/newview/lldrawpool.cpp
@@ -443,7 +443,7 @@ void LLRenderPass::pushMaskBatches(U32 type, U32 mask, BOOL texture, BOOL batch_
 	}
 }
 
-void LLRenderPass::applyModelMatrix(LLDrawInfo& params)
+void LLRenderPass::applyModelMatrix(const LLDrawInfo& params)
 {
 	if (params.mModelMatrix != gGLLastMatrix)
 	{
diff --git a/indra/newview/lldrawpool.h b/indra/newview/lldrawpool.h
index 3bde0d29befc36b26cb460730df24fc195496a6c..bc299cc89fa24e7ff59926f5b196f604432e02dc 100755
--- a/indra/newview/lldrawpool.h
+++ b/indra/newview/lldrawpool.h
@@ -168,7 +168,7 @@ class LLRenderPass : public LLDrawPool
 	BOOL isDead() { return FALSE; }
 	void resetDrawOrders() { }
 
-	static void applyModelMatrix(LLDrawInfo& params);
+	static void applyModelMatrix(const LLDrawInfo& params);
 	virtual void pushBatches(U32 type, U32 mask, BOOL texture = TRUE, BOOL batch_textures = FALSE);
 	virtual void pushMaskBatches(U32 type, U32 mask, BOOL texture = TRUE, BOOL batch_textures = FALSE);
 	virtual void pushBatch(LLDrawInfo& params, U32 mask, BOOL texture, BOOL batch_textures = FALSE);
diff --git a/indra/newview/lldrawpoolmaterials.cpp b/indra/newview/lldrawpoolmaterials.cpp
index 514411aef5ad20059a50ea1810899d5c4799b67b..f92320490ab62a2c85d34b6421f6a12de1380a98 100644
--- a/indra/newview/lldrawpoolmaterials.cpp
+++ b/indra/newview/lldrawpoolmaterials.cpp
@@ -96,7 +96,7 @@ void LLDrawPoolMaterials::endDeferredPass(S32 pass)
 
 void LLDrawPoolMaterials::renderDeferred(S32 pass)
 {
-	U32 type_list[] = 
+	static const U32 type_list[] = 
 	{
 		LLRenderPass::PASS_MATERIAL,
 		//LLRenderPass::PASS_MATERIAL_ALPHA,
diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp
index 1b3cfb5ebd7094c9df4471fa58e8585e16030c7b..6c5b5be720d221c4b48ec7147fc6ed27b79b24da 100755
--- a/indra/newview/llfavoritesbar.cpp
+++ b/indra/newview/llfavoritesbar.cpp
@@ -40,7 +40,6 @@
 #include "llagent.h"
 #include "llavatarnamecache.h"
 #include "llclipboard.h"
-#include "llclipboard.h"
 #include "llinventorybridge.h"
 #include "llinventoryfunctions.h"
 #include "llfloatersidepanelcontainer.h"
@@ -51,7 +50,7 @@
 #include "lltoggleablemenu.h"
 #include "llviewerinventory.h"
 #include "llviewermenu.h"
-#include "llviewermenu.h"
+#include "llviewernetwork.h"
 #include "lltooldraganddrop.h"
 #include "llsdserialize.h"
 
@@ -327,6 +326,7 @@ class LLItemCopiedCallback : public LLInventoryCallback
 
 			gInventory.updateItem(item);
 			gInventory.notifyObservers();
+			LLFavoritesOrderStorage::instance().saveOrder();
 		}
 
 		LLView::getWindow()->setCursor(UI_CURSOR_ARROW);
@@ -1452,6 +1452,18 @@ void LLFavoritesOrderStorage::getSLURL(const LLUUID& asset_id)
 void LLFavoritesOrderStorage::destroyClass()
 {
 	LLFavoritesOrderStorage::instance().cleanup();
+
+
+	std::string old_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
+	llifstream file;
+	file.open(old_filename);
+	if (file.is_open())
+	{
+		std::string new_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml");
+		LLFile::copy(old_filename,new_filename);
+		LLFile::remove(old_filename);
+	}
+
 	if (gSavedPerAccountSettings.getBOOL("ShowFavoritesOnLogin"))
 	{
 		LLFavoritesOrderStorage::instance().saveFavoritesSLURLs();
@@ -1498,7 +1510,7 @@ void LLFavoritesOrderStorage::saveFavoritesSLURLs()
 		return;
 	}
 
-	std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
+	std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml");
 	llifstream in_file;
 	in_file.open(filename);
 	LLSD fav_llsd;
@@ -1546,7 +1558,7 @@ void LLFavoritesOrderStorage::saveFavoritesSLURLs()
 
 void LLFavoritesOrderStorage::removeFavoritesRecordOfUser()
 {
-	std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
+	std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml");
 	LLSD fav_llsd;
 	llifstream file;
 	file.open(filename);
@@ -1641,6 +1653,16 @@ void LLFavoritesOrderStorage::cleanup()
 	mSortIndexes.swap(aTempMap);
 }
 
+void LLFavoritesOrderStorage::saveOrder()
+{
+	LLInventoryModel::cat_array_t cats;
+	LLInventoryModel::item_array_t items;
+	LLIsType is_type(LLAssetType::AT_LANDMARK);
+	LLUUID favorites_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_FAVORITE);
+	gInventory.collectDescendentsIf(favorites_id, cats, items, LLInventoryModel::EXCLUDE_TRASH, is_type);
+	saveItemsOrder(items);
+}
+
 void LLFavoritesOrderStorage::saveItemsOrder( const LLInventoryModel::item_array_t& items )
 {
 	int sortField = 0;
diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h
index 211d3c4ce35cd860a4fbdc236a39a9f4af9fb4c9..5ca1d3e8edf20a1a26379cda88c331f2a0244cea 100755
--- a/indra/newview/llfavoritesbar.h
+++ b/indra/newview/llfavoritesbar.h
@@ -203,6 +203,8 @@ class LLFavoritesOrderStorage : public LLSingleton<LLFavoritesOrderStorage>
 	// Is used to save order for Favorites folder.
 	void saveItemsOrder(const LLInventoryModel::item_array_t& items);
 
+	void saveOrder();
+
 	void rearrangeFavoriteLandmarks(const LLUUID& source_item_id, const LLUUID& target_item_id);
 
 	/**
diff --git a/indra/newview/llfloateravatar.cpp b/indra/newview/llfloateravatar.cpp
index bdc5b581a9f7ea21030145d7e1cca376b167bc8f..31adf5b61e23c86feef9f534dc203dcf61b46472 100755
--- a/indra/newview/llfloateravatar.cpp
+++ b/indra/newview/llfloateravatar.cpp
@@ -34,6 +34,7 @@
 
 #include "llfloateravatar.h"
 #include "lluictrlfactory.h"
+#include "llmediactrl.h"
 
 
 LLFloaterAvatar::LLFloaterAvatar(const LLSD& key)
@@ -43,6 +44,13 @@ LLFloaterAvatar::LLFloaterAvatar(const LLSD& key)
 
 LLFloaterAvatar::~LLFloaterAvatar()
 {
+	LLMediaCtrl* avatar_picker = findChild<LLMediaCtrl>("avatar_picker_contents");
+	if (avatar_picker)
+	{
+		avatar_picker->navigateStop();
+		avatar_picker->clearCache();          //images are reloading each time already
+		avatar_picker->unloadMediaSource();
+	}
 }
 
 BOOL LLFloaterAvatar::postBuild()
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index be8195b5ee9b1d7a828617f9dc84135b7771da60..ab57e8c170a8b4e43ddd26fb75803ce5e69d2e53 100755
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -229,7 +229,9 @@ BOOL LLFloaterIMContainer::postBuild()
 	mStubCollapseBtn = getChild<LLButton>("stub_collapse_btn");
 	mStubCollapseBtn->setClickedCallback(boost::bind(&LLFloaterIMContainer::onStubCollapseButtonClicked, this));
     mSpeakBtn = getChild<LLButton>("speak_btn");
-	mSpeakBtn->setClickedCallback(boost::bind(&LLFloaterIMContainer::onSpeakButtonClicked, this));
+
+	mSpeakBtn->setMouseDownCallback(boost::bind(&LLFloaterIMContainer::onSpeakButtonPressed, this));
+	mSpeakBtn->setMouseUpCallback(boost::bind(&LLFloaterIMContainer::onSpeakButtonReleased, this));
 
 	childSetAction("add_btn", boost::bind(&LLFloaterIMContainer::onAddButtonClicked, this));
 
@@ -352,11 +354,18 @@ void LLFloaterIMContainer::onStubCollapseButtonClicked()
 	collapseMessagesPane(true);
 }
 
-void LLFloaterIMContainer::onSpeakButtonClicked()
+void LLFloaterIMContainer::onSpeakButtonPressed()
+{
+	LLVoiceClient::getInstance()->inputUserControlState(true);
+	updateSpeakBtnState();
+}
+
+void LLFloaterIMContainer::onSpeakButtonReleased()
 {
-	LLAgent::toggleMicrophone("speak");
+	LLVoiceClient::getInstance()->inputUserControlState(false);
 	updateSpeakBtnState();
 }
+
 void LLFloaterIMContainer::onExpandCollapseButtonClicked()
 {
 	if (mConversationsPane->isCollapsed() && mMessagesPane->isCollapsed()
@@ -1398,6 +1407,10 @@ bool LLFloaterIMContainer::enableContextMenuItem(const std::string& item, uuid_v
         return LLAvatarActions::canCall();
     }
     else if ("can_open_voice_conversation" == item)
+    {
+    	return is_single_select && LLAvatarActions::canCall();
+    }
+    else if ("can_open_voice_conversation" == item)
     {
     	return is_single_select && LLAvatarActions::canCall();
     }
diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h
index 5ea9fd399bb08f59b2b2241d797cde836b117a86..f21c0b99478c2eb5ad1d06f089020a77283ae481 100755
--- a/indra/newview/llfloaterimcontainer.h
+++ b/indra/newview/llfloaterimcontainer.h
@@ -135,7 +135,8 @@ class LLFloaterIMContainer
 	void onExpandCollapseButtonClicked();
 	void onStubCollapseButtonClicked();
 	void processParticipantsStyleUpdate();
-	void onSpeakButtonClicked();
+	void onSpeakButtonPressed();
+	void onSpeakButtonReleased();
 	/*virtual*/ void onClickCloseBtn(bool app_quitting = false);
 	/*virtual*/ void closeHostedFloater();
 
diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp
index 7852a1f7b3f6d69c755d53d777d7a0644579c098..9def253ba5567ab5bb77502b589a94c66cd89083 100755
--- a/indra/newview/llfloaterimsession.cpp
+++ b/indra/newview/llfloaterimsession.cpp
@@ -927,8 +927,7 @@ void LLFloaterIMSession::onInputEditorFocusReceived( LLFocusableElement* caller,
 	// Allow enabling the LLFloaterIMSession input editor only if session can accept text
 	LLIMModel::LLIMSession* im_session =
 		LLIMModel::instance().findIMSession(self->mSessionID);
-	//TODO: While disabled lllineeditor can receive focus we need to check if it is enabled (EK)
-	if( im_session && im_session->mTextIMPossible && self->mInputEditor->getEnabled())
+	if( im_session && im_session->mTextIMPossible && !self->mInputEditor->getReadOnly())
 	{
 		//in disconnected state IM input editor should be disabled
 		self->mInputEditor->setEnabled(!gDisconnected);
diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp
index fbdaca0e6f31a7b819581a4753a4c062010d6213..2864f018b203b594eb95c21bc292a84464bc4a91 100755
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -47,7 +47,7 @@
 const F32 REFRESH_INTERVAL = 1.0f;
 
 LLFloaterIMSessionTab::LLFloaterIMSessionTab(const LLSD& session_id)
-:	LLTransientDockableFloater(NULL, true, session_id),
+:	LLTransientDockableFloater(NULL, false, session_id),
 	mIsP2PChat(false),
 	mExpandCollapseBtn(NULL),
 	mTearOffBtn(NULL),
diff --git a/indra/newview/llfloaterlagmeter.cpp b/indra/newview/llfloaterlagmeter.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f72f2631a1f664e313be8f5fdc31a1c421369217
--- /dev/null
+++ b/indra/newview/llfloaterlagmeter.cpp
@@ -0,0 +1,378 @@
+/** 
+ * @file llfloaterlagmeter.cpp
+ * @brief The "Lag-o-Meter" floater used to tell users what is causing lag.
+ *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ * 
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
+ * $/LicenseInfo$
+ */
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llfloaterlagmeter.h"
+
+#include "lluictrlfactory.h"
+#include "llviewerstats.h"
+#include "llviewertexture.h"
+#include "llviewercontrol.h"
+#include "llappviewer.h"
+
+#include "lltexturefetch.h"
+
+#include "llbutton.h"
+#include "llfocusmgr.h"
+#include "lltextbox.h"
+
+const std::string LAG_CRITICAL_IMAGE_NAME = "lag_status_critical.tga";
+const std::string LAG_WARNING_IMAGE_NAME  = "lag_status_warning.tga";
+const std::string LAG_GOOD_IMAGE_NAME     = "lag_status_good.tga";
+
+LLFloaterLagMeter::LLFloaterLagMeter(const LLSD& key)
+	:	LLFloater(key)
+{
+	mCommitCallbackRegistrar.add("LagMeter.ClickShrink",  boost::bind(&LLFloaterLagMeter::onClickShrink, this));	
+}
+
+BOOL LLFloaterLagMeter::postBuild()
+{
+	// Don't let this window take keyboard focus -- it's confusing to
+	// lose arrow-key driving when testing lag.
+	setIsChrome(TRUE);
+	
+	// were we shrunk last time?
+	if (isShrunk())
+	{
+		onClickShrink();
+	}
+	
+	mClientButton = getChild<LLButton>("client_lagmeter");
+	mClientText = getChild<LLTextBox>("client_text");
+	mClientCause = getChild<LLTextBox>("client_lag_cause");
+
+	mNetworkButton = getChild<LLButton>("network_lagmeter");
+	mNetworkText = getChild<LLTextBox>("network_text");
+	mNetworkCause = getChild<LLTextBox>("network_lag_cause");
+
+	mServerButton = getChild<LLButton>("server_lagmeter");
+	mServerText = getChild<LLTextBox>("server_text");
+	mServerCause = getChild<LLTextBox>("server_lag_cause");
+
+	std::string config_string = getString("client_frame_rate_critical_fps", mStringArgs);
+	mClientFrameTimeCritical = F32Seconds(1.0f / (float)atof( config_string.c_str() ));
+	config_string = getString("client_frame_rate_warning_fps", mStringArgs);
+	mClientFrameTimeWarning = F32Seconds(1.0f / (float)atof( config_string.c_str() ));
+
+	config_string = getString("network_packet_loss_critical_pct", mStringArgs);
+	mNetworkPacketLossCritical = F32Percent((float)atof( config_string.c_str() ));
+	config_string = getString("network_packet_loss_warning_pct", mStringArgs);
+	mNetworkPacketLossWarning = F32Percent((float)atof( config_string.c_str() ));
+
+	config_string = getString("network_ping_critical_ms", mStringArgs);
+	mNetworkPingCritical = F32Milliseconds((float)atof( config_string.c_str() ));
+	config_string = getString("network_ping_warning_ms", mStringArgs);
+	mNetworkPingWarning = F32Milliseconds((float)atof( config_string.c_str() ));
+	config_string = getString("server_frame_rate_critical_fps", mStringArgs);
+
+	mServerFrameTimeCritical = F32Seconds(1.0f / (float)atof( config_string.c_str() ));
+	config_string = getString("server_frame_rate_warning_fps", mStringArgs);
+	mServerFrameTimeWarning = F32Seconds(1.0f / (float)atof( config_string.c_str() ));
+	config_string = getString("server_single_process_max_time_ms", mStringArgs);
+	mServerSingleProcessMaxTime = F32Seconds((float)atof( config_string.c_str() ));
+
+//	mShrunk = false;
+	config_string = getString("max_width_px", mStringArgs);
+	mMaxWidth = atoi( config_string.c_str() );
+	config_string = getString("min_width_px", mStringArgs);
+	mMinWidth = atoi( config_string.c_str() );
+
+	mStringArgs["[CLIENT_FRAME_RATE_CRITICAL]"] = getString("client_frame_rate_critical_fps");
+	mStringArgs["[CLIENT_FRAME_RATE_WARNING]"] = getString("client_frame_rate_warning_fps");
+
+	mStringArgs["[NETWORK_PACKET_LOSS_CRITICAL]"] = getString("network_packet_loss_critical_pct");
+	mStringArgs["[NETWORK_PACKET_LOSS_WARNING]"] = getString("network_packet_loss_warning_pct");
+
+	mStringArgs["[NETWORK_PING_CRITICAL]"] = getString("network_ping_critical_ms");
+	mStringArgs["[NETWORK_PING_WARNING]"] = getString("network_ping_warning_ms");
+
+	mStringArgs["[SERVER_FRAME_RATE_CRITICAL]"] = getString("server_frame_rate_critical_fps");
+	mStringArgs["[SERVER_FRAME_RATE_WARNING]"] = getString("server_frame_rate_warning_fps");
+
+//	childSetAction("minimize", onClickShrink, this);
+	updateControls(isShrunk()); // if expanded append colon to the labels (EXT-4079)
+
+	return TRUE;
+}
+LLFloaterLagMeter::~LLFloaterLagMeter()
+{
+	// save shrunk status for next time
+//	gSavedSettings.setBOOL("LagMeterShrunk", mShrunk);
+	// expand so we save the large window rectangle
+	if (isShrunk())
+	{
+		onClickShrink();
+	}
+}
+
+void LLFloaterLagMeter::draw()
+{
+	determineClient();
+	determineNetwork();
+	determineServer();
+
+	LLFloater::draw();
+}
+
+void LLFloaterLagMeter::determineClient()
+{
+	F32Milliseconds client_frame_time = LLTrace::get_frame_recording().getPeriodMean(LLStatViewer::FRAME_STACKTIME);
+	bool find_cause = false;
+
+	if (!gFocusMgr.getAppHasFocus())
+	{
+		mClientButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME));
+		mClientText->setText( getString("client_frame_time_window_bg_msg", mStringArgs) );
+		mClientCause->setText( LLStringUtil::null );
+	}
+	else if(client_frame_time >= mClientFrameTimeCritical)
+	{
+		mClientButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME));
+		mClientText->setText( getString("client_frame_time_critical_msg", mStringArgs) );
+		find_cause = true;
+	}
+	else if(client_frame_time >= mClientFrameTimeWarning)
+	{
+		mClientButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME));
+		mClientText->setText( getString("client_frame_time_warning_msg", mStringArgs) );
+		find_cause = true;
+	}
+	else
+	{
+		mClientButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME));
+		mClientText->setText( getString("client_frame_time_normal_msg", mStringArgs) );
+		mClientCause->setText( LLStringUtil::null );
+	}	
+
+	if(find_cause)
+	{
+		if(gSavedSettings.getF32("RenderFarClip") > 128)
+		{
+			mClientCause->setText( getString("client_draw_distance_cause_msg", mStringArgs) );
+		}
+		else if(LLAppViewer::instance()->getTextureFetch()->getNumRequests() > 2)
+		{
+			mClientCause->setText( getString("client_texture_loading_cause_msg", mStringArgs) );
+		}
+		else if(LLViewerTexture::sBoundTextureMemory > LLViewerTexture::sMaxBoundTextureMemory)
+		{
+			mClientCause->setText( getString("client_texture_memory_cause_msg", mStringArgs) );
+		}
+		else 
+		{
+			mClientCause->setText( getString("client_complex_objects_cause_msg", mStringArgs) );
+		}
+	}
+}
+
+void LLFloaterLagMeter::determineNetwork()
+{
+	LLTrace::PeriodicRecording& frame_recording = LLTrace::get_frame_recording();
+	F32Percent packet_loss = frame_recording.getPeriodMean(LLStatViewer::PACKETS_LOST_PERCENT);
+	F32Milliseconds ping_time = frame_recording.getPeriodMean(LLStatViewer::SIM_PING);
+	bool find_cause_loss = false;
+	bool find_cause_ping = false;
+
+	// *FIXME: We can't blame a large ping time on anything in
+	// particular if the frame rate is low, because a low frame
+	// rate is a sure recipe for bad ping times right now until
+	// the network handlers are de-synched from the rendering.
+	F32Milliseconds client_frame_time = frame_recording.getPeriodMean(LLStatViewer::FRAME_STACKTIME);
+	
+	if(packet_loss >= mNetworkPacketLossCritical)
+	{
+		mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME));
+		mNetworkText->setText( getString("network_packet_loss_critical_msg", mStringArgs) );
+		find_cause_loss = true;
+	}
+	else if(ping_time >= mNetworkPingCritical)
+	{
+		mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME));
+		if (client_frame_time < mNetworkPingCritical)
+		{
+			mNetworkText->setText( getString("network_ping_critical_msg", mStringArgs) );
+			find_cause_ping = true;
+		}
+	}
+	else if(packet_loss >= mNetworkPacketLossWarning)
+	{
+		mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME));
+		mNetworkText->setText( getString("network_packet_loss_warning_msg", mStringArgs) );
+		find_cause_loss = true;
+	}
+	else if(ping_time >= mNetworkPingWarning)
+	{
+		mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME));
+		if (client_frame_time < mNetworkPingWarning)
+		{
+			mNetworkText->setText( getString("network_ping_warning_msg", mStringArgs) );
+			find_cause_ping = true;
+		}
+	}
+	else
+	{
+		mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME));
+		mNetworkText->setText( getString("network_performance_normal_msg", mStringArgs) );
+	}
+
+	if(find_cause_loss)
+ 	{
+		mNetworkCause->setText( getString("network_packet_loss_cause_msg", mStringArgs) );
+ 	}
+	else if(find_cause_ping)
+	{
+		mNetworkCause->setText( getString("network_ping_cause_msg", mStringArgs) );
+	}
+	else
+	{
+		mNetworkCause->setText( LLStringUtil::null );
+	}
+}
+
+void LLFloaterLagMeter::determineServer()
+{
+	F32Milliseconds sim_frame_time = LLTrace::get_frame_recording().getLastRecording().getLastValue(LLStatViewer::SIM_FRAME_TIME);
+	bool find_cause = false;
+
+	if(sim_frame_time >= mServerFrameTimeCritical)
+	{
+		mServerButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME));
+		mServerText->setText( getString("server_frame_time_critical_msg", mStringArgs) );
+		find_cause = true;
+	}
+	else if(sim_frame_time >= mServerFrameTimeWarning)
+	{
+		mServerButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME));
+		mServerText->setText( getString("server_frame_time_warning_msg", mStringArgs) );
+		find_cause = true;
+	}
+	else
+	{
+		mServerButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME));
+		mServerText->setText( getString("server_frame_time_normal_msg", mStringArgs) );
+		mServerCause->setText( LLStringUtil::null );
+	}	
+
+	if(find_cause)
+	{
+		LLTrace::Recording& last_recording = LLTrace::get_frame_recording().getLastRecording();
+
+		if(last_recording.getLastValue(LLStatViewer::SIM_PHYSICS_TIME) > mServerSingleProcessMaxTime)
+		{
+			mServerCause->setText( getString("server_physics_cause_msg", mStringArgs) );
+		}
+		else if(last_recording.getLastValue(LLStatViewer::SIM_SCRIPTS_TIME) > mServerSingleProcessMaxTime)
+		{
+			mServerCause->setText( getString("server_scripts_cause_msg", mStringArgs) );
+		}
+		else if(last_recording.getLastValue(LLStatViewer::SIM_NET_TIME) > mServerSingleProcessMaxTime)
+		{
+			mServerCause->setText( getString("server_net_cause_msg", mStringArgs) );
+		}
+		else if(last_recording.getLastValue(LLStatViewer::SIM_AGENTS_TIME) > mServerSingleProcessMaxTime)
+		{
+			mServerCause->setText( getString("server_agent_cause_msg", mStringArgs) );
+		}
+		else if(last_recording.getLastValue(LLStatViewer::SIM_IMAGES_TIME) > mServerSingleProcessMaxTime)
+		{
+			mServerCause->setText( getString("server_images_cause_msg", mStringArgs) );
+		}
+		else
+		{
+			mServerCause->setText( getString("server_generic_cause_msg", mStringArgs) );
+		}
+	}
+}
+
+void LLFloaterLagMeter::updateControls(bool shrink)
+{
+//	LLFloaterLagMeter * self = (LLFloaterLagMeter*)data;
+
+	LLButton * button = getChild<LLButton>("minimize");
+	S32 delta_width = mMaxWidth -mMinWidth;
+	LLRect r = getRect();
+
+	if(!shrink)
+	{
+		setTitle(getString("max_title_msg", mStringArgs) );
+		// make left edge appear to expand
+		r.translate(-delta_width, 0);
+		setRect(r);
+		reshape(mMaxWidth, getRect().getHeight());
+		
+		getChild<LLUICtrl>("client")->setValue(getString("client_text_msg", mStringArgs) + ":");
+		getChild<LLUICtrl>("network")->setValue(getString("network_text_msg",mStringArgs) + ":");
+		getChild<LLUICtrl>("server")->setValue(getString("server_text_msg", mStringArgs) + ":");
+
+		// usually "<<"
+		button->setLabel( getString("smaller_label", mStringArgs) );
+	}
+	else
+	{
+		setTitle( getString("min_title_msg", mStringArgs) );
+		// make left edge appear to collapse
+		r.translate(delta_width, 0);
+		setRect(r);
+		reshape(mMinWidth, getRect().getHeight());
+		
+		getChild<LLUICtrl>("client")->setValue(getString("client_text_msg", mStringArgs) );
+		getChild<LLUICtrl>("network")->setValue(getString("network_text_msg",mStringArgs) );
+		getChild<LLUICtrl>("server")->setValue(getString("server_text_msg", mStringArgs) );
+
+		// usually ">>"
+		button->setLabel( getString("bigger_label", mStringArgs) );
+	}
+	// Don't put keyboard focus on the button
+	button->setFocus(FALSE);
+
+//	self->mClientText->setVisible(self->mShrunk);
+//	self->mClientCause->setVisible(self->mShrunk);
+//	self->getChildView("client_help")->setVisible( self->mShrunk);
+
+//	self->mNetworkText->setVisible(self->mShrunk);
+//	self->mNetworkCause->setVisible(self->mShrunk);
+//	self->getChildView("network_help")->setVisible( self->mShrunk);
+
+//	self->mServerText->setVisible(self->mShrunk);
+//	self->mServerCause->setVisible(self->mShrunk);
+//	self->getChildView("server_help")->setVisible( self->mShrunk);
+
+//	self->mShrunk = !self->mShrunk;
+}
+
+BOOL LLFloaterLagMeter::isShrunk()
+{
+	return gSavedSettings.getBOOL("LagMeterShrunk");
+}
+
+void LLFloaterLagMeter::onClickShrink()  // toggle "LagMeterShrunk"
+{
+	bool shrunk = isShrunk();
+	updateControls(!shrunk);
+	gSavedSettings.setBOOL("LagMeterShrunk", !shrunk);
+}
diff --git a/indra/newview/llfloaterlagmeter.h b/indra/newview/llfloaterlagmeter.h
new file mode 100644
index 0000000000000000000000000000000000000000..929ea40629a36ef4307a84fc7bb811f5461196e9
--- /dev/null
+++ b/indra/newview/llfloaterlagmeter.h
@@ -0,0 +1,80 @@
+/** 
+ * @file llfloaterlagmeter.h
+ * @brief The "Lag-o-Meter" floater used to tell users what is causing lag.
+ *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ * 
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LLFLOATERLAGMETER_H
+#define LLFLOATERLAGMETER_H
+
+#include "llfloater.h"
+
+class LLTextBox;
+
+class LLFloaterLagMeter : public LLFloater
+{
+	friend class LLFloaterReg;
+	
+public:
+	/*virtual*/ void draw();
+	/*virtual*/ BOOL postBuild();	
+private:
+	
+	LLFloaterLagMeter(const LLSD& key);
+	/*virtual*/ ~LLFloaterLagMeter();
+	void determineClient();
+	void determineNetwork();
+	void determineServer();
+	void updateControls(bool shrink);
+	BOOL isShrunk();
+
+	void onClickShrink();
+
+	bool mShrunk;
+	S32 mMaxWidth, mMinWidth;
+
+	F32Milliseconds mClientFrameTimeCritical;
+	F32Milliseconds mClientFrameTimeWarning;
+	LLButton*		mClientButton;
+	LLTextBox*		mClientText;
+	LLTextBox*		mClientCause;
+
+	F32Percent		mNetworkPacketLossCritical;
+	F32Percent		mNetworkPacketLossWarning;
+	F32Milliseconds mNetworkPingCritical;
+	F32Milliseconds mNetworkPingWarning;
+	LLButton*       mNetworkButton;
+	LLTextBox*      mNetworkText;
+	LLTextBox*      mNetworkCause;
+
+	F32Milliseconds mServerFrameTimeCritical;
+	F32Milliseconds mServerFrameTimeWarning;
+	F32Milliseconds mServerSingleProcessMaxTime;
+	LLButton*       mServerButton;
+	LLTextBox*      mServerText;
+	LLTextBox*      mServerCause;
+
+	LLStringUtil::format_map_t mStringArgs;
+};
+
+#endif
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index 7213064746a7fbbd88fb8b6216c49de2972745ca..c094eb31803e293135f4915d026ad2974b4f0b62 100755
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -2776,10 +2776,16 @@ void LLPanelLandAccess::callbackAvatarCBAccess(const uuid_vec_t& ids)
 	{
 		LLUUID id = ids[0];
 		LLParcel* parcel = mParcel->getParcel();
-		if (parcel)
+		if (parcel && parcel->addToAccessList(id, 0))
 		{
-			parcel->addToAccessList(id, 0);
-			LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(AL_ACCESS);
+			U32 lists_to_update = AL_ACCESS;
+			// agent was successfully added to access list
+			// but we also need to check ban list to ensure that agent will not be in two lists simultaneously
+			if(parcel->removeFromBanList(id))
+			{
+				lists_to_update |= AL_BAN;
+			}
+			LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(lists_to_update);
 			refresh();
 		}
 	}
@@ -2828,10 +2834,16 @@ void LLPanelLandAccess::callbackAvatarCBBanned(const uuid_vec_t& ids)
 	{
 		LLUUID id = ids[0];
 		LLParcel* parcel = mParcel->getParcel();
-		if (parcel)
+		if (parcel && parcel->addToBanList(id, 0))
 		{
-			parcel->addToBanList(id, 0);
-			LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(AL_BAN);
+			U32 lists_to_update = AL_BAN;
+			// agent was successfully added to ban list
+			// but we also need to check access list to ensure that agent will not be in two lists simultaneously
+			if (parcel->removeFromAccessList(id))
+			{
+				lists_to_update |= AL_ACCESS;
+			}
+			LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(lists_to_update);
 			refresh();
 		}
 	}
diff --git a/indra/newview/llfloaternotificationsconsole.cpp b/indra/newview/llfloaternotificationsconsole.cpp
index c21e4ff7e8bbc125a64afe1a4e3b9d691772a7c7..fd03efa06108f7fbf5b07d5982ab0969ad655a26 100755
--- a/indra/newview/llfloaternotificationsconsole.cpp
+++ b/indra/newview/llfloaternotificationsconsole.cpp
@@ -41,6 +41,7 @@ class LLNotificationChannelPanel : public LLLayoutPanel
 {
 public:
 	LLNotificationChannelPanel(const Params& p);
+	~LLNotificationChannelPanel();
 	BOOL postBuild();
 
 private:
@@ -57,6 +58,20 @@ LLNotificationChannelPanel::LLNotificationChannelPanel(const LLNotificationChann
 	buildFromFile( "panel_notifications_channel.xml");
 }
 
+LLNotificationChannelPanel::~LLNotificationChannelPanel()
+{
+	// Userdata for all records is a LLNotification* we need to clean up
+	std::vector<LLScrollListItem*> data_list = getChild<LLScrollListCtrl>("notifications_list")->getAllData();
+	std::vector<LLScrollListItem*>::iterator data_itor;
+	for (data_itor = data_list.begin(); data_itor != data_list.end(); ++data_itor)
+	{
+		LLScrollListItem* item = *data_itor;
+		LLNotification* notification = (LLNotification*)item->getUserdata();
+		delete notification;
+		notification = NULL;
+	}
+}
+
 BOOL LLNotificationChannelPanel::postBuild()
 {
 	LLButton* header_button = getChild<LLButton>("header");
@@ -124,7 +139,7 @@ bool LLNotificationChannelPanel::update(const LLSD& payload)
 		row["columns"][2]["type"] = "date";
 
 		LLScrollListItem* sli = getChild<LLScrollListCtrl>("notifications_list")->addElement(row);
-		sli->setUserdata(&(*notification));
+		sli->setUserdata(new LLNotification(notification->asLLSD()));
 	}
 
 	return false;
diff --git a/indra/newview/llfloateropenobject.cpp b/indra/newview/llfloateropenobject.cpp
index 9986bdbd7f1169e0ae62a3e940dbcc45f4e6ec46..ef746d308db8c3550b92fdf713d76ef81d4e1e9c 100755
--- a/indra/newview/llfloateropenobject.cpp
+++ b/indra/newview/llfloateropenobject.cpp
@@ -58,6 +58,8 @@ LLFloaterOpenObject::LLFloaterOpenObject(const LLSD& key)
 {
 	mCommitCallbackRegistrar.add("OpenObject.MoveToInventory",	boost::bind(&LLFloaterOpenObject::onClickMoveToInventory, this));
 	mCommitCallbackRegistrar.add("OpenObject.MoveAndWear",		boost::bind(&LLFloaterOpenObject::onClickMoveAndWear, this));
+	mCommitCallbackRegistrar.add("OpenObject.ReplaceOutfit",	boost::bind(&LLFloaterOpenObject::onClickReplace, this));
+	mCommitCallbackRegistrar.add("OpenObject.Cancel",			boost::bind(&LLFloaterOpenObject::onClickCancel, this));
 }
 
 LLFloaterOpenObject::~LLFloaterOpenObject()
@@ -115,6 +117,7 @@ void LLFloaterOpenObject::refresh()
 	getChild<LLUICtrl>("object_name")->setTextArg("[DESC]", name);
 	getChildView("copy_to_inventory_button")->setEnabled(enabled);
 	getChildView("copy_and_wear_button")->setEnabled(enabled);
+	getChildView("copy_and_replace_button")->setEnabled(enabled);
 
 }
 
@@ -135,7 +138,7 @@ void LLFloaterOpenObject::dirty()
 
 
 
-void LLFloaterOpenObject::moveToInventory(bool wear)
+void LLFloaterOpenObject::moveToInventory(bool wear, bool replace)
 {
 	if (mObjectSelection->getRootObjectCount() != 1)
 	{
@@ -163,7 +166,7 @@ void LLFloaterOpenObject::moveToInventory(bool wear)
 		parent_category_id = gInventory.getRootFolderID();
 	}
 
-	inventory_func_type func = boost::bind(LLFloaterOpenObject::callbackCreateInventoryCategory,_1,object_id,wear);
+	inventory_func_type func = boost::bind(LLFloaterOpenObject::callbackCreateInventoryCategory,_1,object_id,wear,replace);
 	LLUUID category_id = gInventory.createNewCategory(parent_category_id, 
 													  LLFolderType::FT_NONE, 
 													  name,
@@ -177,6 +180,7 @@ void LLFloaterOpenObject::moveToInventory(bool wear)
 		data->mCatID = category_id;
 		data->mWear = wear;
 		data->mFolderResponded = false;
+		data->mReplace = replace;
 
 		// Copy and/or move the items into the newly created folder.
 		// Ignore any "you're going to break this item" messages.
@@ -194,13 +198,14 @@ void LLFloaterOpenObject::moveToInventory(bool wear)
 }
 
 // static
-void LLFloaterOpenObject::callbackCreateInventoryCategory(const LLUUID& category_id, LLUUID object_id, bool wear)
+void LLFloaterOpenObject::callbackCreateInventoryCategory(const LLUUID& category_id, LLUUID object_id, bool wear, bool replace)
 {
 	LLCatAndWear* wear_data = new LLCatAndWear;
 
 	wear_data->mCatID = category_id;
 	wear_data->mWear = wear;
 	wear_data->mFolderResponded = true;
+	wear_data->mReplace = replace;
 	
 	// Copy and/or move the items into the newly created folder.
 	// Ignore any "you're going to break this item" messages.
@@ -241,7 +246,17 @@ void LLFloaterOpenObject::onClickMoveToInventory()
 
 void LLFloaterOpenObject::onClickMoveAndWear()
 {
-	moveToInventory(true);
+	moveToInventory(true, false);
 	closeFloater();
 }
 
+void LLFloaterOpenObject::onClickReplace()
+{
+	moveToInventory(true, true);
+	closeFloater();
+}
+
+void LLFloaterOpenObject::onClickCancel()
+{
+	closeFloater();
+}
diff --git a/indra/newview/llfloateropenobject.h b/indra/newview/llfloateropenobject.h
index 8e472804a43e068bfe7407ca41f38fd9caca9da9..2e761f99bfb241c6b8e87732defe356e4bdb47d3 100755
--- a/indra/newview/llfloateropenobject.h
+++ b/indra/newview/llfloateropenobject.h
@@ -50,6 +50,7 @@ class LLFloaterOpenObject
 		LLUUID mCatID;
 		bool mWear;
 		bool mFolderResponded;
+		bool mReplace;
 	};
 
 protected:
@@ -59,11 +60,13 @@ class LLFloaterOpenObject
 	void draw();
 	virtual void onOpen(const LLSD& key);
 
-	void moveToInventory(bool wear);
+	void moveToInventory(bool wear, bool replace = false);
 
 	void onClickMoveToInventory();
 	void onClickMoveAndWear();
-	static void callbackCreateInventoryCategory(const LLUUID& category_id, LLUUID object_id, bool wear);
+	void onClickReplace();
+	void onClickCancel();
+	static void callbackCreateInventoryCategory(const LLUUID& category_id, LLUUID object_id, bool wear, bool replace = false);
 	static void callbackMoveInventory(S32 result, void* data);
 
 private:
diff --git a/indra/newview/llfloaterpay.cpp b/indra/newview/llfloaterpay.cpp
index f0c010b545a3cc37b41fd027cea26aa0b138fb05..a4d13ce1d5b29512b90205b0d808b7f4713cf124 100755
--- a/indra/newview/llfloaterpay.cpp
+++ b/indra/newview/llfloaterpay.cpp
@@ -40,8 +40,10 @@
 #include "lltextbox.h"
 #include "lllineeditor.h"
 #include "llmutelist.h"
+#include "llnotificationsutil.h"
 #include "llfloaterreporter.h"
 #include "llslurl.h"
+#include "llstatusbar.h"
 #include "llviewerobject.h"
 #include "llviewerobjectlist.h"
 #include "llviewerregion.h"
@@ -90,6 +92,9 @@ class LLFloaterPay : public LLFloater
 	static void payDirectly(money_callback callback,
 							const LLUUID& target_id,
 							bool is_group);
+	static bool payConfirmationCallback(const LLSD& notification,
+										const LLSD& response,
+										LLGiveMoneyInfo* info);
 
 private:
 	static void onCancel(void* data);
@@ -111,14 +116,12 @@ class LLFloaterPay : public LLFloater
 	LLGiveMoneyInfo* mQuickPayInfo[MAX_PAY_BUTTONS];
 
 	LLSafeHandle<LLObjectSelection> mObjectSelection;
-
-	static S32 sLastAmount;
 };
 
 
-S32 LLFloaterPay::sLastAmount = 0;
 const S32 MAX_AMOUNT_LENGTH = 10;
 const S32 FASTPAY_BUTTON_WIDTH = 80;
+const S32 PAY_AMOUNT_NOTIFICATION = 200;
 
 LLFloaterPay::LLFloaterPay(const LLSD& key)
 	: LLFloater(key),
@@ -188,17 +191,9 @@ BOOL LLFloaterPay::postBuild()
 
 
 	getChildView("amount text")->setVisible(FALSE);	
-
-	std::string last_amount;
-	if(sLastAmount > 0)
-	{
-		last_amount = llformat("%d", sLastAmount);
-	}
-
 	getChildView("amount")->setVisible(FALSE);
 
 	getChild<LLLineEditor>("amount")->setKeystrokeCallback(&LLFloaterPay::onKeystroke, this);
-	getChild<LLUICtrl>("amount")->setValue(last_amount);
 	getChild<LLLineEditor>("amount")->setPrevalidate(LLTextValidate::validateNonNegativeS32);
 
 	info = new LLGiveMoneyInfo(this, 0);
@@ -207,7 +202,7 @@ BOOL LLFloaterPay::postBuild()
 	childSetAction("pay btn",&LLFloaterPay::onGive,info);
 	setDefaultBtn("pay btn");
 	getChildView("pay btn")->setVisible(FALSE);
-	getChildView("pay btn")->setEnabled((sLastAmount > 0));
+	getChildView("pay btn")->setEnabled(FALSE);
 
 	childSetAction("cancel btn",&LLFloaterPay::onCancel,this);
 
@@ -419,7 +414,24 @@ void LLFloaterPay::payDirectly(money_callback callback,
 	
 	floater->finishPayUI(target_id, is_group);
 }
-	
+
+bool LLFloaterPay::payConfirmationCallback(const LLSD& notification, const LLSD& response, LLGiveMoneyInfo* info)
+{
+	if (!info || !info->mFloater)
+	{
+		return false;
+	}
+
+	S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
+	if (option == 0)
+	{
+		info->mFloater->give(info->mAmount);
+		info->mFloater->closeFloater();
+	}
+
+	return false;
+}
+
 void LLFloaterPay::finishPayUI(const LLUUID& target_id, BOOL is_group)
 {
 	std::string slurl;
@@ -470,10 +482,40 @@ void LLFloaterPay::onKeystroke(LLLineEditor*, void* data)
 void LLFloaterPay::onGive(void* data)
 {
 	LLGiveMoneyInfo* info = reinterpret_cast<LLGiveMoneyInfo*>(data);
-	if(info && info->mFloater)
+	LLFloaterPay* floater = info->mFloater;
+	if(info && floater)
 	{
-		info->mFloater->give(info->mAmount);
-		info->mFloater->closeFloater();
+		S32 amount = info->mAmount;
+		if(amount == 0)
+		{
+			amount = atoi(floater->getChild<LLUICtrl>("amount")->getValue().asString().c_str());
+		}
+		if (amount > PAY_AMOUNT_NOTIFICATION && gStatusBar && gStatusBar->getBalance() > amount)
+		{
+			LLUUID payee_id;
+			BOOL is_group;
+			if (floater->mObjectSelection.notNull())
+			{
+				LLSelectNode* node = floater->mObjectSelection->getFirstRootNode();
+				node->mPermissions->getOwnership(payee_id, is_group);
+			}
+			else
+			{
+				is_group = floater->mTargetIsGroup;
+				payee_id = floater->mTargetUUID;
+			}
+
+			LLSD args;
+			args["TARGET"] = LLSLURL( is_group ? "group" : "agent", payee_id, "completename").getSLURLString();
+			args["AMOUNT"] = amount;
+
+			LLNotificationsUtil::add("PayConfirmation", args, LLSD(), boost::bind(&LLFloaterPay::payConfirmationCallback, _1, _2, info));
+		}
+		else
+		{
+			floater->give(amount);
+			floater->closeFloater();
+		}
 	}
 }
 
@@ -487,7 +529,6 @@ void LLFloaterPay::give(S32 amount)
 		{
 			amount = atoi(getChild<LLUICtrl>("amount")->getValue().asString().c_str());
 		}
-		sLastAmount = amount;
 
 		// Try to pay an object.
 		if (mObjectSelection.notNull())
diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp
index c5248719e933a010ce77a14d0f5be57f6fded6c0..aee20ff7069a0c8614a27729709eaa6a32b8a394 100755
--- a/indra/newview/llfloatersidepanelcontainer.cpp
+++ b/indra/newview/llfloatersidepanelcontainer.cpp
@@ -57,7 +57,7 @@ void LLFloaterSidePanelContainer::onOpen(const LLSD& key)
 	getChild<LLPanel>(sMainPanelName)->onOpen(key);
 }
 
-void LLFloaterSidePanelContainer::onClickCloseBtn(bool)
+void LLFloaterSidePanelContainer::closeFloater(bool app_quitting)
 {
 	LLPanelOutfitEdit* panel_outfit_edit =
 		dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit"));
@@ -75,7 +75,7 @@ void LLFloaterSidePanelContainer::onClickCloseBtn(bool)
 		}
 	}
 	
-	LLFloater::onClickCloseBtn();
+	LLFloater::closeFloater(app_quitting);
 }
 
 LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_name, const LLSD& params)
diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h
index 13b17e8867ada71ce2f9632a3baec91d8df26e70..d7ecd52e5746d2f432f116002b5b274b9f7da02f 100755
--- a/indra/newview/llfloatersidepanelcontainer.h
+++ b/indra/newview/llfloatersidepanelcontainer.h
@@ -51,7 +51,7 @@ class LLFloaterSidePanelContainer : public LLFloater
 
 	/*virtual*/ void onOpen(const LLSD& key);
 
-	/*virtual*/ void onClickCloseBtn(bool app_quitting = false);
+	/*virtual*/ void closeFloater(bool app_quitting = false);
 
 	LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params);
 
diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp
index bd5d2207b402abda2bab6fe91cdd4214e0579843..7477b028673416ff093bbb7e4759e558019bf90b 100755
--- a/indra/newview/llfloatertools.cpp
+++ b/indra/newview/llfloatertools.cpp
@@ -888,6 +888,9 @@ void LLFloaterTools::onClose(bool app_quitting)
 
 	// hide the advanced object weights floater
 	LLFloaterReg::hideInstance("object_weights");
+
+	// prepare content for next call
+	mPanelContents->clearContents();
 }
 
 void click_popup_info(void*)
diff --git a/indra/newview/llfloaterurlentry.cpp b/indra/newview/llfloaterurlentry.cpp
index e26f1e9ea541d83d2345f53cfc804f2db3a173e6..e02e8eeb5ac800e8572a79260d887789e8c6278d 100755
--- a/indra/newview/llfloaterurlentry.cpp
+++ b/indra/newview/llfloaterurlentry.cpp
@@ -204,6 +204,10 @@ void LLFloaterURLEntry::onBtnOK( void* userdata )
 		LLURLHistory::addURL("parcel", media_url);
 	}
 
+	// show progress bar here?
+	getWindow()->incBusyCount();
+	self->getChildView("loading_label")->setVisible( true);
+
 	// leading whitespace causes problems with the MIME-type detection so strip it
 	LLStringUtil::trim( media_url );
 
@@ -233,10 +237,6 @@ void LLFloaterURLEntry::onBtnOK( void* userdata )
 	self->getChildView("ok_btn")->setEnabled(false);
 	self->getChildView("cancel_btn")->setEnabled(false);
 	self->getChildView("media_entry")->setEnabled(false);
-
-	// show progress bar here?
-	getWindow()->incBusyCount();
-	self->getChildView("loading_label")->setVisible( true);
 }
 
 // static
diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp
index 7f599073d5f04c041436a065aea7447b4b9de593..3f3d87b564830c32e59897cd85e77b416f63d07e 100755
--- a/indra/newview/llfloaterwebcontent.cpp
+++ b/indra/newview/llfloaterwebcontent.cpp
@@ -293,7 +293,7 @@ void LLFloaterWebContent::onOpen(const LLSD& key)
 void LLFloaterWebContent::onClose(bool app_quitting)
 {
     // If we close the web browsing window showing the facebook login, we need to signal to this object that the connection will not happen
-    LLFloater* fbc_web = LLFloaterReg::getInstance("fbc_web");
+    LLFloater* fbc_web = LLFloaterReg::findInstance("fbc_web");
     if (fbc_web == this)
     {
         if (!LLFacebookConnect::instance().isConnected())
diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp
index 7339398fa507025b455f9e001872048e18e297ad..3271a40ea015d02d1eaf0fdb42ae501e251c5c3d 100755
--- a/indra/newview/llfolderviewmodelinventory.cpp
+++ b/indra/newview/llfolderviewmodelinventory.cpp
@@ -129,13 +129,18 @@ void LLFolderViewModelItemInventory::requestSort()
 
 void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_generation, std::string::size_type string_offset, std::string::size_type string_size)
 {
+	bool generation_skip = mMarkedDirtyGeneration >= 0
+		&& mPrevPassedAllFilters
+		&& mMarkedDirtyGeneration < mRootViewModel.getFilter().getFirstSuccessGeneration();
 	LLFolderViewModelItemCommon::setPassedFilter(passed, filter_generation, string_offset, string_size);
 	bool before = mPrevPassedAllFilters;
 	mPrevPassedAllFilters = passedFilter(filter_generation);
 
-    if (before != mPrevPassedAllFilters)
+	if (before != mPrevPassedAllFilters || generation_skip)
 	{
-        // Need to rearrange the folder if the filtered state of the item changed
+		// Need to rearrange the folder if the filtered state of the item changed,
+		// previously passed item skipped filter generation changes while being dirty
+		// or previously passed not yet filtered item was marked dirty
 		LLFolderViewFolder* parent_folder = mFolderViewItem->getParentFolder();
 		if (parent_folder)
 		{
@@ -144,6 +149,9 @@ void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_gen
 	}
 }
 
+
+
+
 bool LLFolderViewModelItemInventory::filterChildItem( LLFolderViewModelItem* item, LLFolderViewFilter& filter )
 {
 	S32 filter_generation = filter.getCurrentGeneration();
diff --git a/indra/newview/llgesturemgr.cpp b/indra/newview/llgesturemgr.cpp
index b15556d73d18a9bdcb251dbe7eab34d3759be22a..119872ec29eabad74ad0c39429827c16cc1e9080 100755
--- a/indra/newview/llgesturemgr.cpp
+++ b/indra/newview/llgesturemgr.cpp
@@ -1406,7 +1406,7 @@ BOOL LLGestureMgr::matchPrefix(const std::string& in_str, std::string* out_str)
 				}
 				if (rest_of_match.compare("") == 0)
 				{
-					return FALSE;
+					return TRUE;
 				}
 				if (buf.compare("") != 0)
 				{
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 87335cd5e6d1fdcfb8d6bec0ea5028b139892d7b..085986dc68975037cdb4a6118d530eccb4e520a3 100755
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -87,6 +87,8 @@ void copy_slurl_to_clipboard_callback_inv(const std::string& slurl);
 typedef std::pair<LLUUID, LLUUID> two_uuids_t;
 typedef std::list<two_uuids_t> two_uuids_list_t;
 
+const F32 SOUND_GAIN = 1.0f;
+
 struct LLMoveInv
 {
 	LLUUID mObjectID;
@@ -103,6 +105,7 @@ bool move_task_inventory_callback(const LLSD& notification, const LLSD& response
 bool confirm_attachment_rez(const LLSD& notification, const LLSD& response);
 void teleport_via_landmark(const LLUUID& asset_id);
 static BOOL can_move_to_outfit(LLInventoryItem* inv_item, BOOL move_is_into_current_outfit);
+static BOOL can_move_to_landmarks(LLInventoryItem* inv_item);
 static bool check_category(LLInventoryModel* model,
 						   const LLUUID& cat_id,
 						   LLInventoryPanel* active_panel,
@@ -2216,13 +2219,18 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
 		&& (LLToolDragAndDrop::SOURCE_AGENT == source);
 
 	BOOL accept = FALSE;
+	U64 filter_types = filter->getFilterTypes();
+	BOOL use_filter = filter_types && (filter_types&LLInventoryFilter::FILTERTYPE_DATE || (filter_types&LLInventoryFilter::FILTERTYPE_OBJECT)==0);
+
 	if (is_agent_inventory)
 	{
 		const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH, false);
 		const LLUUID &landmarks_id = model->findCategoryUUIDForType(LLFolderType::FT_LANDMARK, false);
+		const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
 
 		const BOOL move_is_into_trash = (mUUID == trash_id) || model->isObjectDescendentOf(mUUID, trash_id);
-		const BOOL move_is_into_outfit = getCategory() && (getCategory()->getPreferredType() == LLFolderType::FT_OUTFIT);
+		const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
+		const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
 		const BOOL move_is_into_landmarks = (mUUID == landmarks_id) || model->isObjectDescendentOf(mUUID, landmarks_id);
 
 		//--------------------------------------------------------------------------------
@@ -2273,6 +2281,29 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
 				}
 			}
 		}
+		U32 max_items_to_wear = gSavedSettings.getU32("WearFolderLimit");
+		if (is_movable
+			&& move_is_into_current_outfit
+			&& descendent_items.size() > max_items_to_wear)
+		{
+			LLInventoryModel::cat_array_t cats;
+			LLInventoryModel::item_array_t items;
+			LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false);
+			gInventory.collectDescendentsIf(cat_id,
+				cats,
+				items,
+				LLInventoryModel::EXCLUDE_TRASH,
+				not_worn);
+
+			if (items.size() > max_items_to_wear)
+			{
+				// Can't move 'large' folders into current outfit: MAINT-4086
+				is_movable = FALSE;
+				LLStringUtil::format_map_t args;
+				args["AMOUNT"] = llformat("%d", max_items_to_wear);
+				tooltip_msg = LLTrans::getString("TooltipTooManyWearables",args);
+			}
+		}
 		if (is_movable && move_is_into_trash)
 		{
 			for (S32 i=0; i < descendent_items.size(); ++i)
@@ -2414,7 +2445,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
 					is_movable = active_folder_view != NULL;
 				}
 
-				if (is_movable)
+				if (is_movable && use_filter)
 				{
 					// Check whether the folder being dragged from active inventory panel
 					// passes the filter of the destination panel.
@@ -2552,6 +2583,12 @@ BOOL move_inv_category_world_to_agent(const LLUUID& object_id,
 
 	BOOL accept = FALSE;
 	BOOL is_move = FALSE;
+	BOOL use_filter = FALSE;
+	if (filter)
+	{
+		U64 filter_types = filter->getFilterTypes();
+		use_filter = filter_types && (filter_types&LLInventoryFilter::FILTERTYPE_DATE || (filter_types&LLInventoryFilter::FILTERTYPE_OBJECT)==0);
+	}
 
 	// coming from a task. Need to figure out if the person can
 	// move/copy this item.
@@ -2584,7 +2621,7 @@ BOOL move_inv_category_world_to_agent(const LLUUID& object_id,
 			accept = TRUE;
 		}
 
-		if (filter && accept)
+		if (accept && use_filter)
 		{
 			accept = filter->check(item);
 		}
@@ -2750,8 +2787,8 @@ void LLRightClickInventoryFetchDescendentsObserver::execute(bool clear_observer)
 class LLInventoryCopyAndWearObserver : public LLInventoryObserver
 {
 public:
-	LLInventoryCopyAndWearObserver(const LLUUID& cat_id, int count, bool folder_added=false) :
-		mCatID(cat_id), mContentsCount(count), mFolderAdded(folder_added) {}
+	LLInventoryCopyAndWearObserver(const LLUUID& cat_id, int count, bool folder_added=false, bool replace=false) :
+		mCatID(cat_id), mContentsCount(count), mFolderAdded(folder_added), mReplace(replace){}
 	virtual ~LLInventoryCopyAndWearObserver() {}
 	virtual void changed(U32 mask);
 
@@ -2759,6 +2796,7 @@ class LLInventoryCopyAndWearObserver : public LLInventoryObserver
 	LLUUID mCatID;
 	int    mContentsCount;
 	bool   mFolderAdded;
+	bool   mReplace;
 };
 
 
@@ -2797,7 +2835,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask)
 				    mContentsCount)
 				{
 					gInventory.removeObserver(this);
-					LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, FALSE);
+					LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, !mReplace);
 					delete this;
 				}
 			}
@@ -2815,7 +2853,7 @@ void LLFolderBridge::performAction(LLInventoryModel* model, std::string action)
 		LLFolderViewFolder *f = dynamic_cast<LLFolderViewFolder   *>(mInventoryPanel.get()->getItemByID(mUUID));
 		if (f)
 		{
-			f->setOpen(TRUE);
+			f->toggleOpen();
 		}
 		
 		return;
@@ -3097,10 +3135,14 @@ void LLFolderBridge::pasteFromClipboard()
 	{
 		const LLUUID &current_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false);
 		const LLUUID &outbox_id = model->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false);
+		const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false);
+		const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
 
 		const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
-		const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
+		const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
+		const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
 		const BOOL move_is_into_outbox = model->isObjectDescendentOf(mUUID, outbox_id);
+		const BOOL move_is_into_favorites = (mUUID == favorites_id);
 
 		std::vector<LLUUID> objects;
 		LLClipboard::instance().pasteFromClipboard(objects);
@@ -3158,11 +3200,18 @@ void LLFolderBridge::pasteFromClipboard()
 			{
 				if (move_is_into_current_outfit || move_is_into_outfit)
 				{
-					if (can_move_to_outfit(item, move_is_into_current_outfit))
+					if (item && can_move_to_outfit(item, move_is_into_current_outfit))
 					{
 						dropToOutfit(item, move_is_into_current_outfit);
 					}
 				}
+				else if (move_is_into_favorites)
+				{
+					if (item && can_move_to_landmarks(item))
+					{
+						dropToFavorites(item);
+					}
+				}
 				else if (LLClipboard::instance().isCutMode())
 				{
 					// Do a move to "paste" a "cut"
@@ -3225,9 +3274,11 @@ void LLFolderBridge::pasteLinkFromClipboard()
 	{
 		const LLUUID &current_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false);
 		const LLUUID &outbox_id = model->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false);
+		const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
 
 		const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
-		const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
+		const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
+		const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
 		const BOOL move_is_into_outbox = model->isObjectDescendentOf(mUUID, outbox_id);
 
 		if (move_is_into_outbox)
@@ -3729,6 +3780,25 @@ void LLFolderBridge::modifyOutfit(BOOL append)
 	LLViewerInventoryCategory* cat = getCategory();
 	if(!cat) return;
 
+	// checking amount of items to wear
+	U32 max_items = gSavedSettings.getU32("WearFolderLimit");
+	LLInventoryModel::cat_array_t cats;
+	LLInventoryModel::item_array_t items;
+	LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false);
+	gInventory.collectDescendentsIf(cat->getUUID(),
+		cats,
+		items,
+		LLInventoryModel::EXCLUDE_TRASH,
+		not_worn);
+
+	if (items.size() > max_items)
+	{
+		LLSD args;
+		args["AMOUNT"] = llformat("%d", max_items);
+		LLNotificationsUtil::add("TooManyWearables", args);
+		return;
+	}
+
 	LLAppearanceMgr::instance().wearInventoryCategory( cat, FALSE, append );
 }
 
@@ -3746,7 +3816,8 @@ bool move_task_inventory_callback(const LLSD& notification, const LLSD& response
 			LLInventoryObject::object_list_t inventory_objects;
 			object->getInventoryContents(inventory_objects);
 			int contents_count = inventory_objects.size()-1; //subtract one for containing folder
-			LLInventoryCopyAndWearObserver* inventoryObserver = new LLInventoryCopyAndWearObserver(cat_and_wear->mCatID, contents_count, cat_and_wear->mFolderResponded);
+			LLInventoryCopyAndWearObserver* inventoryObserver = new LLInventoryCopyAndWearObserver(cat_and_wear->mCatID, contents_count, cat_and_wear->mFolderResponded,
+																									cat_and_wear->mReplace);
 			
 			gInventory.addObserver(inventoryObserver);
 		}
@@ -3783,6 +3854,12 @@ static BOOL can_move_to_outfit(LLInventoryItem* inv_item, BOOL move_is_into_curr
 		return FALSE;
 	}
 
+	U32 flags = inv_item->getFlags();
+	if(flags & LLInventoryItemFlags::II_FLAGS_OBJECT_HAS_MULTIPLE_ITEMS)
+	{
+		return FALSE;
+	}
+
 	if (move_is_into_current_outfit && get_is_item_worn(inv_item->getUUID()))
 	{
 		return FALSE;
@@ -3868,16 +3945,22 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
 	const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false);
 	const LLUUID &landmarks_id = model->findCategoryUUIDForType(LLFolderType::FT_LANDMARK, false);
 	const LLUUID &outbox_id = model->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false);
+	const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
 
 	const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
 	const BOOL move_is_into_favorites = (mUUID == favorites_id);
-	const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
+	const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
+	const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
 	const BOOL move_is_into_landmarks = (mUUID == landmarks_id) || model->isObjectDescendentOf(mUUID, landmarks_id);
 	const BOOL move_is_into_outbox = model->isObjectDescendentOf(mUUID, outbox_id);
 	const BOOL move_is_from_outbox = model->isObjectDescendentOf(inv_item->getUUID(), outbox_id);
 
 	LLToolDragAndDrop::ESource source = LLToolDragAndDrop::getInstance()->getSource();
 	BOOL accept = FALSE;
+	U64 filter_types = filter->getFilterTypes();
+	// We shouldn't allow to drop non recent items into recent tab (or some similar transactions)
+	// while we are allowing to interact with regular filtered inventory
+	BOOL use_filter = filter_types && (filter_types&LLInventoryFilter::FILTERTYPE_DATE || (filter_types&LLInventoryFilter::FILTERTYPE_OBJECT)==0);
 	LLViewerObject* object = NULL;
 	if(LLToolDragAndDrop::SOURCE_AGENT == source)
 	{
@@ -3976,7 +4059,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
 
 		// Check whether the item being dragged from active inventory panel
 		// passes the filter of the destination panel.
-		if (accept && active_panel)
+		if (accept && active_panel && use_filter)
 		{
 			LLFolderViewItem* fv_item =   active_panel->getItemByID(inv_item->getUUID());
 			if (!fv_item) return false;
@@ -4114,7 +4197,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
 		
 		// Check whether the item being dragged from in world
 		// passes the filter of the destination panel.
-		if (accept)
+		if (accept && use_filter)
 		{
 			accept = filter->check(inv_item);
 		}
@@ -4158,7 +4241,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
 		
 		// Check whether the item being dragged from notecard
 		// passes the filter of the destination panel.
-		if (accept)
+		if (accept && use_filter)
 		{
 			accept = filter->check(inv_item);
 		}
@@ -4198,7 +4281,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
 
 			// Check whether the item being dragged from the library
 			// passes the filter of the destination panel.
-			if (accept && active_panel)
+			if (accept && active_panel && use_filter)
 			{
 				LLFolderViewItem* fv_item =   active_panel->getItemByID(inv_item->getUUID());
 				if (!fv_item) return false;
@@ -4444,6 +4527,23 @@ void LLSoundBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
 	hide_context_entries(menu, items, disabled_items);
 }
 
+void LLSoundBridge::performAction(LLInventoryModel* model, std::string action)
+{
+	if ("sound_play" == action)
+	{
+		LLViewerInventoryItem* item = getItem();
+		if(item)
+		{
+			send_sound_trigger(item->getAssetUUID(), SOUND_GAIN);
+		}
+	}
+	else if ("open" == action)
+	{
+		openSoundPreview((void*)this);
+	}
+	else LLItemBridge::performAction(model, action);
+}
+
 // +=================================================+
 // |        LLLandmarkBridge                         |
 // +=================================================+
@@ -6056,7 +6156,7 @@ class LLSoundBridgeAction: public LLInvFVBridgeAction
 		LLViewerInventoryItem* item = getItem();
 		if (item)
 		{
-			LLFloaterReg::showInstance("preview_sound", LLSD(mUUID), TAKE_FOCUS_YES);
+			send_sound_trigger(item->getAssetUUID(), SOUND_GAIN);
 		}
 		LLInvFVBridgeAction::doIt();
 	}
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index 7dac830098e3a076a2fbfe0959d348e3cf781ee8..e8d5db44377e733207e346a63d07e989bc30ed98 100755
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -158,7 +158,7 @@ class LLInvFVBridge : public LLFolderViewModelItemInventory
 	BOOL isAgentInventory() const; // false if lost or in the inventory library
 	BOOL isCOFFolder() const;       // true if COF or descendant of
 	BOOL isInboxFolder() const;     // true if COF or descendant of   marketplace inbox
-	BOOL isOutboxFolder() const;    // true if COF or descendant of   marketplace outbox
+
 	BOOL isOutboxFolderDirectParent() const;
 	const LLUUID getOutboxFolder() const;
 
@@ -172,6 +172,10 @@ class LLInvFVBridge : public LLFolderViewModelItemInventory
 									 const LLUUID& new_parent,
 									 BOOL restamp);
 	void removeBatchNoCheck(std::vector<LLFolderViewModelItem*>& batch);
+
+public:
+	BOOL isOutboxFolder() const;    // true if COF or descendant of   marketplace outbox
+
 protected:
 	LLHandle<LLInventoryPanel> mInventoryPanel;
 	LLFolderView* mRoot;
@@ -385,6 +389,7 @@ class LLSoundBridge : public LLItemBridge
 		LLItemBridge(inventory, root, uuid) {}
 	virtual void openItem();
 	virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+	virtual void performAction(LLInventoryModel* model, std::string action);
 	static void openSoundPreview(void*);
 };
 
diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp
index 000eee3317e5f735386045a0769cde13eeadeb5b..47b14811a81308dd3e4823e76dd5fdba4af4e17c 100755
--- a/indra/newview/llinventoryfilter.cpp
+++ b/indra/newview/llinventoryfilter.cpp
@@ -124,13 +124,6 @@ bool LLInventoryFilter::checkFolder(const LLFolderViewModelItem* item) const
 
 bool LLInventoryFilter::checkFolder(const LLUUID& folder_id) const
 {
-	// when applying a filter, matching folders get their contents downloaded first
-	if (isNotDefault()
-		&& !gInventory.isCategoryComplete(folder_id))
-	{
-		LLInventoryModelBackgroundFetch::instance().start(folder_id);
-	}
-
 	// Always check against the clipboard
 	const BOOL passed_clipboard = checkAgainstClipboard(folder_id);
 	
@@ -140,6 +133,13 @@ bool LLInventoryFilter::checkFolder(const LLUUID& folder_id) const
 		return passed_clipboard;
 	}
 
+	// when applying a filter, matching folders get their contents downloaded first
+	if (mFilterSubString.size()
+		&& !gInventory.isCategoryComplete(folder_id))
+	{
+		LLInventoryModelBackgroundFetch::instance().start(folder_id);
+	}
+
 	// show folder links
 	LLViewerInventoryItem* item = gInventory.getItem(folder_id);
 	if (item && item->getActualType() == LLAssetType::AT_LINK_FOLDER)
@@ -177,6 +177,7 @@ bool LLInventoryFilter::checkAgainstFilterType(const LLFolderViewModelItemInvent
 	// Pass if this item's type is of the correct filter type
 	if (filterTypes & FILTERTYPE_OBJECT)
 	{
+
 		// If it has no type, pass it, unless it's a link.
 		if (object_type == LLInventoryType::IT_NONE)
 		{
@@ -244,13 +245,25 @@ bool LLInventoryFilter::checkAgainstFilterType(const LLFolderViewModelItemInvent
 			bool is_hidden_if_empty = LLViewerFolderType::lookupIsHiddenIfEmpty(listener->getPreferredType());
 			if (is_hidden_if_empty)
 			{
-				// Force the fetching of those folders so they are hidden iff they really are empty...
+				// Force the fetching of those folders so they are hidden if they really are empty...
 				gInventory.fetchDescendentsOf(object_id);
-				return FALSE;
+
+				LLInventoryModel::cat_array_t* cat_array = NULL;
+				LLInventoryModel::item_array_t* item_array = NULL;
+				gInventory.getDirectDescendentsOf(object_id,cat_array,item_array);
+				S32 descendents_actual = 0;
+				if(cat_array && item_array)
+				{
+					descendents_actual = cat_array->size() + item_array->size();
+				}
+				if (descendents_actual == 0)
+				{
+					return FALSE;
+				}
 			}
 		}
 	}
-	
+
 	return TRUE;
 }
 
@@ -972,6 +985,11 @@ void LLInventoryFilter::fromParams(const Params& params)
 	setDateRangeLastLogoff(params.since_logoff);
 }
 
+U64 LLInventoryFilter::getFilterTypes() const
+{
+	return mFilterOps.mFilterTypes;
+}
+
 U64 LLInventoryFilter::getFilterObjectTypes() const
 {
 	return mFilterOps.mFilterObjectTypes;
diff --git a/indra/newview/llinventoryfilter.h b/indra/newview/llinventoryfilter.h
index ce516af0b93584d82e674042bda95b6cb8ae13be..094fda7707f2e32fd5d1b35b488289247382cd03 100755
--- a/indra/newview/llinventoryfilter.h
+++ b/indra/newview/llinventoryfilter.h
@@ -151,6 +151,7 @@ class LLInventoryFilter : public LLFolderViewFilter
 	// +-------------------------------------------------------------------+
 	// + Parameters
 	// +-------------------------------------------------------------------+
+	U64 				getFilterTypes() const;
 	U64 				getFilterObjectTypes() const;
 	U64					getFilterCategoryTypes() const;
 	U64					getFilterWearableTypes() const;
diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp
index 1e7825a13e3ac70a4a6980bdb571942d7319379f..1abc09bf3b7fc49b7e6b496671048a13ac083034 100755
--- a/indra/newview/llinventoryfunctions.cpp
+++ b/indra/newview/llinventoryfunctions.cpp
@@ -881,7 +881,7 @@ bool LLFindWearablesEx::operator()(LLInventoryCategory* cat, LLInventoryItem* it
 	if (!vitem) return false;
 
 	// Skip non-wearables.
-	if (!vitem->isWearableType() && vitem->getType() != LLAssetType::AT_OBJECT)
+	if (!vitem->isWearableType() && vitem->getType() != LLAssetType::AT_OBJECT && vitem->getType() != LLAssetType::AT_GESTURE)
 	{
 		return false;
 	}
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index a4a85e2e8da2f2af2917b3cc48ca975b1fe0ecb7..ce7d4f50add81906ab96e52349310e3634bb4b88 100755
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -336,7 +336,9 @@ LLInventoryFilter& LLInventoryPanel::getFilter()
 void LLInventoryPanel::setFilterTypes(U64 types, LLInventoryFilter::EFilterType filter_type)
 {
 	if (filter_type == LLInventoryFilter::FILTERTYPE_OBJECT)
+	{
 		getFilter().setFilterObjectTypes(types);
+	}
 	if (filter_type == LLInventoryFilter::FILTERTYPE_CATEGORY)
 		getFilter().setFilterCategoryTypes(types);
 }
@@ -581,6 +583,22 @@ void LLInventoryPanel::modelChanged(U32 mask)
 			}
 		}
 	}
+
+	if (mask & (LLInventoryObserver::STRUCTURE | LLInventoryObserver::REMOVE))
+	{
+		// STRUCTURE and REMOVE model changes usually fail to update (clean)
+		// mMostFilteredDescendantGeneration of parent folder and dirtyFilter()
+		// is not sufficient for successful filter update, so we need to check
+		// all already passed element over again to remove obsolete elements.
+		// New items or moved items should be sufficiently covered by
+		// dirtyFilter().
+		LLInventoryFilter& filter = getFilter();
+		if (filter.getFilterTypes() & LLInventoryFilter::FILTERTYPE_DATE
+			|| filter.isNotDefault())
+		{
+			filter.setModified(LLFolderViewFilter::FILTER_MORE_RESTRICTIVE);
+		}
+	}
 }
 
 LLUUID LLInventoryPanel::getRootFolderID()
@@ -1390,6 +1408,17 @@ BOOL LLInventoryPanel::handleKeyHere( KEY key, MASK mask )
 		// Open selected items if enter key hit on the inventory panel
 		if (mask == MASK_NONE)
 		{
+			//Don't allow attaching or opening items from Merchant Outbox
+			LLFolderViewItem* folder_item = mFolderRoot.get()->getCurSelectedItem();
+			if(folder_item)
+			{
+				LLInvFVBridge* bridge = (LLInvFVBridge*)folder_item->getViewModelItem();
+				if(bridge && bridge->isOutboxFolder() && (bridge->getInventoryType() != LLInventoryType::IT_CATEGORY))
+				{
+					return handled;
+				}
+			}
+
 			LLInventoryAction::doToSelected(mInventory, mFolderRoot.get(), "open");
 			handled = TRUE;
 		}
diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp
index b91e37d596e3f21dda8430d604ae0c7c3a6ff7b5..897ee8429a75eb1c9205d3bcdfd3d5da349de966 100755
--- a/indra/newview/lllocalbitmaps.cpp
+++ b/indra/newview/lllocalbitmaps.cpp
@@ -61,7 +61,9 @@
 #include "llnotificationsutil.h"
 #include "pipeline.h"
 #include "llmaterialmgr.h"
-
+#include "llimagedimensionsinfo.h"
+#include "llviewercontrol.h"
+#include "lltrans.h"
 /*=======================================*/
 /*  Formal declarations, constants, etc. */
 /*=======================================*/ 
@@ -845,6 +847,12 @@ bool LLLocalBitmapMgr::addUnit()
 		std::string filename = picker.getFirstFile();
 		while(!filename.empty())
 		{
+			if(!checkTextureDimensions(filename))
+			{
+				filename = picker.getNextFile();
+				continue;
+			}
+
 			LLLocalBitmap* unit = new LLLocalBitmap(filename);
 
 			if (unit->getValid())
@@ -874,6 +882,37 @@ bool LLLocalBitmapMgr::addUnit()
 	return add_successful;
 }
 
+bool LLLocalBitmapMgr::checkTextureDimensions(std::string filename)
+{
+	std::string exten = gDirUtilp->getExtension(filename);
+	U32 codec = LLImageBase::getCodecFromExtension(exten);
+	std::string mImageLoadError;
+	LLImageDimensionsInfo image_info;
+	if (!image_info.load(filename,codec))
+	{
+		return false;
+	}
+
+	S32 max_width = gSavedSettings.getS32("max_texture_dimension_X");
+	S32 max_height = gSavedSettings.getS32("max_texture_dimension_Y");
+
+	if ((image_info.getWidth() > max_width) || (image_info.getHeight() > max_height))
+	{
+		LLStringUtil::format_map_t args;
+		args["WIDTH"] = llformat("%d", max_width);
+		args["HEIGHT"] = llformat("%d", max_height);
+		mImageLoadError = LLTrans::getString("texture_load_dimensions_error", args);
+
+		LLSD notif_args;
+		notif_args["REASON"] = mImageLoadError;
+		LLNotificationsUtil::add("CannotUploadTexture", notif_args);
+
+		return false;
+	}
+
+	return true;
+}
+
 void LLLocalBitmapMgr::delUnit(LLUUID tracking_id)
 {
 	if (!sBitmapList.empty())
diff --git a/indra/newview/lllocalbitmaps.h b/indra/newview/lllocalbitmaps.h
index a15ea10801f6748835c7b5c6796f41e4a0f9d520..59467922b4d46bd9d006fbb58f31087194e8b1d1 100755
--- a/indra/newview/lllocalbitmaps.h
+++ b/indra/newview/lllocalbitmaps.h
@@ -120,6 +120,7 @@ class LLLocalBitmapMgr
 		static void			cleanupClass();
 		static bool         addUnit();
 		static void         delUnit(LLUUID tracking_id);
+		static bool 		checkTextureDimensions(std::string filename);
 
 		static LLUUID       getWorldID(LLUUID tracking_id);
 		static std::string  getFilename(LLUUID tracking_id);
diff --git a/indra/newview/llmanip.cpp b/indra/newview/llmanip.cpp
index bbcdcb126d0abeace5d7af5aab742cd8da121d43..0935691ebcfe62d9e80c4d046aca752411efc5a7 100755
--- a/indra/newview/llmanip.cpp
+++ b/indra/newview/llmanip.cpp
@@ -62,7 +62,7 @@ F32		LLManip::sHelpTextFadeTime = 2.f;
 S32		LLManip::sNumTimesHelpTextShown = 0;
 S32		LLManip::sMaxTimesShowHelpText = 5;
 F32		LLManip::sGridMaxSubdivisionLevel = 32.f;
-F32		LLManip::sGridMinSubdivisionLevel = 1.f;
+F32		LLManip::sGridMinSubdivisionLevel = 1.f / 32.f;
 LLVector2 LLManip::sTickLabelSpacing(60.f, 25.f);
 
 
@@ -176,7 +176,7 @@ BOOL LLManip::getManipAxis(LLViewerObject* object, EManipPart manip, LLVector3 &
 	return TRUE;
 }
 
-F32 LLManip::getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing)
+F32 LLManip::getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing, F32 min_subdivisions, F32 max_subdivisions)
 {
 	//update current snap subdivision level
 	LLVector3 cam_to_reference;
@@ -192,7 +192,8 @@ F32 LLManip::getSubdivisionLevel(const LLVector3 &reference_point, const LLVecto
 
 	F32 projected_translation_axis_length = (translate_axis % cam_to_reference).magVec();
 	F32 subdivisions = llmax(projected_translation_axis_length * grid_scale / (current_range / LLViewerCamera::getInstance()->getPixelMeterRatio() * min_pixel_spacing), 0.f);
-	subdivisions = llclamp((F32)pow(2.f, llfloor(log(subdivisions) / log(2.f))), 1.f / 32.f, 32.f);
+	// figure out nearest power of 2 that subdivides grid_scale with result > min_pixel_spacing
+	subdivisions = llclamp((F32)pow(2.f, llfloor(log(subdivisions) / log(2.f))), min_subdivisions, max_subdivisions);
 
 	return subdivisions;
 }
@@ -548,37 +549,31 @@ void LLManip::renderTickValue(const LLVector3& pos, F32 value, const std::string
 	BOOL hud_selection = mObjectSelection->getSelectType() == SELECT_TYPE_HUD;
 	gGL.matrixMode(LLRender::MM_MODELVIEW);
 	gGL.pushMatrix();
-	LLVector3 render_pos = pos;
-	if (hud_selection)
 	{
-		F32 zoom_amt = gAgentCamera.mHUDCurZoom;
-		F32 inv_zoom_amt = 1.f / zoom_amt;
-		// scale text back up to counter-act zoom level
-		render_pos = pos * zoom_amt;
-		gGL.scalef(inv_zoom_amt, inv_zoom_amt, inv_zoom_amt);
-	}
-
-	LLColor4 shadow_color = LLColor4::black;
-	shadow_color.mV[VALPHA] = color.mV[VALPHA] * 0.5f;
+		LLVector3 render_pos = pos;
+		if (hud_selection)
+		{
+			F32 zoom_amt = gAgentCamera.mHUDCurZoom;
+			F32 inv_zoom_amt = 1.f / zoom_amt;
+			// scale text back up to counter-act zoom level
+			render_pos = pos * zoom_amt;
+			gGL.scalef(inv_zoom_amt, inv_zoom_amt, inv_zoom_amt);
+		}
 
-	if (fractional_portion != 0)
-	{
-		fraction_string = llformat("%c%02d%s", LLResMgr::getInstance()->getDecimalPoint(), fractional_portion, suffix.c_str());
+		LLColor4 shadow_color = LLColor4::black;
+		shadow_color.mV[VALPHA] = color.mV[VALPHA] * 0.5f;
 
-		gViewerWindow->setup3DViewport(1, -1);
-		hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -1.f * big_fontp->getWidthF32(val_string), 3.f, shadow_color, hud_selection);
-		hud_render_utf8text(fraction_string, render_pos, *small_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, 1.f, 3.f, shadow_color, hud_selection);
+		if (fractional_portion != 0)
+		{
+			fraction_string = llformat("%c%02d%s", LLResMgr::getInstance()->getDecimalPoint(), fractional_portion, suffix.c_str());
 
-		gViewerWindow->setup3DViewport();
-		hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -1.f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection);
-		hud_render_utf8text(fraction_string, render_pos, *small_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, 1.f, 3.f, color, hud_selection);
-	}
-	else
-	{
-		gViewerWindow->setup3DViewport(1, -1);
-		hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -0.5f * big_fontp->getWidthF32(val_string), 3.f, shadow_color, hud_selection);
-		gViewerWindow->setup3DViewport();
-		hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -0.5f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection);
+			hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW, -1.f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection);
+			hud_render_utf8text(fraction_string, render_pos, *small_fontp, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW, 1.f, 3.f, color, hud_selection);
+		}
+		else
+		{
+			hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW, -0.5f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection);
+		}
 	}
 	gGL.popMatrix();
 }
diff --git a/indra/newview/llmanip.h b/indra/newview/llmanip.h
index 6263e4244ff5a12e21fdd4e68ab9d6e8253e23bd..1fb05e047a93b6b41605c301c7228be973d1108d 100755
--- a/indra/newview/llmanip.h
+++ b/indra/newview/llmanip.h
@@ -137,7 +137,7 @@ class LLManip : public LLTool
 	LLVector3			getPivotPoint();
 	void				getManipNormal(LLViewerObject* object, EManipPart manip, LLVector3 &normal);
 	BOOL				getManipAxis(LLViewerObject* object, EManipPart manip, LLVector3 &axis);
-	F32					getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing = MIN_DIVISION_PIXEL_WIDTH);
+	F32					getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing = MIN_DIVISION_PIXEL_WIDTH, F32 min_subdivisions = sGridMinSubdivisionLevel, F32 max_subdivisions = sGridMaxSubdivisionLevel);
 	void				renderTickValue(const LLVector3& pos, F32 value, const std::string& suffix, const LLColor4 &color);
 	void				renderTickText(const LLVector3& pos, const std::string& suffix, const LLColor4 &color);
 	void				updateGridSettings();
diff --git a/indra/newview/llmaniptranslate.cpp b/indra/newview/llmaniptranslate.cpp
index 8a89131c43846bdffc6970509479900f18c05226..d22672bc16753c2265612b6e046286326e0b8855 100755
--- a/indra/newview/llmaniptranslate.cpp
+++ b/indra/newview/llmaniptranslate.cpp
@@ -374,7 +374,7 @@ BOOL LLManipTranslate::handleMouseDownOnPart( S32 x, S32 y, MASK mask )
 	//LLVector3 select_center_agent = gAgent.getPosAgentFromGlobal(LLSelectMgr::getInstance()->getSelectionCenterGlobal());
 	// TomY: The above should (?) be identical to the below
 	LLVector3 select_center_agent = getPivotPoint();
-	mSubdivisions = llclamp(getSubdivisionLevel(select_center_agent, axis_exists ? axis : LLVector3::z_axis, getMinGridScale()), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel);
+	mSubdivisions = getSubdivisionLevel(select_center_agent, axis_exists ? axis : LLVector3::z_axis, getMinGridScale());
 
 	// if we clicked on a planar manipulator, recenter mouse cursor
 	if (mManipPart >= LL_YZ_PLANE && mManipPart <= LL_XY_PLANE)
@@ -516,7 +516,7 @@ BOOL LLManipTranslate::handleHover(S32 x, S32 y, MASK mask)
 	LLSelectMgr::getInstance()->updateSelectionCenter();
 	LLVector3d current_pos_global = gAgent.getPosGlobalFromAgent(getPivotPoint());
 
-	mSubdivisions = llclamp(getSubdivisionLevel(getPivotPoint(), axis_f, getMinGridScale()), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel);
+	mSubdivisions = getSubdivisionLevel(getPivotPoint(), axis_f, getMinGridScale());
 
 	// Project the cursor onto that plane
 	LLVector3d relative_move;
@@ -606,7 +606,7 @@ BOOL LLManipTranslate::handleHover(S32 x, S32 y, MASK mask)
 				max_grid_scale = mGridScale.mV[VZ];
 			}
 
-			F32 num_subdivisions = llclamp(getSubdivisionLevel(getPivotPoint(), camera_projected_dir, max_grid_scale), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel);
+			F32 num_subdivisions = getSubdivisionLevel(getPivotPoint(), camera_projected_dir, max_grid_scale);
 
 			F32 grid_scale_a;
 			F32 grid_scale_b;
@@ -1254,6 +1254,7 @@ void LLManipTranslate::renderSnapGuides()
 		for (S32 pass = 0; pass < 3; pass++)
 		{
 			LLColor4 line_color = setupSnapGuideRenderPass(pass);
+			LLGLDepthTest gls_depth(pass != 1);
 
 			gGL.begin(LLRender::LINES);
 			{
@@ -1285,7 +1286,7 @@ void LLManipTranslate::renderSnapGuides()
 				{
 					tick_start = selection_center + (translate_axis * (smallest_grid_unit_scale * (F32)i - offset_nearest_grid_unit));
 
-					F32 cur_subdivisions = llclamp(getSubdivisionLevel(tick_start, translate_axis, getMinGridScale()), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel);
+					F32 cur_subdivisions = getSubdivisionLevel(tick_start, translate_axis, getMinGridScale());
 
 					if (fmodf((F32)(i + sub_div_offset), (max_subdivisions / cur_subdivisions)) != 0.f)
 					{
@@ -1383,7 +1384,7 @@ void LLManipTranslate::renderSnapGuides()
 				tick_scale *= 0.7f;
 			}
 
-			if (fmodf((F32)(i + sub_div_offset), (max_subdivisions / llmin(sGridMaxSubdivisionLevel, getSubdivisionLevel(tick_pos, translate_axis, getMinGridScale(), tick_label_spacing)))) == 0.f)
+			if (fmodf((F32)(i + sub_div_offset), (max_subdivisions / getSubdivisionLevel(tick_pos, translate_axis, getMinGridScale(), tick_label_spacing))) == 0.f)
 			{
 				F32 snap_offset_meters;
 
diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp
index 086bc1c1860348ce04c26b6933ef4974ab8bd596..f4e08dc7907ae0435d6c70cc2689358df66f4e96 100755
--- a/indra/newview/llmediactrl.cpp
+++ b/indra/newview/llmediactrl.cpp
@@ -507,6 +507,16 @@ void LLMediaCtrl::navigateForward()
 	}
 }
 
+////////////////////////////////////////////////////////////////////////////////
+//
+void LLMediaCtrl::navigateStop()
+{
+	if (mMediaSource && mMediaSource->hasMedia())
+	{
+		mMediaSource->getMediaPlugin()->browse_stop();
+	}
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 //
 bool LLMediaCtrl::canNavigateBack()
diff --git a/indra/newview/llmediactrl.h b/indra/newview/llmediactrl.h
index b6ed0f3fabd09367e27497dd0ba5c0c3558e81d8..785c57b78abbdabc99a8bc4dbf16829b7e773c2b 100755
--- a/indra/newview/llmediactrl.h
+++ b/indra/newview/llmediactrl.h
@@ -99,6 +99,7 @@ class LLMediaCtrl :
 		void navigateBack();
 		void navigateHome();
 		void navigateForward();	
+		void navigateStop();
 		void navigateToLocalPage( const std::string& subdir, const std::string& filename_in );
 		bool canNavigateBack();
 		bool canNavigateForward();
diff --git a/indra/newview/llnotificationstorage.cpp b/indra/newview/llnotificationstorage.cpp
index 2923221c90787356742b9ad8ee66fa9ef7d86ccd..e9970de58c8b02e8f119ba7bcb947fb53c8a6527 100755
--- a/indra/newview/llnotificationstorage.cpp
+++ b/indra/newview/llnotificationstorage.cpp
@@ -103,19 +103,21 @@ bool LLNotificationStorage::writeNotifications(const LLSD& pNotificationData) co
 	return didFileOpen;
 }
 
-bool LLNotificationStorage::readNotifications(LLSD& pNotificationData) const
+bool LLNotificationStorage::readNotifications(LLSD& pNotificationData, bool is_new_filename) const
 {
-	LL_INFOS("LLNotificationStorage") << "starting read '" << mFileName << "'" << LL_ENDL;
+	std::string filename = is_new_filename? mFileName : mOldFileName;
+
+	LL_INFOS("LLNotificationStorage") << "starting read '" << filename << "'" << LL_ENDL;
 
 	bool didFileRead;
 
 	pNotificationData.clear();
 
-	llifstream notifyFile(mFileName.c_str());
+	llifstream notifyFile(filename.c_str());
 	didFileRead = notifyFile.is_open();
 	if (!didFileRead)
 	{
-		LL_WARNS("LLNotificationStorage") << "Failed to open file '" << mFileName << "'" << LL_ENDL;
+		LL_WARNS("LLNotificationStorage") << "Failed to open file '" << filename << "'" << LL_ENDL;
 	}
 	else
 	{
@@ -128,7 +130,19 @@ bool LLNotificationStorage::readNotifications(LLSD& pNotificationData) const
 		}
 	}
 
-	LL_INFOS("LLNotificationStorage") << "ending read '" << mFileName << "'" << LL_ENDL;
+	LL_INFOS("LLNotificationStorage") << "ending read '" << filename << "'" << LL_ENDL;
+	if (!didFileRead)
+	{
+		if(is_new_filename)
+		{
+			didFileRead = readNotifications(pNotificationData, false);
+			if(didFileRead)
+			{
+				writeNotifications(pNotificationData);
+				LLFile::remove(mOldFileName);
+			}
+		}
+	}
 
 	return didFileRead;
 }
diff --git a/indra/newview/llnotificationstorage.h b/indra/newview/llnotificationstorage.h
index 53fd898ea4ee09b1e694945babb0fa48724311ef..21d7123747db9139f23f33e2adc865792ea4674d 100755
--- a/indra/newview/llnotificationstorage.h
+++ b/indra/newview/llnotificationstorage.h
@@ -43,13 +43,15 @@ class LLNotificationStorage
 
 protected:
 	bool writeNotifications(const LLSD& pNotificationData) const;
-	bool readNotifications(LLSD& pNotificationData) const;
+	bool readNotifications(LLSD& pNotificationData, bool is_new_filename = true) const;
 	void setFileName(std::string pFileName) {mFileName = pFileName;}
+	void setOldFileName(std::string pFileName) {mOldFileName = pFileName;}
 
 	LLNotificationResponderInterface* createResponder(const std::string& pNotificationName, const LLSD& pParams) const;
 
 private:
 	std::string mFileName;
+	std::string mOldFileName;
 };
 
 #endif // LL_NOTIFICATIONSTORAGE_H
diff --git a/indra/newview/llpanelcontents.cpp b/indra/newview/llpanelcontents.cpp
index 89a9e0dc16b2e89a8dfdd48c20231bbd001f9756..407cbfc47b78a917405a88593891c9b06b0fa005 100755
--- a/indra/newview/llpanelcontents.cpp
+++ b/indra/newview/llpanelcontents.cpp
@@ -142,6 +142,13 @@ void LLPanelContents::refresh()
 	}	
 }
 
+void LLPanelContents::clearContents()
+{
+	if (mPanelInventoryObject)
+	{
+		mPanelInventoryObject->clearInventoryTask();
+	}
+}
 
 
 //
diff --git a/indra/newview/llpanelcontents.h b/indra/newview/llpanelcontents.h
index ad62e13bc282360a8bceb3428aadbb8cf37abe5b..6ecc78afa0d297926f9f33d11ee31c766ad8c029 100755
--- a/indra/newview/llpanelcontents.h
+++ b/indra/newview/llpanelcontents.h
@@ -48,6 +48,7 @@ class LLPanelContents : public LLPanel
 	virtual ~LLPanelContents();
 
 	void			refresh();
+	void			clearContents();
 
 
 	static void		onClickNewScript(void*);
diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp
index ac00c5d986e28640ec24134acebdd049231c7889..19a86cdceae1b28972fcbd28cfa14dac7f629f7c 100755
--- a/indra/newview/llpaneleditwearable.cpp
+++ b/indra/newview/llpaneleditwearable.cpp
@@ -860,10 +860,8 @@ void LLPanelEditWearable::draw()
 
 void LLPanelEditWearable::onClose()
 {
-	if ( isDirty() )
-	{
-		revertChanges();
-	}
+	// any unsaved changes should be reverted at this point
+	revertChanges();
 }
 
 void LLPanelEditWearable::setVisible(BOOL visible)
@@ -951,7 +949,7 @@ void LLPanelEditWearable::onCommitSexChange()
         gAgentAvatarp->updateSexDependentLayerSets();
 
         gAgentAvatarp->updateVisualParams();
-
+        showWearable(mWearablePtr, TRUE, TRUE);
         updateScrollingPanelUI();
 }
 
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index e3be1312e45bafdc19db4b7d7eff04493a998cdd..02e05d3d9a8978b8aeaed28d9f11c793d79257df 100755
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -1848,6 +1848,8 @@ void LLPanelFace::onCancelNormalTexture(const LLSD& data)
 	U8 bumpy = 0;
 	bool identical_bumpy = false;
 	LLSelectedTE::getBumpmap(bumpy, identical_bumpy);
+	LLUUID spec_map_id = getChild<LLTextureCtrl>("bumpytexture control")->getImageAssetID();
+	bumpy = spec_map_id.isNull() ? bumpy : BUMPY_TEXTURE;
 	sendBump(bumpy);
 }
 
diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp
index 1d7ba4d741196a25556692146f0c2375d9d64a6a..c3a10b3fa06531d681953203326708cb7e8707dc 100755
--- a/indra/newview/llpanelgrouproles.cpp
+++ b/indra/newview/llpanelgrouproles.cpp
@@ -1961,7 +1961,7 @@ bool LLPanelGroupRolesSubTab::needsApply(std::string& mesg)
 	LLGroupMgrGroupData* gdatap = LLGroupMgr::getInstance()->getGroupData(mGroupID);
 	if(!gdatap)
 	{
-		llwarns << "Unable to get group data for group " << mGroupID << llendl;
+		LL_WARNS() << "Unable to get group data for group " << mGroupID << LL_ENDL;
 		return false;
 	}
 
@@ -2389,8 +2389,8 @@ void LLPanelGroupRolesSubTab::handleActionCheck(LLUICtrl* ctrl, bool force)
 		}
 		else
 		{
-			llwarns << "Unable to look up role information for role id: "
-				<< role_id << llendl;
+			LL_WARNS() << "Unable to look up role information for role id: "
+				<< role_id << LL_ENDL;
 		}
 		
 		//////////////////////////////////////////////////////////////////////////
@@ -2835,7 +2835,7 @@ void LLPanelGroupActionsSubTab::setGroupID(const LLUUID& id)
 	if(mActionMembers) mActionMembers->deleteAllItems();
 
 	if(mActionDescription) mActionDescription->clear();
-
+	
 	LLPanelGroupSubTab::setGroupID(id);
 }
 
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index 088eaa8e0d26cd4f02e4ea01ca6a16d8f1b41673..abdfa89f500e734f841e06cc3c14a346b3dcdfc5 100755
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -225,11 +225,16 @@ void LLPanelLogin::addUsersWithFavoritesToUsername()
 {
 	LLComboBox* combo = getChild<LLComboBox>("username_combo");
 	if (!combo) return;
-	std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
+	std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml");
+	std::string old_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
 	LLSD fav_llsd;
 	llifstream file;
 	file.open(filename);
-	if (!file.is_open()) return;
+	if (!file.is_open())
+	{
+		file.open(old_filename);
+		if (!file.is_open()) return;
+	}
 	LLSDSerialize::fromXML(fav_llsd, file);
 	for (LLSD::map_const_iterator iter = fav_llsd.beginMap();
 		iter != fav_llsd.endMap(); ++iter)
@@ -251,11 +256,17 @@ void LLPanelLogin::addFavoritesToStartLocation()
 
 	// Load favorites into the combo.
 	std::string user_defined_name = getChild<LLComboBox>("username_combo")->getSimple();
-	std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
+	std::replace(user_defined_name.begin(), user_defined_name.end(), '.', ' ');
+	std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml");
+	std::string old_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
 	LLSD fav_llsd;
 	llifstream file;
 	file.open(filename);
-	if (!file.is_open()) return;
+	if (!file.is_open())
+	{
+		file.open(old_filename);
+		if (!file.is_open()) return;
+	}
 	LLSDSerialize::fromXML(fav_llsd, file);
 	for (LLSD::map_const_iterator iter = fav_llsd.beginMap();
 		iter != fav_llsd.endMap(); ++iter)
@@ -954,11 +965,12 @@ void LLPanelLogin::onSelectServer()
 	// The user twiddled with the grid choice ui.
 	// apply the selection to the grid setting.
 	LLPointer<LLCredential> credential;
-	
+
 	LLComboBox* server_combo = getChild<LLComboBox>("server_combo");
 	LLSD server_combo_val = server_combo->getSelectedValue();
 	LL_INFOS("AppInit") << "grid "<<server_combo_val.asString()<< LL_ENDL;
 	LLGridManager::getInstance()->setGridChoice(server_combo_val.asString());
+	addFavoritesToStartLocation();
 	
 	/*
 	 * Determine whether or not the value in the start_location_combo makes sense
diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp
index b02298090ad9f35b1b5a5bd21fb237fe18abd73d..e8a006d0bed981473b624dcceac037a133bda0ba 100755
--- a/indra/newview/llpanelmaininventory.cpp
+++ b/indra/newview/llpanelmaininventory.cpp
@@ -151,7 +151,9 @@ BOOL LLPanelMainInventory::postBuild()
 		recent_items_panel->setSinceLogoff(TRUE);
 		recent_items_panel->setSortOrder(LLInventoryFilter::SO_DATE);
 		recent_items_panel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS);
-		recent_items_panel->getFilter().markDefault();
+		LLInventoryFilter& recent_filter = recent_items_panel->getFilter();
+		recent_filter.setFilterObjectTypes(recent_filter.getFilterObjectTypes() & ~(0x1 << LLInventoryType::IT_CATEGORY));
+		recent_filter.markDefault();
 		recent_items_panel->setSelectCallback(boost::bind(&LLPanelMainInventory::onSelectionChange, this, recent_items_panel, _1, _2));
 	}
 
@@ -382,9 +384,11 @@ BOOL LLPanelMainInventory::filtersVisible(void* user_data)
 
 void LLPanelMainInventory::onClearSearch()
 {
+	BOOL initially_active = FALSE;
 	LLFloater *finder = getFinder();
 	if (mActivePanel)
 	{
+		initially_active = mActivePanel->getFilter().isNotDefault();
 		mActivePanel->setFilterSubString(LLStringUtil::null);
 		mActivePanel->setFilterTypes(0xffffffffffffffffULL);
 		mActivePanel->setFilterLinks(LLInventoryFilter::FILTERLINK_INCLUDE_LINKS);
@@ -395,8 +399,8 @@ void LLPanelMainInventory::onClearSearch()
 		LLFloaterInventoryFinder::selectAllTypes(finder);
 	}
 
-	// re-open folders that were initially open
-	if (mActivePanel)
+	// re-open folders that were initially open in case filter was active
+	if (mActivePanel && (mFilterSubString.size() || initially_active))
 	{
 		mSavedFolderState->setApply(TRUE);
 		mActivePanel->getRootFolder()->applyFunctorRecursively(*mSavedFolderState);
@@ -823,9 +827,9 @@ void LLFloaterInventoryFinder::draw()
 		filtered_by_all_types = FALSE;
 	}
 
-	if (!filtered_by_all_types)
+	if (!filtered_by_all_types || (mPanelMainInventory->getPanel()->getFilter().getFilterTypes() & LLInventoryFilter::FILTERTYPE_DATE))
 	{
-		// don't include folders in filter, unless I've selected everything
+		// don't include folders in filter, unless I've selected everything or filtering by date
 		filter &= ~(0x1 << LLInventoryType::IT_CATEGORY);
 	}
 
diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp
index 665b9ab294137787389e0a8e49cd71101779d236..6354b5a02b2c62e445f4907d58a007afa038146f 100755
--- a/indra/newview/llpanelobjectinventory.cpp
+++ b/indra/newview/llpanelobjectinventory.cpp
@@ -698,6 +698,10 @@ void LLTaskInvFVBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
 	if(isItemRenameable())
 	{
 		items.push_back(std::string("Task Rename"));
+		if ((flags & FIRST_SELECTED_ITEM) == 0)
+		{
+			disabled_items.push_back(std::string("Task Rename"));
+		}
 	}
 	if(isItemRemovable())
 	{
@@ -1862,14 +1866,19 @@ void LLPanelObjectInventory::refresh()
 	}
 	if(!has_inventory)
 	{
-		mTaskUUID = LLUUID::null;
-		removeVOInventoryListener();
-		clearContents();
+		clearInventoryTask();
 	}
 	mInventoryViewModel.setTaskID(mTaskUUID);
 	//LL_INFOS() << "LLPanelObjectInventory::refresh() " << mTaskUUID << LL_ENDL;
 }
 
+void LLPanelObjectInventory::clearInventoryTask()
+{
+	mTaskUUID = LLUUID::null;
+	removeVOInventoryListener();
+	clearContents();
+}
+
 void LLPanelObjectInventory::removeSelectedItem()
 {
 	if(mFolders)
diff --git a/indra/newview/llpanelobjectinventory.h b/indra/newview/llpanelobjectinventory.h
index 9559f7e886186e82597815d894aaf6a67b2f6553..3de49242accf08ad6eedff7422159acff06900ef 100755
--- a/indra/newview/llpanelobjectinventory.h
+++ b/indra/newview/llpanelobjectinventory.h
@@ -62,6 +62,7 @@ class LLPanelObjectInventory : public LLPanel, public LLVOInventoryListener
 	
 	void refresh();
 	const LLUUID& getTaskUUID() { return mTaskUUID;}
+	void clearInventoryTask();
 	void removeSelectedItem();
 	void startRenamingSelectedItem();
 
diff --git a/indra/newview/llpanelpeoplemenus.cpp b/indra/newview/llpanelpeoplemenus.cpp
index 6979ae06e05187d27cd0d38c092c32ed0207d0b7..a5f59dbf4a84de1faae87489116593454c442cea 100755
--- a/indra/newview/llpanelpeoplemenus.cpp
+++ b/indra/newview/llpanelpeoplemenus.cpp
@@ -90,7 +90,7 @@ LLContextMenu* PeopleContextMenu::createMenu()
 		// Set up for multi-selected People
 
 		// registrar.add("Avatar.AddFriend",	boost::bind(&LLAvatarActions::requestFriendshipDialog,	mUUIDs)); // *TODO: unimplemented
-		registrar.add("Avatar.IM",				boost::bind(&LLAvatarActions::startConference,			mUUIDs, LLUUID::null));
+		registrar.add("Avatar.IM",				boost::bind(&PeopleContextMenu::startConference,		this));
 		registrar.add("Avatar.Call",			boost::bind(&LLAvatarActions::startAdhocCall,			mUUIDs, LLUUID::null));
 		registrar.add("Avatar.OfferTeleport",	boost::bind(&PeopleContextMenu::offerTeleport,			this));
 		registrar.add("Avatar.RemoveFriend",	boost::bind(&LLAvatarActions::removeFriendsDialog,		mUUIDs));
@@ -272,6 +272,19 @@ void PeopleContextMenu::offerTeleport()
 	LLAvatarActions::offerTeleport(mUUIDs);
 }
 
+void PeopleContextMenu::startConference()
+{
+	uuid_vec_t uuids;
+	for (uuid_vec_t::const_iterator it = mUUIDs.begin(); it != mUUIDs.end(); ++it)
+	{
+		if(*it != gAgentID)
+		{
+			uuids.push_back(*it);
+		}
+	}
+	LLAvatarActions::startConference(uuids);
+}
+
 //== NearbyPeopleContextMenu ===============================================================
 
 void NearbyPeopleContextMenu::buildContextMenu(class LLMenuGL& menu, U32 flags)
diff --git a/indra/newview/llpanelpeoplemenus.h b/indra/newview/llpanelpeoplemenus.h
index 945382ebc51e7f2cde6dd050c73b3fcd56ec1938..9767bab89f88647c53b08e34386471ad9c7081d5 100755
--- a/indra/newview/llpanelpeoplemenus.h
+++ b/indra/newview/llpanelpeoplemenus.h
@@ -47,6 +47,7 @@ class PeopleContextMenu : public LLListContextMenu
 	bool enableContextMenuItem(const LLSD& userdata);
 	bool checkContextMenuItem(const LLSD& userdata);
 	void offerTeleport();
+	void startConference();
 	void requestTeleport();
 };
 
diff --git a/indra/newview/llpersistentnotificationstorage.cpp b/indra/newview/llpersistentnotificationstorage.cpp
index 8658921dc47d53bd95587306b863cec9c3f54b8b..9e4f50b7a7d2fbeb9c8b97045377d03ab350dbf8 100755
--- a/indra/newview/llpersistentnotificationstorage.cpp
+++ b/indra/newview/llpersistentnotificationstorage.cpp
@@ -35,7 +35,7 @@
 #include "llscreenchannel.h"
 #include "llscriptfloater.h"
 #include "llviewermessage.h"
-
+#include "llviewernetwork.h"
 LLPersistentNotificationStorage::LLPersistentNotificationStorage()
 	: LLSingleton<LLPersistentNotificationStorage>()
 	, LLNotificationStorage("")
@@ -158,7 +158,10 @@ void LLPersistentNotificationStorage::loadNotifications()
 
 void LLPersistentNotificationStorage::initialize()
 {
-	setFileName(gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "open_notifications.xml"));
+	std::string file_name = "open_notifications_" + LLGridManager::getInstance()->getGrid() + ".xml";
+	setFileName(gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, file_name));
+	setOldFileName(gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "open_notifications.xml"));
+
 	LLNotifications::instance().getChannel("Persistent")->
 		connectChanged(boost::bind(&LLPersistentNotificationStorage::onPersistentChannelChanged, this, _1));
 }
diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp
index c4858e241e1c005d762ee19af7f93f92341ec17e..337a63e627802c7ab80e09ea982838065ee9f6eb 100755
--- a/indra/newview/llpreviewnotecard.cpp
+++ b/indra/newview/llpreviewnotecard.cpp
@@ -474,12 +474,17 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)
 												&onSaveComplete,
 												(void*)info,
 												FALSE);
+				return true;
 			}
 			else // !gAssetStorage
 			{
 				LL_WARNS() << "Not connected to an asset storage system." << LL_ENDL;
 				return false;
 			}
+			if(mCloseAfterSave)
+			{
+				closeFloater();
+			}
 		}
 	}
 	return true;
diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp
index 9411b8265b3f4a41181e4b674bb6b307ed1a50f9..a41986373e4b4d5752a046c9232337f8776ccc94 100755
--- a/indra/newview/llpreviewscript.cpp
+++ b/indra/newview/llpreviewscript.cpp
@@ -663,12 +663,13 @@ void LLScriptEdCore::updateDynamicHelp(BOOL immediate)
 	LLTextSegmentPtr segment = NULL;
 	std::vector<LLTextSegmentPtr> selected_segments;
 	mEditor->getSelectedSegments(selected_segments);
-
+	LLKeywordToken* token;
 	// try segments in selection range first
 	std::vector<LLTextSegmentPtr>::iterator segment_iter;
 	for (segment_iter = selected_segments.begin(); segment_iter != selected_segments.end(); ++segment_iter)
 	{
-		if((*segment_iter)->getToken() && (*segment_iter)->getToken()->getType() == LLKeywordToken::TT_WORD)
+		token = (*segment_iter)->getToken();
+		if(token && isKeyword(token))
 		{
 			segment = *segment_iter;
 			break;
@@ -679,7 +680,8 @@ void LLScriptEdCore::updateDynamicHelp(BOOL immediate)
 	if (!segment)
 	{
 		const LLTextSegmentPtr test_segment = mEditor->getPreviousSegment();
-		if(test_segment->getToken() && test_segment->getToken()->getType() == LLKeywordToken::TT_WORD)
+		token = test_segment->getToken();
+		if(token && isKeyword(token))
 		{
 			segment = test_segment;
 		}
@@ -708,6 +710,24 @@ void LLScriptEdCore::updateDynamicHelp(BOOL immediate)
 	}
 }
 
+bool LLScriptEdCore::isKeyword(LLKeywordToken* token)
+{
+	switch(token->getType())
+	{
+		case LLKeywordToken::TT_CONSTANT:
+		case LLKeywordToken::TT_CONTROL:
+		case LLKeywordToken::TT_EVENT:
+		case LLKeywordToken::TT_FUNCTION:
+		case LLKeywordToken::TT_SECTION:
+		case LLKeywordToken::TT_TYPE:
+		case LLKeywordToken::TT_WORD:
+			return true;
+
+		default:
+			return false;
+	}
+}
+
 void LLScriptEdCore::setHelpPage(const std::string& help_string)
 {
 	LLFloater* help_floater = mLiveHelpHandle.get();
@@ -1166,7 +1186,7 @@ void LLScriptEdCore::onBtnSaveToFile( void* userdata )
 	if( self->mSaveCallback )
 	{
 		LLFilePicker& file_picker = LLFilePicker::instance();
-		if( file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT ) )
+		if( file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT, self->mScriptName ) )
 		{
 			std::string filename = file_picker.getFirstFile();
 			std::string scriptText=self->mEditor->getText();
@@ -1948,6 +1968,7 @@ void LLLiveLSLEditor::loadScriptText(LLVFS *vfs, const LLUUID &uuid, LLAssetType
 
 	mScriptEd->setScriptText(LLStringExplicit(&buffer[0]), TRUE);
 	mScriptEd->mEditor->makePristine();
+	mScriptEd->setScriptName(getItem()->getName());
 }
 
 
diff --git a/indra/newview/llpreviewscript.h b/indra/newview/llpreviewscript.h
index 9ea191e92875197c177b7e6c9b3438de02f32f76..66727bceeea963d532eb5aec0b9ab3b020cec395 100755
--- a/indra/newview/llpreviewscript.h
+++ b/indra/newview/llpreviewscript.h
@@ -114,6 +114,8 @@ class LLScriptEdCore : public LLPanel
 
 	virtual bool	hasAccelerators() const { return true; }
 
+	void 			setScriptName(const std::string& name){mScriptName = name;};
+
 private:
 	void		onBtnHelp();
 	void		onBtnDynamicHelp();
@@ -131,6 +133,7 @@ class LLScriptEdCore : public LLPanel
 	void deleteBridges();
 	void setHelpPage(const std::string& help_string);
 	void updateDynamicHelp(BOOL immediate = FALSE);
+	bool isKeyword(LLKeywordToken* token);
 	void addHelpItemToHistory(const std::string& help_string);
 	static void onErrorList(LLUICtrl*, void* user_data);
 
@@ -138,6 +141,7 @@ class LLScriptEdCore : public LLPanel
 
 private:
 	std::string		mSampleText;
+	std::string		mScriptName;
 	LLScriptEditor*	mEditor;
 	void			(*mLoadCallback)(void* userdata);
 	void			(*mSaveCallback)(void* userdata, BOOL close_after_save);
diff --git a/indra/newview/llpreviewsound.cpp b/indra/newview/llpreviewsound.cpp
index 11b81a58fcf44c1c4dad617c79e32f487114fadc..105c5e8cbebf4678f72bb225a390eb32d4b483e7 100755
--- a/indra/newview/llpreviewsound.cpp
+++ b/indra/newview/llpreviewsound.cpp
@@ -95,7 +95,6 @@ void LLPreviewSound::auditionSound( void *userdata )
 
 	if(item && gAudiop)
 	{
-		LLVector3d lpos_global = gAgent.getPositionGlobal();
-		gAudiop->triggerSound(item->getAssetUUID(), gAgent.getID(), SOUND_GAIN, LLAudioEngine::AUDIO_TYPE_SFX, lpos_global);
+		gAudiop->triggerSound(item->getAssetUUID(), gAgent.getID(), SOUND_GAIN, LLAudioEngine::AUDIO_TYPE_SFX);
 	}
 }
diff --git a/indra/newview/llscenemonitor.cpp b/indra/newview/llscenemonitor.cpp
index 7f705e44d2e6f4f64a116aabfad2f4b9ac23aa3f..179a73413e07712575020493becc249b950b0182 100644
--- a/indra/newview/llscenemonitor.cpp
+++ b/indra/newview/llscenemonitor.cpp
@@ -709,9 +709,20 @@ void LLSceneMonitorView::onClose(bool app_quitting)
 	setVisible(false);	
 }
 
+void LLSceneMonitorView::onClickCloseBtn(bool app_quitting)
+{
+	setVisible(false);
+}
+
 void LLSceneMonitorView::onVisibilityChange(BOOL visible)
 {
-	visible = visible && LLGLSLShader::sNoFixedFunction;
+	if (!LLGLSLShader::sNoFixedFunction && visible)
+	{
+		visible = false;
+		// keep Scene monitor and its view in sycn
+		setVisible(false);
+		LL_WARNS("SceneMonitor") << "Incompatible graphical settings, Scene Monitor can't be turned on" << LL_ENDL; 
+	}
 	LLSceneMonitor::getInstance()->setDebugViewerVisible(visible);
 }
 
diff --git a/indra/newview/llscenemonitor.h b/indra/newview/llscenemonitor.h
index e9ceb2aa2ab0fc33894b70bca30c303746c93fe5..5bde3b5aabc1a19dadb3624799feb7d9ba049de1 100644
--- a/indra/newview/llscenemonitor.h
+++ b/indra/newview/llscenemonitor.h
@@ -116,6 +116,7 @@ class LLSceneMonitorView : public LLFloater
 
 protected:
 	virtual void onClose(bool app_quitting=false);
+	virtual void onClickCloseBtn(bool app_quitting=false);
 };
 
 extern LLSceneMonitorView* gSceneMonitorView;
diff --git a/indra/newview/llsceneview.cpp b/indra/newview/llsceneview.cpp
index 32f327b7620cbb66ae7f673c76860054fb8c0d54..112fa5b4e1c75733ebfeb5576f88b20a14896a16 100755
--- a/indra/newview/llsceneview.cpp
+++ b/indra/newview/llsceneview.cpp
@@ -56,6 +56,10 @@ void LLSceneView::onClose(bool)
 	setVisible(false);
 }
 
+void LLSceneView::onClickCloseBtn(bool)
+{
+	setVisible(false);
+}
 
 void LLSceneView::draw()
 {
diff --git a/indra/newview/llsceneview.h b/indra/newview/llsceneview.h
index 6d839bcf0816ddf720f2d5819ca77f178044d289..e077c358b4c3639fa8aa728ceb9f9bcbf8df6e70 100755
--- a/indra/newview/llsceneview.h
+++ b/indra/newview/llsceneview.h
@@ -39,6 +39,7 @@ class LLSceneView : public LLFloater
 	
 protected:
 	virtual void onClose(bool app_qutting = false);
+    virtual void onClickCloseBtn(bool app_qutting = false);
 
 
 };
diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp
index 0a8257f42b0fabe86617851dd1637e69c6a2bc6e..5e342099d7c0dcc6b3756f8b3b7eecaffb68acef 100755
--- a/indra/newview/llspatialpartition.cpp
+++ b/indra/newview/llspatialpartition.cpp
@@ -1632,7 +1632,7 @@ void pushVertsColorCoded(LLSpatialGroup* group, U32 mask)
 {
 	LLDrawInfo* params = NULL;
 
-	LLColor4 colors[] = {
+	static const LLColor4 colors[] = {
 		LLColor4::green,
 		LLColor4::green1,
 		LLColor4::green2,
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 0c282a19a5feb67adcf9e0211225873ff070dd5c..74df18810cac243063d136306ad6b06d3caae517 100755
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -2226,7 +2226,6 @@ bool idle_startup()
 		return TRUE;
 	}
 
-	LL_WARNS("AppInit") << "Reached end of idle_startup for state " << LLStartUp::getStartupState() << LL_ENDL;
 	return TRUE;
 }
 
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index 047538a32a9f7d27dd38345760fbfb861b5aa6c8..eedb829b48c424dfcf77ed022a865de04d49cf8d 100755
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -200,6 +200,7 @@ BOOL LLStatusBar::postBuild()
 	sgp.stat.count_stat_float(&LLStatViewer::ACTIVE_MESSAGE_DATA_RECEIVED);
 	sgp.units("Kbps");
 	sgp.precision(0);
+	sgp.per_sec(true);
 	mSGBandwidth = LLUICtrlFactory::create<LLStatGraph>(sgp);
 	addChild(mSGBandwidth);
 	x -= SIM_STAT_WIDTH + 2;
diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp
index c12753acb0963054690216f7f3fedfd50a35db49..a426669b5eb9292441625c3c4c90bb6364a81d68 100755
--- a/indra/newview/lltexturectrl.cpp
+++ b/indra/newview/lltexturectrl.cpp
@@ -118,7 +118,7 @@ class LLFloaterTexturePicker : public LLFloater
 	/*virtual*/ void	onClose(bool app_settings);
 	
 	// New functions
-	void setImageID( const LLUUID& image_asset_id);
+	void setImageID( const LLUUID& image_asset_id, bool set_selection = true);
 	void updateImageStats();
 	const LLUUID& getAssetID() { return mImageAssetID; }
 	const LLUUID& findItemID(const LLUUID& asset_id, BOOL copyable_only);
@@ -232,7 +232,7 @@ LLFloaterTexturePicker::~LLFloaterTexturePicker()
 {
 }
 
-void LLFloaterTexturePicker::setImageID(const LLUUID& image_id)
+void LLFloaterTexturePicker::setImageID(const LLUUID& image_id, bool set_selection /*=true*/)
 {
 	if( mImageAssetID != image_id && mActive)
 	{
@@ -253,6 +253,10 @@ void LLFloaterTexturePicker::setImageID(const LLUUID& image_id)
 				getChild<LLUICtrl>("apply_immediate_check")->setValue(FALSE);
 				mNoCopyTextureSelected = TRUE;
 			}
+		}
+
+		if (set_selection)
+		{
 			mInventoryPanel->setSelection(item_id, TAKE_FOCUS_NO);
 		}
 	}
@@ -461,7 +465,10 @@ BOOL LLFloaterTexturePicker::postBuild()
 
 		// don't put keyboard focus on selected item, because the selection callback
 		// will assume that this was user input
-		mInventoryPanel->setSelection(findItemID(mImageAssetID, FALSE), TAKE_FOCUS_NO);
+		if(!mImageAssetID.isNull())
+		{
+			mInventoryPanel->setSelection(findItemID(mImageAssetID, FALSE), TAKE_FOCUS_NO);
+		}
 	}
 
 	mModeSelector = getChild<LLRadioGroup>("mode_selection");
@@ -820,7 +827,7 @@ void LLFloaterTexturePicker::onSelectionChange(const std::deque<LLFolderViewItem
 			{
 				mNoCopyTextureSelected = TRUE;
 			}
-			setImageID(itemp->getAssetUUID());
+			setImageID(itemp->getAssetUUID(),false);
 			mViewModel->setDirty(); // *TODO: shouldn't we be using setValue() here?
 			if (user_action && mCanPreview)
 			{
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index 9ea46cab68ebae968eab73d361cc00db35c9d2f4..425e339713958f219713c7caf2f5ec0813ef7bd0 100755
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -4,7 +4,7 @@
  *
  * $LicenseInfo:firstyear=2000&license=viewerlgpl$
  * Second Life Viewer Source Code
- * Copyright (C) 2012-2013, Linden Research, Inc.
+ * Copyright (C) 2012-2014, Linden Research, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -244,6 +244,13 @@ LLTrace::EventStatHandle<F64Milliseconds > LLTextureFetch::sCacheReadLatency("te
 static const S32 HTTP_REQUESTS_IN_QUEUE_HIGH_WATER = 40;		// Maximum requests to have active in HTTP
 static const S32 HTTP_REQUESTS_IN_QUEUE_LOW_WATER = 20;			// Active level at which to refill
 
+// BUG-3323/SH-4375
+// *NOTE:  This is a heuristic value.  Texture fetches have a habit of using a
+// value of 32MB to indicate 'get the rest of the image'.  Certain ISPs and
+// network equipment get confused when they see this in a Range: header.  So,
+// if the request end is beyond this value, we issue an open-ended Range:
+// request (e.g. 'Range: <start>-') which seems to fix the problem.
+static const S32 HTTP_REQUESTS_RANGE_END_MAX = 20000000;
 
 //////////////////////////////////////////////////////////////////////////////
 
@@ -266,6 +273,9 @@ static const char* e_state_name[] =
 	"DONE"
 };
 
+// Log scope
+static const char * const LOG_TXT = "Texture";
+
 class LLTextureFetchWorker : public LLWorkerClass, public LLCore::HttpHandler
 
 {
@@ -926,7 +936,7 @@ LLTextureFetchWorker::LLTextureFetchWorker(LLTextureFetch* fetcher,
 	
 	calcWorkPriority();
 	mType = host.isOk() ? LLImageBase::TYPE_AVATAR_BAKE : LLImageBase::TYPE_NORMAL;
-// 	LL_INFOS() << "Create: " << mID << " mHost:" << host << " Discard=" << discard << LL_ENDL;
+// 	LL_INFOS(LOG_TXT) << "Create: " << mID << " mHost:" << host << " Discard=" << discard << LL_ENDL;
 	if (!mFetcher->mDebugPause)
 	{
 		U32 work_priority = mWorkPriority | LLWorkerThread::PRIORITY_HIGH;
@@ -937,7 +947,7 @@ LLTextureFetchWorker::LLTextureFetchWorker(LLTextureFetch* fetcher,
 
 LLTextureFetchWorker::~LLTextureFetchWorker()
 {
-// 	LL_INFOS() << "Destroy: " << mID
+// 	LL_INFOS(LOG_TXT) << "Destroy: " << mID
 // 			<< " Decoded=" << mDecodedDiscard
 // 			<< " Requested=" << mRequestedDiscard
 // 			<< " Desired=" << mDesiredDiscard << LL_ENDL;
@@ -1001,7 +1011,7 @@ void LLTextureFetchWorker::setupPacketData()
 		mFirstPacket = (data_size - FIRST_PACKET_SIZE) / MAX_IMG_PACKET_SIZE + 1;
 		if (FIRST_PACKET_SIZE + (mFirstPacket-1) * MAX_IMG_PACKET_SIZE != data_size)
 		{
-			LL_WARNS() << "Bad CACHED TEXTURE size: " << data_size << " removing." << LL_ENDL;
+			LL_WARNS(LOG_TXT) << "Bad CACHED TEXTURE size: " << data_size << " removing." << LL_ENDL;
 			removeFromCache();
 			resetFormattedData();
 			clearPackets();
@@ -1124,14 +1134,14 @@ bool LLTextureFetchWorker::doWork(S32 param)
 	{
 		if (mState == INIT || mState == LOAD_FROM_NETWORK || mState == LOAD_FROM_SIMULATOR)
 		{
-			LL_DEBUGS("Texture") << mID << " abort: mImagePriority < F_ALMOST_ZERO" << LL_ENDL;
+			LL_DEBUGS(LOG_TXT) << mID << " abort: mImagePriority < F_ALMOST_ZERO" << LL_ENDL;
 			return true; // abort
 		}
 	}
 	if(mState > CACHE_POST && !mCanUseNET && !mCanUseHTTP)
 	{
 		//nowhere to get data, abort.
-		LL_WARNS("Texture") << mID << " abort, nowhere to get data" << LL_ENDL;
+		LL_WARNS(LOG_TXT) << mID << " abort, nowhere to get data" << LL_ENDL;
 		return true ;
 	}
 
@@ -1177,8 +1187,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
 		setState(LOAD_FROM_TEXTURE_CACHE);
 		mInCache = FALSE;
 		mDesiredSize = llmax(mDesiredSize, TEXTURE_CACHE_ENTRY_SIZE); // min desired size is TEXTURE_CACHE_ENTRY_SIZE
-		LL_DEBUGS("Texture") << mID << ": Priority: " << llformat("%8.0f",mImagePriority)
-							 << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL;
+		LL_DEBUGS(LOG_TXT) << mID << ": Priority: " << llformat("%8.0f",mImagePriority)
+						   << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL;
 
 		// fall through
 	}
@@ -1246,7 +1256,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				//
 				//This should never happen
 				//
-				LL_DEBUGS("Texture") << mID << " this should never happen" << LL_ENDL;
+				LL_DEBUGS(LOG_TXT) << mID << " this should never happen" << LL_ENDL;
 				return false;
 			}
 		}
@@ -1267,15 +1277,15 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			mLoadedDiscard = mDesiredDiscard;
 			if (mLoadedDiscard < 0)
 			{
-				LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard
-									<< ", should be >=0" << LL_ENDL;
+				LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard
+								  << ", should be >=0" << LL_ENDL;
 			}
 			setState(DECODE_IMAGE);
 			mInCache = TRUE;
 			mWriteToCacheState = NOT_WRITE ;
-			LL_DEBUGS("Texture") << mID << ": Cached. Bytes: " << mFormattedImage->getDataSize()
-								 << " Size: " << llformat("%dx%d",mFormattedImage->getWidth(),mFormattedImage->getHeight())
-								 << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL;
+			LL_DEBUGS(LOG_TXT) << mID << ": Cached. Bytes: " << mFormattedImage->getDataSize()
+							   << " Size: " << llformat("%dx%d",mFormattedImage->getWidth(),mFormattedImage->getHeight())
+							   << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL;
 			record(LLTextureFetch::sCacheHitRate, LLUnits::Ratio::fromValue(1));
 		}
 		else
@@ -1283,13 +1293,13 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			if (mUrl.compare(0, 7, "file://") == 0)
 			{
 				// failed to load local file, we're done.
-				LL_WARNS("Texture") << mID << ": abort, failed to load local file " << mUrl << LL_ENDL;
+				LL_WARNS(LOG_TXT) << mID << ": abort, failed to load local file " << mUrl << LL_ENDL;
 				return true;
 			}
 			// need more data
 			else
 			{
-				LL_DEBUGS("Texture") << mID << ": Not in Cache" << LL_ENDL;
+				LL_DEBUGS(LOG_TXT) << mID << ": Not in Cache" << LL_ENDL;
 				setState(LOAD_FROM_NETWORK);
 			}
 			
@@ -1306,11 +1316,11 @@ bool LLTextureFetchWorker::doWork(S32 param)
 		{
 			if (wait_seconds <= 0.0)
 			{
-				LL_INFOS() << mID << " retrying now" << LL_ENDL;
+				LL_INFOS(LOG_TXT) << mID << " retrying now" << LL_ENDL;
 			}
 			else
 			{
-				//LL_INFOS() << mID << " waiting to retry for " << wait_seconds << " seconds" << LL_ENDL;
+				//LL_INFOS(LOG_TXT) << mID << " waiting to retry for " << wait_seconds << " seconds" << LL_ENDL;
 				return false;
 			}
 		}
@@ -1333,7 +1343,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				{
 					if (mFTType != FTT_DEFAULT)
 					{
-						LL_WARNS() << "trying to seek a non-default texture on the sim. Bad!" << LL_ENDL;
+						LL_WARNS(LOG_TXT) << "trying to seek a non-default texture on the sim. Bad!" << LL_ENDL;
 					}
 					setUrl(http_url + "/?texture_id=" + mID.asString().c_str());
 					mWriteToCacheState = CAN_WRITE ; //because this texture has a fixed texture id.
@@ -1346,7 +1356,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			else
 			{
 				// This will happen if not logged in or if a region deoes not have HTTP Texture enabled
-				//LL_WARNS() << "Region not found for host: " << mHost << LL_ENDL;
+				//LL_WARNS(LOG_TXT) << "Region not found for host: " << mHost << LL_ENDL;
 				mCanUseHTTP = false;
 			}
 		}
@@ -1400,20 +1410,20 @@ bool LLTextureFetchWorker::doWork(S32 param)
 		}
 		if (processSimulatorPackets())
 		{
-			LL_DEBUGS("Texture") << mID << ": Loaded from Sim. Bytes: " << mFormattedImage->getDataSize() << LL_ENDL;
+			LL_DEBUGS(LOG_TXT) << mID << ": Loaded from Sim. Bytes: " << mFormattedImage->getDataSize() << LL_ENDL;
 			mFetcher->removeFromNetworkQueue(this, false);
 			if (mFormattedImage.isNull() || !mFormattedImage->getDataSize())
 			{
 				// processSimulatorPackets() failed
-// 				LL_WARNS() << "processSimulatorPackets() failed to load buffer" << LL_ENDL;
-				LL_WARNS("Texture") << mID << " processSimulatorPackets() failed to load buffer" << LL_ENDL;
+// 				LL_WARNS(LOG_TXT) << "processSimulatorPackets() failed to load buffer" << LL_ENDL;
+				LL_WARNS(LOG_TXT) << mID << " processSimulatorPackets() failed to load buffer" << LL_ENDL;
 				return true; // failed
 			}
 			setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
 			if (mLoadedDiscard < 0)
 			{
-				LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard
-									<< ", should be >=0" << LL_ENDL;
+				LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard
+								  << ", should be >=0" << LL_ENDL;
 			}
 			setState(DECODE_IMAGE);
 			mWriteToCacheState = SHOULD_WRITE;
@@ -1463,7 +1473,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 		if (! mCanUseHTTP)
 		{
 			releaseHttpSemaphore();
-			LL_WARNS("Texture") << mID << " abort: SEND_HTTP_REQ but !mCanUseHTTP" << LL_ENDL;
+			LL_WARNS(LOG_TXT) << mID << " abort: SEND_HTTP_REQ but !mCanUseHTTP" << LL_ENDL;
 			return true; // abort
 		}
 
@@ -1482,8 +1492,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
 					setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
 					if (mLoadedDiscard < 0)
 					{
-						LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard
-											<< ", should be >=0" << LL_ENDL;
+						LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard
+										  << ", should be >=0" << LL_ENDL;
 					}
 					setState(DECODE_IMAGE);
 					releaseHttpSemaphore();
@@ -1492,7 +1502,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				else
 				{
 					releaseHttpSemaphore();
-					LL_WARNS("Texture") << mID << " SEND_HTTP_REQ abort: cur_size " << cur_size << " <=0" << LL_ENDL;
+					LL_WARNS(LOG_TXT) << mID << " SEND_HTTP_REQ abort: cur_size " << cur_size << " <=0" << LL_ENDL;
 					return true; // abort.
 				}
 			}
@@ -1523,10 +1533,10 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			mLoaded = FALSE;
 			mGetStatus = LLCore::HttpStatus();
 			mGetReason.clear();
-			LL_DEBUGS("Texture") << "HTTP GET: " << mID << " Offset: " << mRequestedOffset
-								 << " Bytes: " << mRequestedSize
-								 << " Bandwidth(kbps): " << mFetcher->getTextureBandwidth() << "/" << mFetcher->mMaxBandwidth
-								 << LL_ENDL;
+			LL_DEBUGS(LOG_TXT) << "HTTP GET: " << mID << " Offset: " << mRequestedOffset
+							   << " Bytes: " << mRequestedSize
+							   << " Bandwidth(kbps): " << mFetcher->getTextureBandwidth() << "/" << mFetcher->mMaxBandwidth
+							   << LL_ENDL;
 
 			// Will call callbackHttpGet when curl request completes
 			// Only server bake images use the returned headers currently, for getting retry-after field.
@@ -1535,14 +1545,16 @@ bool LLTextureFetchWorker::doWork(S32 param)
 																	  mWorkPriority,
 																	  mUrl,
 																	  mRequestedOffset,
-																	  mRequestedSize,
+																	  (mRequestedOffset + mRequestedSize) > HTTP_REQUESTS_RANGE_END_MAX
+																	  ? 0
+																	  : mRequestedSize,
 																	  options,
 																	  mFetcher->mHttpHeaders,
 																	  this);
 		}
 		if (LLCORE_HTTP_HANDLE_INVALID == mHttpHandle)
 		{
-			LL_WARNS() << "HTTP GET request failed for " << mID << LL_ENDL;
+			LL_WARNS(LOG_TXT) << "HTTP GET request failed for " << mID << LL_ENDL;
 			resetFormattedData();
 			releaseHttpSemaphore();
 			return true; // failed
@@ -1570,7 +1582,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				{
 					if (mFTType != FTT_MAP_TILE)
 					{
-						LL_WARNS() << "Texture missing from server (404): " << mUrl << LL_ENDL;
+						LL_WARNS(LOG_TXT) << "Texture missing from server (404): " << mUrl << LL_ENDL;
 					}
 
 					if(mWriteToCacheState == NOT_WRITE) //map tiles or server bakes
@@ -1579,7 +1591,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 						releaseHttpSemaphore();
 						if (mFTType != FTT_MAP_TILE)
 						{
-							LL_WARNS("Texture") << mID << " abort: WAIT_HTTP_REQ not found" << LL_ENDL;
+							LL_WARNS(LOG_TXT) << mID << " abort: WAIT_HTTP_REQ not found" << LL_ENDL;
 						}
 						return true; 
 					}
@@ -1597,11 +1609,11 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				}
 				else if (http_service_unavail == mGetStatus)
 				{
-					LL_INFOS_ONCE("Texture") << "Texture server busy (503): " << mUrl << LL_ENDL;
-					LL_INFOS() << "503: HTTP GET failed for: " << mUrl
-							<< " Status: " << mGetStatus.toHex()
-							<< " Reason: '" << mGetReason << "'"
-							<< LL_ENDL;
+					LL_INFOS_ONCE(LOG_TXT) << "Texture server busy (503): " << mUrl << LL_ENDL;
+					LL_INFOS(LOG_TXT) << "503: HTTP GET failed for: " << mUrl
+									  << " Status: " << mGetStatus.toHex()
+									  << " Reason: '" << mGetReason << "'"
+									  << LL_ENDL;
 				}
 				else if (http_not_sat == mGetStatus)
 				{
@@ -1610,10 +1622,10 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				}
 				else
 				{
-					LL_INFOS() << "HTTP GET failed for: " << mUrl
-							<< " Status: " << mGetStatus.toTerseString()
-							<< " Reason: '" << mGetReason << "'"
-							<< LL_ENDL;
+					LL_INFOS(LOG_TXT) << "HTTP GET failed for: " << mUrl
+									  << " Status: " << mGetStatus.toTerseString()
+									  << " Reason: '" << mGetReason << "'"
+									  << LL_ENDL;
 				}
 
 				if (mFTType != FTT_SERVER_BAKE)
@@ -1627,8 +1639,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
 					setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
 					if (mLoadedDiscard < 0)
 					{
-						LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard
-											<< ", should be >=0" << LL_ENDL;
+						LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard
+										  << ", should be >=0" << LL_ENDL;
 					}
 					setState(DECODE_IMAGE);
 					releaseHttpSemaphore();
@@ -1639,7 +1651,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				resetFormattedData();
 				setState(DONE);
 				releaseHttpSemaphore();
-				LL_WARNS("Texture") << mID << " abort: fail harder" << LL_ENDL;
+				LL_WARNS(LOG_TXT) << mID << " abort: fail harder" << LL_ENDL;
 				return true; // failed
 			}
 			
@@ -1663,7 +1675,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 
 				// abort.
 				setState(DONE);
-				LL_WARNS("Texture") << mID << " abort: no data received" << LL_ENDL;
+				LL_WARNS(LOG_TXT) << mID << " abort: no data received" << LL_ENDL;
 				releaseHttpSemaphore();
 				return true;
 			}
@@ -1679,8 +1691,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				// Get back into alignment.
 				if (mHttpReplyOffset > cur_size)
 				{
-					LL_WARNS("Texture") << "Partial HTTP response produces break in image data for texture "
-										<< mID << ".  Aborting load."  << LL_ENDL;
+					LL_WARNS(LOG_TXT) << "Partial HTTP response produces break in image data for texture "
+									  << mID << ".  Aborting load."  << LL_ENDL;
 					setState(DONE);
 					releaseHttpSemaphore();
 					return true;
@@ -1731,8 +1743,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			mLoadedDiscard = mRequestedDiscard;
 			if (mLoadedDiscard < 0)
 			{
-				LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard
-									<< ", should be >=0" << LL_ENDL;
+				LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard
+								  << ", should be >=0" << LL_ENDL;
 			}
 			setState(DECODE_IMAGE);
 			if (mWriteToCacheState != NOT_WRITE)
@@ -1773,26 +1785,26 @@ bool LLTextureFetchWorker::doWork(S32 param)
 		{
 			// We aborted, don't decode
 			setState(DONE);
-			LL_DEBUGS("Texture") << mID << " DECODE_IMAGE abort: desired discard " << mDesiredDiscard << "<0" << LL_ENDL;
+			LL_DEBUGS(LOG_TXT) << mID << " DECODE_IMAGE abort: desired discard " << mDesiredDiscard << "<0" << LL_ENDL;
 			return true;
 		}
 		
 		if (mFormattedImage->getDataSize() <= 0)
 		{
-			LL_WARNS() << "Decode entered with invalid mFormattedImage. ID = " << mID << LL_ENDL;
+			LL_WARNS(LOG_TXT) << "Decode entered with invalid mFormattedImage. ID = " << mID << LL_ENDL;
 			
 			//abort, don't decode
 			setState(DONE);
-			LL_DEBUGS("Texture") << mID << " DECODE_IMAGE abort: (mFormattedImage->getDataSize() <= 0)" << LL_ENDL;
+			LL_DEBUGS(LOG_TXT) << mID << " DECODE_IMAGE abort: (mFormattedImage->getDataSize() <= 0)" << LL_ENDL;
 			return true;
 		}
 		if (mLoadedDiscard < 0)
 		{
-			LL_WARNS() << "Decode entered with invalid mLoadedDiscard. ID = " << mID << LL_ENDL;
+			LL_WARNS(LOG_TXT) << "Decode entered with invalid mLoadedDiscard. ID = " << mID << LL_ENDL;
 
 			//abort, don't decode
 			setState(DONE);
-			LL_DEBUGS("Texture") << mID << " DECODE_IMAGE abort: mLoadedDiscard < 0" << LL_ENDL;
+			LL_DEBUGS(LOG_TXT) << mID << " DECODE_IMAGE abort: mLoadedDiscard < 0" << LL_ENDL;
 			return true;
 		}
 
@@ -1803,8 +1815,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
 		U32 image_priority = LLWorkerThread::PRIORITY_NORMAL | mWorkPriority;
 		mDecoded  = FALSE;
 		setState(DECODE_IMAGE_UPDATE);
-		LL_DEBUGS("Texture") << mID << ": Decoding. Bytes: " << mFormattedImage->getDataSize() << " Discard: " << discard
-				<< " All Data: " << mHaveAllData << LL_ENDL;
+		LL_DEBUGS(LOG_TXT) << mID << ": Decoding. Bytes: " << mFormattedImage->getDataSize() << " Discard: " << discard
+						   << " All Data: " << mHaveAllData << LL_ENDL;
 		mDecodeHandle = mFetcher->mImageDecodeThread->decodeImage(mFormattedImage, image_priority, discard, mNeedsAux,
 																  new DecodeResponder(mFetcher, mID, this));
 		// fall though
@@ -1821,11 +1833,11 @@ bool LLTextureFetchWorker::doWork(S32 param)
 
 			if (mDecodedDiscard < 0)
 			{
-				LL_DEBUGS("Texture") << mID << ": Failed to Decode." << LL_ENDL;
+				LL_DEBUGS(LOG_TXT) << mID << ": Failed to Decode." << LL_ENDL;
 				if (mCachedSize > 0 && !mInLocalCache && mRetryAttempt == 0)
 				{
 					// Cache file should be deleted, try again
- 					LL_WARNS() << mID << ": Decode of cached file failed (removed), retrying" << LL_ENDL;
+ 					LL_WARNS(LOG_TXT) << mID << ": Decode of cached file failed (removed), retrying" << LL_ENDL;
 					llassert_always(mDecodeHandle == 0);
 					mFormattedImage = NULL;
 					++mRetryAttempt;
@@ -1835,15 +1847,15 @@ bool LLTextureFetchWorker::doWork(S32 param)
 				}
 				else
 				{
-// 					LL_WARNS() << "UNABLE TO LOAD TEXTURE: " << mID << " RETRIES: " << mRetryAttempt << LL_ENDL;
+// 					LL_WARNS(LOG_TXT) << "UNABLE TO LOAD TEXTURE: " << mID << " RETRIES: " << mRetryAttempt << LL_ENDL;
 					setState(DONE); // failed
 				}
 			}
 			else
 			{
 				llassert_always(mRawImage.notNull());
-				LL_DEBUGS("Texture") << mID << ": Decoded. Discard: " << mDecodedDiscard
-						<< " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL;
+				LL_DEBUGS(LOG_TXT) << mID << ": Decoded. Discard: " << mDecodedDiscard
+								   << " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL;
 				setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
 				setState(WRITE_TO_CACHE);
 			}
@@ -1915,9 +1927,9 @@ bool LLTextureFetchWorker::doWork(S32 param)
 		{
 			// More data was requested, return to INIT
 			setState(INIT);
-			LL_DEBUGS("Texture") << mID << " more data requested, returning to INIT: " 
-								 << " mDecodedDiscard " << mDecodedDiscard << ">= 0 && mDesiredDiscard " << mDesiredDiscard
-								 << "<" << " mDecodedDiscard " << mDecodedDiscard << LL_ENDL;
+			LL_DEBUGS(LOG_TXT) << mID << " more data requested, returning to INIT: " 
+							   << " mDecodedDiscard " << mDecodedDiscard << ">= 0 && mDesiredDiscard " << mDesiredDiscard
+							   << "<" << " mDecodedDiscard " << mDecodedDiscard << LL_ENDL;
 			setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
 			return false;
 		}
@@ -1957,8 +1969,8 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe
 	F32 rate = fake_failure_rate;
 	if (mFTType == FTT_SERVER_BAKE && (fake_failure_rate > 0.0) && (rand_val < fake_failure_rate))
 	{
-		LL_WARNS() << mID << " for debugging, setting fake failure status for texture " << mID
-				<< " (rand was " << rand_val << "/" << rate << ")" << LL_ENDL;
+		LL_WARNS(LOG_TXT) << mID << " for debugging, setting fake failure status for texture " << mID
+						  << " (rand was " << rand_val << "/" << rate << ")" << LL_ENDL;
 		response->setStatus(LLCore::HttpStatus(503));
 	}
 	bool success = true;
@@ -1966,12 +1978,12 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe
 	LLCore::HttpStatus status(response->getStatus());
 	if (!status && (mFTType == FTT_SERVER_BAKE))
 	{
-		LL_INFOS() << mID << " state " << e_state_name[mState] << LL_ENDL;
+		LL_INFOS(LOG_TXT) << mID << " state " << e_state_name[mState] << LL_ENDL;
 		mFetchRetryPolicy.onFailure(response);
 		F32 retry_after;
 		if (mFetchRetryPolicy.shouldRetry(retry_after))
 		{
-			LL_INFOS() << mID << " will retry after " << retry_after << " seconds, resetting state to LOAD_FROM_NETWORK" << LL_ENDL;
+			LL_INFOS(LOG_TXT) << mID << " will retry after " << retry_after << " seconds, resetting state to LOAD_FROM_NETWORK" << LL_ENDL;
 			mFetcher->removeFromHTTPQueue(mID, S32Bytes(0));
 			std::string reason(status.toString());
 			setGetStatus(status, reason);
@@ -1981,7 +1993,7 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe
 		}
 		else
 		{
-			LL_INFOS() << mID << " will not retry" << LL_ENDL;
+			LL_INFOS(LOG_TXT) << mID << " will not retry" << LL_ENDL;
 		}
 	}
 	else
@@ -1989,30 +2001,20 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe
 		mFetchRetryPolicy.onSuccess();
 	}
 	
-	LL_DEBUGS("Texture") << "HTTP COMPLETE: " << mID
-						 << " status: " << status.toTerseString()
-						 << " '" << status.toString() << "'"
-						 << LL_ENDL;
-
-//	unsigned int offset(0), length(0), full_length(0);
-//	response->getRange(&offset, &length, &full_length);
-// 	LL_WARNS() << "HTTP COMPLETE: " << mID << " handle: " << handle
-// 			<< " status: " << status.toULong() << " '" << status.toString() << "'"
-// 			<< " req offset: " << mRequestedOffset << " req length: " << mRequestedSize
-// 			<< " offset: " << offset << " length: " << length
-// 			<< LL_ENDL;
-
 	std::string reason(status.toString());
 	setGetStatus(status, reason);
+	LL_DEBUGS(LOG_TXT) << "HTTP COMPLETE: " << mID
+					   << " status: " << status.toTerseString()
+					   << " '" << reason << "'"
+					   << LL_ENDL;
+
 	if (! status)
 	{
 		success = false;
 		if (mFTType != FTT_MAP_TILE) // missing map tiles are normal, don't complain about them.
 		{
-			std::string reason(status.toString());
-			setGetStatus(status, reason);
-			LL_WARNS() << "CURL GET FAILED, status: " << status.toTerseString()
-					<< " reason: " << reason << LL_ENDL;
+			LL_WARNS(LOG_TXT) << "CURL GET FAILED, status: " << status.toTerseString()
+							  << " reason: " << reason << LL_ENDL;
 		}
 	}
 	else
@@ -2223,13 +2225,13 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response,
 
 	if (mState != WAIT_HTTP_REQ)
 	{
-		LL_WARNS() << "callbackHttpGet for unrequested fetch worker: " << mID
-				<< " req=" << mSentRequest << " state= " << mState << LL_ENDL;
+		LL_WARNS(LOG_TXT) << "callbackHttpGet for unrequested fetch worker: " << mID
+						  << " req=" << mSentRequest << " state= " << mState << LL_ENDL;
 		return data_size;
 	}
 	if (mLoaded)
 	{
-		LL_WARNS() << "Duplicate callback for " << mID.asString() << LL_ENDL;
+		LL_WARNS(LOG_TXT) << "Duplicate callback for " << mID.asString() << LL_ENDL;
 		return data_size ; // ignore duplicate callback
 	}
 	if (success)
@@ -2238,7 +2240,7 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response,
 		LLCore::BufferArray * body(response->getBody());
 		data_size = body ? body->size() : 0;
 
-		LL_DEBUGS("Texture") << "HTTP RECEIVED: " << mID.asString() << " Bytes: " << data_size << LL_ENDL;
+		LL_DEBUGS(LOG_TXT) << "HTTP RECEIVED: " << mID.asString() << " Bytes: " << data_size << LL_ENDL;
 		if (data_size > 0)
 		{
 			LLViewerStatsRecorder::instance().textureFetch(data_size);
@@ -2278,10 +2280,10 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response,
 				// response body becomes the entire dataset.
 				if (data_size <= mRequestedOffset)
 				{
-					LL_WARNS("Texture") << "Fetched entire texture " << mID
-										<< " when it was expected to be marked complete.  mImageSize:  "
-										<< mFileSize << " datasize:  " << mFormattedImage->getDataSize()
-										<< LL_ENDL;
+					LL_WARNS(LOG_TXT) << "Fetched entire texture " << mID
+									  << " when it was expected to be marked complete.  mImageSize:  "
+									  << mFileSize << " datasize:  " << mFormattedImage->getDataSize()
+									  << LL_ENDL;
 				}
 				mHaveAllData = TRUE;
 				llassert_always(mDecodeHandle == 0);
@@ -2294,7 +2296,7 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response,
 			else if (data_size > mRequestedSize)
 			{
 				// *TODO: This shouldn't be happening any more  (REALLY don't expect this anymore)
-				LL_WARNS() << "data_size = " << data_size << " > requested: " << mRequestedSize << LL_ENDL;
+				LL_WARNS(LOG_TXT) << "data_size = " << data_size << " > requested: " << mRequestedSize << LL_ENDL;
 				mHaveAllData = TRUE;
 				llassert_always(mDecodeHandle == 0);
 				mFormattedImage = NULL; // discard any previous data we had
@@ -2329,7 +2331,7 @@ void LLTextureFetchWorker::callbackCacheRead(bool success, LLImageFormatted* ima
 	LLMutexLock lock(&mWorkMutex);										// +Mw
 	if (mState != LOAD_FROM_TEXTURE_CACHE)
 	{
-// 		LL_WARNS() << "Read callback for " << mID << " with state = " << mState << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Read callback for " << mID << " with state = " << mState << LL_ENDL;
 		return;
 	}
 	if (success)
@@ -2354,7 +2356,7 @@ void LLTextureFetchWorker::callbackCacheWrite(bool success)
 	LLMutexLock lock(&mWorkMutex);										// +Mw
 	if (mState != WAIT_ON_WRITE)
 	{
-// 		LL_WARNS() << "Write callback for " << mID << " with state = " << mState << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Write callback for " << mID << " with state = " << mState << LL_ENDL;
 		return;
 	}
 	mWritten = TRUE;
@@ -2373,7 +2375,7 @@ void LLTextureFetchWorker::callbackDecoded(bool success, LLImageRaw* raw, LLImag
 	}
 	if (mState != DECODE_IMAGE_UPDATE)
 	{
-// 		LL_WARNS() << "Decode callback for " << mID << " with state = " << mState << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Decode callback for " << mID << " with state = " << mState << LL_ENDL;
 		mDecodeHandle = 0;
 		return;
 	}
@@ -2386,17 +2388,17 @@ void LLTextureFetchWorker::callbackDecoded(bool success, LLImageRaw* raw, LLImag
 		mRawImage = raw;
 		mAuxImage = aux;
 		mDecodedDiscard = mFormattedImage->getDiscardLevel();
- 		LL_DEBUGS("Texture") << mID << ": Decode Finished. Discard: " << mDecodedDiscard
-							 << " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL;
+ 		LL_DEBUGS(LOG_TXT) << mID << ": Decode Finished. Discard: " << mDecodedDiscard
+						   << " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL;
 	}
 	else
 	{
-		LL_WARNS() << "DECODE FAILED: " << mID << " Discard: " << (S32)mFormattedImage->getDiscardLevel() << LL_ENDL;
+		LL_WARNS(LOG_TXT) << "DECODE FAILED: " << mID << " Discard: " << (S32)mFormattedImage->getDiscardLevel() << LL_ENDL;
 		removeFromCache();
 		mDecodedDiscard = -1; // Redundant, here for clarity and paranoia
 	}
 	mDecoded = TRUE;
-// 	LL_INFOS() << mID << " : DECODE COMPLETE " << LL_ENDL;
+// 	LL_INFOS(LOG_TXT) << mID << " : DECODE COMPLETE " << LL_ENDL;
 	setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
 	mCacheReadTime = mCacheReadTimer.getElapsedTimeF32();
 }																		// -Mw
@@ -2583,8 +2585,8 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const
 	{
 		if (worker->mHost != host)
 		{
-			LL_WARNS() << "LLTextureFetch::createRequest " << id << " called with multiple hosts: "
-					<< host << " != " << worker->mHost << LL_ENDL;
+			LL_WARNS(LOG_TXT) << "LLTextureFetch::createRequest " << id << " called with multiple hosts: "
+							  << host << " != " << worker->mHost << LL_ENDL;
 			removeRequest(worker, true);
 			worker = NULL;
 			return false;
@@ -2601,13 +2603,13 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const
 		llassert(!url.empty() && (!exten.empty() && LLImageBase::getCodecFromExtension(exten) != IMG_CODEC_J2C));
 
 		// Do full requests for baked textures to reduce interim blurring.
-		LL_DEBUGS("Texture") << "full request for " << id << " texture is FTT_SERVER_BAKE" << LL_ENDL;
+		LL_DEBUGS(LOG_TXT) << "full request for " << id << " texture is FTT_SERVER_BAKE" << LL_ENDL;
 		desired_size = MAX_IMAGE_DATA_SIZE;
 		desired_discard = 0;
 	}
 	else if (!url.empty() && (!exten.empty() && LLImageBase::getCodecFromExtension(exten) != IMG_CODEC_J2C))
 	{
-		LL_DEBUGS("Texture") << "full request for " << id << " exten is not J2C: " << exten << LL_ENDL;
+		LL_DEBUGS(LOG_TXT) << "full request for " << id << " exten is not J2C: " << exten << LL_ENDL;
 		// Only do partial requests for J2C at the moment
 		desired_size = MAX_IMAGE_DATA_SIZE;
 		desired_discard = 0;
@@ -2648,7 +2650,9 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const
 		worker->setImagePriority(priority);
 		worker->setDesiredDiscard(desired_discard, desired_size);
 		worker->setCanUseHTTP(can_use_http);
-		worker->setUrl(url);
+
+		//MAINT-4184 url is always empty.  Do not set with it.
+
 		if (!worker->haveWork())
 		{
 			worker->setState(LLTextureFetchWorker::INIT);
@@ -2675,8 +2679,8 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const
 		worker->unlockWorkMutex();										// -Mw
 	}
 	
- 	LL_DEBUGS("Texture") << "REQUESTED: " << id << " f_type " << fttype_to_string(f_type)
-						 << " Discard: " << desired_discard << " size " << desired_size << LL_ENDL;
+ 	LL_DEBUGS(LOG_TXT) << "REQUESTED: " << id << " f_type " << fttype_to_string(f_type)
+					   << " Discard: " << desired_discard << " size " << desired_size << LL_ENDL;
 	return true;
 }
 
@@ -2871,7 +2875,7 @@ bool LLTextureFetch::getRequestFinished(const LLUUID& id, S32& discard_level,
 			// Should only happen if we set mDebugPause...
 			if (!mDebugPause)
 			{
-// 				LL_WARNS() << "Adding work for inactive worker: " << id << LL_ENDL;
+// 				LL_WARNS(LOG_TXT) << "Adding work for inactive worker: " << id << LL_ENDL;
 				worker->addWork(0, LLWorkerThread::PRIORITY_HIGH | worker->mWorkPriority);
 			}
 		}
@@ -2888,7 +2892,7 @@ bool LLTextureFetch::getRequestFinished(const LLUUID& id, S32& discard_level,
 				record(sCacheReadLatency, cache_read_time);
 			}
 			res = true;
-			LL_DEBUGS("Texture") << id << ": Request Finished. State: " << worker->mState << " Discard: " << discard_level << LL_ENDL;
+			LL_DEBUGS(LOG_TXT) << id << ": Request Finished. State: " << worker->mState << " Discard: " << discard_level << LL_ENDL;
 			worker->unlockWorkMutex();									// -Mw
 		}
 		else
@@ -2993,9 +2997,9 @@ void LLTextureFetch::commonUpdate()
 	LLCore::HttpStatus status = mHttpRequest->update(0);
 	if (! status)
 	{
-		LL_INFOS_ONCE("Texture") << "Problem during HTTP servicing.  Reason:  "
-								 << status.toString()
-								 << LL_ENDL;
+		LL_INFOS_ONCE(LOG_TXT) << "Problem during HTTP servicing.  Reason:  "
+							   << status.toString()
+							   << LL_ENDL;
 	}
 }
 
@@ -3075,11 +3079,11 @@ void LLTextureFetch::startThread()
 // Threads:  Ttf
 void LLTextureFetch::endThread()
 {
-	LL_INFOS("Texture") << "CacheReads:  " << mTotalCacheReadCount
-						<< ", CacheWrites:  " << mTotalCacheWriteCount
-						<< ", ResWaits:  " << mTotalResourceWaitCount
-						<< ", TotalHTTPReq:  " << getTotalNumHTTPRequests()
-						<< LL_ENDL;
+	LL_INFOS(LOG_TXT) << "CacheReads:  " << mTotalCacheReadCount
+					  << ", CacheWrites:  " << mTotalCacheWriteCount
+					  << ", ResWaits:  " << mTotalResourceWaitCount
+					  << ", TotalHTTPReq:  " << getTotalNumHTTPRequests()
+					  << LL_ENDL;
 }
 
 // Threads:  Ttf
@@ -3108,7 +3112,7 @@ void LLTextureFetch::threadedUpdate()
 		S32 q = mCurlGetRequest->getQueued();
 		if (q > 0)
 		{
-			LL_INFOS() << "Queued gets: " << q << LL_ENDL;
+			LL_INFOS(LOG_TXT) << "Queued gets: " << q << LL_ENDL;
 			info_timer.reset();
 		}
 	}
@@ -3157,7 +3161,7 @@ void LLTextureFetch::sendRequestListToSimulators()
 				(req->mState != LLTextureFetchWorker::LOAD_FROM_SIMULATOR))
 			{
 				// We already received our URL, remove from the queue
-				LL_WARNS() << "Worker: " << req->mID << " in mNetworkQueue but in wrong state: " << req->mState << LL_ENDL;
+				LL_WARNS(LOG_TXT) << "Worker: " << req->mID << " in mNetworkQueue but in wrong state: " << req->mState << LL_ENDL;
 				mNetworkQueue.erase(curiter);
 				continue;
 			}
@@ -3225,7 +3229,7 @@ void LLTextureFetch::sendRequestListToSimulators()
 				gMessageSystem->addF32Fast(_PREHASH_DownloadPriority, req->mImagePriority);
 				gMessageSystem->addU32Fast(_PREHASH_Packet, packet);
 				gMessageSystem->addU8Fast(_PREHASH_Type, req->mType);
-// 				LL_INFOS() << "IMAGE REQUEST: " << req->mID << " Discard: " << req->mDesiredDiscard
+// 				LL_INFOS(LOG_TXT) << "IMAGE REQUEST: " << req->mID << " Discard: " << req->mDesiredDiscard
 // 						<< " Packet: " << packet << " Priority: " << req->mImagePriority << LL_ENDL;
 
 				static LLCachedControl<bool> log_to_viewer_log(gSavedSettings,"LogTextureDownloadsToViewerLog", false);
@@ -3247,7 +3251,7 @@ void LLTextureFetch::sendRequestListToSimulators()
 				sim_request_count++;
 				if (sim_request_count >= IMAGES_PER_REQUEST)
 				{
-// 					LL_INFOS() << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL;
+// 					LL_INFOS(LOG_TXT) << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL;
 
 					gMessageSystem->sendSemiReliable(host, NULL, NULL);
 					sim_request_count = 0;
@@ -3256,7 +3260,7 @@ void LLTextureFetch::sendRequestListToSimulators()
 		}
 		if (gMessageSystem && sim_request_count > 0 && sim_request_count < IMAGES_PER_REQUEST)
 		{
-// 			LL_INFOS() << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL;
+// 			LL_INFOS(LOG_TXT) << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL;
 			gMessageSystem->sendSemiReliable(host, NULL, NULL);
 			sim_request_count = 0;
 		}
@@ -3292,7 +3296,7 @@ void LLTextureFetch::sendRequestListToSimulators()
 					gMessageSystem->addF32Fast(_PREHASH_DownloadPriority, 0);
 					gMessageSystem->addU32Fast(_PREHASH_Packet, 0);
 					gMessageSystem->addU8Fast(_PREHASH_Type, 0);
-// 				LL_INFOS() << "CANCELING IMAGE REQUEST: " << (*iter2) << LL_ENDL;
+// 				LL_INFOS(LOG_TXT) << "CANCELING IMAGE REQUEST: " << (*iter2) << LL_ENDL;
 
 					request_count++;
 					if (request_count >= IMAGES_PER_REQUEST)
@@ -3320,12 +3324,12 @@ bool LLTextureFetchWorker::insertPacket(S32 index, U8* data, S32 size)
 	mRequestedTimer.reset();
 	if (index >= mTotalPackets)
 	{
-// 		LL_WARNS() << "Received Image Packet " << index << " > max: " << mTotalPackets << " for image: " << mID << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Received Image Packet " << index << " > max: " << mTotalPackets << " for image: " << mID << LL_ENDL;
 		return false;
 	}
 	if (index > 0 && index < mTotalPackets-1 && size != MAX_IMG_PACKET_SIZE)
 	{
-// 		LL_WARNS() << "Received bad sized packet: " << index << ", " << size << " != " << MAX_IMG_PACKET_SIZE << " for image: " << mID << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Received bad sized packet: " << index << ", " << size << " != " << MAX_IMG_PACKET_SIZE << " for image: " << mID << LL_ENDL;
 		return false;
 	}
 	
@@ -3335,7 +3339,7 @@ bool LLTextureFetchWorker::insertPacket(S32 index, U8* data, S32 size)
 	}
 	else if (mPackets[index] != NULL)
 	{
-// 		LL_WARNS() << "Received duplicate packet: " << index << " for image: " << mID << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Received duplicate packet: " << index << " for image: " << mID << LL_ENDL;
 		return false;
 	}
 
@@ -3355,7 +3359,7 @@ void LLTextureFetchWorker::setState(e_state new_state)
 	// blurry images fairly frequently. Presumably this is an
 	// indication of some subtle timing or locking issue.
 
-//		LL_INFOS("Texture") << "id: " << mID << " FTType: " << mFTType << " disc: " << mDesiredDiscard << " sz: " << mDesiredSize << " state: " << e_state_name[mState] << " => " << e_state_name[new_state] << LL_ENDL;
+//		LL_INFOS(LOG_TXT) << "id: " << mID << " FTType: " << mFTType << " disc: " << mDesiredDiscard << " sz: " << mDesiredSize << " state: " << e_state_name[mState] << " => " << e_state_name[new_state] << LL_ENDL;
 	}
 	mState = new_state;
 }
@@ -3371,13 +3375,13 @@ bool LLTextureFetch::receiveImageHeader(const LLHost& host, const LLUUID& id, U8
 	
 	if (!worker)
 	{
-// 		LL_WARNS() << "Received header for non active worker: " << id << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Received header for non active worker: " << id << LL_ENDL;
 		res = false;
 	}
 	else if (worker->mState != LLTextureFetchWorker::LOAD_FROM_NETWORK ||
 			 worker->mSentRequest != LLTextureFetchWorker::SENT_SIM)
 	{
-// 		LL_WARNS() << "receiveImageHeader for worker: " << id
+// 		LL_WARNS(LOG_TXT) << "receiveImageHeader for worker: " << id
 // 				<< " in state: " << LLTextureFetchWorker::sStateDescs[worker->mState]
 // 				<< " sent: " << worker->mSentRequest << LL_ENDL;
 		res = false;
@@ -3385,12 +3389,12 @@ bool LLTextureFetch::receiveImageHeader(const LLHost& host, const LLUUID& id, U8
 	else if (worker->mLastPacket != -1)
 	{
 		// check to see if we've gotten this packet before
-// 		LL_WARNS() << "Received duplicate header for: " << id << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Received duplicate header for: " << id << LL_ENDL;
 		res = false;
 	}
 	else if (!data_size)
 	{
-// 		LL_WARNS() << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL;
 		res = false;
 	}
 	if (!res)
@@ -3432,17 +3436,17 @@ bool LLTextureFetch::receiveImagePacket(const LLHost& host, const LLUUID& id, U1
 	
 	if (!worker)
 	{
-// 		LL_WARNS() << "Received packet " << packet_num << " for non active worker: " << id << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Received packet " << packet_num << " for non active worker: " << id << LL_ENDL;
 		res = false;
 	}
 	else if (worker->mLastPacket == -1)
 	{
-// 		LL_WARNS() << "Received packet " << packet_num << " before header for: " << id << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Received packet " << packet_num << " before header for: " << id << LL_ENDL;
 		res = false;
 	}
 	else if (!data_size)
 	{
-// 		LL_WARNS() << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL;
+// 		LL_WARNS(LOG_TXT) << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL;
 		res = false;
 	}
 	if (!res)
@@ -3470,7 +3474,7 @@ bool LLTextureFetch::receiveImagePacket(const LLHost& host, const LLUUID& id, U1
 	}
 	else
 	{
-// 		LL_WARNS() << "receiveImagePacket " << packet_num << "/" << worker->mLastPacket << " for worker: " << id
+// 		LL_WARNS(LOG_TXT) << "receiveImagePacket " << packet_num << "/" << worker->mLastPacket << " for worker: " << id
 // 				<< " in state: " << LLTextureFetchWorker::sStateDescs[worker->mState] << LL_ENDL;
 		removeFromNetworkQueue(worker, true); // failsafe
 	}
@@ -3563,33 +3567,33 @@ S32 LLTextureFetch::getFetchState(const LLUUID& id, F32& data_progress_p, F32& r
 
 void LLTextureFetch::dump()
 {
-	LL_INFOS() << "LLTextureFetch REQUESTS:" << LL_ENDL;
+	LL_INFOS(LOG_TXT) << "LLTextureFetch REQUESTS:" << LL_ENDL;
 	for (request_queue_t::iterator iter = mRequestQueue.begin();
 		 iter != mRequestQueue.end(); ++iter)
 	{
 		LLQueuedThread::QueuedRequest* qreq = *iter;
 		LLWorkerThread::WorkRequest* wreq = (LLWorkerThread::WorkRequest*)qreq;
 		LLTextureFetchWorker* worker = (LLTextureFetchWorker*)wreq->getWorkerClass();
-		LL_INFOS() << " ID: " << worker->mID
-				<< " PRI: " << llformat("0x%08x",wreq->getPriority())
-				<< " STATE: " << worker->sStateDescs[worker->mState]
-				<< LL_ENDL;
+		LL_INFOS(LOG_TXT) << " ID: " << worker->mID
+						  << " PRI: " << llformat("0x%08x",wreq->getPriority())
+						  << " STATE: " << worker->sStateDescs[worker->mState]
+						  << LL_ENDL;
 	}
 
-	LL_INFOS() << "LLTextureFetch ACTIVE_HTTP:" << LL_ENDL;
+	LL_INFOS(LOG_TXT) << "LLTextureFetch ACTIVE_HTTP:" << LL_ENDL;
 	for (queue_t::const_iterator iter(mHTTPTextureQueue.begin());
 		 mHTTPTextureQueue.end() != iter;
 		 ++iter)
 	{
-		LL_INFOS() << " ID: " << (*iter) << LL_ENDL;
+		LL_INFOS(LOG_TXT) << " ID: " << (*iter) << LL_ENDL;
 	}
 
-	LL_INFOS() << "LLTextureFetch WAIT_HTTP_RESOURCE:" << LL_ENDL;
+	LL_INFOS(LOG_TXT) << "LLTextureFetch WAIT_HTTP_RESOURCE:" << LL_ENDL;
 	for (wait_http_res_queue_t::const_iterator iter(mHttpWaitResource.begin());
 		 mHttpWaitResource.end() != iter;
 		 ++iter)
 	{
-		LL_INFOS() << " ID: " << (*iter) << LL_ENDL;
+		LL_INFOS(LOG_TXT) << " ID: " << (*iter) << LL_ENDL;
 	}
 }
 
@@ -3714,10 +3718,10 @@ void LLTextureFetch::releaseHttpWaiters()
 		{
 			// Not in expected state, remove it, try the next one
 			worker->unlockWorkMutex();									// -Mw
-			LL_WARNS("Texture") << "Resource-waited texture " << worker->mID
-								<< " in unexpected state:  " << worker->mState
-								<< ".  Removing from wait list."
-								<< LL_ENDL;
+			LL_WARNS(LOG_TXT) << "Resource-waited texture " << worker->mID
+							  << " in unexpected state:  " << worker->mState
+							  << ".  Removing from wait list."
+							  << LL_ENDL;
 			removeHttpWaiter(worker->mID);
 			continue;
 		}
@@ -3884,14 +3888,14 @@ class AssetReportHandler : public LLCore::HttpHandler
 
 		if (status)
 		{
-			LL_DEBUGS("Texture") << "Successfully delivered asset metrics to grid."
-								 << LL_ENDL;
+			LL_DEBUGS(LOG_TXT) << "Successfully delivered asset metrics to grid."
+							   << LL_ENDL;
 		}
 		else
 		{
-			LL_WARNS("Texture") << "Error delivering asset metrics to grid.  Status:  "
-								<< status.toTerseString()
-								<< ", Reason:  " << status.toString() << LL_ENDL;
+			LL_WARNS(LOG_TXT) << "Error delivering asset metrics to grid.  Status:  "
+							  << status.toTerseString()
+							  << ", Reason:  " << status.toString() << LL_ENDL;
 		}
 	}
 }; // end class AssetReportHandler
@@ -4502,14 +4506,14 @@ void LLTextureFetchDebugger::debugHTTP()
 	LLViewerRegion* region = gAgent.getRegion();
 	if (!region)
 	{
-		LL_INFOS() << "Fetch Debugger : Current region undefined. Cannot fetch textures through HTTP." << LL_ENDL;
+		LL_INFOS(LOG_TXT) << "Fetch Debugger : Current region undefined. Cannot fetch textures through HTTP." << LL_ENDL;
 		return;
 	}
 	
 	mHTTPUrl = region->getHttpUrl();
 	if (mHTTPUrl.empty())
 	{
-		LL_INFOS() << "Fetch Debugger : Current region URL undefined. Cannot fetch textures through HTTP." << LL_ENDL;
+		LL_INFOS(LOG_TXT) << "Fetch Debugger : Current region URL undefined. Cannot fetch textures through HTTP." << LL_ENDL;
 		return;
 	}
 	
@@ -4580,15 +4584,15 @@ S32 LLTextureFetchDebugger::fillCurlQueue()
 			// Failed to queue request, log it and mark it done.
 			LLCore::HttpStatus status(mFetcher->getHttpRequest().getStatus());
 
-			LL_WARNS("Texture") << "Couldn't issue HTTP request in debugger for texture "
-								<< mFetchingHistory[i].mID
-								<< ", status: " << status.toTerseString()
-								<< " reason:  " << status.toString()
-								<< LL_ENDL;
+			LL_WARNS(LOG_TXT) << "Couldn't issue HTTP request in debugger for texture "
+							  << mFetchingHistory[i].mID
+							  << ", status: " << status.toTerseString()
+							  << " reason:  " << status.toString()
+							  << LL_ENDL;
 			mFetchingHistory[i].mCurlState = FetchEntry::CURL_DONE;
 		}
 	}
-	//LL_INFOS() << "Fetch Debugger : Having " << mNbCurlRequests << " requests through the curl thread." << LL_ENDL;
+	//LL_INFOS(LOG_TXT) << "Fetch Debugger : Having " << mNbCurlRequests << " requests through the curl thread." << LL_ENDL;
 	return mNbCurlRequests;
 }
 
@@ -4890,7 +4894,7 @@ void LLTextureFetchDebugger::onCompleted(LLCore::HttpHandle handle, LLCore::Http
 	handle_fetch_map_t::iterator iter(mHandleToFetchIndex.find(handle));
 	if (mHandleToFetchIndex.end() == iter)
 	{
-		LL_INFOS() << "Fetch Debugger : Couldn't find handle " << handle << " in fetch list." << LL_ENDL;
+		LL_INFOS(LOG_TXT) << "Fetch Debugger : Couldn't find handle " << handle << " in fetch list." << LL_ENDL;
 		return;
 	}
 	
@@ -4898,7 +4902,7 @@ void LLTextureFetchDebugger::onCompleted(LLCore::HttpHandle handle, LLCore::Http
 	mHandleToFetchIndex.erase(iter);
 	if (fetch_ind >= mFetchingHistory.size() || mFetchingHistory[fetch_ind].mHttpHandle != handle)
 	{
-		LL_INFOS() << "Fetch Debugger : Handle and fetch object in disagreement.  Punting." << LL_ENDL;
+		LL_INFOS(LOG_TXT) << "Fetch Debugger : Handle and fetch object in disagreement.  Punting." << LL_ENDL;
 	}
 	else
 	{
@@ -4948,7 +4952,7 @@ void LLTextureFetchDebugger::callbackHTTP(FetchEntry & fetch, LLCore::HttpRespon
 		
 		S32 data_size = ba ? ba->size() : 0;
 		fetch.mCurlReceivedSize += data_size;
-		//LL_INFOS() << "Fetch Debugger : got results for " << fetch.mID << ", data_size = " << data_size << ", received = " << fetch.mCurlReceivedSize << ", requested = " << fetch.mRequestedSize << ", partial = " << partial << LL_ENDL;
+		//LL_INFOS(LOG_TXT) << "Fetch Debugger : got results for " << fetch.mID << ", data_size = " << data_size << ", received = " << fetch.mCurlReceivedSize << ", requested = " << fetch.mRequestedSize << ", partial = " << partial << LL_ENDL;
 		if ((fetch.mCurlReceivedSize >= fetch.mRequestedSize) || !partial || (fetch.mRequestedSize == 600))
 		{
 			U8* d_buffer = (U8*)ALLOCATE_MEM(LLImageBase::getPrivatePool(), data_size);
@@ -4974,9 +4978,9 @@ void LLTextureFetchDebugger::callbackHTTP(FetchEntry & fetch, LLCore::HttpRespon
 	}
 	else //failed
 	{
-		LL_INFOS() << "Fetch Debugger : CURL GET FAILED,  ID = " << fetch.mID
-				<< ", status: " << status.toTerseString()
-				<< " reason:  " << status.toString() << LL_ENDL;
+		LL_INFOS(LOG_TXT) << "Fetch Debugger : CURL GET FAILED,  ID = " << fetch.mID
+						  << ", status: " << status.toTerseString()
+						  << " reason:  " << status.toString() << LL_ENDL;
 	}
 }
 
diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp
index aa1f680a1e9bbcb47f12d07e07fdaaf8f5faa3db..b7786bcdd7fafbb4455ed38b73fd44992ee0145d 100755
--- a/indra/newview/lltextureview.cpp
+++ b/indra/newview/lltextureview.cpp
@@ -501,7 +501,7 @@ class LLGLTexMemBar : public LLView
 void LLGLTexMemBar::draw()
 {
 	S32Megabytes bound_mem = LLViewerTexture::sBoundTextureMemory;
- 	S32Megabytes max_bound_mem = LLViewerTexture::sMaxBoundTextureMem;
+ 	S32Megabytes max_bound_mem = LLViewerTexture::sMaxBoundTextureMemory;
 	S32Megabytes total_mem = LLViewerTexture::sTotalTextureMemory;
 	S32Megabytes max_total_mem = LLViewerTexture::sMaxTotalTextureMem;
 	F32 discard_bias = LLViewerTexture::sDesiredDiscardBias;
@@ -563,7 +563,7 @@ void LLGLTexMemBar::draw()
 
 	//----------------------------------------------------------------------------
 
-	text = llformat("Textures: %d Fetch: %d(%d) Pkts:%d(%d) Cache R/W: %d/%d LFS:%d RAW:%d HTP:%d DEC:%d CRE:%d",
+	text = llformat("Textures: %d Fetch: %d(%d) Pkts:%d(%d) Cache R/W: %d/%d LFS:%d RAW:%d HTP:%d DEC:%d CRE:%d ",
 					gTextureList.getNumImages(),
 					LLAppViewer::getTextureFetch()->getNumRequests(), LLAppViewer::getTextureFetch()->getNumDeletes(),
 					LLAppViewer::getTextureFetch()->mPacketCount, LLAppViewer::getTextureFetch()->mBadPacketCount, 
@@ -585,7 +585,7 @@ void LLGLTexMemBar::draw()
 	color = bandwidth > max_bandwidth ? LLColor4::red : bandwidth > max_bandwidth*.75f ? LLColor4::yellow : text_color;
 	color[VALPHA] = text_color[VALPHA];
 	text = llformat("BW:%.0f/%.0f",bandwidth.value(), max_bandwidth.value());
-	LLFontGL::getFontMonospace()->renderUTF8(text, 0, x_right, v_offset + line_height*2,
+	LLFontGL::getFontMonospace()->renderUTF8(text, 0, x_right, v_offset + line_height*3,
 											 color, LLFontGL::LEFT, LLFontGL::TOP);
 	
 	// Mesh status line
diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp
index 1b5b44423f14ebe4956353ea49b42a0cb11212f3..63ede7f8ac371bd976407f2349419d6229360c44 100755
--- a/indra/newview/lltoast.cpp
+++ b/indra/newview/lltoast.cpp
@@ -234,6 +234,8 @@ void LLToast::closeToast()
 {
 	mOnDeleteToastSignal(this);
 
+	setSoundFlags(SILENT);
+
 	closeFloater();
 }
 
diff --git a/indra/newview/lltoastalertpanel.cpp b/indra/newview/lltoastalertpanel.cpp
index 8fd0eb593123a50f1d14e307179a873fbc5b4c35..c82894a5cc9d07c31043b9cfeb0832b09dd68604 100755
--- a/indra/newview/lltoastalertpanel.cpp
+++ b/indra/newview/lltoastalertpanel.cpp
@@ -266,6 +266,11 @@ LLToastAlertPanel::LLToastAlertPanel( LLNotificationPtr notification, bool modal
 			mLineEditor->setMaxTextChars(edit_text_max_chars);
 			mLineEditor->setText(edit_text_contents);
 
+			if("SaveOutfitAs"  == mNotification->getName())
+			{
+				mLineEditor->setPrevalidate(&LLTextValidate::validateASCII);
+			}
+
 			// decrease limit of line editor of teleport offer dialog to avoid truncation of
 			// location URL in invitation message, see EXT-6891
 			if ("OfferTeleport" == mNotification->getName())
diff --git a/indra/newview/lltoolbrush.cpp b/indra/newview/lltoolbrush.cpp
index 56f0f8be25bb0bb07058d265ae8e808974913745..e3eb8ba7afcf59916c44629a13c2719810fbe60d 100755
--- a/indra/newview/lltoolbrush.cpp
+++ b/indra/newview/lltoolbrush.cpp
@@ -52,7 +52,7 @@
 #include "llworld.h"
 #include "llappviewer.h"
 #include "llparcel.h"
-
+#include "roles_constants.h"
 #include "llglheaders.h"
 
 const std::string REGION_BLOCKS_TERRAFORM_MSG = "This region does not allow terraforming.\n"
@@ -239,9 +239,9 @@ void LLToolBrushLand::modifyLandInSelectionGlobal()
 		iter != mLastAffectedRegions.end(); ++iter)
 	{
 		LLViewerRegion* regionp = *iter;
-		if (!canTerraform(regionp))
+		if (!canTerraformRegion(regionp))
 		{
-			alertNoTerraform(regionp);
+			alertNoTerraformRegion(regionp);
 			return;
 		}
 	}
@@ -376,12 +376,17 @@ BOOL LLToolBrushLand::handleMouseDown(S32 x, S32 y, MASK mask)
 		LLRegionPosition region_position( spot );
 		LLViewerRegion* regionp = region_position.getRegion();
 
-		if (!canTerraform(regionp))
+		if (!canTerraformRegion(regionp))
 		{
-			alertNoTerraform(regionp);
+			alertNoTerraformRegion(regionp);
 			return TRUE;
 		}
 
+		if (!canTerraformParcel(regionp))
+		{
+			alertNoTerraformParcel();
+		}
+
 		LLVector3 pos_region = region_position.getPositionRegion();
 		U32 grids = regionp->getLand().mGridsPerEdge;
 		S32 i = llclamp( (S32)pos_region.mV[VX], 0, (S32)grids );
@@ -408,6 +413,16 @@ BOOL LLToolBrushLand::handleHover( S32 x, S32 y, MASK mask )
 	mMouseY = y;
 	mGotHover = TRUE;
 	gViewerWindow->setCursor(UI_CURSOR_TOOLLAND);
+
+	LLVector3d spot;
+	if( gViewerWindow->mousePointOnLandGlobal( mMouseX, mMouseY, &spot ) )
+	{
+
+		spot.mdV[VX] = floor( spot.mdV[VX] + 0.5 );
+		spot.mdV[VY] = floor( spot.mdV[VY] + 0.5 );
+
+		LLViewerParcelMgr::getInstance()->setHoverParcel(spot);
+	}
 	return TRUE;
 }
 
@@ -653,7 +668,7 @@ void LLToolBrushLand::redo()
 }*/
 
 // static
-bool LLToolBrushLand::canTerraform(LLViewerRegion* regionp) const
+bool LLToolBrushLand::canTerraformRegion(LLViewerRegion* regionp) const
 {
 	if (!regionp) return false;
 	if (regionp->canManageEstate()) return true;
@@ -661,7 +676,22 @@ bool LLToolBrushLand::canTerraform(LLViewerRegion* regionp) const
 }
 
 // static
-void LLToolBrushLand::alertNoTerraform(LLViewerRegion* regionp)
+bool LLToolBrushLand::canTerraformParcel(LLViewerRegion* regionp) const
+{
+	LLParcel* selected_parcel = LLViewerParcelMgr::getInstance()->getHoverParcel();
+	bool is_terraform_allowed = false;
+	if (selected_parcel)
+	{
+		BOOL owner_release = LLViewerParcelMgr::isParcelOwnedByAgent(selected_parcel, GP_LAND_ALLOW_EDIT_LAND);
+		is_terraform_allowed = ( gAgent.canManageEstate() || (selected_parcel->getOwnerID() == regionp->getOwner()) || owner_release);
+	}
+
+	return is_terraform_allowed;
+}
+
+
+// static
+void LLToolBrushLand::alertNoTerraformRegion(LLViewerRegion* regionp)
 {
 	if (!regionp) return;
 	
@@ -671,6 +701,19 @@ void LLToolBrushLand::alertNoTerraform(LLViewerRegion* regionp)
 
 }
 
+// static
+void LLToolBrushLand::alertNoTerraformParcel()
+{
+	LLParcel* selected_parcel = LLViewerParcelMgr::getInstance()->getHoverParcel();
+	if (selected_parcel)
+	{
+		LLSD args;
+		args["PARCEL"] = selected_parcel->getName();
+		LLNotificationsUtil::add("ParcelNoTerraforming", args);
+	}
+
+}
+
 ///============================================================================
 /// Local function definitions
 ///============================================================================
diff --git a/indra/newview/lltoolbrush.h b/indra/newview/lltoolbrush.h
index 1c7f1989008129b287dcb633c682af18d1856cae..2ec6911de91e4520a1b461f6e3347d8009decf3d 100755
--- a/indra/newview/lltoolbrush.h
+++ b/indra/newview/lltoolbrush.h
@@ -81,10 +81,14 @@ class LLToolBrushLand : public LLTool, public LLEditMenuHandler, public LLSingle
 					   const LLVector3& pos_world);
 
 	// Does region allow terraform, or are we a god?
-	bool canTerraform(LLViewerRegion* regionp) const;
+	bool canTerraformRegion(LLViewerRegion* regionp) const;
+
+	bool canTerraformParcel(LLViewerRegion* regionp) const;
 
 	// Modal dialog that you can't terraform the region
-	void alertNoTerraform(LLViewerRegion* regionp);
+	void alertNoTerraformRegion(LLViewerRegion* regionp);
+
+	void alertNoTerraformParcel();
 
 protected:
 	F32 mStartingZ;
diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp
index b75d6b3dcbdb0d85f446b22ae74964bbc3f2078e..4bda9072d0a78f57e84fc9845172bcf541be49ba 100755
--- a/indra/newview/lltoolcomp.cpp
+++ b/indra/newview/lltoolcomp.cpp
@@ -126,12 +126,20 @@ void LLToolComposite::handleSelect()
 	mSelected = TRUE; 
 }
 
+void LLToolComposite::handleDeselect()
+{
+	mCur->handleDeselect();
+	mCur = mDefault;
+	mSelected = FALSE;
+}
+
 //----------------------------------------------------------------------------
 // LLToolCompInspect
 //----------------------------------------------------------------------------
 
 LLToolCompInspect::LLToolCompInspect()
-: LLToolComposite(std::string("Inspect"))
+: LLToolComposite(std::string("Inspect")),
+  mIsToolCameraActive(FALSE)
 {
 	mSelectRect		= new LLToolSelectRect(this);
 	mDefault = mSelectRect;
@@ -146,42 +154,87 @@ LLToolCompInspect::~LLToolCompInspect()
 
 BOOL LLToolCompInspect::handleMouseDown(S32 x, S32 y, MASK mask)
 {
-	mMouseDown = TRUE;
-	gViewerWindow->pickAsync(x, y, mask, pickCallback);
-	return TRUE;
+	BOOL handled = FALSE;
+
+	if (mCur == LLToolCamera::getInstance())
+	{
+		handled = mCur->handleMouseDown(x, y, mask);
+	}
+	else
+	{
+		mMouseDown = TRUE;
+		gViewerWindow->pickAsync(x, y, mask, pickCallback);
+		handled = TRUE;	
+	}
+
+	return handled;
+}
+
+BOOL LLToolCompInspect::handleMouseUp(S32 x, S32 y, MASK mask)
+{
+	BOOL handled = LLToolComposite::handleMouseUp(x, y, mask);
+	mIsToolCameraActive = getCurrentTool() == LLToolCamera::getInstance();
+	return handled;
 }
 
 void LLToolCompInspect::pickCallback(const LLPickInfo& pick_info)
 {
 	LLViewerObject* hit_obj = pick_info.getObject();
+	LLToolCompInspect * tool_inspectp = LLToolCompInspect::getInstance();
 
-	if (!LLToolCompInspect::getInstance()->mMouseDown)
+	if (!tool_inspectp->mMouseDown)
 	{
 		// fast click on object, but mouse is already up...just do select
-		LLToolCompInspect::getInstance()->mSelectRect->handleObjectSelection(pick_info, gSavedSettings.getBOOL("EditLinkedParts"), FALSE);
+		tool_inspectp->mSelectRect->handleObjectSelection(pick_info, gSavedSettings.getBOOL("EditLinkedParts"), FALSE);
 		return;
 	}
 
-	if( hit_obj )
-	{
-		if (LLSelectMgr::getInstance()->getSelection()->getObjectCount())
-		{
-			LLEditMenuHandler::gEditMenuHandler = LLSelectMgr::getInstance();
-		}
-		LLToolCompInspect::getInstance()->setCurrentTool( LLToolCompInspect::getInstance()->mSelectRect );
-		LLToolCompInspect::getInstance()->mSelectRect->handlePick( pick_info );
+	LLSelectMgr * mgr_selectp = LLSelectMgr::getInstance();
+	if( hit_obj && mgr_selectp->getSelection()->getObjectCount()) {
+		LLEditMenuHandler::gEditMenuHandler = mgr_selectp;
+	}
+
+	tool_inspectp->setCurrentTool( tool_inspectp->mSelectRect );
+	tool_inspectp->mIsToolCameraActive = FALSE;
+	tool_inspectp->mSelectRect->handlePick( pick_info );
+}
+
+BOOL LLToolCompInspect::handleDoubleClick(S32 x, S32 y, MASK mask)
+{
+	return TRUE;
+}
+
+BOOL LLToolCompInspect::handleKey(KEY key, MASK mask)
+{
+	BOOL handled = FALSE;
 
+	if(KEY_ALT == key)
+	{
+		setCurrentTool(LLToolCamera::getInstance());
+		mIsToolCameraActive = TRUE;
+		handled = TRUE;
 	}
 	else
 	{
-		LLToolCompInspect::getInstance()->setCurrentTool( LLToolCompInspect::getInstance()->mSelectRect );
-		LLToolCompInspect::getInstance()->mSelectRect->handlePick( pick_info );
+		handled = LLToolComposite::handleKey(key, mask);
 	}
+
+	return handled;
 }
 
-BOOL LLToolCompInspect::handleDoubleClick(S32 x, S32 y, MASK mask)
+void LLToolCompInspect::onMouseCaptureLost()
 {
-	return TRUE;
+	LLToolComposite::onMouseCaptureLost();
+	mIsToolCameraActive = FALSE;
+}
+
+void LLToolCompInspect::keyUp(KEY key, MASK mask)
+{
+	if (KEY_ALT == key && mCur == LLToolCamera::getInstance())
+	{
+		setCurrentTool(mDefault);
+		mIsToolCameraActive = FALSE;
+	}
 }
 
 //----------------------------------------------------------------------------
diff --git a/indra/newview/lltoolcomp.h b/indra/newview/lltoolcomp.h
index bbb5ed579779f5bfddabf1c30c114a01d1a42ed1..e75d3c22e28fb116af78f1106518b8601a57468f 100755
--- a/indra/newview/lltoolcomp.h
+++ b/indra/newview/lltoolcomp.h
@@ -62,7 +62,7 @@ class LLToolComposite : public LLTool
 	virtual BOOL			clipMouseWhenDown()								{ return mCur->clipMouseWhenDown(); }
 
 	virtual void			handleSelect();
-	virtual void			handleDeselect()								{ mCur->handleDeselect(); mCur = mDefault; mSelected = FALSE; }
+	virtual void			handleDeselect();
 
 	virtual void			render()										{ mCur->render(); }
 	virtual void			draw()											{ mCur->draw(); }
@@ -78,9 +78,10 @@ class LLToolComposite : public LLTool
 								{ mCur->localPointToScreen(local_x, local_y, screen_x, screen_y); }
 
 	BOOL					isSelecting();
+	LLTool*					getCurrentTool()								{ return mCur; }
+
 protected:
 	void					setCurrentTool( LLTool* new_tool );
-	LLTool*					getCurrentTool()								{ return mCur; }
 	// In hover handler, call this to auto-switch tools
 	void					setToolFromMask( MASK mask, LLTool *normal );
 
@@ -108,9 +109,18 @@ class LLToolCompInspect : public LLToolComposite, public LLSingleton<LLToolCompI
 
 	// Overridden from LLToolComposite
     virtual BOOL		handleMouseDown(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		handleKey(KEY key, MASK mask);
+	virtual void		onMouseCaptureLost();
+			void		keyUp(KEY key, MASK mask);
 
 	static void pickCallback(const LLPickInfo& pick_info);
+
+	BOOL isToolCameraActive() const { return mIsToolCameraActive; }
+
+private:
+	BOOL mIsToolCameraActive;
 };
 
 //-----------------------------------------------------------------------
diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp
index eabf6f0497c80a71b7cf08f5ca30bbffcc4fec38..8561d265de246c3657e91614f84443fdcb8ff109 100755
--- a/indra/newview/lltooldraganddrop.cpp
+++ b/indra/newview/lltooldraganddrop.cpp
@@ -513,6 +513,7 @@ void LLToolDragAndDrop::onMouseCaptureLost()
 	mSource = SOURCE_AGENT;
 	mSourceID.setNull();
 	mObjectID.setNull();
+	mCustomMsg.clear();
 }
 
 BOOL LLToolDragAndDrop::handleMouseUp( S32 x, S32 y, MASK mask )
@@ -556,6 +557,12 @@ ECursorType LLToolDragAndDrop::acceptanceToCursor( EAcceptance acceptance )
 		mCursor = UI_CURSOR_NOLOCKED;
 		break;
 
+	case ACCEPT_NO_CUSTOM:
+		mToolTipMsg = mCustomMsg;
+		mCursor = UI_CURSOR_NO;
+		break;
+
+
 	case ACCEPT_NO:
 		mCursor = UI_CURSOR_NO;
 		break;
@@ -630,6 +637,7 @@ BOOL LLToolDragAndDrop::handleToolTip(S32 x, S32 y, MASK mask)
 void LLToolDragAndDrop::handleDeselect()
 {
 	mToolTipMsg.clear();
+	mCustomMsg.clear();
 
 	LLToolTipMgr::instance().blockToolTips();
 }
@@ -2164,6 +2172,23 @@ EAcceptance LLToolDragAndDrop::dad3dWearCategory(
 		// TODO: investigate wearables may not be loaded at this point EXT-8231
 	}
 
+	U32 max_items = gSavedSettings.getU32("WearFolderLimit");
+	LLInventoryModel::cat_array_t cats;
+	LLInventoryModel::item_array_t items;
+	LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false);
+	gInventory.collectDescendentsIf(category->getUUID(),
+		cats,
+		items,
+		LLInventoryModel::EXCLUDE_TRASH,
+		not_worn);
+	if (items.size() > max_items)
+	{
+		LLStringUtil::format_map_t args;
+		args["AMOUNT"] = llformat("%d", max_items);
+		mCustomMsg = LLTrans::getString("TooltipTooManyWearables",args);
+		return ACCEPT_NO_CUSTOM;
+	}
+
 	if(mSource == SOURCE_AGENT)
 	{
 		const LLUUID trash_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_TRASH);
diff --git a/indra/newview/lltooldraganddrop.h b/indra/newview/lltooldraganddrop.h
index 99b794ce582af8e8e7ccd3e6eaa453d9fc458a16..de501ea32ac11c8191b7bbbd4f96329a1d6f885c 100755
--- a/indra/newview/lltooldraganddrop.h
+++ b/indra/newview/lltooldraganddrop.h
@@ -149,6 +149,7 @@ class LLToolDragAndDrop : public LLTool, public LLSingleton<LLToolDragAndDrop>
 	BOOL			mDrop;
 	S32				mCurItemIndex;
 	std::string		mToolTipMsg;
+	std::string		mCustomMsg;
 
 	enddrag_signal_t	mEndDragSignal;
 
diff --git a/indra/newview/lltoolfocus.cpp b/indra/newview/lltoolfocus.cpp
index ee4ec112f84682dfcdce8a65d2ff9c0b1218373a..58073d11863308e0e2993ee0c8e17c6214ecda4f 100755
--- a/indra/newview/lltoolfocus.cpp
+++ b/indra/newview/lltoolfocus.cpp
@@ -53,6 +53,7 @@
 #include "llmorphview.h"
 #include "llfloaterreg.h"
 #include "llfloatercamera.h"
+#include "llmenugl.h"
 
 // Globals
 BOOL gCameraBtnZoom = TRUE;
@@ -75,6 +76,7 @@ LLToolCamera::LLToolCamera()
 	mOutsideSlopX(FALSE),
 	mOutsideSlopY(FALSE),
 	mValidClickPoint(FALSE),
+	mValidSelection(FALSE),
 	mMouseSteering(FALSE),
 	mMouseUpX(0),
 	mMouseUpY(0),
@@ -91,6 +93,8 @@ void LLToolCamera::handleSelect()
 	if (gFloaterTools)
 	{
 		gFloaterTools->setStatusText("camera");
+		// in case we start from tools floater, we count any selection as valid
+		mValidSelection = gFloaterTools->getVisible();
 	}
 }
 
@@ -98,6 +102,14 @@ void LLToolCamera::handleSelect()
 void LLToolCamera::handleDeselect()
 {
 //	gAgent.setLookingAtAvatar(FALSE);
+
+	// Make sure that temporary selection won't pass anywhere except pie tool.
+	MASK override_mask = gKeyboard ? gKeyboard->currentMask(TRUE) : 0;
+	if (!mValidSelection && (override_mask != MASK_NONE || (gFloaterTools && gFloaterTools->getVisible())))
+	{
+		LLMenuGL::sMenuContainer->hideMenus();
+		LLSelectMgr::getInstance()->validateSelection();
+	}
 }
 
 BOOL LLToolCamera::handleMouseDown(S32 x, S32 y, MASK mask)
diff --git a/indra/newview/lltoolfocus.h b/indra/newview/lltoolfocus.h
index b1ac42e33f0b15b3ecf3545b23d4736d11628c25..d23eb2cce63196a4b92a6a877df0539912f4298b 100755
--- a/indra/newview/lltoolfocus.h
+++ b/indra/newview/lltoolfocus.h
@@ -65,6 +65,7 @@ class LLToolCamera
 	BOOL	mOutsideSlopX;
 	BOOL	mOutsideSlopY;
 	BOOL	mValidClickPoint;
+	BOOL	mValidSelection;
 	BOOL	mMouseSteering;
 	S32		mMouseUpX;	// needed for releaseMouse()
 	S32		mMouseUpY;
diff --git a/indra/newview/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp
index 493c970141be83e74bb14f0379ded80f562587c7..fa6694b93b01d6db91fd6e84f5fdeba1e64c092c 100755
--- a/indra/newview/lltoolgrab.cpp
+++ b/indra/newview/lltoolgrab.cpp
@@ -56,6 +56,7 @@
 #include "llviewerregion.h"
 #include "llvoavatarself.h"
 #include "llworld.h"
+#include "llmenugl.h"
 
 const S32 SLOP_DIST_SQ = 4;
 
@@ -83,6 +84,7 @@ LLToolGrab::LLToolGrab( LLToolComposite* composite )
 	mLastFace(0),
 	mSpinGrabbing( FALSE ),
 	mSpinRotation(),
+	mClickedInMouselook( FALSE ),
 	mHideBuildHighlight(FALSE)
 { }
 
@@ -97,6 +99,8 @@ void LLToolGrab::handleSelect()
 	{
 		// viewer can crash during startup if we don't check.
 		gFloaterTools->setStatusText("grab");
+		// in case we start from tools floater, we count any selection as valid
+		mValidSelection = gFloaterTools->getVisible();
 	}
 	gGrabBtnVertical = FALSE;
 	gGrabBtnSpin = FALSE;
@@ -109,6 +113,14 @@ void LLToolGrab::handleDeselect()
 		setMouseCapture( FALSE );
 	}
 
+	// Make sure that temporary(invalid) selection won't pass anywhere except pie tool.
+	MASK override_mask = gKeyboard ? gKeyboard->currentMask(TRUE) : 0;
+	if (!mValidSelection && (override_mask != MASK_NONE || (gFloaterTools && gFloaterTools->getVisible())))
+	{
+		LLMenuGL::sMenuContainer->hideMenus();
+		LLSelectMgr::getInstance()->validateSelection();
+	}
+
 }
 
 BOOL LLToolGrab::handleDoubleClick(S32 x, S32 y, MASK mask)
@@ -136,6 +148,7 @@ BOOL LLToolGrab::handleMouseDown(S32 x, S32 y, MASK mask)
 		// can grab transparent objects (how touch event propagates, scripters rely on this)
 		gViewerWindow->pickAsync(x, y, mask, pickCallback, TRUE);
 	}
+	mClickedInMouselook = gAgentCamera.cameraMouselook();
 	return TRUE;
 }
 
@@ -926,13 +939,21 @@ BOOL LLToolGrab::handleMouseUp(S32 x, S32 y, MASK mask)
 	{
 		setMouseCapture( FALSE );
 	}
+
 	mMode = GRAB_INACTIVE;
 
-	// HACK: Make some grabs temporary
-	if (gGrabTransientTool)
+	if(mClickedInMouselook && !gAgentCamera.cameraMouselook())
 	{
-		gBasicToolset->selectTool( gGrabTransientTool );
-		gGrabTransientTool = NULL;
+		mClickedInMouselook = FALSE;
+	}
+	else
+	{
+		// HACK: Make some grabs temporary
+		if (gGrabTransientTool)
+		{
+			gBasicToolset->selectTool( gGrabTransientTool );
+			gGrabTransientTool = NULL;
+		}
 	}
 
 	//gAgent.setObjectTracking(gSavedSettings.getBOOL("TrackFocusObject"));
diff --git a/indra/newview/lltoolgrab.h b/indra/newview/lltoolgrab.h
index 06a3b662c8e1efca8a1f86eec6717148f0aec966..4e22732124eedf7fd7453948e358a57b1109888c 100755
--- a/indra/newview/lltoolgrab.h
+++ b/indra/newview/lltoolgrab.h
@@ -119,6 +119,7 @@ class LLToolGrab : public LLTool, public LLSingleton<LLToolGrab>
 	BOOL			mHasMoved;		// has mouse moved off center at all?
 	BOOL			mOutsideSlop;	// has mouse moved outside center 5 pixels?
 	BOOL			mDeselectedThisClick;
+	BOOL			mValidSelection;
 
 	S32             mLastFace;
 	LLVector2       mLastUVCoords;
@@ -133,6 +134,8 @@ class LLToolGrab : public LLTool, public LLSingleton<LLToolGrab>
 	LLQuaternion	mSpinRotation;
 
 	BOOL			mHideBuildHighlight;
+
+	BOOL			mClickedInMouselook;
 };
 
 extern BOOL gGrabBtnVertical;
diff --git a/indra/newview/lltoolmgr.cpp b/indra/newview/lltoolmgr.cpp
index aa55caf7ec997005c049de1e208c15a49364120f..175227173f9bcee99864ed0cd4d15047b0d232e4 100755
--- a/indra/newview/lltoolmgr.cpp
+++ b/indra/newview/lltoolmgr.cpp
@@ -34,6 +34,7 @@
 
 //#include "llfirstuse.h"
 // tools and manipulators
+#include "llfloaterinspect.h"
 #include "lltool.h"
 #include "llmanipscale.h"
 #include "llselectmgr.h"
@@ -218,7 +219,20 @@ LLTool* LLToolMgr::getCurrentTool()
 		}
 		if (cur_tool)
 		{
-			cur_tool->handleSelect();
+			if (	LLToolCompInspect::getInstance()->isToolCameraActive()
+				&&	prev_tool == LLToolCamera::getInstance()
+				&&	cur_tool == LLToolPie::getInstance() )
+			{
+				LLFloaterInspect * inspect_instance = LLFloaterReg::getTypedInstance<LLFloaterInspect>("inspect");
+				if(inspect_instance && inspect_instance->getVisible())
+				{
+					setTransientTool(LLToolCompInspect::getInstance());
+				}
+			}
+			else
+			{
+				cur_tool->handleSelect();
+			}
 		}
 	}
 
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 6881ec4563acbb6fb682bb3f7533bb32838fb79b..e4353aafaab22b4645c01f2e65c590a083918a7c 100755
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -439,8 +439,12 @@ ECursorType LLToolPie::cursorFromObject(LLViewerObject* object)
 		break;
 	case CLICK_ACTION_BUY:
 		if ( mClickActionBuyEnabled )
-		{
-			cursor = UI_CURSOR_TOOLBUY;
+		{ 
+			LLSelectNode* node = LLSelectMgr::getInstance()->getHoverNode();
+			if (!node || node->mSaleInfo.isForSale())
+			{
+				cursor = UI_CURSOR_TOOLBUY;
+			}
 		}
 		break;
 	case CLICK_ACTION_OPEN:
@@ -544,6 +548,7 @@ BOOL LLToolPie::handleHover(S32 x, S32 y, MASK mask)
 	mHoverPick = gViewerWindow->pickImmediate(x, y, FALSE);
 	LLViewerObject *parent = NULL;
 	LLViewerObject *object = mHoverPick.getObject();
+	LLSelectMgr::getInstance()->setHoverObject(object, mHoverPick.mObjectFace);
 	if (object)
 	{
 		parent = object->getRootEdit();
@@ -1306,7 +1311,16 @@ void LLToolPie::handleDeselect()
 	}
 	// remove temporary selection for pie menu
 	LLSelectMgr::getInstance()->setHoverObject(NULL);
-	LLSelectMgr::getInstance()->validateSelection();
+
+	// Menu may be still up during transfer to different tool.
+	// toolfocus and toolgrab should retain menu, they will clear it if needed
+	MASK override_mask = gKeyboard ? gKeyboard->currentMask(TRUE) : 0;
+	if (gMenuHolder && (!gMenuHolder->getVisible() || (override_mask & (MASK_ALT | MASK_CONTROL)) == 0))
+	{
+		// in most cases menu is useless without correct selection, so either keep both or discard both
+		gMenuHolder->hideMenus();
+		LLSelectMgr::getInstance()->validateSelection();
+	}
 }
 
 LLTool* LLToolPie::getOverrideTool(MASK mask)
@@ -1686,6 +1700,12 @@ BOOL LLToolPie::handleRightClickPick()
 		}
 	}
 
+	// non UI object - put focus back "in world"
+	if (gFocusMgr.getKeyboardFocus())
+	{
+		gFocusMgr.setKeyboardFocus(NULL);
+	}
+
 	LLTool::handleRightMouseDown(x, y, mask);
 	// We handled the event.
 	return TRUE;
diff --git a/indra/newview/lltoolselect.cpp b/indra/newview/lltoolselect.cpp
index 0a9153eecb5593600218bfec9f16f47cdcc40c3b..812abe9dbde6406687f47a0af30a1d68585e1338 100755
--- a/indra/newview/lltoolselect.cpp
+++ b/indra/newview/lltoolselect.cpp
@@ -36,6 +36,7 @@
 #include "llmanip.h"
 #include "llmenugl.h"
 #include "llselectmgr.h"
+#include "llviewermediafocus.h"
 #include "lltoolmgr.h"
 #include "llfloaterscriptdebug.h"
 #include "llviewercamera.h"
@@ -110,6 +111,21 @@ LLObjectSelectionHandle LLToolSelect::handleObjectSelection(const LLPickInfo& pi
 	{
 		BOOL already_selected = object->isSelected();
 
+		if (already_selected &&
+			object->getNumTEs() > 0 &&
+			!LLSelectMgr::getInstance()->getSelection()->contains(object,SELECT_ALL_TES))
+		{
+			const LLTextureEntry* tep = object->getTE(pick.mObjectFace);
+			if (tep && !tep->isSelected() && !LLViewerMediaFocus::getInstance()->getFocusedObjectID().isNull())
+			{
+				// we were interacting with media and clicked on non selected face, drop media focus
+				LLViewerMediaFocus::getInstance()->clearFocus();
+				// selection was removed and zoom preserved by clearFocus(), continue with regular selection
+				already_selected = false;
+				extend_select = true;
+			}
+		}
+
 		if ( extend_select )
 		{
 			if ( already_selected )
diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp
index 615064c782a1686ba32b1d02c731b54969a8ec21..78268944fc0aa28b1c580f006a4fd94e81bcae82 100755
--- a/indra/newview/llurldispatcher.cpp
+++ b/indra/newview/llurldispatcher.cpp
@@ -278,13 +278,13 @@ class LLTeleportHandler : public LLCommandHandler
 							   tokens[2].asReal(), 
 							   tokens[3].asReal());
 		}
-		
-		LLSD args;
-		args["LOCATION"] = tokens[0];
 
 		// Region names may be %20 escaped.
 		std::string region_name = LLURI::unescape(tokens[0]);
 
+		LLSD args;
+		args["LOCATION"] = region_name;
+
 		LLSD payload;
 		payload["region_name"] = region_name;
 		payload["callback_url"] = LLSLURL(region_name, coords).getSLURLString();
diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp
index 4e491f257dd8235bc597f91c8f38ae82b2487063..e19fe9ca754ca5859de3890077962894ad67d403 100755
--- a/indra/newview/llviewerfloaterreg.cpp
+++ b/indra/newview/llviewerfloaterreg.cpp
@@ -76,6 +76,7 @@
 #include "llfloaterinspect.h"
 #include "llfloaterinventory.h"
 #include "llfloaterjoystick.h"
+#include "llfloaterlagmeter.h"
 #include "llfloaterland.h"
 #include "llfloaterlandholdings.h"
 #include "llfloatermap.h"
@@ -237,6 +238,7 @@ void LLViewerFloaterReg::registerFloaters()
 	LLNotificationsUI::registerFloater();
 	LLFloaterDisplayNameUtil::registerFloater();
 	
+	LLFloaterReg::add("lagmeter", "floater_lagmeter.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLagMeter>);
 	LLFloaterReg::add("land_holdings", "floater_land_holdings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLandHoldings>);
 	
 	LLFloaterReg::add("mem_leaking", "floater_mem_leaking.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMemLeak>);
diff --git a/indra/newview/llviewerkeyboard.cpp b/indra/newview/llviewerkeyboard.cpp
index 160478788cb487bbec56adebfd627831cc7e0d5a..a4a05587d304c1ac7dbfc078dd96de64f9013577 100755
--- a/indra/newview/llviewerkeyboard.cpp
+++ b/indra/newview/llviewerkeyboard.cpp
@@ -88,18 +88,25 @@ void agent_push_down( EKeystate s )
 	gAgent.moveUp(-1);
 }
 
+static void agent_check_temporary_run(LLAgent::EDoubleTapRunMode mode)
+{
+	if (gAgent.mDoubleTapRunMode == mode &&
+		gAgent.getRunning() &&
+		!gAgent.getAlwaysRun())
+	{
+		// Turn off temporary running.
+		gAgent.clearRunning();
+		gAgent.sendWalkRun(gAgent.getRunning());
+	}
+}
+
 static void agent_handle_doubletap_run(EKeystate s, LLAgent::EDoubleTapRunMode mode)
 {
 	if (KEYSTATE_UP == s)
 	{
-		if (gAgent.mDoubleTapRunMode == mode &&
-		    gAgent.getRunning() &&
-		    !gAgent.getAlwaysRun())
-		{
-			// Turn off temporary running.
-			gAgent.clearRunning();
-			gAgent.sendWalkRun(gAgent.getRunning());
-		}
+		// Note: in case shift is already released, slide left/right run
+		// will be released in agent_turn_left()/agent_turn_right()
+		agent_check_temporary_run(mode);
 	}
 	else if (gSavedSettings.getBOOL("AllowTapTapHoldRun") &&
 		 KEYSTATE_DOWN == s &&
@@ -162,7 +169,7 @@ void agent_push_backward( EKeystate s )
 	{
 		camera_move_backward(s);
 	}
-	else if (!gAgent.backwardGrabbed() && gAgentAvatarp->isSitting())
+	else if (!gAgent.backwardGrabbed() && gAgentAvatarp->isSitting() && gSavedSettings.getBOOL("LeaveMouselook"))
 	{
 		gAgentCamera.changeCameraToThirdPerson();
 	}
@@ -218,7 +225,12 @@ void agent_turn_left( EKeystate s )
 	}
 	else
 	{
-		if (KEYSTATE_UP == s) return;
+		if (KEYSTATE_UP == s)
+		{
+			// Check temporary running. In case user released 'left' key with shift already released.
+			agent_check_temporary_run(LLAgent::DOUBLETAP_SLIDELEFT);
+			return;
+		}
 		F32 time = gKeyboard->getCurKeyElapsedTime();
 		gAgent.moveYaw( LLFloaterMove::getYawRate( time ) );
 	}
@@ -241,7 +253,12 @@ void agent_turn_right( EKeystate s )
 	}
 	else
 	{
-		if (KEYSTATE_UP == s) return;
+		if (KEYSTATE_UP == s)
+		{
+			// Check temporary running. In case user released 'right' key with shift already released.
+			agent_check_temporary_run(LLAgent::DOUBLETAP_SLIDERIGHT);
+			return;
+		}
 		F32 time = gKeyboard->getCurKeyElapsedTime();
 		gAgent.moveYaw( -LLFloaterMove::getYawRate( time ) );
 	}
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 8c9429c05d7195aa4ef239324945f1b7f80fadc6..38aaff92798aa9169cc5b3cccdb9835011bf5a5e 100755
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -64,6 +64,7 @@
 #include "llfloaterinventory.h"
 #include "llfloaterimcontainer.h"
 #include "llfloaterland.h"
+#include "llfloaterimnearbychat.h"
 #include "llfloaterpathfindingcharacters.h"
 #include "llfloaterpathfindinglinksets.h"
 #include "llfloaterpay.h"
@@ -92,6 +93,7 @@
 #include "llparcel.h"
 #include "llrootview.h"
 #include "llsceneview.h"
+#include "llscenemonitor.h"
 #include "llselectmgr.h"
 #include "llspellcheckmenuhandler.h"
 #include "llstatusbar.h"
@@ -533,6 +535,10 @@ class LLAdvancedToggleConsole : public view_listener_t
 		{
 			toggle_visibility( (void*)gSceneView);
 		}
+		else if ("scene monitor" == console_type)
+		{
+			toggle_visibility( (void*)gSceneMonitorView);
+		}
 
 		return true;
 	}
@@ -559,6 +565,10 @@ class LLAdvancedCheckConsole : public view_listener_t
 		{
 			new_value = get_visibility( (void*) gSceneView);
 		}
+		else if ("scene monitor" == console_type)
+		{
+			new_value = get_visibility( (void*) gSceneMonitorView);
+		}
 		
 		return new_value;
 	}
@@ -5660,6 +5670,25 @@ void toggle_debug_menus(void*)
 // 	gExportDialog = LLUploadDialog::modalUploadDialog("Exporting selected objects...");
 // }
 //
+
+class LLCommunicateNearbyChat : public view_listener_t
+{
+	bool handleEvent(const LLSD& userdata)
+	{
+		LLFloaterIMContainer* im_box = LLFloaterIMContainer::getInstance();
+		bool nearby_visible	= LLFloaterReg::getTypedInstance<LLFloaterIMNearbyChat>("nearby_chat")->isInVisibleChain();
+		if(nearby_visible && im_box->getSelectedSession() == LLUUID() && im_box->getConversationListItemSize() > 1)
+		{
+			im_box->selectNextorPreviousConversation(false);
+		}
+		else
+		{
+			LLFloaterReg::toggleInstanceOrBringToFront("nearby_chat");
+		}
+		return true;
+	}
+};
+
 class LLWorldSetHomeLocation : public view_listener_t
 {
 	bool handleEvent(const LLSD& userdata)
@@ -6176,7 +6205,7 @@ class LLPromptShowURL : public view_listener_t
 			std::string alert = param.substr(0, offset);
 			std::string url = param.substr(offset+1);
 
-			if(gSavedSettings.getBOOL("UseExternalBrowser"))
+			if (LLWeb::useExternalBrowser(url))
 			{ 
     			LLSD payload;
     			payload["url"] = url;
@@ -7796,7 +7825,7 @@ void handle_web_content_test(const LLSD& param)
 void handle_show_url(const LLSD& param)
 {
 	std::string url = param.asString();
-	if(gSavedSettings.getBOOL("UseExternalBrowser"))
+	if (LLWeb::useExternalBrowser(url))
 	{
 		LLWeb::loadURLExternal(url);
 	}
@@ -8233,9 +8262,9 @@ class LLWorldEnableEnvSettings : public view_listener_t
 		bool result = false;
 		std::string tod = userdata.asString();
 
-		if (tod == "region")
+		if (LLEnvManagerNew::instance().getUseRegionSettings())
 		{
-			return LLEnvManagerNew::instance().getUseRegionSettings();
+			return (tod == "region");
 		}
 
 		if (LLEnvManagerNew::instance().getUseFixedSky())
@@ -8578,6 +8607,9 @@ void initialize_menus()
 	// Me > Movement
 	view_listener_t::addMenu(new LLAdvancedAgentFlyingInfo(), "Agent.getFlying");
 
+	//Communicate Nearby chat
+	view_listener_t::addMenu(new LLCommunicateNearbyChat(), "Communicate.NearbyChat");
+
 	// Communicate > Voice morphing > Subscribe...
 	commit.add("Communicate.VoiceMorphing.Subscribe", boost::bind(&handle_voice_morphing_subscribe));
 	LLVivoxVoiceClient * voice_clientp = LLVivoxVoiceClient::getInstance();
diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp
index 80f47ecab26311212010aad5a299ef46ceba55f1..b2a37694fe389d8540e0f15a15d2f6a4f320a342 100755
--- a/indra/newview/llviewermenufile.cpp
+++ b/indra/newview/llviewermenufile.cpp
@@ -477,8 +477,10 @@ class LLFileEnableCloseWindow : public view_listener_t
 {
 	bool handleEvent(const LLSD& userdata)
 	{
-		bool new_value = NULL != gFloaterView->getFrontmostClosableFloater();
-		return new_value;
+		bool frontmost_fl_exists = (NULL != gFloaterView->getFrontmostClosableFloater());
+		bool frontmost_snapshot_fl_exists = (NULL != gSnapshotFloaterView->getFrontmostClosableFloater());
+
+		return frontmost_fl_exists || frontmost_snapshot_fl_exists;
 	}
 };
 
@@ -486,7 +488,21 @@ class LLFileCloseWindow : public view_listener_t
 {
 	bool handleEvent(const LLSD& userdata)
 	{
-		LLFloater::closeFrontmostFloater();
+		bool frontmost_fl_exists = (NULL != gFloaterView->getFrontmostClosableFloater());
+		LLFloater* snapshot_floater = gSnapshotFloaterView->getFrontmostClosableFloater();
+
+		if(snapshot_floater && (!frontmost_fl_exists || snapshot_floater->hasFocus()))
+		{
+			snapshot_floater->closeFloater();
+			if (gFocusMgr.getKeyboardFocus() == NULL)
+			{
+				gFloaterView->focusFrontFloater();
+			}
+		}
+		else
+		{
+			LLFloater::closeFrontmostFloater();
+		}
 		return true;
 	}
 };
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 9d5c3c4d4a0ad0d3c3eef2d86bc3882d1218a2b8..703c6d87c6c8d7c882e404f5610604c7ef5d5ff9 100755
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -3767,6 +3767,15 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
 			LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
 		}
 
+		// don't call notification for debug messages from not owned objects
+		if (chat.mChatType == CHAT_TYPE_DEBUG_MSG)
+		{
+			if (gAgentID != chat.mOwnerID)
+			{
+				return;
+			}
+		}
+
 		LLSD msg_notify = LLSD(LLSD::emptyMap());
 		msg_notify["session_id"] = LLUUID();
         msg_notify["from_id"] = chat.mFromID;
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index 2d42c683575e91a9c189cac1e42776b6bcd4b9a9..97cefaf33cae3e871000096f25c83d1f92c1c9b0 100755
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -2792,8 +2792,8 @@ void LLViewerObject::dirtyInventory()
 		mInventory->clear(); // will deref and delete entries
 		delete mInventory;
 		mInventory = NULL;
-		mInventoryDirty = TRUE;
 	}
+	mInventoryDirty = TRUE;
 }
 
 void LLViewerObject::registerInventoryListener(LLVOInventoryListener* listener, void* user_data)
@@ -2830,12 +2830,15 @@ void LLViewerObject::clearInventoryListeners()
 
 void LLViewerObject::requestInventory()
 {
-	mInventoryDirty = FALSE;
+	if(mInventoryDirty && mInventory && !mInventoryCallbacks.empty())
+	{
+		mInventory->clear(); // will deref and delete entries
+		delete mInventory;
+		mInventory = NULL;
+		mInventoryDirty = FALSE; //since we are going to request it now
+	}
 	if(mInventory)
 	{
-		//mInventory->clear() // will deref and delete it
-		//delete mInventory;
-		//mInventory = NULL;
 		doInventoryCallback();
 	}
 	// throw away duplicate requests
diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp
index cdb08f4707aa167ff5df76c0397f989046f89f53..7c94442f09b6fccb756c454785ddff56b03e3eb7 100755
--- a/indra/newview/llviewerparcelmgr.cpp
+++ b/indra/newview/llviewerparcelmgr.cpp
@@ -117,6 +117,7 @@ LLViewerParcelMgr::LLViewerParcelMgr()
 	mHoverRequestResult(0),
 	mHoverWestSouth(),
 	mHoverEastNorth(),
+	mTeleportInProgressPosition(),
 	mRenderCollision(FALSE),
 	mRenderSelection(TRUE),
 	mCollisionBanned(0),
@@ -1320,12 +1321,6 @@ void LLViewerParcelMgr::setHoverParcel(const LLVector3d& pos)
 	static U32 last_west, last_south;
 
 
-	// only request parcel info when tooltip is shown
-	if (!gSavedSettings.getBOOL("ShowLandHoverTip"))
-	{
-		return;
-	}
-
 	// only request parcel info if position has changed outside of the
 	// last parcel grid step
 	U32 west_parcel_step = (U32) floor( pos.mdV[VX] / PARCEL_GRID_STEP_METERS );
@@ -1585,7 +1580,15 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use
 			if (instance->mTeleportInProgress)
 			{
 				instance->mTeleportInProgress = FALSE;
-				instance->mTeleportFinishedSignal(gAgent.getPositionGlobal(), false);
+				if(instance->mTeleportInProgressPosition.isNull())
+				{
+					//initial update
+					instance->mTeleportFinishedSignal(gAgent.getPositionGlobal(), false);
+				}
+				else
+				{
+					instance->mTeleportFinishedSignal(instance->mTeleportInProgressPosition, false);
+				}
 			}
 		}
 	}
@@ -2494,6 +2497,7 @@ void LLViewerParcelMgr::onTeleportFinished(bool local, const LLVector3d& new_pos
 		// Non-local teleport (inter-region or between different parcels of the same region).
 		// The agent parcel data has not been updated yet.
 		// Let's wait for the update and then emit the signal.
+		mTeleportInProgressPosition = new_pos;
 		mTeleportInProgress = TRUE;
 	}
 }
diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h
index 58d398e141cfc736dd94a31e2072e65239f6f412..b5b269abdfec91a1171df87261e7c9b24eaec624 100755
--- a/indra/newview/llviewerparcelmgr.h
+++ b/indra/newview/llviewerparcelmgr.h
@@ -335,6 +335,7 @@ class LLViewerParcelMgr : public LLSingleton<LLViewerParcelMgr>
 	std::vector<LLParcelObserver*> mObservers;
 
 	BOOL						mTeleportInProgress;
+	LLVector3d					mTeleportInProgressPosition;
 	teleport_finished_signal_t	mTeleportFinishedSignal;
 	teleport_failed_signal_t	mTeleportFailedSignal;
 
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index ba89aafc84bacb7416f6ca46eb8b3e36a20cd904..3f6d244af1613b41382942743285cd940ffc5d13 100755
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -88,7 +88,7 @@ F32 LLViewerTexture::sDesiredDiscardBias = 0.f;
 F32 LLViewerTexture::sDesiredDiscardScale = 1.1f;
 S32Bytes LLViewerTexture::sBoundTextureMemory;
 S32Bytes LLViewerTexture::sTotalTextureMemory;
-S32Megabytes LLViewerTexture::sMaxBoundTextureMem;
+S32Megabytes LLViewerTexture::sMaxBoundTextureMemory;
 S32Megabytes LLViewerTexture::sMaxTotalTextureMem;
 S32Bytes LLViewerTexture::sMaxDesiredTextureMem;
 S8  LLViewerTexture::sCameraMovingDiscardBias = 0;
@@ -534,11 +534,11 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity
 
 	sBoundTextureMemory = LLImageGL::sBoundTextureMemory;
 	sTotalTextureMemory = LLImageGL::sGlobalTextureMemory;
-	sMaxBoundTextureMem = gTextureList.getMaxResidentTexMem();
+	sMaxBoundTextureMemory = gTextureList.getMaxResidentTexMem();
 	sMaxTotalTextureMem = gTextureList.getMaxTotalTextureMem();
 	sMaxDesiredTextureMem = sMaxTotalTextureMem; //in Bytes, by default and when total used texture memory is small.
 
-	if (sBoundTextureMemory >= sMaxBoundTextureMem ||
+	if (sBoundTextureMemory >= sMaxBoundTextureMemory ||
 		sTotalTextureMemory >= sMaxTotalTextureMem)
 	{
 		//when texture memory overflows, lower down the threshold to release the textures more aggressively.
@@ -558,7 +558,7 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity
 		sEvaluationTimer.reset();
 	}
 	else if (sDesiredDiscardBias > 0.0f &&
-			 sBoundTextureMemory < sMaxBoundTextureMem * texmem_lower_bound_scale &&
+			 sBoundTextureMemory < sMaxBoundTextureMemory * texmem_lower_bound_scale &&
 			 sTotalTextureMemory < sMaxTotalTextureMem * texmem_lower_bound_scale)
 	{			 
 		// If we are using less texture memory than we should,
@@ -576,7 +576,7 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity
 	sCameraMovingBias = llmax(0.2f * camera_moving_speed, 2.0f * camera_angular_speed - 1);
 	sCameraMovingDiscardBias = (S8)(sCameraMovingBias);
 
-	LLViewerTexture::sFreezeImageScalingDown = (sBoundTextureMemory < 0.75f * sMaxBoundTextureMem * texmem_middle_bound_scale) &&
+	LLViewerTexture::sFreezeImageScalingDown = (sBoundTextureMemory < 0.75f * sMaxBoundTextureMemory * texmem_middle_bound_scale) &&
 				(sTotalTextureMemory < 0.75f * sMaxTotalTextureMem * texmem_middle_bound_scale);
 }
 
@@ -1480,6 +1480,17 @@ void LLViewerFetchedTexture::processTextureStats()
 		{
 			mDesiredDiscardLevel = 0;
 		}
+		else if (mDontDiscard && (mBoostLevel == LLGLTexture::BOOST_UI || mBoostLevel == LLGLTexture::BOOST_ICON))
+		{
+			if (mFullWidth > MAX_IMAGE_SIZE_DEFAULT || mFullHeight > MAX_IMAGE_SIZE_DEFAULT)
+			{
+				mDesiredDiscardLevel = 1; // MAX_IMAGE_SIZE_DEFAULT = 1024 and max size ever is 2048
+			}
+			else
+			{
+				mDesiredDiscardLevel = 0;
+			}
+		}
 		else if(!mFullWidth || !mFullHeight)
 		{
 			mDesiredDiscardLevel = 	llmin(getMaxDiscardLevel(), (S32)mLoadedCallbackDesiredDiscardLevel);
@@ -3074,7 +3085,7 @@ void LLViewerLODTexture::processTextureStats()
 				scaleDown();
 			}
 			// Limit the amount of GL memory bound each frame
-			else if ( sBoundTextureMemory > sMaxBoundTextureMem * texmem_middle_bound_scale &&
+			else if ( sBoundTextureMemory > sMaxBoundTextureMemory * texmem_middle_bound_scale &&
 				(!getBoundRecently() || mDesiredDiscardLevel >= mCachedRawDiscardLevel))
 			{
 				scaleDown();
diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h
index 307204da60f362084d20434ebf5e75ec339b658c..05912404e4382d1871752c7d06e2090a5e7dc527 100755
--- a/indra/newview/llviewertexture.h
+++ b/indra/newview/llviewertexture.h
@@ -210,7 +210,7 @@ class LLViewerTexture : public LLGLTexture
 	static F32 sDesiredDiscardScale;
 	static S32Bytes sBoundTextureMemory;
 	static S32Bytes sTotalTextureMemory;
-	static S32Megabytes sMaxBoundTextureMem;
+	static S32Megabytes sMaxBoundTextureMemory;
 	static S32Megabytes sMaxTotalTextureMem;
 	static S32Bytes sMaxDesiredTextureMem ;
 	static S8  sCameraMovingDiscardBias;
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 4d263c118b23d5f6c43e4d4a9d87cb8d591d7f49..9dcd0b81e089c838ceafb095ce6ed5f1227171e5 100755
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -1392,6 +1392,13 @@ BOOL LLViewerWindow::handleTranslatedKeyUp(KEY key,  MASK mask)
 	// Let the voice chat code check for its PTT key.  Note that this never affects event processing.
 	LLVoiceClient::getInstance()->keyUp(key, mask);
 
+	// Let the inspect tool code check for ALT key to set LLToolSelectRect active instead LLToolCamera
+	LLToolCompInspect * tool_inspectp = LLToolCompInspect::getInstance();
+	if (LLToolMgr::getInstance()->getCurrentTool() == tool_inspectp)
+	{
+		tool_inspectp->keyUp(key, mask);
+	}
+
 	return FALSE;
 }
 
@@ -1962,7 +1969,7 @@ void LLViewerWindow::initWorldUI()
 
 	// Force gFloaterTools to initialize
 	LLFloaterReg::getInstance("build");
-	LLFloaterReg::hideInstance("build");
+
 
 	// Status bar
 	LLPanel* status_bar_container = getRootView()->getChild<LLPanel>("status_bar_container");
@@ -3216,6 +3223,8 @@ void LLViewerWindow::updateUI()
 				}
 
 				append_xui_tooltip(tooltip_view, params);
+				params.styled_message.add().text("\n");
+
 				screen_sticky_rect.intersectWith(tooltip_view->calcScreenRect());
 				
 				params.sticky_rect = screen_sticky_rect;
@@ -3265,7 +3274,7 @@ void LLViewerWindow::updateUI()
 
 	updateLayout();
 
-	saveLastMouse(mCurrentMousePoint);
+	mLastMousePoint = mCurrentMousePoint;
 
 	// cleanup unused selections when no modal dialogs are open
 	if (LLModalDialog::activeCount() == 0)
@@ -3505,8 +3514,6 @@ void LLViewerWindow::saveLastMouse(const LLCoordGL &point)
 	// Store last mouse location.
 	// If mouse leaves window, pretend last point was on edge of window
 
-	mLastMousePoint = mCurrentMousePoint;
-
 	if (point.mX < 0)
 	{
 		mCurrentMousePoint.mX = 0;
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index fea1c0f52139f06e0c3476a9e31babaf8f3ddcf3..904d08ac7327e5cf5b46772e9cdab9e8b27a5412 100755
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -2068,7 +2068,7 @@ void LLVOAvatar::idleUpdate(LLAgent &agent, const F64 &time)
 	}	
 
 	if (!(gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_AVATAR))
-		&& !(gSavedSettings.getBOOL("DisableAllRenderTypes")))
+		&& !(gSavedSettings.getBOOL("DisableAllRenderTypes")) && !isSelf())
 	{
 		return;
 	}
@@ -4884,6 +4884,12 @@ BOOL LLVOAvatar::processSingleAnimationStateChange( const LLUUID& anim_id, BOOL
 		{
 			sitDown(FALSE);
 		}
+		if ((anim_id == ANIM_AGENT_DO_NOT_DISTURB) && gAgent.isDoNotDisturb())
+		{
+			// re-assert DND tag animation
+			gAgent.sendAnimationRequest(ANIM_AGENT_DO_NOT_DISTURB, ANIM_REQUEST_START);
+			return result;
+		}
 		stopMotion(anim_id);
 		result = TRUE;
 	}
diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp
index 3c3dc3377221b53b444945e7077543361bd25300..426ca332e42ddaa24001e388717e7570a7c8fd42 100755
--- a/indra/newview/llvoicechannel.cpp
+++ b/indra/newview/llvoicechannel.cpp
@@ -280,14 +280,14 @@ void LLVoiceChannel::deactivate()
 	if (callStarted())
 	{
 		setState(STATE_HUNG_UP);
-		
+
 		//Default mic is OFF when leaving voice calls
-		if (gSavedSettings.getBOOL("AutoDisengageMic") && 
+		if (gSavedSettings.getBOOL("AutoDisengageMic") &&
 			sCurrentVoiceChannel == this &&
 			LLVoiceClient::getInstance()->getUserPTTState())
 		{
 			gSavedSettings.setBOOL("PTTCurrentlyEnabled", true);
-			LLVoiceClient::getInstance()->inputUserControlState(true);
+			LLVoiceClient::getInstance()->setUserPTTState(false);
 		}
 	}
 	LLVoiceClient::getInstance()->removeObserver(this);
@@ -725,6 +725,8 @@ void LLVoiceChannelProximal::handleStatusChange(EStatusType status)
 		// do not notify user when leaving proximal channel
 		return;
 	case STATUS_VOICE_DISABLED:
+		LLVoiceClient::getInstance()->setUserPTTState(false);
+		gAgent.setVoiceConnected(false);
 		//skip showing "Voice not available at your current location" when agent voice is disabled (EXT-4749)
 		if(LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking())
 		{
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index 815965fb0a7d495152b48350d1a0e9ead77f8bf7..0bf373f4786a3db1e3db67453deaa1051c144954 100755
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -36,6 +36,7 @@
 #include "llsdserialize.h"
 #include "llui.h"
 #include "llkeyboard.h"
+#include "llagent.h"
 
 const F32 LLVoiceClient::OVERDRIVEN_POWER_LEVEL = 0.7f;
 
@@ -635,7 +636,7 @@ void LLVoiceClient::keyDown(KEY key, MASK mask)
 		return;
 	}
 	
-	if(!mPTTIsMiddleMouse)
+	if(!mPTTIsMiddleMouse && LLAgent::isActionAllowed("speak"))
 	{
 		bool down = (mPTTKey != KEY_NONE)
 		&& gKeyboard->getKeyDown(mPTTKey);
@@ -654,12 +655,9 @@ void LLVoiceClient::keyUp(KEY key, MASK mask)
 }
 void LLVoiceClient::middleMouseState(bool down)
 {
-	if(mPTTIsMiddleMouse)
+	if(mPTTIsMiddleMouse && LLAgent::isActionAllowed("speak"))
 	{
-        if(mPTTIsMiddleMouse)
-        {
-			inputUserControlState(down);
-        }		
+		inputUserControlState(down);
 	}
 }
 
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index 54b41193316e9dc0c441ba43de662b4501f27e7b..2f3cd4d24c8da6646325b2b95ba2c2c14b0db6f6 100755
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -3169,7 +3169,7 @@ void LLVivoxVoiceClient::mediaStreamUpdatedEvent(
 				session->mErrorStatusCode = statusCode;
 			break;
 		}
-		
+
 		switch(state)
 		{
 			case streamStateIdle:
@@ -5433,7 +5433,8 @@ void LLVivoxVoiceClient::notifyStatusObservers(LLVoiceClientStatusObserver::ESta
 
 	// skipped to avoid speak button blinking
 	if (   status != LLVoiceClientStatusObserver::STATUS_JOINING
-		&& status != LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL)
+		&& status != LLVoiceClientStatusObserver::STATUS_LEFT_CHANNEL
+		&& status != LLVoiceClientStatusObserver::STATUS_VOICE_DISABLED)
 	{
 		bool voice_status = LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking();
 
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 0dc5ae5058f57209e0b546c46964fd05787fb7f2..9d16ce5a7bfe6aa9a5e636e20eb748c8b64ae42f 100755
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -2040,7 +2040,18 @@ S32 LLVOVolume::setTEMaterialID(const U8 te, const LLMaterialID& pMaterialID)
 
 S32 LLVOVolume::setTEMaterialParams(const U8 te, const LLMaterialPtr pMaterialParams)
 {
-	S32 res = LLViewerObject::setTEMaterialParams(te, pMaterialParams);
+	S32 res = 0;
+	
+	if (pMaterialParams && getTEImage(te) && 3 == getTEImage(te)->getComponents() && pMaterialParams->getDiffuseAlphaMode()) 
+	{
+		LLViewerObject::setTEMaterialID(te, LLMaterialID::null);
+		res = LLViewerObject::setTEMaterialParams(te, NULL);
+	}
+	else 
+	{
+		res = LLViewerObject::setTEMaterialParams(te, pMaterialParams);
+	}
+
 	LL_DEBUGS("MaterialTEs") << "te " << (S32)te << " material " << ((pMaterialParams) ? pMaterialParams->asLLSD() : LLSD("null")) << " res " << res
 							 << ( LLSelectMgr::getInstance()->getSelection()->contains(const_cast<LLVOVolume*>(this), te) ? " selected" : " not selected" )
 							 << LL_ENDL;
@@ -4328,7 +4339,7 @@ void LLVolumeGeometryManager::registerFace(LLSpatialGroup* group, LLFace* facep,
 		draw_info->mBump  = bump;
 		draw_info->mShiny = shiny;
 
-		float alpha[4] =
+		static const float alpha[4] =
 		{
 			0.00f,
 			0.25f,
@@ -5653,7 +5664,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, LLFac
 
 				if (material_pass)
 				{
-					U32 pass[] = 
+					static const U32 pass[] = 
 					{
 						LLRenderPass::PASS_MATERIAL,
 						LLRenderPass::PASS_ALPHA, //LLRenderPass::PASS_MATERIAL_ALPHA,
diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp
index 665671a38f46e2ece0c128fd5c3a4ce59fce1f82..0312972a22f0c3326d4db338c8c3a8d3ba2ca915 100755
--- a/indra/newview/llweb.cpp
+++ b/indra/newview/llweb.cpp
@@ -50,6 +50,8 @@
 #include "llviewerwindow.h"
 #include "llnotificationsutil.h"
 
+#include <boost/regex.hpp>
+
 bool on_load_url_external_response(const LLSD& notification, const LLSD& response, bool async );
 
 
@@ -87,7 +89,8 @@ void LLWeb::loadURL(const std::string& url, const std::string& target, const std
 		// Force load in the internal browser, as if with a blank target.
 		loadURLInternal(url, "", uuid);
 	}
-	else if (gSavedSettings.getBOOL("UseExternalBrowser") || (target == "_external"))
+
+	else if (useExternalBrowser(url) || (target == "_external"))
 	{
 		loadURLExternal(url);
 	}
@@ -225,3 +228,19 @@ std::string LLWeb::expandURLSubstitutions(const std::string &url,
 
 	return LLWeb::escapeURL(expanded_url);
 }
+
+//static
+bool LLWeb::useExternalBrowser(const std::string &url)
+{
+	if (gSavedSettings.getU32("PreferredBrowserBehavior") == BROWSER_EXTERNAL_ONLY)
+	{
+		return true;
+	}
+	else if (gSavedSettings.getU32("PreferredBrowserBehavior") == BROWSER_INT_LL_EXT_OTHERS)
+	{
+		boost::regex pattern = boost::regex("\\b(lindenlab.com|secondlife.com)\\b", boost::regex::perl|boost::regex::icase);
+		boost::match_results<std::string::const_iterator> matches;
+		return !(boost::regex_search(url, matches, pattern));	
+	}
+	return false;
+}
diff --git a/indra/newview/llweb.h b/indra/newview/llweb.h
index 0b95f664d681f0ec510c5ddfd1296658f5590ee0..7c90badbfe643eabae9349d16489e59e3f3c90ac 100755
--- a/indra/newview/llweb.h
+++ b/indra/newview/llweb.h
@@ -40,6 +40,13 @@
 class LLWeb
 {
 public:
+	enum PreferredBrowser
+	{
+		BROWSER_EXTERNAL_ONLY = 0,
+		BROWSER_INT_LL_EXT_OTHERS = 1,
+		BROWSER_INTERNAL_ONLY = 2
+	};
+
 	static void initClass();
 	
 	/// Load the given url in the operating system's web browser, async if we want to return immediately
@@ -57,6 +64,7 @@ class LLWeb
 	/// Expands various strings like [LANG], [VERSION], etc. in a URL
 	static std::string expandURLSubstitutions(const std::string &url,
 											  const LLSD &default_subs);
+	static bool useExternalBrowser(const std::string &url);
 };
 
 #endif
diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp
index a770352f86dc8bbbb624583903f19943639fadd1..7cb53a070639ede77c74395f7447f65afc5111b8 100755
--- a/indra/newview/llworldmapview.cpp
+++ b/indra/newview/llworldmapview.cpp
@@ -1694,6 +1694,8 @@ BOOL LLWorldMapView::handleHover( S32 x, S32 y, MASK mask )
 			sPanY += delta_y;
 			sTargetPanX = sPanX;
 			sTargetPanY = sPanY;
+
+			gViewerWindow->moveCursorToCenter();
 		}
 
 		// doesn't matter, cursor should be hidden
diff --git a/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png b/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png
index 8b58db0cba8c3230b38fd551f5487c1cf444afd5..50239c8af8e867be69c06b617f7cc83e846ecee2 100755
Binary files a/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png and b/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png differ
diff --git a/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png b/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png
index 9e7291d6fbf131ec27337bd13434c37ba4af2128..fade065ce7fc155b25f1e2486aaa2c52bab4f9d6 100755
Binary files a/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png and b/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png differ
diff --git a/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png b/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png
index 0ac5b72b8f70e67faef73d07f1ffcd483690c4c1..eb2f3dbaa42dea9b85beae2f1273b5bacd53972a 100755
Binary files a/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png and b/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png differ
diff --git a/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png b/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png
index d7ec04237b53b2b2634210381b1a423a401375d6..4ab4bbe4afd287156197b64efdc950e679d19615 100755
Binary files a/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png and b/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png differ
diff --git a/indra/newview/skins/default/textures/down_arrow.png b/indra/newview/skins/default/textures/down_arrow.png
index 155f80c97ea48f32e00656749055a2fec8ec30f6..21a0fc5ec00a6d4365fd8d6c97430d7b24124179 100755
Binary files a/indra/newview/skins/default/textures/down_arrow.png and b/indra/newview/skins/default/textures/down_arrow.png differ
diff --git a/indra/newview/skins/default/textures/icons/Edit_Wrench.png b/indra/newview/skins/default/textures/icons/Edit_Wrench.png
index edb40b9c96fa888fa4cadbbebc2556e8efac6fb4..42f846696965257df9061068bfa02ce8cb48c0ff 100755
Binary files a/indra/newview/skins/default/textures/icons/Edit_Wrench.png and b/indra/newview/skins/default/textures/icons/Edit_Wrench.png differ
diff --git a/indra/newview/skins/default/textures/icons/Generic_Group_Large.png b/indra/newview/skins/default/textures/icons/Generic_Group_Large.png
index 75833eccf3eb694728e4ca3b56b88025220235dd..46ee6dfe2c156e7afb0dd7675b40d624470da448 100755
Binary files a/indra/newview/skins/default/textures/icons/Generic_Group_Large.png and b/indra/newview/skins/default/textures/icons/Generic_Group_Large.png differ
diff --git a/indra/newview/skins/default/textures/icons/Generic_Person.png b/indra/newview/skins/default/textures/icons/Generic_Person.png
index 45b491ab5968c3eab8b194df4b61889b98bdf952..e1411354afd941891366301bb7b04e0fbbd45d26 100755
Binary files a/indra/newview/skins/default/textures/icons/Generic_Person.png and b/indra/newview/skins/default/textures/icons/Generic_Person.png differ
diff --git a/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png b/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png
index 296311e7979c7f38b20dd77f1f78288b6ae243fc..ae8c8b4c1ac10928cc0db90b113e3a284446e697 100755
Binary files a/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png and b/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_Link.png b/indra/newview/skins/default/textures/icons/Inv_Link.png
index c1543dacb5d3a379da66dab11a073c5ccbd07e8d..26bf4086fbfd16e442f2038f82781fe5d3349f7f 100755
Binary files a/indra/newview/skins/default/textures/icons/Inv_Link.png and b/indra/newview/skins/default/textures/icons/Inv_Link.png differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_LostClosed.png b/indra/newview/skins/default/textures/icons/Inv_LostClosed.png
index a800217e0df8a77f66f3936589fe0bbf95046dd4..42b5c88fdd6a060f991f1fff60e81b145f85bdb5 100755
Binary files a/indra/newview/skins/default/textures/icons/Inv_LostClosed.png and b/indra/newview/skins/default/textures/icons/Inv_LostClosed.png differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_LostOpen.png b/indra/newview/skins/default/textures/icons/Inv_LostOpen.png
index 8c4a1a9ac02db6ae85761a0cb08acfd53e996881..a52168d6c7580975e1cfb0d272f8a5ee619388ed 100755
Binary files a/indra/newview/skins/default/textures/icons/Inv_LostOpen.png and b/indra/newview/skins/default/textures/icons/Inv_LostOpen.png differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_Mesh.png b/indra/newview/skins/default/textures/icons/Inv_Mesh.png
index f1f21f7941e59cbcf229ae0900424ad1b1a757df..77e52264c3df5999376bffe72629c87904c00662 100755
Binary files a/indra/newview/skins/default/textures/icons/Inv_Mesh.png and b/indra/newview/skins/default/textures/icons/Inv_Mesh.png differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_SysClosed.png b/indra/newview/skins/default/textures/icons/Inv_SysClosed.png
index dcf998449fef8d01bb4724de440770624602130d..57eafc4047374d342563d862aead2e987fc7fe09 100755
Binary files a/indra/newview/skins/default/textures/icons/Inv_SysClosed.png and b/indra/newview/skins/default/textures/icons/Inv_SysClosed.png differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_SysOpen.png b/indra/newview/skins/default/textures/icons/Inv_SysOpen.png
index 0efd403c954b2ca5dede5096e99742f84282205a..b080688e5545204f058550bc75082f1031752836 100755
Binary files a/indra/newview/skins/default/textures/icons/Inv_SysOpen.png and b/indra/newview/skins/default/textures/icons/Inv_SysOpen.png differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png b/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png
index c5201e6f9a2c2421fedb5241696daaf9012a2e07..7a958c1ec000e090cd28ff79136117c80147dbfe 100755
Binary files a/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png and b/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png b/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png
index 4a886a3f37ea0e17a1f82938f7a4559a7475c15e..11e6bf33bcd020310f6ef61df92d4e74cb65c4f8 100755
Binary files a/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png and b/indra/newview/skins/default/textures/icons/Inv_TrashOpen.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
index e0b18b2451ed930f309c1f14019e2b8d70a09291..af65873cb65b1d281f25a012f1060bba1c9bbad3 100755
Binary files a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png 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
index 101aaa42b1edfcb79bbc766e7db3b22696d0c218..6ceb9d3d8fe9084333445f1c9cc83604a11c32bb 100755
Binary files a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png 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
index c27f18e3c745b985d3024548b5c7073b9fca28bb..7084e2f591e9d69f97da19a5782e1fd8d61e2b70 100755
Binary files a/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png and b/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png
index 956e02b14dd546a696e3257621176ca8b32e5be5..60d056b573ecc5c780233109baab61338ee66a63 100755
Binary files a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png and b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png
index 434caeda8b629bb840ebb0758a482ba8dcbb196b..d004b0f750edeee111e9a6434d18300be05a4362 100755
Binary files a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png and b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png
index 064687ed0f650d44a4e06df5400cd5e51f77f501..eed28765f79ac24b5538b2abacb1eef6b0ed85ad 100755
Binary files a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png and b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png
index 5465650d0c0a48e122cb2eca63ff1b47e1bad75e..e35de3c2faa47677dbf3226e4532644cd7ad5318 100755
Binary files a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png and b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png differ
diff --git a/indra/newview/skins/default/textures/icons/Person_Check.png b/indra/newview/skins/default/textures/icons/Person_Check.png
index f8638540d4eb8ecf17d3f19c3c943db35924b50e..d40eafe793f4156c4416669cee9aebf781b36149 100755
Binary files a/indra/newview/skins/default/textures/icons/Person_Check.png and b/indra/newview/skins/default/textures/icons/Person_Check.png differ
diff --git a/indra/newview/skins/default/textures/icons/Person_Star.png b/indra/newview/skins/default/textures/icons/Person_Star.png
index ad10580ac45e7b6f4a9b92841feb21956b28a0e8..e02935672fdc69f9378ec8e7d31e07bd4032f14c 100755
Binary files a/indra/newview/skins/default/textures/icons/Person_Star.png and b/indra/newview/skins/default/textures/icons/Person_Star.png differ
diff --git a/indra/newview/skins/default/textures/icons/SL_Logo.png b/indra/newview/skins/default/textures/icons/SL_Logo.png
index 8342d7cfee55aeb3558946099eff623cb577d48d..5e376c72f976253c8d54c0186667552d45bea937 100755
Binary files a/indra/newview/skins/default/textures/icons/SL_Logo.png and b/indra/newview/skins/default/textures/icons/SL_Logo.png differ
diff --git a/indra/newview/skins/default/textures/icons/Shop.png b/indra/newview/skins/default/textures/icons/Shop.png
index 81c13eeabd3af1c751e4b80ad7c626bf91ed1c2c..8977c49195aa2e3d260bfd8e5de09b47123de088 100755
Binary files a/indra/newview/skins/default/textures/icons/Shop.png and b/indra/newview/skins/default/textures/icons/Shop.png differ
diff --git a/indra/newview/skins/default/textures/icons/Web_Profile_Off.png b/indra/newview/skins/default/textures/icons/Web_Profile_Off.png
index f5fb774a6faac1d6f675fc2f566b2709c7b7d8ef..5716dd6d22edcb352bed0436798900138d15ee07 100755
Binary files a/indra/newview/skins/default/textures/icons/Web_Profile_Off.png and b/indra/newview/skins/default/textures/icons/Web_Profile_Off.png differ
diff --git a/indra/newview/skins/default/textures/icons/back_arrow_off.png b/indra/newview/skins/default/textures/icons/back_arrow_off.png
index 422f67cf8391ea69ce15d2fcc51e873c138d428e..e7cea49d731408682cbf8b3a35b120401139e9bd 100755
Binary files a/indra/newview/skins/default/textures/icons/back_arrow_off.png and b/indra/newview/skins/default/textures/icons/back_arrow_off.png differ
diff --git a/indra/newview/skins/default/textures/icons/back_arrow_over.png b/indra/newview/skins/default/textures/icons/back_arrow_over.png
index b4cc170f37984455e4b7001fa535d26a4c5c8fcf..4e5a93a25fad3ba0f098574f2eb47a1a1aaa1c94 100755
Binary files a/indra/newview/skins/default/textures/icons/back_arrow_over.png and b/indra/newview/skins/default/textures/icons/back_arrow_over.png differ
diff --git a/indra/newview/skins/default/textures/icons/back_arrow_press.png b/indra/newview/skins/default/textures/icons/back_arrow_press.png
index a9e2f326a7335161131b099e075b1e5fe42ca8fc..289b8c20e645a8743fbbf65de11687c15999ed7c 100755
Binary files a/indra/newview/skins/default/textures/icons/back_arrow_press.png and b/indra/newview/skins/default/textures/icons/back_arrow_press.png differ
diff --git a/indra/newview/skins/default/textures/icons/check_mark.png b/indra/newview/skins/default/textures/icons/check_mark.png
index 2c05297f4f5a15954b5b3fb81742814576bdd662..4d927cb29e75645f6eec5199802835e2b4205757 100755
Binary files a/indra/newview/skins/default/textures/icons/check_mark.png and b/indra/newview/skins/default/textures/icons/check_mark.png differ
diff --git a/indra/newview/skins/default/textures/icons/pop_up_caution.png b/indra/newview/skins/default/textures/icons/pop_up_caution.png
index 78b681cb3365a4e25faaafe8c0e9ab6d2aa17802..8364bcc3285fd7a92da57886dd322bf05490038a 100755
Binary files a/indra/newview/skins/default/textures/icons/pop_up_caution.png and b/indra/newview/skins/default/textures/icons/pop_up_caution.png differ
diff --git a/indra/newview/skins/default/textures/menu_separator.png b/indra/newview/skins/default/textures/menu_separator.png
index 89dcdcdff5f3169619732dca5ca11fa0268c3504..7bb27c499d7a1050e8efbb6171a2496ec027e41f 100755
Binary files a/indra/newview/skins/default/textures/menu_separator.png and b/indra/newview/skins/default/textures/menu_separator.png differ
diff --git a/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png b/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png
index d0b213cdc5abfed5d9708437c8a32293cac9d66a..7c6920205f5d1a1790e2274d301050c097e6109b 100755
Binary files a/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png and b/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png differ
diff --git a/indra/newview/skins/default/textures/model_wizard/progress_light.png b/indra/newview/skins/default/textures/model_wizard/progress_light.png
index 019344f812fb6cce7f20bb565c0a008abf6963c8..c8ab151c44d4cb07703b20faf2160b149d06f171 100755
Binary files a/indra/newview/skins/default/textures/model_wizard/progress_light.png and b/indra/newview/skins/default/textures/model_wizard/progress_light.png differ
diff --git a/indra/newview/skins/default/textures/navbar/Search.png b/indra/newview/skins/default/textures/navbar/Search.png
index 0d0e330bc7c8baf01fe6444fd5dfda7b9b73b6c3..4c29e57f7bac290303fbb2138310930ae1b87f30 100755
Binary files a/indra/newview/skins/default/textures/navbar/Search.png and b/indra/newview/skins/default/textures/navbar/Search.png differ
diff --git a/indra/newview/skins/default/textures/navbar/separator.png b/indra/newview/skins/default/textures/navbar/separator.png
index b93e5791a7eab8ba17fae0cd8991daf7d38ef992..c1d74e5a64434c954bc7d71229cc9fe4a9d99aa2 100755
Binary files a/indra/newview/skins/default/textures/navbar/separator.png and b/indra/newview/skins/default/textures/navbar/separator.png differ
diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png
index 50c01062a5d21b5f62426370d0f3582a66ab5597..4e59042e334993856313f91bc52baaf9201c4b7d 100755
Binary files a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png and b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png differ
diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png
index bf2065cd3712ede099d7b3f7f2a4ddd5ea9960a8..be7b298bb875f518835cdb0307f6acbb79408652 100755
Binary files a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png and b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png differ
diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png
index 8b48258142c86e9a56b9632b7a5f44e71798b153..1e234ff09b84f4aabd1ca30d759d7fdd2add0897 100755
Binary files a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png and b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png differ
diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png
index 09efe779fe166093083edbbc94d416d6d1c80536..48c78b453d9cc408acc64e6785586119d4e8bfbb 100755
Binary files a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png and b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png differ
diff --git a/indra/newview/skins/default/textures/toolbar_icons/facebook.png b/indra/newview/skins/default/textures/toolbar_icons/facebook.png
index b960b834dcaa4b3dcbf8538b2b070c1430e088ae..ae524b643ff1ad8e7fce0dc8c3bc0e38d4590f88 100644
Binary files a/indra/newview/skins/default/textures/toolbar_icons/facebook.png and b/indra/newview/skins/default/textures/toolbar_icons/facebook.png differ
diff --git a/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png b/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png
index 9fcf46794d1374c08e3b0407515867289a6c3f90..9eeb1d4e09b54b39b373ecb8dc115a047c11d6db 100755
Binary files a/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png and b/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png differ
diff --git a/indra/newview/skins/default/textures/up_arrow.png b/indra/newview/skins/default/textures/up_arrow.png
index fe68ad49dca3248c10391e5cbad8512aa52c2722..76f839510ea9169f7afe2f5ca1e71bccf9e6b130 100755
Binary files a/indra/newview/skins/default/textures/up_arrow.png and b/indra/newview/skins/default/textures/up_arrow.png differ
diff --git a/indra/newview/skins/default/textures/widgets/Arrow_Down.png b/indra/newview/skins/default/textures/widgets/Arrow_Down.png
index e10f6472eb05cc1723b3c4bf8483a082c99bb674..cb4eea953c9c6c0516782d14aea6d9f9dcddacac 100755
Binary files a/indra/newview/skins/default/textures/widgets/Arrow_Down.png and b/indra/newview/skins/default/textures/widgets/Arrow_Down.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png
index c7c0eaa96bf5f78bbc26e6a913ec6395c55690c6..3897e16801668949df1f7333a91dc168eedc3d33 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png
index 4a73c254fc7dc9aca149802b2058e4c6c43dcf5f..95a4a36c9da9380e08788ca73c941ff90073d03b 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png
index 6fb5c432dec5872117c04cb971968d711309f539..20d1ebf53d41409202afbc23a67a94de8fc1724a 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png
index fa18517933e9e2800c20f556ab859809f4f7e9c3..63f4b503e22c8f5fc1e508772f58ee6bd051dc2b 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png
index bed1a701bdedc5f5b65d47e6ee3e1a5c53b8e0d5..d570f77f6d0d67e7a8f8f4bfbf7eeff806e2887e 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png
index 57ce9af574f33fda31bdd84a324e3639e90f0705..28a002b118750b07af188113ab55f634aebada19 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png
index 2c43022f0eaff2d391084842041520e9080727e4..a195e80b0e2b954f8adc58c298525d88682f28b2 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png
index 6b8c1baca4c904bb017ce460ee8af6b66c7b99f5..9863ee32cbbeff7e5f57fa186011f47f0a6ce6be 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png
index 51505e80c5b40444914494c19118573143456c50..2ffbc4a16f5cf76a53a90135ba31f00ff8ab4e85 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png
index 9f93efbd93b0d09b98097e62d7f8c92eac2f61af..ce47da169b74cd47ab8eb79aa11ea5ca7f897a11 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png
index 3a4ec1a315f7d2457fa20fa5cece730738634ced..22251509839b561fa3d546f20fb8025063aa332f 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png
index 1f1b4c2ed53268811c3865b56db21c6f8dd9e60f..2d541d0f70c975cfdcd79cf687a3be9bc05b0cac 100755
Binary files a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png and b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png differ
diff --git a/indra/newview/skins/default/textures/widgets/Tooltip.png b/indra/newview/skins/default/textures/widgets/Tooltip.png
index f989ac9083283cfeab4fdcfc93ebf9175152cf7b..3c4d6a965d7905e1c17c1f5309bfe311d14aae3c 100755
Binary files a/indra/newview/skins/default/textures/widgets/Tooltip.png and b/indra/newview/skins/default/textures/widgets/Tooltip.png differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png
index 2292b79eda6a0d3f428a24fc36f468bab7a02277..3534b716fdc95a57086b73c1c5115d86f68ea777 100755
Binary files a/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png and b/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png
index 1a514742d3bf0de014ed58a3e691ebfc2e9659a1..177c0675bb4e72c7f515024893da7f97e4e81ea7 100755
Binary files a/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png and b/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Help_Press.png b/indra/newview/skins/default/textures/windows/Icon_Help_Press.png
index 7478644b6a87bdd90bb58b395aeaafa74b329233..aa21a1c78986db0ac8a84737c17bdfd494efdb3b 100755
Binary files a/indra/newview/skins/default/textures/windows/Icon_Help_Press.png and b/indra/newview/skins/default/textures/windows/Icon_Help_Press.png differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png
index 9f72a5422b3b7bf25c1fd1fc118fc717a6a4425f..a98a3a98c2e79d528eb2f7b5f34a483fdb13b29d 100755
Binary files a/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png and b/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png b/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png
index 07db8be1b08e34fb5c41145edaf7edde6103a00a..5df0e7691c2f12b2d7d0ac6c3f28e83348e9f332 100755
Binary files a/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png and b/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png
index 1e753aaf1dd032b6d93001bbee2cf2f7b1977512..b4d4ef01fce5c62f235b9e63331cd09a0febe09d 100755
Binary files a/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png and b/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png b/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png
index be66b0523075b124a524502d0f051395515e802b..0d0238dc32cfaa69b02be397cc6b8af5568e9998 100755
Binary files a/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png and b/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png differ
diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_down.png b/indra/newview/skins/default/textures/windows/hint_arrow_down.png
index ddadef0978227caddb51147cef2acd510856179b..0cb5a819ec3af392dc2156c66cd5e5141cceab8d 100755
Binary files a/indra/newview/skins/default/textures/windows/hint_arrow_down.png and b/indra/newview/skins/default/textures/windows/hint_arrow_down.png differ
diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_left.png b/indra/newview/skins/default/textures/windows/hint_arrow_left.png
index 2794b967e826769f649d20683dccbf5f60eca1a1..45204d913242fac66496503a1253071e4ad46a66 100755
Binary files a/indra/newview/skins/default/textures/windows/hint_arrow_left.png and b/indra/newview/skins/default/textures/windows/hint_arrow_left.png differ
diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png b/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png
index 0dfc99898d41ef4a26360ec4361c9abd8a53dcf6..3e3ae9f42d6eda027b9a7171274ab9ec68f49e6a 100755
Binary files a/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png and b/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png differ
diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_right.png b/indra/newview/skins/default/textures/windows/hint_arrow_right.png
index 7ac57f805b70d95cdfcc536deeb8067a5ef67bea..3fe7a773c39ba5148162070b8231736039400253 100755
Binary files a/indra/newview/skins/default/textures/windows/hint_arrow_right.png and b/indra/newview/skins/default/textures/windows/hint_arrow_right.png differ
diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_up.png b/indra/newview/skins/default/textures/windows/hint_arrow_up.png
index bb3e1c07fa73a141bd215d071be1eb300b912fb9..44f003dc63538979dfba4abcb16f972ad827d805 100755
Binary files a/indra/newview/skins/default/textures/windows/hint_arrow_up.png and b/indra/newview/skins/default/textures/windows/hint_arrow_up.png differ
diff --git a/indra/newview/skins/default/textures/windows/hint_background.png b/indra/newview/skins/default/textures/windows/hint_background.png
index cfac5deacbab19226e9578c41da9a4dc6ceedaf2..e25f354347aa96921caafe9c28a72ac50dcddf79 100755
Binary files a/indra/newview/skins/default/textures/windows/hint_background.png and b/indra/newview/skins/default/textures/windows/hint_background.png differ
diff --git a/indra/newview/skins/default/textures/windows/yellow_gradient.png b/indra/newview/skins/default/textures/windows/yellow_gradient.png
index 5fd847aaeff58a6e5d7a5b3d11908bb169554d60..5bd21b42975d2eb64d9d264e60f76c931b4b99c0 100755
Binary files a/indra/newview/skins/default/textures/windows/yellow_gradient.png and b/indra/newview/skins/default/textures/windows/yellow_gradient.png differ
diff --git a/indra/newview/skins/default/textures/world/CameraDragDot.png b/indra/newview/skins/default/textures/world/CameraDragDot.png
index 57698e19560dc119f045667b0ae3d49e611d3b36..2ccf098e0ff73e8f00dbb43188fd070f909515d0 100755
Binary files a/indra/newview/skins/default/textures/world/CameraDragDot.png and b/indra/newview/skins/default/textures/world/CameraDragDot.png differ
diff --git a/indra/newview/skins/default/textures/world/NoEntryLines.png b/indra/newview/skins/default/textures/world/NoEntryLines.png
index 18e270bde57f42e54d6aacf047d1b09a0a17bfdd..d7496b8bd000ba4e0d655460daf2c3b9f9fc31e6 100755
Binary files a/indra/newview/skins/default/textures/world/NoEntryLines.png and b/indra/newview/skins/default/textures/world/NoEntryLines.png differ
diff --git a/indra/newview/skins/default/xui/da/floater_lagmeter.xml b/indra/newview/skins/default/xui/da/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..149d174c34aab9d3b862f91af2cb669b44e131cb
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="LAG METER">
+	<floater.string name="max_title_msg">
+		Lag måler
+	</floater.string>
+	<floater.string name="max_width_px">
+		360
+	</floater.string>
+	<floater.string name="min_title_msg">
+		Lag
+	</floater.string>
+	<floater.string name="min_width_px">
+		90
+	</floater.string>
+	<floater.string name="client_text_msg">
+		Klient
+	</floater.string>
+	<floater.string name="client_frame_rate_critical_fps">
+		10
+	</floater.string>
+	<floater.string name="client_frame_rate_warning_fps">
+		15
+	</floater.string>
+	<floater.string name="client_frame_time_window_bg_msg">
+		Normal, vindue i baggrund
+	</floater.string>
+	<floater.string name="client_frame_time_critical_msg">
+		Klients billeder/sek under [CLIENT_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="client_frame_time_warning_msg">
+		Klients billeder/sek mellem [CLIENT_FRAME_RATE_CRITICAL] og [CLIENT_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="client_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="client_draw_distance_cause_msg">
+		Mulig årsag: &apos;Vis afstand&apos; sat for højt i grafik indstillinger
+	</floater.string>
+	<floater.string name="client_texture_loading_cause_msg">
+		Mulig årsag: Billeder hentes
+	</floater.string>
+	<floater.string name="client_texture_memory_cause_msg">
+		Mulig årsag: For mange billeder i hukommelse
+	</floater.string>
+	<floater.string name="client_complex_objects_cause_msg">
+		Mulig årsag: For mange komplekse objekter i scenariet
+	</floater.string>
+	<floater.string name="network_text_msg">
+		Netværk
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_pct">
+		10
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_pct">
+		5
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_msg">
+		Forbindelsen mister over [NETWORK_PACKET_LOSS_CRITICAL]% pakker
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_msg">
+		Forbindelsen mister [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% pakker
+	</floater.string>
+	<floater.string name="network_performance_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="network_ping_critical_ms">
+		600
+	</floater.string>
+	<floater.string name="network_ping_warning_ms">
+		300
+	</floater.string>
+	<floater.string name="network_ping_critical_msg">
+		Forbindelsens ping tider er over [NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_ping_warning_msg">
+		Forbindelsens ping tider er [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_packet_loss_cause_msg">
+		Muligvis dårlig forbindelse eller &apos;båndbredde&apos; sat for højt i netværksopsætning.
+	</floater.string>
+	<floater.string name="network_ping_cause_msg">
+		Muligvis dårlig forbindelse eller fil delings program.
+	</floater.string>
+	<floater.string name="server_text_msg">
+		Server
+	</floater.string>
+	<floater.string name="server_frame_rate_critical_fps">
+		20
+	</floater.string>
+	<floater.string name="server_frame_rate_warning_fps">
+		30
+	</floater.string>
+	<floater.string name="server_single_process_max_time_ms">
+		20
+	</floater.string>
+	<floater.string name="server_frame_time_critical_msg">
+		Simulator framerate er under [SERVER_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="server_frame_time_warning_msg">
+		Simulator framerate er mellem [SERVER_FRAME_RATE_CRITICAL] og [SERVER_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="server_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="server_physics_cause_msg">
+		Mulig årsag: For mange fysiske objekter
+	</floater.string>
+	<floater.string name="server_scripts_cause_msg">
+		Mulig årsag: For mange objekter med script
+	</floater.string>
+	<floater.string name="server_net_cause_msg">
+		Mulig årsag: For meget netværks trafik
+	</floater.string>
+	<floater.string name="server_agent_cause_msg">
+		Mulig årsag: For mange avatarer i bevægelse i regionen
+	</floater.string>
+	<floater.string name="server_images_cause_msg">
+		Mulig årsag: For mange billed udregninger
+	</floater.string>
+	<floater.string name="server_generic_cause_msg">
+		Mulig årsag: Simulator belastning for stor
+	</floater.string>
+	<floater.string name="smaller_label">
+		&gt;&gt;
+	</floater.string>
+	<floater.string name="bigger_label">
+		&lt;&lt;
+	</floater.string>
+	<button label="" label_selected="" name="client_lagmeter" tool_tip="Status for klient lag"/>
+	<text name="client">
+		Klient
+	</text>
+	<text name="client_text">
+		Normal
+	</text>
+	<button label="" label_selected="" name="network_lagmeter" tool_tip="Network lag status"/>
+	<text name="network">
+		Netværk
+	</text>
+	<text name="network_text">
+		Normal
+	</text>
+	<button label="" label_selected="" name="server_lagmeter" tool_tip="Status for server lag"/>
+	<text name="server">
+		Server
+	</text>
+	<text name="server_text">
+		Normal
+	</text>
+	<button label="&gt;&gt;" name="minimize" tool_tip="Ændre størrelse"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_lagmeter.xml b/indra/newview/skins/default/xui/de/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..45ff37c14753d6f2fc886de9e23c5b8f58fe9cf5
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="LAG METER">
+	<floater.string name="max_title_msg">
+		Lag-Anzeige
+	</floater.string>
+	<floater.string name="max_width_px">
+		350
+	</floater.string>
+	<floater.string name="min_title_msg">
+		Lag
+	</floater.string>
+	<floater.string name="min_width_px">
+		90
+	</floater.string>
+	<floater.string name="client_text_msg">
+		Client
+	</floater.string>
+	<floater.string name="client_frame_rate_critical_fps">
+		10
+	</floater.string>
+	<floater.string name="client_frame_rate_warning_fps">
+		15
+	</floater.string>
+	<floater.string name="client_frame_time_window_bg_msg">
+		Normal, Fenster im Hintergrund
+	</floater.string>
+	<floater.string name="client_frame_time_critical_msg">
+		Client-Frame-Rate unter [CLIENT_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="client_frame_time_warning_msg">
+		Client-Frame-Rate zwischen [CLIENT_FRAME_RATE_CRITICAL] und [CLIENT_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="client_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="client_draw_distance_cause_msg">
+		Mögliche Ursache: Sichtweite zu groß
+	</floater.string>
+	<floater.string name="client_texture_loading_cause_msg">
+		Mögliche Ursache: Bilder werden geladen
+	</floater.string>
+	<floater.string name="client_texture_memory_cause_msg">
+		Mögliche Ursache: Zu viele Bilder im Speicher
+	</floater.string>
+	<floater.string name="client_complex_objects_cause_msg">
+		Mögliche Ursache: Zu viele komplexe Objekte in der Szene
+	</floater.string>
+	<floater.string name="network_text_msg">
+		Netzwerk
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_pct">
+		10
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_pct">
+		5
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_msg">
+		Paketverlust der Verbindung übersteigt [NETWORK_PACKET_LOSS_CRITICAL]%
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_msg">
+		Paketverlust der Verbindung liegt bei [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]%
+	</floater.string>
+	<floater.string name="network_performance_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="network_ping_critical_ms">
+		600
+	</floater.string>
+	<floater.string name="network_ping_warning_ms">
+		300
+	</floater.string>
+	<floater.string name="network_ping_critical_msg">
+		Ping-Zeit der Verbindung übersteigt [NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_ping_warning_msg">
+		Ping-Zeit der Verbindung liegt bei [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_packet_loss_cause_msg">
+		Möglicherweise schlechte Verbindung oder zu hoher Wert für „Bandbreite“.
+	</floater.string>
+	<floater.string name="network_ping_cause_msg">
+		Möglicherweise schlechte Verbindung oder File-Sharing-Anwendung.
+	</floater.string>
+	<floater.string name="server_text_msg">
+		Server
+	</floater.string>
+	<floater.string name="server_frame_rate_critical_fps">
+		20
+	</floater.string>
+	<floater.string name="server_frame_rate_warning_fps">
+		30
+	</floater.string>
+	<floater.string name="server_single_process_max_time_ms">
+		20
+	</floater.string>
+	<floater.string name="server_frame_time_critical_msg">
+		Simulator-Frame-Rate liegt unter [SERVER_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="server_frame_time_warning_msg">
+		Simulator-Frame-Rate liegt zwischen [SERVER_FRAME_RATE_CRITICAL] und [SERVER_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="server_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="server_physics_cause_msg">
+		Mögliche Ursache: Zu viele physische Objekte
+	</floater.string>
+	<floater.string name="server_scripts_cause_msg">
+		Mögliche Ursache: Zu viele geskriptete Objekte
+	</floater.string>
+	<floater.string name="server_net_cause_msg">
+		Mögliche Ursache: Zu viel Netzwerktraffic
+	</floater.string>
+	<floater.string name="server_agent_cause_msg">
+		Mögliche Ursache: Zu viele Personen in Bewegung in der Region
+	</floater.string>
+	<floater.string name="server_images_cause_msg">
+		Mögliche Ursache: Zu viele Bildberechnungen
+	</floater.string>
+	<floater.string name="server_generic_cause_msg">
+		Mögliche Ursache: Zu hohe Simulator-Last
+	</floater.string>
+	<floater.string name="smaller_label">
+		&gt;&gt;
+	</floater.string>
+	<floater.string name="bigger_label">
+		&lt;&lt;
+	</floater.string>
+	<button name="client_lagmeter" tool_tip="Client-Lag-Status"/>
+	<text name="client">
+		Client
+	</text>
+	<text name="client_text">
+		Normal
+	</text>
+	<button name="network_lagmeter" tool_tip="Netzwerk-Lag-Status"/>
+	<text name="network">
+		Netzwerk
+	</text>
+	<text name="network_text">
+		Normal
+	</text>
+	<button name="server_lagmeter" tool_tip="Server-Lag-Status"/>
+	<text name="server">
+		Server
+	</text>
+	<text name="server_text">
+		Normal
+	</text>
+	<button label="&gt;&gt; " name="minimize" tool_tip="Fenstergröße ändern"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_region_restarting.xml b/indra/newview/skins/default/xui/de/floater_region_restarting.xml
new file mode 100644
index 0000000000000000000000000000000000000000..890391c5084543542ad21528067c02065d0bc524
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="REGION WIRD NEU GESTARTET">
+	<string name="RegionName">
+		Die Region, in der Sie sich gerade befinden ([NAME]), wird gleich neu gestartet.
+
+Wenn Sie in dieser Region bleiben, werden Sie abgemeldet.
+	</string>
+	<string name="RestartSeconds">
+		Sekunden bis Neustart
+[SECONDS]
+	</string>
+	<panel name="layout_panel_1">
+		<text name="region_name">
+			Die Region, in der Sie sich gerade befinden (-längster Regionsname-), wird gleich neu gestartet.
+
+Wenn Sie in dieser Region bleiben, werden Sie abgemeldet.
+		</text>
+		<text name="restart_seconds">
+			Sekunden bis Neustart
+     32767
+		</text>
+	</panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/de/floater_scene_load_stats.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dff462a5947ea9b78fdcef46689610e5a7c156f5
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="STATISTIKEN ZUM LADEN VON SZENEN">
+	<button label="Anhalten" name="playpause"/>
+	<scroll_container name="statistics_scroll">
+		<container_view name="statistics_view">
+			<stat_view label="Standard" name="basic">
+				<stat_bar label="Frame-Pixel-Differenz" name="frame difference"/>
+				<stat_bar label="Empfangene UDP-Daten" name="bandwidth"/>
+				<stat_bar label="Paketverlust" name="packet_loss"/>
+			</stat_view>
+			<stat_view label="Erweitert" name="advanced">
+				<stat_view label="Darstellung" name="render">
+					<stat_bar label="Objektanzahl" name="objs"/>
+					<stat_bar label="Neue Objekte" name="newobjs"/>
+					<stat_bar label="Objektcache-Trefferrate" name="object_cache_hits"/>
+				</stat_view>
+				<stat_view label="Textur" name="texture">
+					<stat_bar label="Cache-Trefferrate" name="texture_cache_hits"/>
+					<stat_bar label="Cache-Leselatenz" name="texture_cache_read_latency"/>
+					<stat_bar label="Anzahl" name="numimagesstat"/>
+					<stat_bar label="Rohanzahl" name="numrawimagesstat"/>
+				</stat_view>
+				<stat_view label="Netzwerk" name="network">
+					<stat_bar label="Paketeingang" name="packetsinstat"/>
+					<stat_bar label="Paketausgang" name="packetsoutstat"/>
+					<stat_bar label="Objekte" name="objectdatareceived"/>
+					<stat_bar label="Textur" name="texturedatareceived"/>
+					<stat_bar label="Asset" name="assetudpdatareceived"/>
+					<stat_bar label="Ebenen" name="layersdatareceived"/>
+					<stat_bar label="Tatsächlicher Eingang" name="messagedatain"/>
+					<stat_bar label="Tatsächlicher Ausgang" name="messagedataout"/>
+					<stat_bar label="Ausstehende Vorgänge im VFS" name="vfspendingoperations"/>
+				</stat_view>
+			</stat_view>
+			<stat_view label="Simulator" name="sim">
+				<stat_bar label="Objekte" name="simobjects"/>
+				<stat_bar label="Aktive Objekte" name="simactiveobjects"/>
+				<stat_bar label="Aktive Skripts" name="simactivescripts"/>
+				<stat_bar label="Paketeingang" name="siminpps"/>
+				<stat_bar label="Paketausgang" name="simoutpps"/>
+				<stat_bar label="Ausstehende Downloads" name="simpendingdownloads"/>
+				<stat_bar label="Ausstehende Uploads" name="simpendinguploads"/>
+				<stat_bar label="Gesamtanzahl nicht bestätigter Bytes" name="simtotalunackedbytes"/>
+				<stat_view label="Zeit (ms)" name="simperf">
+					<stat_bar label="Gesamt-Framezeit" name="simframemsec"/>
+					<stat_bar label="Nettozeit" name="simnetmsec"/>
+					<stat_bar label="Physikzeit" name="simsimphysicsmsec"/>
+					<stat_bar label="Simulationszeit" name="simsimothermsec"/>
+					<stat_bar label="Agentenzeit" name="simagentmsec"/>
+					<stat_bar label="Bilderzeit" name="simimagesmsec"/>
+					<stat_bar label="Skriptzeit" name="simscriptmsec"/>
+					<stat_bar label="Verbleib. Zeit" name="simsparemsec"/>
+					<stat_view label="Zeitdetails (ms)" name="timedetails">
+						<stat_bar label="Physikschritt" name="simsimphysicsstepmsec"/>
+						<stat_bar label="Phys. Formen aktualisieren" name="simsimphysicsshapeupdatemsec"/>
+						<stat_bar label="Physik – andere" name="simsimphysicsothermsec"/>
+						<stat_bar label="Schlafzeit" name="simsleepmsec"/>
+						<stat_bar label="Pump IO" name="simpumpiomsec"/>
+					</stat_view>
+				</stat_view>
+			</stat_view>
+		</container_view>
+	</scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_stats.xml b/indra/newview/skins/default/xui/de/floater_stats.xml
index f3239f73c74a664499c12544975a6c2b619964ea..f4a9acddecf93380ccbf59359573972495e5708d 100755
--- a/indra/newview/skins/default/xui/de/floater_stats.xml
+++ b/indra/newview/skins/default/xui/de/floater_stats.xml
@@ -4,17 +4,20 @@
 		<container_view name="statistics_view" width="280">
 			<stat_view label="Basic" name="basic">
 				<stat_bar label="FPS" name="fps"/>
-				<stat_bar label="Bandbreite" name="bandwidth"/>
+				<stat_bar label="Empfangene UDP-Daten" name="bandwidth"/>
 				<stat_bar label="Paketverlust" name="packet_loss"/>
 				<stat_bar label="Ping Sim" name="ping"/>
 			</stat_view>
 			<stat_view label="Erweitert" name="advanced">
 				<stat_view label="Darstellung" name="render">
-					<stat_bar label="Pro Frame gezeichnete KTris" name="ktrisframe"/>
-					<stat_bar label="Pro Sek. gezeichnete KTris" name="ktrissec"/>
+					<stat_bar label="KTris pro Frame" name="ktrisframe"/>
+					<stat_bar label="KTris pro Sekunden" name="ktrissec"/>
 					<stat_bar label="Objektanzahl" name="objs"/>
 					<stat_bar label="Neue Objekte" name="newobjs"/>
 					<stat_bar label="Objektcache-Trefferrate" name="object_cache_hits"/>
+					<stat_bar label="Durchgeführte Okklusionsabfragen" name="occlusion_queries"/>
+					<stat_bar label="Okkludierte Objekte" name="occluded"/>
+					<stat_bar label="Nicht okkludierte Objekte" name="unoccluded"/>
 				</stat_view>
 				<stat_view label="Textur" name="texture">
 					<stat_bar label="Cache-Trefferrate" name="texture_cache_hits"/>
@@ -26,15 +29,32 @@
 					<stat_bar label="Rohsp" name="rawmemstat"/>
 					<stat_bar label="Zugeteilter Sp" name="glboundmemstat"/>
 				</stat_view>
+				<stat_view label="Speichernutzung" name="memory">
+					<stat_bar label="LLTrace" name="LLTrace"/>
+					<stat_bar label="UI" name="LLView"/>
+					<stat_bar label="Schriftarten" name="LLFontFreetype"/>
+					<stat_bar label="Inventar" name="LLInventoryObject"/>
+					<stat_bar label="Viewer-Objekte" name="LLViewerObject"/>
+					<stat_bar label="Octree-Gruppendaten" name="LLViewerOctreeGroup"/>
+					<stat_bar label="Octree-Daten" name="LLViewerOctreeEntry"/>
+					<stat_bar label="Viewer-Objekt-Cache" name="LLVOCacheEntry"/>
+					<stat_bar label="Zeichnungsobjekte" name="LLDrawable"/>
+					<stat_bar label="Gesichtsdaten" name="LLFace"/>
+					<stat_bar label="Zeichnungsinfos" name="LLDrawInfo"/>
+					<stat_bar label="Texturdaten" name="LLTexture"/>
+					<stat_bar label="Bilddaten" name="LLImage"/>
+					<stat_bar label="GL-Bilddaten" name="LLImageGL"/>
+					<stat_bar label="Vertex-Buffer" name="LLVertexBuffer"/>
+				</stat_view>
 				<stat_view label="Netzwerk" name="network">
 					<stat_bar label="Paketeingang" name="packetsinstat"/>
 					<stat_bar label="Paketausgang" name="packetsoutstat"/>
-					<stat_bar label="Objekte" name="objectkbitstat"/>
-					<stat_bar label="Textur" name="texturekbitstat"/>
-					<stat_bar label="Bestand" name="assetkbitstat"/>
-					<stat_bar label="Ebenen" name="layerskbitstat"/>
-					<stat_bar label="Tatsächlicher Eingang" name="actualinkbitstat"/>
-					<stat_bar label="Tatsächlicher Ausgang" name="actualoutkbitstat"/>
+					<stat_bar label="Objekte" name="objectdatareceived"/>
+					<stat_bar label="Textur" name="texturedatareceived"/>
+					<stat_bar label="Asset" name="assetudpdatareceived"/>
+					<stat_bar label="Ebenen" name="layersdatareceived"/>
+					<stat_bar label="Tatsächlicher Eingang" name="messagedatain"/>
+					<stat_bar label="Tatsächlicher Ausgang" name="messagedataout"/>
 					<stat_bar label="Ausstehende Vorgänge im VFS" name="vfspendingoperations"/>
 				</stat_view>
 			</stat_view>
@@ -64,8 +84,8 @@
 				<stat_bar label="Paketausgang" name="simoutpps"/>
 				<stat_bar label="Ausstehende Downloads" name="simpendingdownloads"/>
 				<stat_bar label="Ausstehende Uploads" name="simpendinguploads"/>
-				<stat_bar label="Gesamtanzahl „Unacked&quot; Bytes" name="simtotalunackedbytes"/>
-				<stat_view label="Zeit (ms)" name="simperf">
+				<stat_bar label="Gesamtmenge unbestätigter Daten" name="simtotalunackedbytes"/>
+				<stat_view label="Zeit" name="simperf">
 					<stat_bar label="Gesamtzeit Frame" name="simframemsec"/>
 					<stat_bar label="Netto-Zeit" name="simnetmsec"/>
 					<stat_bar label="Physik-Zeit" name="simsimphysicsmsec"/>
@@ -74,7 +94,7 @@
 					<stat_bar label="Bilder-Zeit" name="simimagesmsec"/>
 					<stat_bar label="Skript-Zeit" name="simscriptmsec"/>
 					<stat_bar label="Verbleib. Zeit" name="simsparemsec"/>
-					<stat_view label="Zeitdetails (ms)" name="timedetails">
+					<stat_view label="Zeitdetails" name="timedetails">
 						<stat_bar label="Physik-Schritt" name="simsimphysicsstepmsec"/>
 						<stat_bar label="Phys. Formen aktualisieren" name="simsimphysicsshapeupdatemsec"/>
 						<stat_bar label="Physik – andere" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/de/menu_avatar_icon.xml b/indra/newview/skins/default/xui/de/menu_avatar_icon.xml
index c036cf5515e3c8ca08dca584b509cbd8d0f235cc..ad47f1d37d5a16521c86b43134c0f10f918fa1e8 100755
--- a/indra/newview/skins/default/xui/de/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/de/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
 <menu name="Avatar Icon Menu">
 	<menu_item_call label="Profil anzeigen" name="Show Profile"/>
 	<menu_item_call label="IM senden..." name="Send IM"/>
+	<menu_item_call label="Teleport anfordern" name="Request Teleport"/>
 	<menu_item_call label="Freund hinzufügen..." name="Add Friend"/>
 	<menu_item_call label="Freund entfernen..." name="Remove Friend"/>
 </menu>
diff --git a/indra/newview/skins/default/xui/de/menu_inventory.xml b/indra/newview/skins/default/xui/de/menu_inventory.xml
index cd2fca313e5424b9e6f822eff6d0e60585e7144d..d838f736f88ea7b673c848b4b76483f3ab57522b 100755
--- a/indra/newview/skins/default/xui/de/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/de/menu_inventory.xml
@@ -70,6 +70,7 @@
 	<menu_item_call label="Wiedergeben/Abspielen" name="Sound Play"/>
 	<menu_item_call label="SLurl kopieren" name="url_copy"/>
 	<menu_item_call label="Landmarken-Info" name="About Landmark"/>
+	<menu_item_call label="Auf Karte anzeigen" name="show_on_map"/>
 	<menu_item_call label="Inworld abspielen" name="Animation Play"/>
 	<menu_item_call label="Lokal abspielen" name="Animation Audition"/>
 	<menu_item_call label="Instant Message senden" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/de/menu_login.xml b/indra/newview/skins/default/xui/de/menu_login.xml
index 62358cc5a88f388ce432b8fbd0e3db00cc40c38f..329ea20179c2f7b19b9282c775c3d2d9947cf775 100755
--- a/indra/newview/skins/default/xui/de/menu_login.xml
+++ b/indra/newview/skins/default/xui/de/menu_login.xml
@@ -5,7 +5,15 @@
 		<menu_item_call label="[APP_NAME] schließen" name="Quit"/>
 	</menu>
 	<menu label="Hilfe" name="Help">
-		<menu_item_call label="[SECOND_LIFE]-Hilfe" name="Second Life Help"/>
+		<menu_item_call label="Anweisungen..." name="How To"/>
+		<menu_item_call label="Kurzanleitung" name="Quickstart"/>
+		<menu_item_call label="Knowledge Base" name="Knowledge Base"/>
+		<menu_item_call label="Wiki" name="Wiki"/>
+		<menu_item_call label="Community-Foren" name="Community Forums"/>
+		<menu_item_call label="Support-Portal" name="Support portal"/>
+		<menu_item_call label="[SECOND_LIFE]-Neuigkeiten" name="Second Life News"/>
+		<menu_item_call label="[SECOND_LIFE]-Blogs" name="Second Life Blogs"/>
+		<menu_item_call label="Fehler melden" name="Report Bug"/>
 		<menu_item_call label="INFO ÃœBER [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu_item_check label="Debug-Menü anzeigen" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml
index ff8fb0b1819ab755583804363d0522dddcf650a7..1d7e3059c0559b7a0877640e136f86f059a3d4ac 100755
--- a/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
 <context_menu name="Teleport History Item Context Menu">
 	<menu_item_call label="Teleportieren" name="Teleport"/>
 	<menu_item_call label="Weitere Informationen" name="More Information"/>
-	<menu_item_call label="In Zwischenablage kopieren" name="CopyToClipboard"/>
+	<menu_item_call label="SLurl kopieren" name="CopyToClipboard"/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml
index be5d4891d71e63d1f8d5bd92fc6e49dd5a364c87..8e15e128a6edaac898606b64c2f3ae5c7e57950e 100755
--- a/indra/newview/skins/default/xui/de/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/de/menu_viewer.xml
@@ -72,11 +72,11 @@
 			<menu_item_check label="Menü „Erweitert“" name="Show Advanced Menu"/>
 		</menu>
 		<menu label="Sonne" name="Sun">
-			<menu_item_call label="Sonnenaufgang" name="Sunrise"/>
-			<menu_item_call label="Mittag" name="Noon"/>
-			<menu_item_call label="Sonnenuntergang" name="Sunset"/>
-			<menu_item_call label="Mitternacht" name="Midnight"/>
-			<menu_item_call label="Regionseinstellungen verwenden" name="Use Region Settings"/>
+			<menu_item_check label="Sonnenaufgang" name="Sunrise"/>
+			<menu_item_check label="Mittag" name="Noon"/>
+			<menu_item_check label="Sonnenuntergang" name="Sunset"/>
+			<menu_item_check label="Mitternacht" name="Midnight"/>
+			<menu_item_check label="Regionseinstellungen verwenden" name="Use Region Settings"/>
 		</menu>
 		<menu label="Umwelt-Editor" name="Environment Editor">
 			<menu_item_call label="Umwelt-Einstellungen..." name="Environment Settings"/>
@@ -165,8 +165,6 @@
 	</menu>
 	<menu label="Hilfe" name="Help">
 		<menu_item_call label="Anweisungen..." name="How To"/>
-		<menu_item_call label="[SECOND_LIFE]-Hilfe" name="Second Life Help"/>
-		<menu_item_call label="Benutzerhandbuch" name="User’s guide"/>
 		<menu_item_call label="Knowledge Base" name="Knowledge Base"/>
 		<menu_item_call label="Wiki" name="Wiki"/>
 		<menu_item_call label="Community-Foren" name="Community Forums"/>
@@ -188,6 +186,7 @@
 		<menu label="Performance Tools" name="Performance Tools">
 			<menu_item_call label="Lag-Anzeige" name="Lag Meter"/>
 			<menu_item_check label="Statistikleiste" name="Statistics Bar"/>
+			<menu_item_call label="Statistiken zum Laden von Szenen" name="Scene Load Statistics"/>
 			<menu_item_check label="Zuggewicht für Avatare anzeigen" name="Avatar Rendering Cost"/>
 		</menu>
 		<menu label="Hervorhebung und Sichtbarkeit" name="Highlighting and Visibility">
@@ -250,6 +249,7 @@
 			<menu_item_check label="Schnelle Timer" name="Fast Timers"/>
 			<menu_item_check label="Speicher" name="Memory"/>
 			<menu_item_check label="Szenestatistiken" name="Scene Statistics"/>
+			<menu_item_check label="Monitor zum Laden von Szenen" name="Scene Loading Monitor"/>
 			<menu_item_call label="Debug-Konsole für Texturabruffehler" name="Texture Fetch Debug Console"/>
 			<menu_item_call label="Info zu Region in Fenster Fehler beseitigen" name="Region Info to Debug Console"/>
 			<menu_item_call label="Gruppeninfo in Fenster Fehler beseitigen" name="Group Info to Debug Console"/>
@@ -286,6 +286,7 @@
 			<menu_item_check label="Periodic Slow Frame" name="Periodic Slow Frame"/>
 			<menu_item_check label="Frame-Test" name="Frame Test"/>
 			<menu_item_call label="Rahmenprofil" name="Frame Profile"/>
+			<menu_item_call label="Benchmark" name="Benchmark"/>
 		</menu>
 		<menu label="Metadaten darstellen" name="Render Metadata">
 			<menu_item_check label="Bonding Boxes" name="Bounding Boxes"/>
@@ -304,6 +305,7 @@
 			<menu_item_check label="Konstruktionswarteschlange" name="Build Queue"/>
 			<menu_item_check label="Lichter" name="Lights"/>
 			<menu_item_check label="Gelenkpunkte" name="Collision Skeleton"/>
+			<menu_item_check label="Gelenke" name="Joints"/>
 			<menu_item_check label="Raycast" name="Raycast"/>
 			<menu_item_check label="Windvektoren" name="Wind Vectors"/>
 			<menu_item_check label="Komplexität beim Rendern" name="rendercomplexity"/>
@@ -336,6 +338,7 @@
 			<menu_item_check label="Angehängte Lichter rendern" name="Render Attached Lights"/>
 			<menu_item_check label="Angehängte Partikel rendern" name="Render Attached Particles"/>
 			<menu_item_check label="Leucht-Objekte schweben lassen" name="Hover Glow Objects"/>
+			<menu_item_call label="Cache sofort leeren" name="Cache Clear"/>
 		</menu>
 		<menu label="Netzwerk" name="Network">
 			<menu_item_check label="Agent pausieren" name="AgentPause"/>
@@ -368,7 +371,6 @@
 			<menu_item_call label="Fokus ausgeben" name="Dump Focus Holder"/>
 			<menu_item_call label="Ausgewählte Objektinfo drucken" name="Print Selected Object Info"/>
 			<menu_item_call label="Agent-Info drucken" name="Print Agent Info"/>
-			<menu_item_check label="Regions-Debug-Konsole" name="Region Debug Console"/>
 			<menu_item_check label="Fehler in SelectMgr beseitigen" name="Debug SelectMgr"/>
 			<menu_item_check label="Fehler in Klicks beseitigen" name="Debug Clicks"/>
 			<menu_item_check label="Debug-Ansichten" name="Debug Views"/>
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index b3ae98f6333f2b9af455a126f1d82b07b8f98fb7..c728402e898b25badc280254cc7e196196ee5a37 100755
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -114,13 +114,13 @@ Weitere Informationen finden Sie im [[MARKETPLACE_IMPORTS_URL] Fehlerprotokoll].
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxImportFailed">
-		Ãœbertragung fehlgeschlagen
+		Übertragung fehlgeschlagen mit Fehler „[ERROR_CODE]“
 
 Aufgrund eines System- oder Netzwerkfehlers wurden keine Ordner an den Marktplatz übertragen. Versuchen Sie es später erneut.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxInitFailed">
-		Marktplatzinitialisierung fehlgeschlagen
+		Marktplatzinitialisierung fehlgeschlagen mit Fehler „[ERROR_CODE]“
 
 Marktplatzinitialisierung aufgrund eines System- oder Netzwerkfehlers fehlgeschlagen. Versuchen Sie es später erneut.
 		<usetemplate name="okbutton" yestext="OK"/>
@@ -1744,6 +1744,10 @@ womit Sie die Höchstgrenze von [LIMIT] überschreiten.
 		Sind Sie sicher, dass Sie zu &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; teleportieren möchten?
 		<usetemplate ignoretext="Bestätigen, dass ich zu einer Landmarke teleportieren möchte" name="okcancelignore" notext="Abbrechen" yestext="Teleportieren"/>
 	</notification>
+	<notification name="TeleportViaSLAPP">
+		Möchten Sie wirklich zu &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; teleportieren?
+		<usetemplate ignoretext="Bestätigen, dass ich via SLAPP teleportieren möchte" name="okcancelignore" notext="Abbrechen" yestext="Teleportieren"/>
+	</notification>
 	<notification name="TeleportToPick">
 		Nach [PICK] teleportieren?
 		<usetemplate ignoretext="Bestätigen, dass ich zu einer Position in Auswahl teleportieren möchte" name="okcancelignore" notext="Abbrechen" yestext="Teleportieren"/>
@@ -1954,6 +1958,9 @@ Tausende Regionen werden verändert und der Spaceserver wird dadurch stark belas
 	<notification name="ProblemAddingEstateManager">
 		Es gibt Probleme beim Hinzufügen eines neuen Grundbesitzverwalters.  Bei mindestens einem Grundbesitz ist die Verwalterliste voll.
 	</notification>
+	<notification name="ProblemAddingEstateBanManager">
+		Grundbesitzer oder Grundstücksverwalter kann nicht auf die Bannliste gesetzt werden.
+	</notification>
 	<notification name="ProblemAddingEstateGeneric">
 		Problem beim Hinzufügen zu dieser Grundbesitzliste.  Bei mindestens einem Grundbesitz ist die Liste voll.
 	</notification>
@@ -3038,13 +3045,13 @@ Details finden Sie in der Protokolldatei.
 		Regionsfähigkeit „[CAPABILITY]“ konnte nicht abgerufen werden.
 	</notification>
 	<notification name="ShareItemsConfirmation">
-		Möchten Sie wirklich die folgenden Objekte:
+		Möchten Sie wirklich die folgenden Artikel:
 
 &lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
 
-für folgende Einwohner freigeben:
+mit den folgenden Einwohnern teilen:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
 	</notification>
 	<notification name="ShareFolderConfirmation">
@@ -3056,7 +3063,7 @@ Möchten Sie wirklich die folgenden Artikel:
 
 mit den folgenden Einwohnern teilen:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
 	</notification>
 	<notification name="ItemsShared">
@@ -3510,10 +3517,6 @@ Warten Sie kurz und versuchen Sie es noch einmal.
 	<notification name="EjectComingSoon">
 		Sie nicht hier nicht mehr zugelassen und haben [EJECT_TIME] Sekunden Zeit, um zu gehen.
 	</notification>
-	<notification name="NoEnterServerFull">
-		Sie können diese Region nicht betreten, da 
-der Server voll ist.
-	</notification>
 	<notification name="SaveBackToInvDisabled">
 		Erneutes Speichern im Inventar ist deaktiviert.
 	</notification>
@@ -3703,6 +3706,9 @@ der Server voll ist.
 	<notification name="LinkFailedTooMuchPhysics">
 		Objekt verwendet zu viele Physikressourcen – seine Dynamik wurde deaktiviert.
 	</notification>
+	<notification name="EstateManagerFailedllTeleportHome">
+		Das Objekt „[OBJECT_NAME]“ auf [SLURL] kann Grundstücksverwalter nicht nach Hause teleportieren.
+	</notification>
 	<notification name="TeleportedHomeByObjectOnParcel">
 		Sie wurden vom Objekt „[OBJECT_NAME]“ auf der Parzelle „[PARCEL_NAME]“ nach Hause teleportiert
 	</notification>
@@ -3893,13 +3899,18 @@ der Server voll ist.
 		Auswahl enthält nicht genügend gemietete Parzellen zum Zusammenlegen.
 	</notification>
 	<notification name="CantDivideLandMultipleParcelsSelected">
-		Land kann nicht geteilt werden.\nMehr als eine Parzelle ist ausgewählt.\nWählen Sie ein kleineres Stück Land aus.
+		Land kann nicht geteilt werden.
+Mehr als eine Parzelle ist ausgewählt.
+Wählen Sie eine kleinere Landfläche aus.
 	</notification>
 	<notification name="CantDivideLandCantFindParcel">
-		Land kann nicht geteilt werden.\nParzelle nicht auffindbar.\nMelden Sie das Problem über „Hilfe“ -&gt; „Fehler melden“...
+		Land kann nicht geteilt werden.
+Parzelle kann nicht gefunden werden.
+Bitte melden Sie den Fehler über „Hilfe“ -&gt; „Fehler melden“.
 	</notification>
 	<notification name="CantDivideLandWholeParcelSelected">
-		Land kann nicht geteilt werden. Die gesamte Parzelle ist ausgewählt.\nWählen Sie ein kleineres Stück Land aus.
+		Land kann nicht geteilt werden. Die gesamte Parzelle ist ausgewählt.
+Wählen Sie eine kleinere Landfläche aus.
 	</notification>
 	<notification name="LandHasBeenDivided">
 		Land wurde geteilt.
@@ -4039,4 +4050,8 @@ der Server voll ist.
 		Dateien können nicht verschoben werden. Vorheriger Pfad wurde wiederhergestellt.
 		<usetemplate ignoretext="Dateien können nicht verschoben werden. Vorheriger Pfad wurde wiederhergestellt." name="okignore" yestext="OK"/>
 	</notification>
+	<notification name="ChatHistoryIsBusyAlert">
+		Chatverlaufsdatei ist noch mit vorheriger Operation beschäftigt. Versuchen Sie es in ein paar Minuten noch einmal oder chatten Sie mit einer anderen Person.
+		<usetemplate name="okbutton" yestext="OK"/>
+	</notification>
 </notifications>
diff --git a/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml
index bf4d44af5264e93e90511a0d3b8b1ff7ca38bdbb..1775394ecd74531633478cf96a8552ecdc8b6ba0 100755
--- a/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
 		<layout_panel name="group_accordions">
 			<accordion name="groups_accordion">
 				<accordion_tab name="group_general_tab" title="Allgemein"/>
-				<accordion_tab name="group_roles_tab" title="Rollen"/>
+				<accordion_tab name="group_roles_tab" title="Rollen und Mitglieder"/>
 				<accordion_tab name="group_notices_tab" title="Mitteilungen"/>
 				<accordion_tab name="group_land_tab" title="Land/Kapital"/>
 			</accordion>
diff --git a/indra/newview/skins/default/xui/de/panel_group_roles.xml b/indra/newview/skins/default/xui/de/panel_group_roles.xml
index f297d32a91cb1b85870522c4b73e26a6a36f443a..20f61817a3cdf2bb73d44438bf58065e9de93bd0 100755
--- a/indra/newview/skins/default/xui/de/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/de/panel_group_roles.xml
@@ -21,6 +21,7 @@ um mehrere Mitglieder auszuwählen.
 				<name_list.columns label="Mitglied" name="name" relative_width="0.30"/>
 				<name_list.columns label="Ãœbereignung" name="donated" relative_width="0.33"/>
 				<name_list.columns label="Status" name="online"/>
+				<name_list.columns label="Titel" name="title"/>
 			</name_list>
 			<button label="Einladen" name="member_invite"/>
 			<button label="Hinauswerfen" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/de/panel_region_debug.xml b/indra/newview/skins/default/xui/de/panel_region_debug.xml
index a03a0b8b7b49dddde630621019d3d7c5dbc01db7..d4b0ed907e57506f0d43b56b24783dc9ca5b4386 100755
--- a/indra/newview/skins/default/xui/de/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_debug.xml
@@ -7,11 +7,8 @@
 		unbekannt
 	</text>
 	<check_box label="Skripts deaktivieren" name="disable_scripts_check" tool_tip="Skripts in dieser Region deaktivieren"/>
-	<button label="?" name="disable_scripts_help"/>
 	<check_box label="Kollisionen deaktivieren" name="disable_collisions_check" tool_tip="Nicht-Avatar-Kollisionen in dieser Region deaktivieren"/>
-	<button label="?" name="disable_collisions_help"/>
 	<check_box label="Physik deaktivieren" name="disable_physics_check" tool_tip="Physik in dieser Region deaktivieren"/>
-	<button label="?" name="disable_physics_help"/>
 	<button label="Ãœbernehmen" name="apply_btn"/>
 	<text name="objret_text_lbl" width="110">
 		Objekt zurückgeben
@@ -31,10 +28,8 @@
 	<check_box label="In jeder Region auf diesem Grundbesitz" name="return_estate_wide" tool_tip="Es werden die Objekte in allen Regionen dieses Grundbesitzes zurückgegeben"/>
 	<button label="Zurückgeben" name="return_btn" width="90"/>
 	<button label="Top-Kollisionsobjekte..." name="top_colliders_btn" tool_tip="Liste der Objekte mit den meisten potenziellen Kollisionen"/>
-	<button label="?" name="top_colliders_help"/>
-	<button label="Top-Skripts..." name="top_scripts_btn" tool_tip="Zeigt eine Liste der Objekte an, die die meiste Zeit benötigen, um Skripts auszuführen."/>
-	<button label="?" name="top_scripts_help"/>
 	<button label="Region neu starten" name="restart_btn" tool_tip="2-Minuten-Countdown und Region neu starten"/>
-	<button label="?" name="restart_help"/>
+	<button label="Top-Skripts..." name="top_scripts_btn" tool_tip="Zeigt eine Liste der Objekte an, die die meiste Zeit benötigen, um Skripts auszuführen."/>
 	<button label="Neustart abbrechen" name="cancel_restart_btn" tool_tip="Regionsneustart abbrechen"/>
+	<button label="Regions-Debug-Konsole" name="region_debug_console_btn" tool_tip="Regions-Debug-Konsole öffnen"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/de/panel_region_general.xml b/indra/newview/skins/default/xui/de/panel_region_general.xml
index f383be992b92123761bdaa5e8355a9d048b4d4f4..6324e900291635c06b1d9787f4ad26a595693929 100755
--- a/indra/newview/skins/default/xui/de/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_general.xml
@@ -20,12 +20,12 @@
 	</text>
 	<check_box label="Terraformen blockieren" name="block_terraform_check"/>
 	<check_box label="Fliegen blockieren" name="block_fly_check"/>
+	<check_box label="Überfliegen von Parzellen blockieren" name="block_fly_over_check" tool_tip="Zugangsprüfungen nach oben ausdehnen, um Überfliegen einer Parzelle zu verhindern"/>
 	<check_box label="Schaden zulassen" name="allow_damage_check"/>
 	<check_box label="Stoßen beschränken" name="restrict_pushobject"/>
 	<check_box label="Landwiederverkauf zulassen" name="allow_land_resell_check"/>
 	<check_box label="Landumverteilung zulassen" name="allow_parcel_changes_check"/>
 	<check_box label="Landanzeige in Suche blockieren" name="block_parcel_search_check" tool_tip="Diese Region und ihre Parzellen in Suchergebnissen anzeigen"/>
-	<check_box label="Netzobjekte zulassen" name="mesh_rez_enabled_check" tool_tip="Anderen das Rezzen von Netzobjekten in dieser Region gestatten"/>
 	<spinner label="Avatar-Limit" name="agent_limit_spin"/>
 	<spinner label="Objektbonus" name="object_bonus_spin"/>
 	<text label="Inhaltseinstufung" name="access_text">
diff --git a/indra/newview/skins/default/xui/de/sidepanel_inventory.xml b/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
index 2585c5dc90c19e7dd2d4fa3a91489aa6a640194d..94c3c752540d51b2b2c8791c62c1333c687592d1 100755
--- a/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
@@ -28,12 +28,12 @@
 					<button label="Profil" name="info_btn" tool_tip="Objektprofil anzeigen"/>
 				</layout_panel>
 				<layout_panel name="share_btn_lp">
-					<button label="Teilen" name="share_btn" tool_tip="Inventarobjekt teilen"/>
+					<button label="Freigeben" name="share_btn" tool_tip="Inventarobjekt freigeben"/>
 				</layout_panel>
 				<layout_panel name="shop_btn_lp">
 					<button label="Einkaufen" name="shop_btn" tool_tip="Marktplatz-Webseite öffnen"/>
 					<button label="Anziehen" name="wear_btn" tool_tip="Ausgewähltes Outfit tragen"/>
-					<button label="Wiedergeben" name="play_btn"/>
+					<button label="Spielen" name="play_btn"/>
 					<button label="Teleportieren" name="teleport_btn" tool_tip="Zu ausgewähltem Standort teleportieren"/>
 				</layout_panel>
 			</layout_stack>
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index 082febd7096926011ce543d28777b664693d18d9..95657ba14e26c2ab881f1acb3ece33e32b4d0c0e 100755
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -37,6 +37,45 @@
 	<string name="StartupRequireDriverUpdate">
 		Grafikinitialisierung fehlgeschlagen. Bitte aktualisieren Sie Ihren Grafiktreiber.
 	</string>
+	<string name="AboutHeader">
+		[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+	</string>
+	<string name="AboutCompiler">
+		Kompiliert mit [COMPILER], Version [COMPILER_VERSION]
+	</string>
+	<string name="AboutPosition">
+		Sie befinden sich an [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] auf &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(globale Koordinaten [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+	</string>
+	<string name="AboutSystem">
+		CPU: [CPU]
+Speicher: [MEMORY_MB] MB
+Betriebssystemversion: [OS_VERSION]
+Grafikkartenhersteller: [GRAPHICS_CARD_VENDOR]
+Grafikkarte: [GRAPHICS_CARD]
+	</string>
+	<string name="AboutDriver">
+		Windows-Grafiktreiberversion: [GRAPHICS_DRIVER_VERSION]
+	</string>
+	<string name="AboutLibs">
+		OpenGL-Version: [OPENGL_VERSION]
+
+libcurl-Version: [LIBCURL_VERSION]
+J2C-Decoderversion: [J2C_VERSION]
+Audiotreiberversion: [AUDIO_DRIVER_VERSION]
+Qt-Webkit-Version: [QT_WEBKIT_VERSION]
+Voice-Server-Version: [VOICE_VERSION]
+	</string>
+	<string name="AboutTraffic">
+		Paketverlust: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1] %)
+	</string>
+	<string name="ErrorFetchingServerReleaseNotesURL">
+		Fehler beim Abrufen der URL für die Server-Versionshinweise.
+	</string>
 	<string name="ProgressRestoring">
 		Wird wiederhergestellt...
 	</string>
@@ -937,15 +976,15 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
 	<string name="ControlYourCamera">
 		Kamerasteuerung
 	</string>
+	<string name="TeleportYourAgent">
+		Sie teleportieren
+	</string>
 	<string name="NotConnected">
 		Nicht verbunden
 	</string>
 	<string name="AgentNameSubst">
 		(Sie)
 	</string>
-	<string name="TeleportYourAgent">
-		Sie teleportieren
-	</string>
 	<string name="JoinAnExperience">
 		Bei einem Erlebnis mitmachen
 	</string>
@@ -1267,8 +1306,7 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
 	<string name="InventoryNoTexture">
 		Sie haben keine Kopie dieser Textur in Ihrem Inventar.
 	</string>
-  <string name="Unconstrained">keines</string>
-  <string name="InventoryInboxNoItems">
+	<string name="InventoryInboxNoItems">
 		Einkäufe aus dem Marktplatz erscheinen hier. Sie können diese dann zur Verwendung in Ihr Inventar ziehen.
 	</string>
 	<string name="MarketplaceURL">
@@ -1300,6 +1338,18 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
 	<string name="InventoryOutboxNoItems">
 		Ziehen Sie Ordner in dien Bereich und klicken Sie auf „In Marktplatz übertragen“, um sie im [[MARKETPLACE_DASHBOARD_URL] Marktplatz] zum Verkauf anzubieten.
 	</string>
+	<string name="InventoryOutboxInitializingTitle">
+		Marktplatz wird initialisiert.
+	</string>
+	<string name="InventoryOutboxInitializing">
+		Wir greifen auf Ihr Konto im [[MARKETPLACE_CREATE_STORE_URL] Marktplatz-Laden] zu.
+	</string>
+	<string name="InventoryOutboxErrorTitle">
+		Marktplatzfehler.
+	</string>
+	<string name="InventoryOutboxError">
+		Der [[MARKETPLACE_CREATE_STORE_URL] Marktplatz-Laden] gibt Fehler zurück.
+	</string>
 	<string name="Marketplace Error None">
 		Keine Fehler
 	</string>
@@ -1327,6 +1377,9 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
 	<string name="Open landmarks">
 		Landmarken öffnen
 	</string>
+	<string name="Unconstrained">
+		Variabel
+	</string>
 	<string name="no_transfer" value=" (kein Transferieren)"/>
 	<string name="no_modify" value=" (kein Bearbeiten)"/>
 	<string name="no_copy" value=" (kein Kopieren)"/>
@@ -1727,6 +1780,9 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
 	<string name="CompileQueueDownloadedCompiling">
 		Heruntergeladen, wird kompiliert
 	</string>
+	<string name="CompileQueueServiceUnavailable">
+		Kein Skriptkompilierungsdienst verfügbar
+	</string>
 	<string name="CompileQueueScriptNotFound">
 		Skript wurde auf Server nicht gefunden.
 	</string>
diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml
index dad81aca4f379579aa7e91b27b42dae843cf097a..c64ee5565af46d244f997551807daae00e8b3594 100755
--- a/indra/newview/skins/default/xui/en/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_session.xml
@@ -209,7 +209,7 @@
                      default_tab_group="3"
                      tab_group="2"
                      name="right_part_holder"
-                     min_width="230">
+                     min_width="207">
                         <layout_stack
                          animate="true" 
                          follows="all"
diff --git a/indra/newview/skins/default/xui/en/floater_joystick.xml b/indra/newview/skins/default/xui/en/floater_joystick.xml
index 259acccb682a8fd3fb1a58cbc3d58c715f086dcb..3dfdf8e1a5f888fbe7446de1f1b2de63ab727fca 100755
--- a/indra/newview/skins/default/xui/en/floater_joystick.xml
+++ b/indra/newview/skins/default/xui/en/floater_joystick.xml
@@ -4,7 +4,7 @@
  height="500"
  layout="topleft"
  name="Joystick"
- help_topic="joystick"
+ help_topic="Viewerhelp:Joystick_Configuration"
  title="JOYSTICK CONFIGURATION"
  width="569">
     <floater.string
diff --git a/indra/newview/skins/default/xui/en/floater_lagmeter.xml b/indra/newview/skins/default/xui/en/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b24c745bdd0bc67fc0cbf085af4fbd09335b8238
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_lagmeter.xml
@@ -0,0 +1,336 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+ legacy_header_height="18"
+ height="170"
+ layout="topleft"
+ name="floater_lagmeter"
+ help_topic="floater_lagmeter"
+ save_rect="true"
+ title="LAG METER"
+ width="350">
+    <floater.string
+     name="max_title_msg">
+        Lag Meter
+    </floater.string>
+    <floater.string
+     name="max_width_px">
+        360
+    </floater.string>
+    <floater.string
+     name="min_title_msg">
+        Lag
+    </floater.string>
+    <floater.string
+     name="min_width_px">
+        90
+    </floater.string>
+    <floater.string
+     name="client_text_msg">
+        Client
+    </floater.string>
+    <floater.string
+     name="client_frame_rate_critical_fps">
+        10
+    </floater.string>
+    <floater.string
+     name="client_frame_rate_warning_fps">
+        15
+    </floater.string>
+    <floater.string
+     name="client_frame_time_window_bg_msg">
+        Normal, window in background
+    </floater.string>
+    <floater.string
+     name="client_frame_time_critical_msg">
+        Client frame rate below [CLIENT_FRAME_RATE_CRITICAL]
+    </floater.string>
+    <floater.string
+     name="client_frame_time_warning_msg">
+        Client frame rate between [CLIENT_FRAME_RATE_CRITICAL] and [CLIENT_FRAME_RATE_WARNING]
+    </floater.string>
+    <floater.string
+     name="client_frame_time_normal_msg">
+        Normal
+    </floater.string>
+    <floater.string
+     name="client_draw_distance_cause_msg">
+        Possible cause: Draw distance set too high
+    </floater.string>
+    <floater.string
+     name="client_texture_loading_cause_msg">
+        Possible cause: Images loading
+    </floater.string>
+    <floater.string
+     name="client_texture_memory_cause_msg">
+        Possible cause: Too many images in memory
+    </floater.string>
+    <floater.string
+     name="client_complex_objects_cause_msg">
+        Possible cause: Too many complex objects in scene
+    </floater.string>
+    <floater.string
+     name="network_text_msg">
+        Network
+    </floater.string>
+    <floater.string
+     name="network_packet_loss_critical_pct">
+        10
+    </floater.string>
+    <floater.string
+     name="network_packet_loss_warning_pct">
+        5
+    </floater.string>
+    <floater.string
+     name="network_packet_loss_critical_msg">
+        Connection is dropping over [NETWORK_PACKET_LOSS_CRITICAL]% of packets
+    </floater.string>
+    <floater.string
+     name="network_packet_loss_warning_msg">
+        Connection is dropping [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% of packets
+    </floater.string>
+    <floater.string
+     name="network_performance_normal_msg">
+        Normal
+    </floater.string>
+    <floater.string
+     name="network_ping_critical_ms">
+        600
+    </floater.string>
+    <floater.string
+     name="network_ping_warning_ms">
+        300
+    </floater.string>
+    <floater.string
+     name="network_ping_critical_msg">
+        Connection ping time is over [NETWORK_PING_CRITICAL] ms
+    </floater.string>
+    <floater.string
+     name="network_ping_warning_msg">
+        Connection ping time is [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+    </floater.string>
+    <floater.string
+     name="network_packet_loss_cause_msg">
+        Possible bad connection or &apos;Bandwidth&apos; pref too high.
+    </floater.string>
+    <floater.string
+     name="network_ping_cause_msg">
+        Possible bad connection or file-sharing app.
+    </floater.string>
+    <floater.string
+     name="server_text_msg">
+        Server
+    </floater.string>
+    <floater.string
+     name="server_frame_rate_critical_fps">
+        20
+    </floater.string>
+    <floater.string
+     name="server_frame_rate_warning_fps">
+        30
+    </floater.string>
+    <floater.string
+     name="server_single_process_max_time_ms">
+        20
+    </floater.string>
+    <floater.string
+     name="server_frame_time_critical_msg">
+        Simulator framerate below [SERVER_FRAME_RATE_CRITICAL]
+    </floater.string>
+    <floater.string
+     name="server_frame_time_warning_msg">
+        Simulator framerate between [SERVER_FRAME_RATE_CRITICAL] and [SERVER_FRAME_RATE_WARNING]
+    </floater.string>
+    <floater.string
+     name="server_frame_time_normal_msg">
+        Normal
+    </floater.string>
+    <floater.string
+     name="server_physics_cause_msg">
+        Possible Cause: Too many physical objects
+    </floater.string>
+    <floater.string
+     name="server_scripts_cause_msg">
+        Possible Cause: Too many scripted objects
+    </floater.string>
+    <floater.string
+     name="server_net_cause_msg">
+        Possible Cause: Too much network traffic
+    </floater.string>
+    <floater.string
+     name="server_agent_cause_msg">
+        Possible Cause: Too many moving people in region
+    </floater.string>
+    <floater.string
+     name="server_images_cause_msg">
+        Possible Cause: Too many image calculations
+    </floater.string>
+    <floater.string
+     name="server_generic_cause_msg">
+        Possible Cause: Simulator load too heavy
+    </floater.string>
+    <floater.string
+     name="smaller_label">
+        &gt;&gt;
+    </floater.string>
+    <floater.string
+     name="bigger_label">
+        &lt;&lt;
+    </floater.string>
+    <button
+     follows="top|left"
+     height="16"
+     image_selected="lag_status_good.tga"
+     image_unselected="lag_status_good.tga"
+     layout="topleft"
+     left="8"
+     name="client_lagmeter"
+     tab_stop="false"
+     tool_tip="Client lag status"
+     top="24"
+     width="16" />
+    <text
+     type="string"
+     length="1"
+     follows="left|top"
+     font="SansSerif"
+     height="16"
+     layout="topleft"
+     left_pad="3"
+     name="client"
+     top_delta="0"
+     width="128">
+        Client
+    </text>
+    <text
+     invisiblity_control="LagMeterShrunk"
+     type="string"
+     length="1"
+     bottom="40"
+     follows="left|top"
+     font="SansSerif"
+     height="16"
+     layout="topleft"
+     left="110"
+     name="client_text"
+     right="-10">
+        Normal
+    </text>
+    <text
+     invisiblity_control="LagMeterShrunk"
+     bottom="56"
+     follows="left|top"
+     height="16"
+     layout="topleft"
+     left="40"
+     name="client_lag_cause"
+     right="-32" />
+    <button
+     follows="top|left"
+     height="16"
+     image_selected="lag_status_good.tga"
+     image_unselected="lag_status_good.tga"
+     layout="topleft"
+     left="8"
+     name="network_lagmeter"
+     tab_stop="false"
+     tool_tip="Network lag status"
+     top="64"
+     width="16" />
+    <text
+     type="string"
+     length="1"
+     follows="left|top"
+     font="SansSerif"
+     height="16"
+     layout="topleft"
+     left_pad="3"
+     name="network"
+     top_delta="0"
+     width="128">
+        Network
+    </text>
+    <text
+     invisiblity_control="LagMeterShrunk"
+     type="string"
+     length="1"
+     bottom="80"
+     follows="left|top"
+     font="SansSerif"
+     height="16"
+     layout="topleft"
+     left="110"
+     name="network_text"
+     right="-10">
+        Normal
+    </text>
+    <text
+     invisiblity_control="LagMeterShrunk"
+     bottom="96"
+     follows="left|top"
+     height="16"
+     layout="topleft"
+     left="40"
+     name="network_lag_cause"
+     right="-32" />
+    <button
+     follows="top|left"
+     height="16"
+     image_selected="lag_status_good.tga"
+     image_unselected="lag_status_good.tga"
+     layout="topleft"
+     left="8"
+     name="server_lagmeter"
+     tab_stop="false"
+     tool_tip="Server lag status"
+     top="104"
+     width="16" />
+    <text
+     type="string"
+     length="1"
+     follows="left|top"
+     font="SansSerif"
+     height="16"
+     layout="topleft"
+     left_pad="3"
+     name="server"
+     top_delta="0"
+     width="60">
+        Server
+    </text>
+    <text
+     invisiblity_control="LagMeterShrunk"
+     type="string"
+     length="1"
+     bottom="120"
+     follows="left|top"
+     font="SansSerif"
+     height="16"
+     layout="topleft"
+     left="110"
+     name="server_text"
+     right="-10">
+        Normal
+    </text>
+    <text
+     invisiblity_control="LagMeterShrunk"
+     bottom="136"
+     follows="left|top"
+     height="16"
+     layout="topleft"
+     left="40"
+     name="server_lag_cause"
+     right="-32" />
+    <button
+     follows="left|top"
+     height="20"
+     label="&gt;&gt;"
+     layout="topleft"
+     left="10"
+     name="minimize"
+	 tool_tip="Toggle floater size"
+     top_delta="24"
+     width="40">
+        <button.commit_callback
+         function="LagMeter.ClickShrink" />
+    </button>
+</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_openobject.xml b/indra/newview/skins/default/xui/en/floater_openobject.xml
index f526970ad0cfb7d62eb05024fa03bf260bf7b8d2..a130439baa73bf844aec8d4cbab0833a1e6adff1 100755
--- a/indra/newview/skins/default/xui/en/floater_openobject.xml
+++ b/indra/newview/skins/default/xui/en/floater_openobject.xml
@@ -6,7 +6,7 @@
  height="350"
  layout="topleft"
  min_height="160"
- min_width="270"
+ min_width="285"
  name="objectcontents"
  help_topic="objectcontents"
  save_rect="true"
@@ -31,36 +31,63 @@
      background_visible="false"
      draw_border="false"
      follows="all"
-     height="276"
+     height="250"
      layout="topleft"
      left="10"
      name="object_contents"
      top_pad="0"
      width="284" />
+     
+ 	<button
+     follows="bottom|left"
+     height="23"
+     label="Copy and add to outfit"
+     label_selected="Copy and add to outfit"
+     layout="topleft"
+ 	 left="15"    
+     name="copy_and_wear_button"
+ 	 top_pad="5"	
+     width="135">
+        <button.commit_callback
+         function="OpenObject.MoveAndWear" />
+    </button>
+	<button
+     follows="bottom|left"
+     height="23"
+     label="Replace outfit"
+     label_selected="Replace outfit"
+     layout="topleft"
+     left_pad="5"
+     name="copy_and_replace_button"
+     width="120">
+        <button.commit_callback
+         function="OpenObject.ReplaceOutfit" />
+    </button>  
+ 
     <button
      follows="bottom|left"
      height="23"
-     label="Copy To Inventory"
-     label_selected="Copy To Inventory"
+     label="Only copy to inventory"
+     label_selected="Only copy to inventory"
      layout="topleft"
-     left="20"
+     left="15"
      name="copy_to_inventory_button"
      tab_group="1"
      top_pad="5"
-     width="120">
+     width="135">
         <button.commit_callback
          function="OpenObject.MoveToInventory" />
     </button>
     <button
      follows="bottom|left"
      height="23"
-     label="Copy And Wear"
-     label_selected="Copy And Wear"
+     label="Cancel"
+     label_selected="Cancel"
      layout="topleft"
-     left_pad="10"
-     name="copy_and_wear_button"
+     left_pad="5"
+     name="cancel_button"
      width="120">
         <button.commit_callback
-         function="OpenObject.MoveAndWear" />
+         function="OpenObject.Cancel" />
     </button>
 </floater>
diff --git a/indra/newview/skins/default/xui/en/floater_pay.xml b/indra/newview/skins/default/xui/en/floater_pay.xml
index 41a7134b1de1bb812a1b585eb27df5fc8373b054..9d91f801a6f236b4a04984052b7eb52d6739ddc4 100755
--- a/indra/newview/skins/default/xui/en/floater_pay.xml
+++ b/indra/newview/skins/default/xui/en/floater_pay.xml
@@ -2,12 +2,12 @@
 <floater
  legacy_header_height="18"
  can_minimize="false"
- height="200"
+ height="186"
  layout="topleft"
  name="Give Money"
  help_topic="give_money"
  save_rect="true"
- width="250">
+ width="261">
    <string
     name="payee_group">
         Pay Group
@@ -21,88 +21,129 @@
      type="string"
      length="1"
      follows="left|top"
-     font="SansSerifSmall"
      height="16"
      layout="topleft"
      left="10"
-     name="payee_name"
-     top="25" 
-     use_ellipses="true"
-     width="230">
-        Test Name That Is Extremely Long To Check Clipping
+     top="24"
+     name="paying_text"
+     width="180">
+     You are paying:
     </text>
-    <button
-     height="23"
-     label="L$1"
-     label_selected="L$1"
-     layout="topleft"
-     left="35"
-     name="fastpay 1"
-     top_pad="8"
-     width="80" />
-    <button
-     height="23"
-     label="L$5"
-     label_selected="L$5"
-     layout="topleft"
-     left_pad="15"
-     name="fastpay 5"
-     width="80" />
-    <button
-     height="23"
-     label="L$10"
-     label_selected="L$10"
-     layout="topleft"
-     left="35"
-     name="fastpay 10"
-     top_pad="8"
-     width="80" />
-    <button
-     height="23"
-     label="L$20"
-     label_selected="L$20"
-     layout="topleft"
-     left_pad="15"
-     name="fastpay 20"
-     width="80" />
     <text
      type="string"
      length="1"
      follows="left|top"
-     height="18"
+     font="SansSerifSmall"
+     height="16"
      layout="topleft"
-     left="35"
-     name="amount text"
-     top_pad="8"
+     left="10"
+     top_pad="5"
+     name="payee_name"
+     use_ellipses="true"
      width="180">
-        Or, choose amount:
+        Test Name That Is Extremely Long To Check Clipping
     </text>
-    <line_editor
-     border_style="line"
-     follows="left|top|right"
-     height="19"
-     top_pad="0"
-     layout="topleft"
-     left="130"
-     max_length_bytes="9"
-     name="amount"
-     width="80" />
-    <button
-     enabled="false"
-     height="23"
-     label="Pay"
-     label_selected="Pay"
-     layout="topleft"
-     left="20"
-     name="pay btn"
-     top_pad="15"
-     width="100" />
-    <button
-     height="23"
-     label="Cancel"
-     label_selected="Cancel"
+    <panel
+     border_thickness="0"
+     height="104"
+     label="Search"
      layout="topleft"
+     left="0"
+     top_pad="10"
+     help_topic="avatarpicker"
+     name="PatternsPanel"
+     width="120">
+      <button
+       height="23"
+       label="Pay L$ 1"
+       label_selected="Pay L$ 1"
+       layout="topleft"
+       left="10"
+       top="0"
+       name="fastpay 1"
+       width="110" />
+      <button
+       height="23"
+       label="Pay L$ 5"
+       label_selected="Pay L$ 5"
+       layout="topleft"
+       left="10"
+       top_pad="4"
+       name="fastpay 5"
+       width="110" />
+      <button
+       height="23"
+       label="Pay L$ 10"
+       label_selected="Pay L$ 10"
+       layout="topleft"
+       left="10"
+       top_pad="4"
+       name="fastpay 10"
+       width="110" />
+      <button
+       height="23"
+       label="Pay L$ 20"
+       label_selected="Pay L$ 20"
+       layout="topleft"
+       left="10"
+       top_pad="4"
+       name="fastpay 20"
+       width="110" />
+    </panel>
+    <view_border
+     bevel_style="in"
+     width="1"
+     height="104"
      left_pad="10"
-     name="cancel btn"
-     width="100" />
+     layout="topleft" />
+    <panel
+     border_thickness="0"
+     height="104"
+     label="Search"
+     layout="topleft"
+     left_pad="0"
+     name="InputPanel"
+     width="120">
+      <text
+       type="string"
+       length="1"
+       follows="left|top"
+       height="18"
+       layout="topleft"
+       left="10"
+       top="0"
+       name="amount text"
+       width="110">
+        Other amount:
+      </text>
+      <line_editor
+       border_style="line"
+       follows="left|top|right"
+       height="19"
+       layout="topleft"
+       left="10"
+       top_pad="0"
+       max_length_bytes="9"
+       name="amount"
+       width="90" />
+      <button
+       enabled="false"
+       height="23"
+       label="Pay"
+       label_selected="Pay"
+       layout="topleft"
+       left="10"
+       top_pad="17"
+       name="pay btn"
+       width="110" />
+      <button
+       height="23"
+       label="Cancel"
+       label_selected="Cancel"
+       layout="topleft"
+       left="10"
+       top_pad="4"
+       name="cancel btn"
+       width="110" />
+    </panel>
 </floater>
diff --git a/indra/newview/skins/default/xui/en/floater_pay_object.xml b/indra/newview/skins/default/xui/en/floater_pay_object.xml
index d3a35c205171ac2047f4e64e6d7670d3a954dbc8..f1e27b918ee799914f16369c04bed60e55c77478 100755
--- a/indra/newview/skins/default/xui/en/floater_pay_object.xml
+++ b/indra/newview/skins/default/xui/en/floater_pay_object.xml
@@ -2,12 +2,12 @@
 <floater
  legacy_header_height="18"
  can_minimize="false"
- height="225"
+ height="228"
  layout="topleft"
  name="Give Money"
  help_topic="give_money"
  save_rect="true"
- width="250">
+ width="261">
     <string
      name="payee_group">
         Pay Group
@@ -16,12 +16,25 @@
      name="payee_resident">
         Pay Resident
     </string>
+
     <text
+     type="string"
+     length="1"
      follows="left|top"
      height="16"
      layout="topleft"
      left="10"
-     top_pad="24"
+     top="24"
+     name="paying_text"
+     width="180">
+      You are paying:
+    </text>
+    <text
+     follows="left|top"
+     height="16"
+     layout="topleft"
+     left="10"
+     top_pad="5"
      name="payee_name"
      use_ellipses="true" 
      width="225">
@@ -40,7 +53,7 @@
      width="180">
         Via object:
     </text>
-   <icon
+    <icon
      height="16"
      width="16"
      image_name="Inv_Object"
@@ -64,78 +77,107 @@
      width="188">
         My awesome object with a really damn long name
     </text>
-   <button
-     height="23"
-     label="L$1"
-     label_selected="L$1"
-     layout="topleft"
-     left="25"
-     name="fastpay 1"
-     top_pad="8"
-     width="80" />
-    <button
-     height="23"
-     label="L$5"
-     label_selected="L$5"
-     layout="topleft"
-     left_pad="15"
-     name="fastpay 5"
-     width="80" />
-    <button
-     height="23"
-     label="L$10"
-     label_selected="L$10"
-     layout="topleft"
-     left="25"
-     name="fastpay 10"
-     top_pad="8"
-     width="80" />
-    <button
-     height="23"
-     label="L$20"
-     label_selected="L$20"
+    <panel
+     border_thickness="0"
+     height="104"
+     label="Search"
      layout="topleft"
-     left_pad="15"
-     name="fastpay 20"
-     width="80" />
-    <text
-     type="string"
-     length="1"
-     follows="left|top"
-     height="14"
-     layout="topleft"
-     left="25"
-     name="amount text"
-     top_pad="8"
-     width="180">
-        Or, choose amount:
-    </text>
-    <line_editor
-     border_style="line"
-     follows="left|top|right"
-     height="21"
-     top_pad="0"
-     layout="topleft"
-     left="120"
-     max_length_bytes="9"
-     name="amount"
-     width="80" />
-    <button
-     enabled="false"
-     height="23"
-     label="Pay"
-     label_selected="Pay"
-     layout="topleft"
-     left="10"
-     name="pay btn"
-     top_pad="5"
-     width="100" />
-    <button
-     height="23"
-     label="Cancel"
-     label_selected="Cancel"
+     left="0"
+     top_pad="10"
+     help_topic="avatarpicker"
+     name="PatternsPanel"
+     width="120">
+      <button
+       height="23"
+       label="Pay L$ 1"
+       label_selected="Pay L$ 1"
+       layout="topleft"
+       left="10"
+       top="0"
+       name="fastpay 1"
+       width="110" />
+      <button
+       height="23"
+       label="Pay L$ 5"
+       label_selected="Pay L$ 5"
+       layout="topleft"
+       left="10"
+       top_pad="4"
+       name="fastpay 5"
+       width="110" />
+      <button
+       height="23"
+       label="Pay L$ 10"
+       label_selected="Pay L$ 10"
+       layout="topleft"
+       left="10"
+       top_pad="4"
+       name="fastpay 10"
+       width="110" />
+      <button
+       height="23"
+       label="Pay L$ 20"
+       label_selected="Pay L$ 20"
+       layout="topleft"
+       left="10"
+       top_pad="4"
+       name="fastpay 20"
+       width="110" />
+    </panel>
+    <view_border
+     bevel_style="in"
+     width="1"
+     height="104"
+     left_pad="10"
+     layout="topleft" />
+    <panel
+     border_thickness="0"
+     height="104"
+     label="Search"
      layout="topleft"
-     left_pad="5"
-     name="cancel btn"
-     width="100" />
+     left_pad="0"
+     name="InputPanel"
+     width="120">
+      <text
+       type="string"
+       length="1"
+       follows="left|top"
+       height="18"
+       layout="topleft"
+       left="10"
+       top="0"
+       name="amount text"
+       width="180">
+        Other amount:
+      </text>
+      <line_editor
+       border_style="line"
+       follows="left|top|right"
+       height="19"
+       layout="topleft"
+       left="10"
+       top_pad="0"
+       max_length_bytes="9"
+       name="amount"
+       width="90" />
+      <button
+       enabled="false"
+       height="23"
+       label="Pay"
+       label_selected="Pay"
+       layout="topleft"
+       left="10"
+       top_pad="17"
+       name="pay btn"
+       width="110" />
+      <button
+       height="23"
+       label="Cancel"
+       label_selected="Cancel"
+       layout="topleft"
+       left="10"
+       top_pad="4"
+       name="cancel btn"
+       width="110" />
+    </panel>
 </floater>
diff --git a/indra/newview/skins/default/xui/en/floater_report_abuse.xml b/indra/newview/skins/default/xui/en/floater_report_abuse.xml
index c50c8c02fea7a1468433904b4fc481338f1b7574..af62c7a9bcf4053f21e41eec7dd4605b1b55ce8f 100755
--- a/indra/newview/skins/default/xui/en/floater_report_abuse.xml
+++ b/indra/newview/skins/default/xui/en/floater_report_abuse.xml
@@ -253,7 +253,7 @@
          name="Land__Encroachment__Objects_textures"
          value="63" />        
         <combo_box.item
-         label="Wagering or Gambling"
+         label="Gaming Policy Violation"
          name="Wagering_gambling"
          value="67" />       
     </combo_box>
diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml
index 771035b40da33c7314dc8d54676c03a2499685f4..f5d5d7e07528a2f448ccad1b26772d5ccfc46f7f 100755
--- a/indra/newview/skins/default/xui/en/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml
@@ -7,6 +7,7 @@
  height="500"
  layout="topleft"
  name="Snapshot"
+ single_instance="true"
  help_topic="snapshot"
  save_rect="true"
  save_visibility="false"
diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml
index bee570d5d01dbb2794cacc5e3e710b38b5f22cf1..c9a6e1c9c33648cf6618565edab50819d5711274 100755
--- a/indra/newview/skins/default/xui/en/floater_stats.xml
+++ b/indra/newview/skins/default/xui/en/floater_stats.xml
@@ -267,7 +267,9 @@
                     stat="simsimskippedsilhouettesteps"
                     unit_label="/sec"/>
           <stat_bar name="simsimpctsteppedcharacters"
+          			label="Characters Updated"
                     stat="simsimpctsteppedcharacters"
+          			unit_label="%"
                     decimal_digits="1"/>
         </stat_view>
         <stat_bar name="siminpps"
diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml
index 6fa45d7d6658a87aedc38bc81fe5f094937b59ee..7099db63ab645f08db135c8e0e0612e147964310 100755
--- a/indra/newview/skins/default/xui/en/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/en/menu_inventory.xml
@@ -531,7 +531,7 @@
      name="Sound Play">
         <menu_item_call.on_click
          function="Inventory.DoToSelected"
-         parameter="open" />
+         parameter="sound_play" />
     </menu_item_call>
     <menu_item_separator
      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 c8fcda9858bd21750b450b4ce2318a6dc7d6edeb..560f81a6fd0d11db3822ce7472c979ba9b9c8e30 100755
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -251,8 +251,7 @@
              function="Floater.Visible"
              parameter="nearby_chat" />
             <menu_item_check.on_click
-             function="Floater.ToggleOrBringToFront"
-             parameter="nearby_chat" />
+             function="Communicate.NearbyChat"/>
         </menu_item_check>
         <menu_item_check
          label="Speak"
@@ -377,13 +376,16 @@
               function="SideTray.PanelPeopleTab"
               parameter="nearby_panel" />
         </menu_item_check>
-        <menu_item_call
+        <menu_item_check
          label="Block List"
          name="Block List">
-            <menu_item_call.on_click
+            <menu_item_check.on_check
+             function="SideTray.CheckPanelPeopleTab"
+             parameter="blocked_panel" />
+            <menu_item_check.on_click
               function="SideTray.PanelPeopleTab"
               parameter="blocked_panel" />
-        </menu_item_call>
+        </menu_item_check>
       <menu_item_separator/>
       <menu_item_check
        name="Do Not Disturb"
@@ -1222,7 +1224,7 @@
                  name="Grid Options"
                  shortcut="control|shift|B">
                     <menu_item_call.on_click
-                     function="Floater.Show"
+                     function="Floater.Toggle"
                      parameter="build_options" />
                     <menu_item_call.on_enable
                      function="Tools.EnableToolNotPie" />
@@ -2102,6 +2104,18 @@
                function="Floater.Toggle"
                parameter="notifications_console" />
             </menu_item_call>
+            <menu_item_check
+             label="Region Debug Console"
+             name="Region Debug Console"
+             shortcut="control|shift|`"
+             use_mac_ctrl="true">
+                <menu_item_check.on_check
+                 function="Floater.Visible"
+                 parameter="region_debug_console" />
+                <menu_item_check.on_click
+                 function="Floater.Toggle"
+                 parameter="region_debug_console" />
+            </menu_item_check>
             <menu_item_check
              label="Fast Timers"
              name="Fast Timers"
diff --git a/indra/newview/skins/default/xui/en/mime_types.xml b/indra/newview/skins/default/xui/en/mime_types.xml
index a585069faa2fcc7a347d037ea317e215da2e4fa7..f5f222333077eb6eabbf606ba0b3bdda15ebf035 100755
--- a/indra/newview/skins/default/xui/en/mime_types.xml
+++ b/indra/newview/skins/default/xui/en/mime_types.xml
@@ -101,6 +101,27 @@
 			true
 		</allow_looping>
 	</widgetset>
+	<widgetset name="none">
+		<label name="none_label">
+			No Content
+		</label>
+		<default_type>
+			none/none
+		</default_type>
+		<icon>
+			icn_media_web.tga
+		</icon>
+		<tooltip name="none_tooltip">
+			No media here
+		</tooltip>
+		<playtip name="none_playtip" />
+		<allow_resize>
+			false
+		</allow_resize>
+		<allow_looping>
+			false
+		</allow_looping>
+	</widgetset>
 	<scheme name="rtsp">
 		<label name="rtsp_label">
 			Real Time Streaming
diff --git a/indra/newview/skins/default/xui/en/mime_types_linux.xml b/indra/newview/skins/default/xui/en/mime_types_linux.xml
index e95b371d00f5c99d6cfb5bc45d57810535bc8fd8..84aeaf3b54b1a858c9ecfa652899fff85f4cf2f0 100755
--- a/indra/newview/skins/default/xui/en/mime_types_linux.xml
+++ b/indra/newview/skins/default/xui/en/mime_types_linux.xml
@@ -101,6 +101,27 @@
 			true
 		</allow_looping>
 	</widgetset>
+	<widgetset name="none">
+		<label name="none_label">
+			No Content
+		</label>
+		<default_type>
+			none/none
+		</default_type>
+		<icon>
+			icn_media_web.tga
+		</icon>
+		<tooltip name="none_tooltip">
+			No media here
+		</tooltip>
+		<playtip name="none_playtip" />
+		<allow_resize>
+			false
+		</allow_resize>
+		<allow_looping>
+			false
+		</allow_looping>
+	</widgetset>
 	<scheme name="rtsp">
 		<label name="rtsp_label">
 			Real Time Streaming
diff --git a/indra/newview/skins/default/xui/en/mime_types_mac.xml b/indra/newview/skins/default/xui/en/mime_types_mac.xml
index 7931e55c0a35811f9720fec9206937059d09b988..90230f12dd6131c53cee5809424fe77fff307c0d 100755
--- a/indra/newview/skins/default/xui/en/mime_types_mac.xml
+++ b/indra/newview/skins/default/xui/en/mime_types_mac.xml
@@ -101,6 +101,27 @@
 			true
 		</allow_looping>
 	</widgetset>
+	<widgetset name="none">
+		<label name="none_label">
+			No Content
+		</label>
+		<default_type>
+			none/none
+		</default_type>
+		<icon>
+			icn_media_web.tga
+		</icon>
+		<tooltip name="none_tooltip">
+			No media here
+		</tooltip>
+		<playtip name="none_playtip" />
+		<allow_resize>
+			false
+		</allow_resize>
+		<allow_looping>
+			false
+		</allow_looping>
+	</widgetset>
 	<scheme name="rtsp">
 		<label name="rtsp_label">
 			Real Time Streaming
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 772d81c4489e64b3b2a37b1884a29fa398228e46..944f600ef73719df34688bb96235dcdb10ef764b 100755
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -1417,6 +1417,14 @@ Graphics Quality can be raised in Preferences &gt; Graphics.
 The region [REGION] does not allow terraforming.
   <tag>fail</tag>
   </notification>
+  
+  <notification
+   icon="alertmodal.tga"
+   name="ParcelNoTerraforming"
+   type="notify">
+You are not allowed to terraform parcel [PARCEL].
+  <tag>fail</tag>
+  </notification>
 
   <notification
    icon="alertmodal.tga"
@@ -3796,6 +3804,28 @@ You have left the group [group_name].
        yestext="OK"/>
   </notification>
 
+  <notification
+   icon="aler.tga"
+   name="GroupDepartError"
+   type="alert">
+Unable to leave group: [reason].
+      <tag>reason</tag>
+      <usetemplate
+       name="okbutton"
+       yestext="OK"/>
+  </notification>
+
+  <notification
+   icon="alert.tga"
+   name="GroupDepart"
+   type="alert">
+You have left the group [group_name].
+      <tag>group_name</tag>
+      <usetemplate
+       name="okbutton"
+       yestext="OK"/>
+  </notification>
+
   <notification
    icon="alert.tga"
    name="ConfirmKick"
@@ -5193,6 +5223,19 @@ Warning: The &apos;Pay object&apos; click action has been set, but it will only
     </form>
   </notification>
 
+  <notification
+   icon="alertmodal.tga"
+   name="PayConfirmation"
+   type="alertmodal">
+    Confirm that you want to pay L$[AMOUNT] to [TARGET].
+    <tag>confirm</tag>
+    <usetemplate
+     ignoretext="Confirm before paying"
+     name="okcancelignore"
+     notext="Cancel"
+     yestext="Pay"/>
+  </notification>
+
   <notification
    icon="alertmodal.tga"
    name="OpenObjectCannotCopy"
@@ -5395,6 +5438,14 @@ Do you want to replace it with the selected object?
     </form>
   </notification>
 
+  <notification
+   icon="alertmodal.tga"
+   name="TooManyWearables"
+   type="alertmodal">
+    You can't wear a folder containing more than [AMOUNT] items.  You can change this limit in Advanced > Show Debug Settings > WearFolderLimit.
+    <tag>fail</tag>
+  </notification>
+
   <notification
    icon="alert.tga"
    label="Do Not Disturb Mode Warning"
@@ -7000,11 +7051,11 @@ If you stay in this region you will be logged out.
    name="LoadWebPage"
    show_toast="false"
    type="notify">
-Load web page [URL]?
+Load web page [URL] ?
 
 [MESSAGE]
 
-From object: &lt;nolink&gt;[OBJECTNAME]&lt;/nolink&gt;, owner: [NAME]?
+From object: &lt;nolink&gt;[OBJECTNAME]&lt;/nolink&gt;, owner: [NAME]
     <tag>confirm</tag>
     <form name="form">
       <button
@@ -7900,7 +7951,16 @@ You uploaded a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] second
 ( [EXISTENCE] seconds alive )
 You locally updated a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds.
   </notification>
-
+	
+  <notification
+   icon="alertmodal.tga"
+   name="CannotUploadTexture"
+   type="alertmodal">
+Unable to upload texture.
+[REASON]   
+  <tag>fail</tag>  
+  </notification>
+  
   <notification
    icon="alertmodal.tga"
    name="LivePreviewUnavailable"
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 30239d6d017094608f995cfc028a686ec0fe1c53..0dd75b1b553131f8781d8d057ce923ba49b76ef2 100755
--- a/indra/newview/skins/default/xui/en/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml
@@ -295,14 +295,14 @@
              value="SampleParcel, Name Long (145, 228, 26)"
              width="285" />
             <expandable_text
-             follows="left|top|right"
+             follows="left|top"
              height="50"
              layout="topleft"
              left="5"
              name="description"
              top_pad="10"
              value="Du waltz die spritz"
-             width="300" />
+             width="285" />
             <text
              follows="left|top"
              height="14"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml
index dd4533ae74f83acc450450698968e228645fcf35..1e9a1aa27ca08baaa0d03dbd58f2073fe733d93b 100755
--- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml
@@ -106,7 +106,7 @@
          width="300">
     Web:
   </text>
-  <radio_group
+ <!-- <radio_group
    control_name="UseExternalBrowser"
    draw_border="false"
    follows="top|left"
@@ -136,6 +136,48 @@
       tool_tip="Use the built-in web browser for help, web links, etc. This browser opens as a new window inside [APP_NAME]."
       top_delta="20"
       width="480" />
+  </radio_group> -->
+
+  <radio_group
+   control_name="PreferredBrowserBehavior"
+   draw_border="false"
+   follows="left|top"
+   height="60"
+   layout="topleft"
+   left_delta="50"
+   name="preferred_browser_behavior"
+   top_pad="0"
+   width="480">
+    <radio_item
+      height="20"
+      label="Use my browser (Chrome, Firefox, IE) for all links"
+      layout="topleft"
+      left="0"
+      name="internal"
+      value="0"
+      tool_tip="Use the default system web browser for help, web links, etc. Not recommended if running full screen."
+      top="0"
+      width="480" />
+    <radio_item
+      height="20"
+      label="Use built-in browser for Second Life links only"
+      layout="topleft"
+      left_delta="0"
+      name="external"
+      value="1"      
+      tool_tip="Use the default system web browser for help, web links, etc. Builtin browser will be used only for LindenLab/SecondLife links."
+      top_delta="20"
+      width="480" />
+    <radio_item
+      height="20"
+      label="Use built-in browser for all links"
+      layout="topleft"
+      left="0"
+      name="internal"
+      value="2"
+      tool_tip="Use the built-in web browser for help, web links, etc. This browser opens as a new window inside [APP_NAME]."
+      top_delta="20"
+      width="480" />
   </radio_group>
 
   <check_box
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 5fbc539a0638d0a8513b0549ce905391513d35b5..5dcb8e2cdf4564a1ba032652a1f16a7154c60e62 100755
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -233,6 +233,7 @@ Please try logging in again in a minute.</string>
 	<string name="TooltipFlagNoScripts">No Scripts</string>
 	<string name="TooltipLand">Land:</string>
 	<string name="TooltipMustSingleDrop">Only a single item can be dragged here</string>
+	<string name="TooltipTooManyWearables">You can't wear a folder containing more than [AMOUNT] items.  You can change this limit in Advanced > Show Debug Settings > WearFolderLimit.</string>
 	<string name="TooltipPrice" value="L$[AMOUNT]: "/>
 
 	<string name="TooltipOutboxDragToWorld">You can not rez items in your merchant outbox</string>
diff --git a/indra/newview/skins/default/xui/es/floater_lagmeter.xml b/indra/newview/skins/default/xui/es/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..227689a1947d9a71f5f4d1cb9da78ef726a041fc
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_lagmeter.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="MEDIDOR DEL LAG">
+	<floater.string name="max_title_msg">
+		Medidor del lag
+	</floater.string>
+	<floater.string name="max_width_px">
+		360
+	</floater.string>
+	<floater.string name="min_title_msg">
+		Lag
+	</floater.string>
+	<floater.string name="min_width_px">
+		90
+	</floater.string>
+	<floater.string name="client_text_msg">
+		Cliente
+	</floater.string>
+	<floater.string name="client_frame_rate_critical_fps">
+		10
+	</floater.string>
+	<floater.string name="client_frame_rate_warning_fps">
+		15
+	</floater.string>
+	<floater.string name="client_frame_time_window_bg_msg">
+		Normal, ventana en segundo plano
+	</floater.string>
+	<floater.string name="client_frame_time_critical_msg">
+		Frames del cliente valorados por debajo de [CLIENT_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="client_frame_time_warning_msg">
+		Frames del cliente valorados entre [CLIENT_FRAME_RATE_CRITICAL] y [CLIENT_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="client_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="client_draw_distance_cause_msg">
+		Posible causa: distancia de dibujo fijada muy alta
+	</floater.string>
+	<floater.string name="client_texture_loading_cause_msg">
+		Posible causa: imágenes cargándose
+	</floater.string>
+	<floater.string name="client_texture_memory_cause_msg">
+		Posible causa: demasiadas imágenes en la memoria
+	</floater.string>
+	<floater.string name="client_complex_objects_cause_msg">
+		Posible causa: demasiados objetos complejos en la escena
+	</floater.string>
+	<floater.string name="network_text_msg">
+		Red
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_pct">
+		10
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_pct">
+		5
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_msg">
+		La conexión deja caer más del [NETWORK_PACKET_LOSS_CRITICAL]% de los paquetes
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_msg">
+		La conexión deja caer [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% de los paquetes
+	</floater.string>
+	<floater.string name="network_performance_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="network_ping_critical_ms">
+		600
+	</floater.string>
+	<floater.string name="network_ping_warning_ms">
+		300
+	</floater.string>
+	<floater.string name="network_ping_critical_msg">
+		El tiempo de conexión -ping- supera los [NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_ping_warning_msg">
+		El tiempo de conexión -ping- es de [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_packet_loss_cause_msg">
+		Quizá una mala conexión o un ancho de banda fijado demasiado alto.
+	</floater.string>
+	<floater.string name="network_ping_cause_msg">
+		Quizá una mala conexión o una aplicación de archivos compartidos.
+	</floater.string>
+	<floater.string name="server_text_msg">
+		Servidor
+	</floater.string>
+	<floater.string name="server_frame_rate_critical_fps">
+		20
+	</floater.string>
+	<floater.string name="server_frame_rate_warning_fps">
+		30
+	</floater.string>
+	<floater.string name="server_single_process_max_time_ms">
+		20
+	</floater.string>
+	<floater.string name="server_frame_time_critical_msg">
+		Frecuencia (framerate) por debajo de [SERVER_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="server_frame_time_warning_msg">
+		Frecuencia (framerate) entre [SERVER_FRAME_RATE_CRITICAL] y [SERVER_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="server_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="server_physics_cause_msg">
+		Posible causa: demasiados objetos físicos
+	</floater.string>
+	<floater.string name="server_scripts_cause_msg">
+		Posible causa: demasiados objetos con script
+	</floater.string>
+	<floater.string name="server_net_cause_msg">
+		Posible causa: demasiado tráfico en la red
+	</floater.string>
+	<floater.string name="server_agent_cause_msg">
+		Posible causa: demasiada gente moviéndose en la región
+	</floater.string>
+	<floater.string name="server_images_cause_msg">
+		Posible causa: demasiados cálculos de imáganes
+	</floater.string>
+	<floater.string name="server_generic_cause_msg">
+		Posible causa: carga del simulador muy pesada
+	</floater.string>
+	<floater.string name="smaller_label">
+		&gt;&gt;
+	</floater.string>
+	<floater.string name="bigger_label">
+		&lt;&lt;
+	</floater.string>
+	<button label="" label_selected="" name="client_lagmeter" tool_tip="Estado del lag del cliente"/>
+	<text name="client">
+		Cliente
+	</text>
+	<text font="SansSerifSmall" name="client_text">
+		Normal
+	</text>
+	<text left="30" name="client_lag_cause" right="-10"/>
+	<button label="" label_selected="" name="network_lagmeter" tool_tip="Estado del lag de la red"/>
+	<text name="network">
+		Red
+	</text>
+	<text font="SansSerifSmall" name="network_text">
+		Normal
+	</text>
+	<text left="30" name="network_lag_cause" right="-10"/>
+	<button label="" label_selected="" name="server_lagmeter" tool_tip="Estado del lag del servidor"/>
+	<text name="server">
+		Servidor
+	</text>
+	<text font="SansSerifSmall" name="server_text">
+		Normal
+	</text>
+	<text left="30" name="server_lag_cause" right="-32"/>
+	<button label="&gt;&gt;" name="minimize" tool_tip="Cambia el tamaño de la ventana"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_region_restarting.xml b/indra/newview/skins/default/xui/es/floater_region_restarting.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d55c8eff17560fab77c87683d069c6e4c49c89c0
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="REGIÓN REINICIANDO">
+	<string name="RegionName">
+		La región en la que te encuentras ([NAME]) se va a reiniciar.
+
+Si permaneces en esta región serás desconectado.
+	</string>
+	<string name="RestartSeconds">
+		Segundos hasta el reinicio
+[SECONDS]
+	</string>
+	<panel name="layout_panel_1">
+		<text name="region_name">
+			La región en la que te encuentras (-el nombre de región más largo-) se va a reiniciar.
+
+Si permaneces en esta región serás desconectado.
+		</text>
+		<text name="restart_seconds">
+			Segundos hasta el reinicio
+     32767
+		</text>
+	</panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/es/floater_scene_load_stats.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f625d5257c1e157186514549072123e10aaa28d1
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="ESTADÍSTICAS DE CARGA DE ESCENA">
+	<button label="Pausa" name="playpause"/>
+	<scroll_container name="statistics_scroll">
+		<container_view name="statistics_view">
+			<stat_view label="Básica" name="basic">
+				<stat_bar label="Diferencia de píxeles de fotograma" name="frame difference"/>
+				<stat_bar label="Datos de UDP recibidos" name="bandwidth"/>
+				<stat_bar label="Pérdida de paquetes" name="packet_loss"/>
+			</stat_view>
+			<stat_view label="Avanzado" name="advanced">
+				<stat_view label="Renderización" name="render">
+					<stat_bar label="Objetos en total" name="objs"/>
+					<stat_bar label="Objetos nuevos" name="newobjs"/>
+					<stat_bar label="Índice de aciertos de caché de objetos" name="object_cache_hits"/>
+				</stat_view>
+				<stat_view label="Textura" name="texture">
+					<stat_bar label="Índice de aciertos de caché" name="texture_cache_hits"/>
+					<stat_bar label="Latencia de lectura de caché" name="texture_cache_read_latency"/>
+					<stat_bar label="Número" name="numimagesstat"/>
+					<stat_bar label="Raw: número" name="numrawimagesstat"/>
+				</stat_view>
+				<stat_view label="Red" name="network">
+					<stat_bar label="Paquetes salientes" name="packetsinstat"/>
+					<stat_bar label="Paquetes entrantes" name="packetsoutstat"/>
+					<stat_bar label="Objetos" name="objectdatareceived"/>
+					<stat_bar label="Textura" name="texturedatareceived"/>
+					<stat_bar label="Asset" name="assetudpdatareceived"/>
+					<stat_bar label="Capas" name="layersdatareceived"/>
+					<stat_bar label="Entrando ahora" name="messagedatain"/>
+					<stat_bar label="Saliendo ahora" name="messagedataout"/>
+					<stat_bar label="Operaciones VFS pendientes" name="vfspendingoperations"/>
+				</stat_view>
+			</stat_view>
+			<stat_view label="Simulador" name="sim">
+				<stat_bar label="Objetos" name="simobjects"/>
+				<stat_bar label="Objetos activos" name="simactiveobjects"/>
+				<stat_bar label="Scripts activos" name="simactivescripts"/>
+				<stat_bar label="Paquetes salientes" name="siminpps"/>
+				<stat_bar label="Paquetes entrantes" name="simoutpps"/>
+				<stat_bar label="Descargas pendientes" name="simpendingdownloads"/>
+				<stat_bar label="Subidas pendientes" name="simpendinguploads"/>
+				<stat_bar label="Total de bytes no reconocidos" name="simtotalunackedbytes"/>
+				<stat_view label="Tiempo (ms)" name="simperf">
+					<stat_bar label="Tiempo total de los frames" name="simframemsec"/>
+					<stat_bar label="Tiempo de red" name="simnetmsec"/>
+					<stat_bar label="Physics Time" name="simsimphysicsmsec"/>
+					<stat_bar label="Tiempo de la simulación" name="simsimothermsec"/>
+					<stat_bar label="Tiempo de los agentes" name="simagentmsec"/>
+					<stat_bar label="Tiempo de las imágenes" name="simimagesmsec"/>
+					<stat_bar label="Tiempo de los scripts" name="simscriptmsec"/>
+					<stat_bar label="Tiempo libre" name="simsparemsec"/>
+					<stat_view label="Datos de tiempo (ms)" name="timedetails">
+						<stat_bar label="Paso de física" name="simsimphysicsstepmsec"/>
+						<stat_bar label="Actualizar formas físicas" name="simsimphysicsshapeupdatemsec"/>
+						<stat_bar label="Otros (Física)" name="simsimphysicsothermsec"/>
+						<stat_bar label="Tiempo de suspensión" name="simsleepmsec"/>
+						<stat_bar label="Bombea E/S" name="simpumpiomsec"/>
+					</stat_view>
+				</stat_view>
+			</stat_view>
+		</container_view>
+	</scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_stats.xml b/indra/newview/skins/default/xui/es/floater_stats.xml
index 00601920f2c2760a52c0bb35ff80695c8ec28a41..7ecf5fafae2477b5b42e5c4fcb61ddbdf70510e0 100755
--- a/indra/newview/skins/default/xui/es/floater_stats.xml
+++ b/indra/newview/skins/default/xui/es/floater_stats.xml
@@ -4,17 +4,20 @@
 		<container_view name="statistics_view">
 			<stat_view label="Básico" name="basic">
 				<stat_bar label="FPS" name="fps"/>
-				<stat_bar label="Ancho de banda" name="bandwidth"/>
+				<stat_bar label="Datos de UDP recibidos" name="bandwidth"/>
 				<stat_bar label="Pérdida de paquetes" name="packet_loss"/>
 				<stat_bar label="Ping del Sim" name="ping"/>
 			</stat_view>
 			<stat_view label="Avanzado" name="advanced">
 				<stat_view label="Renderización" name="render">
-					<stat_bar label="KTris generados por fotograma" name="ktrisframe"/>
-					<stat_bar label="KTris generados por segundo" name="ktrissec"/>
+					<stat_bar label="KTris por fotograma" name="ktrisframe"/>
+					<stat_bar label="KTris por segundo" name="ktrissec"/>
 					<stat_bar label="Objetos en total" name="objs"/>
 					<stat_bar label="Objetos nuevos" name="newobjs"/>
 					<stat_bar label="Índice de aciertos de caché de objetos" name="object_cache_hits"/>
+					<stat_bar label="Consultas de oclusión realizadas" name="occlusion_queries"/>
+					<stat_bar label="Objetos ocluidos" name="occluded"/>
+					<stat_bar label="Objeto no ocluido" name="unoccluded"/>
 				</stat_view>
 				<stat_view label="Textura" name="texture">
 					<stat_bar label="Índice de aciertos de caché" name="texture_cache_hits"/>
@@ -26,15 +29,32 @@
 					<stat_bar label="Raw Mem" name="rawmemstat"/>
 					<stat_bar label="Bound Mem" name="glboundmemstat"/>
 				</stat_view>
+				<stat_view label="Memoria utilizada" name="memory">
+					<stat_bar label="LLTrace" name="LLTrace"/>
+					<stat_bar label="UI" name="LLView"/>
+					<stat_bar label="Fuentes" name="LLFontFreetype"/>
+					<stat_bar label="Inventario" name="LLInventoryObject"/>
+					<stat_bar label="Objetos del visor" name="LLViewerObject"/>
+					<stat_bar label="Datos de grupo de árbol octal" name="LLViewerOctreeGroup"/>
+					<stat_bar label="Datos de árbol octal" name="LLViewerOctreeEntry"/>
+					<stat_bar label="Caché de objetos del visor" name="LLVOCacheEntry"/>
+					<stat_bar label="Objetos dibujables" name="LLDrawable"/>
+					<stat_bar label="Datos de cara" name="LLFace"/>
+					<stat_bar label="Información de dibujo" name="LLDrawInfo"/>
+					<stat_bar label="Datos de textura" name="LLTexture"/>
+					<stat_bar label="Datos de imagen" name="LLImage"/>
+					<stat_bar label="Datos de imagen GL" name="LLImageGL"/>
+					<stat_bar label="Memorias intermedias de vértice" name="LLVertexBuffer"/>
+				</stat_view>
 				<stat_view label="Red" name="network">
 					<stat_bar label="Paquetes salientes" name="packetsinstat"/>
 					<stat_bar label="Paquetes entrantes" name="packetsoutstat"/>
-					<stat_bar label="Objetos" name="objectkbitstat"/>
-					<stat_bar label="Textura" name="texturekbitstat"/>
-					<stat_bar label="Asset" name="assetkbitstat"/>
-					<stat_bar label="Capas" name="layerskbitstat"/>
-					<stat_bar label="Entrando ahora" name="actualinkbitstat"/>
-					<stat_bar label="Saliendo ahora" name="actualoutkbitstat"/>
+					<stat_bar label="Objetos" name="objectdatareceived"/>
+					<stat_bar label="Textura" name="texturedatareceived"/>
+					<stat_bar label="Asset" name="assetudpdatareceived"/>
+					<stat_bar label="Capas" name="layersdatareceived"/>
+					<stat_bar label="Entrando ahora" name="messagedatain"/>
+					<stat_bar label="Saliendo ahora" name="messagedataout"/>
 					<stat_bar label="Operaciones VFS pendientes" name="vfspendingoperations"/>
 				</stat_view>
 			</stat_view>
@@ -53,7 +73,8 @@
 					<stat_bar label="Pasos de silueta omitidos" name="simsimskippedsilhouettesteps"/>
 					<stat_bar label="Personajes actualizados" name="simsimpctsteppedcharacters"/>
 				</stat_view>
-				<stat_view label="Tiempo (ms)" name="simperf">
+				<stat_bar label="Total de datos no reconocidos" name="simtotalunackedbytes"/>
+				<stat_view label="Tiempo" name="simperf">
 					<stat_bar label="Tiempo total de los frames" name="simframemsec"/>
 					<stat_bar label="Tiempo de red" name="simnetmsec"/>
 					<stat_bar label="Physics Time" name="simsimphysicsmsec"/>
@@ -62,7 +83,7 @@
 					<stat_bar label="Tiempo de las imágenes" name="simimagesmsec"/>
 					<stat_bar label="Tiempo de los scripts" name="simscriptmsec"/>
 					<stat_bar label="Tiempo libre" name="simsparemsec"/>
-					<stat_view label="Datos de tiempo (ms)" name="timedetails">
+					<stat_view label="Detalles de tiempo" name="timedetails">
 						<stat_bar label="Paso de física" name="simsimphysicsstepmsec"/>
 						<stat_bar label="Actualizar formas físicas" name="simsimphysicsshapeupdatemsec"/>
 						<stat_bar label="Otros (Física)" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/es/menu_avatar_icon.xml b/indra/newview/skins/default/xui/es/menu_avatar_icon.xml
index fe7331a1083d3b4028588df47bb152187444cc4c..e3299b0a6b5d6843002baae47e5722b05a94da1f 100755
--- a/indra/newview/skins/default/xui/es/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/es/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
 <menu name="Avatar Icon Menu">
 	<menu_item_call label="Ver el perfil" name="Show Profile"/>
 	<menu_item_call label="Enviar un MI..." name="Send IM"/>
+	<menu_item_call label="Petición de teleporte" name="Request Teleport"/>
 	<menu_item_call label="Añadir como amigo..." name="Add Friend"/>
 	<menu_item_call label="Quitar de los amigos..." name="Remove Friend"/>
 </menu>
diff --git a/indra/newview/skins/default/xui/es/menu_inventory.xml b/indra/newview/skins/default/xui/es/menu_inventory.xml
index 803d3f1331a1ff9f7188d41255c77b2cb7a4ccdf..cd5bc7917de889f126678c9668f933e7bc25e80b 100755
--- a/indra/newview/skins/default/xui/es/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/es/menu_inventory.xml
@@ -69,6 +69,7 @@
 	<menu_item_call label="Escuchar" name="Sound Play"/>
 	<menu_item_call label="Copiar la SLurl" name="url_copy"/>
 	<menu_item_call label="Acerca del hito" name="About Landmark"/>
+	<menu_item_call label="Mostrar en el mapa" name="show_on_map"/>
 	<menu_item_call label="Escuchar en el mundo" name="Animation Play"/>
 	<menu_item_call label="Ejecutarla para usted" name="Animation Audition"/>
 	<menu_item_call label="Enviar un mensaje instantáneo" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/es/menu_login.xml b/indra/newview/skins/default/xui/es/menu_login.xml
index 2286d0527a5c500b9afd5265279bced4f2e334ae..336572f0cb480b034c1cdcaf4b28725c82101008 100755
--- a/indra/newview/skins/default/xui/es/menu_login.xml
+++ b/indra/newview/skins/default/xui/es/menu_login.xml
@@ -5,7 +5,15 @@
 		<menu_item_call label="Salir de [APP_NAME]" name="Quit"/>
 	</menu>
 	<menu label="Ayuda" name="Help">
-		<menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/>
+		<menu_item_call label="Cómo..." name="How To"/>
+		<menu_item_call label="Guía rápida" name="Quickstart"/>
+		<menu_item_call label="Base de Conocimientos" name="Knowledge Base"/>
+		<menu_item_call label="Wiki" name="Wiki"/>
+		<menu_item_call label="Foros comunitarios" name="Community Forums"/>
+		<menu_item_call label="Portal de soporte" name="Support portal"/>
+		<menu_item_call label="Noticias de [SECOND_LIFE]" name="Second Life News"/>
+		<menu_item_call label="Blogs de [SECOND_LIFE]" name="Second Life Blogs"/>
+		<menu_item_call label="Informar de un fallo" name="Report Bug"/>
 		<menu_item_call label="Acerca de [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu_item_check label="Mostrar el menú &apos;Debug&apos;" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml
index c482907812ce516e182253e3e0c443624e7f5f81..1ff555b7272d5ee7c97c2640cb395e84f3b3fe32 100755
--- a/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
 <context_menu name="Teleport History Item Context Menu">
 	<menu_item_call label="Teleportar" name="Teleport"/>
 	<menu_item_call label="Más información" name="More Information"/>
-	<menu_item_call label="Copiar al portapapeles" name="CopyToClipboard"/>
+	<menu_item_call label="Copiar la SLurl" name="CopyToClipboard"/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml
index e4fe871683b480f32331ce8174c76068b4cc4018..d5208f3d8f3b975b205057c045809533c4a509fc 100755
--- a/indra/newview/skins/default/xui/es/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/es/menu_viewer.xml
@@ -71,11 +71,11 @@
 			<menu_item_check label="Menú Avanzado" name="Show Advanced Menu"/>
 		</menu>
 		<menu label="Sol" name="Sun">
-			<menu_item_call label="Amanecer" name="Sunrise"/>
-			<menu_item_call label="Mediodía" name="Noon"/>
-			<menu_item_call label="Atardecer" name="Sunset"/>
-			<menu_item_call label="Medianoche" name="Midnight"/>
-			<menu_item_call label="Usar configuración de región" name="Use Region Settings"/>
+			<menu_item_check label="Amanecer" name="Sunrise"/>
+			<menu_item_check label="Mediodía" name="Noon"/>
+			<menu_item_check label="Atardecer" name="Sunset"/>
+			<menu_item_check label="Medianoche" name="Midnight"/>
+			<menu_item_check label="Usar configuración de región" name="Use Region Settings"/>
 		</menu>
 		<menu label="Editor de entorno" name="Environment Editor">
 			<menu_item_call label="Configuración del entorno..." name="Environment Settings"/>
@@ -164,8 +164,6 @@
 	</menu>
 	<menu label="Ayuda" name="Help">
 		<menu_item_call label="Cómo..." name="How To"/>
-		<menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/>
-		<menu_item_call label="Guía del usuario" name="User’s guide"/>
 		<menu_item_call label="Base de Conocimientos" name="Knowledge Base"/>
 		<menu_item_call label="Wiki" name="Wiki"/>
 		<menu_item_call label="Foros comunitarios" name="Community Forums"/>
@@ -187,6 +185,7 @@
 		<menu label="Herramientas de rendimiento" name="Performance Tools">
 			<menu_item_call label="Medidor de lag" name="Lag Meter"/>
 			<menu_item_check label="Estadísticas" name="Statistics Bar"/>
+			<menu_item_call label="Estadísticas de carga de escenas" name="Scene Load Statistics"/>
 			<menu_item_check label="Mostrar el peso del dibujo de los avatares" name="Avatar Rendering Cost"/>
 		</menu>
 		<menu label="Realzado y Visibilidad" name="Highlighting and Visibility">
@@ -248,6 +247,7 @@
 			<menu_item_check label="Fast Timers" name="Fast Timers"/>
 			<menu_item_check label="Memory" name="Memory"/>
 			<menu_item_check label="Datos de la escena" name="Scene Statistics"/>
+			<menu_item_check label="Monitor de carga de escenas" name="Scene Loading Monitor"/>
 			<menu_item_call label="Consola de depuración de obtención de texturas" name="Texture Fetch Debug Console"/>
 			<menu_item_call label="Region Info to Debug Console" name="Region Info to Debug Console"/>
 			<menu_item_check label="Camera" name="Camera"/>
@@ -279,6 +279,7 @@
 			<menu_item_check label="Randomize Framerate" name="Randomize Framerate"/>
 			<menu_item_check label="Frame Test" name="Frame Test"/>
 			<menu_item_call label="Perfil del fotograma" name="Frame Profile"/>
+			<menu_item_call label="Criterio de referencia" name="Benchmark"/>
 		</menu>
 		<menu label="Render Metadata" name="Render Metadata">
 			<menu_item_check label="Normales" name="Normals"/>
@@ -286,6 +287,7 @@
 			<menu_item_check label="Actualizar el tipo" name="Update Type"/>
 			<menu_item_check label="Información sobre el nivel de detalle" name="LOD Info"/>
 			<menu_item_check label="Crear cola" name="Build Queue"/>
+			<menu_item_check label="Articulaciones" name="Joints"/>
 			<menu_item_check label="Vectores de viento" name="Wind Vectors"/>
 			<menu_item_check label="Complejidad del renderizado" name="rendercomplexity"/>
 			<menu_item_check label="Bytes de adjunto" name="attachment bytes"/>
@@ -311,6 +313,7 @@
 			<menu_item_check label="Render Attached Lights" name="Render Attached Lights"/>
 			<menu_item_check label="Render Attached Particles" name="Render Attached Particles"/>
 			<menu_item_check label="Hover Glow Objects" name="Hover Glow Objects"/>
+			<menu_item_call label="Limpiar caché inmediatamente" name="Cache Clear"/>
 		</menu>
 		<menu label="Red" name="Network">
 			<menu_item_check label="Pause Avatar" name="AgentPause"/>
@@ -326,7 +329,6 @@
 			<menu_item_call label="Prueba de navegadores de medios" name="Web Browser Test"/>
 			<menu_item_call label="Navegador de contenido web" name="Web Content Browser"/>
 			<menu_item_call label="Print Selected Object Info" name="Print Selected Object Info"/>
-			<menu_item_check label="Consola de depuración de región" name="Region Debug Console"/>
 			<menu_item_check label="Debug Clicks" name="Debug Clicks"/>
 			<menu_item_check label="Debug Mouse Events" name="Debug Mouse Events"/>
 		</menu>
diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml
index d4451ad2510f5dc6659f384e9e5254eb0f3fa873..ae421cdfd02c5c9038ee28c318aeea9861170910 100755
--- a/indra/newview/skins/default/xui/es/notifications.xml
+++ b/indra/newview/skins/default/xui/es/notifications.xml
@@ -114,15 +114,15 @@ Puedes consultar más información en el [[MARKETPLACE_IMPORTS_URL] registro de
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxImportFailed">
-		Error de transferencia
+		Error de la transferencia: &apos;[ERROR_CODE]&apos;
 
-No se han enviado carpetas al Mercado a causa de un error del sistema o de la red. Vuelve a intentarlo más tarde.
+No se han enviado carpetas al Mercado a causa de un error del sistema o de la red.  Vuelve a intentarlo más tarde.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxInitFailed">
-		Error al inicializar el mercado
+		Error de inicialización del Mercado: &apos;[ERROR_CODE]&apos;
 
-La inicialización del mercado ha fallado por un error del sistema o de la red. Vuelve a intentarlo más tarde.
+La inicialización del mercado ha fallado por un error del sistema o de la red.  Vuelve a intentarlo más tarde.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="CompileQueueSaveText">
@@ -1739,6 +1739,10 @@ excediendo el límite de [LIMIT].
 		¿Seguro que quieres teleportarte a &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
 		<usetemplate ignoretext="Confirmar que quiero teleportarme a un hito" name="okcancelignore" notext="Cancelar" yestext="Teleportar"/>
 	</notification>
+	<notification name="TeleportViaSLAPP">
+		¿Seguro que quieres teleportarte a &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
+		<usetemplate ignoretext="Confirmar el teleporte mediante SLAPP" name="okcancelignore" notext="Cancelar" yestext="Teleportarte"/>
+	</notification>
 	<notification name="TeleportToPick">
 		¿Teleportarte a [PICK]?
 		<usetemplate ignoretext="Confirmar el teleporte a una localización de los Destacados" name="okcancelignore" notext="Cancelar" yestext="Teleportar"/>
@@ -1949,6 +1953,9 @@ Se cambiarán miles de regiones, y se provocará un colapso en el espacio del se
 	<notification name="ProblemAddingEstateManager">
 		Hay problemas al añadir un administrador nuevo del estado. Uno o más estados deben de tener llena la lista de administradores.
 	</notification>
+	<notification name="ProblemAddingEstateBanManager">
+		No se puede añadir el administrador o propietario de un estado a la lista de expulsados.
+	</notification>
 	<notification name="ProblemAddingEstateGeneric">
 		Hay problemas al añadir a la lista del estado. Uno o más estados deben de tener llena la lista.
 	</notification>
@@ -3028,9 +3035,9 @@ Consulta los detalles en el archivo de registro.
 
 &lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
 
-Con los siguientes residentes:
+Con los siguientes Residentes:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
 	</notification>
 	<notification name="ShareFolderConfirmation">
@@ -3042,7 +3049,7 @@ Con los siguientes residentes:
 
 Con los siguientes Residentes:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTES]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Aceptar"/>
 	</notification>
 	<notification name="ItemsShared">
@@ -3495,10 +3502,6 @@ Prueba otra vez dentro de un minuto.
 	<notification name="EjectComingSoon">
 		Te han expulsado de aquí y tienes [EJECT_TIME] segundos para salir.
 	</notification>
-	<notification name="NoEnterServerFull">
-		No puedes entrar en esta región porque 
-el servidor está lleno.
-	</notification>
 	<notification name="SaveBackToInvDisabled">
 		Se ha deshabilitado Devolver el objeto a mi inventario.
 	</notification>
@@ -3688,6 +3691,9 @@ el servidor está lleno.
 	<notification name="LinkFailedTooMuchPhysics">
 		El objeto utiliza una cantidad excesiva de recursos de física; se ha desactivado su dinámica.
 	</notification>
+	<notification name="EstateManagerFailedllTeleportHome">
+		El objeto &apos;[OBJECT_NAME]&apos; de [SLURL] no puede teleportar a los administradores del estado a la base.
+	</notification>
 	<notification name="TeleportedHomeByObjectOnParcel">
 		Has sido teleportado al origen por el objeto &apos;[OBJECT_NAME]&apos; de la parcela &apos;[PARCEL_NAME]&apos;
 	</notification>
@@ -3878,13 +3884,18 @@ el servidor está lleno.
 		La selección no contiene suficientes parcelas alquiladas para unirlas.
 	</notification>
 	<notification name="CantDivideLandMultipleParcelsSelected">
-		No se puede dividir el terreno.\nHay varias parcelas seleccionadas.\nPrueba a seleccionar un terreno más pequeño.
+		No se puede dividir el terreno.
+Hay varias parcelas seleccionadas.
+Prueba a seleccionar un terreno más pequeño.
 	</notification>
 	<notification name="CantDivideLandCantFindParcel">
-		No se puede dividir el terreno.\nNo se encuentra la parcela.\nAvísanos con Ayuda -&gt; Notificar fallo...
+		No se puede dividir el terreno.
+No se encuentra la parcela.
+Notifícalo con Ayuda -&gt; Informar de un fallo...
 	</notification>
 	<notification name="CantDivideLandWholeParcelSelected">
-		No se puede dividir el terreno. Está seleccionada la parcela completa.\nPrueba a seleccionar un terreno más pequeño.
+		No se puede dividir el terreno. Esta seleccionada una parcela completa.
+Prueba a seleccionar un terreno más pequeño.
 	</notification>
 	<notification name="LandHasBeenDivided">
 		El terreno se ha dividido.
@@ -4024,4 +4035,8 @@ el servidor está lleno.
 		No se pueden mover los archivos. Ruta anterior restaurada.
 		<usetemplate ignoretext="No se pueden mover los archivos. Ruta anterior restaurada." name="okignore" yestext="OK"/>
 	</notification>
+	<notification name="ChatHistoryIsBusyAlert">
+		El archivo de historial de chat todavía está realizando la operación anterior. Repite la operación dentro de unos minutos o inicia un chat con otra persona.
+		<usetemplate name="okbutton" yestext="OK"/>
+	</notification>
 </notifications>
diff --git a/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml
index 09c4eec4d927d5ffe69395319e97915be2a733d4..18eaa834da8bafa5b7886e3145d701c34e4e9a24 100755
--- a/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
 		<layout_panel name="group_accordions">
 			<accordion name="groups_accordion">
 				<accordion_tab name="group_general_tab" title="General"/>
-				<accordion_tab name="group_roles_tab" title="Roles"/>
+				<accordion_tab name="group_roles_tab" title="Miembros y Roles"/>
 				<accordion_tab name="group_notices_tab" title="Avisos"/>
 				<accordion_tab name="group_land_tab" title="Terreno/Bienes"/>
 			</accordion>
diff --git a/indra/newview/skins/default/xui/es/panel_group_roles.xml b/indra/newview/skins/default/xui/es/panel_group_roles.xml
index 390b4e2e9d4fca6b2fa01c1fc7dd36f8413dd1ed..ced40cca4349d1801a596a9b42c45322ab0285ac 100755
--- a/indra/newview/skins/default/xui/es/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_roles.xml
@@ -20,6 +20,7 @@ Seleccione varios nombres manteniendo pulsada la tecla Ctrl y pulsando en cada u
 				<name_list.columns label="Miembro" name="name"/>
 				<name_list.columns label="Donaciones" name="donated"/>
 				<name_list.columns label="Estatus" name="online"/>
+				<name_list.columns label="Cargo" name="title"/>
 			</name_list>
 			<button label="Invitar" name="member_invite"/>
 			<button label="Expulsar" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/es/panel_region_debug.xml b/indra/newview/skins/default/xui/es/panel_region_debug.xml
index 71bdba1a25f8ff2d420e88004e6093bf6953a6d7..f6676967f56abac817dbec699712f2be4d5fb131 100755
--- a/indra/newview/skins/default/xui/es/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/es/panel_region_debug.xml
@@ -7,11 +7,8 @@
 		desconocida
 	</text>
 	<check_box label="Desactivar los scripts" name="disable_scripts_check" tool_tip="Descativar todos los scripts en esta región"/>
-	<button label="?" left="215" name="disable_scripts_help"/>
 	<check_box label="Desactivar las colisiones" name="disable_collisions_check" tool_tip="Desactiva las colisiones (no las de avatares) en esta región"/>
-	<button label="?" left="215" name="disable_collisions_help"/>
 	<check_box label="Desactivar las propiedades físicas" name="disable_physics_check" tool_tip="Desactiva toda la física en esta región"/>
-	<button label="?" left="215" name="disable_physics_help"/>
 	<button label="Aplicar" name="apply_btn"/>
 	<text name="objret_text_lbl" width="130">
 		Devolver el objeto
@@ -31,10 +28,8 @@
 	<check_box label="En cada región de este estado" name="return_estate_wide" tool_tip="Devolver los objetos de todas las regiones que forman este estado"/>
 	<button label="Devolver" name="return_btn"/>
 	<button label="Listar los objetos que colisionan..." name="top_colliders_btn" tool_tip="Lista de los objetos con más posibles colisiones potenciales" width="280"/>
-	<button label="?" left="297" name="top_colliders_help"/>
-	<button label="Listar los scripts según su uso..." name="top_scripts_btn" tool_tip="Lista de los objetos que más tiempo emplean ejecutando scripts" width="280"/>
-	<button label="?" left="297" name="top_scripts_help"/>
 	<button label="Reiniciar la región" name="restart_btn" tool_tip="Cuenta atrás de 2 minutos y reiniciar la región"/>
-	<button label="?" name="restart_help"/>
+	<button label="Listar los scripts según su uso..." name="top_scripts_btn" tool_tip="Lista de los objetos que más tiempo emplean ejecutando scripts" width="280"/>
 	<button label="Cancelar reinicio" name="cancel_restart_btn" tool_tip="Cancelar el reinicio de región"/>
+	<button label="Consola de depuración de región" name="region_debug_console_btn" tool_tip="Abrir consola de depuración de región"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/es/panel_region_general.xml b/indra/newview/skins/default/xui/es/panel_region_general.xml
index 453d1fe43c8fe44a047b4a54098629259848e674..82149e1c7c3a66c16be159262be0061ccd18da34 100755
--- a/indra/newview/skins/default/xui/es/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/es/panel_region_general.xml
@@ -20,12 +20,12 @@
 	</text>
 	<check_box label="No permitir modificar el terreno" name="block_terraform_check"/>
 	<check_box label="Prohibir volar" name="block_fly_check"/>
+	<check_box label="Bloquear el vuelo sobre parcelas" name="block_fly_over_check" tool_tip="Extender las comprobaciones de acceso en vertical para impedir el vuelo sobre una parcela"/>
 	<check_box label="Permitir el daño" name="allow_damage_check"/>
 	<check_box label="Impedir los &apos;empujones&apos;" name="restrict_pushobject"/>
 	<check_box label="Permitir la reventa del terreno" name="allow_land_resell_check"/>
 	<check_box label="Permitir unir/dividir el terreno" name="allow_parcel_changes_check"/>
 	<check_box label="Bloquear el mostrar el terreno en la búsqueda" name="block_parcel_search_check" tool_tip="Permitir que la gente vea esta región y sus parcelas en los resultados de la búsqueda."/>
-	<check_box label="Permitir objetos de red" name="mesh_rez_enabled_check" tool_tip="Permitir que los usuarios creen objetos de red en esta región"/>
 	<spinner label="Nº máximo de avatares" label_width="120" name="agent_limit_spin" width="180"/>
 	<spinner label="Plus de objetos" label_width="120" name="object_bonus_spin" width="180"/>
 	<text label="Calificación" name="access_text">
diff --git a/indra/newview/skins/default/xui/es/sidepanel_inventory.xml b/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
index 9ce14c856f3b27ffafd1a98426aa967f395a4984..1e25a4a4a26a07906f49a7e63a11f2fcc2d56dc7 100755
--- a/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
@@ -14,7 +14,7 @@
 					<text name="inbox_fresh_new_count">
 						[NUM] nuevos
 					</text>
-					<panel tool_tip="Drag and drop items to your inventory to manage and use them">
+					<panel name="inbox_inventory_placeholder_panel" tool_tip="Arrastra y coloca los artículos en tu inventario para poder utilizarlos">
 						<text name="inbox_inventory_placeholder">
 							Aquí se entregarán las compras realizadas en el mercado.
 						</text>
@@ -33,8 +33,8 @@
 				<layout_panel name="shop_btn_lp">
 					<button label="Comprar" name="shop_btn" tool_tip="Abrir la página web del mercado"/>
 					<button label="Ponerme" name="wear_btn" tool_tip="Ponerme el vestuario seleccionado"/>
-					<button label="Play" name="play_btn"/>
-					<button label="Teleporte" name="teleport_btn" tool_tip="Teleportar a la zona elegida"/>
+					<button label="Jugar" name="play_btn"/>
+					<button label="Teleportarte" name="teleport_btn" tool_tip="Teleportar a la zona elegida"/>
 				</layout_panel>
 			</layout_stack>
 		</panel>
diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml
index 2b91c542adae2d34d6fb0c5bf0a1895a05569040..544a70028b5dba25496d55aee0a374fc7dcf4196 100755
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -28,6 +28,45 @@
 	<string name="StartupRequireDriverUpdate">
 		Error de inicialización de gráficos. Actualiza tu controlador de gráficos.
 	</string>
+	<string name="AboutHeader">
+		[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+	</string>
+	<string name="AboutCompiler">
+		Compilado con [COMPILER], versión [COMPILER_VERSION]
+	</string>
+	<string name="AboutPosition">
+		Estás en la posición [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1], de [REGION], alojada en &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(coordenadas globales [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+	</string>
+	<string name="AboutSystem">
+		CPU: [CPU]
+Memoria: [MEMORY_MB] MB
+Versión del Sistema Operativo: [OS_VERSION]
+Fabricante de la tarjeta gráfica: [GRAPHICS_CARD_VENDOR]
+Tarjeta gráfica: [GRAPHICS_CARD]
+	</string>
+	<string name="AboutDriver">
+		Versión de Windows Graphics Driver: [GRAPHICS_DRIVER_VERSION]
+	</string>
+	<string name="AboutLibs">
+		Versión de OpenGL: [OPENGL_VERSION]
+
+Versión de libcurl: [LIBCURL_VERSION]
+Versión de J2C Decoder: [J2C_VERSION]
+Versión de Audio Driver: [AUDIO_DRIVER_VERSION]
+Versión de Qt Webkit: [QT_WEBKIT_VERSION]
+Versión del servidor de voz: [VOICE_VERSION]
+	</string>
+	<string name="AboutTraffic">
+		Paquetes perdidos: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+	</string>
+	<string name="ErrorFetchingServerReleaseNotesURL">
+		Error al obtener la URL de las notas de la versión del servidor.
+	</string>
 	<string name="ProgressRestoring">
 		Restaurando...
 	</string>
@@ -922,12 +961,12 @@ Intenta iniciar sesión de nuevo en unos instantes.
 	<string name="ControlYourCamera">
 		Controlar su cámara
 	</string>
-	<string name="AgentNameSubst">
-		(Tú)
-	</string>
 	<string name="TeleportYourAgent">
 		Teleportarte
 	</string>
+	<string name="AgentNameSubst">
+		(Tú)
+	</string>
 	<string name="JoinAnExperience">
 		Únete a una experiencia
 	</string>
@@ -1252,8 +1291,7 @@ Intenta iniciar sesión de nuevo en unos instantes.
 	<string name="InventoryInboxNoItems">
 		Aquí aparecerán algunos de los objetos que recibas, como los regalos Premium. Después puedes arrastrarlos a tu inventario.
 	</string>
-  <string name="Unconstrained">Sin restricciones</string>
-  <string name="MarketplaceURL">
+	<string name="MarketplaceURL">
 		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
 	</string>
 	<string name="MarketplaceURL_CreateStore">
@@ -1282,6 +1320,18 @@ Intenta iniciar sesión de nuevo en unos instantes.
 	<string name="InventoryOutboxNoItems">
 		Arrastra carpetas a esta sección y pulsa en &quot;Enviar al Mercado&quot; para incluirlas en la lista de venta del [[MARKETPLACE_DASHBOARD_URL] Mercado].
 	</string>
+	<string name="InventoryOutboxInitializingTitle">
+		Inicializando el Mercado.
+	</string>
+	<string name="InventoryOutboxInitializing">
+		Estamos accediendo a tu cuenta de la [[MARKETPLACE_CREATE_STORE_URL] tienda del Mercado].
+	</string>
+	<string name="InventoryOutboxErrorTitle">
+		Errores del Mercado.
+	</string>
+	<string name="InventoryOutboxError">
+		La [[MARKETPLACE_CREATE_STORE_URL] tienda del Mercado] devuelve errores.
+	</string>
 	<string name="Marketplace Error None">
 		Sin errores
 	</string>
@@ -1309,6 +1359,9 @@ Intenta iniciar sesión de nuevo en unos instantes.
 	<string name="Open landmarks">
 		Abrir hitos
 	</string>
+	<string name="Unconstrained">
+		Sin restricciones
+	</string>
 	<string name="no_transfer" value="(no transferible)"/>
 	<string name="no_modify" value="(no modificable)"/>
 	<string name="no_copy" value="(no copiable)"/>
@@ -1703,6 +1756,9 @@ Intenta iniciar sesión de nuevo en unos instantes.
 	<string name="CompileQueueDownloadedCompiling">
 		Descargado, compilándolo
 	</string>
+	<string name="CompileQueueServiceUnavailable">
+		El servicio de compilación de scripts no está disponible
+	</string>
 	<string name="CompileQueueScriptNotFound">
 		No se encuentra el script en el servidor.
 	</string>
diff --git a/indra/newview/skins/default/xui/fr/floater_lagmeter.xml b/indra/newview/skins/default/xui/fr/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..39a861d8bd2b5b175d98426efacc4d2512c9f5f8
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="MESURE DU LAG">
+	<floater.string name="max_title_msg">
+		Mesure du lag
+	</floater.string>
+	<floater.string name="max_width_px">
+		360
+	</floater.string>
+	<floater.string name="min_title_msg">
+		Lag
+	</floater.string>
+	<floater.string name="min_width_px">
+		90
+	</floater.string>
+	<floater.string name="client_text_msg">
+		Client
+	</floater.string>
+	<floater.string name="client_frame_rate_critical_fps">
+		10
+	</floater.string>
+	<floater.string name="client_frame_rate_warning_fps">
+		15
+	</floater.string>
+	<floater.string name="client_frame_time_window_bg_msg">
+		Normal, fenêtre en arrière-plan
+	</floater.string>
+	<floater.string name="client_frame_time_critical_msg">
+		Taux de défilement [CLIENT_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="client_frame_time_warning_msg">
+		Taux de défilement entre [CLIENT_FRAME_RATE_CRITICAL] et [CLIENT_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="client_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="client_draw_distance_cause_msg">
+		Cause possible : limite d&apos;affichage trop élevée
+	</floater.string>
+	<floater.string name="client_texture_loading_cause_msg">
+		Cause possible : images en cours de chargement
+	</floater.string>
+	<floater.string name="client_texture_memory_cause_msg">
+		Cause possible : trop d&apos;images en mémoire
+	</floater.string>
+	<floater.string name="client_complex_objects_cause_msg">
+		Cause possible : trop d&apos;objets complexes
+	</floater.string>
+	<floater.string name="network_text_msg">
+		Réseau
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_pct">
+		10
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_pct">
+		5
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_msg">
+		La connexion perd plus de [NETWORK_PACKET_LOSS_CRITICAL] % de paquets
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_msg">
+		La connexion perd entre [NETWORK_PACKET_LOSS_WARNING] % et [NETWORK_PACKET_LOSS_CRITICAL] % de paquets
+	</floater.string>
+	<floater.string name="network_performance_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="network_ping_critical_ms">
+		600
+	</floater.string>
+	<floater.string name="network_ping_warning_ms">
+		300
+	</floater.string>
+	<floater.string name="network_ping_critical_msg">
+		Connexion ping > [NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_ping_warning_msg">
+		Connexion ping entre [NETWORK_PING_WARNING] et [NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_packet_loss_cause_msg">
+		Mauvaise connexion possible ou réglage de la bande passante trop élevé.
+	</floater.string>
+	<floater.string name="network_ping_cause_msg">
+		Mauvaise connexion possible ou app. de partage des fichiers
+	</floater.string>
+	<floater.string name="server_text_msg">
+		Serveur
+	</floater.string>
+	<floater.string name="server_frame_rate_critical_fps">
+		20
+	</floater.string>
+	<floater.string name="server_frame_rate_warning_fps">
+		30
+	</floater.string>
+	<floater.string name="server_single_process_max_time_ms">
+		20
+	</floater.string>
+	<floater.string name="server_frame_time_critical_msg">
+		Défilement du simulateur &lt; [SERVER_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="server_frame_time_warning_msg">
+		Défilement simulateur entre [SERVER_FRAME_RATE_CRITICAL] et [SERVER_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="server_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="server_physics_cause_msg">
+		Cause possible : trop d&apos;objets physiques
+	</floater.string>
+	<floater.string name="server_scripts_cause_msg">
+		Cause possible : trop d&apos;objets scriptés
+	</floater.string>
+	<floater.string name="server_net_cause_msg">
+		Cause possible : trop de trafic réseau
+	</floater.string>
+	<floater.string name="server_agent_cause_msg">
+		Cause possible : trop de personnes en mouvement
+	</floater.string>
+	<floater.string name="server_images_cause_msg">
+		Cause possible : trop de calculs d&apos;images
+	</floater.string>
+	<floater.string name="server_generic_cause_msg">
+		Cause possible : charge simulateur trop lourde
+	</floater.string>
+	<floater.string name="smaller_label">
+		&gt;&gt;
+	</floater.string>
+	<floater.string name="bigger_label">
+		&lt;&lt;
+	</floater.string>
+	<button name="client_lagmeter" tool_tip="Statut du lag client"/>
+	<text name="client">
+		Client
+	</text>
+	<text name="client_text">
+		Normal
+	</text>
+	<button name="network_lagmeter" tool_tip="Statut du lag réseau"/>
+	<text name="network">
+		Réseau
+	</text>
+	<text name="network_text">
+		Normal
+	</text>
+	<button name="server_lagmeter" tool_tip="Statut du lag serveur"/>
+	<text name="server">
+		Serveur
+	</text>
+	<text name="server_text">
+		Normal
+	</text>
+	<button label="&gt;&gt;" name="minimize" tool_tip="Activer/désactiver la taille du floater"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_region_restarting.xml b/indra/newview/skins/default/xui/fr/floater_region_restarting.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a56a83c22eace4800dd5564f700ccd0ff5d1d40
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="REDÉMARRAGE DE LA RÉGION">
+	<string name="RegionName">
+		La région dans laquelle vous vous trouvez actuellement ([NAME]) est sur le point de redémarrer.
+
+Si vous restez dans cette région, vous serez déconnecté(e).
+	</string>
+	<string name="RestartSeconds">
+		Secondes avant le redémarrage
+[SECONDS]
+	</string>
+	<panel name="layout_panel_1">
+		<text name="region_name">
+			La région dans laquelle vous vous trouvez actuellement (-le nom de région le plus long-) est sur le point de redémarrer.
+
+Si vous restez dans cette région, vous serez déconnecté(e).
+		</text>
+		<text name="restart_seconds">
+			Secondes avant le redémarrage
+     32767
+		</text>
+	</panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/fr/floater_scene_load_stats.xml
new file mode 100644
index 0000000000000000000000000000000000000000..62830054bf18d19a209c615f4be12bb9bbf78b24
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="STATISTIQUES DE CHARGEMENT DE SCÈNE">
+	<button label="Pauser" name="playpause"/>
+	<scroll_container name="statistics_scroll">
+		<container_view name="statistics_view">
+			<stat_view label="Basique" name="basic">
+				<stat_bar label="Différence en pixels entre les images" name="frame difference"/>
+				<stat_bar label="Données UDP reçues" name="bandwidth"/>
+				<stat_bar label="Perte de paquets" name="packet_loss"/>
+			</stat_view>
+			<stat_view label="Avancé" name="advanced">
+				<stat_view label="Rendu" name="render">
+					<stat_bar label="Total des objets" name="objs"/>
+					<stat_bar label="Nouveaux objets" name="newobjs"/>
+					<stat_bar label="Taux de réussite du cache des objets" name="object_cache_hits"/>
+				</stat_view>
+				<stat_view label="Texture" name="texture">
+					<stat_bar label="Taux de réussite du cache" name="texture_cache_hits"/>
+					<stat_bar label="Latence de lecture du cache" name="texture_cache_read_latency"/>
+					<stat_bar label="Nombre" name="numimagesstat"/>
+					<stat_bar label="Nombre brut" name="numrawimagesstat"/>
+				</stat_view>
+				<stat_view label="Réseau" name="network">
+					<stat_bar label="Paquets en entrée" name="packetsinstat"/>
+					<stat_bar label="Paquets en sortie" name="packetsoutstat"/>
+					<stat_bar label="Objets" name="objectdatareceived"/>
+					<stat_bar label="Texture" name="texturedatareceived"/>
+					<stat_bar label="Actif" name="assetudpdatareceived"/>
+					<stat_bar label="Couches" name="layersdatareceived"/>
+					<stat_bar label="Arrivés" name="messagedatain"/>
+					<stat_bar label="Sortis" name="messagedataout"/>
+					<stat_bar label="Opérations VFS en attente" name="vfspendingoperations"/>
+				</stat_view>
+			</stat_view>
+			<stat_view label="Simulateur" name="sim">
+				<stat_bar label="Objets" name="simobjects"/>
+				<stat_bar label="Objets actifs" name="simactiveobjects"/>
+				<stat_bar label="Scripts actifs" name="simactivescripts"/>
+				<stat_bar label="Paquets en entrée" name="siminpps"/>
+				<stat_bar label="Paquets en sortie" name="simoutpps"/>
+				<stat_bar label="Téléchargements en attente" name="simpendingdownloads"/>
+				<stat_bar label="Chargements en attente" name="simpendinguploads"/>
+				<stat_bar label="Total d&apos;octets non reconnus" name="simtotalunackedbytes"/>
+				<stat_view label="Temps (ms)" name="simperf">
+					<stat_bar label="Durée totale de l&apos;image" name="simframemsec"/>
+					<stat_bar label="Durée nette" name="simnetmsec"/>
+					<stat_bar label="Durée physique" name="simsimphysicsmsec"/>
+					<stat_bar label="Durée de la simulation" name="simsimothermsec"/>
+					<stat_bar label="Durée des avatars" name="simagentmsec"/>
+					<stat_bar label="Durée des images" name="simimagesmsec"/>
+					<stat_bar label="Durée des scripts" name="simscriptmsec"/>
+					<stat_bar label="Temps d&apos;inactivité" name="simsparemsec"/>
+					<stat_view label="Détails de la durée (ms)" name="timedetails">
+						<stat_bar label="Étape propr. physiques" name="simsimphysicsstepmsec"/>
+						<stat_bar label="Mettre à jour les formes phys" name="simsimphysicsshapeupdatemsec"/>
+						<stat_bar label="Propriétés physiques Autre" name="simsimphysicsothermsec"/>
+						<stat_bar label="Temps de sommeil" name="simsleepmsec"/>
+						<stat_bar label="ES pompe" name="simpumpiomsec"/>
+					</stat_view>
+				</stat_view>
+			</stat_view>
+		</container_view>
+	</scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_stats.xml b/indra/newview/skins/default/xui/fr/floater_stats.xml
index d6bd1879565081a643ff57dd371e03e70f8e1ff6..5cad6258ec1a4613e59665f8858de355c400b33b 100755
--- a/indra/newview/skins/default/xui/fr/floater_stats.xml
+++ b/indra/newview/skins/default/xui/fr/floater_stats.xml
@@ -4,7 +4,7 @@
 		<container_view name="statistics_view">
 			<stat_view label="De base" name="basic">
 				<stat_bar label="FPS" name="fps"/>
-				<stat_bar label="Bande passante" name="bandwidth"/>
+				<stat_bar label="Données UDP reçues" name="bandwidth"/>
 				<stat_bar label="Perte de paquets" name="packet_loss"/>
 				<stat_bar label="Ping sim" name="ping"/>
 			</stat_view>
@@ -15,6 +15,9 @@
 					<stat_bar label="Objets totaux" name="objs"/>
 					<stat_bar label="Nouveaux objets" name="newobjs"/>
 					<stat_bar label="Taux de réussite du cache des objets" name="object_cache_hits"/>
+					<stat_bar label="Requêtes d&apos;occlusion effectuées" name="occlusion_queries"/>
+					<stat_bar label="Objets occlus" name="occluded"/>
+					<stat_bar label="Objets non occlus" name="unoccluded"/>
 				</stat_view>
 				<stat_view label="Texture" name="texture">
 					<stat_bar label="Taux de réussite du cache" name="texture_cache_hits"/>
@@ -26,15 +29,32 @@
 					<stat_bar label="Mém brute" name="rawmemstat"/>
 					<stat_bar label="Mém liée" name="glboundmemstat"/>
 				</stat_view>
+				<stat_view label="Utilisation de la mémoire" name="memory">
+					<stat_bar label="LLTrace" name="LLTrace"/>
+					<stat_bar label="Interface" name="LLView"/>
+					<stat_bar label="Polices" name="LLFontFreetype"/>
+					<stat_bar label="Inventaire" name="LLInventoryObject"/>
+					<stat_bar label="Objets du client" name="LLViewerObject"/>
+					<stat_bar label="Données de groupe Octree" name="LLViewerOctreeGroup"/>
+					<stat_bar label="Données Octree" name="LLViewerOctreeEntry"/>
+					<stat_bar label="Cache des objets du client" name="LLVOCacheEntry"/>
+					<stat_bar label="Dessinables" name="LLDrawable"/>
+					<stat_bar label="Données de visage" name="LLFace"/>
+					<stat_bar label="Informations de tracé" name="LLDrawInfo"/>
+					<stat_bar label="Données de texture" name="LLTexture"/>
+					<stat_bar label="Données d&apos;image" name="LLImage"/>
+					<stat_bar label="Données d&apos;image GL" name="LLImageGL"/>
+					<stat_bar label="Tampon des sommets" name="LLVertexBuffer"/>
+				</stat_view>
 				<stat_view label="Réseau" name="network">
 					<stat_bar label="Paquets en entrée" name="packetsinstat"/>
 					<stat_bar label="Paquets en sortie" name="packetsoutstat"/>
-					<stat_bar label="Objets" name="objectkbitstat"/>
-					<stat_bar label="Texture" name="texturekbitstat"/>
-					<stat_bar label="Actif" name="assetkbitstat"/>
-					<stat_bar label="Couches" name="layerskbitstat"/>
-					<stat_bar label="Arrivés" name="actualinkbitstat"/>
-					<stat_bar label="Sortis" name="actualoutkbitstat"/>
+					<stat_bar label="Objets" name="objectdatareceived"/>
+					<stat_bar label="Texture" name="texturedatareceived"/>
+					<stat_bar label="Actif" name="assetudpdatareceived"/>
+					<stat_bar label="Couches" name="layersdatareceived"/>
+					<stat_bar label="Arrivés" name="messagedatain"/>
+					<stat_bar label="Sortis" name="messagedataout"/>
 					<stat_bar label="Opérations VFS en attente" name="vfspendingoperations"/>
 				</stat_view>
 			</stat_view>
@@ -64,8 +84,8 @@
 				<stat_bar label="Paquets en sortie" name="simoutpps"/>
 				<stat_bar label="Téléchargements en attente" name="simpendingdownloads"/>
 				<stat_bar label="Chargements en attente" name="simpendinguploads"/>
-				<stat_bar label="Total Unacked Bytes" name="simtotalunackedbytes"/>
-				<stat_view label="Temps (ms)" name="simperf">
+				<stat_bar label="Total de données non reconnues" name="simtotalunackedbytes"/>
+				<stat_view label="Durée" name="simperf">
 					<stat_bar label="Durée totale de l&apos;image" name="simframemsec"/>
 					<stat_bar label="Durée nette" name="simnetmsec"/>
 					<stat_bar label="Durée sim (physique)" name="simsimphysicsmsec"/>
@@ -74,7 +94,7 @@
 					<stat_bar label="Durée des images" name="simimagesmsec"/>
 					<stat_bar label="Durée des scripts" name="simscriptmsec"/>
 					<stat_bar label="Temps d&apos;inactivité" name="simsparemsec"/>
-					<stat_view label="Détails Temps (ms)" name="timedetails">
+					<stat_view label="Détails de la durée" name="timedetails">
 						<stat_bar label="Etape propr. physiques" name="simsimphysicsstepmsec"/>
 						<stat_bar label="Mettre à jour les formes phys" name="simsimphysicsshapeupdatemsec"/>
 						<stat_bar label="Propriétés physiques Autre" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml b/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml
index 3bac25c79b82ef8770a29c044369f800f457beee..072ac0a6aefb1e1b7b2529e89c99e51b19a6d64c 100755
--- a/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
 <menu name="Avatar Icon Menu">
 	<menu_item_call label="Voir le profil" name="Show Profile"/>
 	<menu_item_call label="Envoyer IM..." name="Send IM"/>
+	<menu_item_call label="Demander téléportation" name="Request Teleport"/>
 	<menu_item_call label="Devenir amis..." name="Add Friend"/>
 	<menu_item_call label="Supprimer cet ami..." name="Remove Friend"/>
 </menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_inventory.xml b/indra/newview/skins/default/xui/fr/menu_inventory.xml
index 627d3068c3d5e224631f61e60e6e3ad20840de72..87b11bdaa5747bf3d89ddb189c266cb11d9b2e22 100755
--- a/indra/newview/skins/default/xui/fr/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/menu_inventory.xml
@@ -70,6 +70,7 @@
 	<menu_item_call label="Jouer" name="Sound Play"/>
 	<menu_item_call label="Copier la SLurl" name="url_copy"/>
 	<menu_item_call label="À propos du repère" name="About Landmark"/>
+	<menu_item_call label="Voir sur la carte" name="show_on_map"/>
 	<menu_item_call label="Jouer dans Second Life" name="Animation Play"/>
 	<menu_item_call label="Jouer localement" name="Animation Audition"/>
 	<menu_item_call label="Envoyer un message instantané" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_login.xml b/indra/newview/skins/default/xui/fr/menu_login.xml
index 7b1e106474f16bb259c74ec6dc9bd1a78b472f37..5e9969627dd3eaf2a69bc55d0c6a2bb293686b63 100755
--- a/indra/newview/skins/default/xui/fr/menu_login.xml
+++ b/indra/newview/skins/default/xui/fr/menu_login.xml
@@ -5,7 +5,15 @@
 		<menu_item_call label="Quitter [APP_NAME]" name="Quit"/>
 	</menu>
 	<menu label="Aide" name="Help">
-		<menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/>
+		<menu_item_call label="Aide rapide..." name="How To"/>
+		<menu_item_call label="Démarrage rapide" name="Quickstart"/>
+		<menu_item_call label="Base de connaissances" name="Knowledge Base"/>
+		<menu_item_call label="Wiki" name="Wiki"/>
+		<menu_item_call label="Forums de la communauté" name="Community Forums"/>
+		<menu_item_call label="Portail d&apos;assistance" name="Support portal"/>
+		<menu_item_call label="Actualités [SECOND_LIFE]" name="Second Life News"/>
+		<menu_item_call label="Blogs [SECOND_LIFE]" name="Second Life Blogs"/>
+		<menu_item_call label="Signaler un bug" name="Report Bug"/>
 		<menu_item_call label="À propos de [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu_item_check label="Afficher le menu de débogage" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml
index fb4582dbce327c2d7bce04ff325cbcaf3deabe84..ba8ed9b3f8410146271f2c7b8c9c6bc118004995 100755
--- a/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
 <context_menu name="Teleport History Item Context Menu">
 	<menu_item_call label="Téléporter" name="Teleport"/>
 	<menu_item_call label="Plus d&apos;informations" name="More Information"/>
-	<menu_item_call label="Copier dans le presse-papiers" name="CopyToClipboard"/>
+	<menu_item_call label="Copier la SLurl" name="CopyToClipboard"/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml
index 5d0026ace00e867dee4ef97308d45362696e95cf..4ff834420e1876916bc0e13752429ab0fa313254 100755
--- a/indra/newview/skins/default/xui/fr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml
@@ -72,11 +72,11 @@
 			<menu_item_check label="Menu Avancé" name="Show Advanced Menu"/>
 		</menu>
 		<menu label="Luminosité" name="Sun">
-			<menu_item_call label="Aube" name="Sunrise"/>
-			<menu_item_call label="Milieu de journée" name="Noon"/>
-			<menu_item_call label="Coucher de soleil" name="Sunset"/>
-			<menu_item_call label="Minuit" name="Midnight"/>
-			<menu_item_call label="Utiliser les réglages de la région" name="Use Region Settings"/>
+			<menu_item_check label="Aube" name="Sunrise"/>
+			<menu_item_check label="Milieu de journée" name="Noon"/>
+			<menu_item_check label="Coucher de soleil" name="Sunset"/>
+			<menu_item_check label="Minuit" name="Midnight"/>
+			<menu_item_check label="Utiliser les réglages de la région" name="Use Region Settings"/>
 		</menu>
 		<menu label="Éditeur d&apos;environnement" name="Environment Editor">
 			<menu_item_call label="Paramètres d&apos;environnement..." name="Environment Settings"/>
@@ -165,8 +165,6 @@
 	</menu>
 	<menu label="Aide" name="Help">
 		<menu_item_call label="Aide rapide..." name="How To"/>
-		<menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/>
-		<menu_item_call label="Guide de l&apos;utilisateur" name="User’s guide"/>
 		<menu_item_call label="Base de connaissances" name="Knowledge Base"/>
 		<menu_item_call label="Wiki" name="Wiki"/>
 		<menu_item_call label="Forums de la communauté" name="Community Forums"/>
@@ -188,6 +186,7 @@
 		<menu label="Outils de performance" name="Performance Tools">
 			<menu_item_call label="Mesure du lag" name="Lag Meter"/>
 			<menu_item_check label="Barre de statistiques" name="Statistics Bar"/>
+			<menu_item_call label="Statistiques de chargement de scène" name="Scene Load Statistics"/>
 			<menu_item_check label="Afficher le poids de dessin pour les avatars" name="Avatar Rendering Cost"/>
 		</menu>
 		<menu label="Surbrillance et visibilité" name="Highlighting and Visibility">
@@ -250,6 +249,7 @@
 			<menu_item_check label="Chronos" name="Fast Timers"/>
 			<menu_item_check label="Mémoire" name="Memory"/>
 			<menu_item_check label="Statistiques de la scène" name="Scene Statistics"/>
+			<menu_item_check label="Moniteur de chargement de scène" name="Scene Loading Monitor"/>
 			<menu_item_call label="Console de débogage de la récupération des textures" name="Texture Fetch Debug Console"/>
 			<menu_item_call label="Infos de région vers la console de débogage" name="Region Info to Debug Console"/>
 			<menu_item_call label="Infos de groupe vers la console de débogage" name="Group Info to Debug Console"/>
@@ -286,6 +286,7 @@
 			<menu_item_check label="Cadre lent périodique" name="Periodic Slow Frame"/>
 			<menu_item_check label="Test cadre" name="Frame Test"/>
 			<menu_item_call label="Profil du cadre" name="Frame Profile"/>
+			<menu_item_call label="Référence" name="Benchmark"/>
 		</menu>
 		<menu label="Métadonnées de rendu" name="Render Metadata">
 			<menu_item_check label="Cadres" name="Bounding Boxes"/>
@@ -304,6 +305,7 @@
 			<menu_item_check label="File d&apos;attente pour la construction" name="Build Queue"/>
 			<menu_item_check label="Lumières" name="Lights"/>
 			<menu_item_check label="Squelette de collision" name="Collision Skeleton"/>
+			<menu_item_check label="Articulations" name="Joints"/>
 			<menu_item_check label="Rayons" name="Raycast"/>
 			<menu_item_check label="Vecteurs de vent" name="Wind Vectors"/>
 			<menu_item_check label="Complexité du rendu" name="rendercomplexity"/>
@@ -336,6 +338,7 @@
 			<menu_item_check label="Rendu des lumières jointes" name="Render Attached Lights"/>
 			<menu_item_check label="Rendu des particules jointes" name="Render Attached Particles"/>
 			<menu_item_check label="Objets en surbrillance avec le pointeur" name="Hover Glow Objects"/>
+			<menu_item_call label="Vider le cache immédiatement" name="Cache Clear"/>
 		</menu>
 		<menu label="Réseau" name="Network">
 			<menu_item_check label="Pauser l&apos;avatar" name="AgentPause"/>
@@ -368,7 +371,6 @@
 			<menu_item_call label="Dump Focus Holder" name="Dump Focus Holder"/>
 			<menu_item_call label="Imprimer les infos sur l&apos;objet sélectionné" name="Print Selected Object Info"/>
 			<menu_item_call label="Imprimer les infos sur l&apos;avatar" name="Print Agent Info"/>
-			<menu_item_check label="Console de débogage de région" name="Region Debug Console"/>
 			<menu_item_check label="Débogage SelectMgr" name="Debug SelectMgr"/>
 			<menu_item_check label="Débogage clics" name="Debug Clicks"/>
 			<menu_item_check label="Débogage des vues" name="Debug Views"/>
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index c295a6f5a7edbeda5f0ed9a00940049474a969a7..af46d34b614cec8f4d4d9c7c2fbbc6ca420e2646 100755
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -114,15 +114,15 @@ Pour plus d&apos;informations, consultez le [[MARKETPLACE_IMPORTS_URL] journal d
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxImportFailed">
-		Échec de transfert
+		Échec du transfert avec l&apos;erreur « [ERROR_CODE] »
 
-Aucun dossier n&apos;a été envoyé vers la Place du marché en raison d&apos;une erreur système ou réseau. Veuillez réessayer ultérieurement.
+Aucun dossier n&apos;a été envoyé vers la Place du marché en raison d&apos;une erreur système ou réseau.  Réessayez ultérieurement.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxInitFailed">
-		Échec d&apos;initialisation de la Place du marché
+		Échec de l&apos;initialisation de la Place du marché avec l&apos;erreur « [ERROR_CODE] »
 
-L&apos;initialisation de la Place du marché a échoué en raison d&apos;une erreur système ou réseau. Veuillez réessayer ultérieurement.
+L&apos;initialisation de la Place du marché a échoué en raison d&apos;une erreur système ou réseau.  Réessayez ultérieurement.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="CompileQueueSaveText">
@@ -1729,6 +1729,10 @@ or ce nombre dépasse la limite autorisée fixée à [LIMIT].
 		Souhaitez-vous vraiment vous téléporter vers &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; ?
 		<usetemplate ignoretext="Confirmer que je veux me téléporter à un repère" name="okcancelignore" notext="Annuler" yestext="Téléporter"/>
 	</notification>
+	<notification name="TeleportViaSLAPP">
+		Voulez-vous vraiment vous téléporter jusqu&apos;à &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; ?
+		<usetemplate ignoretext="Confirmer que je veux me téléporter en utilisant SLAPP" name="okcancelignore" notext="Annuler" yestext="Téléporter"/>
+	</notification>
 	<notification name="TeleportToPick">
 		Vous téléporter vers [PICK] ?
 		<usetemplate ignoretext="Confirmer que je veux me téléporter à un endroit dans mes Favoris" name="okcancelignore" notext="Annuler" yestext="Téléporter"/>
@@ -1939,6 +1943,9 @@ Cette action modifiera des milliers de régions et sera difficile à digérer po
 	<notification name="ProblemAddingEstateManager">
 		Problèmes lors de l&apos;ajout d&apos;un nouveau gérant de domaine. Il est possible qu&apos;au moins un des domaines ait une liste de gérants complète.
 	</notification>
+	<notification name="ProblemAddingEstateBanManager">
+		Impossible d&apos;ajouter le propriétaire ou le gérant du domaine à la liste des résidents bannis.
+	</notification>
 	<notification name="ProblemAddingEstateGeneric">
 		Problème lors de l&apos;ajout à la liste de ce domaine. Il est possible qu&apos;au moins un des domaines ait une liste complète.
 	</notification>
@@ -3029,7 +3036,7 @@ Voir le fichier journal pour plus de détails.
 
 avec les résidents suivants :
 
-[RESIDENTS] ?
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
 	</notification>
 	<notification name="ShareFolderConfirmation">
@@ -3041,7 +3048,7 @@ Voulez-vous vraiment partager les articles suivants :
 
 avec les résidents suivants :
 
-[RESIDENTS] ?
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Annuler" yestext="Ok"/>
 	</notification>
 	<notification name="ItemsShared">
@@ -3496,10 +3503,6 @@ Veuillez réessayer dans une minute.
 	<notification name="EjectComingSoon">
 		Votre présence ici n&apos;est plus autorisée et vous disposez de [EJECT_TIME] secondes pour partir.
 	</notification>
-	<notification name="NoEnterServerFull">
-		Vous ne pouvez pas pénétrer dans cette région car 
-le serveur est plein.
-	</notification>
 	<notification name="SaveBackToInvDisabled">
 		Le réenregistrement dans l&apos;inventaire a été désactivé.
 	</notification>
@@ -3689,6 +3692,9 @@ le serveur est plein.
 	<notification name="LinkFailedTooMuchPhysics">
 		Cet objet utilise trop de ressources physiques - sa dynamique a été désactivée.
 	</notification>
+	<notification name="EstateManagerFailedllTeleportHome">
+		L&apos;objet « [OBJECT_NAME] » à [SLURL] ne peut pas téléporter les gérants de domaines chez eux.
+	</notification>
 	<notification name="TeleportedHomeByObjectOnParcel">
 		Vous avez été téléporté chez vous par l&apos;objet [OBJECT_NAME] sur la parcelle [PARCEL_NAME].
 	</notification>
@@ -3879,13 +3885,18 @@ le serveur est plein.
 		Pas suffisamment de parcelles louées dans la sélection pour effectuer la fusion.
 	</notification>
 	<notification name="CantDivideLandMultipleParcelsSelected">
-		Division du terrain impossible.\nPlusieurs parcelles sont sélectionnées.\nVeuillez sélectionner un terrain plus petit.
+		Division du terrain impossible.
+Plusieurs parcelles sont sélectionnées.
+Veuillez sélectionner un terrain plus petit.
 	</notification>
 	<notification name="CantDivideLandCantFindParcel">
-		Division du terrain impossible.\nParcelle introuvable.\nSignalez-le en allant à Aide -&gt; Signaler un bug...
+		Division du terrain impossible.
+Parcelle introuvable.
+Veuillez utiliser Aide &gt; Signaler un bug pour signaler le problème...
 	</notification>
 	<notification name="CantDivideLandWholeParcelSelected">
-		Division du terrain impossible. Toute la parcelle est sélectionnée.\nVeuillez sélectionner un terrain plus petit.
+		Division du terrain impossible. La parcelle entière est sélectionnée.
+Veuillez sélectionner un terrain plus petit.
 	</notification>
 	<notification name="LandHasBeenDivided">
 		Le terrain a été divisé.
@@ -4025,4 +4036,8 @@ le serveur est plein.
 		Impossible de déplacer les fichiers. Chemin précédent rétabli.
 		<usetemplate ignoretext="Impossible de déplacer les fichiers. Chemin précédent rétabli." name="okignore" yestext="OK"/>
 	</notification>
+	<notification name="ChatHistoryIsBusyAlert">
+		Le fichier d&apos;historique des chats est occupé à traiter l&apos;opération précédente. Réessayez dans quelques minutes ou choisissez une autre personne pour le chat.
+		<usetemplate name="okbutton" yestext="OK"/>
+	</notification>
 </notifications>
diff --git a/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml
index 047cd692e80676b86b668f9d721284aa1b86b59f..7c3b852de128ec8a3c7fa08fa5d7660a35e6a616 100755
--- a/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
 		<layout_panel name="group_accordions">
 			<accordion name="groups_accordion">
 				<accordion_tab name="group_general_tab" title="Général"/>
-				<accordion_tab name="group_roles_tab" title="Rôles"/>
+				<accordion_tab name="group_roles_tab" title="Rôles et membres"/>
 				<accordion_tab name="group_notices_tab" title="Notices"/>
 				<accordion_tab name="group_land_tab" title="Terrain/Actifs"/>
 			</accordion>
diff --git a/indra/newview/skins/default/xui/fr/panel_group_roles.xml b/indra/newview/skins/default/xui/fr/panel_group_roles.xml
index 0bd2e0bdab7064f3a405efa2da96aa94e3c85156..71ee70d68b341c77b2d7afcb98d608923bfe78cf 100755
--- a/indra/newview/skins/default/xui/fr/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/fr/panel_group_roles.xml
@@ -20,6 +20,7 @@ Pour sélectionner plusieurs membres, cliquez sur leurs noms en maintenant la to
 				<name_list.columns label="Membre" name="name"/>
 				<name_list.columns label="Donation" name="donated"/>
 				<name_list.columns label="Statut" name="online"/>
+				<name_list.columns label="Titre" name="title"/>
 			</name_list>
 			<button label="Inviter" name="member_invite"/>
 			<button label="Expulser" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_region_debug.xml b/indra/newview/skins/default/xui/fr/panel_region_debug.xml
index 98ae250215e59b7db0816079021eb506d12258a2..d21695e9aad2e22ffefdd2074cc18455fd859413 100755
--- a/indra/newview/skins/default/xui/fr/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_debug.xml
@@ -7,11 +7,8 @@
 		(inconnue)
 	</text>
 	<check_box label="Désactiver les scripts" name="disable_scripts_check" tool_tip="Désactiver tous les scripts dans cette région"/>
-	<button label="?" name="disable_scripts_help"/>
 	<check_box label="Désactiver les collisions" name="disable_collisions_check" tool_tip="Désactiver les collisions entre non-avatars dans cette région"/>
-	<button label="?" name="disable_collisions_help"/>
 	<check_box label="Désactiver la physique" name="disable_physics_check" tool_tip="Désactiver tous les effets liés à la physique dans cette région"/>
-	<button label="?" name="disable_physics_help"/>
 	<button bottom_delta="-38" label="Appliquer" name="apply_btn"/>
 	<text bottom_delta="-42" name="objret_text_lbl" width="260">
 		Renvoi de l&apos;objet
@@ -31,10 +28,8 @@
 	<check_box label="Dans toutes les régions de ce domaine" name="return_estate_wide" tool_tip="Renvoyer les objets dans toutes les régions qui constituent ce domaine"/>
 	<button label="Renvoyer" name="return_btn"/>
 	<button label="Collisions les plus consommatrices" name="top_colliders_btn" tool_tip="Liste des objets avec le plus de collisions potentielles" width="320"/>
-	<button label="?" left="337" name="top_colliders_help"/>
-	<button label="Scripts les plus consommateurs" name="top_scripts_btn" tool_tip="Liste des objets passant le plus de temps à exécuter des scripts" width="320"/>
-	<button label="?" left="337" name="top_scripts_help"/>
 	<button label="Redémarrer la région" name="restart_btn" tool_tip="Redémarrer la région au bout de 2 minutes" width="160"/>
-	<button label="?" left="177" name="restart_help"/>
+	<button label="Scripts les plus consommateurs" name="top_scripts_btn" tool_tip="Liste des objets passant le plus de temps à exécuter des scripts" width="320"/>
 	<button label="Annuler le redémarrage" name="cancel_restart_btn" tool_tip="Annuler le redémarrage de la région." width="160"/>
+	<button label="Console de débogage de région" name="region_debug_console_btn" tool_tip="Ouvrir la console de débogage de région"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_region_general.xml b/indra/newview/skins/default/xui/fr/panel_region_general.xml
index 234d31606951f72330dd39a4eff935f91bbce4d9..e9dcd6ab5ab598c91eace2d6b51fb0171e2954f6 100755
--- a/indra/newview/skins/default/xui/fr/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_general.xml
@@ -20,12 +20,12 @@
 	</text>
 	<check_box label="Interdire le terraformage" name="block_terraform_check"/>
 	<check_box label="Interdire le vol" name="block_fly_check"/>
+	<check_box label="Bloquer le survol des parcelles" name="block_fly_over_check" tool_tip="Étendre les vérifications d&apos;accès vers le haut pour empêcher le survol d&apos;une parcelle"/>
 	<check_box label="Autoriser les dégâts" name="allow_damage_check"/>
 	<check_box label="Interdire les bousculades" name="restrict_pushobject"/>
 	<check_box label="Autoriser la revente de terrain" name="allow_land_resell_check"/>
 	<check_box label="Autoriser la fusion/division" name="allow_parcel_changes_check"/>
 	<check_box label="Ne pas afficher dans la recherche" name="block_parcel_search_check" tool_tip="Afficher cette région et ses parcelles dans les résultats de recherche"/>
-	<check_box label="Autoriser les objets de maillage" name="mesh_rez_enabled_check" tool_tip="Laisser les gens rezzer des objets de maillage dans cette région."/>
 	<spinner label="Nombre maximum d&apos;avatars" label_width="160" name="agent_limit_spin" width="240"/>
 	<spinner label="Bonus objet" label_width="160" name="object_bonus_spin" width="240"/>
 	<text label="Maturité" name="access_text">
diff --git a/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml b/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
index ec7dd8c095d0d758cd567ab4ba67aa0b54eb95a4..372d61263fa357daedb86d84473cd231f40bd47d 100755
--- a/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
@@ -31,10 +31,10 @@
 					<button label="Partager" name="share_btn" tool_tip="Partager un article de l&apos;inventaire"/>
 				</layout_panel>
 				<layout_panel name="shop_btn_lp">
-					<button label="Acheter" name="shop_btn" tool_tip="Accéder à la place du marché sur le Web"/>
+					<button label="Faire des achats" name="shop_btn" tool_tip="Accéder à la Place du marché sur le Web"/>
 					<button label="Porter" name="wear_btn" tool_tip="Porter la tenue sélectionnée"/>
-					<button label="Lire" name="play_btn"/>
-					<button label="Téléportation" name="teleport_btn" tool_tip="Me téléporter jusqu&apos;à la zone sélectionnée"/>
+					<button label="Jouer" name="play_btn"/>
+					<button label="Téléporter" name="teleport_btn" tool_tip="Me téléporter jusqu&apos;à la zone sélectionnée"/>
 				</layout_panel>
 			</layout_stack>
 		</panel>
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index b8721420cb3b9bb95d686d15ecad85e16e5ec191..46fcbe005fb7541cb533d18d2009c4247a501c17 100755
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -37,6 +37,45 @@
 	<string name="StartupRequireDriverUpdate">
 		Échec d&apos;initialisation des graphiques. Veuillez mettre votre pilote graphique à jour.
 	</string>
+	<string name="AboutHeader">
+		[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [Notes de version]]
+	</string>
+	<string name="AboutCompiler">
+		Compilé avec [COMPILER] version [COMPILER_VERSION]
+	</string>
+	<string name="AboutPosition">
+		Vous êtes à [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] dans [REGION], se trouvant à &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL : &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(coordonnées globales [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+	</string>
+	<string name="AboutSystem">
+		CPU : [CPU]
+Mémoire : [MEMORY_MB] Mo
+Version OS : [OS_VERSION]
+Distributeur de cartes graphiques : [GRAPHICS_CARD_VENDOR]
+Carte graphique : [GRAPHICS_CARD]
+	</string>
+	<string name="AboutDriver">
+		Version Windows Graphics Driver : [GRAPHICS_DRIVER_VERSION]
+	</string>
+	<string name="AboutLibs">
+		Version OpenGL : [OPENGL_VERSION]
+
+Version libcurl : [LIBCURL_VERSION]
+Version J2C Decoder : [J2C_VERSION]
+Version Audio Driver : [AUDIO_DRIVER_VERSION]
+Version Qt Webkit : [QT_WEBKIT_VERSION]
+Version serveur vocal : [VOICE_VERSION]
+	</string>
+	<string name="AboutTraffic">
+		Paquets perdus : [PACKETS_LOST,nombre,0]/[PACKETS_IN,nombre,0] ([PACKETS_PCT,nombre,1]%)
+	</string>
+	<string name="ErrorFetchingServerReleaseNotesURL">
+		Erreur lors de la récupération de l&apos;URL des notes de version du serveur.
+	</string>
 	<string name="ProgressRestoring">
 		Restauration...
 	</string>
@@ -937,15 +976,15 @@ Veuillez réessayer de vous connecter dans une minute.
 	<string name="ControlYourCamera">
 		Contrôler votre caméra
 	</string>
+	<string name="TeleportYourAgent">
+		Vous téléporter
+	</string>
 	<string name="NotConnected">
 		Pas connecté(e)
 	</string>
 	<string name="AgentNameSubst">
 		(Vous)
 	</string>
-	<string name="TeleportYourAgent">
-		Vous téléporter
-	</string>
 	<string name="JoinAnExperience">
 		Rejoindre une expérience
 	</string>
@@ -1270,8 +1309,7 @@ Veuillez réessayer de vous connecter dans une minute.
 	<string name="InventoryInboxNoItems">
 		Les achats que vous avez effectués sur la Place du marché s&apos;affichent ici. Vous pouvez alors les faire glisser vers votre inventaire afin de les utiliser.
 	</string>
-  <string name="Unconstrained">Sans contraintes</string>
-  <string name="MarketplaceURL">
+	<string name="MarketplaceURL">
 		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
 	</string>
 	<string name="MarketplaceURL_CreateStore">
@@ -1300,6 +1338,18 @@ Veuillez réessayer de vous connecter dans une minute.
 	<string name="InventoryOutboxNoItems">
 		Pour mettre des dossiers en vente sur la [[MARKETPLACE_DASHBOARD_URL] Place du marché], faites-les glisser vers cette zone et cliquez sur &quot;Envoyer vers la Place du marché&quot;.
 	</string>
+	<string name="InventoryOutboxInitializingTitle">
+		Initialisation de la Place du marché...
+	</string>
+	<string name="InventoryOutboxInitializing">
+		Nous sommes en train d&apos;accéder à votre compte dans la [[MARKETPLACE_CREATE_STORE_URL] boutique de la Place du marché].
+	</string>
+	<string name="InventoryOutboxErrorTitle">
+		Erreurs de la Place du marché.
+	</string>
+	<string name="InventoryOutboxError">
+		La [[MARKETPLACE_CREATE_STORE_URL] boutique de la Place du marché] renvoie des erreurs.
+	</string>
 	<string name="Marketplace Error None">
 		Aucune erreur
 	</string>
@@ -1327,6 +1377,9 @@ Veuillez réessayer de vous connecter dans une minute.
 	<string name="Open landmarks">
 		Ouvrir les repères
 	</string>
+	<string name="Unconstrained">
+		Sans contraintes
+	</string>
 	<string name="no_transfer" value=" (pas de transfert)"/>
 	<string name="no_modify" value=" (pas de modification)"/>
 	<string name="no_copy" value=" (pas de copie)"/>
@@ -1727,6 +1780,9 @@ Veuillez réessayer de vous connecter dans une minute.
 	<string name="CompileQueueDownloadedCompiling">
 		Téléchargé, compilation en cours
 	</string>
+	<string name="CompileQueueServiceUnavailable">
+		Service de compilation de script indisponible.
+	</string>
 	<string name="CompileQueueScriptNotFound">
 		Script introuvable sur le serveur.
 	</string>
diff --git a/indra/newview/skins/default/xui/it/floater_lagmeter.xml b/indra/newview/skins/default/xui/it/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f7b2b1ab4a402cb60d0fd64d3819129f52120a4b
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_lagmeter.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="MISURATORE LAG">
+	<floater.string name="max_title_msg">
+		Misuratore del lag
+	</floater.string>
+	<floater.string name="max_width_px">
+		360
+	</floater.string>
+	<floater.string name="min_title_msg">
+		Lag
+	</floater.string>
+	<floater.string name="min_width_px">
+		90
+	</floater.string>
+	<floater.string name="client_text_msg">
+		Programma in locale
+	</floater.string>
+	<floater.string name="client_frame_rate_critical_fps">
+		10
+	</floater.string>
+	<floater.string name="client_frame_rate_warning_fps">
+		15
+	</floater.string>
+	<floater.string name="client_frame_time_window_bg_msg">
+		Normale, finestra sullo sfondo
+	</floater.string>
+	<floater.string name="client_frame_time_critical_msg">
+		Velocità dei frame al di sotto di [CLIENT_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="client_frame_time_warning_msg">
+		Velocità dei frame tra [CLIENT_FRAME_RATE_CRITICAL] e [CLIENT_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="client_frame_time_normal_msg">
+		Normale
+	</floater.string>
+	<floater.string name="client_draw_distance_cause_msg">
+		Possibile causa: Campo visivo impostato troppo alto
+	</floater.string>
+	<floater.string name="client_texture_loading_cause_msg">
+		Possibile causa: Caricamento immagini
+	</floater.string>
+	<floater.string name="client_texture_memory_cause_msg">
+		Possibile causa: Troppe immagini in memoria
+	</floater.string>
+	<floater.string name="client_complex_objects_cause_msg">
+		Possibile causa: Troppi oggetti complessi intorno
+	</floater.string>
+	<floater.string name="network_text_msg">
+		Network
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_pct">
+		10
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_pct">
+		5
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_msg">
+		La connessione sta calando al di sotto del [NETWORK_PACKET_LOSS_CRITICAL]% di pacchetti
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_msg">
+		La connessione sta calando tra il [NETWORK_PACKET_LOSS_WARNING]% e il [NETWORK_PACKET_LOSS_CRITICAL]% di pacchetti
+	</floater.string>
+	<floater.string name="network_performance_normal_msg">
+		Normale
+	</floater.string>
+	<floater.string name="network_ping_critical_ms">
+		600
+	</floater.string>
+	<floater.string name="network_ping_warning_ms">
+		300
+	</floater.string>
+	<floater.string name="network_ping_critical_msg">
+		Il tempo di ping della connessione è al di sopra di [NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_ping_warning_msg">
+		Il tempo di ping della connessione è tra [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_packet_loss_cause_msg">
+		Possibile cattiva connessione o la larghezza di banda impostata nelle preferenze troppo alta.
+	</floater.string>
+	<floater.string name="network_ping_cause_msg">
+		Possibile cattiva connessione o l&apos;apertura di un programma di scambio files.
+	</floater.string>
+	<floater.string name="server_text_msg">
+		Server
+	</floater.string>
+	<floater.string name="server_frame_rate_critical_fps">
+		20
+	</floater.string>
+	<floater.string name="server_frame_rate_warning_fps">
+		30
+	</floater.string>
+	<floater.string name="server_single_process_max_time_ms">
+		20
+	</floater.string>
+	<floater.string name="server_frame_time_critical_msg">
+		Velocità dei frame al di sotto di [SERVER_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="server_frame_time_warning_msg">
+		Velocità dei frame tra [SERVER_FRAME_RATE_CRITICAL] e [SERVER_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="server_frame_time_normal_msg">
+		Normale
+	</floater.string>
+	<floater.string name="server_physics_cause_msg">
+		Possibile causa: troppi oggetti fisici
+	</floater.string>
+	<floater.string name="server_scripts_cause_msg">
+		Possibile causa: troppi oggetti scriptati
+	</floater.string>
+	<floater.string name="server_net_cause_msg">
+		Possibile causa: eccessivo traffico sulla rete
+	</floater.string>
+	<floater.string name="server_agent_cause_msg">
+		Possibile causa: troppi residenti in movimento nella regione
+	</floater.string>
+	<floater.string name="server_images_cause_msg">
+		Possibile causa: troppe elaborazioni di immagini
+	</floater.string>
+	<floater.string name="server_generic_cause_msg">
+		Possibile causa: carico eccessivo del simulatore
+	</floater.string>
+	<floater.string name="smaller_label">
+		&gt;&gt;
+	</floater.string>
+	<floater.string name="bigger_label">
+		&lt;&lt;
+	</floater.string>
+	<button label="" label_selected="" name="client_lagmeter" tool_tip="Stato del lag del programma in locale"/>
+	<text name="client">
+		Client
+	</text>
+	<text font="SansSerifSmall" left="145" name="client_text">
+		Normale
+	</text>
+	<text left="30" name="client_lag_cause" right="-10"/>
+	<button label="" label_selected="" name="network_lagmeter" tool_tip="Stato del lag del network"/>
+	<text name="network">
+		Rete
+	</text>
+	<text font="SansSerifSmall" name="network_text">
+		Normale
+	</text>
+	<text left="30" name="network_lag_cause" right="-10"/>
+	<button label="" label_selected="" name="server_lagmeter" tool_tip="Stato del lag del server"/>
+	<text name="server">
+		Server
+	</text>
+	<text font="SansSerifSmall" name="server_text">
+		Normale
+	</text>
+	<text left="30" name="server_lag_cause" right="-32"/>
+	<button label="&gt;&gt;" name="minimize" tool_tip="Cambia dimensioni floater"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_region_restarting.xml b/indra/newview/skins/default/xui/it/floater_region_restarting.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d4497288e09a416d93b5056a6e1f3bcfec9c4e9a
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="RIAVVIO REGIONE IN CORSO">
+	<string name="RegionName">
+		La regione in cui ti trovi ([NAME]) verrà riavviata tra breve.
+
+Se rimani in questa regione verrai scollegato da Second Life.
+	</string>
+	<string name="RestartSeconds">
+		Secondi prima del riavvio
+[SECONDS]
+	</string>
+	<panel name="layout_panel_1">
+		<text name="region_name">
+			La regione in cui ti trovi (il nome di regione più lungo) verrà riavviata tra breve.
+
+Se rimani in questa regione verrai scollegato da Second Life.
+		</text>
+		<text name="restart_seconds">
+			Secondi prima del riavvio
+     32767
+		</text>
+	</panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/it/floater_scene_load_stats.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ca18812eb7198df6236e7a7d5f1a9e27cdffbe60
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="STATISTICHE CARICAMENTO SCENA">
+	<button label="In pausa" name="playpause"/>
+	<scroll_container name="statistics_scroll">
+		<container_view name="statistics_view">
+			<stat_view label="Di base" name="basic">
+				<stat_bar label="Differenza pixel tra fotogrammi" name="frame difference"/>
+				<stat_bar label="Dati UDP ricevuti" name="bandwidth"/>
+				<stat_bar label="Perdita pacchetti" name="packet_loss"/>
+			</stat_view>
+			<stat_view label="Avanzata" name="advanced">
+				<stat_view label="Render" name="render">
+					<stat_bar label="Totale oggetti" name="objs"/>
+					<stat_bar label="Nuovi oggetti" name="newobjs"/>
+					<stat_bar label="Hit rate della cache per l&apos;oggetto" name="object_cache_hits"/>
+				</stat_view>
+				<stat_view label="Texture" name="texture">
+					<stat_bar label="Hit rate della cache" name="texture_cache_hits"/>
+					<stat_bar label="Latenza di lettura della cache" name="texture_cache_read_latency"/>
+					<stat_bar label="Conteggio" name="numimagesstat"/>
+					<stat_bar label="Conteggio grezzo" name="numrawimagesstat"/>
+				</stat_view>
+				<stat_view label="Rete" name="network">
+					<stat_bar label="Pacchetti in ingresso" name="packetsinstat"/>
+					<stat_bar label="Pacchetti in uscita" name="packetsoutstat"/>
+					<stat_bar label="Oggetti" name="objectdatareceived"/>
+					<stat_bar label="Texture" name="texturedatareceived"/>
+					<stat_bar label="Risorsa" name="assetudpdatareceived"/>
+					<stat_bar label="Livelli" name="layersdatareceived"/>
+					<stat_bar label="Effettivi in ingresso" name="messagedatain"/>
+					<stat_bar label="Effettivi in uscita" name="messagedataout"/>
+					<stat_bar label="Operazioni VFS in sospeso" name="vfspendingoperations"/>
+				</stat_view>
+			</stat_view>
+			<stat_view label="Simulatore" name="sim">
+				<stat_bar label="Oggetti" name="simobjects"/>
+				<stat_bar label="Oggetti attivi" name="simactiveobjects"/>
+				<stat_bar label="Script attivi" name="simactivescripts"/>
+				<stat_bar label="Pacchetti in ingresso" name="siminpps"/>
+				<stat_bar label="Pacchetti in uscita" name="simoutpps"/>
+				<stat_bar label="Download in attesa" name="simpendingdownloads"/>
+				<stat_bar label="Caricamenti in attesa" name="simpendinguploads"/>
+				<stat_bar label="Numero totale byte non confermati (Unacked)" name="simtotalunackedbytes"/>
+				<stat_view label="Tempo (ms)" name="simperf">
+					<stat_bar label="Tempo totale Frame" name="simframemsec"/>
+					<stat_bar label="Tempo netto" name="simnetmsec"/>
+					<stat_bar label="Tempo motore fisico" name="simsimphysicsmsec"/>
+					<stat_bar label="Tempo simulazione" name="simsimothermsec"/>
+					<stat_bar label="Tempo agente" name="simagentmsec"/>
+					<stat_bar label="Tempo immagini" name="simimagesmsec"/>
+					<stat_bar label="Tempo script" name="simscriptmsec"/>
+					<stat_bar label="Tempo libero" name="simsparemsec"/>
+					<stat_view label="Dettagli tempo (ms)" name="timedetails">
+						<stat_bar label="Passaggio fisica" name="simsimphysicsstepmsec"/>
+						<stat_bar label="Aggiorna forme fisica" name="simsimphysicsshapeupdatemsec"/>
+						<stat_bar label="Altro fisica" name="simsimphysicsothermsec"/>
+						<stat_bar label="Tempo pausa" name="simsleepmsec"/>
+						<stat_bar label="IO pompa" name="simpumpiomsec"/>
+					</stat_view>
+				</stat_view>
+			</stat_view>
+		</container_view>
+	</scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_stats.xml b/indra/newview/skins/default/xui/it/floater_stats.xml
index 825b2ce57a13c45ec9080d24d6ac7a25ebe140b3..1d850516b7da12b63e0e3c5ebb2c6f896b024fef 100755
--- a/indra/newview/skins/default/xui/it/floater_stats.xml
+++ b/indra/newview/skins/default/xui/it/floater_stats.xml
@@ -4,17 +4,20 @@
 		<container_view name="statistics_view">
 			<stat_view label="Di base" name="basic">
 				<stat_bar label="FPS" name="fps"/>
-				<stat_bar label="Larghezza banda" name="bandwidth"/>
+				<stat_bar label="Dati UDP ricevuti" name="bandwidth"/>
 				<stat_bar label="Perdita pacchetti" name="packet_loss"/>
 				<stat_bar label="Tempo Ping Sim" name="ping"/>
 			</stat_view>
 			<stat_view label="Avanzata" name="advanced">
 				<stat_view label="Render" name="render">
-					<stat_bar label="KTris disegnato per fotogramma" name="ktrisframe"/>
-					<stat_bar label="KTris disegnato per secondo" name="ktrissec"/>
+					<stat_bar label="KTris per fotogramma" name="ktrisframe"/>
+					<stat_bar label="KTris per secondo" name="ktrissec"/>
 					<stat_bar label="Totale oggetti" name="objs"/>
 					<stat_bar label="Nuovi oggetti" name="newobjs"/>
 					<stat_bar label="Hit rate della cache per l&apos;oggetto" name="object_cache_hits"/>
+					<stat_bar label="Occlusion query eseguite" name="occlusion_queries"/>
+					<stat_bar label="Oggetti in occlusion" name="occluded"/>
+					<stat_bar label="Oggetti non in occlusion" name="unoccluded"/>
 				</stat_view>
 				<stat_view label="Texture" name="texture">
 					<stat_bar label="Hit rate della cache" name="texture_cache_hits"/>
@@ -26,15 +29,32 @@
 					<stat_bar label="Memoria complessiva" name="rawmemstat"/>
 					<stat_bar label="Memoria impegnata" name="glboundmemstat"/>
 				</stat_view>
+				<stat_view label="Utilizzo memoria" name="memory">
+					<stat_bar label="LLTrace" name="LLTrace"/>
+					<stat_bar label="Interfaccia utente" name="LLView"/>
+					<stat_bar label="Font" name="LLFontFreetype"/>
+					<stat_bar label="Inventario" name="LLInventoryObject"/>
+					<stat_bar label="Oggetti Viewer" name="LLViewerObject"/>
+					<stat_bar label="Dati gruppo octree" name="LLViewerOctreeGroup"/>
+					<stat_bar label="Dati octree" name="LLViewerOctreeEntry"/>
+					<stat_bar label="Cache oggetti Viewer" name="LLVOCacheEntry"/>
+					<stat_bar label="Disegnabili" name="LLDrawable"/>
+					<stat_bar label="Dati viso" name="LLFace"/>
+					<stat_bar label="Info disegno" name="LLDrawInfo"/>
+					<stat_bar label="Dati texture" name="LLTexture"/>
+					<stat_bar label="Dati immagine" name="LLImage"/>
+					<stat_bar label="Dati immagine GL" name="LLImageGL"/>
+					<stat_bar label="Buffer vertici" name="LLVertexBuffer"/>
+				</stat_view>
 				<stat_view label="Rete" name="network">
 					<stat_bar label="Pacchetti in ingresso" name="packetsinstat"/>
 					<stat_bar label="Pacchetti in uscita" name="packetsoutstat"/>
-					<stat_bar label="Oggetti" name="objectkbitstat"/>
-					<stat_bar label="Texture" name="texturekbitstat"/>
-					<stat_bar label="Risorse server" name="assetkbitstat"/>
-					<stat_bar label="Layer" name="layerskbitstat"/>
-					<stat_bar label="Effettivi in ingresso" name="actualinkbitstat"/>
-					<stat_bar label="Effettivi in uscita" name="actualoutkbitstat"/>
+					<stat_bar label="Oggetti" name="objectdatareceived"/>
+					<stat_bar label="Texture" name="texturedatareceived"/>
+					<stat_bar label="Risorsa" name="assetudpdatareceived"/>
+					<stat_bar label="Livelli" name="layersdatareceived"/>
+					<stat_bar label="Effettivi in ingresso" name="messagedatain"/>
+					<stat_bar label="Effettivi in uscita" name="messagedataout"/>
 					<stat_bar label="Operazioni VFS in sospeso" name="vfspendingoperations"/>
 				</stat_view>
 			</stat_view>
@@ -53,7 +73,8 @@
 					<stat_bar label="Passaggi silhouette saltati" name="simsimskippedsilhouettesteps"/>
 					<stat_bar label="Personaggi aggiornati" name="simsimpctsteppedcharacters"/>
 				</stat_view>
-				<stat_view label="Tempo (ms)" name="simperf">
+				<stat_bar label="Totale dati non confermati (unacked)" name="simtotalunackedbytes"/>
+				<stat_view label="Orario" name="simperf">
 					<stat_bar label="Tempo totale Frame" name="simframemsec"/>
 					<stat_bar label="Tempo netto" name="simnetmsec"/>
 					<stat_bar label="Tempo motore fisico" name="simsimphysicsmsec"/>
@@ -62,7 +83,7 @@
 					<stat_bar label="Tempo immagini" name="simimagesmsec"/>
 					<stat_bar label="Tempo script" name="simscriptmsec"/>
 					<stat_bar label="Tempo libero" name="simsparemsec"/>
-					<stat_view label="Dettagli tempo (ms)" name="timedetails">
+					<stat_view label="Dettagli orario" name="timedetails">
 						<stat_bar label="Passaggio fisica" name="simsimphysicsstepmsec"/>
 						<stat_bar label="Aggiorna forme fisica" name="simsimphysicsshapeupdatemsec"/>
 						<stat_bar label="Altro fisica" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/it/menu_avatar_icon.xml b/indra/newview/skins/default/xui/it/menu_avatar_icon.xml
index b93b695300829f0c3c2957f743e445c0a499169a..215eb836c8578592f6df7095240da154f4ee4778 100755
--- a/indra/newview/skins/default/xui/it/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/it/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
 <menu name="Avatar Icon Menu">
 	<menu_item_call label="Vedi profilo" name="Show Profile"/>
 	<menu_item_call label="Manda IM..." name="Send IM"/>
+	<menu_item_call label="Richiedi teleport" name="Request Teleport"/>
 	<menu_item_call label="Aggiungi come amico..." name="Add Friend"/>
 	<menu_item_call label="Togli amicizia..." name="Remove Friend"/>
 </menu>
diff --git a/indra/newview/skins/default/xui/it/menu_inventory.xml b/indra/newview/skins/default/xui/it/menu_inventory.xml
index b31e35771dfcbde52c3355d42fed15cd31e8dd0e..c8042f4253a1e67304323e872bdf5e1584265417 100755
--- a/indra/newview/skins/default/xui/it/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/it/menu_inventory.xml
@@ -70,6 +70,7 @@
 	<menu_item_call label="Esegui" name="Sound Play"/>
 	<menu_item_call label="Copia SLurl" name="url_copy"/>
 	<menu_item_call label="Informazioni sul punto di riferimento" name="About Landmark"/>
+	<menu_item_call label="Mostra sulla mappa" name="show_on_map"/>
 	<menu_item_call label="Riproduci in Second Life" name="Animation Play"/>
 	<menu_item_call label="Esegui localmente" name="Animation Audition"/>
 	<menu_item_call label="Invia un Instant Message" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/it/menu_login.xml b/indra/newview/skins/default/xui/it/menu_login.xml
index 35053ec4990e5085be15502738f6b15ee52d0905..126089aa6af48e483706a98f5c3165018fae32d0 100755
--- a/indra/newview/skins/default/xui/it/menu_login.xml
+++ b/indra/newview/skins/default/xui/it/menu_login.xml
@@ -5,7 +5,15 @@
 		<menu_item_call label="Esci da [APP_NAME]" name="Quit"/>
 	</menu>
 	<menu label="Aiuto" name="Help">
-		<menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/>
+		<menu_item_call label="Istruzioni..." name="How To"/>
+		<menu_item_call label="Guida introduttiva" name="Quickstart"/>
+		<menu_item_call label="Base di conoscenza" name="Knowledge Base"/>
+		<menu_item_call label="Wiki" name="Wiki"/>
+		<menu_item_call label="Forum della comunità" name="Community Forums"/>
+		<menu_item_call label="Portale assistenza" name="Support portal"/>
+		<menu_item_call label="[SECOND_LIFE] Notizie" name="Second Life News"/>
+		<menu_item_call label="[SECOND_LIFE] Blog" name="Second Life Blogs"/>
+		<menu_item_call label="Segnala bug" name="Report Bug"/>
 		<menu_item_call label="Informazioni su [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu_item_check label="Mostra menu Debug" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml
index 81053fbd65902140dd2148ef266a0d9e7db9f44d..31236895fa1adcd09d7035bad933d798558d5623 100755
--- a/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
 <context_menu name="Teleport History Item Context Menu">
 	<menu_item_call label="Teleport" name="Teleport"/>
 	<menu_item_call label="Maggiori informazioni" name="More Information"/>
-	<menu_item_call label="Copia negli appunti" name="CopyToClipboard"/>
+	<menu_item_call label="Copia SLurl" name="CopyToClipboard"/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml
index 52247d6c9cf6c2bcb907b061a8702110946725b9..3e6589927d7f6ed017988cb70d2fa913cc39c11c 100755
--- a/indra/newview/skins/default/xui/it/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/it/menu_viewer.xml
@@ -72,11 +72,11 @@
 			<menu_item_check label="Menu Avanzato" name="Show Advanced Menu"/>
 		</menu>
 		<menu label="Sole" name="Sun">
-			<menu_item_call label="Alba" name="Sunrise"/>
-			<menu_item_call label="Mezzogiorno" name="Noon"/>
-			<menu_item_call label="Tramonto" name="Sunset"/>
-			<menu_item_call label="Mezzanotte" name="Midnight"/>
-			<menu_item_call label="Usa impostazioni regione" name="Use Region Settings"/>
+			<menu_item_check label="Alba" name="Sunrise"/>
+			<menu_item_check label="Mezzogiorno" name="Noon"/>
+			<menu_item_check label="Tramonto" name="Sunset"/>
+			<menu_item_check label="Mezzanotte" name="Midnight"/>
+			<menu_item_check label="Usa impostazioni regione" name="Use Region Settings"/>
 		</menu>
 		<menu label="Editor ambiente" name="Environment Editor">
 			<menu_item_call label="Impostazioni ambiente..." name="Environment Settings"/>
@@ -165,8 +165,6 @@
 	</menu>
 	<menu label="Aiuto" name="Help">
 		<menu_item_call label="Istruzioni..." name="How To"/>
-		<menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/>
-		<menu_item_call label="Guida dell&apos;utente" name="User’s guide"/>
 		<menu_item_call label="Base di conoscenza" name="Knowledge Base"/>
 		<menu_item_call label="Wiki" name="Wiki"/>
 		<menu_item_call label="Forum della comunità" name="Community Forums"/>
@@ -188,6 +186,7 @@
 		<menu label="Strumenti di performance" name="Performance Tools">
 			<menu_item_call label="Misuratore lag" name="Lag Meter"/>
 			<menu_item_check label="Barra statistiche" name="Statistics Bar"/>
+			<menu_item_call label="Statistiche caricamento scena" name="Scene Load Statistics"/>
 			<menu_item_check label="Mostra peso visualizzazione per avatar" name="Avatar Rendering Cost"/>
 		</menu>
 		<menu label="Evidenziazione e visibilità" name="Highlighting and Visibility">
@@ -249,6 +248,7 @@
 			<menu_item_check label="Timer veloci" name="Fast Timers"/>
 			<menu_item_check label="Memoria" name="Memory"/>
 			<menu_item_check label="Statistiche scena" name="Scene Statistics"/>
+			<menu_item_check label="Monitoraggio caricamento scena" name="Scene Loading Monitor"/>
 			<menu_item_call label="Console di debug recupero texture" name="Texture Fetch Debug Console"/>
 			<menu_item_call label="Informazioni regione sulla console di debug" name="Region Info to Debug Console"/>
 			<menu_item_check label="Fotocamera" name="Camera"/>
@@ -280,6 +280,7 @@
 			<menu_item_check label="Veloc. di visualizzazione casuale" name="Randomize Framerate"/>
 			<menu_item_check label="Test frame" name="Frame Test"/>
 			<menu_item_call label="Profilo frame" name="Frame Profile"/>
+			<menu_item_call label="Benchmark" name="Benchmark"/>
 		</menu>
 		<menu label="Render Metadata" name="Render Metadata">
 			<menu_item_check label="Normali" name="Normals"/>
@@ -287,6 +288,7 @@
 			<menu_item_check label="Aggiorna tipo" name="Update Type"/>
 			<menu_item_check label="Info livello dettaglio" name="LOD Info"/>
 			<menu_item_check label="Crea coda" name="Build Queue"/>
+			<menu_item_check label="Giunti" name="Joints"/>
 			<menu_item_check label="Vettori vento" name="Wind Vectors"/>
 			<menu_item_check label="Complessità rendering" name="rendercomplexity"/>
 			<menu_item_check label="Byte collegamento" name="attachment bytes"/>
@@ -312,6 +314,7 @@
 			<menu_item_check label="Rendering delle luci unite" name="Render Attached Lights"/>
 			<menu_item_check label="Rendering particelle unite" name="Render Attached Particles"/>
 			<menu_item_check label="Gli oggetti brillano quando sono sotto il cursore" name="Hover Glow Objects"/>
+			<menu_item_call label="Pulisci cache immediatamente" name="Cache Clear"/>
 		</menu>
 		<menu label="Rete" name="Network">
 			<menu_item_check label="Metti in pausa" name="AgentPause"/>
@@ -327,7 +330,6 @@
 			<menu_item_call label="Test browser multimedia" name="Web Browser Test"/>
 			<menu_item_call label="Browser contenuto Web" name="Web Content Browser"/>
 			<menu_item_call label="Stampa informazioni oggetto selezionato" name="Print Selected Object Info"/>
-			<menu_item_check label="Console di debug regione" name="Region Debug Console"/>
 			<menu_item_check label="Debug clic" name="Debug Clicks"/>
 			<menu_item_check label="Debug eventi mouse" name="Debug Mouse Events"/>
 		</menu>
diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml
index 96b8c96595b011f188a50123291fb51e2ee419b9..45c89ecd7a17247331e49715878ce6a50ea93e5a 100755
--- a/indra/newview/skins/default/xui/it/notifications.xml
+++ b/indra/newview/skins/default/xui/it/notifications.xml
@@ -114,13 +114,13 @@ Per ulteriori informazioni consulta il [[MARKETPLACE_IMPORTS_URL] registro error
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxImportFailed">
-		Trasferimento non riuscito
+		Trasferimento non riuscito, errore &apos;[ERROR_CODE]&apos;
 
 Nessuna cartella è stata inviata a Marketplace, a causa di un errore di sistema o di rete.  Riprova più tardi.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxInitFailed">
-		Inizializzazione Marketplace non riuscita
+		Inizializzazione Marketplace non riuscita, errore &apos;[ERROR_CODE]&apos;
 
 L&apos;inizializzazione con il Marketplace non ha avuto successo a causa di un errore di sistema o di rete.  Riprova più tardi.
 		<usetemplate name="okbutton" yestext="OK"/>
@@ -1734,6 +1734,10 @@ più del limite [LIMIT].
 		Sei sicuro di volere il teleport a &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
 		<usetemplate ignoretext="Conferma il teleport verso un punto di riferimento" name="okcancelignore" notext="Annulla" yestext="Teleportati"/>
 	</notification>
+	<notification name="TeleportViaSLAPP">
+		Sei sicuro di volere il teleport a &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
+		<usetemplate ignoretext="Confermo di voler usare il teleport tramite SLAPP" name="okcancelignore" notext="Annulla" yestext="Teleport"/>
+	</notification>
 	<notification name="TeleportToPick">
 		Teleport a [PICK]?
 		<usetemplate ignoretext="Conferma che voglio il teleport verso l&apos;ubicazione nei Luoghi preferiti" name="okcancelignore" notext="Annulla" yestext="Teleport"/>
@@ -1944,6 +1948,9 @@ Cambierà migliaia di regioni e produrrà seri problemi ai vari server.
 	<notification name="ProblemAddingEstateManager">
 		Si sono riscontrati problemi nell&apos;aggiungere un nuovo manager della proprietà. Una o più proprietà potrebbero avere la lista dei manager piena.
 	</notification>
+	<notification name="ProblemAddingEstateBanManager">
+		Impossibile aggiungere il gestore o il proprietario della proprietà alla lista degli espulsi.
+	</notification>
 	<notification name="ProblemAddingEstateGeneric">
 		Si sono riscontrati problemi nell&apos;aggiunta a questo elenco della proprietà.  Una o più proprietà potrebbe avere una lista piena.
 	</notification>
@@ -3028,13 +3035,13 @@ Per informazioni dettagliate, vedi il file del registro.
 		Non è stata ottenuta la capacità della regione &apos;[CAPABILITY]&apos;.
 	</notification>
 	<notification name="ShareItemsConfirmation">
-		Sei sicuro di volere condividere gli oggetti
+		Sei sicuro di volere condividere gli oggetti seguenti:
 
-&lt;nolink&gt;[MSG]&lt;/nolink&gt;
+&lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
 
-Con i seguenti residenti?
+Con i seguenti residenti:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/>
 	</notification>
 	<notification name="ShareFolderConfirmation">
@@ -3046,7 +3053,7 @@ Sei sicuro di volere condividere gli oggetti seguenti:
 
 Con i seguenti residenti:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Annulla" yestext="Ok"/>
 	</notification>
 	<notification name="ItemsShared">
@@ -3502,10 +3509,6 @@ Riprova tra un minuto.
 	<notification name="EjectComingSoon">
 		Non sei più benvenuto qui e hai [EJECT_TIME] secondi per andartene.
 	</notification>
-	<notification name="NoEnterServerFull">
-		Non puoi entrare in questa regione perché 
-il server è pieno.
-	</notification>
 	<notification name="SaveBackToInvDisabled">
 		Opzione Salva nell&apos;inventario disattivata
 	</notification>
@@ -3695,6 +3698,9 @@ il server è pieno.
 	<notification name="LinkFailedTooMuchPhysics">
 		L&apos;oggetto usa troppe risorse per la fisica -- le sue dinamiche sono state disattivate.
 	</notification>
+	<notification name="EstateManagerFailedllTeleportHome">
+		L&apos;oggetto &apos;[OBJECT_NAME]&apos; a [SLURL] non può eseguire il teleport del gestore della proprietà alla sua casa.
+	</notification>
 	<notification name="TeleportedHomeByObjectOnParcel">
 		Sei stato teleportato nella posizione iniziale dall&apos;oggetto &apos;[OBJECT_NAME]&apos; del lotto &apos;[PARCEL_NAME]&apos;
 	</notification>
@@ -3885,13 +3891,18 @@ il server è pieno.
 		Non sono stati selezionati abbastanza lotti affittati da collegare.
 	</notification>
 	<notification name="CantDivideLandMultipleParcelsSelected">
-		Terreno non divisibile.\nHai selezionato più di un lotto.\nProva a selezionare una quantità di terreno più piccola.
+		Impossibile suddividere il terreno.
+È stato selezionato più di un lotto.
+Prova a selezionare un pezzo di terreno più piccolo.
 	</notification>
 	<notification name="CantDivideLandCantFindParcel">
-		impossibile suddividere il terreno.\nimpossibile trovare il lotto.\nInvia una segnalazione con Aiuto -&gt; Segnala bug...
+		Impossibile suddividere il terreno.
+Lotto non trovato.
+Invia una segnalazione con Aiuto -&gt; Segnala Bug...
 	</notification>
 	<notification name="CantDivideLandWholeParcelSelected">
-		Impossibile suddividere il terreno. È stato selezionato l&apos;intero lotto.\nProva a selezionare un pezzo di terreno più piccolo.
+		Impossibile suddividere il terreno. È stato selezionato un intero lotto.
+Prova a selezionare un pezzo di terreno più piccolo.
 	</notification>
 	<notification name="LandHasBeenDivided">
 		Il terreno è stato diviso.
@@ -4031,4 +4042,8 @@ il server è pieno.
 		Impossibile spostare i file. Il percorso precedente è stato ripristinato.
 		<usetemplate ignoretext="Impossibile spostare i file. Il percorso precedente è stato ripristinato." name="okignore" yestext="OK"/>
 	</notification>
+	<notification name="ChatHistoryIsBusyAlert">
+		Il file della cronologia del file sta ancora eseguendo l&apos;operazione precedente. Riprova nuovamente tra qualche minuto oppure chatta con un&apos;altra persona.
+		<usetemplate name="okbutton" yestext="OK"/>
+	</notification>
 </notifications>
diff --git a/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml
index 34ee3c2dca158ea37954bc7f92a60cd71a8eb2c0..138edc3a266d05fe32ba9aa7862c2995536bb48b 100755
--- a/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
 		<layout_panel name="group_accordions">
 			<accordion name="groups_accordion">
 				<accordion_tab name="group_general_tab" title="Generale"/>
-				<accordion_tab name="group_roles_tab" title="Ruoli"/>
+				<accordion_tab name="group_roles_tab" title="Ruoli e membri"/>
 				<accordion_tab name="group_notices_tab" title="Avvisi"/>
 				<accordion_tab name="group_land_tab" title="Terra/Beni"/>
 			</accordion>
diff --git a/indra/newview/skins/default/xui/it/panel_group_roles.xml b/indra/newview/skins/default/xui/it/panel_group_roles.xml
index 478b35e628c43ed23867c95ba3a4973ac5dfa9fe..79e9cd73d26e97573c567ffc1b77e2e11b6b21ba 100755
--- a/indra/newview/skins/default/xui/it/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/it/panel_group_roles.xml
@@ -21,6 +21,7 @@ cliccando sui loro nomi.
 				<name_list.columns label="Socio" name="name"/>
 				<name_list.columns label="Donazioni" name="donated"/>
 				<name_list.columns label="Stato" name="online"/>
+				<name_list.columns label="Titolo" name="title"/>
 			</name_list>
 			<button label="Invita" name="member_invite"/>
 			<button label="Espelli" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/it/panel_region_debug.xml b/indra/newview/skins/default/xui/it/panel_region_debug.xml
index aba60d03aabd225d3ef5643507a9fcd423235609..88c056bf5e8539544541c4c5ff7b91cdf69640d3 100755
--- a/indra/newview/skins/default/xui/it/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/it/panel_region_debug.xml
@@ -7,11 +7,8 @@
 		sconosciuta
 	</text>
 	<check_box label="Disabilita gli script" name="disable_scripts_check" tool_tip="Disabilita tutti gli script in questa regione"/>
-	<button label="?" name="disable_scripts_help"/>
 	<check_box label="Disabilita le collisioni" name="disable_collisions_check" tool_tip="Disabilita tutte le collisioni non di avatar in questa regione"/>
-	<button label="?" name="disable_collisions_help"/>
 	<check_box label="Disabilita la fisica" name="disable_physics_check" tool_tip="Disabilita tutta la fisica dei corpi in questa regione"/>
-	<button label="?" name="disable_physics_help"/>
 	<button label="Applica" name="apply_btn"/>
 	<text name="objret_text_lbl" width="130">
 		Restituisci oggetti
@@ -31,10 +28,8 @@
 	<check_box label="In tutte le regioni di questa proprietà" name="return_estate_wide" tool_tip="Restituisci tutti gli oggetti nelle varie regioni che costituiscono l&apos;insieme dei possedimenti terrieri"/>
 	<button label="Restituisci" name="return_btn"/>
 	<button label="Visualizza l&apos;elenco dei maggiori collidenti..." name="top_colliders_btn" tool_tip="Elenco degli oggetti che stanno potenzialmente subendo le maggiori collisioni" width="280"/>
-	<button label="?" left="297" name="top_colliders_help"/>
-	<button label="Visualizza l&apos;elenco degli script più pesanti..." name="top_scripts_btn" tool_tip="Elenco degli oggetti che impiegano più tempo a far girare gli script" width="280"/>
-	<button label="?" left="297" name="top_scripts_help"/>
 	<button label="Riavvia la regione" name="restart_btn" tool_tip="Dai 2 minuti di tempo massimo e fai riavviare la regione"/>
-	<button label="?" name="restart_help"/>
+	<button label="Visualizza l&apos;elenco degli script più pesanti..." name="top_scripts_btn" tool_tip="Elenco degli oggetti che impiegano più tempo a far girare gli script" width="280"/>
 	<button label="Annulla riavvio" name="cancel_restart_btn" tool_tip="Annulla riavvio regione"/>
+	<button label="Console di debug regione" name="region_debug_console_btn" tool_tip="Apri console di debug regione"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/it/panel_region_general.xml b/indra/newview/skins/default/xui/it/panel_region_general.xml
index c550e005ae97fee0b38e324372c83be2aa53ba79..3e2f593d2f75adcbf50990f5e1c9da9fd69a8c9b 100755
--- a/indra/newview/skins/default/xui/it/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/it/panel_region_general.xml
@@ -20,12 +20,12 @@
 	</text>
 	<check_box label="Proibisci la modifica del terreno" name="block_terraform_check"/>
 	<check_box label="Impedisci il volo" name="block_fly_check"/>
+	<check_box label="Blocca il volo sul lotto" name="block_fly_over_check" tool_tip="Espandi il controllo dell&apos;accesso in alto per impedire il volo sopra un lotto"/>
 	<check_box label="Abilita i danni" name="allow_damage_check"/>
 	<check_box label="Limita gli urti" name="restrict_pushobject"/>
 	<check_box label="Abilita la rivendita del terreno" name="allow_land_resell_check"/>
 	<check_box label="Abilita unione/suddivisione del terreno" name="allow_parcel_changes_check"/>
 	<check_box label="Proibisci che il terreno appaia nelle ricerche" name="block_parcel_search_check" tool_tip="Permetti che le persone vedano questa regione e le sue suddivisioni nei risultati delle ricerche"/>
-	<check_box label="Consenti oggetti con reticolo" name="mesh_rez_enabled_check" tool_tip="Permetti alle persone di rezzare oggetti con reticolo su questa regione"/>
 	<spinner label="Limite massimo di avatar" label_width="135" name="agent_limit_spin" width="190"/>
 	<spinner label="Bonus di oggetti" label_width="135" name="object_bonus_spin" width="190"/>
 	<text label="Maturità" name="access_text" width="120">
diff --git a/indra/newview/skins/default/xui/it/sidepanel_inventory.xml b/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
index 907857bf5a28a72869efa4c101d81c93705b05b7..2f00a023bb863c2ef4bda9f552be080d791255f9 100755
--- a/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
@@ -33,7 +33,7 @@
 				<layout_panel name="shop_btn_lp">
 					<button label="Acquisti" name="shop_btn" tool_tip="Apri pagina web di Marketplace"/>
 					<button label="Indossa" name="wear_btn" tool_tip="Indossa il vestiario selezionato"/>
-					<button label="Riproduci" name="play_btn"/>
+					<button label="Gioca" name="play_btn"/>
 					<button label="Teleport" name="teleport_btn" tool_tip="Teleport alla zona selezionata"/>
 				</layout_panel>
 			</layout_stack>
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index 86d7f75b834bbfebb7ce3886b5de5b3c31d5a2e9..3835907f01131fc0745bc93ffbb2161b9e358428 100755
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -34,6 +34,45 @@
 	<string name="StartupRequireDriverUpdate">
 		Inizializzazione grafica non riuscita. Aggiorna il driver della scheda grafica!
 	</string>
+	<string name="AboutHeader">
+		[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+	</string>
+	<string name="AboutCompiler">
+		Generato con [COMPILER] versione [COMPILER_VERSION]
+	</string>
+	<string name="AboutPosition">
+		Tu sei a [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] che si trova a &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(coordinate globali [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+	</string>
+	<string name="AboutSystem">
+		CPU: [CPU]
+Memoria: [MEMORY_MB] MB
+Versione sistema operativo: [OS_VERSION]
+Venditore scheda grafica: [GRAPHICS_CARD_VENDOR]
+Scheda grafica: [GRAPHICS_CARD]
+	</string>
+	<string name="AboutDriver">
+		Versione driver Windows per grafica: [GRAPHICS_DRIVER_VERSION]
+	</string>
+	<string name="AboutLibs">
+		Versione OpenGL: [OPENGL_VERSION]
+
+Versione libcurl: [LIBCURL_VERSION]
+Versione J2C Decoder: [J2C_VERSION]
+Versione Driver audio: [AUDIO_DRIVER_VERSION]
+Versione Qt Webkit: [QT_WEBKIT_VERSION]
+Versione Server voice: [VOICE_VERSION]
+	</string>
+	<string name="AboutTraffic">
+		Pacchetti perduti: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+	</string>
+	<string name="ErrorFetchingServerReleaseNotesURL">
+		Errore nel recupero URL note rilascio versione
+	</string>
 	<string name="ProgressRestoring">
 		Ripristino in corso...
 	</string>
@@ -931,12 +970,12 @@ Prova ad accedere nuovamente tra un minuto.
 	<string name="ControlYourCamera">
 		Controllare la tua fotocamera
 	</string>
-	<string name="AgentNameSubst">
-		(Tu)
-	</string>
 	<string name="TeleportYourAgent">
 		Teleportarti
 	</string>
+	<string name="AgentNameSubst">
+		(Tu)
+	</string>
 	<string name="JoinAnExperience">
 		Partecipa a un&apos;esperienza
 	</string>
@@ -1261,8 +1300,7 @@ Prova ad accedere nuovamente tra un minuto.
 	<string name="InventoryInboxNoItems">
 		Gli acquissti dal mercato verranno mostrati qui. Potrai quindi trascinarli nel tuo inventario per usarli.
 	</string>
-  <string name="Unconstrained">Libero</string>
-  <string name="MarketplaceURL">
+	<string name="MarketplaceURL">
 		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
 	</string>
 	<string name="MarketplaceURL_CreateStore">
@@ -1291,6 +1329,18 @@ Prova ad accedere nuovamente tra un minuto.
 	<string name="InventoryOutboxNoItems">
 		Trascina le cartelle in questa area e clicca su &quot;Invia a Marketplace&quot; per metterle in vendita su [[MARKETPLACE_DASHBOARD_URL] Marketplace].
 	</string>
+	<string name="InventoryOutboxInitializingTitle">
+		Inizializzazione Marketplace.in corso
+	</string>
+	<string name="InventoryOutboxInitializing">
+		Stiamo eseguendo l&apos;accesso al tuo account sul [[MARKETPLACE_CREATE_STORE_URL] negozio Marketplace].
+	</string>
+	<string name="InventoryOutboxErrorTitle">
+		Errori in Marketplace.
+	</string>
+	<string name="InventoryOutboxError">
+		Il [[MARKETPLACE_CREATE_STORE_URL] negozio nel Marketplace] ha riportato errori.
+	</string>
 	<string name="Marketplace Error None">
 		Nessun errore
 	</string>
@@ -1318,6 +1368,9 @@ Prova ad accedere nuovamente tra un minuto.
 	<string name="Open landmarks">
 		Apri luoghi di riferimento
 	</string>
+	<string name="Unconstrained">
+		Libero
+	</string>
 	<string name="no_transfer" value="(nessun trasferimento)"/>
 	<string name="no_modify" value="(nessuna modifica)"/>
 	<string name="no_copy" value="(nessuna copia)"/>
@@ -1712,6 +1765,9 @@ Prova ad accedere nuovamente tra un minuto.
 	<string name="CompileQueueDownloadedCompiling">
 		Scaricato, in compilazione
 	</string>
+	<string name="CompileQueueServiceUnavailable">
+		Il servizio di compilazione degli script non è disponibile
+	</string>
 	<string name="CompileQueueScriptNotFound">
 		Script non trovato sul server.
 	</string>
diff --git a/indra/newview/skins/default/xui/ja/floater_lagmeter.xml b/indra/newview/skins/default/xui/ja/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e3546cd83754744f7265847ac9780806d4158a5e
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="ラグメーター">
+	<floater.string name="max_title_msg">
+		ラグ メーター
+	</floater.string>
+	<floater.string name="max_width_px">
+		350
+	</floater.string>
+	<floater.string name="min_title_msg">
+		ラグ
+	</floater.string>
+	<floater.string name="min_width_px">
+		90
+	</floater.string>
+	<floater.string name="client_text_msg">
+		クライアント
+	</floater.string>
+	<floater.string name="client_frame_rate_critical_fps">
+		10
+	</floater.string>
+	<floater.string name="client_frame_rate_warning_fps">
+		15
+	</floater.string>
+	<floater.string name="client_frame_time_window_bg_msg">
+		ノーマル、ウィンドウは背景に
+	</floater.string>
+	<floater.string name="client_frame_time_critical_msg">
+		クライアント フレームレート < [CLIENT_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="client_frame_time_warning_msg">
+		クライアント フレームレート: [CLIENT_FRAME_RATE_CRITICAL] ~ [CLIENT_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="client_frame_time_normal_msg">
+		ノーマル
+	</floater.string>
+	<floater.string name="client_draw_distance_cause_msg">
+		考えられる原因: 描画距離の設定が大きすぎる
+	</floater.string>
+	<floater.string name="client_texture_loading_cause_msg">
+		考えられる原因: 画像のロード中
+	</floater.string>
+	<floater.string name="client_texture_memory_cause_msg">
+		考えられる原因: メモリ内の画像数が多すぎる
+	</floater.string>
+	<floater.string name="client_complex_objects_cause_msg">
+		考えられる原因: 画面に含まれる複雑なオブジェクトが多すぎる
+	</floater.string>
+	<floater.string name="network_text_msg">
+		ネットワーク
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_pct">
+		10
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_pct">
+		5
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_msg">
+		接続でドロップされるパケットの割合: > [NETWORK_PACKET_LOSS_CRITICAL]
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_msg">
+		接続でドロップされるパケットの割合:[NETWORK_PACKET_LOSS_WARNING] ~ [NETWORK_PACKET_LOSS_CRITICAL]
+	</floater.string>
+	<floater.string name="network_performance_normal_msg">
+		ノーマル
+	</floater.string>
+	<floater.string name="network_ping_critical_ms">
+		600
+	</floater.string>
+	<floater.string name="network_ping_warning_ms">
+		300
+	</floater.string>
+	<floater.string name="network_ping_critical_msg">
+		接続の ping 時間: > [NETWORK_PING_CRITICAL] ミリ秒
+	</floater.string>
+	<floater.string name="network_ping_warning_msg">
+		接続の ping 時間: [NETWORK_PING_WARNING] ~ [NETWORK_PING_CRITICAL] ミリ秒
+	</floater.string>
+	<floater.string name="network_packet_loss_cause_msg">
+		接続不良になっているか、帯域幅設定が高すぎます。
+	</floater.string>
+	<floater.string name="network_ping_cause_msg">
+		接続不良になっているか、ファイル共有アプリケーションに問題があります。
+	</floater.string>
+	<floater.string name="server_text_msg">
+		サーバー
+	</floater.string>
+	<floater.string name="server_frame_rate_critical_fps">
+		20
+	</floater.string>
+	<floater.string name="server_frame_rate_warning_fps">
+		30
+	</floater.string>
+	<floater.string name="server_single_process_max_time_ms">
+		20
+	</floater.string>
+	<floater.string name="server_frame_time_critical_msg">
+		シミュレーターのフレームレート: < [SERVER_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="server_frame_time_warning_msg">
+		シミュレーターのフレームレート: [SERVER_FRAME_RATE_CRITICAL] ~ [SERVER_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="server_frame_time_normal_msg">
+		ノーマル
+	</floater.string>
+	<floater.string name="server_physics_cause_msg">
+		考えられる原因: 物理的オブジェクトが多すぎる
+	</floater.string>
+	<floater.string name="server_scripts_cause_msg">
+		考えられる原因: スクリプトを含むオブジェクトが多すぎる
+	</floater.string>
+	<floater.string name="server_net_cause_msg">
+		考えられる原因: ネットワーク トラフィック過大
+	</floater.string>
+	<floater.string name="server_agent_cause_msg">
+		考えられる原因: 地域内にて動いているアバターが多すぎる
+	</floater.string>
+	<floater.string name="server_images_cause_msg">
+		考えられる原因: 画像計算が多すぎる
+	</floater.string>
+	<floater.string name="server_generic_cause_msg">
+		考えられる原因: シミュレーターの過負荷
+	</floater.string>
+	<floater.string name="smaller_label">
+		&gt;&gt;
+	</floater.string>
+	<floater.string name="bigger_label">
+		&lt;&lt;
+	</floater.string>
+	<button name="client_lagmeter" tool_tip="クライアント ラグ ステータス"/>
+	<text name="client">
+		クライアント
+	</text>
+	<text name="client_text">
+		ノーマル
+	</text>
+	<button name="network_lagmeter" tool_tip="ネットワーク ラグ ステータス"/>
+	<text name="network">
+		ネットワーク
+	</text>
+	<text name="network_text">
+		ノーマル
+	</text>
+	<button name="server_lagmeter" tool_tip="サーバー ラグ ステータス"/>
+	<text name="server">
+		サーバー
+	</text>
+	<text name="server_text">
+		ノーマル
+	</text>
+	<button label="&gt;&gt; " name="minimize" tool_tip="フローターのサイズをトグル"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_region_restarting.xml b/indra/newview/skins/default/xui/ja/floater_region_restarting.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e9ba9d230d75c81629320203b7cddeae41c63587
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="リージョンの再起動">
+	<string name="RegionName">
+		今 ([NAME]) がいるリージョンを再起動しようとしています。
+
+このままここにいるとログアウトされます。
+	</string>
+	<string name="RestartSeconds">
+		再起動までの秒数
+[SECONDS]
+	</string>
+	<panel name="layout_panel_1">
+		<text name="region_name">
+			今 (-最長リージョン名-) がいるリージョンを再起動しようとしています。
+
+このままここにいるとログアウトされます。
+		</text>
+		<text name="restart_seconds">
+			再起動までの秒数
+     32767
+		</text>
+	</panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f6edce026f08544a357e3cba35703c2cf8566e83
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="シーン ロード統計情報">
+	<button label="一時停止" name="playpause"/>
+	<scroll_container name="statistics_scroll">
+		<container_view name="statistics_view">
+			<stat_view label="ベーシック" name="basic">
+				<stat_bar label="フレーム ピクセル差" name="frame difference"/>
+				<stat_bar label="UDP データを受け取りました" name="bandwidth"/>
+				<stat_bar label="パケットロス" name="packet_loss"/>
+			</stat_view>
+			<stat_view label="アドバンス" name="advanced">
+				<stat_view label="描画" name="render">
+					<stat_bar label="オブジェクト合計" name="objs"/>
+					<stat_bar label="新規オブジェクト" name="newobjs"/>
+					<stat_bar label="オブジェクト キャッシュ ヒット率" name="object_cache_hits"/>
+				</stat_view>
+				<stat_view label="テクスチャ" name="texture">
+					<stat_bar label="キャッシュ ヒット率" name="texture_cache_hits"/>
+					<stat_bar label="キャッシュ読み込み遅延" name="texture_cache_read_latency"/>
+					<stat_bar label="カウント" name="numimagesstat"/>
+					<stat_bar label="Raw カウント" name="numrawimagesstat"/>
+				</stat_view>
+				<stat_view label="ネットワーク" name="network">
+					<stat_bar label="パケットイン" name="packetsinstat"/>
+					<stat_bar label="パケットアウト" name="packetsoutstat"/>
+					<stat_bar label="オブジェクト" name="objectdatareceived"/>
+					<stat_bar label="テクスチャ" name="texturedatareceived"/>
+					<stat_bar label="資産" name="assetudpdatareceived"/>
+					<stat_bar label="レイヤー" name="layersdatareceived"/>
+					<stat_bar label="実際の受信" name="messagedatain"/>
+					<stat_bar label="実際の送信" name="messagedataout"/>
+					<stat_bar label="VFS 保留中の操作" name="vfspendingoperations"/>
+				</stat_view>
+			</stat_view>
+			<stat_view label="シミュレーター" name="sim">
+				<stat_bar label="オブジェクト" name="simobjects"/>
+				<stat_bar label="アクティブなオブジェクト" name="simactiveobjects"/>
+				<stat_bar label="アクティブなスクリプト" name="simactivescripts"/>
+				<stat_bar label="パケットイン" name="siminpps"/>
+				<stat_bar label="パケットアウト" name="simoutpps"/>
+				<stat_bar label="保留中のダウンロード" name="simpendingdownloads"/>
+				<stat_bar label="保留中のアップロード" name="simpendinguploads"/>
+				<stat_bar label="未送信バイト合計" name="simtotalunackedbytes"/>
+				<stat_view label="時間(ms)" name="simperf">
+					<stat_bar label="フレーム時間合計" name="simframemsec"/>
+					<stat_bar label="総時間数" name="simnetmsec"/>
+					<stat_bar label="物理的作用時間" name="simsimphysicsmsec"/>
+					<stat_bar label="シミュレーション時間" name="simsimothermsec"/>
+					<stat_bar label="エージェント時間" name="simagentmsec"/>
+					<stat_bar label="イメージ時間" name="simimagesmsec"/>
+					<stat_bar label="スクリプト時間" name="simscriptmsec"/>
+					<stat_bar label="余暇" name="simsparemsec"/>
+					<stat_view label="時間の詳細(ms)" name="timedetails">
+						<stat_bar label="物理効果の単位" name="simsimphysicsstepmsec"/>
+						<stat_bar label="物理形状を更新" name="simsimphysicsshapeupdatemsec"/>
+						<stat_bar label="他の物理効果" name="simsimphysicsothermsec"/>
+						<stat_bar label="スリープ時間" name="simsleepmsec"/>
+						<stat_bar label="ポンプ I/O" name="simpumpiomsec"/>
+					</stat_view>
+				</stat_view>
+			</stat_view>
+		</container_view>
+	</scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_stats.xml b/indra/newview/skins/default/xui/ja/floater_stats.xml
index 1922e4841a331e976b8d642b0bb7dc48ba31a61f..2b3b51f3b75fb183bdc24358fb9e1b06404cd391 100755
--- a/indra/newview/skins/default/xui/ja/floater_stats.xml
+++ b/indra/newview/skins/default/xui/ja/floater_stats.xml
@@ -4,17 +4,20 @@
 		<container_view name="statistics_view">
 			<stat_view label="ベーシック" name="basic">
 				<stat_bar label="FPS" name="fps"/>
-				<stat_bar label="帯域幅" name="bandwidth"/>
+				<stat_bar label="UDP データを受け取りました" name="bandwidth"/>
 				<stat_bar label="パケットロス" name="packet_loss"/>
 				<stat_bar label="Pingシム" name="ping"/>
 			</stat_view>
 			<stat_view label="アドバンス" name="advanced">
 				<stat_view label="描画" name="render">
-					<stat_bar label="フレームごとの KTris 描画" name="ktrisframe"/>
-					<stat_bar label="秒ごとの KTris 描画" name="ktrissec"/>
+					<stat_bar label="KTris (フレームごと)" name="ktrisframe"/>
+					<stat_bar label="KTris (秒ごと)" name="ktrissec"/>
 					<stat_bar label="オブジェクト合計" name="objs"/>
 					<stat_bar label="新規オブジェクト" name="newobjs"/>
 					<stat_bar label="オブジェクトキャッシュヒット率" name="object_cache_hits"/>
+					<stat_bar label="閉鎖クエリ実行" name="occlusion_queries"/>
+					<stat_bar label="閉鎖オブジェクト" name="occluded"/>
+					<stat_bar label="非閉鎖オブジェクト" name="unoccluded"/>
 				</stat_view>
 				<stat_view label="テクスチャ" name="texture">
 					<stat_bar label="キャッシュヒット率" name="texture_cache_hits"/>
@@ -26,15 +29,32 @@
 					<stat_bar label="Raw メモリ" name="rawmemstat"/>
 					<stat_bar label="統合メモリ" name="glboundmemstat"/>
 				</stat_view>
+				<stat_view label="メモリ使用量" name="memory">
+					<stat_bar label="LLTrace" name="LLTrace"/>
+					<stat_bar label="UI" name="LLView"/>
+					<stat_bar label="フォント" name="LLFontFreetype"/>
+					<stat_bar label="インベントリ" name="LLInventoryObject"/>
+					<stat_bar label="ビューワ オブジェクト" name="LLViewerObject"/>
+					<stat_bar label="Octree グループ データ" name="LLViewerOctreeGroup"/>
+					<stat_bar label="Octree データ" name="LLViewerOctreeEntry"/>
+					<stat_bar label="ビューワ オブジェクト キャッシュ" name="LLVOCacheEntry"/>
+					<stat_bar label="描画可能オブジェクト" name="LLDrawable"/>
+					<stat_bar label="顔データ" name="LLFace"/>
+					<stat_bar label="描画情報" name="LLDrawInfo"/>
+					<stat_bar label="テクスチャ データ" name="LLTexture"/>
+					<stat_bar label="画像データ" name="LLImage"/>
+					<stat_bar label="GL 画像データ" name="LLImageGL"/>
+					<stat_bar label="頂点バッファ" name="LLVertexBuffer"/>
+				</stat_view>
 				<stat_view label="ネットワーク" name="network">
 					<stat_bar label="パケットイン" name="packetsinstat"/>
 					<stat_bar label="パケットアウト" name="packetsoutstat"/>
-					<stat_bar label="オブジェクト" name="objectkbitstat"/>
-					<stat_bar label="テクスチャ" name="texturekbitstat"/>
-					<stat_bar label="アセット" name="assetkbitstat"/>
-					<stat_bar label="レイヤー" name="layerskbitstat"/>
-					<stat_bar label="実際の受信" name="actualinkbitstat"/>
-					<stat_bar label="実際の送信" name="actualoutkbitstat"/>
+					<stat_bar label="オブジェクト" name="objectdatareceived"/>
+					<stat_bar label="テクスチャ" name="texturedatareceived"/>
+					<stat_bar label="資産" name="assetudpdatareceived"/>
+					<stat_bar label="レイヤー" name="layersdatareceived"/>
+					<stat_bar label="実際の受信" name="messagedatain"/>
+					<stat_bar label="実際の送信" name="messagedataout"/>
 					<stat_bar label="VFS 保留中の操作" name="vfspendingoperations"/>
 				</stat_view>
 			</stat_view>
@@ -64,8 +84,8 @@
 				<stat_bar label="パケットアウト" name="simoutpps"/>
 				<stat_bar label="保留中のダウンロード" name="simpendingdownloads"/>
 				<stat_bar label="保留中のアップロード" name="simpendinguploads"/>
-				<stat_bar label="未送信バイト合計" name="simtotalunackedbytes"/>
-				<stat_view label="時間(ms)" name="simperf">
+				<stat_bar label="合計未承認データ" name="simtotalunackedbytes"/>
+				<stat_view label="時間" name="simperf">
 					<stat_bar label="フレーム時間合計" name="simframemsec"/>
 					<stat_bar label="総時間数" name="simnetmsec"/>
 					<stat_bar label="物理的作用時間" name="simsimphysicsmsec"/>
@@ -74,7 +94,7 @@
 					<stat_bar label="イメージ時間" name="simimagesmsec"/>
 					<stat_bar label="スクリプト時間" name="simscriptmsec"/>
 					<stat_bar label="余暇" name="simsparemsec"/>
-					<stat_view label="時間の詳細(ms)" name="timedetails">
+					<stat_view label="時間の詳細" name="timedetails">
 						<stat_bar label="物理効果の単位" name="simsimphysicsstepmsec"/>
 						<stat_bar label="物理形状を更新" name="simsimphysicsshapeupdatemsec"/>
 						<stat_bar label="他の物理効果" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml b/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml
index b04f602134df0f2782fc639b067a3a9da4e96f66..80ce080e39ca07854ce9012d0929d60a92e4b740 100755
--- a/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
 <menu name="Avatar Icon Menu">
 	<menu_item_call label="プロフィールの表示" name="Show Profile"/>
 	<menu_item_call label="IMを送信..." name="Send IM"/>
+	<menu_item_call label="テレポートをリクエスト" name="Request Teleport"/>
 	<menu_item_call label="フレンドを追加..." name="Add Friend"/>
 	<menu_item_call label="フレンドを削除..." name="Remove Friend"/>
 </menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_inventory.xml b/indra/newview/skins/default/xui/ja/menu_inventory.xml
index 106b09453aed859649a7f0d4f6681b08f0bbb206..8d6c983aa72d3834a2413ec210a86330730f879b 100755
--- a/indra/newview/skins/default/xui/ja/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inventory.xml
@@ -70,6 +70,7 @@
 	<menu_item_call label="再生する" name="Sound Play"/>
 	<menu_item_call label="SLurl をコピー" name="url_copy"/>
 	<menu_item_call label="ランドマークの情報" name="About Landmark"/>
+	<menu_item_call label="地図に表示" name="show_on_map"/>
 	<menu_item_call label="インワールドで再生する" name="Animation Play"/>
 	<menu_item_call label="ローカルで再生する" name="Animation Audition"/>
 	<menu_item_call label="インスタントメッセージを送信する" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_login.xml b/indra/newview/skins/default/xui/ja/menu_login.xml
index 3918732fa8e45102a54e778bb5449c1f5cea95d5..cd8bd52f91e92f5753efc451b5dccd327a249148 100755
--- a/indra/newview/skins/default/xui/ja/menu_login.xml
+++ b/indra/newview/skins/default/xui/ja/menu_login.xml
@@ -5,7 +5,15 @@
 		<menu_item_call label="[APP_NAME] を終了" name="Quit"/>
 	</menu>
 	<menu label="ヘルプ" name="Help">
-		<menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/>
+		<menu_item_call label="ハウツー..." name="How To"/>
+		<menu_item_call label="クイックスタート" name="Quickstart"/>
+		<menu_item_call label="ナレッジベース" name="Knowledge Base"/>
+		<menu_item_call label="Wiki" name="Wiki"/>
+		<menu_item_call label="コミュニティ フォーラム" name="Community Forums"/>
+		<menu_item_call label="日本語サポートページ" name="Support portal"/>
+		<menu_item_call label="[SECOND_LIFE] ニュース" name="Second Life News"/>
+		<menu_item_call label="[SECOND_LIFE] ブログ" name="Second Life Blogs"/>
+		<menu_item_call label="バグを報告する" name="Report Bug"/>
 		<menu_item_call label="[APP_NAME] について" name="About Second Life"/>
 	</menu>
 	<menu_item_check label="デバッグメニューを表示する" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml
index 66bc32214fa406a4fb3401ec9c5e4fb0270b5e9c..61642048b8c9962e6cd436dd103ea81dd26ac2c2 100755
--- a/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
 <context_menu name="Teleport History Item Context Menu">
 	<menu_item_call label="テレポート" name="Teleport"/>
 	<menu_item_call label="もっと詳しく" name="More Information"/>
-	<menu_item_call label="クリップボードにコピー" name="CopyToClipboard"/>
+	<menu_item_call label="SLurl をコピー" name="CopyToClipboard"/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml
index b1ec62115c602d8502f701fb1f43f97ded7ebe39..b151915ae4417f30f2c8b5e5fa9babed159b4912 100755
--- a/indra/newview/skins/default/xui/ja/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml
@@ -72,11 +72,11 @@
 			<menu_item_check label="アドバンスメニュー" name="Show Advanced Menu"/>
 		</menu>
 		<menu label="太陽" name="Sun">
-			<menu_item_call label="日の出" name="Sunrise"/>
-			<menu_item_call label="正午" name="Noon"/>
-			<menu_item_call label="日没" name="Sunset"/>
-			<menu_item_call label="真夜中" name="Midnight"/>
-			<menu_item_call label="リージョンの設定を使用" name="Use Region Settings"/>
+			<menu_item_check label="日の出" name="Sunrise"/>
+			<menu_item_check label="正午" name="Noon"/>
+			<menu_item_check label="日没" name="Sunset"/>
+			<menu_item_check label="真夜中" name="Midnight"/>
+			<menu_item_check label="リージョンの設定を使用" name="Use Region Settings"/>
 		</menu>
 		<menu label="自然環境エディター" name="Environment Editor">
 			<menu_item_call label="自然環境の設定..." name="Environment Settings"/>
@@ -165,8 +165,6 @@
 	</menu>
 	<menu label="ヘルプ" name="Help">
 		<menu_item_call label="ハウツー..." name="How To"/>
-		<menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/>
-		<menu_item_call label="ユーザーガイド" name="User’s guide"/>
 		<menu_item_call label="ナレッジベース" name="Knowledge Base"/>
 		<menu_item_call label="Wiki" name="Wiki"/>
 		<menu_item_call label="コミュニティフォーラム" name="Community Forums"/>
@@ -188,6 +186,7 @@
 		<menu label="パフォーマンスツール" name="Performance Tools">
 			<menu_item_call label="ラグ計測器" name="Lag Meter"/>
 			<menu_item_check label="統計バー" name="Statistics Bar"/>
+			<menu_item_call label="シーン ロード統計情報" name="Scene Load Statistics"/>
 			<menu_item_check label="アバターの描画ウェイトを表示" name="Avatar Rendering Cost"/>
 		</menu>
 		<menu label="ハイライトと目に見えるもの" name="Highlighting and Visibility">
@@ -250,6 +249,7 @@
 			<menu_item_check label="ファーストタイマー" name="Fast Timers"/>
 			<menu_item_check label="メモリ" name="Memory"/>
 			<menu_item_check label="風景の統計" name="Scene Statistics"/>
+			<menu_item_check label="シーン ローディング モニター" name="Scene Loading Monitor"/>
 			<menu_item_call label="テクスチャ取得デバッグコンソール" name="Texture Fetch Debug Console"/>
 			<menu_item_call label="リージョン情報をデバッグコンソールへ" name="Region Info to Debug Console"/>
 			<menu_item_call label="グループ情報をデバッグコンソールへ" name="Group Info to Debug Console"/>
@@ -286,6 +286,7 @@
 			<menu_item_check label="定期的に遅いフレームを挿入する" name="Periodic Slow Frame"/>
 			<menu_item_check label="フレームテスト" name="Frame Test"/>
 			<menu_item_call label="フレームプロフィール" name="Frame Profile"/>
+			<menu_item_call label="ベンチマーク" name="Benchmark"/>
 		</menu>
 		<menu label="メタデータのレンダー" name="Render Metadata">
 			<menu_item_check label="バウンディングボックス" name="Bounding Boxes"/>
@@ -304,6 +305,7 @@
 			<menu_item_check label="制作キュー" name="Build Queue"/>
 			<menu_item_check label="å…‰" name="Lights"/>
 			<menu_item_check label="骨組みの衝突判定" name="Collision Skeleton"/>
+			<menu_item_check label="ジョイント" name="Joints"/>
 			<menu_item_check label="レイキャスト" name="Raycast"/>
 			<menu_item_check label="風のベクトル" name="Wind Vectors"/>
 			<menu_item_check label="描画の詳細度" name="rendercomplexity"/>
@@ -336,6 +338,7 @@
 			<menu_item_check label="装着された光源を描画する" name="Render Attached Lights"/>
 			<menu_item_check label="取り付けられたパーティクルを描画する" name="Render Attached Particles"/>
 			<menu_item_check label="マウスオーバーで強調表示する" name="Hover Glow Objects"/>
+			<menu_item_call label="キャッシュをすぐにクリア" name="Cache Clear"/>
 		</menu>
 		<menu label="ネットワーク" name="Network">
 			<menu_item_check label="エージェントを一時停止する" name="AgentPause"/>
@@ -368,7 +371,6 @@
 			<menu_item_call label="フォーカスホールダーをダンプ" name="Dump Focus Holder"/>
 			<menu_item_call label="選択したオブジェクト情報をプリント" name="Print Selected Object Info"/>
 			<menu_item_call label="エージェント情報をプリント" name="Print Agent Info"/>
-			<menu_item_check label="地域デバッグコンソール" name="Region Debug Console"/>
 			<menu_item_check label="SelectMgr のデバッグ" name="Debug SelectMgr"/>
 			<menu_item_check label="ダブルクリック" name="Debug Clicks"/>
 			<menu_item_check label="デバッグ表示" name="Debug Views"/>
diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml
index f1c916bf533f605086207a7622e0322ae5082b48..518f82daaf438e82358d3a63e448760416d5f578 100755
--- a/indra/newview/skins/default/xui/ja/notifications.xml
+++ b/indra/newview/skins/default/xui/ja/notifications.xml
@@ -113,13 +113,13 @@
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxImportFailed">
-		転送に失敗
+		&apos;[ERROR_CODE]&apos; エラーで転送できませんでした
 
 システムまたはネットワークのエラーのため、フォルダはマーケットプレイスに送信されませんでした。後でもう一度お試しください。
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxInitFailed">
-		マーケットプレイスの初期化に失敗
+		&apos;[ERROR_CODE]&apos; エラーでマーケットプレイスを初期化できませんでした
 
 システムまたはネットワークのエラーのため、マーケットプレイスの初期化に失敗しました。後でもう一度お試しください。
 		<usetemplate name="okbutton" yestext="OK"/>
@@ -1768,6 +1768,10 @@ http://wiki.secondlife.com/wiki/Setting_your_display_name を参照してくだ
 		このまま &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; にテレポートしますか?
 		<usetemplate ignoretext="ランドマークにテレポートしたいかどうかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
 	</notification>
+	<notification name="TeleportViaSLAPP">
+		このまま &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; にテレポートしますか?
+		<usetemplate ignoretext="SLAPP でテレポートすることを確認" name="okcancelignore" notext="取り消し" yestext="テレポート"/>
+	</notification>
 	<notification name="TeleportToPick">
 		[PICK] にテレポートしますか?
 		<usetemplate ignoretext="ピックの場所にテレポートしたいかどうかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
@@ -1979,6 +1983,9 @@ http://wiki.secondlife.com/wiki/Setting_your_display_name を参照してくだ
 		新しい不動産マネージャーの追加に関する問題:
 いずれかの不動産のマネージャーリストが満杯になっています。
 	</notification>
+	<notification name="ProblemAddingEstateBanManager">
+		不動産所有者または管理者を禁止リストに追加できません。
+	</notification>
 	<notification name="ProblemAddingEstateGeneric">
 		不動産リストの追加に関する問題:
 いずれかの不動産のリストが満杯になっています。
@@ -3072,9 +3079,9 @@ M キーを押して変更します。
 
 &lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
 
-次の住人と共有しますか?
+次の住人と共有:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/>
 	</notification>
 	<notification name="ShareFolderConfirmation">
@@ -3086,7 +3093,7 @@ M キーを押して変更します。
 
 次の住人と共有:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="取り消し" yestext="Ok"/>
 	</notification>
 	<notification name="ItemsShared">
@@ -3541,10 +3548,6 @@ M キーを押して変更します。
 	<notification name="EjectComingSoon">
 		ここへの入場が許可されていないため、[EJECT_TIME] 秒後に追放されます。
 	</notification>
-	<notification name="NoEnterServerFull">
-		サーバーが埋まっているため、
-このリージョンに入場することはできません。
-	</notification>
 	<notification name="SaveBackToInvDisabled">
 		「「持ち物」に保存」が無効になっています。
 	</notification>
@@ -3729,6 +3732,9 @@ M キーを押して変更します。
 	<notification name="LinkFailedTooMuchPhysics">
 		オブジェクトが使用している物理リソースが多すぎたため、ダイナミックスが無効にされました。
 	</notification>
+	<notification name="EstateManagerFailedllTeleportHome">
+		[SLURL] のオブジェクト &apos;[OBJECT_NAME]&apos; で不動産マネージャーのホームをテレポートできません。
+	</notification>
 	<notification name="TeleportedHomeByObjectOnParcel">
 		区画 &apos;[PARCEL_NAME]&apos; のオブジェクト &apos;[OBJECT_NAME]&apos; によって、あなたはホームにテレポートされました。
 	</notification>
@@ -3919,13 +3925,18 @@ M キーを押して変更します。
 		選択範囲のリース区画の数が少ないため、参加できません。
 	</notification>
 	<notification name="CantDivideLandMultipleParcelsSelected">
-		土地を分割できません。\n区画が複数選択されています。\nもっと小さい土地を選択してみてください。
+		土地を分割できません。
+複数の区画が選択されました。
+小さい区画を選択してください。
 	</notification>
 	<notification name="CantDivideLandCantFindParcel">
-		土地を分解できません。\n区画が見つかりません。\n「Help」&gt;「Reprt Bug...」でレポートを行ってください。
+		土地を分割できません。
+区画が見つかりません。
+「ヘルプ」 -&gt; 「バグの報告」で報告してください。
 	</notification>
 	<notification name="CantDivideLandWholeParcelSelected">
-		土地を分割できません。区画全体を選択します。\n小さい土地を選択してみてください。
+		土地を分割できません。区画全体が選択されています。
+小さい区画を選択してください。
 	</notification>
 	<notification name="LandHasBeenDivided">
 		土地が分割されています。
@@ -4065,4 +4076,8 @@ M キーを押して変更します。
 		ファイルを移動できません。以前のパスがリストアされました。
 		<usetemplate ignoretext="ファイルを移動できません。以前のパスがリストアされました。" name="okignore" yestext="OK"/>
 	</notification>
+	<notification name="ChatHistoryIsBusyAlert">
+		チャット履歴ファイルが前の操作でビジーです。2、3 分経ってからもう一度試すか、別の人とのチャットを選択してください。
+		<usetemplate name="okbutton" yestext="OK"/>
+	</notification>
 </notifications>
diff --git a/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml
index 7aa1aec6d0e551bda507fb60cab710774d51fa3d..ebcb36d950c172719c5297d25b5e0ab7e838d8f1 100755
--- a/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <panel label="グループインベントリ" name="GroupInfo">
 	<panel.string name="default_needs_apply_text">
 		保存していない変更があります
@@ -20,7 +20,7 @@
 		<layout_panel name="group_accordions">
 			<accordion name="groups_accordion">
 				<accordion_tab name="group_general_tab" title="一般"/>
-				<accordion_tab name="group_roles_tab" title="役割"/>
+				<accordion_tab name="group_roles_tab" title="役割 &amp; メンバー"/>
 				<accordion_tab name="group_notices_tab" title="通知"/>
 				<accordion_tab name="group_land_tab" title="土地・資産"/>
 			</accordion>
diff --git a/indra/newview/skins/default/xui/ja/panel_group_roles.xml b/indra/newview/skins/default/xui/ja/panel_group_roles.xml
index d40dedf5669101f4f4a7aa7ec776c209fcbd13a8..8ca63988c33aa5e880aff59bcea8500e30978ba5 100755
--- a/indra/newview/skins/default/xui/ja/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/ja/panel_group_roles.xml
@@ -21,6 +21,7 @@ Ctrl キーを押しながらメンバー名をクリックすると
 				<name_list.columns label="メンバー" name="name"/>
 				<name_list.columns label="寄付" name="donated"/>
 				<name_list.columns label="ステータス" name="online"/>
+				<name_list.columns label="職名" name="title"/>
 			</name_list>
 			<button label="招待" name="member_invite"/>
 			<button label="追放" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_region_debug.xml b/indra/newview/skins/default/xui/ja/panel_region_debug.xml
index 169da27ce5e33a6b300ac0bc3592bf1bed18735c..908af3d66a353be39455f0ec39729b5393dc0f01 100755
--- a/indra/newview/skins/default/xui/ja/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/ja/panel_region_debug.xml
@@ -7,11 +7,8 @@
 		未知
 	</text>
 	<check_box label="スクリプト無効化" name="disable_scripts_check" tool_tip="この地域のスクリプトをすべて無効にします"/>
-	<button label="?" name="disable_scripts_help"/>
 	<check_box label="衝突を無効化" name="disable_collisions_check" tool_tip="この地域の非アバター衝突を無効にします"/>
-	<button label="?" name="disable_collisions_help"/>
 	<check_box label="物理作用を無効化" name="disable_physics_check" tool_tip="この地域の物理作用をすべて無効にします"/>
-	<button label="?" name="disable_physics_help"/>
 	<button label="適用" name="apply_btn"/>
 	<text name="objret_text_lbl" width="120">
 		オブジェクトの返却
@@ -31,10 +28,8 @@
 	<check_box label="この不動産に属するすべてのリージョンのもの" name="return_estate_wide" tool_tip="この不動産に含まれているすべての地域のオブジェクトを返却します"/>
 	<button label="返却" name="return_btn"/>
 	<button label="上部コライダー取得" name="top_colliders_btn" tool_tip="衝突する可能性が最も高いオブジェクトのリスト"/>
-	<button label="?" name="top_colliders_help"/>
-	<button label="上部スクリプト取得" name="top_scripts_btn" tool_tip="スクリプトの実行に最も時間を費やしているオブジェクトのリスト"/>
-	<button label="?" name="top_scripts_help"/>
 	<button label="地域再起動" name="restart_btn" tool_tip="2分間のカウントダウン後、地域を再起動します"/>
-	<button label="?" name="restart_help"/>
+	<button label="上部スクリプト取得" name="top_scripts_btn" tool_tip="スクリプトの実行に最も時間を費やしているオブジェクトのリスト"/>
 	<button label="再起動をキャンセル" name="cancel_restart_btn" tool_tip="リージョンの再起動をキャンセル"/>
+	<button label="地域デバッグコンソール" name="region_debug_console_btn" tool_tip="地域デバッグコンソールを開く"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_region_general.xml b/indra/newview/skins/default/xui/ja/panel_region_general.xml
index 65148cf1eee554c772b693c81ec7c9d477a04e10..d23007dc6b24271e475b70a34311f41011350e15 100755
--- a/indra/newview/skins/default/xui/ja/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/ja/panel_region_general.xml
@@ -20,12 +20,12 @@
 	</text>
 	<check_box label="地形編集をブロック" name="block_terraform_check"/>
 	<check_box label="飛行をブロック" name="block_fly_check"/>
+	<check_box label="区画の飛行をブロック" name="block_fly_over_check" tool_tip="アクセス チェックを上方向に拡大し、区画を超える飛行を防ぎます"/>
 	<check_box label="ダメージを許可" name="allow_damage_check"/>
 	<check_box label="プッシュを制限" name="restrict_pushobject"/>
 	<check_box label="土地の再販を許可" name="allow_land_resell_check"/>
 	<check_box label="土地の統合・分割を許可" name="allow_parcel_changes_check"/>
 	<check_box label="土地の検索表示をブロック" name="block_parcel_search_check" tool_tip="検索結果で、この地域と区画を表示するかどうかの設定です"/>
-	<check_box label="メッシュオブジェクトを許可" name="mesh_rez_enabled_check" tool_tip="このリージョンでメッシュオブジェクトの Rez を許可する"/>
 	<spinner label="アバター数上限" name="agent_limit_spin"/>
 	<spinner label="物体ボーナス" name="object_bonus_spin"/>
 	<text label="成人指定" name="access_text">
diff --git a/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml b/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
index 32e84ce5429f182cb76a519a53bb4551c4a1f24b..5aa0e86a5b58d1a08cea129d46a556bb0c5c9610 100755
--- a/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
@@ -28,12 +28,12 @@
 					<button label="プロフィール" name="info_btn" tool_tip="オブジェクトのプロフィールを表示する"/>
 				</layout_panel>
 				<layout_panel name="share_btn_lp">
-					<button label="共有" name="share_btn" tool_tip="インベントリのアイテムを共有する"/>
+					<button label="共有" name="share_btn" tool_tip="「持ち物」のアイテムを共有する"/>
 				</layout_panel>
 				<layout_panel name="shop_btn_lp">
-					<button label="店" name="shop_btn" tool_tip="マーケットプレイスのサイトを開く"/>
+					<button label="ショッピング" name="shop_btn" tool_tip="マーケットプレイスのサイトを開く"/>
 					<button label="装着" name="wear_btn" tool_tip="選択したアウトフィットを着用する"/>
-					<button label="プレイ" name="play_btn"/>
+					<button label="再生" name="play_btn"/>
 					<button label="テレポート" name="teleport_btn" tool_tip="該当するエリアにテレポートする"/>
 				</layout_panel>
 			</layout_stack>
diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml
index 36966d6825ca9eb50091cde7c6209a546adab668..88fb652399fe73c63ebcd786b7ce7b83c8ebdf1f 100755
--- a/indra/newview/skins/default/xui/ja/strings.xml
+++ b/indra/newview/skins/default/xui/ja/strings.xml
@@ -37,6 +37,44 @@
 	<string name="StartupRequireDriverUpdate">
 		グラフィックを初期化できませんでした。グラフィックドライバを更新してください。
 	</string>
+	<string name="AboutHeader">
+		[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+	</string>
+	<string name="AboutCompiler">
+		コンパイラー [COMPILER] [COMPILER_VERSION] バージョン
+	</string>
+	<string name="AboutPosition">
+		あなたの現在地は、[POSITION_LOCAL_0,number,1]、[POSITION_LOCAL_1,number,1]、[POSITION_LOCAL_2,number,1] の [REGION] です。位置は &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; です。([HOSTIP])
+SLURL:&lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(グローバル座標 [POSITION_0,number,1]、[POSITION_1,number,1]、[POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+	</string>
+	<string name="AboutSystem">
+		CPU:[CPU]
+メモリ:[MEMORY_MB] MB
+OS バージョン:[OS_VERSION]
+グラフィックカード製造元:[GRAPHICS_CARD_VENDOR]
+グラフィックカード:[GRAPHICS_CARD]
+	</string>
+	<string name="AboutDriver">
+		Windows グラフィックドライババージョン:[GRAPHICS_DRIVER_VERSION]
+	</string>
+	<string name="AboutLibs">
+		OpenGL バージョン:[OPENGL_VERSION]
+
+libcurl バージョン:[LIBCURL_VERSION]
+J2C デコーダバージョン:[J2C_VERSION]
+オーディオドライババージョン:[AUDIO_DRIVER_VERSION]
+Qt Webkit バージョン:[QT_WEBKIT_VERSION]
+ボイスサーバーバージョン:[VOICE_VERSION]
+	</string>
+	<string name="AboutTraffic">
+		パケットロス:[PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+	</string>
+	<string name="ErrorFetchingServerReleaseNotesURL">
+		サーバーのリリースノートの URL を取得中にエラーが発生しました。
+	</string>
 	<string name="ProgressRestoring">
 		復元中です...
 	</string>
@@ -937,15 +975,15 @@ support@secondlife.com にお問い合わせください。
 	<string name="ControlYourCamera">
 		カメラのコントロール
 	</string>
+	<string name="TeleportYourAgent">
+		あなたをテレポート
+	</string>
 	<string name="NotConnected">
 		接続されていません
 	</string>
 	<string name="AgentNameSubst">
 		(あなた)
 	</string>
-	<string name="TeleportYourAgent">
-		あなたをテレポート
-	</string>
 	<string name="JoinAnExperience">
 		体験に参加する
 	</string>
@@ -1270,8 +1308,7 @@ support@secondlife.com にお問い合わせください。
 	<string name="InventoryInboxNoItems">
 		マーケットプレイスで購入した商品はここに表示されます。その後、アイテムをインベントリにドラッグすれば、それらのアイテムを使用できます。
 	</string>
-  <string name="Unconstrained">非拘束</string>
-  <string name="MarketplaceURL">
+	<string name="MarketplaceURL">
 		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
 	</string>
 	<string name="MarketplaceURL_CreateStore">
@@ -1300,6 +1337,18 @@ support@secondlife.com にお問い合わせください。
 	<string name="InventoryOutboxNoItems">
 		[[MARKETPLACE_DASHBOARD_URL] マーケットプレイス]に販売するアイテムを一覧するには、フォルダをこのエリアにドラッグし、「マーケットプレイスに送信」をクリックします。
 	</string>
+	<string name="InventoryOutboxInitializingTitle">
+		マーケットプレイスの初期化。
+	</string>
+	<string name="InventoryOutboxInitializing">
+		[[MARKETPLACE_CREATE_STORE_URL] マーケットプレイス ストア] のアカウントにアクセスしています。
+	</string>
+	<string name="InventoryOutboxErrorTitle">
+		マーケットプレイス エラー。
+	</string>
+	<string name="InventoryOutboxError">
+		[[MARKETPLACE_CREATE_STORE_URL] マーケットプレイス ストア] がエラーを返しています。
+	</string>
 	<string name="Marketplace Error None">
 		エラーなし
 	</string>
@@ -1327,6 +1376,9 @@ support@secondlife.com にお問い合わせください。
 	<string name="Open landmarks">
 		ランドマークを開く
 	</string>
+	<string name="Unconstrained">
+		非拘束
+	</string>
 	<string name="no_transfer" value=" (再販・プレゼント不可)"/>
 	<string name="no_modify" value=" (編集不可)"/>
 	<string name="no_copy" value=" (コピー不可)"/>
@@ -1727,6 +1779,9 @@ support@secondlife.com にお問い合わせください。
 	<string name="CompileQueueDownloadedCompiling">
 		ダウンロード完了、コンパイル中
 	</string>
+	<string name="CompileQueueServiceUnavailable">
+		スクリプト コンパイル サービスを利用できません
+	</string>
 	<string name="CompileQueueScriptNotFound">
 		サーバー上にスクリプトが見つかりません。
 	</string>
diff --git a/indra/newview/skins/default/xui/pl/floater_lagmeter.xml b/indra/newview/skins/default/xui/pl/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8038550bcb30637ac063dfd4edf0ea17ae6dd2d0
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="POMIAR LAGÓW">
+	<floater.string name="max_title_msg">
+		Pomiar lagów
+	</floater.string>
+	<floater.string name="max_width_px">
+		360
+	</floater.string>
+	<floater.string name="min_title_msg">
+		Lag
+	</floater.string>
+	<floater.string name="min_width_px">
+		90
+	</floater.string>
+	<floater.string name="client_text_msg">
+		Klient
+	</floater.string>
+	<floater.string name="client_frame_rate_critical_fps">
+		10
+	</floater.string>
+	<floater.string name="client_frame_rate_warning_fps">
+		15
+	</floater.string>
+	<floater.string name="client_frame_time_window_bg_msg">
+		W normie, okno w tle
+	</floater.string>
+	<floater.string name="client_frame_time_critical_msg">
+		Ilość klatek na sekundę klienta poniżej [CLIENT_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="client_frame_time_warning_msg">
+		Ilość klatek na sekundę pomiędzy [CLIENT_FRAME_RATE_CRITICAL] i [CLIENT_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="client_frame_time_normal_msg">
+		W normie
+	</floater.string>
+	<floater.string name="client_draw_distance_cause_msg">
+		Przyczyna: dystans rysowania jest za wysoki
+	</floater.string>
+	<floater.string name="client_texture_loading_cause_msg">
+		Przyczyna: Å‚adowanie obrazu
+	</floater.string>
+	<floater.string name="client_texture_memory_cause_msg">
+		Przyczyna: za dużo obrazów w pamięci
+	</floater.string>
+	<floater.string name="client_complex_objects_cause_msg">
+		Przyczyna: za dużo złożonych obiektów
+	</floater.string>
+	<floater.string name="network_text_msg">
+		Sieć
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_pct">
+		10
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_pct">
+		5
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_msg">
+		Utrata pakietów przekracza [NETWORK_PACKET_LOSS_CRITICAL]%
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_msg">
+		Utrata pakietów przekracza [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]%
+	</floater.string>
+	<floater.string name="network_performance_normal_msg">
+		W normie
+	</floater.string>
+	<floater.string name="network_ping_critical_ms">
+		600
+	</floater.string>
+	<floater.string name="network_ping_warning_ms">
+		300
+	</floater.string>
+	<floater.string name="network_ping_critical_msg">
+		Fatalny ping - [NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_ping_warning_msg">
+		Wolny ping - [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_packet_loss_cause_msg">
+		Złe połączenie lub przepustowość.
+	</floater.string>
+	<floater.string name="network_ping_cause_msg">
+		Złe połączenie lub aplikacja współdzieląca pliki.
+	</floater.string>
+	<floater.string name="server_text_msg">
+		Serwer
+	</floater.string>
+	<floater.string name="server_frame_rate_critical_fps">
+		20
+	</floater.string>
+	<floater.string name="server_frame_rate_warning_fps">
+		30
+	</floater.string>
+	<floater.string name="server_single_process_max_time_ms">
+		20
+	</floater.string>
+	<floater.string name="server_frame_time_critical_msg">
+		Ilość klatek na sekundę poniżej [SERVER_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="server_frame_time_warning_msg">
+		Ilość klatek na sekundę pomiędzy [SERVER_FRAME_RATE_CRITICAL] i [SERVER_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="server_frame_time_normal_msg">
+		W normie
+	</floater.string>
+	<floater.string name="server_physics_cause_msg">
+		Przyczyna: za dużo obiektów fizycznych
+	</floater.string>
+	<floater.string name="server_scripts_cause_msg">
+		Przyczyna: za dużo obieków skryptowanych
+	</floater.string>
+	<floater.string name="server_net_cause_msg">
+		Przyczyna: za duży ruch w sieci
+	</floater.string>
+	<floater.string name="server_agent_cause_msg">
+		Przyczyna: za dużo poruszających się awatarów w regionie
+	</floater.string>
+	<floater.string name="server_images_cause_msg">
+		Przyczyna: za dużo kalkulacji obrazu
+	</floater.string>
+	<floater.string name="server_generic_cause_msg">
+		Przyczyna: symulator Å‚aduje siÄ™ zbyt powoli
+	</floater.string>
+	<floater.string name="smaller_label">
+		&gt;&gt;
+	</floater.string>
+	<floater.string name="bigger_label">
+		&lt;&lt;
+	</floater.string>
+	<button label="" label_selected="" name="client_lagmeter" tool_tip="Status lagów klienta"/>
+	<text name="client">
+		Klient
+	</text>
+	<text name="client_text">
+		W normie
+	</text>
+	<button label="" label_selected="" name="network_lagmeter" tool_tip="Network lag status"/>
+	<text name="network">
+		Sieć
+	</text>
+	<text name="network_text">
+		W normie
+	</text>
+	<button label="" label_selected="" name="server_lagmeter" tool_tip="Server lag status"/>
+	<text name="server">
+		Serwer
+	</text>
+	<text name="server_text">
+		W normie
+	</text>
+	<button label="&gt;&gt;" name="minimize" tool_tip="ZÅ‚Ä…cz rozmiar pliku xml"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_lagmeter.xml b/indra/newview/skins/default/xui/pt/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9932318293fea64443288e00255d8f79d31296f4
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_lagmeter.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="LAG - Índice">
+	<floater.string name="max_title_msg">
+		Medidor de Atraso
+	</floater.string>
+	<floater.string name="max_width_px">
+		360
+	</floater.string>
+	<floater.string name="min_title_msg">
+		Atraso
+	</floater.string>
+	<floater.string name="min_width_px">
+		90
+	</floater.string>
+	<floater.string name="client_text_msg">
+		Cliente
+	</floater.string>
+	<floater.string name="client_frame_rate_critical_fps">
+		10
+	</floater.string>
+	<floater.string name="client_frame_rate_warning_fps">
+		15
+	</floater.string>
+	<floater.string name="client_frame_time_window_bg_msg">
+		Normal, janela por baixo
+	</floater.string>
+	<floater.string name="client_frame_time_critical_msg">
+		Taxa de quadros do Cliente abaixo de [CLIENT_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="client_frame_time_warning_msg">
+		Taxa de quadros do Cliente entre [CLIENT_FRAME_RATE_CRITICAL] e [CLIENT_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="client_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="client_draw_distance_cause_msg">
+		Causa possível: Distância de desenho ajustada muito alta
+	</floater.string>
+	<floater.string name="client_texture_loading_cause_msg">
+		Causa possível: Carregamento de Imagens
+	</floater.string>
+	<floater.string name="client_texture_memory_cause_msg">
+		Causa possível: Muitas imagens na memória
+	</floater.string>
+	<floater.string name="client_complex_objects_cause_msg">
+		Causa possível: Muitos objetos complexos na cena
+	</floater.string>
+	<floater.string name="network_text_msg">
+		Rede
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_pct">
+		10
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_pct">
+		5
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_msg">
+		Conexão está caindo para cerca de [NETWORK_PACKET_LOSS_CRITICAL]% de pacotes
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_msg">
+		Conexão está caindo [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% de pacotes
+	</floater.string>
+	<floater.string name="network_performance_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="network_ping_critical_ms">
+		600
+	</floater.string>
+	<floater.string name="network_ping_warning_ms">
+		300
+	</floater.string>
+	<floater.string name="network_ping_critical_msg">
+		Tempo de conexão de ping é cerca de  [NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_ping_warning_msg">
+		Tempo de conexão de ping é [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_packet_loss_cause_msg">
+		Possível conexão ruim ou &apos;Largura de Banda&apos; escolhida muito alta.
+	</floater.string>
+	<floater.string name="network_ping_cause_msg">
+		Possível conexão ruim ou aplicativos compartilhando arquivos.
+	</floater.string>
+	<floater.string name="server_text_msg">
+		Servidor
+	</floater.string>
+	<floater.string name="server_frame_rate_critical_fps">
+		20
+	</floater.string>
+	<floater.string name="server_frame_rate_warning_fps">
+		30
+	</floater.string>
+	<floater.string name="server_single_process_max_time_ms">
+		20
+	</floater.string>
+	<floater.string name="server_frame_time_critical_msg">
+		Taxa de quadros abaixo de [SERVER_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="server_frame_time_warning_msg">
+		Taxa de quadros entre [SERVER_FRAME_RATE_CRITICAL] e [SERVER_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="server_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="server_physics_cause_msg">
+		Causa possível: Muitos objetos físicos
+	</floater.string>
+	<floater.string name="server_scripts_cause_msg">
+		Causa possível: Muitos objetos com scripts
+	</floater.string>
+	<floater.string name="server_net_cause_msg">
+		Causa possível: Muito tráfego na rede
+	</floater.string>
+	<floater.string name="server_agent_cause_msg">
+		Causa possível: Muitas pessoas se movendo na região
+	</floater.string>
+	<floater.string name="server_images_cause_msg">
+		Causa possível: Muitos cálculos de imagem
+	</floater.string>
+	<floater.string name="server_generic_cause_msg">
+		Causa possível: Carga no simulador muito pesada
+	</floater.string>
+	<floater.string name="smaller_label">
+		&gt;&gt;
+	</floater.string>
+	<floater.string name="bigger_label">
+		&lt;&lt;
+	</floater.string>
+	<button label="" label_selected="" name="client_lagmeter" tool_tip="Status de atraso no Cliente"/>
+	<text name="client">
+		Cliente
+	</text>
+	<text font="SansSerifSmall" name="client_text">
+		Normal
+	</text>
+	<text left="30" name="client_lag_cause" right="-10"/>
+	<button label="" label_selected="" name="network_lagmeter" tool_tip="Status de atraso na rede"/>
+	<text name="network">
+		Rede
+	</text>
+	<text font="SansSerifSmall" name="network_text">
+		Normal
+	</text>
+	<text left="30" name="network_lag_cause" right="-10"/>
+	<button label="" label_selected="" name="server_lagmeter" tool_tip="Status de atraso no servidor"/>
+	<text name="server">
+		Servidor
+	</text>
+	<text font="SansSerifSmall" name="server_text">
+		Normal
+	</text>
+	<text left="30" name="server_lag_cause" right="-32"/>
+	<button label="&gt;&gt;" name="minimize" tool_tip="Alternar o tamanho da janela"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_region_restarting.xml b/indra/newview/skins/default/xui/pt/floater_region_restarting.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7fd13c0d756bda915792a3bd07446a4442c71c8d
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="REINICIANDO REGIÃO">
+	<string name="RegionName">
+		A região na qual você está ([NAME]) está prestes a ser reiniciada.
+
+Se permanecer aqui, você será desconectado.
+	</string>
+	<string name="RestartSeconds">
+		Segundos até o reinício
+[SECONDS]
+	</string>
+	<panel name="layout_panel_1">
+		<text name="region_name">
+			A região na qual você está (-Nome mais longo da região-) está prestes a ser reiniciada.
+
+Se permanecer aqui, você será desconectado.
+		</text>
+		<text name="restart_seconds">
+			Segundos até o reinício
+     32767
+		</text>
+	</panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/pt/floater_scene_load_stats.xml
new file mode 100644
index 0000000000000000000000000000000000000000..027e1ef3116db5182059ee73f540f61a8314d1df
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="ESTATÍSTICAS DE CARREGAMENTO DE CENA">
+	<button label="Pausar" name="playpause"/>
+	<scroll_container name="statistics_scroll">
+		<container_view name="statistics_view">
+			<stat_view label="Básico" name="basic">
+				<stat_bar label="Diferença de frame em pixels" name="frame difference"/>
+				<stat_bar label="Dados de UDP recebidos" name="bandwidth"/>
+				<stat_bar label="Bandwidth" name="packet_loss"/>
+			</stat_view>
+			<stat_view label="Avançado" name="advanced">
+				<stat_view label="Render" name="render">
+					<stat_bar label="Total Objects" name="objs"/>
+					<stat_bar label="New Objects" name="newobjs"/>
+					<stat_bar label="Taxa de acertos do cache do objeto" name="object_cache_hits"/>
+				</stat_view>
+				<stat_view label="Textura" name="texture">
+					<stat_bar label="Taxa de acertos do cache" name="texture_cache_hits"/>
+					<stat_bar label="Latência de leitura do cache" name="texture_cache_read_latency"/>
+					<stat_bar label="Contagem" name="numimagesstat"/>
+					<stat_bar label="Raw Count" name="numrawimagesstat"/>
+				</stat_view>
+				<stat_view label="Network" name="network">
+					<stat_bar label="Packets In" name="packetsinstat"/>
+					<stat_bar label="Packets Out" name="packetsoutstat"/>
+					<stat_bar label="Objetos" name="objectdatareceived"/>
+					<stat_bar label="Textura" name="texturedatareceived"/>
+					<stat_bar label="Asset" name="assetudpdatareceived"/>
+					<stat_bar label="Layers" name="layersdatareceived"/>
+					<stat_bar label="Actual In" name="messagedatain"/>
+					<stat_bar label="Actual Out" name="messagedataout"/>
+					<stat_bar label="Operações pendentes do VFS" name="vfspendingoperations"/>
+				</stat_view>
+			</stat_view>
+			<stat_view label="Simulator" name="sim">
+				<stat_bar label="Objetos" name="simobjects"/>
+				<stat_bar label="Active Objects" name="simactiveobjects"/>
+				<stat_bar label="Active Scripts" name="simactivescripts"/>
+				<stat_bar label="Packets In" name="siminpps"/>
+				<stat_bar label="Packets Out" name="simoutpps"/>
+				<stat_bar label="Pending Downloads" name="simpendingdownloads"/>
+				<stat_bar label="Pending Uploads" name="simpendinguploads"/>
+				<stat_bar label="Total Unacked Bytes" name="simtotalunackedbytes"/>
+				<stat_view label="Time (ms)" name="simperf">
+					<stat_bar label="Total Frame Time" name="simframemsec"/>
+					<stat_bar label="Net Time" name="simnetmsec"/>
+					<stat_bar label="Physics Time" name="simsimphysicsmsec"/>
+					<stat_bar label="Simulation Time" name="simsimothermsec"/>
+					<stat_bar label="Agent Time" name="simagentmsec"/>
+					<stat_bar label="Images Time" name="simimagesmsec"/>
+					<stat_bar label="Script Time" name="simscriptmsec"/>
+					<stat_bar label="Tempo restante" name="simsparemsec"/>
+					<stat_view label="Detalhes de tempo (ms)" name="timedetails">
+						<stat_bar label="Etapa física" name="simsimphysicsstepmsec"/>
+						<stat_bar label="Atualizar formas físicas" name="simsimphysicsshapeupdatemsec"/>
+						<stat_bar label="Física - outros" name="simsimphysicsothermsec"/>
+						<stat_bar label="Tempo de espera" name="simsleepmsec"/>
+						<stat_bar label="Bombear ES" name="simpumpiomsec"/>
+					</stat_view>
+				</stat_view>
+			</stat_view>
+		</container_view>
+	</scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_stats.xml b/indra/newview/skins/default/xui/pt/floater_stats.xml
index be53624145ff8043a6f6f2ec17d744d10513187c..ef3307f54a56e0ee83cde98863fa49f650867ecc 100755
--- a/indra/newview/skins/default/xui/pt/floater_stats.xml
+++ b/indra/newview/skins/default/xui/pt/floater_stats.xml
@@ -4,17 +4,20 @@
 		<container_view name="statistics_view">
 			<stat_view label="Básico" name="basic">
 				<stat_bar label="FPS" name="fps"/>
-				<stat_bar label="Bandwidth" name="bandwidth"/>
+				<stat_bar label="Dados de UDP recebidos" name="bandwidth"/>
 				<stat_bar label="Bandwidth" name="packet_loss"/>
 				<stat_bar label="Ping Sim" name="ping"/>
 			</stat_view>
 			<stat_view label="Avançado" name="advanced">
 				<stat_view label="Render" name="render">
-					<stat_bar label="KTris desenhados por quadro" name="ktrisframe"/>
-					<stat_bar label="KTris desenhados por segundo" name="ktrissec"/>
+					<stat_bar label="KTris por quadro" name="ktrisframe"/>
+					<stat_bar label="KTris por segundo" name="ktrissec"/>
 					<stat_bar label="Total Objects" name="objs"/>
 					<stat_bar label="New Objects" name="newobjs"/>
 					<stat_bar label="Taxa de acertos do cache do objeto" name="object_cache_hits"/>
+					<stat_bar label="Consultas de oclusão realizadas" name="occlusion_queries"/>
+					<stat_bar label="Objetos ocultos" name="occluded"/>
+					<stat_bar label="Objeto não oculto" name="unoccluded"/>
 				</stat_view>
 				<stat_view label="Texture" name="texture">
 					<stat_bar label="Taxa de acertos do cache" name="texture_cache_hits"/>
@@ -26,15 +29,32 @@
 					<stat_bar label="Raw Mem" name="rawmemstat"/>
 					<stat_bar label="Bound Mem" name="glboundmemstat"/>
 				</stat_view>
+				<stat_view label="Uso de memória" name="memory">
+					<stat_bar label="LLTrace" name="LLTrace"/>
+					<stat_bar label="Interface" name="LLView"/>
+					<stat_bar label="Fontes" name="LLFontFreetype"/>
+					<stat_bar label="Inventário" name="LLInventoryObject"/>
+					<stat_bar label="Objetos do visualizador" name="LLViewerObject"/>
+					<stat_bar label="Dados do grupo de octrees" name="LLViewerOctreeGroup"/>
+					<stat_bar label="Dados da octree" name="LLViewerOctreeEntry"/>
+					<stat_bar label="Cache de objetos do visualizador" name="LLVOCacheEntry"/>
+					<stat_bar label="Drawables" name="LLDrawable"/>
+					<stat_bar label="Dados do rosto" name="LLFace"/>
+					<stat_bar label="Informações de desenho" name="LLDrawInfo"/>
+					<stat_bar label="Dados de textura" name="LLTexture"/>
+					<stat_bar label="Dados de imagem" name="LLImage"/>
+					<stat_bar label="Dados de imagem do GL" name="LLImageGL"/>
+					<stat_bar label="Buffers do Vertex" name="LLVertexBuffer"/>
+				</stat_view>
 				<stat_view label="Rede" name="network">
 					<stat_bar label="Packets In" name="packetsinstat"/>
 					<stat_bar label="Packets Out" name="packetsoutstat"/>
-					<stat_bar label="Objects" name="objectkbitstat"/>
-					<stat_bar label="Texture" name="texturekbitstat"/>
-					<stat_bar label="Asset" name="assetkbitstat"/>
-					<stat_bar label="Layers" name="layerskbitstat"/>
-					<stat_bar label="Actual In" name="actualinkbitstat"/>
-					<stat_bar label="Actual Out" name="actualoutkbitstat"/>
+					<stat_bar label="Objetos" name="objectdatareceived"/>
+					<stat_bar label="Textura" name="texturedatareceived"/>
+					<stat_bar label="Asset" name="assetudpdatareceived"/>
+					<stat_bar label="Layers" name="layersdatareceived"/>
+					<stat_bar label="Actual In" name="messagedatain"/>
+					<stat_bar label="Actual Out" name="messagedataout"/>
 					<stat_bar label="Operações pendentes do VFS" name="vfspendingoperations"/>
 				</stat_view>
 			</stat_view>
@@ -53,7 +73,8 @@
 					<stat_bar label="Etapas de silhueta ignoradas" name="simsimskippedsilhouettesteps"/>
 					<stat_bar label="Personagens atualizados" name="simsimpctsteppedcharacters"/>
 				</stat_view>
-				<stat_view label="Time (ms)" name="simperf">
+				<stat_bar label="Total de dados não reconhecidos" name="simtotalunackedbytes"/>
+				<stat_view label="Hora" name="simperf">
 					<stat_bar label="Total Frame Time" name="simframemsec"/>
 					<stat_bar label="Net Time" name="simnetmsec"/>
 					<stat_bar label="Physics Time" name="simsimphysicsmsec"/>
@@ -62,7 +83,7 @@
 					<stat_bar label="Images Time" name="simimagesmsec"/>
 					<stat_bar label="Script Time" name="simscriptmsec"/>
 					<stat_bar label="Tempo restante" name="simsparemsec"/>
-					<stat_view label="Detalhes de tempo (ms)" name="timedetails">
+					<stat_view label="Detalhes de hora" name="timedetails">
 						<stat_bar label="Etapa física" name="simsimphysicsstepmsec"/>
 						<stat_bar label="Atualizar formas físicas" name="simsimphysicsshapeupdatemsec"/>
 						<stat_bar label="Física - outros" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml b/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml
index beba969b7ef529e7641eee5d971226c40cc73655..f6211790a87001bfb2a84fa0ff999a7af6a55082 100755
--- a/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
 <menu name="Avatar Icon Menu">
 	<menu_item_call label="Ver perfil" name="Show Profile"/>
 	<menu_item_call label="Enviar MI..." name="Send IM"/>
+	<menu_item_call label="Solicitar teletransporte" name="Request Teleport"/>
 	<menu_item_call label="Adicionar amigo..." name="Add Friend"/>
 	<menu_item_call label="Remover amigo..." name="Remove Friend"/>
 </menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory.xml b/indra/newview/skins/default/xui/pt/menu_inventory.xml
index a3a648eb34cb1c3bf1f1f5fc1f77bb59cf99bef5..636b356c8baa842d92c084f5b446c5a1ea492c96 100755
--- a/indra/newview/skins/default/xui/pt/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inventory.xml
@@ -70,6 +70,7 @@
 	<menu_item_call label="Executar som" name="Sound Play"/>
 	<menu_item_call label="Copiar SLurl" name="url_copy"/>
 	<menu_item_call label="Sobre o marco" name="About Landmark"/>
+	<menu_item_call label="Mostrar no mapa" name="show_on_map"/>
 	<menu_item_call label="Executar animação" name="Animation Play"/>
 	<menu_item_call label="Executar áudio" name="Animation Audition"/>
 	<menu_item_call label="Mandar MI" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_login.xml b/indra/newview/skins/default/xui/pt/menu_login.xml
index cd840f3137f475fe64cac711dd9e66a507430eec..29dae6292a5004739b3995b3a3502493422b47b8 100755
--- a/indra/newview/skins/default/xui/pt/menu_login.xml
+++ b/indra/newview/skins/default/xui/pt/menu_login.xml
@@ -5,7 +5,15 @@
 		<menu_item_call label="Sair do [APP_NAME]" name="Quit"/>
 	</menu>
 	<menu label="Ajuda" name="Help">
-		<menu_item_call label="Ajuda do [SECOND_LIFE]" name="Second Life Help"/>
+		<menu_item_call label="Como..." name="How To"/>
+		<menu_item_call label="Início rápido" name="Quickstart"/>
+		<menu_item_call label="Base de conhecimento" name="Knowledge Base"/>
+		<menu_item_call label="Wiki" name="Wiki"/>
+		<menu_item_call label="Fóruns da comunidade" name="Community Forums"/>
+		<menu_item_call label="Portal de suporte" name="Support portal"/>
+		<menu_item_call label="Notícias do [SECOND_LIFE]" name="Second Life News"/>
+		<menu_item_call label="Blogs do [SECOND_LIFE]" name="Second Life Blogs"/>
+		<menu_item_call label="Relatar bug" name="Report Bug"/>
 		<menu_item_call label="Sobre [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu_item_check label="Exibir menu de depuração" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml
index ec1e7a0950288a3ad0252f19826f2f10fb83e2eb..3a2b3a884760f0d6758afb271c847458a0a73bca 100755
--- a/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
 <context_menu name="Teleport History Item Context Menu">
 	<menu_item_call label="Teletransportar" name="Teleport"/>
 	<menu_item_call label="Mais informações" name="More Information"/>
-	<menu_item_call label="Copiar" name="CopyToClipboard"/>
+	<menu_item_call label="Copiar SLurl" name="CopyToClipboard"/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml
index e6eceb5f2fd689e3b76ce09a7506c79757df57c1..d106c47c64b7d3533da5fe748c72df6a94bd4262 100755
--- a/indra/newview/skins/default/xui/pt/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml
@@ -72,11 +72,11 @@
 			<menu_item_check label="Menu avançado" name="Show Advanced Menu"/>
 		</menu>
 		<menu label="Sol" name="Sun">
-			<menu_item_call label="Amanhecer" name="Sunrise"/>
-			<menu_item_call label="Meio-dia" name="Noon"/>
-			<menu_item_call label="Pôr-do-sol" name="Sunset"/>
-			<menu_item_call label="Meia-noite" name="Midnight"/>
-			<menu_item_call label="Usar configurações da região" name="Use Region Settings"/>
+			<menu_item_check label="Amanhecer" name="Sunrise"/>
+			<menu_item_check label="Meio-dia" name="Noon"/>
+			<menu_item_check label="Pôr-do-sol" name="Sunset"/>
+			<menu_item_check label="Meia-noite" name="Midnight"/>
+			<menu_item_check label="Usar configurações da região" name="Use Region Settings"/>
 		</menu>
 		<menu label="Editor de ambientes" name="Environment Editor">
 			<menu_item_call label="Configurações do ambiente..." name="Environment Settings"/>
@@ -165,8 +165,6 @@
 	</menu>
 	<menu label="Ajuda" name="Help">
 		<menu_item_call label="Como..." name="How To"/>
-		<menu_item_call label="[SECOND_LIFE] Ajuda" name="Second Life Help"/>
-		<menu_item_call label="Guia do usuário" name="User’s guide"/>
 		<menu_item_call label="Base de conhecimento" name="Knowledge Base"/>
 		<menu_item_call label="Wiki" name="Wiki"/>
 		<menu_item_call label="Fóruns da comunidade" name="Community Forums"/>
@@ -188,6 +186,7 @@
 		<menu label="Ferramentas de desempenho" name="Performance Tools">
 			<menu_item_call label="Medidor de lag" name="Lag Meter"/>
 			<menu_item_check label="Barra de estatísticas" name="Statistics Bar"/>
+			<menu_item_call label="Estatísticas de carregamento de cena" name="Scene Load Statistics"/>
 			<menu_item_check label="Mostrar peso do desenho para avatares" name="Avatar Rendering Cost"/>
 		</menu>
 		<menu label="Realces e visibilidade" name="Highlighting and Visibility">
@@ -249,6 +248,7 @@
 			<menu_item_check label="Tempos" name="Fast Timers"/>
 			<menu_item_check label="Memória" name="Memory"/>
 			<menu_item_check label="Estatísticas da cena" name="Scene Statistics"/>
+			<menu_item_check label="Monitor de carregamento de cena" name="Scene Loading Monitor"/>
 			<menu_item_call label="Painel de depuração de obtenção de textura" name="Texture Fetch Debug Console"/>
 			<menu_item_call label="Region Info to Debug Console" name="Region Info to Debug Console"/>
 			<menu_item_check label="Câmera:" name="Camera"/>
@@ -280,6 +280,7 @@
 			<menu_item_check label="Taxa de quadros aleatória" name="Randomize Framerate"/>
 			<menu_item_check label="Frame Test" name="Frame Test"/>
 			<menu_item_call label="Perfil do quadro" name="Frame Profile"/>
+			<menu_item_call label="Benchmark" name="Benchmark"/>
 		</menu>
 		<menu label="Render Metadata" name="Render Metadata">
 			<menu_item_check label="Normais" name="Normals"/>
@@ -287,6 +288,7 @@
 			<menu_item_check label="Tipo de atualização" name="Update Type"/>
 			<menu_item_check label="Dados LOD" name="LOD Info"/>
 			<menu_item_check label="Fila de construção" name="Build Queue"/>
+			<menu_item_check label="Junções" name="Joints"/>
 			<menu_item_check label="Vetores de vento" name="Wind Vectors"/>
 			<menu_item_check label="Renderizar complexidade" name="rendercomplexity"/>
 			<menu_item_check label="Bytes do anexo" name="attachment bytes"/>
@@ -312,6 +314,7 @@
 			<menu_item_check label="Render Attached Lights" name="Render Attached Lights"/>
 			<menu_item_check label="Render Attached Particles" name="Render Attached Particles"/>
 			<menu_item_check label="Objetos iridescentes" name="Hover Glow Objects"/>
+			<menu_item_call label="Limpar cache imediatamente" name="Cache Clear"/>
 		</menu>
 		<menu label="Rede" name="Network">
 			<menu_item_check label="Pausar avatar" name="AgentPause"/>
@@ -327,7 +330,6 @@
 			<menu_item_call label="Teste de mídia do navegador" name="Web Browser Test"/>
 			<menu_item_call label="Navegador de conteúdo web" name="Web Content Browser"/>
 			<menu_item_call label="Print Selected Object Info" name="Print Selected Object Info"/>
-			<menu_item_check label="Console de depuração de região" name="Region Debug Console"/>
 			<menu_item_check label="Debug Clicks" name="Debug Clicks"/>
 			<menu_item_check label="Debug Mouse Events" name="Debug Mouse Events"/>
 		</menu>
diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml
index d5096ec85864c9370bfdfbfc27a6e3b1f36bc221..4e6b0765cba2c8e7d456c5992118101e5c8ae06e 100755
--- a/indra/newview/skins/default/xui/pt/notifications.xml
+++ b/indra/newview/skins/default/xui/pt/notifications.xml
@@ -113,15 +113,15 @@ Consulte o [[MARKETPLACE_IMPORTS_URL] log de erros] para mais informações.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxImportFailed">
-		Falha de transferência
+		Falha na transferência com o erro &apos;[ERROR_CODE]&apos;
 
-Nenhuma pasta enviada para o Mercado devido a um erro do sistema ou da rede.  Tente novamente mais tarde.
+Nenhuma pasta foi enviada ao Marketplace devido a um erro do sistema ou da rede.  Tente novamente mais tarde.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxInitFailed">
-		Falha na inicialização do Mercado
+		Falha na inicialização do Marketplace com o erro &apos;[ERROR_CODE]&apos;
 
-Falha na inicialização do mercado devido a um erro do sistema ou da rede.  Tente novamente mais tarde.
+Ocorreu uma falha na inicialização do Marketplace devido a um erro do sistema ou da rede.  Tente novamente mais tarde.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="CompileQueueSaveText">
@@ -1722,6 +1722,10 @@ Por favor volte mais tarde.
 		Tem certeza de quer ser teletransportado para &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
 		<usetemplate ignoretext="Confirmar se eu quero ser teletransportado para marcos" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
 	</notification>
+	<notification name="TeleportViaSLAPP">
+		Tem certeza de quer ser teletransportado para &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
+		<usetemplate ignoretext="Confirmo que desejo me teleportar via SLAPP" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
+	</notification>
 	<notification name="TeleportToPick">
 		Teletransportar para [PICK]?
 		<usetemplate ignoretext="Confirmar se eu quero ser teletransportado para Destaques" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
@@ -1932,6 +1936,9 @@ Isto mudará milhares de regiões e fará o spaceserver soluçar.
 	<notification name="ProblemAddingEstateManager">
 		Problemas em adicionar um novo gerente da propriedade. Uma ou mais propriedades podem ter uma lista de gerentes cheia.
 	</notification>
+	<notification name="ProblemAddingEstateBanManager">
+		Não é possível adicionar proprietários ou gerentes de terreno à lista de bloqueio.
+	</notification>
 	<notification name="ProblemAddingEstateGeneric">
 		Problemas em adicionar a esta lista de propriedades. Uma ou mais propriedades podem ter uma lista cheia.
 	</notification>
@@ -3012,19 +3019,25 @@ Mais detalhes no log.
 		Não foi possível obter o recurso &apos;[CAPABILITY]&apos; da região.
 	</notification>
 	<notification name="ShareItemsConfirmation">
-		Tem certeza de que quer compartilhar os itens abaixo?
+		Tem certeza de que deseja compartilhar os itens abaixo?
 
 &lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
 
 Com os seguintes residentes:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
 	</notification>
 	<notification name="ShareFolderConfirmation">
-		Apenas uma pasta pode ser compartilhada por vez.
+		É possível compartilhar apenas uma pasta de cada vez.
+
+Tem certeza de que deseja compartilhar os itens abaixo?
+
+&lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
 
-Tem certeza de que quer compartilhar os itens abaixo?
+Com os seguintes residentes:
+
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
 	</notification>
 	<notification name="ItemsShared">
@@ -3478,10 +3491,6 @@ Tente novamente em instantes.
 	<notification name="EjectComingSoon">
 		Você não tem mais permissão para ficar aqui e tem [EJECT_TIME] segundos para sair.
 	</notification>
-	<notification name="NoEnterServerFull">
-		Você não pode entrar nesta região porque 
-o servidor está cheio.
-	</notification>
 	<notification name="SaveBackToInvDisabled">
 		Salvar no inventário foi desativado.
 	</notification>
@@ -3671,6 +3680,9 @@ o servidor está cheio.
 	<notification name="LinkFailedTooMuchPhysics">
 		O objeto usa muitos recursos físicos – sua dinâmica foi desativada.
 	</notification>
+	<notification name="EstateManagerFailedllTeleportHome">
+		O objeto &apos;[OBJECT_NAME]&apos; em [SLURL] não pode teleportar gerentes de terreno de volta para casa.
+	</notification>
 	<notification name="TeleportedHomeByObjectOnParcel">
 		Você foi teletransportado para seu início pelo objeto &apos;[OBJECT_NAME]&apos; no lote &apos;[PARCEL_NAME]&apos;
 	</notification>
@@ -3861,13 +3873,18 @@ o servidor está cheio.
 		Não há lotes alugados suficientes na seleção para reunir.
 	</notification>
 	<notification name="CantDivideLandMultipleParcelsSelected">
-		Não é possível dividir o terreno.\nHá mais de um lote selecionado.\nTente selecionar um pedaço menor de terreno.
+		Não é possível dividir o terreno.
+Mais de um lote foi selecionado.
+Tente selecionar uma quantidade menor de terreno.
 	</notification>
 	<notification name="CantDivideLandCantFindParcel">
-		Não é possível dividir o terreno.\nNão é possível encontrar o lote.\nComunique isso em Ajuda -&gt; Relatar bug...
+		Não é possível dividir o terreno.
+Não é possível encontrar o lote.
+Reporte em Ajuda -&gt; Relatar bug...
 	</notification>
 	<notification name="CantDivideLandWholeParcelSelected">
-		Não é possível dividir o terreno. O lote inteiro está selecionado.\nTente selecionar um pedaço menor do terreno.
+		Não é possível dividir o terreno. Todo o lote foi selecionado.
+Tente selecionar uma quantidade menor de terreno.
 	</notification>
 	<notification name="LandHasBeenDivided">
 		O terreno foi dividido.
@@ -4007,4 +4024,8 @@ o servidor está cheio.
 		Não foi possível mover arquivos. Caminho anterior restaurado.
 		<usetemplate ignoretext="Não foi possível mover arquivos. Caminho anterior restaurado." name="okignore" yestext="OK"/>
 	</notification>
+	<notification name="ChatHistoryIsBusyAlert">
+		O arquivo de histórico de bate-papo está ocupado com uma operação anterior. Tente novamente em alguns minutos ou selecione outra pessoa para bater papo.
+		<usetemplate name="okbutton" yestext="OK"/>
+	</notification>
 </notifications>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml
index 30c825723b49fc103fca53fa9ab854cab2a56515..7d8531a482d33736ef6bbac941ee8eb8d57e5488 100755
--- a/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
 		<layout_panel name="group_accordions">
 			<accordion name="groups_accordion">
 				<accordion_tab name="group_general_tab" title="Geral"/>
-				<accordion_tab name="group_roles_tab" title="Cargos"/>
+				<accordion_tab name="group_roles_tab" title="Funções e membros"/>
 				<accordion_tab name="group_notices_tab" title="Avisos"/>
 				<accordion_tab name="group_land_tab" title="Terrenos/Bens"/>
 			</accordion>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_roles.xml b/indra/newview/skins/default/xui/pt/panel_group_roles.xml
index 11a31570d1120e6e1d1c71f5306210df76d6ac20..84d275a8f26956b883d5f498303f0ba7aa003afb 100755
--- a/indra/newview/skins/default/xui/pt/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/pt/panel_group_roles.xml
@@ -19,8 +19,9 @@
 				<name_list.columns label="Membro" name="name"/>
 				<name_list.columns label="Doações" name="donated"/>
 				<name_list.columns label="Status" name="online"/>
+				<name_list.columns label="Título" name="title"/>
 			</name_list>
-			<button label="Convidar" name="member_invite" />
+			<button label="Convidar" name="member_invite"/>
 			<button label="Ejetar" name="member_eject"/>
 		</panel>
 		<panel label="CARGOS" name="roles_sub_tab">
diff --git a/indra/newview/skins/default/xui/pt/panel_region_debug.xml b/indra/newview/skins/default/xui/pt/panel_region_debug.xml
index be15d40d7427880aaeead7476e8498e599c3c9f9..9070563fd0562402e85858b62ed16a664f9c14e3 100755
--- a/indra/newview/skins/default/xui/pt/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_debug.xml
@@ -7,11 +7,8 @@
 		desconhecido
 	</text>
 	<check_box label="Desativar scripts" name="disable_scripts_check" tool_tip="Desativar todos os scripts nesta região"/>
-	<button label="?" name="disable_scripts_help"/>
 	<check_box label="Desativar colisões" name="disable_collisions_check" tool_tip="Desabilitar colisões de não-avatares nessa região"/>
-	<button label="?" name="disable_collisions_help"/>
 	<check_box label="Desativar física" name="disable_physics_check" tool_tip="Desativar toda a físíca nesta região"/>
-	<button label="?" name="disable_physics_help"/>
 	<button label="Aplicar" name="apply_btn"/>
 	<text name="objret_text_lbl" width="130">
 		Devolver objeto
@@ -31,10 +28,8 @@
 	<check_box label="Em todas as regiões desta propriedade" name="return_estate_wide" tool_tip="Devolver objetos em todas as regiões que constituem esta propriedade"/>
 	<button label="Devolver" name="return_btn"/>
 	<button label="Principais colidentes..." name="top_colliders_btn" tool_tip="Lista dos objetos com maior potencial de colisão" width="280"/>
-	<button label="?" left="297" name="top_colliders_help"/>
-	<button label="Principais scripts..." name="top_scripts_btn" tool_tip="Lista de objetos que mais passam tempo executando scripts" width="280"/>
-	<button label="?" left="297" name="top_scripts_help"/>
 	<button label="Reiniciar a região" name="restart_btn" tool_tip="Após 2 minutos de contagem regressiva, reiniciar a região"/>
-	<button label="?" name="restart_help"/>
+	<button label="Principais scripts..." name="top_scripts_btn" tool_tip="Lista de objetos que mais passam tempo executando scripts" width="280"/>
 	<button label="Cancelar reinício" name="cancel_restart_btn" tool_tip="Cancelar reinício da região"/>
+	<button label="Console de depuração de região" name="region_debug_console_btn" tool_tip="Abrir console de depuração de região"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_region_general.xml b/indra/newview/skins/default/xui/pt/panel_region_general.xml
index 4be1cd11c00480b93110688368499abcd4fcea25..a0d4579a04a350d82ac1255912b08806c0327c4c 100755
--- a/indra/newview/skins/default/xui/pt/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_general.xml
@@ -20,12 +20,12 @@
 	</text>
 	<check_box label="Bloquear terraplenagem" name="block_terraform_check"/>
 	<check_box label="Bloquear voos" name="block_fly_check"/>
+	<check_box label="Bloquear sobrevoo no terreno" name="block_fly_over_check" tool_tip="Estender verificações de acesso para cima para evitar que voem sobre um terreno"/>
 	<check_box label="Permitir dano" name="allow_damage_check"/>
 	<check_box label="Restringir empurrões" name="restrict_pushobject"/>
 	<check_box label="Permitir revenda do terreno" name="allow_land_resell_check"/>
 	<check_box label="Permitir junção/divisão do terreno" name="allow_parcel_changes_check"/>
 	<check_box label="Bloquear exibição do terreno na busca" name="block_parcel_search_check" tool_tip="Permitir que as pessoas vejam esta região e seus lotes nos resultados de busca"/>
-	<check_box label="Permitir objetos mesh" name="mesh_rez_enabled_check" tool_tip="Permitir que que outras pessoas renderizem objectos mesh nessa região"/>
 	<spinner label="Limite do agente" name="agent_limit_spin"/>
 	<spinner label="Bônus de objetos" name="object_bonus_spin"/>
 	<text label="Maturidade" name="access_text">
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
index c44345323ff203072e3a949ee1a127a54112c21b..4747d14101a3ff682e1b25f68e2e15e8f13ed12f 100755
--- a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
@@ -33,7 +33,7 @@
 				<layout_panel name="shop_btn_lp">
 					<button label="Comprar" name="shop_btn" tool_tip="Abrir página do Marketplace"/>
 					<button label="Vestir" name="wear_btn" tool_tip="Vestir visual selecionado"/>
-					<button label="Tocar" name="play_btn"/>
+					<button label="Jogar" name="play_btn"/>
 					<button label="Teletransportar" name="teleport_btn" tool_tip="Teletransportar para a área selecionada"/>
 				</layout_panel>
 			</layout_stack>
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index 8436452228e4e3ac4ab8da7182242924a0b0ac91..a5a3f04f78e50a96a168292aee4b9e17daa5bf05 100755
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -28,6 +28,45 @@
 	<string name="StartupRequireDriverUpdate">
 		Falha na inicialização dos gráficos. Atualize seu driver gráfico!
 	</string>
+	<string name="AboutHeader">
+		[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [Notas da versão]]
+	</string>
+	<string name="AboutCompiler">
+		Construído com [COMPILER] versão [COMPILER_VERSION]
+	</string>
+	<string name="AboutPosition">
+		Você está em [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] em [REGION] localizado em &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(coordenadas globais [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+	</string>
+	<string name="AboutSystem">
+		CPU: [CPU]
+Memória: [MEMORY_MB] MBs
+Versão OS: [OS_VERSION]
+Placa de vídeo: [GRAPHICS_CARD_VENDOR]
+Placa gráfica: [GRAPHICS_CARD]
+	</string>
+	<string name="AboutDriver">
+		Versão do driver de vídeo Windows: [GRAPHICS_CARD_VENDOR]
+	</string>
+	<string name="AboutLibs">
+		Versão OpenGL: [OPENGL_VERSION]
+
+Versão libcurl: [LIBCURL_VERSION]
+Versão J2C Decoder: [J2C_VERSION]
+Versão do driver de áudio: [AUDIO_DRIVER_VERSION]
+Versão Qt Webkit: [QT_WEBKIT_VERSION]
+Versão do servidor de voz: [VOICE_VERSION]
+	</string>
+	<string name="AboutTraffic">
+		Packets Lost: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+	</string>
+	<string name="ErrorFetchingServerReleaseNotesURL">
+		Erro ao obter URL de notas de versão do servidor.
+	</string>
 	<string name="ProgressRestoring">
 		Restaurando...
 	</string>
@@ -886,12 +925,12 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para
 	<string name="ControlYourCamera">
 		Controle sua camera
 	</string>
-	<string name="AgentNameSubst">
-		(Você)
-	</string>
 	<string name="TeleportYourAgent">
 		Teletransportá-lo
 	</string>
+	<string name="AgentNameSubst">
+		(Você)
+	</string>
 	<string name="JoinAnExperience">
 		Participar de uma experiência
 	</string>
@@ -1216,8 +1255,7 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para
 	<string name="InventoryInboxNoItems">
 		Suas compras do Marketplace aparecerão aqui. Depois, você poderá arrastá-las para seu inventário para usá-las.
 	</string>
-  <string name="Unconstrained">Sem limites</string>
-  <string name="MarketplaceURL">
+	<string name="MarketplaceURL">
 		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
 	</string>
 	<string name="MarketplaceURL_CreateStore">
@@ -1246,6 +1284,18 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para
 	<string name="InventoryOutboxNoItems">
 		Arraste as pastas para estas áreas e então clique em &quot;Enviar para Mercado&quot; para listar os itens para venda no [[MARKETPLACE_DASHBOARD_URL] Mercado].
 	</string>
+	<string name="InventoryOutboxInitializingTitle">
+		Inicializando o Marketplace.
+	</string>
+	<string name="InventoryOutboxInitializing">
+		Estamos acessando sua conta na [loja [MARKETPLACE_CREATE_STORE_URL] do Marketplace].
+	</string>
+	<string name="InventoryOutboxErrorTitle">
+		Erros do Marketplace.
+	</string>
+	<string name="InventoryOutboxError">
+		A loja [[MARKETPLACE_CREATE_STORE_URL] no Marketplace] está retornando erros.
+	</string>
 	<string name="Marketplace Error None">
 		Sem erros
 	</string>
@@ -1273,6 +1323,9 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para
 	<string name="Open landmarks">
 		Marcos abertos
 	</string>
+	<string name="Unconstrained">
+		Sem limites
+	</string>
 	<string name="no_transfer" value="(não transferível)"/>
 	<string name="no_modify" value="(não modificável)"/>
 	<string name="no_copy" value="(não copiável)"/>
@@ -1667,6 +1720,9 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para
 	<string name="CompileQueueDownloadedCompiling">
 		Baixado, agora compilando
 	</string>
+	<string name="CompileQueueServiceUnavailable">
+		Serviço de compilação de scripts não disponível
+	</string>
 	<string name="CompileQueueScriptNotFound">
 		Script não encontrado no servidor.
 	</string>
diff --git a/indra/newview/skins/default/xui/ru/floater_lagmeter.xml b/indra/newview/skins/default/xui/ru/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c420006a03c394e955f543a1bdae6486bd0a2832
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="УРОВЕНЬ ЛАГОВ">
+	<floater.string name="max_title_msg">
+		Уровень лагов
+	</floater.string>
+	<floater.string name="max_width_px">
+		360
+	</floater.string>
+	<floater.string name="min_title_msg">
+		Лаг
+	</floater.string>
+	<floater.string name="min_width_px">
+		90
+	</floater.string>
+	<floater.string name="client_text_msg">
+		Клиент
+	</floater.string>
+	<floater.string name="client_frame_rate_critical_fps">
+		10
+	</floater.string>
+	<floater.string name="client_frame_rate_warning_fps">
+		15
+	</floater.string>
+	<floater.string name="client_frame_time_window_bg_msg">
+		Нормально, окно в фоне
+	</floater.string>
+	<floater.string name="client_frame_time_critical_msg">
+		Частота кадров клиента ниже [CLIENT_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="client_frame_time_warning_msg">
+		Частота кадров клиента от [CLIENT_FRAME_RATE_CRITICAL] до [CLIENT_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="client_frame_time_normal_msg">
+		Нормально
+	</floater.string>
+	<floater.string name="client_draw_distance_cause_msg">
+		Возможная причина: дальность отрисовки слишком велика
+	</floater.string>
+	<floater.string name="client_texture_loading_cause_msg">
+		Возможная причина: загрузка изображений
+	</floater.string>
+	<floater.string name="client_texture_memory_cause_msg">
+		Возможная причина: слишком много изображений в памяти
+	</floater.string>
+	<floater.string name="client_complex_objects_cause_msg">
+		Возможная причина: слишком много сложных объектов в сцене
+	</floater.string>
+	<floater.string name="network_text_msg">
+		Сеть
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_pct">
+		10
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_pct">
+		5
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_msg">
+		Сеть теряет более [NETWORK_PACKET_LOSS_CRITICAL]% пакетов
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_msg">
+		Сеть теряет [NETWORK_PACKET_LOSS_WARNING]–[NETWORK_PACKET_LOSS_CRITICAL]% пакетов
+	</floater.string>
+	<floater.string name="network_performance_normal_msg">
+		Нормально
+	</floater.string>
+	<floater.string name="network_ping_critical_ms">
+		600
+	</floater.string>
+	<floater.string name="network_ping_warning_ms">
+		300
+	</floater.string>
+	<floater.string name="network_ping_critical_msg">
+		Пинг соединения более [NETWORK_PING_CRITICAL] мс
+	</floater.string>
+	<floater.string name="network_ping_warning_msg">
+		Пинг соединения [NETWORK_PING_WARNING]–[NETWORK_PING_CRITICAL] мс
+	</floater.string>
+	<floater.string name="network_packet_loss_cause_msg">
+		Возможно, плохое соединение, или параметр «Ширина канала» слишком велик.
+	</floater.string>
+	<floater.string name="network_ping_cause_msg">
+		Возможно, плохое соединение или есть работающие файлообменные программы.
+	</floater.string>
+	<floater.string name="server_text_msg">
+		Сервер
+	</floater.string>
+	<floater.string name="server_frame_rate_critical_fps">
+		20
+	</floater.string>
+	<floater.string name="server_frame_rate_warning_fps">
+		30
+	</floater.string>
+	<floater.string name="server_single_process_max_time_ms">
+		20
+	</floater.string>
+	<floater.string name="server_frame_time_critical_msg">
+		Частота кадров сервера ниже [SERVER_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="server_frame_time_warning_msg">
+		Частота кадров сервера [SERVER_FRAME_RATE_CRITICAL]–[SERVER_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="server_frame_time_normal_msg">
+		Нормально
+	</floater.string>
+	<floater.string name="server_physics_cause_msg">
+		Возможная причина: слишком много физических объектов
+	</floater.string>
+	<floater.string name="server_scripts_cause_msg">
+		Возможная причина: слишком много скриптовых объектов
+	</floater.string>
+	<floater.string name="server_net_cause_msg">
+		Возможная причина: слишком большой сетевой трафик
+	</floater.string>
+	<floater.string name="server_agent_cause_msg">
+		Возможная причина: слишком много людей в регионе
+	</floater.string>
+	<floater.string name="server_images_cause_msg">
+		Возможная причина: слишком много изображений
+	</floater.string>
+	<floater.string name="server_generic_cause_msg">
+		Возможная причина: сервер сильно загружен
+	</floater.string>
+	<floater.string name="smaller_label">
+		&gt;&gt;
+	</floater.string>
+	<floater.string name="bigger_label">
+		&lt;&lt;
+	</floater.string>
+	<button name="client_lagmeter" tool_tip="Уровень лагов клиента"/>
+	<text name="client">
+		Клиент
+	</text>
+	<text name="client_text">
+		Нормально
+	</text>
+	<button name="network_lagmeter" tool_tip="Уровень лагов сети"/>
+	<text name="network">
+		Сеть
+	</text>
+	<text name="network_text">
+		Нормально
+	</text>
+	<button name="server_lagmeter" tool_tip="Уровень лагов сервера"/>
+	<text name="server">
+		Сервер
+	</text>
+	<text name="server_text">
+		Нормально
+	</text>
+	<button label="&gt;&gt;" name="minimize" tool_tip="Переключение размера"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_region_restarting.xml b/indra/newview/skins/default/xui/ru/floater_region_restarting.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1b4c0e33dcffb7341ccfb927d7e4fd7b8cfb87f4
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="ПЕРЕЗАПУСК РЕГИОНА">
+	<string name="RegionName">
+		Регион, в котором вы находитесь ([NAME]), будет перезапущен.
+
+Если вы останетесь в этом регионе, вы выйдете из системы.
+	</string>
+	<string name="RestartSeconds">
+		Секунд до перезапуска
+[SECONDS]
+	</string>
+	<panel name="layout_panel_1">
+		<text name="region_name">
+			Регион, в котором вы находитесь (-длинное название региона-), будет перезапущен.
+
+Если вы останетесь в этом регионе, вы выйдете из системы.
+		</text>
+		<text name="restart_seconds">
+			Секунд до перезапуска
+     32767
+		</text>
+	</panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/ru/floater_scene_load_stats.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a101e62627791015994208432c07ae0a45520d54
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="СТАТИСТИКА ЗАГРУЗКИ СЦЕН">
+	<button label="Пауза" name="playpause"/>
+	<scroll_container name="statistics_scroll">
+		<container_view name="statistics_view">
+			<stat_view label="Основной" name="basic">
+				<stat_bar label="Разница в пикселах на кадр" name="frame difference"/>
+				<stat_bar label="Получены данные UDP" name="bandwidth"/>
+				<stat_bar label="Потери пакетов" name="packet_loss"/>
+			</stat_view>
+			<stat_view label="Расширенный" name="advanced">
+				<stat_view label="Отрисовка" name="render">
+					<stat_bar label="Всего объектов" name="objs"/>
+					<stat_bar label="Новых объектов" name="newobjs"/>
+					<stat_bar label="Частота попаданий в кэш объектов" name="object_cache_hits"/>
+				</stat_view>
+				<stat_view label="Текстура" name="texture">
+					<stat_bar label="Частота попаданий в кэш" name="texture_cache_hits"/>
+					<stat_bar label="Задержка чтения кэша" name="texture_cache_read_latency"/>
+					<stat_bar label="Кол-во" name="numimagesstat"/>
+					<stat_bar label="Необраб. изображений" name="numrawimagesstat"/>
+				</stat_view>
+				<stat_view label="Сеть" name="network">
+					<stat_bar label="Входящие пакеты" name="packetsinstat"/>
+					<stat_bar label="Исходящие пакеты" name="packetsoutstat"/>
+					<stat_bar label="Объекты" name="objectdatareceived"/>
+					<stat_bar label="Текстура" name="texturedatareceived"/>
+					<stat_bar label="Актив" name="assetudpdatareceived"/>
+					<stat_bar label="Слои" name="layersdatareceived"/>
+					<stat_bar label="Действительный ввод" name="messagedatain"/>
+					<stat_bar label="Действительный вывод" name="messagedataout"/>
+					<stat_bar label="Ожидающие операции VFS" name="vfspendingoperations"/>
+				</stat_view>
+			</stat_view>
+			<stat_view label="Симулятор" name="sim">
+				<stat_bar label="Объекты" name="simobjects"/>
+				<stat_bar label="Активные объекты" name="simactiveobjects"/>
+				<stat_bar label="Активные скрипты" name="simactivescripts"/>
+				<stat_bar label="Входящие пакеты" name="siminpps"/>
+				<stat_bar label="Исходящие пакеты" name="simoutpps"/>
+				<stat_bar label="Отложенные загрузки" name="simpendingdownloads"/>
+				<stat_bar label="Отложенные передачи" name="simpendinguploads"/>
+				<stat_bar label="Общий нераспакованный объем (байт)" name="simtotalunackedbytes"/>
+				<stat_view label="Время (мс)" name="simperf">
+					<stat_bar label="Общее время кадра" name="simframemsec"/>
+					<stat_bar label="Чистое время" name="simnetmsec"/>
+					<stat_bar label="Время на физику" name="simsimphysicsmsec"/>
+					<stat_bar label="Время на симуляцию" name="simsimothermsec"/>
+					<stat_bar label="Время на клиент" name="simagentmsec"/>
+					<stat_bar label="Время на изображения" name="simimagesmsec"/>
+					<stat_bar label="Время на скрипт" name="simscriptmsec"/>
+					<stat_bar label="Резервное время" name="simsparemsec"/>
+					<stat_view label="Данные времени (мс)" name="timedetails">
+						<stat_bar label="Шаг физики" name="simsimphysicsstepmsec"/>
+						<stat_bar label="Обновить физ. формы" name="simsimphysicsshapeupdatemsec"/>
+						<stat_bar label="Физика - прочее" name="simsimphysicsothermsec"/>
+						<stat_bar label="Время сна" name="simsleepmsec"/>
+						<stat_bar label="Время ввода/вывода" name="simpumpiomsec"/>
+					</stat_view>
+				</stat_view>
+			</stat_view>
+		</container_view>
+	</scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_stats.xml b/indra/newview/skins/default/xui/ru/floater_stats.xml
index 46426495dcfdbf33cf7ead38331bab62078c265d..33a14adca92e571606fe7761e685b2baf5f1fb0a 100755
--- a/indra/newview/skins/default/xui/ru/floater_stats.xml
+++ b/indra/newview/skins/default/xui/ru/floater_stats.xml
@@ -4,7 +4,7 @@
 		<container_view name="statistics_view">
 			<stat_view label="Базовая" name="basic">
 				<stat_bar label="Кадров/с" name="fps"/>
-				<stat_bar label="Ширина канала" name="bandwidth"/>
+				<stat_bar label="Получены данные UDP" name="bandwidth"/>
 				<stat_bar label="Потери пакетов" name="packet_loss"/>
 				<stat_bar label="Пинг" name="ping"/>
 			</stat_view>
@@ -15,6 +15,9 @@
 					<stat_bar label="Всего объектов" name="objs"/>
 					<stat_bar label="Новых объектов" name="newobjs"/>
 					<stat_bar label="Частота попаданий в кэш объектов" name="object_cache_hits"/>
+					<stat_bar label="Выполненные запросы на смыкание" name="occlusion_queries"/>
+					<stat_bar label="Объекты сомкнуты" name="occluded"/>
+					<stat_bar label="Объект разомкнут" name="unoccluded"/>
 				</stat_view>
 				<stat_view label="Текстура" name="texture">
 					<stat_bar label="Частота попаданий в кэш" name="texture_cache_hits"/>
@@ -26,15 +29,32 @@
 					<stat_bar label="Неформатированная память" name="rawmemstat"/>
 					<stat_bar label="Ограничение памяти" name="glboundmemstat"/>
 				</stat_view>
+				<stat_view label="Использование памяти" name="memory">
+					<stat_bar label="LLTrace" name="LLTrace"/>
+					<stat_bar label="Интерфейс пользователя" name="LLView"/>
+					<stat_bar label="Шрифты" name="LLFontFreetype"/>
+					<stat_bar label="Инвентарь" name="LLInventoryObject"/>
+					<stat_bar label="Объекты клиента" name="LLViewerObject"/>
+					<stat_bar label="Данные группы октадеревьев" name="LLViewerOctreeGroup"/>
+					<stat_bar label="Данные октадерева" name="LLViewerOctreeEntry"/>
+					<stat_bar label="Кэш объектов клиента" name="LLVOCacheEntry"/>
+					<stat_bar label="Рисуемые предметы" name="LLDrawable"/>
+					<stat_bar label="Данные лица" name="LLFace"/>
+					<stat_bar label="Информация отрисовки" name="LLDrawInfo"/>
+					<stat_bar label="Данные текстуры" name="LLTexture"/>
+					<stat_bar label="Данные изображения" name="LLImage"/>
+					<stat_bar label="Данные изображения GL" name="LLImageGL"/>
+					<stat_bar label="Вершинные буферы" name="LLVertexBuffer"/>
+				</stat_view>
 				<stat_view label="Сеть" name="network">
 					<stat_bar label="Входящие пакеты" name="packetsinstat"/>
 					<stat_bar label="Исходящие пакеты" name="packetsoutstat"/>
-					<stat_bar label="Объекты" name="objectkbitstat"/>
-					<stat_bar label="Текстура" name="texturekbitstat"/>
-					<stat_bar label="Актив" name="assetkbitstat"/>
-					<stat_bar label="Слои" name="layerskbitstat"/>
-					<stat_bar label="Действительный ввод" name="actualinkbitstat"/>
-					<stat_bar label="Действительный вывод" name="actualoutkbitstat"/>
+					<stat_bar label="Объекты" name="objectdatareceived"/>
+					<stat_bar label="Текстура" name="texturedatareceived"/>
+					<stat_bar label="Актив" name="assetudpdatareceived"/>
+					<stat_bar label="Слои" name="layersdatareceived"/>
+					<stat_bar label="Действительный ввод" name="messagedatain"/>
+					<stat_bar label="Действительный вывод" name="messagedataout"/>
 					<stat_bar label="Ожидающие операции VFS" name="vfspendingoperations"/>
 				</stat_view>
 			</stat_view>
@@ -64,8 +84,8 @@
 				<stat_bar label="Исходящие пакеты" name="simoutpps"/>
 				<stat_bar label="Отложенные загрузки" name="simpendingdownloads"/>
 				<stat_bar label="Отложенные передачи" name="simpendinguploads"/>
-				<stat_bar label="Общий нераспакованный объем (байт)" name="simtotalunackedbytes"/>
-				<stat_view label="Время (мс)" name="simperf">
+				<stat_bar label="Общий неподтвержденный объем" name="simtotalunackedbytes"/>
+				<stat_view label="Время" name="simperf">
 					<stat_bar label="Общее время кадра" name="simframemsec"/>
 					<stat_bar label="Чистое время" name="simnetmsec"/>
 					<stat_bar label="Время на физику" name="simsimphysicsmsec"/>
@@ -74,7 +94,7 @@
 					<stat_bar label="Время на изображения" name="simimagesmsec"/>
 					<stat_bar label="Время на скрипт" name="simscriptmsec"/>
 					<stat_bar label="Резервное время" name="simsparemsec"/>
-					<stat_view label="Данные времени (мс)" name="timedetails">
+					<stat_view label="Данные времени" name="timedetails">
 						<stat_bar label="Шаг физики" name="simsimphysicsstepmsec"/>
 						<stat_bar label="Обновить физ. формы" name="simsimphysicsshapeupdatemsec"/>
 						<stat_bar label="Физика - прочее" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml b/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml
index ac2b4be0035bc5cc4eefda36a69c84d50897c929..049001e8c367bf6f6dbc6a477d96593d827ec9de 100755
--- a/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
 <menu name="Avatar Icon Menu">
 	<menu_item_call label="Открыть профиль" name="Show Profile"/>
 	<menu_item_call label="Отправить сообщение..." name="Send IM"/>
+	<menu_item_call label="Запрос телепортации" name="Request Teleport"/>
 	<menu_item_call label="Добавить в друзья..." name="Add Friend"/>
 	<menu_item_call label="Удалить из друзей..." name="Remove Friend"/>
 </menu>
diff --git a/indra/newview/skins/default/xui/ru/menu_inventory.xml b/indra/newview/skins/default/xui/ru/menu_inventory.xml
index 37ee19fc1d3d9d57133ab88060550f5b65a780d5..308549c2548b149fc293aa776ae155c6ce5d111e 100755
--- a/indra/newview/skins/default/xui/ru/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/ru/menu_inventory.xml
@@ -70,6 +70,7 @@
 	<menu_item_call label="Воспроизвести" name="Sound Play"/>
 	<menu_item_call label="Копировать URL SL" name="url_copy"/>
 	<menu_item_call label="О закладке" name="About Landmark"/>
+	<menu_item_call label="Показать на карте" name="show_on_map"/>
 	<menu_item_call label="Проиграть для всех" name="Animation Play"/>
 	<menu_item_call label="Проиграть для себя" name="Animation Audition"/>
 	<menu_item_call label="Отправить IM-сообщение" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_login.xml b/indra/newview/skins/default/xui/ru/menu_login.xml
index 835c4e186e839248c1291d1f13aeae00c2f8cab7..885f6195b6ec4cce3b9c62af6070a2f167c7e80b 100755
--- a/indra/newview/skins/default/xui/ru/menu_login.xml
+++ b/indra/newview/skins/default/xui/ru/menu_login.xml
@@ -5,7 +5,15 @@
 		<menu_item_call label="Выход из [APP_NAME]" name="Quit"/>
 	</menu>
 	<menu label="Справка" name="Help">
-		<menu_item_call label="Справка [SECOND_LIFE]" name="Second Life Help"/>
+		<menu_item_call label="Инструкции..." name="How To"/>
+		<menu_item_call label="Краткое руководство" name="Quickstart"/>
+		<menu_item_call label="База знаний" name="Knowledge Base"/>
+		<menu_item_call label="Wiki" name="Wiki"/>
+		<menu_item_call label="Форумы сообщества" name="Community Forums"/>
+		<menu_item_call label="Портал поддержки" name="Support portal"/>
+		<menu_item_call label="Новости [SECOND_LIFE]" name="Second Life News"/>
+		<menu_item_call label="Блоги [SECOND_LIFE]" name="Second Life Blogs"/>
+		<menu_item_call label="Сообщить об ошибке" name="Report Bug"/>
 		<menu_item_call label="О [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu_item_check label="Показать меню отладки" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml
index 6a22fd00dc0eb45c4cd6a2ac456ff06e2bbfcbb6..f495d27bf398786ae19cf50c8985328510edb245 100755
--- a/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
 <context_menu name="Teleport History Item Context Menu">
 	<menu_item_call label="Телепорт" name="Teleport"/>
 	<menu_item_call label="Информация" name="More Information"/>
-	<menu_item_call label="Копировать в буфер обмена" name="CopyToClipboard"/>
+	<menu_item_call label="Копировать URL SL" name="CopyToClipboard"/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/ru/menu_viewer.xml b/indra/newview/skins/default/xui/ru/menu_viewer.xml
index fcb7c4e5310ecfecf5d86534b159cdca5012fe42..38c31b27b658a4cb1f9793e7e42f278ac930b588 100755
--- a/indra/newview/skins/default/xui/ru/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ru/menu_viewer.xml
@@ -70,11 +70,11 @@
 			<menu_item_check label="Меню «Дополнительно»" name="Show Advanced Menu"/>
 		</menu>
 		<menu label="Солнце" name="Sun">
-			<menu_item_call label="Восход" name="Sunrise"/>
-			<menu_item_call label="Полдень" name="Noon"/>
-			<menu_item_call label="Закат" name="Sunset"/>
-			<menu_item_call label="Полночь" name="Midnight"/>
-			<menu_item_call label="Использовать настройки региона" name="Use Region Settings"/>
+			<menu_item_check label="Восход" name="Sunrise"/>
+			<menu_item_check label="Полдень" name="Noon"/>
+			<menu_item_check label="Закат" name="Sunset"/>
+			<menu_item_check label="Полночь" name="Midnight"/>
+			<menu_item_check label="Использовать настройки региона" name="Use Region Settings"/>
 		</menu>
 		<menu label="Редактор среды" name="Environment Editor">
 			<menu_item_call label="Настройки среды..." name="Environment Settings"/>
@@ -162,7 +162,6 @@
 	</menu>
 	<menu label="Справка" name="Help">
 		<menu_item_call label="Инструкции..." name="How To"/>
-		<menu_item_call label="Справка по [SECOND_LIFE]" name="Second Life Help"/>
 		<menu_item_call label="Жалоба" name="Report Abuse"/>
 		<menu_item_call label="Сообщить об ошибке" name="Report Bug"/>
 		<menu_item_call label="О [APP_NAME]" name="About Second Life"/>
@@ -178,6 +177,7 @@
 		<menu label="Производительность" name="Performance Tools">
 			<menu_item_call label="Запаздывание" name="Lag Meter"/>
 			<menu_item_check label="Статистика" name="Statistics Bar"/>
+			<menu_item_call label="Статистика загрузки сцен" name="Scene Load Statistics"/>
 			<menu_item_check label="Показать вес отрисовки для аватаров" name="Avatar Rendering Cost"/>
 		</menu>
 		<menu label="Подсветка и видимость" name="Highlighting and Visibility">
@@ -240,6 +240,7 @@
 			<menu_item_check label="Оперативные таймеры" name="Fast Timers"/>
 			<menu_item_check label="Память" name="Memory"/>
 			<menu_item_check label="Статистика по сцене" name="Scene Statistics"/>
+			<menu_item_check label="Монитор загрузки сцен" name="Scene Loading Monitor"/>
 			<menu_item_call label="Консоль отладки извлечения текстур" name="Texture Fetch Debug Console"/>
 			<menu_item_call label="Данные о регионе на консоль отладки" name="Region Info to Debug Console"/>
 			<menu_item_call label="Данны о группе на консоль отладки" name="Group Info to Debug Console"/>
@@ -276,6 +277,7 @@
 			<menu_item_check label="Периодическое замедление кадров" name="Periodic Slow Frame"/>
 			<menu_item_check label="Тест кадров" name="Frame Test"/>
 			<menu_item_call label="Профиль кадра" name="Frame Profile"/>
+			<menu_item_call label="Тест" name="Benchmark"/>
 		</menu>
 		<menu label="Визуализировать метаданные" name="Render Metadata">
 			<menu_item_check label="Рамки" name="Bounding Boxes"/>
@@ -294,6 +296,7 @@
 			<menu_item_check label="Очередь построителя" name="Build Queue"/>
 			<menu_item_check label="Освещение" name="Lights"/>
 			<menu_item_check label="Каркас столкновений" name="Collision Skeleton"/>
+			<menu_item_check label="Суставы" name="Joints"/>
 			<menu_item_check label="Лучи" name="Raycast"/>
 			<menu_item_check label="Направления ветра" name="Wind Vectors"/>
 			<menu_item_check label="Сложность визуализации" name="rendercomplexity"/>
@@ -326,6 +329,7 @@
 			<menu_item_check label="Визуализация присоединенных источников света" name="Render Attached Lights"/>
 			<menu_item_check label="Визуализация присоединенных частиц" name="Render Attached Particles"/>
 			<menu_item_check label="Парящие светящиеся объекты" name="Hover Glow Objects"/>
+			<menu_item_call label="Немедленно очистить кэш" name="Cache Clear"/>
 		</menu>
 		<menu label="Сеть" name="Network">
 			<menu_item_check label="Приостановить клиент" name="AgentPause"/>
@@ -358,7 +362,6 @@
 			<menu_item_call label="Вывод средства фокусировки" name="Dump Focus Holder"/>
 			<menu_item_call label="Печать информации о выбранных объектах" name="Print Selected Object Info"/>
 			<menu_item_call label="Печать информации об агенте" name="Print Agent Info"/>
-			<menu_item_check label="Консоль отладки региона" name="Region Debug Console"/>
 			<menu_item_check label="Отладка SelectMgr" name="Debug SelectMgr"/>
 			<menu_item_check label="Отладка щелчков мышью" name="Debug Clicks"/>
 			<menu_item_check label="Отладка обзора" name="Debug Views"/>
diff --git a/indra/newview/skins/default/xui/ru/notifications.xml b/indra/newview/skins/default/xui/ru/notifications.xml
index 1dc8202b00cd3f063ea09599e3bd317b3bd067c5..336a97f35a1ef985d5a58e77e12345997b9c9811 100755
--- a/indra/newview/skins/default/xui/ru/notifications.xml
+++ b/indra/newview/skins/default/xui/ru/notifications.xml
@@ -114,13 +114,13 @@
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxImportFailed">
-		Ошибка при передаче
+		Не удалось передать, ошибка: «[ERROR_CODE]»
 
 Папки не отправлены в торговый центр из-за ошибки системы или сети.  Повторите попытку позже.
 		<usetemplate name="okbutton" yestext="OK"/>
 	</notification>
 	<notification name="OutboxInitFailed">
-		Ошибка инициализации торгового центра
+		Не удалось инициализировать торговый центр, ошибка: «[ERROR_CODE]»
 
 Не удалось инициализировать торговый центр из-за ошибки системы или сети.  Повторите попытку позже.
 		<usetemplate name="okbutton" yestext="OK"/>
@@ -1731,6 +1731,10 @@ http://secondlife.com/download.
 		Вы действительно хотите телепортироваться в &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
 		<usetemplate ignoretext="Подтверждать телепортацию на закладку" name="okcancelignore" notext="Отмена" yestext="Телепортация"/>
 	</notification>
+	<notification name="TeleportViaSLAPP">
+		Вы действительно хотите телепортироваться в &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
+		<usetemplate ignoretext="Подтверждать телепортацию через SLAPP" name="okcancelignore" notext="Отмена" yestext="Телепортация"/>
+	</notification>
 	<notification name="TeleportToPick">
 		Телепортироваться в [PICK]?
 		<usetemplate ignoretext="Подтверждать телепортацию на место в подборке" name="okcancelignore" notext="Отмена" yestext="Телепортация"/>
@@ -1940,6 +1944,9 @@ http://secondlife.com/download.
 	<notification name="ProblemAddingEstateManager">
 		Проблема при добавлении нового менеджера землевладения.  Возможно, в одном или нескольких землевладениях список менеджеров уже заполнен.
 	</notification>
+	<notification name="ProblemAddingEstateBanManager">
+		Невозможно добавить землевладельца или менеджера в список запрета доступа.
+	</notification>
 	<notification name="ProblemAddingEstateGeneric">
 		Проблема при добавлении в этот список землевладения.  Возможно, в одном или нескольких землевладениях список уже заполнен.
 	</notification>
@@ -3029,7 +3036,7 @@ http://secondlife.com/download.
 
 Со следующими жителями:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Отмена" yestext="OK"/>
 	</notification>
 	<notification name="ShareFolderConfirmation">
@@ -3041,7 +3048,7 @@ http://secondlife.com/download.
 
 Со следующими жителями:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Отмена" yestext="ОК"/>
 	</notification>
 	<notification name="ItemsShared">
@@ -3497,10 +3504,6 @@ http://secondlife.com/download.
 	<notification name="EjectComingSoon">
 		Вам запрещено здесь присутствовать; у вас есть [EJECT_TIME] сек, чтобы покинуть это место.
 	</notification>
-	<notification name="NoEnterServerFull">
-		Вам нет доступа в этот регион: 
-серпер переполнен.
-	</notification>
 	<notification name="SaveBackToInvDisabled">
 		Сохранение в инвентаре отключено.
 	</notification>
@@ -3689,6 +3692,9 @@ http://secondlife.com/download.
 	<notification name="LinkFailedTooMuchPhysics">
 		Объект использует слишком много ресурсов физики -- динамическое поведение отключено.
 	</notification>
+	<notification name="EstateManagerFailedllTeleportHome">
+		Объект «[OBJECT_NAME]» по адресу [SLURL] не может телепортировать менеджеров землевладений домой.
+	</notification>
 	<notification name="TeleportedHomeByObjectOnParcel">
 		Вы были телепортированы домой объектом «[OBJECT_NAME]» на участке «[PARCEL_NAME]»
 	</notification>
@@ -3879,13 +3885,18 @@ http://secondlife.com/download.
 		Выбрано недостаточно арендуемых участков для вступления.
 	</notification>
 	<notification name="CantDivideLandMultipleParcelsSelected">
-		Нельзя разделить землю.\nВыбрано больше одного участка.\nВыберите меньшую территорию.
+		Невозможно разделить землю.
+Выбрано несколько участков.
+Попробуйте выбрать область поменьше.
 	</notification>
 	<notification name="CantDivideLandCantFindParcel">
-		Нельзя разделить землю.\nНе удалось найти участок.\nСообщите об этой неполадке: Справка -&gt; Сообщить об ошибке...
+		Невозможно разделить землю.
+Не удается найти участок.
+Сообщите об этом: Справка -&gt; Сообщить об ошибке...
 	</notification>
 	<notification name="CantDivideLandWholeParcelSelected">
-		Невозможно разделить землю. Выбран весь участок.\nПопробуйте выбрать территорию поменьше.
+		Невозможно разделить землю. Выбран весь участок.
+Попробуйте выбрать область поменьше.
 	</notification>
 	<notification name="LandHasBeenDivided">
 		Земля разделена.
@@ -4025,4 +4036,8 @@ http://secondlife.com/download.
 		Невозможно переместить файлы. Восстановлен прежний путь.
 		<usetemplate ignoretext="Невозможно переместить файлы. Восстановлен прежний путь." name="okignore" yestext="OK"/>
 	</notification>
+	<notification name="ChatHistoryIsBusyAlert">
+		Файл журнала чата занят предыдущей операцией. Повторите попытку через несколько минут или выберите чат с другим лицом.
+		<usetemplate name="okbutton" yestext="OK"/>
+	</notification>
 </notifications>
diff --git a/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml
index d8cf1b4756030dd3f0becec14ceff4fa72b6b319..16aaa7126894ccb0e4784189f224f0ff0be910ec 100755
--- a/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
 		<layout_panel name="group_accordions">
 			<accordion name="groups_accordion">
 				<accordion_tab name="group_general_tab" title="Общие"/>
-				<accordion_tab name="group_roles_tab" title="Роли"/>
+				<accordion_tab name="group_roles_tab" title="Роли и участники"/>
 				<accordion_tab name="group_notices_tab" title="Уведомления"/>
 				<accordion_tab name="group_land_tab" title="Земля/активы"/>
 			</accordion>
diff --git a/indra/newview/skins/default/xui/ru/panel_group_roles.xml b/indra/newview/skins/default/xui/ru/panel_group_roles.xml
index c57f21679fab712c7a142325d27811ed87675ac4..b497cc558351262d83d723e110fd3fc5021da6ed 100755
--- a/indra/newview/skins/default/xui/ru/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/ru/panel_group_roles.xml
@@ -21,6 +21,7 @@
 				<name_list.columns label="Участник" name="name"/>
 				<name_list.columns label="Вклад" name="donated"/>
 				<name_list.columns label="Статус" name="online"/>
+				<name_list.columns label="Роль" name="title"/>
 			</name_list>
 			<button label="Пригласить" name="member_invite"/>
 			<button label="Выкинуть" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_region_debug.xml b/indra/newview/skins/default/xui/ru/panel_region_debug.xml
index 4be1e781fabfa0da3b55d0d69a93eba0d591a2cd..d294a9e22ef79853e22010488df8d8d42ce36927 100755
--- a/indra/newview/skins/default/xui/ru/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/ru/panel_region_debug.xml
@@ -28,7 +28,8 @@
 	<check_box label="С каждого региона этого землевладения" name="return_estate_wide" tool_tip="Возвращаются объекты со всех регионов, образующих это землевладение"/>
 	<button label="Возврат" name="return_btn"/>
 	<button label="Самые активные участники столкновений..." name="top_colliders_btn" tool_tip="Список объектов, для которых столкновения наиболее вероятны"/>
-	<button label="Список лучших скриптов..." name="top_scripts_btn" tool_tip="Объекты, в которых скрипты выполняются дольше всего"/>
 	<button label="Перезагрузить регион" name="restart_btn" tool_tip="Отсчитать 2 минуты и перезагрузить регион"/>
+	<button label="Список лучших скриптов..." name="top_scripts_btn" tool_tip="Объекты, в которых скрипты выполняются дольше всего"/>
 	<button label="Отменить перезапуск" name="cancel_restart_btn" tool_tip="Отменить перезапуск региона"/>
+	<button label="Консоль отладки региона" name="region_debug_console_btn" tool_tip="Открыть консоль отладки региона"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_region_general.xml b/indra/newview/skins/default/xui/ru/panel_region_general.xml
index 8559be6c9eb3f712d6f7dddee8addd8889ed7383..8b4a127d7e06414e668f4357a0af6fb9cf9ff99c 100755
--- a/indra/newview/skins/default/xui/ru/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/ru/panel_region_general.xml
@@ -20,12 +20,12 @@
 	</text>
 	<check_box label="Запретить терраформирование" name="block_terraform_check"/>
 	<check_box label="Запретить полеты" name="block_fly_check"/>
+	<check_box label="Запретить пролет над участком" name="block_fly_over_check" tool_tip="Поднять проверку доступа вверх для предотвращения пролета над участком"/>
 	<check_box label="Разрешить повреждения" name="allow_damage_check"/>
 	<check_box label="Запретить толкание" name="restrict_pushobject"/>
 	<check_box label="Разрешить перепродажу земли" name="allow_land_resell_check"/>
 	<check_box label="Разрешить объединение/разделение земли" name="allow_parcel_changes_check"/>
 	<check_box label="Не показывать землю в поиске" name="block_parcel_search_check" tool_tip="Отображать регион и его участки в результатах поиска"/>
-	<check_box label="Разрешить меши-объекты" name="mesh_rez_enabled_check" tool_tip="Разрешить жителям выкладывать меши в этом регионе"/>
 	<spinner label="Лимит агентов" name="agent_limit_spin"/>
 	<spinner label="Льгота для объекта" name="object_bonus_spin"/>
 	<text label="Дозволенность" name="access_text">
diff --git a/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml b/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml
index 1741f63074c6e67dd07c94f4beec75e93389a9b2..725b6800505d031c7f7cc1f2d22819d9c0a103b3 100755
--- a/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml
@@ -28,13 +28,13 @@
 					<button label="Профиль" name="info_btn" tool_tip="Показать профиль объекта"/>
 				</layout_panel>
 				<layout_panel name="share_btn_lp">
-					<button label="Поделиться" name="share_btn" tool_tip="Поделиться вещью из инвентаря"/>
+					<button label="Поделиться" name="share_btn" tool_tip="Поделиться объектом из инвентаря"/>
 				</layout_panel>
 				<layout_panel name="shop_btn_lp">
-					<button label="Торговый центр" name="shop_btn" tool_tip="Открыть страницу торгового центра"/>
+					<button label="Купить" name="shop_btn" tool_tip="Открыть страницу торгового центра"/>
 					<button label="Надеть" name="wear_btn" tool_tip="Надеть выбранный костюм"/>
-					<button label="Проиграть" name="play_btn"/>
-					<button label="Телепорт" name="teleport_btn" tool_tip="Телепортироваться в выбранную область"/>
+					<button label="Играть" name="play_btn"/>
+					<button label="Телепортация" name="teleport_btn" tool_tip="Телепортироваться в выбранную область"/>
 				</layout_panel>
 			</layout_stack>
 		</panel>
diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml
index 8faf834f8fc43b3ac31a1a2e6a95522b3534da46..be5a8d95ebc0fe7aaa95aeabd073f27908847456 100755
--- a/indra/newview/skins/default/xui/ru/strings.xml
+++ b/indra/newview/skins/default/xui/ru/strings.xml
@@ -37,6 +37,45 @@
 	<string name="StartupRequireDriverUpdate">
 		Ошибка инициализации графики. Обновите графический драйвер!
 	</string>
+	<string name="AboutHeader">
+		[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+	</string>
+	<string name="AboutCompiler">
+		Использован компилятор [COMPILER], версия [COMPILER_VERSION]
+	</string>
+	<string name="AboutPosition">
+		Вы в точке [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] в регионе «[REGION]», расположенном на &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(глобальные координаты [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+	</string>
+	<string name="AboutSystem">
+		ЦП: [CPU]
+Память: [MEMORY_MB] МБ
+Версия ОС: [OS_VERSION]
+Производитель графической платы: [GRAPHICS_CARD_VENDOR]
+Графическая плата: [GRAPHICS_CARD]
+	</string>
+	<string name="AboutDriver">
+		Версия графического драйвера Windows: [GRAPHICS_DRIVER_VERSION]
+	</string>
+	<string name="AboutLibs">
+		Версия OpenGL: [OPENGL_VERSION]
+
+Версия libcurl: [LIBCURL_VERSION]
+Версия декодера J2C: [J2C_VERSION]
+Версия драйвера звука: [AUDIO_DRIVER_VERSION]
+Версия Qt Webkit: [QT_WEBKIT_VERSION]
+Версия голосового сервера: [VOICE_VERSION]
+	</string>
+	<string name="AboutTraffic">
+		Потеряно пакетов: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+	</string>
+	<string name="ErrorFetchingServerReleaseNotesURL">
+		Ошибка при получении URL-адреса заметок о выпуске сервера.
+	</string>
 	<string name="ProgressRestoring">
 		Восстановление...
 	</string>
@@ -934,15 +973,15 @@ support@secondlife.com.
 	<string name="ControlYourCamera">
 		Управлять камерой
 	</string>
+	<string name="TeleportYourAgent">
+		Телепортировать вас
+	</string>
 	<string name="NotConnected">
 		Нет подключения
 	</string>
 	<string name="AgentNameSubst">
 		(Ð’Ñ‹)
 	</string>
-	<string name="TeleportYourAgent">
-		Телепортировать вас
-	</string>
 	<string name="JoinAnExperience">
 		Присоединитесь
 	</string>
@@ -1267,8 +1306,7 @@ support@secondlife.com.
 	<string name="InventoryInboxNoItems">
 		Здесь будут показаны ваши покупки из торгового центра. Их можно будет перетащить в ваш инвентарь для использования.
 	</string>
-  <string name="Unconstrained">Без ограничения</string>
-  <string name="MarketplaceURL">
+	<string name="MarketplaceURL">
 		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
 	</string>
 	<string name="MarketplaceURL_CreateStore">
@@ -1297,6 +1335,18 @@ support@secondlife.com.
 	<string name="InventoryOutboxNoItems">
 		Перетащите папки в эту область и щелкните «Отправить в торговый центр», чтобы выставить их на продажу в [[MARKETPLACE_DASHBOARD_URL] Торговом центре].
 	</string>
+	<string name="InventoryOutboxInitializingTitle">
+		Инициализация Торгового центра.
+	</string>
+	<string name="InventoryOutboxInitializing">
+		Мы обращаемся к вашему аккаунту в [[MARKETPLACE_CREATE_STORE_URL] магазине].
+	</string>
+	<string name="InventoryOutboxErrorTitle">
+		Ошибки торгового центра.
+	</string>
+	<string name="InventoryOutboxError">
+		[[MARKETPLACE_CREATE_STORE_URL] Магазин] возвращает ошибки.
+	</string>
 	<string name="Marketplace Error None">
 		Ошибок нет
 	</string>
@@ -1324,6 +1374,9 @@ support@secondlife.com.
 	<string name="Open landmarks">
 		Открыть закладки
 	</string>
+	<string name="Unconstrained">
+		Без ограничения
+	</string>
 	<string name="no_transfer" value="(не передается)"/>
 	<string name="no_modify" value="(не изменяется)"/>
 	<string name="no_copy" value="(не копируется)"/>
@@ -1724,6 +1777,9 @@ support@secondlife.com.
 	<string name="CompileQueueDownloadedCompiling">
 		Загружено, компилируется
 	</string>
+	<string name="CompileQueueServiceUnavailable">
+		Служба компилирования скриптов недоступна
+	</string>
 	<string name="CompileQueueScriptNotFound">
 		Скрипт не найден на сервере.
 	</string>
diff --git a/indra/newview/skins/default/xui/tr/floater_lagmeter.xml b/indra/newview/skins/default/xui/tr/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..736c50be90a4a68ef1f2d98e4751017496595b84
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="GECİKME ÖLÇER">
+	<floater.string name="max_title_msg">
+		Gecikme Ölçer
+	</floater.string>
+	<floater.string name="max_width_px">
+		360
+	</floater.string>
+	<floater.string name="min_title_msg">
+		Gecikme
+	</floater.string>
+	<floater.string name="min_width_px">
+		90
+	</floater.string>
+	<floater.string name="client_text_msg">
+		Ä°stemci
+	</floater.string>
+	<floater.string name="client_frame_rate_critical_fps">
+		10
+	</floater.string>
+	<floater.string name="client_frame_rate_warning_fps">
+		15
+	</floater.string>
+	<floater.string name="client_frame_time_window_bg_msg">
+		Normal, pencere alt zeminde
+	</floater.string>
+	<floater.string name="client_frame_time_critical_msg">
+		İstemci kare hızı [CLIENT_FRAME_RATE_CRITICAL] altında
+	</floater.string>
+	<floater.string name="client_frame_time_warning_msg">
+		İstemci kare hızı [CLIENT_FRAME_RATE_CRITICAL] ile [CLIENT_FRAME_RATE_WARNING] arasınad
+	</floater.string>
+	<floater.string name="client_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="client_draw_distance_cause_msg">
+		Muhtemel neden: Çizme mesafesi çok yüksek
+	</floater.string>
+	<floater.string name="client_texture_loading_cause_msg">
+		Muhtemel neden: Görüntüler yükleniyor
+	</floater.string>
+	<floater.string name="client_texture_memory_cause_msg">
+		Muhtemel neden: Bellekte çok fazla görüntü
+	</floater.string>
+	<floater.string name="client_complex_objects_cause_msg">
+		Muhtemel neden: Sahnede çok fazla karmaşık nesne
+	</floater.string>
+	<floater.string name="network_text_msg">
+		AÄŸ
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_pct">
+		10
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_pct">
+		5
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_msg">
+		Bağlantı paketlerin % [NETWORK_PACKET_LOSS_CRITICAL]&apos;sinden fazlasını bırakıyor
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_msg">
+		Bağlantı paketlerin % [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]&apos;sini bırakıyor
+	</floater.string>
+	<floater.string name="network_performance_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="network_ping_critical_ms">
+		600
+	</floater.string>
+	<floater.string name="network_ping_warning_ms">
+		300
+	</floater.string>
+	<floater.string name="network_ping_critical_msg">
+		Bağlantı ping süresi [NETWORK_PING_CRITICAL] ms.den fazla
+	</floater.string>
+	<floater.string name="network_ping_warning_msg">
+		Bağlantı ping süresi [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_packet_loss_cause_msg">
+		Muhtemel yetersiz bağlantı veya &apos;Bant Genişliği&apos; tercihi çok yüksek.
+	</floater.string>
+	<floater.string name="network_ping_cause_msg">
+		Muhtemel yetersiz bağlantı veya dosya paylaşım uygulaması.
+	</floater.string>
+	<floater.string name="server_text_msg">
+		Sunucu
+	</floater.string>
+	<floater.string name="server_frame_rate_critical_fps">
+		20
+	</floater.string>
+	<floater.string name="server_frame_rate_warning_fps">
+		30
+	</floater.string>
+	<floater.string name="server_single_process_max_time_ms">
+		20
+	</floater.string>
+	<floater.string name="server_frame_time_critical_msg">
+		Simülatör kare hızı [SERVER_FRAME_RATE_CRITICAL] altında
+	</floater.string>
+	<floater.string name="server_frame_time_warning_msg">
+		Simülatör kare hızı [SERVER_FRAME_RATE_CRITICAL] ve [SERVER_FRAME_RATE_WARNING] arasında
+	</floater.string>
+	<floater.string name="server_frame_time_normal_msg">
+		Normal
+	</floater.string>
+	<floater.string name="server_physics_cause_msg">
+		Muhtemel Neden: Çok fazla fiziki nesne
+	</floater.string>
+	<floater.string name="server_scripts_cause_msg">
+		Muhtemel Neden: Çok fazla komut dosyalı nesne
+	</floater.string>
+	<floater.string name="server_net_cause_msg">
+		Muhtemel Neden: Çok fazla ağ trafiği
+	</floater.string>
+	<floater.string name="server_agent_cause_msg">
+		Muhtemel Neden: Bölgede hareket eden çok fazla insan var
+	</floater.string>
+	<floater.string name="server_images_cause_msg">
+		Muhtemel Neden: Çok fazla görüntü hesabı
+	</floater.string>
+	<floater.string name="server_generic_cause_msg">
+		Muhtemel Neden: Simülatör yükü çok ağır
+	</floater.string>
+	<floater.string name="smaller_label">
+		&gt;&gt;
+	</floater.string>
+	<floater.string name="bigger_label">
+		&lt;&lt;
+	</floater.string>
+	<button name="client_lagmeter" tool_tip="Ä°stemci gecikme durumu"/>
+	<text name="client">
+		Ä°stemci
+	</text>
+	<text name="client_text">
+		Normal
+	</text>
+	<button name="network_lagmeter" tool_tip="AÄŸ gecikme durumu"/>
+	<text name="network">
+		AÄŸ
+	</text>
+	<text name="network_text">
+		Normal
+	</text>
+	<button name="server_lagmeter" tool_tip="Sunucu gecikme durumu"/>
+	<text name="server">
+		Sunucu
+	</text>
+	<text name="server_text">
+		Normal
+	</text>
+	<button label="&gt;&gt;" name="minimize" tool_tip="Gezdirici büyüklüğünü değiştir"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_region_restarting.xml b/indra/newview/skins/default/xui/tr/floater_region_restarting.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1f9ead8bdd1258b570af6abfa3156ee8320c7baf
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="BÖLGEYİ YENİDEN BAŞLAT">
+	<string name="RegionName">
+		Şu anda içinde bulunduğunuz bölge ([NAME]) yeniden başlatılmak üzere.
+
+Bu bölgede kalmaya devam ederseniz oturumunuz sonlandırılacak.
+	</string>
+	<string name="RestartSeconds">
+		Yeniden başlatma için kalan süre
+[SECONDS]
+	</string>
+	<panel name="layout_panel_1">
+		<text name="region_name">
+			Şu anda içinde bulunduğunuz bölge (-Bölgenin uzun adı-) yeniden başlatılmak üzere.
+
+Bu bölgede kalmaya devam ederseniz oturumunuz sonlandırılacak.
+		</text>
+		<text name="restart_seconds">
+			Yeniden başlatma için kalan süre
+     32767
+		</text>
+	</panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/tr/floater_scene_load_stats.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ae0a94595dd4234805b0fc36635d1a492c25c1ac
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="SAHNE YÃœKLEME Ä°STATÄ°STÄ°KLERÄ°">
+	<button label="Duraklat" name="playpause"/>
+	<scroll_container name="statistics_scroll">
+		<container_view name="statistics_view">
+			<stat_view label="Temel" name="basic">
+				<stat_bar label="Çerçeve Piksel Farkı" name="frame difference"/>
+				<stat_bar label="UDP Verileri Alındı" name="bandwidth"/>
+				<stat_bar label="Paket Kaybı" name="packet_loss"/>
+			</stat_view>
+			<stat_view label="GeliÅŸmiÅŸ" name="advanced">
+				<stat_view label="Ä°ÅŸle" name="render">
+					<stat_bar label="Toplam Nesne" name="objs"/>
+					<stat_bar label="Yeni Nesne" name="newobjs"/>
+					<stat_bar label="Nesne Önbellek İsabet Oranı" name="object_cache_hits"/>
+				</stat_view>
+				<stat_view label="Doku" name="texture">
+					<stat_bar label="Önbellek İsabet Oranı" name="texture_cache_hits"/>
+					<stat_bar label="Önbellek Okuma Gecikme Süresi" name="texture_cache_read_latency"/>
+					<stat_bar label="Sayım" name="numimagesstat"/>
+					<stat_bar label="Ham Sayım" name="numrawimagesstat"/>
+				</stat_view>
+				<stat_view label="AÄŸ" name="network">
+					<stat_bar label="Gelen Paketler" name="packetsinstat"/>
+					<stat_bar label="Giden Paketler" name="packetsoutstat"/>
+					<stat_bar label="Nesneler" name="objectdatareceived"/>
+					<stat_bar label="Doku" name="texturedatareceived"/>
+					<stat_bar label="Varlık" name="assetudpdatareceived"/>
+					<stat_bar label="Katmanlar" name="layersdatareceived"/>
+					<stat_bar label="Gerçekte Gelen" name="messagedatain"/>
+					<stat_bar label="Gerçekte Giden" name="messagedataout"/>
+					<stat_bar label="VFS Bekleyen Ä°ÅŸlemler" name="vfspendingoperations"/>
+				</stat_view>
+			</stat_view>
+			<stat_view label="Simülatör" name="sim">
+				<stat_bar label="Nesneler" name="simobjects"/>
+				<stat_bar label="Etkin Nesneler" name="simactiveobjects"/>
+				<stat_bar label="Etkin Komut Dosyaları" name="simactivescripts"/>
+				<stat_bar label="Gelen Paketler" name="siminpps"/>
+				<stat_bar label="Giden Paketler" name="simoutpps"/>
+				<stat_bar label="Bekleyen Karşıdan Yüklemeler" name="simpendingdownloads"/>
+				<stat_bar label="Bekleyen Karşıya Yüklemeler" name="simpendinguploads"/>
+				<stat_bar label="Toplam BildirilmiÅŸ Bayt" name="simtotalunackedbytes"/>
+				<stat_view label="Zaman (ms)" name="simperf">
+					<stat_bar label="Toplam Çerçeve Süresi" name="simframemsec"/>
+					<stat_bar label="Net Süre" name="simnetmsec"/>
+					<stat_bar label="Fizik Süresi" name="simsimphysicsmsec"/>
+					<stat_bar label="Simülasyon Süresi" name="simsimothermsec"/>
+					<stat_bar label="Aracı Süresi" name="simagentmsec"/>
+					<stat_bar label="Görüntü Süresi" name="simimagesmsec"/>
+					<stat_bar label="Komut Dosyası Süresi" name="simscriptmsec"/>
+					<stat_bar label="Yedek Zaman" name="simsparemsec"/>
+					<stat_view label="Zaman Ayrıntıları (ms)" name="timedetails">
+						<stat_bar label="Fizik Adımı" name="simsimphysicsstepmsec"/>
+						<stat_bar label="Fizik Şekillerini Güncelle" name="simsimphysicsshapeupdatemsec"/>
+						<stat_bar label="Fizik DiÄŸer" name="simsimphysicsothermsec"/>
+						<stat_bar label="Uyku Zamanı" name="simsleepmsec"/>
+						<stat_bar label="Pompa Giriş Çıkış" name="simpumpiomsec"/>
+					</stat_view>
+				</stat_view>
+			</stat_view>
+		</container_view>
+	</scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_stats.xml b/indra/newview/skins/default/xui/tr/floater_stats.xml
index afce87bdaa3d1950ff30c6ae56abfcc29f105c7d..2c0c33737f7ebcb207210d73696d5a4354a77b44 100755
--- a/indra/newview/skins/default/xui/tr/floater_stats.xml
+++ b/indra/newview/skins/default/xui/tr/floater_stats.xml
@@ -4,17 +4,20 @@
 		<container_view name="statistics_view">
 			<stat_view label="Temel" name="basic">
 				<stat_bar label="FPS" name="fps"/>
-				<stat_bar label="Bant geniÅŸliÄŸi" name="bandwidth"/>
+				<stat_bar label="UDP Verileri Alındı" name="bandwidth"/>
 				<stat_bar label="Paket Kaybı" name="packet_loss"/>
 				<stat_bar label="Sim Pingi" name="ping"/>
 			</stat_view>
 			<stat_view label="GeliÅŸmiÅŸ" name="advanced">
 				<stat_view label="Ä°ÅŸle" name="render">
-					<stat_bar label="Çerçeve Başına Çizilen Üçgenler" name="ktrisframe"/>
-					<stat_bar label="Saniyede Bir Çizilen Üçgenler" name="ktrissec"/>
+					<stat_bar label="Çerçeve Başına Üçgenler" name="ktrisframe"/>
+					<stat_bar label="Saniye Başına Üçgenler" name="ktrissec"/>
 					<stat_bar label="Toplam Nesne" name="objs"/>
 					<stat_bar label="Yeni Nesne" name="newobjs"/>
 					<stat_bar label="Nesne Önbellek İsabet Oranı" name="object_cache_hits"/>
+					<stat_bar label="Gerçekleştirilen Gölgeleme Sorguları" name="occlusion_queries"/>
+					<stat_bar label="Gölgelenen Nesneler" name="occluded"/>
+					<stat_bar label="Gölgelenmeye Nesneler" name="unoccluded"/>
 				</stat_view>
 				<stat_view label="Doku" name="texture">
 					<stat_bar label="Önbellek İsabet Oranı" name="texture_cache_hits"/>
@@ -26,15 +29,32 @@
 					<stat_bar label="Ham Bellek" name="rawmemstat"/>
 					<stat_bar label="Bağlı Doku Belleği" name="glboundmemstat"/>
 				</stat_view>
+				<stat_view label="Bellek Kullanımı" name="memory">
+					<stat_bar label="LLTrace" name="LLTrace"/>
+					<stat_bar label="KA" name="LLView"/>
+					<stat_bar label="Fontlar" name="LLFontFreetype"/>
+					<stat_bar label="Envanter" name="LLInventoryObject"/>
+					<stat_bar label="Görüntüleyici Nesneleri" name="LLViewerObject"/>
+					<stat_bar label="Gölgeleme Ağacı Grup Verileri" name="LLViewerOctreeGroup"/>
+					<stat_bar label="Gölgeleme Ağacı Verileri" name="LLViewerOctreeEntry"/>
+					<stat_bar label="Görüntüleyici Nesne Önbelleği" name="LLVOCacheEntry"/>
+					<stat_bar label="Çizilebilir nesneler" name="LLDrawable"/>
+					<stat_bar label="Yüz Verileri" name="LLFace"/>
+					<stat_bar label="Çizim Bilgileri" name="LLDrawInfo"/>
+					<stat_bar label="Doku Verileri" name="LLTexture"/>
+					<stat_bar label="Görüntü Verileri" name="LLImage"/>
+					<stat_bar label="GL Görüntü Verileri" name="LLImageGL"/>
+					<stat_bar label="Vertex Tamponları" name="LLVertexBuffer"/>
+				</stat_view>
 				<stat_view label="AÄŸ" name="network">
 					<stat_bar label="Gelen Paketler" name="packetsinstat"/>
 					<stat_bar label="Giden Paketler" name="packetsoutstat"/>
-					<stat_bar label="Nesneler" name="objectkbitstat"/>
-					<stat_bar label="Doku" name="texturekbitstat"/>
-					<stat_bar label="Varlık" name="assetkbitstat"/>
-					<stat_bar label="Katmanlar" name="layerskbitstat"/>
-					<stat_bar label="Gerçekte Gelen" name="actualinkbitstat"/>
-					<stat_bar label="Gerçekte Giden" name="actualoutkbitstat"/>
+					<stat_bar label="Nesneler" name="objectdatareceived"/>
+					<stat_bar label="Doku" name="texturedatareceived"/>
+					<stat_bar label="Varlık" name="assetudpdatareceived"/>
+					<stat_bar label="Katmanlar" name="layersdatareceived"/>
+					<stat_bar label="Gerçekte Gelen" name="messagedatain"/>
+					<stat_bar label="Gerçekte Giden" name="messagedataout"/>
 					<stat_bar label="VFS Bekleyen Ä°ÅŸlemler" name="vfspendingoperations"/>
 				</stat_view>
 			</stat_view>
@@ -64,8 +84,8 @@
 				<stat_bar label="Giden Paketler" name="simoutpps"/>
 				<stat_bar label="Bekleyen Karşıdan Yüklemeler" name="simpendingdownloads"/>
 				<stat_bar label="Bekleyen Karşıya Yüklemeler" name="simpendinguploads"/>
-				<stat_bar label="Toplam BildirilmiÅŸ Bayt" name="simtotalunackedbytes"/>
-				<stat_view label="Zaman (ms)" name="simperf">
+				<stat_bar label="Toplam BildirilmiÅŸ Veriler" name="simtotalunackedbytes"/>
+				<stat_view label="Süre" name="simperf">
 					<stat_bar label="Toplam Çerçeve Süresi" name="simframemsec"/>
 					<stat_bar label="Net Süre" name="simnetmsec"/>
 					<stat_bar label="Fizik Süresi" name="simsimphysicsmsec"/>
@@ -74,7 +94,7 @@
 					<stat_bar label="Görüntü Süresi" name="simimagesmsec"/>
 					<stat_bar label="Komut Dosyası Süresi" name="simscriptmsec"/>
 					<stat_bar label="Yedek Zaman" name="simsparemsec"/>
-					<stat_view label="Zaman Ayrıntıları (ms)" name="timedetails">
+					<stat_view label="Zaman Ayrıntıları" name="timedetails">
 						<stat_bar label="Fizik Adımı" name="simsimphysicsstepmsec"/>
 						<stat_bar label="Fizik Şekillerini Güncelle" name="simsimphysicsshapeupdatemsec"/>
 						<stat_bar label="Fizik DiÄŸer" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml b/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml
index d3ef490735600632fd034952b346fedcfa1980ea..dc3724cfc8294e17e625ce98785fe193715bd25e 100755
--- a/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
 <menu name="Avatar Icon Menu">
 	<menu_item_call label="Profili Göster" name="Show Profile"/>
 	<menu_item_call label="Aİ Gönder..." name="Send IM"/>
+	<menu_item_call label="Işınlanma Talep Et" name="Request Teleport"/>
 	<menu_item_call label="ArkadaÅŸ Ekle..." name="Add Friend"/>
 	<menu_item_call label="Arkadaşı Çıkar..." name="Remove Friend"/>
 </menu>
diff --git a/indra/newview/skins/default/xui/tr/menu_inventory.xml b/indra/newview/skins/default/xui/tr/menu_inventory.xml
index 51049427af5267eff3415e1ee78d9d6a4a133633..7239c4be0603ddeeef816b24e2e5d0c819f18652 100755
--- a/indra/newview/skins/default/xui/tr/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/tr/menu_inventory.xml
@@ -70,6 +70,7 @@
 	<menu_item_call label="Oyna" name="Sound Play"/>
 	<menu_item_call label="SLurl&apos;i Kopyala" name="url_copy"/>
 	<menu_item_call label="Yer İmi Hakkında" name="About Landmark"/>
+	<menu_item_call label="Haritada Göster" name="show_on_map"/>
 	<menu_item_call label="SL Dünyasında Oynat" name="Animation Play"/>
 	<menu_item_call label="Yerel Olarak Oynat" name="Animation Audition"/>
 	<menu_item_call label="Anlık İleti Gönder" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/tr/menu_login.xml b/indra/newview/skins/default/xui/tr/menu_login.xml
index 79c95407e8e60c37429a29db6db1b3cf9af75fcc..ecd29370a5e62958af2def198d87f36a0dac7c29 100755
--- a/indra/newview/skins/default/xui/tr/menu_login.xml
+++ b/indra/newview/skins/default/xui/tr/menu_login.xml
@@ -5,7 +5,15 @@
 		<menu_item_call label="[APP_NAME]&apos;den Çık" name="Quit"/>
 	</menu>
 	<menu label="Yardım" name="Help">
-		<menu_item_call label="[SECOND_LIFE] Yardımı" name="Second Life Help"/>
+		<menu_item_call label="Nasıl yapılır..." name="How To"/>
+		<menu_item_call label="Hızlı Başlangıç" name="Quickstart"/>
+		<menu_item_call label="Bilgi Bankası" name="Knowledge Base"/>
+		<menu_item_call label="Wiki" name="Wiki"/>
+		<menu_item_call label="Topluluk Forumları" name="Community Forums"/>
+		<menu_item_call label="Destek porteli" name="Support portal"/>
+		<menu_item_call label="[SECOND_LIFE] Haberler" name="Second Life News"/>
+		<menu_item_call label="[SECOND_LIFE] Bloklar" name="Second Life Blogs"/>
+		<menu_item_call label="Hata Bildir" name="Report Bug"/>
 		<menu_item_call label="[APP_NAME] Hakkında" name="About Second Life"/>
 	</menu>
 	<menu_item_check label="Hata Ayıklama Menüsünü Göster" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml
index 93984162e7facbf3c5d2b559ba63115f58006e3a..d7ff807c3d96adb3bdc1fa8f8c481769e0719dd2 100755
--- a/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
 <context_menu name="Teleport History Item Context Menu">
 	<menu_item_call label="Işınla" name="Teleport"/>
 	<menu_item_call label="Ek Bilgi" name="More Information"/>
-	<menu_item_call label="Panoya Kopyala" name="CopyToClipboard"/>
+	<menu_item_call label="SLurl&apos;i Kopyala" name="CopyToClipboard"/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/tr/menu_viewer.xml b/indra/newview/skins/default/xui/tr/menu_viewer.xml
index 4236f9163618dbe3e2c65f454efa1c51d3e5695d..eabea0cc6754f007f3bb92c77181e7ac0de38e7a 100755
--- a/indra/newview/skins/default/xui/tr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/tr/menu_viewer.xml
@@ -70,11 +70,11 @@
 			<menu_item_check label="Gelişmiş Menü" name="Show Advanced Menu"/>
 		</menu>
 		<menu label="Güneş" name="Sun">
-			<menu_item_call label="Gün Doğumu" name="Sunrise"/>
-			<menu_item_call label="Gün Ortası" name="Noon"/>
-			<menu_item_call label="Gün Batımı" name="Sunset"/>
-			<menu_item_call label="Gece Yarısı" name="Midnight"/>
-			<menu_item_call label="Bölge Ayarlarını Kullan" name="Use Region Settings"/>
+			<menu_item_check label="Gün Doğumu" name="Sunrise"/>
+			<menu_item_check label="Gün Ortası" name="Noon"/>
+			<menu_item_check label="Gün Batımı" name="Sunset"/>
+			<menu_item_check label="Gece Yarısı" name="Midnight"/>
+			<menu_item_check label="Bölge Ayarlarını Kullan" name="Use Region Settings"/>
 		</menu>
 		<menu label="Ortam Düzenleyici" name="Environment Editor">
 			<menu_item_call label="Ortam Ayarları..." name="Environment Settings"/>
@@ -163,8 +163,6 @@
 	</menu>
 	<menu label="Yardım" name="Help">
 		<menu_item_call label="Nasıl yapılır..." name="How To"/>
-		<menu_item_call label="[SECOND_LIFE] Yardımı" name="Second Life Help"/>
-		<menu_item_call label="Kullanıcı kılavuzu" name="User’s guide"/>
 		<menu_item_call label="Bilgi Bankası" name="Knowledge Base"/>
 		<menu_item_call label="Wiki" name="Wiki"/>
 		<menu_item_call label="Topluluk Forumları" name="Community Forums"/>
@@ -186,6 +184,7 @@
 		<menu label="Performans Araçları" name="Performance Tools">
 			<menu_item_call label="Gecikme Ölçer" name="Lag Meter"/>
 			<menu_item_check label="İstatistik Çubuğu" name="Statistics Bar"/>
+			<menu_item_call label="Sahne Yükleme İstatistikleri" name="Scene Load Statistics"/>
 			<menu_item_check label="Avatarlar İçin Çizim Ağırlığını Göster" name="Avatar Rendering Cost"/>
 		</menu>
 		<menu label="Vurgulama ve Görünürlük" name="Highlighting and Visibility">
@@ -248,6 +247,7 @@
 			<menu_item_check label="Hızlı Zamanlayıcılar" name="Fast Timers"/>
 			<menu_item_check label="Bellek" name="Memory"/>
 			<menu_item_check label="Sahne Ä°statistikleri" name="Scene Statistics"/>
+			<menu_item_check label="Sahne Yükleme Ekranı" name="Scene Loading Monitor"/>
 			<menu_item_call label="Doku Alınması Hata Ayıklama Konsolu" name="Texture Fetch Debug Console"/>
 			<menu_item_call label="Hata Ayıklama Konsoluna giden Bölge Bilgisi" name="Region Info to Debug Console"/>
 			<menu_item_call label="Hata Ayıklama Konsoluna giden Grup Bilgisi" name="Group Info to Debug Console"/>
@@ -284,6 +284,7 @@
 			<menu_item_check label="Düzenli Yavaş Çerçeve" name="Periodic Slow Frame"/>
 			<menu_item_check label="Çerçeve Testi" name="Frame Test"/>
 			<menu_item_call label="Çerçeve Profili..." name="Frame Profile"/>
+			<menu_item_call label="DeÄŸerlendirme" name="Benchmark"/>
 		</menu>
 		<menu label="Meta Verileri Ä°ÅŸle" name="Render Metadata">
 			<menu_item_check label="Sınırlama Kutuları" name="Bounding Boxes"/>
@@ -302,6 +303,7 @@
 			<menu_item_check label="Ä°nÅŸa KuyruÄŸu" name="Build Queue"/>
 			<menu_item_check label="Işıklar" name="Lights"/>
 			<menu_item_check label="Çarpışma İskeleti" name="Collision Skeleton"/>
+			<menu_item_check label="Eklemler" name="Joints"/>
 			<menu_item_check label="Işın Yayını" name="Raycast"/>
 			<menu_item_check label="Rüzgar Vektörleri" name="Wind Vectors"/>
 			<menu_item_check label="İşleme Karmaşıklığı" name="rendercomplexity"/>
@@ -334,6 +336,7 @@
 			<menu_item_check label="Eklenmiş Işıkları İşle" name="Render Attached Lights"/>
 			<menu_item_check label="Eklenmiş Parçacıkları İşle" name="Render Attached Particles"/>
 			<menu_item_check label="Parıldayan Nesneler Üzerine Gel" name="Hover Glow Objects"/>
+			<menu_item_call label="Önbelleği Hemen Temizle" name="Cache Clear"/>
 		</menu>
 		<menu label="AÄŸ" name="Network">
 			<menu_item_check label="Aracıyı Durdur" name="AgentPause"/>
@@ -366,7 +369,6 @@
 			<menu_item_call label="Odaklayıcı Tutucunun Dökümünü Al" name="Dump Focus Holder"/>
 			<menu_item_call label="Seçilen Nesne Bilgisini Yazdır" name="Print Selected Object Info"/>
 			<menu_item_call label="Aracı Bilgisini Yazdır" name="Print Agent Info"/>
-			<menu_item_check label="Bölge Hata Ayıklama Konsolu" name="Region Debug Console"/>
 			<menu_item_check label="SelectMgr İçin Hata Ayıklama" name="Debug SelectMgr"/>
 			<menu_item_check label="Tıklamalar İçin Hata Ayıklama" name="Debug Clicks"/>
 			<menu_item_check label="Görünümler için Hata Ayıklama" name="Debug Views"/>
diff --git a/indra/newview/skins/default/xui/tr/notifications.xml b/indra/newview/skins/default/xui/tr/notifications.xml
index 492178ab8246fe4a2b5efb57057efe82fee4d095..a58abca3ac7d58be65221625075355e8d63f25cc 100755
--- a/indra/newview/skins/default/xui/tr/notifications.xml
+++ b/indra/newview/skins/default/xui/tr/notifications.xml
@@ -114,13 +114,13 @@ Daha fazla bilgi için bkz. [[MARKETPLACE_IMPORTS_URL] hata günlüğü].
 		<usetemplate name="okbutton" yestext="Tamam"/>
 	</notification>
 	<notification name="OutboxImportFailed">
-		Aktarım başarılamadı
+		Aktarım &apos;[ERROR_CODE]&apos; hatası nedeniyle başarısız oldu
 
 Bir sistem veya ağ hatası nedeniyle Pazaryerine hiçbir klasör gönderilemedi.  Daha sonra tekrar deneyin.
 		<usetemplate name="okbutton" yestext="Tamam"/>
 	</notification>
 	<notification name="OutboxInitFailed">
-		Pazaryeri başlatılamadı.
+		Pazaryeri başlatılması &apos;[ERROR_CODE]&apos; hatası nedeniyle başarısız oldu
 
 Bir sistem veya ağ hatası nedeniyle Pazaryeri başlatılamadı.  Daha sonra tekrar deneyin.
 		<usetemplate name="okbutton" yestext="Tamam"/>
@@ -1731,6 +1731,10 @@ Lütfen daha sonra tekrar deneyin.
 		&lt;nolink&gt;[LOCATION]&lt;/nolink&gt; konumuna ışınlanmak istediğinize emin misiniz?
 		<usetemplate ignoretext="Bir yer imine ışınlanma istediğimde doğrulama iste" name="okcancelignore" notext="İptal Et" yestext="Işınla"/>
 	</notification>
+	<notification name="TeleportViaSLAPP">
+		&lt;nolink&gt;[LOCATION]&lt;/nolink&gt; konumuna ışınlanmak istediğinize emin misiniz?
+		<usetemplate ignoretext="SLAPP ile ışınlanma istediğimde doğrulama iste" name="okcancelignore" notext="İptal" yestext="Işınla"/>
+	</notification>
 	<notification name="TeleportToPick">
 		[PICK] konumuna ışınlanılsın mı?
 		<usetemplate ignoretext="Seçme sekmesindeki bir konuma ışınlanma istediğimde doğrulama iste" name="okcancelignore" notext="İptal Et" yestext="Işınla"/>
@@ -1940,6 +1944,9 @@ Binlerce bölgeyi değiştirecek ve alan sunucusunu kesintiye uğratacaktır.
 	<notification name="ProblemAddingEstateManager">
 		Yeni bir gayrimenkul yöneticisi eklenirken problem oluştu. Bir veya birden fazla gayrimenkulün yönetici listesi dolu olabilir.
 	</notification>
+	<notification name="ProblemAddingEstateBanManager">
+		Gayri menkul sahibi ya da yöneticisi yasaklı listesine eklenemedi.
+	</notification>
 	<notification name="ProblemAddingEstateGeneric">
 		Bu gayrimenkul listesine eklenirken problem oluştu. Bir veya birden fazla gayrimenkulün listesi dolu olabilir.
 	</notification>
@@ -3027,9 +3034,9 @@ Ayrıntılar için günlük dosyasına bakın.
 
 &lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
 
-Paylaşmanın yapılacağı Sakinler:
+Paylaşmanın yapılacağı Second Life Sakinleri:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Ä°ptal" yestext="Tamam"/>
 	</notification>
 	<notification name="ShareFolderConfirmation">
@@ -3041,7 +3048,7 @@ Aşağıdaki öğeleri paylaşmak istediğinize emin misiniz?
 
 Paylaşmanın yapılacağı Second Life Sakinleri:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="Ä°ptal" yestext="Tamam"/>
 	</notification>
 	<notification name="ItemsShared">
@@ -3496,10 +3503,6 @@ Lütfen bir dakika sonra tekrar deneyin.
 	<notification name="EjectComingSoon">
 		Daha fazla burada olma izniniz yok ve ayrılmak için [EJECT_TIME] saniyeniz var.
 	</notification>
-	<notification name="NoEnterServerFull">
-		Bu bölgeye giremezsiniz çünkü 
-sunucu dolu.
-	</notification>
 	<notification name="SaveBackToInvDisabled">
 		Envantere Geri Kaydet devre dışı bırakıldı.
 	</notification>
@@ -3683,6 +3686,9 @@ sunucu dolu.
 	<notification name="LinkFailedTooMuchPhysics">
 		Nesne çok fazla fizik kaynağı kullanıyor -- dinamikleri devre dışı bırakıldı.
 	</notification>
+	<notification name="EstateManagerFailedllTeleportHome">
+		[SLURL] adresindeki &apos;[OBJECT_NAME]&apos; nesnesi gayri menkul yöneticilerini ana konuma ışınlayamıyor.
+	</notification>
 	<notification name="TeleportedHomeByObjectOnParcel">
 		&apos;[PARCEL_NAME]&apos; parseli üzerindeki &apos;[OBJECT_NAME]&apos; nesnesi tarafından ana konuma ışınlandınız
 	</notification>
@@ -3873,13 +3879,18 @@ sunucu dolu.
 		Seçimde birleştirilecek yeterli sayıda lease edilmiş parsel yok.
 	</notification>
 	<notification name="CantDivideLandMultipleParcelsSelected">
-		Arazi bölünemedi.\nBirden fazla parsel seçili durumda.\nDaha küçük bir arazi parçası seçmeyi deneyin.
+		Arazi bölünemiyor.
+Birden fazla parsel seçili.
+Daha küçük bir arazi parçası seçmeyi deneyin.
 	</notification>
 	<notification name="CantDivideLandCantFindParcel">
-		Arazi bölünemiyor.\nParsel bulunamıyor.\nLütfen Yardım -&gt; Hata Bildir ile bildirin...
+		Arazi bölünemiyor.
+Parsel bulunamıyor.
+Lütfen Yardım -&gt; Hata Bildir... sekmesinden hatayı bildirin
 	</notification>
 	<notification name="CantDivideLandWholeParcelSelected">
-		Arazi bölünemiyor. Tüm parsel seçilidir.\nDaha küçük bir arazi parçası seçmeyi deneyin.
+		Arazi bölünemiyor. Tüm parsel seçili.
+Daha küçük bir arazi parçası seçmeyi deneyin.
 	</notification>
 	<notification name="LandHasBeenDivided">
 		Arazi bölündü.
@@ -4019,4 +4030,8 @@ sunucu dolu.
 		Dosyalar taşınamıyor. Önceki yol geri yüklendi.
 		<usetemplate ignoretext="Dosyalar taşınamıyor. Önceki yol geri yüklendi." name="okignore" yestext="Tamam"/>
 	</notification>
+	<notification name="ChatHistoryIsBusyAlert">
+		Sohbet geçmişi dosyası önceki işlemi gerçekleştirmekle meşgul. Lütfen bir kaç dakika sonra tekrar deneyin veya başka bir kişiyle sohbet etmeyi deneyin.
+		<usetemplate name="okbutton" yestext="Tamam"/>
+	</notification>
 </notifications>
diff --git a/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml
index 32f39da49014f60637e530b2f215ea93ee9e51da..e4697eaa21f9de581898edc5987a16ddb2b080df 100755
--- a/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
 		<layout_panel name="group_accordions">
 			<accordion name="groups_accordion">
 				<accordion_tab name="group_general_tab" title="Genel"/>
-				<accordion_tab name="group_roles_tab" title="Roller"/>
+				<accordion_tab name="group_roles_tab" title="Roller ve Ãœyeler"/>
 				<accordion_tab name="group_notices_tab" title="Bildirimler"/>
 				<accordion_tab name="group_land_tab" title="Arazi/Varlıklar"/>
 			</accordion>
diff --git a/indra/newview/skins/default/xui/tr/panel_group_roles.xml b/indra/newview/skins/default/xui/tr/panel_group_roles.xml
index fb03107da81a80d0a2828349adffa447e4b6611e..ef8b093ddfe3e07ead8dd9bf7a1313b8cefe187e 100755
--- a/indra/newview/skins/default/xui/tr/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/tr/panel_group_roles.xml
@@ -20,6 +20,7 @@ Ctrl tuşuna basıp adlarına tıklayarak birden fazla Üye seçebilirsiniz.
 				<name_list.columns label="Ãœye" name="name"/>
 				<name_list.columns label="Bağış" name="donated"/>
 				<name_list.columns label="Durum" name="online"/>
+				<name_list.columns label="Ãœnvan" name="title"/>
 			</name_list>
 			<button label="Davet Et" name="member_invite"/>
 			<button label="Çıkar" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/tr/panel_region_debug.xml b/indra/newview/skins/default/xui/tr/panel_region_debug.xml
index 834ece563f9f6ffcc35db634485cec92f6032e03..74a0a1569ef2aeb98ff2c4601257eba9ada1230b 100755
--- a/indra/newview/skins/default/xui/tr/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/tr/panel_region_debug.xml
@@ -28,7 +28,8 @@
 	<check_box label="Bu gayrimenkulu oluşturan bölgelerin tümünde" name="return_estate_wide" tool_tip="Bu gayrimenkulu oluşturan bölgelerin tümündeki nesneler iade edilsin"/>
 	<button label="Ä°ade Et" name="return_btn"/>
 	<button label="En Çok Çarpışanlar..." name="top_colliders_btn" tool_tip="En çok potansiyel çarpışma yaşayan nesnelerin listesi"/>
-	<button label="En Çok Komut Dsy. Çalştr...." name="top_scripts_btn" tool_tip="Komut dosyalarını çalıştırırken en çok zaman harcayan nesnelerin listesi"/>
 	<button label="Bölgeyi Yeniden Başlat" name="restart_btn" tool_tip="2 dakikalık bir geri sayımdan sonra bölgeyi yeniden başlat"/>
+	<button label="En Çok Komut Dsy. Çalştr...." name="top_scripts_btn" tool_tip="Komut dosyalarını çalıştırırken en çok zaman harcayan nesnelerin listesi"/>
 	<button label="Yeniden Başlatmayı İptal Et" name="cancel_restart_btn" tool_tip="Bölge yeniden başlatmasını iptal et"/>
+	<button label="Bölge Hata Ayıklama Konsolu" name="region_debug_console_btn" tool_tip="Açık Bölge Hata Ayıklama Konsolu"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_region_general.xml b/indra/newview/skins/default/xui/tr/panel_region_general.xml
index 37da0f2ccae4e14e0ef96ae9a24bca9ca6f14c2b..e6abef883d7b8c27ec55d485feb2805c904ae364 100755
--- a/indra/newview/skins/default/xui/tr/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/tr/panel_region_general.xml
@@ -20,12 +20,12 @@
 	</text>
 	<check_box label="Yer Åžekillendirmeyi Engelle" name="block_terraform_check"/>
 	<check_box label="Uçmayı Engelle" name="block_fly_check"/>
+	<check_box label="Parselin Üzerinde Uçmayı Engelle" name="block_fly_over_check" tool_tip="Bir parselin üzerinden uçulmasını engellemek için onay işaretlerini yukarı doğru genişletin"/>
 	<check_box label="Hasara Ä°zin Ver" name="allow_damage_check"/>
 	<check_box label="İtmeyi Kısıtla" name="restrict_pushobject"/>
 	<check_box label="Arazinin Tekrar Satışına İzin Ver" name="allow_land_resell_check"/>
 	<check_box label="Arazinin Birleşmesine/Bölünmesine İzin Ver" name="allow_parcel_changes_check"/>
 	<check_box label="Aramada Arazinin Gösterilmesini Engelle" name="block_parcel_search_check" tool_tip="Arama sonuçlarında bu bölge ve parselleri görünsün"/>
-	<check_box label="Örgü Nesnelere İzin Ver" name="mesh_rez_enabled_check" tool_tip="Bu bölgede insanların örgü nesneleri oluşturmasına izin verilsin"/>
 	<spinner label="Aracı Limiti" name="agent_limit_spin"/>
 	<spinner label="Nesne Bonusu" name="object_bonus_spin"/>
 	<text label="EriÅŸkinlik" name="access_text">
diff --git a/indra/newview/skins/default/xui/tr/strings.xml b/indra/newview/skins/default/xui/tr/strings.xml
index 31c5d2d3107518fa1599a9847978fe579bbbcca0..f575b9e608dea726100010c665ea027341349cf0 100755
--- a/indra/newview/skins/default/xui/tr/strings.xml
+++ b/indra/newview/skins/default/xui/tr/strings.xml
@@ -37,6 +37,45 @@
 	<string name="StartupRequireDriverUpdate">
 		Grafik başlatma başarılamadı. Lütfen grafik sürücünüzü güncelleştirin!
 	</string>
+	<string name="AboutHeader">
+		[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [Sürüm Notları]]
+	</string>
+	<string name="AboutCompiler">
+		[COMPILER] [COMPILER_VERSION] sürümü ile oluşturuldu
+	</string>
+	<string name="AboutPosition">
+		&lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP]) üzerinde bulunan [REGION] içerisinde [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] konumundasınız
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(küresel koordinatlar [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+	</string>
+	<string name="AboutSystem">
+		CPU: [CPU]
+Bellek: [MEMORY_MB] MB
+İşl. Sis. Sürümü: [OS_VERSION]
+Grafik Kartı Üreticisi: [GRAPHICS_CARD_VENDOR]
+Grafik Kartı: [GRAPHICS_CARD]
+	</string>
+	<string name="AboutDriver">
+		Windows Grafik Sürücüsü Sürümü: [GRAPHICS_DRIVER_VERSION]
+	</string>
+	<string name="AboutLibs">
+		OpenGL Sürümü: [OPENGL_VERSION]
+
+libcurl Sürümü: [LIBCURL_VERSION]
+J2C Kod Çözücü Sürümü: [J2C_VERSION]
+Ses Sürücüsü Sürümü: [AUDIO_DRIVER_VERSION]
+Qt Web Kit Sürümü: [QT_WEBKIT_VERSION]
+Ses Sunucusu Sürümü: [VOICE_VERSION]
+	</string>
+	<string name="AboutTraffic">
+		Kaybolan Paketler: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+	</string>
+	<string name="ErrorFetchingServerReleaseNotesURL">
+		Sunucu sürümü notları URL&apos;si alınırken hata oluştu.
+	</string>
 	<string name="ProgressRestoring">
 		Geri yükleniyor...
 	</string>
@@ -934,15 +973,15 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
 	<string name="ControlYourCamera">
 		Kameranızı kontrol etmek
 	</string>
+	<string name="TeleportYourAgent">
+		Sizi ışınlama
+	</string>
 	<string name="NotConnected">
 		Bağlı Değil
 	</string>
 	<string name="AgentNameSubst">
 		(Siz)
 	</string>
-	<string name="TeleportYourAgent">
-		Sizi ışınlama
-	</string>
 	<string name="JoinAnExperience">
 		Bir tecrübeye katıl
 	</string>
@@ -1267,8 +1306,7 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
 	<string name="InventoryInboxNoItems">
 		Pazaryerinda satın aldıklarınız burada görünecektir. Bunları kullanmak için envanterinize sürükleyebilirsiniz.
 	</string>
-  <string name="Unconstrained">Kısıtsız</string>
-  <string name="MarketplaceURL">
+	<string name="MarketplaceURL">
 		https://marketplace.[MARKETPLACE_DOMAIN_NAME]/
 	</string>
 	<string name="MarketplaceURL_CreateStore">
@@ -1297,6 +1335,18 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
 	<string name="InventoryOutboxNoItems">
 		Bu alana klasörleri sürükleyin ve bunları [[MARKETPLACE_DASHBOARD_URL] Pazaryerinde] satılık olarak duyurmak için &quot;Pazaryerine Gönder&quot; üzerine tıklayın.
 	</string>
+	<string name="InventoryOutboxInitializingTitle">
+		Pazaryeri Başlatılıyor.
+	</string>
+	<string name="InventoryOutboxInitializing">
+		[[MARKETPLACE_CREATE_STORE_URL] Mağazası] üzerindeki hesabınıza erişiyoruz.
+	</string>
+	<string name="InventoryOutboxErrorTitle">
+		Pazaryeri Hataları
+	</string>
+	<string name="InventoryOutboxError">
+		[[MARKETPLACE_CREATE_STORE_URL] Mağazası] hata döndürüyor.
+	</string>
 	<string name="Marketplace Error None">
 		Hata yok
 	</string>
@@ -1324,6 +1374,9 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
 	<string name="Open landmarks">
 		Açık yer imleri
 	</string>
+	<string name="Unconstrained">
+		Kısıtsız
+	</string>
 	<string name="no_transfer" value="(aktarım yok)"/>
 	<string name="no_modify" value="(deÄŸiÅŸtirme yok)"/>
 	<string name="no_copy" value="(kopya yok)"/>
@@ -1724,6 +1777,9 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
 	<string name="CompileQueueDownloadedCompiling">
 		Karşıdan yüklendi, şimdi derleniyor
 	</string>
+	<string name="CompileQueueServiceUnavailable">
+		Komut dosyası derleme hizmeti kullanılamıyor
+	</string>
 	<string name="CompileQueueScriptNotFound">
 		Komut dosyası sunucuda bulunamadı.
 	</string>
diff --git a/indra/newview/skins/default/xui/zh/floater_lagmeter.xml b/indra/newview/skins/default/xui/zh/floater_lagmeter.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6e58e7332f2a39343d0c0658275f383f25c23631
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="LAG 測量器">
+	<floater.string name="max_title_msg">
+		Lag 測量器
+	</floater.string>
+	<floater.string name="max_width_px">
+		360
+	</floater.string>
+	<floater.string name="min_title_msg">
+		Lag
+	</floater.string>
+	<floater.string name="min_width_px">
+		90
+	</floater.string>
+	<floater.string name="client_text_msg">
+		客戶端
+	</floater.string>
+	<floater.string name="client_frame_rate_critical_fps">
+		10
+	</floater.string>
+	<floater.string name="client_frame_rate_warning_fps">
+		15
+	</floater.string>
+	<floater.string name="client_frame_time_window_bg_msg">
+		Normal, window in background
+	</floater.string>
+	<floater.string name="client_frame_time_critical_msg">
+		Client frame rate below [CLIENT_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="client_frame_time_warning_msg">
+		Client frame rate between [CLIENT_FRAME_RATE_CRITICAL] and [CLIENT_FRAME_RATE_WARNING]
+	</floater.string>
+	<floater.string name="client_frame_time_normal_msg">
+		正常
+	</floater.string>
+	<floater.string name="client_draw_distance_cause_msg">
+		Possible cause: Draw distance set too high
+	</floater.string>
+	<floater.string name="client_texture_loading_cause_msg">
+		Possible cause: Images loading
+	</floater.string>
+	<floater.string name="client_texture_memory_cause_msg">
+		Possible cause: Too many images in memory
+	</floater.string>
+	<floater.string name="client_complex_objects_cause_msg">
+		Possible cause: Too many complex objects in scene
+	</floater.string>
+	<floater.string name="network_text_msg">
+		網路
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_pct">
+		10
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_pct">
+		5
+	</floater.string>
+	<floater.string name="network_packet_loss_critical_msg">
+		Connection is dropping over [NETWORK_PACKET_LOSS_CRITICAL]% of packets
+	</floater.string>
+	<floater.string name="network_packet_loss_warning_msg">
+		Connection is dropping [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% of packets
+	</floater.string>
+	<floater.string name="network_performance_normal_msg">
+		正常
+	</floater.string>
+	<floater.string name="network_ping_critical_ms">
+		600
+	</floater.string>
+	<floater.string name="network_ping_warning_ms">
+		300
+	</floater.string>
+	<floater.string name="network_ping_critical_msg">
+		Connection ping time is over [NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_ping_warning_msg">
+		Connection ping time is [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+	</floater.string>
+	<floater.string name="network_packet_loss_cause_msg">
+		Possible bad connection or &apos;Bandwidth&apos; pref too high.
+	</floater.string>
+	<floater.string name="network_ping_cause_msg">
+		Possible bad connection or file-sharing app.
+	</floater.string>
+	<floater.string name="server_text_msg">
+		伺服器
+	</floater.string>
+	<floater.string name="server_frame_rate_critical_fps">
+		20
+	</floater.string>
+	<floater.string name="server_frame_rate_warning_fps">
+		30
+	</floater.string>
+	<floater.string name="server_single_process_max_time_ms">
+		20
+	</floater.string>
+	<floater.string name="server_frame_time_critical_msg">
+		模擬器 framerate 低於 [SERVER_FRAME_RATE_CRITICAL]
+	</floater.string>
+	<floater.string name="server_frame_time_warning_msg">
+		模擬器 framerate 介於 [SERVER_FRAME_RATE_CRITICAL] 與 [SERVER_FRAME_RATE_WARNING] 之間
+	</floater.string>
+	<floater.string name="server_frame_time_normal_msg">
+		正常
+	</floater.string>
+	<floater.string name="server_physics_cause_msg">
+		可能原因:太多物理物件
+	</floater.string>
+	<floater.string name="server_scripts_cause_msg">
+		可能原因:太多腳本物件
+	</floater.string>
+	<floater.string name="server_net_cause_msg">
+		可能原因:太多網路流量
+	</floater.string>
+	<floater.string name="server_agent_cause_msg">
+		可能原因:地區有太多移動的人
+	</floater.string>
+	<floater.string name="server_images_cause_msg">
+		可能原因:太多圖像計算
+	</floater.string>
+	<floater.string name="server_generic_cause_msg">
+		可能原因:模擬器負載過重
+	</floater.string>
+	<floater.string name="smaller_label">
+		&gt;&gt;
+	</floater.string>
+	<floater.string name="bigger_label">
+		&lt;&lt;
+	</floater.string>
+	<button name="client_lagmeter" tool_tip="客戶端 lag 狀態"/>
+	<text name="client">
+		客戶端
+	</text>
+	<text name="client_text">
+		正常
+	</text>
+	<button name="network_lagmeter" tool_tip="網路 lag 狀態"/>
+	<text name="network">
+		網路
+	</text>
+	<text name="network_text">
+		正常
+	</text>
+	<button name="server_lagmeter" tool_tip="伺服器 lag 狀態"/>
+	<text name="server">
+		伺服器
+	</text>
+	<text name="server_text">
+		正常
+	</text>
+	<button label="&gt;&gt;" name="minimize" tool_tip="切換浮動視窗尺寸"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/zh/floater_region_restarting.xml b/indra/newview/skins/default/xui/zh/floater_region_restarting.xml
new file mode 100644
index 0000000000000000000000000000000000000000..afac7da20336b018be10b0e42c7742f7ae177844
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="地區重新啟動中">
+	<string name="RegionName">
+		你所在的地區([NAME])即將重新啟動。
+
+如果你繼續留在這地區,你將會被登出。
+	</string>
+	<string name="RestartSeconds">
+		重新啟動倒數秒數:
+[SECONDS]
+	</string>
+	<panel name="layout_panel_1">
+		<text name="region_name">
+			你所在的地區(-最長地區名-)即將重新啟動。
+
+如果你繼續留在這地區,你將會被登出。
+		</text>
+		<text name="restart_seconds">
+			重新啟動倒數秒數:
+     32767
+		</text>
+	</panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/zh/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/zh/floater_scene_load_stats.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1a5c20abeb954ee0da413720cc53c72411ffebad
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="場景負載統計資料">
+	<button label="暫停" name="playpause"/>
+	<scroll_container name="statistics_scroll">
+		<container_view name="statistics_view">
+			<stat_view label="基本" name="basic">
+				<stat_bar label="幀像素差" name="frame difference"/>
+				<stat_bar label="已收到UDP資料" name="bandwidth"/>
+				<stat_bar label="封包損失" name="packet_loss"/>
+			</stat_view>
+			<stat_view label="進階" name="advanced">
+				<stat_view label="呈像" name="render">
+					<stat_bar label="物件總計" name="objs"/>
+					<stat_bar label="新物件" name="newobjs"/>
+					<stat_bar label="物件快取讀取率" name="object_cache_hits"/>
+				</stat_view>
+				<stat_view label="材質" name="texture">
+					<stat_bar label="快取讀取率" name="texture_cache_hits"/>
+					<stat_bar label="快取讀取延遲" name="texture_cache_read_latency"/>
+					<stat_bar label="計數" name="numimagesstat"/>
+					<stat_bar label="原始計數" name="numrawimagesstat"/>
+				</stat_view>
+				<stat_view label="網路" name="network">
+					<stat_bar label="進入封包" name="packetsinstat"/>
+					<stat_bar label="出去封包" name="packetsoutstat"/>
+					<stat_bar label="物件" name="objectdatareceived"/>
+					<stat_bar label="材質" name="texturedatareceived"/>
+					<stat_bar label="資產" name="assetudpdatareceived"/>
+					<stat_bar label="層次" name="layersdatareceived"/>
+					<stat_bar label="實入" name="messagedatain"/>
+					<stat_bar label="實出" name="messagedataout"/>
+					<stat_bar label="VFS 待行作業" name="vfspendingoperations"/>
+				</stat_view>
+			</stat_view>
+			<stat_view label="模擬器" name="sim">
+				<stat_bar label="物件" name="simobjects"/>
+				<stat_bar label="使用中物件" name="simactiveobjects"/>
+				<stat_bar label="使用中腳本" name="simactivescripts"/>
+				<stat_bar label="進入封包" name="siminpps"/>
+				<stat_bar label="出去封包" name="simoutpps"/>
+				<stat_bar label="擱置下載" name="simpendingdownloads"/>
+				<stat_bar label="擱置上傳" name="simpendinguploads"/>
+				<stat_bar label="未承認的總位元組數" name="simtotalunackedbytes"/>
+				<stat_view label="時間(毫秒)" name="simperf">
+					<stat_bar label="總幀時間" name="simframemsec"/>
+					<stat_bar label="淨時間" name="simnetmsec"/>
+					<stat_bar label="物理時間" name="simsimphysicsmsec"/>
+					<stat_bar label="模擬時間" name="simsimothermsec"/>
+					<stat_bar label="用戶時間" name="simagentmsec"/>
+					<stat_bar label="圖像時間" name="simimagesmsec"/>
+					<stat_bar label="腳本時間" name="simscriptmsec"/>
+					<stat_bar label="閒置時間" name="simsparemsec"/>
+					<stat_view label="時間細節(毫秒)" name="timedetails">
+						<stat_bar label="物理步驟" name="simsimphysicsstepmsec"/>
+						<stat_bar label="更新物理形狀" name="simsimphysicsshapeupdatemsec"/>
+						<stat_bar label="物理(其他)" name="simsimphysicsothermsec"/>
+						<stat_bar label="睡眠時間" name="simsleepmsec"/>
+						<stat_bar label="基礎網路輸出入" name="simpumpiomsec"/>
+					</stat_view>
+				</stat_view>
+			</stat_view>
+		</container_view>
+	</scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/zh/floater_stats.xml b/indra/newview/skins/default/xui/zh/floater_stats.xml
index 4af5684ec16f9da281174b25c147f3351d4cfc12..282e61e73d67715ef3f86af4919659b437ca1ea1 100755
--- a/indra/newview/skins/default/xui/zh/floater_stats.xml
+++ b/indra/newview/skins/default/xui/zh/floater_stats.xml
@@ -4,17 +4,20 @@
 		<container_view name="statistics_view">
 			<stat_view label="基本" name="basic">
 				<stat_bar label="每秒幀數" name="fps"/>
-				<stat_bar label="頻寬" name="bandwidth"/>
+				<stat_bar label="已收到UDP資料" name="bandwidth"/>
 				<stat_bar label="封包損失" name="packet_loss"/>
 				<stat_bar label="探詢模擬器有無反應" name="ping"/>
 			</stat_view>
 			<stat_view label="進階" name="advanced">
 				<stat_view label="呈像" name="render">
-					<stat_bar label="繪出的 KTris(每幀)" name="ktrisframe"/>
-					<stat_bar label="繪出的 KTris(每秒)" name="ktrissec"/>
+					<stat_bar label="KTris(每幀)" name="ktrisframe"/>
+					<stat_bar label="KTris(每秒)" name="ktrissec"/>
 					<stat_bar label="物件總計" name="objs"/>
 					<stat_bar label="新物件" name="newobjs"/>
 					<stat_bar label="物件快取讀取率" name="object_cache_hits"/>
+					<stat_bar label="已執行遮蔽查詢" name="occlusion_queries"/>
+					<stat_bar label="物件已遮蔽" name="occluded"/>
+					<stat_bar label="物件已解除遮蔽" name="unoccluded"/>
 				</stat_view>
 				<stat_view label="材質" name="texture">
 					<stat_bar label="快取讀取率" name="texture_cache_hits"/>
@@ -26,15 +29,32 @@
 					<stat_bar label="原始記憶" name="rawmemstat"/>
 					<stat_bar label="界限記憶" name="glboundmemstat"/>
 				</stat_view>
+				<stat_view label="記憶體使用狀況" name="memory">
+					<stat_bar label="LLTrace" name="LLTrace"/>
+					<stat_bar label="使用者界面" name="LLView"/>
+					<stat_bar label="å­—åž‹" name="LLFontFreetype"/>
+					<stat_bar label="收納區" name="LLInventoryObject"/>
+					<stat_bar label="Viewer物件" name="LLViewerObject"/>
+					<stat_bar label="八叉樹群資料" name="LLViewerOctreeGroup"/>
+					<stat_bar label="八叉樹資料" name="LLViewerOctreeEntry"/>
+					<stat_bar label="Viewer物件快取" name="LLVOCacheEntry"/>
+					<stat_bar label="可繪物件" name="LLDrawable"/>
+					<stat_bar label="臉部資料" name="LLFace"/>
+					<stat_bar label="描繪資訊" name="LLDrawInfo"/>
+					<stat_bar label="材質資料" name="LLTexture"/>
+					<stat_bar label="圖像資料" name="LLImage"/>
+					<stat_bar label="GL圖像資料" name="LLImageGL"/>
+					<stat_bar label="頂點緩衝" name="LLVertexBuffer"/>
+				</stat_view>
 				<stat_view label="網路" name="network">
 					<stat_bar label="進入封包" name="packetsinstat"/>
 					<stat_bar label="出去封包" name="packetsoutstat"/>
-					<stat_bar label="物件" name="objectkbitstat"/>
-					<stat_bar label="材質" name="texturekbitstat"/>
-					<stat_bar label="資產" name="assetkbitstat"/>
-					<stat_bar label="層次" name="layerskbitstat"/>
-					<stat_bar label="實入" name="actualinkbitstat"/>
-					<stat_bar label="實出" name="actualoutkbitstat"/>
+					<stat_bar label="物件" name="objectdatareceived"/>
+					<stat_bar label="材質" name="texturedatareceived"/>
+					<stat_bar label="資產" name="assetudpdatareceived"/>
+					<stat_bar label="層次" name="layersdatareceived"/>
+					<stat_bar label="實入" name="messagedatain"/>
+					<stat_bar label="實出" name="messagedataout"/>
 					<stat_bar label="VFS 待行作業" name="vfspendingoperations"/>
 				</stat_view>
 			</stat_view>
@@ -64,8 +84,8 @@
 				<stat_bar label="出去封包" name="simoutpps"/>
 				<stat_bar label="擱置下載" name="simpendingdownloads"/>
 				<stat_bar label="擱置上傳" name="simpendinguploads"/>
-				<stat_bar label="未承認的總位元組數" name="simtotalunackedbytes"/>
-				<stat_view label="時間(毫秒)" name="simperf">
+				<stat_bar label="未承認的總資料" name="simtotalunackedbytes"/>
+				<stat_view label="時間" name="simperf">
 					<stat_bar label="總禎時間" name="simframemsec"/>
 					<stat_bar label="淨時間" name="simnetmsec"/>
 					<stat_bar label="物理時間" name="simsimphysicsmsec"/>
@@ -74,7 +94,7 @@
 					<stat_bar label="圖像時間" name="simimagesmsec"/>
 					<stat_bar label="腳本時間" name="simscriptmsec"/>
 					<stat_bar label="閒置時間" name="simsparemsec"/>
-					<stat_view label="時間細節(毫秒)" name="timedetails">
+					<stat_view label="時間細節" name="timedetails">
 						<stat_bar label="物理步驟" name="simsimphysicsstepmsec"/>
 						<stat_bar label="更新物理形狀" name="simsimphysicsshapeupdatemsec"/>
 						<stat_bar label="物理(其他)" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml b/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml
index ef0986a13bd4fbdc2b571e5c640be1af93943f4d..cefb395256a57f0a1ae2540bd60a5576f25ad5a7 100755
--- a/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
 <menu name="Avatar Icon Menu">
 	<menu_item_call label="察看檔案" name="Show Profile"/>
 	<menu_item_call label="送出 IM..." name="Send IM"/>
+	<menu_item_call label="要求瞬間傳送" name="Request Teleport"/>
 	<menu_item_call label="加為朋友..." name="Add Friend"/>
 	<menu_item_call label="移除朋友..." name="Remove Friend"/>
 </menu>
diff --git a/indra/newview/skins/default/xui/zh/menu_inventory.xml b/indra/newview/skins/default/xui/zh/menu_inventory.xml
index 7f745ffaa7eeb8497ffad5aa596c1a3e3a98aec0..478f987035425a457f76fd31d1514e8f0622f63d 100755
--- a/indra/newview/skins/default/xui/zh/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/zh/menu_inventory.xml
@@ -70,6 +70,7 @@
 	<menu_item_call label="播放" name="Sound Play"/>
 	<menu_item_call label="覆製 SLurl" name="url_copy"/>
 	<menu_item_call label="添加地標" name="About Landmark"/>
+	<menu_item_call label="顯示在地圖上" name="show_on_map"/>
 	<menu_item_call label="在虛擬世界播放" name="Animation Play"/>
 	<menu_item_call label="在本地播放" name="Animation Audition"/>
 	<menu_item_call label="送出即時訊息" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/zh/menu_login.xml b/indra/newview/skins/default/xui/zh/menu_login.xml
index 1d3d771efbe4772b4150d334fb9694f29206973b..4a1e2f436489e9d15d04c3acf080acc2c9c5fdf9 100755
--- a/indra/newview/skins/default/xui/zh/menu_login.xml
+++ b/indra/newview/skins/default/xui/zh/menu_login.xml
@@ -5,7 +5,15 @@
 		<menu_item_call label="退出 [APP_NAME]" name="Quit"/>
 	</menu>
 	<menu label="幫助" name="Help">
-		<menu_item_call label="[SECOND_LIFE] 幫助" name="Second Life Help"/>
+		<menu_item_call label="簡易教學…" name="How To"/>
+		<menu_item_call label="快速上手" name="Quickstart"/>
+		<menu_item_call label="知識庫" name="Knowledge Base"/>
+		<menu_item_call label="維基" name="Wiki"/>
+		<menu_item_call label="社群論壇" name="Community Forums"/>
+		<menu_item_call label="支援入口" name="Support portal"/>
+		<menu_item_call label="[SECOND_LIFE] 最新消息" name="Second Life News"/>
+		<menu_item_call label="[SECOND_LIFE] 部落格" name="Second Life Blogs"/>
+		<menu_item_call label="回報錯誤" name="Report Bug"/>
 		<menu_item_call label="關於 [APP_NAME]" name="About Second Life"/>
 	</menu>
 	<menu_item_check label="顯示除錯選單" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml
index c636e108ad90752665dc6e347a3914111518d537..bf609838962390e45044331804471b39d9ab29c7 100755
--- a/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
 <context_menu name="Teleport History Item Context Menu">
 	<menu_item_call label="瞬間傳送" name="Teleport"/>
 	<menu_item_call label="更多資訊" name="More Information"/>
-	<menu_item_call label="覆製到剪貼簿" name="CopyToClipboard"/>
+	<menu_item_call label="覆製 SLurl" name="CopyToClipboard"/>
 </context_menu>
diff --git a/indra/newview/skins/default/xui/zh/menu_viewer.xml b/indra/newview/skins/default/xui/zh/menu_viewer.xml
index b267bda2bbe132e2eaf2fea6f24e62adb8e69189..eb602d8e3bd0f5340522f78a107d624bd3f1be4f 100755
--- a/indra/newview/skins/default/xui/zh/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/zh/menu_viewer.xml
@@ -70,11 +70,11 @@
 			<menu_item_check label="進階選單" name="Show Advanced Menu"/>
 		</menu>
 		<menu label="太陽" name="Sun">
-			<menu_item_call label="日出" name="Sunrise"/>
-			<menu_item_call label="中午" name="Noon"/>
-			<menu_item_call label="日落" name="Sunset"/>
-			<menu_item_call label="午夜" name="Midnight"/>
-			<menu_item_call label="使用地區設定" name="Use Region Settings"/>
+			<menu_item_check label="日出" name="Sunrise"/>
+			<menu_item_check label="中午" name="Noon"/>
+			<menu_item_check label="日落" name="Sunset"/>
+			<menu_item_check label="午夜" name="Midnight"/>
+			<menu_item_check label="使用地區設定" name="Use Region Settings"/>
 		</menu>
 		<menu label="環境編輯器" name="Environment Editor">
 			<menu_item_call label="環境設定…" name="Environment Settings"/>
@@ -163,8 +163,6 @@
 	</menu>
 	<menu label="幫助" name="Help">
 		<menu_item_call label="簡易教學…" name="How To"/>
-		<menu_item_call label="[SECOND_LIFE] 幫助" name="Second Life Help"/>
-		<menu_item_call label="使用者指南" name="User’s guide"/>
 		<menu_item_call label="知識庫" name="Knowledge Base"/>
 		<menu_item_call label="維基" name="Wiki"/>
 		<menu_item_call label="社群論壇" name="Community Forums"/>
@@ -186,6 +184,7 @@
 		<menu label="效能工具" name="Performance Tools">
 			<menu_item_call label="Lag 測量器" name="Lag Meter"/>
 			<menu_item_check label="統計列" name="Statistics Bar"/>
+			<menu_item_call label="場景負載統計資料" name="Scene Load Statistics"/>
 			<menu_item_check label="顯示化身的繪製重量" name="Avatar Rendering Cost"/>
 		</menu>
 		<menu label="高亮顯示與可見度" name="Highlighting and Visibility">
@@ -248,6 +247,7 @@
 			<menu_item_check label="快速碼錶" name="Fast Timers"/>
 			<menu_item_check label="記憶體" name="Memory"/>
 			<menu_item_check label="場景統計資料" name="Scene Statistics"/>
+			<menu_item_check label="場景載入監控器" name="Scene Loading Monitor"/>
 			<menu_item_call label="材質擷取除錯控制台" name="Texture Fetch Debug Console"/>
 			<menu_item_call label="地區資訊傳至除錯控制台" name="Region Info to Debug Console"/>
 			<menu_item_call label="群組資訊至除錯控制台" name="Group Info to Debug Console"/>
@@ -284,6 +284,7 @@
 			<menu_item_check label="定期出現慢幀率" name="Periodic Slow Frame"/>
 			<menu_item_check label="畫面測試" name="Frame Test"/>
 			<menu_item_call label="幀特性" name="Frame Profile"/>
+			<menu_item_call label="標竿測試" name="Benchmark"/>
 		</menu>
 		<menu label="呈像的元資料" name="Render Metadata">
 			<menu_item_check label="外框箱" name="Bounding Boxes"/>
@@ -302,6 +303,7 @@
 			<menu_item_check label="建製佇列" name="Build Queue"/>
 			<menu_item_check label="燈光" name="Lights"/>
 			<menu_item_check label="碰撞骨架" name="Collision Skeleton"/>
+			<menu_item_check label="接點" name="Joints"/>
 			<menu_item_check label="光線投射" name="Raycast"/>
 			<menu_item_check label="風力向量" name="Wind Vectors"/>
 			<menu_item_check label="繪出複雜度" name="rendercomplexity"/>
@@ -334,6 +336,7 @@
 			<menu_item_check label="使附著燈光呈像" name="Render Attached Lights"/>
 			<menu_item_check label="使附著例子效果呈像" name="Render Attached Particles"/>
 			<menu_item_check label="停懸發光物件" name="Hover Glow Objects"/>
+			<menu_item_call label="立即清除快取" name="Cache Clear"/>
 		</menu>
 		<menu label="網路" name="Network">
 			<menu_item_check label="暫停用戶" name="AgentPause"/>
@@ -366,7 +369,6 @@
 			<menu_item_call label="傾印焦點容器" name="Dump Focus Holder"/>
 			<menu_item_call label="列印所選物件資訊" name="Print Selected Object Info"/>
 			<menu_item_call label="列印用戶資訊" name="Print Agent Info"/>
-			<menu_item_check label="地區除錯控制台" name="Region Debug Console"/>
 			<menu_item_check label="除錯 SelectMgr" name="Debug SelectMgr"/>
 			<menu_item_check label="除錯點按動作" name="Debug Clicks"/>
 			<menu_item_check label="視角除錯" name="Debug Views"/>
diff --git a/indra/newview/skins/default/xui/zh/notifications.xml b/indra/newview/skins/default/xui/zh/notifications.xml
index 864f20fc1585e0466511040c80d6bf96a4d247a1..46cbaa60b1d3ed1c1a52993608350ed7ad739593 100755
--- a/indra/newview/skins/default/xui/zh/notifications.xml
+++ b/indra/newview/skins/default/xui/zh/notifications.xml
@@ -114,15 +114,15 @@
 		<usetemplate name="okbutton" yestext="確定"/>
 	</notification>
 	<notification name="OutboxImportFailed">
-		轉移失敗
+		傳送失敗,錯誤碼  &apos;[ERROR_CODE]&apos;
 
 未將任何資料夾送往第二人生購物市集,系統或網路出錯。  請稍候再試一次。
 		<usetemplate name="okbutton" yestext="確定"/>
 	</notification>
 	<notification name="OutboxInitFailed">
-		第二人生購物市集初始化失敗
+		購物市集初始化失敗,錯誤碼  &apos;[ERROR_CODE]&apos;
 
-第二人生購物市集初始化失敗,系統或網路出錯。  請稍候再試一次。
+購物市集初始化失敗,系統或網路出錯。  請稍候再試一次。
 		<usetemplate name="okbutton" yestext="確定"/>
 	</notification>
 	<notification name="CompileQueueSaveText">
@@ -1722,6 +1722,10 @@ SHA1 指紋:[MD5_DIGEST]
 		你確定要瞬間傳送到&lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
 		<usetemplate ignoretext="確認我要瞬間傳送到某個地標" name="okcancelignore" notext="取消" yestext="瞬間傳送"/>
 	</notification>
+	<notification name="TeleportViaSLAPP">
+		你確定要瞬間傳送到&lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
+		<usetemplate ignoretext="確認我要透過SLAPP瞬間傳送" name="okcancelignore" notext="取消" yestext="瞬間傳送"/>
+	</notification>
 	<notification name="TeleportToPick">
 		瞬間傳送到 [PICK]?
 		<usetemplate ignoretext="確認我要瞬間傳送到精選地點的所在位置" name="okcancelignore" notext="取消" yestext="瞬間傳送"/>
@@ -1931,6 +1935,9 @@ SHA1 指紋:[MD5_DIGEST]
 	<notification name="ProblemAddingEstateManager">
 		新增領地管理人時出問題。  其中一個領地的管理人清單可能已經額滿。
 	</notification>
+	<notification name="ProblemAddingEstateBanManager">
+		無法把領地所有人或管理員加入領地的封鎖名單中。
+	</notification>
 	<notification name="ProblemAddingEstateGeneric">
 		新增到這個領地清單時出問題。  其中一個領地的清單可能已滿。
 	</notification>
@@ -3019,7 +3026,7 @@ SHA1 指紋:[MD5_DIGEST]
 
 居民:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="取消" yestext="確定"/>
 	</notification>
 	<notification name="ShareFolderConfirmation">
@@ -3031,7 +3038,7 @@ SHA1 指紋:[MD5_DIGEST]
 
 居民:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
 		<usetemplate name="okcancelbuttons" notext="取消" yestext="確定"/>
 	</notification>
 	<notification name="ItemsShared">
@@ -3487,10 +3494,6 @@ SHA1 指紋:[MD5_DIGEST]
 	<notification name="EjectComingSoon">
 		你不再允許待在這裡,必須在 [EJECT_TIME] 秒內離開。
 	</notification>
-	<notification name="NoEnterServerFull">
-		你無法進入這地區,因為 
-伺服器滿載。
-	</notification>
 	<notification name="SaveBackToInvDisabled">
 		「儲存回收納區」功能已被停用。
 	</notification>
@@ -3680,6 +3683,9 @@ SHA1 指紋:[MD5_DIGEST]
 	<notification name="LinkFailedTooMuchPhysics">
 		物件使用了過多物理資源,其動態特性已被停用。
 	</notification>
+	<notification name="EstateManagerFailedllTeleportHome">
+		位於[SLURL]的物件&apos;[OBJECT_NAME]&apos;無法將領地管理員瞬間傳送回家。
+	</notification>
 	<notification name="TeleportedHomeByObjectOnParcel">
 		你已被 &apos;[PARCEL_NAME]&apos; 地段的物件 &apos;[OBJECT_NAME]&apos; 成功瞬間傳送回家
 	</notification>
@@ -3870,13 +3876,18 @@ SHA1 指紋:[MD5_DIGEST]
 		未選取足夠租用地段,無法合併。
 	</notification>
 	<notification name="CantDivideLandMultipleParcelsSelected">
-		無法分割土地,\n因為你選取了多個地段,\n請縮小所選土地。
+		無法分割土地。
+選取了超過一個地段。
+請試著縮小所選的土地。
 	</notification>
 	<notification name="CantDivideLandCantFindParcel">
-		無法分割土地。\n找不到地段。\n請到「幫助 &gt; 回報錯誤……」回報問題
+		無法分割土地。
+找不到地段。
+請到「幫助-&gt;回報錯誤」回報問題
 	</notification>
 	<notification name="CantDivideLandWholeParcelSelected">
-		無法分割土地。 選取了整個地段。\n請試著縮小所選的土地。
+		無法分割土地。 選擇了整個地段。
+請試著縮小所選的土地。
 	</notification>
 	<notification name="LandHasBeenDivided">
 		土地分割成功。
@@ -4016,4 +4027,8 @@ SHA1 指紋:[MD5_DIGEST]
 		無法移動檔案。 已恢復前一個路徑。
 		<usetemplate ignoretext="無法移動檔案。 已恢復前一個路徑。" name="okignore" yestext="確定"/>
 	</notification>
+	<notification name="ChatHistoryIsBusyAlert">
+		聊天紀錄檔案還在處理前一個動作。 請稍候再試,或請換一個聊天對象。
+		<usetemplate name="okbutton" yestext="確定"/>
+	</notification>
 </notifications>
diff --git a/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml
index f979a4c53e8b3f5434b976e7f7e56ae504ece040..43e3507961ea15346091f91c0a39e83498c8dcb0 100755
--- a/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
 		<layout_panel name="group_accordions">
 			<accordion name="groups_accordion">
 				<accordion_tab name="group_general_tab" title="基本資料"/>
-				<accordion_tab name="group_roles_tab" title="角色"/>
+				<accordion_tab name="group_roles_tab" title="角色與成員"/>
 				<accordion_tab name="group_notices_tab" title="通知"/>
 				<accordion_tab name="group_land_tab" title="土地 / 資產"/>
 			</accordion>
diff --git a/indra/newview/skins/default/xui/zh/panel_group_roles.xml b/indra/newview/skins/default/xui/zh/panel_group_roles.xml
index 59086c3de27e4ab463d90c16ebf3fd213a589c71..69ee8451deab91751dcf7da9cdab9a4b92e6dd51 100755
--- a/indra/newview/skins/default/xui/zh/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/zh/panel_group_roles.xml
@@ -21,6 +21,7 @@
 				<name_list.columns label="成員" name="name"/>
 				<name_list.columns label="捐款" name="donated"/>
 				<name_list.columns label="狀態" name="online"/>
+				<name_list.columns label="頭銜" name="title"/>
 			</name_list>
 			<button label="邀請" name="member_invite"/>
 			<button label="踢出" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/zh/panel_region_debug.xml b/indra/newview/skins/default/xui/zh/panel_region_debug.xml
index e5d5e6eaf79e7cad29190b07b64273e9659d0132..0bb59a7b14638e4bf4f77d4401a37dbddf4c5096 100755
--- a/indra/newview/skins/default/xui/zh/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/zh/panel_region_debug.xml
@@ -28,7 +28,8 @@
 	<check_box label="於這個領地內的每一個地區" name="return_estate_wide" tool_tip="退回這個領地內全部地區中標記為他的物件"/>
 	<button label="退回" name="return_btn"/>
 	<button label="取得最常碰撞的物件..." name="top_colliders_btn" tool_tip="條列出目前運作中最常碰撞的物件清單"/>
-	<button label="取得最耗能腳本..." name="top_scripts_btn" tool_tip="條列���目前運作中最耗能的腳本清單"/>
 	<button label="地區重新啟動" name="restart_btn" tool_tip="給予兩分鐘倒數計時並重新啟動"/>
+	<button label="取得最耗能腳本..." name="top_scripts_btn" tool_tip="條列���目前運作中最耗能的腳本清單"/>
 	<button label="取消重新啟動" name="cancel_restart_btn" tool_tip="取消地區重新啟動"/>
+	<button label="地區除錯控制台" name="region_debug_console_btn" tool_tip="開啟地區除錯控制台"/>
 </panel>
diff --git a/indra/newview/skins/default/xui/zh/panel_region_general.xml b/indra/newview/skins/default/xui/zh/panel_region_general.xml
index f6b2c46354c0206eac8c610436b2d58c7572c567..0ce3b659b21609d74e6b68e919eb50da5259df70 100755
--- a/indra/newview/skins/default/xui/zh/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/zh/panel_region_general.xml
@@ -20,12 +20,12 @@
 	</text>
 	<check_box label="阻止土地變形" name="block_terraform_check"/>
 	<check_box label="阻止飛行" name="block_fly_check"/>
+	<check_box label="禁止飛越地段" name="block_fly_over_check" tool_tip="將出入管制往上空擴大,一併禁止飛越地段"/>
 	<check_box label="允許傷害" name="allow_damage_check"/>
 	<check_box label="限制推撞" name="restrict_pushobject"/>
 	<check_box label="允許土地轉售" name="allow_land_resell_check"/>
 	<check_box label="允許土地 合併/分割" name="allow_parcel_changes_check"/>
 	<check_box label="阻擋土地顯示於搜尋中" name="block_parcel_search_check" tool_tip="讓其他人可以在搜尋結果中看到這個地區與其中的地段"/>
-	<check_box label="允許網面物件" name="mesh_rez_enabled_check" tool_tip="允許大家在此地區產生網面物件"/>
 	<spinner label="人數上限" name="agent_limit_spin"/>
 	<spinner label="物件紅利" name="object_bonus_spin"/>
 	<text label="分級" name="access_text">
diff --git a/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml b/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml
index 4034a7154fa4822a3c301b6d89a14c4d987d9a40..54ea7cab225611febccbc9f2ea9e9956db03096b 100755
--- a/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml
@@ -25,15 +25,15 @@
 		<panel name="button_panel">
 			<layout_stack name="button_panel_ls">
 				<layout_panel name="info_btn_lp">
-					<button label="檔案" name="info_btn" tool_tip="顯示物件檔案"/>
+					<button label="檔案" name="info_btn" tool_tip="顯示物件簡介"/>
 				</layout_panel>
 				<layout_panel name="share_btn_lp">
 					<button label="分享" name="share_btn" tool_tip="分享一個收納區物品"/>
 				</layout_panel>
 				<layout_panel name="shop_btn_lp">
-					<button label="購物" name="shop_btn" tool_tip="開啟 Marketplace 購物市集網頁"/>
+					<button label="購物" name="shop_btn" tool_tip="開啟購物市集網頁"/>
 					<button label="穿上" name="wear_btn" tool_tip="穿上所選擇的裝扮"/>
-					<button label="播放" name="play_btn"/>
+					<button label="遊戲" name="play_btn"/>
 					<button label="瞬間傳送" name="teleport_btn" tool_tip="瞬間傳送到所選的區域"/>
 				</layout_panel>
 			</layout_stack>
diff --git a/indra/newview/skins/default/xui/zh/strings.xml b/indra/newview/skins/default/xui/zh/strings.xml
index d9fa105ef492fd6ea127da1e724f1352eb34644f..4e636e78161e1891b2c34f39a66e052a9e2a4e9f 100755
--- a/indra/newview/skins/default/xui/zh/strings.xml
+++ b/indra/newview/skins/default/xui/zh/strings.xml
@@ -37,6 +37,45 @@
 	<string name="StartupRequireDriverUpdate">
 		顯像初始化失敗。 請更新你的顯像卡驅動程式!
 	</string>
+	<string name="AboutHeader">
+		[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+	</string>
+	<string name="AboutCompiler">
+		以 [COMPILER_VERSION] 版本 [COMPILER] 建置
+	</string>
+	<string name="AboutPosition">
+		你的方位是 [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1],地區名:[REGION],主機:&lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+第二人生URL:&lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(全域坐標:[POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+	</string>
+	<string name="AboutSystem">
+		CPU:[CPU]
+記憶體:[MEMORY_MB] MB
+作業系統版本:[OS_VERSION]
+顯示卡供應商:[GRAPHICS_CARD_VENDOR]
+顯示卡:[GRAPHICS_CARD]
+	</string>
+	<string name="AboutDriver">
+		Windows 顯示驅動程式版本:[GRAPHICS_DRIVER_VERSION]
+	</string>
+	<string name="AboutLibs">
+		OpenGL 版本:[OPENGL_VERSION]
+
+libcurl 版本: [LIBCURL_VERSION]
+J2C 解碼器版本: [J2C_VERSION]
+音效驅動程式版本: [AUDIO_DRIVER_VERSION]
+Qt Webkit 版本: [QT_WEBKIT_VERSION]
+語音伺服器版本: [VOICE_VERSION]
+	</string>
+	<string name="AboutTraffic">
+		封包丟失:[PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+	</string>
+	<string name="ErrorFetchingServerReleaseNotesURL">
+		擷取伺服器版本說明 URL 時出錯。
+	</string>
 	<string name="ProgressRestoring">
 		回存中...
 	</string>
@@ -929,15 +968,15 @@ http://secondlife.com/viewer-access-faq
 	<string name="ControlYourCamera">
 		控制你的攝影機
 	</string>
+	<string name="TeleportYourAgent">
+		瞬間傳送你本人
+	</string>
 	<string name="NotConnected">
 		未聯接
 	</string>
 	<string name="AgentNameSubst">
 		(你)
 	</string>
-	<string name="TeleportYourAgent">
-		瞬間傳送你本人
-	</string>
 	<string name="JoinAnExperience">
 		加入體驗
 	</string>
@@ -1291,6 +1330,18 @@ http://secondlife.com/viewer-access-faq
 	<string name="InventoryOutboxNoItems">
 		將資料夾拖曳到這個區域,再點按「送往第二人生購物市集」,即可在[[MARKETPLACE_DASHBOARD_URL]第二人生購物市集]登列出售。
 	</string>
+	<string name="InventoryOutboxInitializingTitle">
+		正在初始化購物市集。
+	</string>
+	<string name="InventoryOutboxInitializing">
+		我們正在求取你的[[MARKETPLACE_CREATE_STORE_URL] 購物市集商店]帳戶。
+	</string>
+	<string name="InventoryOutboxErrorTitle">
+		購物市集出錯。
+	</string>
+	<string name="InventoryOutboxError">
+		[[MARKETPLACE_CREATE_STORE_URL] 購物市集商店]正傳回錯誤。
+	</string>
 	<string name="Marketplace Error None">
 		零錯誤
 	</string>
@@ -1318,6 +1369,9 @@ http://secondlife.com/viewer-access-faq
 	<string name="Open landmarks">
 		開啟地標
 	</string>
+	<string name="Unconstrained">
+		不受限
+	</string>
 	<string name="no_transfer" value="(禁止轉讓)"/>
 	<string name="no_modify" value="(禁止修改)"/>
 	<string name="no_copy" value="(禁止複製)"/>
@@ -1718,6 +1772,9 @@ http://secondlife.com/viewer-access-faq
 	<string name="CompileQueueDownloadedCompiling">
 		已下載,正在編譯中
 	</string>
+	<string name="CompileQueueServiceUnavailable">
+		腳本編譯服務無法使用
+	</string>
 	<string name="CompileQueueScriptNotFound">
 		伺服器上未發現腳本。
 	</string>
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index f079f31c81b0c20e674123faa6ec086848c96b95..7544fe1c414cea6346175eef40a0b05747e45ada 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -798,15 +798,42 @@ def path_optional(src, dst):
                     for libfile in dylibs:
                         symlinkf(os.path.join(os.pardir, os.pardir, os.pardir, libfile),
                                  os.path.join(resource_path, libfile))
-
-                # plugins
+                # SLPlugin.app/Contents/Resources gets those Qt4 libraries it needs.
+                if self.prefix(src="", dst="SLPlugin.app/Contents/Resources"):
+                    for libfile in ('libQtCore.4.dylib',
+                                    'libQtCore.4.7.1.dylib',
+                                    'libQtGui.4.dylib',
+                                    'libQtGui.4.7.1.dylib',
+                                    'libQtNetwork.4.dylib',
+                                    'libQtNetwork.4.7.1.dylib',
+                                    'libQtOpenGL.4.dylib',
+                                    'libQtOpenGL.4.7.1.dylib',
+                                    'libQtSvg.4.dylib',
+                                    'libQtSvg.4.7.1.dylib',
+                                    'libQtWebKit.4.dylib',
+                                    'libQtWebKit.4.7.1.dylib',
+                                    'libQtXml.4.dylib',
+                                    'libQtXml.4.7.1.dylib'):
+                        self.path2basename("../packages/lib/release", libfile)
+                    self.end_prefix("SLPlugin.app/Contents/Resources")
+
+                # Qt4 codecs go to llplugin.  Not certain why but this is the first
+                # location probed according to dtruss so we'll go with that.
+                if self.prefix(src="../packages/plugins/codecs/", dst="llplugin/codecs"):
+                    self.path("libq*.dylib")
+                    self.end_prefix("llplugin/codecs")
+
+                # Similarly for imageformats.
+                if self.prefix(src="../packages/plugins/imageformats/", dst="llplugin/imageformats"):
+                    self.path("libq*.dylib")
+                    self.end_prefix("llplugin/imageformats")
+
+                # SLPlugin plugins proper
                 if self.prefix(src="", dst="llplugin"):
                     self.path2basename("../media_plugins/quicktime/" + self.args['configuration'],
                                        "media_plugin_quicktime.dylib")
                     self.path2basename("../media_plugins/webkit/" + self.args['configuration'],
                                        "media_plugin_webkit.dylib")
-                    self.path2basename("../packages/lib/release", "libllqtwebkit.dylib")
-
                     self.end_prefix("llplugin")
 
                 self.end_prefix("Resources")
@@ -1011,6 +1038,7 @@ def construct(self):
             self.path("../media_plugins/gstreamer010/libmedia_plugin_gstreamer010.so", "libmedia_plugin_gstreamer.so")
             self.end_prefix("bin/llplugin")
 
+        # llcommon
         if not self.path("../llcommon/libllcommon.so", "lib/libllcommon.so"):
             print "Skipping llcommon.so (assuming llcommon was linked statically)"
 
@@ -1076,20 +1104,9 @@ def construct(self):
             self.path("libaprutil-1.so")
             self.path("libaprutil-1.so.0")
             self.path("libaprutil-1.so.0.4.1")
-            self.path("libboost_context-mt.so.*")
-            self.path("libboost_filesystem-mt.so.*")
-            self.path("libboost_program_options-mt.so.*")
-            self.path("libboost_regex-mt.so.*")
-            self.path("libboost_signals-mt.so.*")
-            self.path("libboost_system-mt.so.*")
-            self.path("libboost_thread-mt.so.*")
-            self.path("libcollada14dom.so")
             self.path("libdb*.so")
-            self.path("libcrypto.so.*")
             self.path("libexpat.so.*")
-            self.path("libssl.so.1.0.0")
             self.path("libGLOD.so")
-            self.path("libminizip.so")
             self.path("libuuid.so*")
             self.path("libSDL-1.2.so.*")
             self.path("libdirectfb-1.*.so.*")
@@ -1121,6 +1138,10 @@ def construct(self):
             # previous call did, without having to explicitly state the
             # version number.
             self.path("libfontconfig.so.*.*")
+
+            # Include libfreetype.so. but have it work as libfontconfig does.
+            self.path("libfreetype.so.*.*")
+
             try:
                 self.path("libtcmalloc.so*") #formerly called google perf tools
                 pass
@@ -1129,26 +1150,55 @@ def construct(self):
                 pass
 
             try:
-                    self.path("libfmodex-*.so")
-                    self.path("libfmodex.so")
-                    pass
+                self.path("libfmodex-*.so")
+                self.path("libfmodex.so")
+                pass
             except:
-                    print "Skipping libfmodex.so - not found"
-                    pass
+                print "Skipping libfmodex.so - not found"
+                pass
 
             self.end_prefix("lib")
 
             # Vivox runtimes
             if self.prefix(src="../packages/lib/release", dst="bin"):
-                    self.path("SLVoice")
-                    self.end_prefix()
+                self.path("SLVoice")
+                self.end_prefix()
+            if self.prefix(src="../packages/lib/release", dst="lib"):
+                self.path("libortp.so")
+                self.path("libsndfile.so.1")
+                #self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OpenAL lib
+                self.path("libvivoxsdk.so")
+                self.path("libvivoxplatform.so")
+                self.end_prefix("lib")
+
+            # plugin runtime
             if self.prefix(src="../packages/lib/release", dst="lib"):
-                    self.path("libortp.so")
-                    self.path("libsndfile.so.1")
-                    #self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OpenAL lib
-                    self.path("libvivoxsdk.so")
-                    self.path("libvivoxplatform.so")
-                    self.end_prefix("lib")
+                self.path("libQtCore.so*")
+                self.path("libQtGui.so*")
+                self.path("libQtNetwork.so*")
+                self.path("libQtOpenGL.so*")
+                self.path("libQtSvg.so*")
+                self.path("libQtWebKit.so*")
+                self.path("libQtXml.so*")
+                self.end_prefix("lib")
+
+            # For WebKit/Qt plugin runtimes (image format plugins)
+            if self.prefix(src="../packages/plugins/imageformats", dst="bin/llplugin/imageformats"):
+                self.path("libqgif.so")
+                self.path("libqico.so")
+                self.path("libqjpeg.so")
+                self.path("libqmng.so")
+                self.path("libqsvg.so")
+                self.path("libqtiff.so")
+                self.end_prefix("bin/llplugin/imageformats")
+
+            # For WebKit/Qt plugin runtimes (codec/character encoding plugins)
+            if self.prefix(src="../packages/plugins/codecs", dst="bin/llplugin/codecs"):
+                self.path("libqcncodecs.so")
+                self.path("libqjpcodecs.so")
+                self.path("libqkrcodecs.so")
+                self.path("libqtwcodecs.so")
+                self.end_prefix("bin/llplugin/codecs")
 
             self.strip_binaries()
 
diff --git a/indra/test_apps/llfbconnecttest/CMakeLists.txt b/indra/test_apps/llfbconnecttest/CMakeLists.txt
index f56329a0101cc545cab7de4b1a0e66901049e7d9..512bf202ae69d5f0435694de64b559440e887e73 100644
--- a/indra/test_apps/llfbconnecttest/CMakeLists.txt
+++ b/indra/test_apps/llfbconnecttest/CMakeLists.txt
@@ -122,32 +122,24 @@ add_custom_command(TARGET llfbconnecttest POST_BUILD
 )
 
 
-if (DARWIN OR WINDOWS)
-  get_target_property(BUILT_WEBKIT_PLUGIN media_plugin_webkit LOCATION)
-  add_custom_command(TARGET llfbconnecttest POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_WEBKIT_PLUGIN}  ${PLUGINS_DESTINATION_DIR}
-    DEPENDS ${BUILT_WEBKIT_PLUGIN}
-  )
-  
-  # copy over bookmarks file if llfbconnecttest gets built
-  get_target_property(BUILT_LLFBCONNECTTEST llfbconnecttest LOCATION)
-  add_custom_command(TARGET llfbconnecttest POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${CMAKE_CURRENT_BINARY_DIR}/
-    DEPENDS ${BUILT_LLFBCONNECTTEST}
-  )
-  # also copy it to the same place as SLPlugin, which is what the mac wants...
-  add_custom_command(TARGET llfbconnecttest POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${PLUGINS_DESTINATION_DIR}
-    DEPENDS ${BUILT_LLFBCONNECTTEST}
-  )
-endif (DARWIN OR WINDOWS)
+get_target_property(BUILT_WEBKIT_PLUGIN media_plugin_webkit LOCATION)
+add_custom_command(TARGET llfbconnecttest POST_BUILD
+  COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_WEBKIT_PLUGIN}  ${PLUGINS_DESTINATION_DIR}
+  DEPENDS ${BUILT_WEBKIT_PLUGIN}
+)
 
-if (DARWIN)
-  add_custom_command(TARGET llfbconnecttest POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${PLUGINS_DESTINATION_DIR}
-    DEPENDS ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
-  )
-endif (DARWIN)
+# copy over bookmarks file if llfbconnecttest gets built
+get_target_property(BUILT_LLFBCONNECTTEST llfbconnecttest LOCATION)
+add_custom_command(TARGET llfbconnecttest POST_BUILD
+  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${CMAKE_CURRENT_BINARY_DIR}/
+  DEPENDS ${BUILT_LLFBCONNECTTEST}
+)
+
+# also copy it to the same place as SLPlugin, which is what the mac wants...
+add_custom_command(TARGET llfbconnecttest POST_BUILD
+  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${PLUGINS_DESTINATION_DIR}
+  DEPENDS ${BUILT_LLFBCONNECTTEST}
+)
 
 if(WINDOWS)
   #********************
@@ -301,4 +293,80 @@ if(WINDOWS)
 
 endif(WINDOWS)
 
+if (DARWIN)
+  set(fbconnecttest_release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
+  set(fbconnecttest_release_files
+    libexception_handler.dylib
+    libaprutil-1.0.dylib
+    libapr-1.0.dylib
+    libexpat.1.5.2.dylib
+    libQtCore.4.7.1.dylib
+    libQtCore.4.dylib
+    libQtGui.4.7.1.dylib
+    libQtGui.4.dylib
+    libQtNetwork.4.7.1.dylib
+    libQtNetwork.4.dylib
+    libQtOpenGL.4.7.1.dylib
+    libQtOpenGL.4.dylib
+    libQtWebKit.4.7.1.dylib
+    libQtWebKit.4.dylib
+    libQtSvg.4.7.1.dylib
+    libQtSvg.4.dylib
+    libQtXml.4.7.1.dylib
+    libQtXml.4.dylib
+    )
+  copy_if_different(
+    ${fbconnecttest_release_src_dir}
+    "${PLUGINS_DESTINATION_DIR}"
+    out_targets
+    ${fbconnecttest_release_files}
+    )
+  set(fbconnect_test_targets ${fbconnect_test_targets} ${out_targets})
+
+  # Release & ReleaseDebInfo config runtime files required for the FB connect test (Qt image format plugins)
+  set(fbconnecttest_release_src_dir "${ARCH_PREBUILT_DIRS_PLUGINS}/imageformats")
+  set(fbconnecttest_release_files
+    libqgif.dylib
+    libqico.dylib
+    libqjpeg.dylib
+    libqmng.dylib
+    libqsvg.dylib
+    libqtiff.dylib
+    )
+  copy_if_different(
+    ${fbconnecttest_release_src_dir}
+    "${PLUGINS_DESTINATION_DIR}/imageformats"
+    out_targets
+    ${fbconnecttest_release_files}
+    )
+  set(fbconnect_test_targets ${fbconnect_test_targets} ${out_targets})
+
+  # Release & ReleaseDebInfo config runtime files required for the FB connect test (Qt codec plugins)
+  set(fbconnecttest_release_src_dir "${ARCH_PREBUILT_DIRS_PLUGINS}/codecs")
+  set(fbconnecttest_release_files
+    libqcncodecs.dylib
+    libqjpcodecs.dylib
+    libqkrcodecs.dylib
+    libqtwcodecs.dylib
+    )
+  copy_if_different(
+    ${fbconnecttest_release_src_dir}
+    "${PLUGINS_DESTINATION_DIR}/codecs"
+    out_targets
+    ${fbconnecttest_release_files}
+    )
+  set(fbconnect_test_targets ${fbconnect_test_targets} ${out_targets})
+
+  add_custom_target(copy_fbconnecttest_libs ALL
+    DEPENDS 
+    ${fbconnect_test_targets}
+    )
+
+  add_dependencies(llfbconnecttest copy_fbconnecttest_libs)
+endif (DARWIN)
+
+if (LINUX)
+
+endif (LINUX)
+
 ll_deploy_sharedlibs_command(llfbconnecttest) 
diff --git a/indra/test_apps/llfbconnecttest/README.Linden b/indra/test_apps/llfbconnecttest/README.Linden
new file mode 100644
index 0000000000000000000000000000000000000000..7488ce680a33fe349cf559c97e2ed357ded0909a
--- /dev/null
+++ b/indra/test_apps/llfbconnecttest/README.Linden
@@ -0,0 +1,20 @@
+
+1.  Description
+
+    Exercises SLPlugin.  Specific functions and goals aren't clear
+    from the source.
+
+2.  Running
+
+  2.1  Mac
+
+    Make certain '.' is included in PATH.  E.g.:
+
+       PATH=.:"$PATH" open build-darwin-i386/test_apps/llfbconnecttest/RelWithDebInfo/llfbconnecttest.app
+
+    Otherwise the program won't find SLPlugin and will timeout and
+    fail after 30 seconds and give you little information as to why.
+
+    Running 'dtruss' on plugin test applications will give you a great
+    deal of insight into why they aren't activating.
+
diff --git a/indra/test_apps/llplugintest/CMakeLists.txt b/indra/test_apps/llplugintest/CMakeLists.txt
index 8179be66f51ce194e1433c6735391a5af1ef68ee..9d44563e265726a1c8bc52707a77de2bd78faecb 100755
--- a/indra/test_apps/llplugintest/CMakeLists.txt
+++ b/indra/test_apps/llplugintest/CMakeLists.txt
@@ -346,44 +346,44 @@ add_custom_command(TARGET llmediaplugintest POST_BUILD
   DEPENDS ${BUILT_LLCOMMON}
 )
 
+get_target_property(BUILT_WEBKIT_PLUGIN media_plugin_webkit LOCATION)
+add_custom_command(TARGET llmediaplugintest POST_BUILD
+  COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_WEBKIT_PLUGIN}  ${PLUGINS_DESTINATION_DIR}
+  DEPENDS ${BUILT_WEBKIT_PLUGIN}
+)
 
 if (DARWIN OR WINDOWS)
-  get_target_property(BUILT_WEBKIT_PLUGIN media_plugin_webkit LOCATION)
-  add_custom_command(TARGET llmediaplugintest POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_WEBKIT_PLUGIN}  ${PLUGINS_DESTINATION_DIR}
-    DEPENDS ${BUILT_WEBKIT_PLUGIN}
-  )
-
   get_target_property(BUILT_QUICKTIME_PLUGIN media_plugin_quicktime LOCATION)
   add_custom_command(TARGET llmediaplugintest POST_BUILD
     COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_QUICKTIME_PLUGIN}  ${PLUGINS_DESTINATION_DIR}
     DEPENDS ${BUILT_QUICKTIME_PLUGIN}
   )
-  
-  get_target_property(BUILT_EXAMPLE_PLUGIN media_plugin_example LOCATION)
-  add_custom_command(TARGET llmediaplugintest POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_EXAMPLE_PLUGIN}  ${PLUGINS_DESTINATION_DIR}
-    DEPENDS ${BUILT_EXAMPLE_PLUGIN}
-  )
-  
-  # copy over bookmarks file if llmediaplugintest gets built
-  get_target_property(BUILT_LLMEDIAPLUGINTEST llmediaplugintest LOCATION)
-  add_custom_command(TARGET llmediaplugintest POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${CMAKE_CURRENT_BINARY_DIR}/
-    DEPENDS ${BUILT_LLMEDIAPLUGINTEST}
-  )
-  # also copy it to the same place as SLPlugin, which is what the mac wants...
-  add_custom_command(TARGET llmediaplugintest POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${PLUGINS_DESTINATION_DIR}
-    DEPENDS ${BUILT_LLMEDIAPLUGINTEST}
-  )
 endif (DARWIN OR WINDOWS)
 
+get_target_property(BUILT_EXAMPLE_PLUGIN media_plugin_example LOCATION)
+add_custom_command(TARGET llmediaplugintest POST_BUILD
+  COMMAND ${CMAKE_COMMAND} -E copy ${BUILT_EXAMPLE_PLUGIN}  ${PLUGINS_DESTINATION_DIR}
+  DEPENDS ${BUILT_EXAMPLE_PLUGIN}
+)
+
+# copy over bookmarks file if llmediaplugintest gets built
+get_target_property(BUILT_LLMEDIAPLUGINTEST llmediaplugintest LOCATION)
+add_custom_command(TARGET llmediaplugintest POST_BUILD
+  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${CMAKE_CURRENT_BINARY_DIR}/
+  DEPENDS ${BUILT_LLMEDIAPLUGINTEST}
+)
+
+# also copy it to the same place as SLPlugin, which is what the mac wants...
+add_custom_command(TARGET llmediaplugintest POST_BUILD
+  COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bookmarks.txt ${PLUGINS_DESTINATION_DIR}
+  DEPENDS ${BUILT_LLMEDIAPLUGINTEST}
+)
+
 if (DARWIN)
-  add_custom_command(TARGET llmediaplugintest POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${PLUGINS_DESTINATION_DIR}
-    DEPENDS ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
-  )
+#   add_custom_command(TARGET llmediaplugintest POST_BUILD
+#     COMMAND ${CMAKE_COMMAND} -E copy ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib ${PLUGINS_DESTINATION_DIR}
+#     DEPENDS ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
+#   )
 endif (DARWIN)
 
 if(WINDOWS)
@@ -538,4 +538,76 @@ if(WINDOWS)
 
 endif(WINDOWS)
 
+if (DARWIN)
+  set(plugintest_release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
+  set(plugintest_release_files
+    libexception_handler.dylib
+    libaprutil-1.0.dylib
+    libapr-1.0.dylib
+    libexpat.1.5.2.dylib
+    libQtCore.4.7.1.dylib
+    libQtCore.4.dylib
+    libQtGui.4.7.1.dylib
+    libQtGui.4.dylib
+    libQtNetwork.4.7.1.dylib
+    libQtNetwork.4.dylib
+    libQtOpenGL.4.7.1.dylib
+    libQtOpenGL.4.dylib
+    libQtWebKit.4.7.1.dylib
+    libQtWebKit.4.dylib
+    libQtSvg.4.7.1.dylib
+    libQtSvg.4.dylib
+    libQtXml.4.7.1.dylib
+    libQtXml.4.dylib
+    )
+  copy_if_different(
+    ${plugintest_release_src_dir}
+    "${PLUGINS_DESTINATION_DIR}"
+    out_targets
+    ${plugintest_release_files}
+    )
+  set(plugin_test_targets ${plugin_test_targets} ${out_targets})
+
+  # Release & ReleaseDebInfo config runtime files required for the FB connect test (Qt image format plugins)
+  set(plugintest_release_src_dir "${ARCH_PREBUILT_DIRS_PLUGINS}/imageformats")
+  set(plugintest_release_files
+    libqgif.dylib
+    libqico.dylib
+    libqjpeg.dylib
+    libqmng.dylib
+    libqsvg.dylib
+    libqtiff.dylib
+    )
+  copy_if_different(
+    ${plugintest_release_src_dir}
+    "${PLUGINS_DESTINATION_DIR}/imageformats"
+    out_targets
+    ${plugintest_release_files}
+    )
+  set(plugin_test_targets ${plugin_test_targets} ${out_targets})
+
+  # Release & ReleaseDebInfo config runtime files required for the FB connect test (Qt codec plugins)
+  set(plugintest_release_src_dir "${ARCH_PREBUILT_DIRS_PLUGINS}/codecs")
+  set(plugintest_release_files
+    libqcncodecs.dylib
+    libqjpcodecs.dylib
+    libqkrcodecs.dylib
+    libqtwcodecs.dylib
+    )
+  copy_if_different(
+    ${plugintest_release_src_dir}
+    "${PLUGINS_DESTINATION_DIR}/codecs"
+    out_targets
+    ${plugintest_release_files}
+    )
+  set(plugin_test_targets ${plugin_test_targets} ${out_targets})
+
+  add_custom_target(copy_plugintest_libs ALL
+    DEPENDS 
+    ${plugin_test_targets}
+    )
+
+  add_dependencies(llmediaplugintest copy_plugintest_libs)
+endif (DARWIN)
+
 ll_deploy_sharedlibs_command(llmediaplugintest) 
diff --git a/indra/test_apps/llplugintest/README.Linden b/indra/test_apps/llplugintest/README.Linden
new file mode 100644
index 0000000000000000000000000000000000000000..4a9f223c21f183528bc1edac3d1ba1f5592e84ae
--- /dev/null
+++ b/indra/test_apps/llplugintest/README.Linden
@@ -0,0 +1,21 @@
+
+1.  Description
+
+    Exercises SLPlugin.  Demonstrates mediakit plugin reuse and
+    switchover as MIME type changes (web, quicktime, flash).
+
+
+2.  Running
+
+  2.1  Mac
+
+    Make certain '.' is included in PATH.  E.g.:
+
+       PATH=.:"$PATH" open build-darwin-i386/test_apps/llmediaplugintest/RelWithDebInfo/llmediaplugintest.app
+
+    Otherwise the program won't find SLPlugin and will timeout and
+    fail after 30 seconds and give you little information as to why.
+
+    Running 'dtruss' on plugin test applications will give you a great
+    deal of insight into why they aren't activating.
+
diff --git a/indra/viewer_components/login/CMakeLists.txt b/indra/viewer_components/login/CMakeLists.txt
index 6f366677c937a8b57871034a925ad4658ea2fc01..ce80d558292cd1e817f4b0cae56e90d108eb4be0 100755
--- a/indra/viewer_components/login/CMakeLists.txt
+++ b/indra/viewer_components/login/CMakeLists.txt
@@ -46,6 +46,8 @@ target_link_libraries(lllogin
     ${LLMATH_LIBRARIES}
     ${LLXML_LIBRARIES}
     ${BOOST_CONTEXT_LIBRARY}
+    ${BOOST_COROUTINE_LIBRARY}
+    ${BOOST_SYSTEM_LIBRARY}
     )
 
 if(LL_TESTS)
@@ -55,7 +57,7 @@ if(LL_TESTS)
   set_source_files_properties(
     lllogin.cpp
     PROPERTIES
-    LL_TEST_ADDITIONAL_LIBRARIES "${BOOST_CONTEXT_LIBRARY}"
+    LL_TEST_ADDITIONAL_LIBRARIES "${BOOST_CONTEXT_LIBRARY};${BOOST_COROUTINE_LIBRARY};${BOOST_SYSTEM_LIBRARY}"
     )
 
   LL_ADD_PROJECT_UNIT_TESTS(lllogin "${lllogin_TEST_SOURCE_FILES}")