Bug 1443928 - Add section reordering, snippets IndexedDB, strings, bug fixes to a Activity Stream draft
authork88hudson <k88hudson@gmail.com>
Thu, 08 Mar 2018 12:15:11 -0500
changeset 764941 59aa4e1d522157929fcbc7fe0b13f080a7d13b50
parent 764770 a6a32fb286fa9e5d5f6d5b3b77423ab6b96c9502
push id101901
push userbmo:khudson@mozilla.com
push dateThu, 08 Mar 2018 17:15:34 +0000
bugs1443928
milestone60.0a1
Bug 1443928 - Add section reordering, snippets IndexedDB, strings, bug fixes to a Activity Stream MozReview-Commit-ID: 6Tinj9xTqvQ
browser/extensions/activity-stream/common/Actions.jsm
browser/extensions/activity-stream/common/PrerenderData.jsm
browser/extensions/activity-stream/common/Reducers.jsm
browser/extensions/activity-stream/css/activity-stream-linux.css
browser/extensions/activity-stream/css/activity-stream-linux.css.map
browser/extensions/activity-stream/css/activity-stream-mac.css
browser/extensions/activity-stream/css/activity-stream-mac.css.map
browser/extensions/activity-stream/css/activity-stream-windows.css
browser/extensions/activity-stream/css/activity-stream-windows.css.map
browser/extensions/activity-stream/data/content/activity-stream.bundle.js
browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
browser/extensions/activity-stream/install.rdf.in
browser/extensions/activity-stream/lib/ActivityStream.jsm
browser/extensions/activity-stream/lib/ActivityStreamStorage.jsm
browser/extensions/activity-stream/lib/HighlightsFeed.jsm
browser/extensions/activity-stream/lib/SectionsManager.jsm
browser/extensions/activity-stream/lib/SnippetsFeed.jsm
browser/extensions/activity-stream/lib/TelemetryFeed.jsm
browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/an/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/an/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/az/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/az/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/be/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/be/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/br/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/br/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/da/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/da/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/de/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/de/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/el/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/el/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/et/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/et/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/he/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/he/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/id/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/id/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/it/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/it/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/km/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/km/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/my/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/my/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/si/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/si/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/te/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/te/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/th/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/th/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/static/activity-stream-initial-state.js
browser/extensions/activity-stream/prerendered/static/activity-stream-prerendered-debug.html
browser/extensions/activity-stream/test/schemas/pings.js
browser/extensions/activity-stream/test/unit/common/Reducers.test.js
browser/extensions/activity-stream/test/unit/lib/ActivityStreamStorage.test.js
browser/extensions/activity-stream/test/unit/lib/HighlightsFeed.test.js
browser/extensions/activity-stream/test/unit/lib/SectionsManager.test.js
browser/extensions/activity-stream/test/unit/lib/SnippetsFeed.test.js
browser/extensions/activity-stream/test/unit/lib/TelemetryFeed.test.js
--- a/browser/extensions/activity-stream/common/Actions.jsm
+++ b/browser/extensions/activity-stream/common/Actions.jsm
@@ -60,24 +60,26 @@ for (const type of [
   "PREF_CHANGED",
   "RICH_ICON_MISSING",
   "SAVE_SESSION_PERF_DATA",
   "SAVE_TO_POCKET",
   "SCREENSHOT_UPDATED",
   "SECTION_DEREGISTER",
   "SECTION_DISABLE",
   "SECTION_ENABLE",
+  "SECTION_MOVE",
   "SECTION_OPTIONS_CHANGED",
   "SECTION_REGISTER",
   "SECTION_UPDATE",
   "SECTION_UPDATE_CARD",
   "SETTINGS_CLOSE",
   "SETTINGS_OPEN",
   "SET_PREF",
   "SHOW_FIREFOX_ACCOUNTS",
+  "SNIPPETS_BLOCKLIST_CLEARED",
   "SNIPPETS_BLOCKLIST_UPDATED",
   "SNIPPETS_DATA",
   "SNIPPETS_RESET",
   "SNIPPET_BLOCKED",
   "SYSTEM_TICK",
   "TELEMETRY_IMPRESSION_STATS",
   "TELEMETRY_PERFORMANCE_EVENT",
   "TELEMETRY_UNDESIRED_EVENT",
--- a/browser/extensions/activity-stream/common/PrerenderData.jsm
+++ b/browser/extensions/activity-stream/common/PrerenderData.jsm
@@ -52,32 +52,34 @@ this.PrerenderData = new _PrerenderData(
     "showTopSites": true,
     "showSearch": true,
     "topSitesRows": 1,
     "collapseTopSites": false,
     "section.highlights.collapsed": false,
     "section.topstories.collapsed": false,
     "feeds.section.topstories": true,
     "feeds.section.highlights": true,
-    "enableWideLayout": true
+    "enableWideLayout": true,
+    "sectionOrder": "topsites,topstories,highlights"
   },
   // Prefs listed as invalidating will prevent the prerendered version
   // of AS from being used if their value is something other than what is listed
   // here. This is required because some preferences cause the page layout to be
   // too different for the prerendered version to be used. Unfortunately, this
   // will result in users who have modified some of their preferences not being
   // able to get the benefits of prerendering.
   validation: [
     "showTopSites",
     "showSearch",
     "topSitesRows",
     "collapseTopSites",
     "section.highlights.collapsed",
     "section.topstories.collapsed",
     "enableWideLayout",
+    "sectionOrder",
     // This means if either of these are set to their default values,
     // prerendering can be used.
     {oneOf: ["feeds.section.topstories", "feeds.section.highlights"]}
   ],
   initialSections: [
     {
       enabled: true,
       icon: "pocket",
--- a/browser/extensions/activity-stream/common/Reducers.jsm
+++ b/browser/extensions/activity-stream/common/Reducers.jsm
@@ -172,38 +172,21 @@ function Sections(prevState = INITIAL_ST
       // If section exists in prevState, update it
       newState = prevState.map(section => {
         if (section && section.id === action.data.id) {
           hasMatch = true;
           return Object.assign({}, section, action.data);
         }
         return section;
       });
-
-      // Invariant: Sections array sorted in increasing order of property `order`.
-      // If section doesn't exist in prevState, create a new section object. If
-      // the section has an order, insert it at the correct place in the array.
-      // Otherwise, prepend it and set the order to be minimal.
+      // Otherwise, append it
       if (!hasMatch) {
         const initialized = !!(action.data.rows && action.data.rows.length > 0);
-        let order;
-        let index;
-        if (prevState.length > 0) {
-          order = action.data.order !== undefined ? action.data.order : prevState[0].order - 1;
-          index = newState.findIndex(section => section.order >= order);
-          if (index === -1) {
-            index = newState.length;
-          }
-        } else {
-          order = action.data.order !== undefined ? action.data.order : 0;
-          index = 0;
-        }
-
-        const section = Object.assign({title: "", rows: [], order, enabled: false}, action.data, {initialized});
-        newState.splice(index, 0, section);
+        const section = Object.assign({title: "", rows: [], enabled: false}, action.data, {initialized});
+        newState.push(section);
       }
       return newState;
     case at.SECTION_UPDATE:
       newState = prevState.map(section => {
         if (section && section.id === action.data.id) {
           // If the action is updating rows, we should consider initialized to be true.
           // This can be overridden if initialized is defined in the action.data
           const initialized = action.data.rows ? {initialized: true} : {};
@@ -329,16 +312,20 @@ function Sections(prevState = INITIAL_ST
       return prevState;
   }
 }
 
 function Snippets(prevState = INITIAL_STATE.Snippets, action) {
   switch (action.type) {
     case at.SNIPPETS_DATA:
       return Object.assign({}, prevState, {initialized: true}, action.data);
+    case at.SNIPPET_BLOCKED:
+      return Object.assign({}, prevState, {blockList: prevState.blockList.concat(action.data)});
+    case at.SNIPPETS_BLOCKLIST_CLEARED:
+      return Object.assign({}, prevState, {blockList: []});
     case at.SNIPPETS_RESET:
       return INITIAL_STATE.Snippets;
     default:
       return prevState;
   }
 }
 
 function PreferencesPane(prevState = INITIAL_STATE.PreferencesPane, action) {
--- a/browser/extensions/activity-stream/css/activity-stream-linux.css
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css
@@ -790,16 +790,19 @@ main {
           background: #0060DF;
           color: #FFF; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover) a {
             color: #0C0C0D; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover) .icon {
             fill: #FFF; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover):-moz-any(:focus, :hover) {
             color: #FFF; }
+        .context-menu > ul > li > a.disabled {
+          opacity: 0.4;
+          pointer-events: none; }
 
 .prefs-pane {
   color: #4A4A4F;
   font-size: 14px;
   line-height: 21px; }
   .prefs-pane .sidebar {
     background: #FFF;
     border-left: 1px solid #D7D7DB;
@@ -1128,18 +1131,35 @@ main {
     text-overflow: ellipsis;
     white-space: nowrap; }
 
 @media (min-width: 1122px) {
   .wide-layout-enabled .card-outer {
     height: 370px; }
     .wide-layout-enabled .card-outer .card-preview-image-outer {
       height: 155px; }
+    .wide-layout-enabled .card-outer .card-details {
+      padding: 13px 16px 12px; }
     .wide-layout-enabled .card-outer .card-text {
-      max-height: 135px; } }
+      max-height: 140px; }
+    .wide-layout-enabled .card-outer .card-host-name {
+      font-size: 12px;
+      padding-bottom: 5px; }
+    .wide-layout-enabled .card-outer .card-title {
+      font-size: 17px;
+      line-height: 23px;
+      margin-bottom: 0; }
+    .wide-layout-enabled .card-outer .card-text:not(.no-description) .card-title {
+      max-height: 69px; }
+    .wide-layout-enabled .card-outer .card-description {
+      font-size: 15px;
+      line-height: 23px; }
+    .wide-layout-enabled .card-outer .card-context {
+      bottom: 4px;
+      font-size: 14px; } }
 
 .manual-migration-container {
   color: #4A4A4F;
   font-size: 13px;
   line-height: 15px;
   margin-bottom: 20px;
   text-align: center; }
   @media (min-width: 610px) {
@@ -1175,17 +1195,20 @@ main {
   .manual-migration-actions button {
     align-self: center;
     height: 26px;
     margin: 0;
     margin-inline-start: 20px;
     padding: 0 12px; }
 
 .collapsible-section {
-  padding: 10px 25px; }
+  padding: 10px 25px;
+  transition-delay: 100ms;
+  transition-duration: 100ms;
+  transition-property: background-color; }
   .collapsible-section .section-title {
     margin: 0; }
     .collapsible-section .section-title .click-target {
       cursor: pointer;
       vertical-align: top;
       white-space: nowrap; }
     .collapsible-section .section-title .collapsible-arrow {
       margin-inline-start: 8px;
@@ -1201,17 +1224,18 @@ main {
       offset-inline-end: 0;
       opacity: 0;
       position: absolute;
       top: 0;
       transition-duration: 200ms;
       transition-property: opacity;
       width: 27px; }
       .collapsible-section .section-top-bar .context-menu-button:-moz-any(:active, :focus, :hover) {
-        fill: #0C0C0D; }
+        fill: #0C0C0D;
+        opacity: 1; }
     .collapsible-section .section-top-bar .context-menu {
       top: 16px; }
     @media (max-width: 1458px) {
       .collapsible-section .section-top-bar .context-menu {
         margin-inline-end: 5px;
         margin-inline-start: auto;
         offset-inline-end: 0;
         offset-inline-start: auto; } }
--- a/browser/extensions/activity-stream/css/activity-stream-linux.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css.map
@@ -27,18 +27,18 @@
 		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$grey-20-60: rgba($grey-20, 0.6);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Aliases and derived styles based on Photon colors for common usage\n$background-primary: $grey-10;\n$background-secondary: $grey-20;\n$border-primary: 1px solid $grey-40;\n$border-secondary: 1px solid $grey-30;\n$fill-primary: $grey-90-80;\n$fill-secondary: $grey-90-60;\n$fill-tertiary: $grey-30;\n$input-primary: $blue-60;\n$input-secondary: $grey-10;\n$link-primary: $blue-60;\n$link-secondary: $teal-70;\n$shadow-primary: 0 0 0 5px $grey-30;\n$shadow-secondary: 0 1px 4px 0 $grey-90-10;\n$text-primary: $grey-90;\n$text-conditional: $grey-60;\n$text-secondary: $grey-50;\n$input-border: solid 1px $grey-90-20;\n$input-border-active: solid 1px $blue-50;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 2px rgba($red-60, 0.35);\n$input-focus-boxshadow: 0 0 0 2px rgba($blue-50, 0.35);\n\n$white: #FFF;\n$border-radius: 3px;\n\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-border-color: $black-20;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $context-menu-border-color;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$inner-box-shadow: 0 0 0 1px $black-10;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: $white;\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: $fill-primary;\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
 		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: $fill-primary;\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: $fill-secondary;\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-pocket-small {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n    background-size: $smaller-icon-size;\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
 		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: $text-conditional;\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: $text-conditional;\n    text-decoration: underline;\n  }\n}\n\n",
 		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, $shadow-secondary;\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: $text-secondary;\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: $background-primary;\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: $rich-icon-size;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: $fill-tertiary;\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    offset-inline-start: -31px;\n    position: absolute;\n    top: -29px;\n    width: calc(100% + 62px);\n    box-shadow: $shadow-secondary;\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing $form-spacing 40px;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n\n        & + input:dir(ltr) {\n          padding-right: 32px;\n        }\n\n        & + input:dir(rtl) {\n          padding-left: 32px;\n        }\n      }\n    }\n\n    .url input:not(:placeholder-shown):dir(rtl) {\n      direction: ltr;\n      text-align: right;\n    }\n\n    input {\n      &[type='text'] {\n        border: $input-border;\n        border-radius: 2px;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: $input-focus-boxshadow;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: $fill-secondary;\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: $text-secondary;\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .sections-list {\n    .section-list {\n      @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n        :nth-child(3n) {\n          @include context-menu-open-left;\n        }\n      }\n\n      @media (min-width: $break-point-widest) {\n        grid-template-columns: repeat(auto-fit, $card-width-large);\n      }\n    }\n  }\n\n  .section-empty-state {\n    height: $card-height-large;\n  }\n}\n",
 		".topic {\n  color: $text-secondary;\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: $link-secondary;\n  }\n\n  .topic-read-more {\n    color: $link-secondary;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: $link-secondary;\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
 		".search-wrapper {\n  $search-border-radius: 3px;\n  $search-focus-color: $blue-50;\n  $search-height: 35px;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  $search-glyph-fill: $grey-90-40;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  // The extra 1px is to account for the box-shadow being outside of the element\n  // instead of inside. It needs to be like that to not overlap the inner background\n  // color of the hover state of the submit button.\n  margin: 1px 1px $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    border: 0;\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    box-shadow: 0 0 0 $os-search-focus-shadow-radius $search-focus-color;\n  }\n\n  .search-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable { // sass-lint:disable-line class-name-format\n    border: 0;\n    transform: translateY(2px);\n  }\n}\n",
-		".context-menu {\n  background: $background-primary;\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: 1px solid $context-menu-border-color;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n      }\n    }\n  }\n}\n",
+		".context-menu {\n  background: $background-primary;\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: 1px solid $context-menu-border-color;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
 		".prefs-pane {\n  $options-spacing: 10px;\n  $prefs-spacing: 20px;\n  $prefs-width: 400px;\n\n  color: $text-conditional;\n  font-size: 14px;\n  line-height: 21px;\n\n  .sidebar {\n    background: $white;\n    border-left: $border-secondary;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n    offset-inline-end: 0;\n    overflow-y: auto;\n    padding: 40px;\n    position: fixed;\n    top: 0;\n    transition: 0.1s cubic-bezier(0, 0, 0, 1);\n    transition-property: transform;\n    width: $prefs-width;\n    z-index: 12000;\n\n    &.hidden {\n      transform: translateX(100%);\n\n      &:dir(rtl) {\n        transform: translateX(-100%);\n      }\n    }\n\n    h1 {\n      font-size: 21px;\n      margin: 0;\n      padding-top: $prefs-spacing;\n    }\n  }\n\n  hr {\n    border: 0;\n    border-bottom: $border-secondary;\n    margin: 20px 0;\n  }\n\n  .prefs-modal-inner-wrapper {\n    padding-bottom: 100px;\n\n    section {\n      margin: $prefs-spacing 0;\n\n      p {\n        margin: 5px 0 20px 30px;\n      }\n\n      label {\n        display: inline-block;\n        position: relative;\n        width: 100%;\n\n        input {\n          offset-inline-start: -30px;\n          position: absolute;\n          top: 0;\n        }\n      }\n\n      > label {\n        font-size: 16px;\n        font-weight: bold;\n        line-height: 19px;\n      }\n    }\n\n    .options {\n      background: $background-primary;\n      border: $border-secondary;\n      border-radius: 2px;\n      margin: -$options-spacing 0 $prefs-spacing;\n      margin-inline-start: 30px;\n      padding: $options-spacing;\n\n      &.disabled {\n        opacity: 0.5;\n      }\n\n      label {\n        $icon-offset-start: 35px;\n        background-position-x: $icon-offset-start;\n        background-position-y: 2.5px;\n        background-repeat: no-repeat;\n        display: inline-block;\n        font-size: 14px;\n        font-weight: normal;\n        height: auto;\n        line-height: 21px;\n        width: 100%;\n\n        &:dir(rtl) {\n          background-position-x: right $icon-offset-start;\n        }\n      }\n\n      [type='checkbox']:not(:checked) + label,\n      [type='checkbox']:checked + label {\n        padding-inline-start: 63px;\n      }\n\n      section {\n        margin: 0;\n      }\n    }\n  }\n\n  .actions {\n    background-color: $background-primary;\n    border-left: $border-secondary;\n    bottom: 0;\n    offset-inline-end: 0;\n    position: fixed;\n    width: $prefs-width;\n\n    button {\n      margin-inline-end: $prefs-spacing;\n    }\n  }\n\n  // CSS styled checkbox\n  [type='checkbox']:not(:checked),\n  [type='checkbox']:checked {\n    offset-inline-start: -9999px;\n    position: absolute;\n  }\n\n  [type='checkbox']:not(:disabled):not(:checked) + label,\n  [type='checkbox']:not(:disabled):checked + label {\n    cursor: pointer;\n    padding: 0 30px;\n    position: relative;\n  }\n\n  [type='checkbox']:not(:checked) + label::before,\n  [type='checkbox']:checked + label::before {\n    background: $white;\n    border: $border-primary;\n    border-radius: $border-radius;\n    content: '';\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark\n  [type='checkbox']:not(:checked) + label::after,\n  [type='checkbox']:checked + label::after {\n    background: url('chrome://global/skin/in-content/check.svg') no-repeat center center; // sass-lint:disable-line no-url-domains\n    content: '';\n    -moz-context-properties: fill, stroke;\n    fill: $input-primary;\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    stroke: none;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark changes\n  [type='checkbox']:not(:checked) + label::after {\n    opacity: 0;\n  }\n\n  [type='checkbox']:checked + label::after {\n    opacity: 1;\n  }\n\n  // hover\n  [type='checkbox']:not(:disabled) + label:hover::before {\n    border: 1px solid $input-primary;\n  }\n\n  // accessibility\n  [type='checkbox']:not(:disabled):checked:focus + label::before,\n  [type='checkbox']:not(:disabled):not(:checked):focus + label::before {\n    border: 1px dotted $input-primary;\n  }\n}\n\n.prefs-pane-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: $background-secondary;\n  height: 100%;\n  left: 0;\n  opacity: 0.8;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: $white;\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
-		".card-outer {\n  @include context-menu-button;\n  background: $white;\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: $link-primary;\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid $black-5;\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: $text-secondary;\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-title {\n    font-size: 14px;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-text {\n        max-height: 7 * $card-text-line-height + $card-title-margin;\n      }\n    }\n  }\n}\n",
+		".card-outer {\n  @include context-menu-button;\n  background: $white;\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: $link-primary;\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid $black-5;\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: $text-secondary;\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-title {\n    font-size: 14px;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  $line-height: 23px;\n\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-details {\n        padding: 13px 16px 12px;\n      }\n\n      .card-text {\n        max-height: 6 * $line-height + $card-title-margin;\n      }\n\n      .card-host-name {\n        font-size: 12px;\n        padding-bottom: 5px;\n      }\n\n      .card-title {\n        font-size: 17px;\n        line-height: $line-height;\n        margin-bottom: 0;\n      }\n\n      .card-text:not(.no-description) {\n        .card-title {\n          max-height: 3 * $line-height;\n        }\n      }\n\n      .card-description {\n        font-size: 15px;\n        line-height: $line-height;\n      }\n\n      .card-context {\n        bottom: 4px;\n        font-size: 14px;\n      }\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: $text-conditional;\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: $fill-secondary;\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
-		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n\n  .section-title {\n    margin: 0;\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: $grey-50;\n      height: $context-menu-button-size;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: $grey-20-60;\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: $grey-90;\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n"
+		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    margin: 0;\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: $grey-50;\n      height: $context-menu-button-size;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: $grey-20-60;\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: $grey-90;\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": ";AAAA,+BAA+B;AEA/B,AAAA,IAAI,CAAC;EACH,UAAU,EAAE,UAAU,GACvB;;AAED,AAAA,CAAC;AACD,AAAA,CAAC,AAAA,QAAQ;AACT,AAAA,CAAC,AAAA,OAAO,CAAC;EACP,UAAU,EAAE,OAAO,GACpB;;AAED,AAAA,CAAC,AAAA,kBAAkB,CAAC;EAClB,MAAM,EAAE,CAAC,GACV;;AAED,AAAA,IAAI,CAAC;EACH,MAAM,EAAE,CAAC,GACV;;AAED,AAAA,MAAM;AACN,AAAA,KAAK,CAAC;EACJ,gBAAgB,EAAE,OAAO;EACzB,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,OAAO;EACpB,SAAS,EAAE,OAAO,GACnB;;CAED,AAAA,AAAA,MAAC,AAAA,EAAQ;EACP,OAAO,EAAE,eAAe,GACzB;;AE5BD,AAAA,KAAK,CAAC;EACJ,mBAAmB,EAAE,aAAa;EAClC,iBAAiB,EAAE,SAAS;EAC5B,eAAe,EDkEL,IAAI;ECjEd,uBAAuB,EAAE,IAAI;EAC7B,OAAO,EAAE,YAAY;EACrB,IAAI,EDGI,qBAAO;ECFf,MAAM,ED8DI,IAAI;EC7Dd,cAAc,EAAE,MAAM;EACtB,KAAK,ED4DK,IAAI,GCkGf;EAvKD,AAWE,KAXG,AAWH,YAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG,GACvB;EAbH,AAeE,KAfG,AAeH,kBAAmB,CAAC;IAClB,iBAAiB,EAAE,GAAG,GACvB;EAjBH,AAmBE,KAnBG,AAmBH,oBAAqB,CAAC;IACpB,gBAAgB,EAAE,yCAAyC,GAC5D;EArBH,AAuBE,KAvBG,AAuBH,qBAAsB,CAAC;IACrB,gBAAgB,EAAE,gDAAgD,GACnE;EAzBH,AA2BE,KA3BG,AA2BH,iBAAkB,CAAC;IACjB,IAAI,EDnBE,qBAAO;ICoBb,gBAAgB,EAAE,iDAAwC,GAC3D;EA9BH,AAgCE,KAhCG,AAgCH,YAAa,CAAC;IACZ,gBAAgB,EAAE,iDAAwC,GAC3D;EAlCH,AAoCE,KApCG,AAoCH,kBAAmB,CAAC;IAClB,gBAAgB,EAAE,uDAA8C;IAChE,eAAe,EDiCA,IAAI;IChCnB,MAAM,EDgCS,IAAI;IC/BnB,KAAK,ED+BU,IAAI,GC9BpB;EAzCH,AA2CE,KA3CG,AA2CH,aAAc,CAAC;IACb,gBAAgB,EAAE,kDAAyC,GAC5D;EA7CH,AA+CE,KA/CG,AA+CH,UAAW,CAAC;IACV,gBAAgB,EAAE,+CAAsC,GACzD;EAjDH,AAmDE,KAnDG,AAmDH,YAAa,CAAC;IACZ,gBAAgB,EAAE,iDAAwC,GAC3D;EArDH,AAuDE,KAvDG,AAuDH,gBAAiB,CAAC;IAEhB,gBAAgB,EAAE,oDAA2C,GAC9D;IA1DH,ADuLE,KCvLG,AAuDH,gBAAiB,ADgIpB,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AA4DE,KA5DG,AA4DH,wBAAyB,CAAC;IACxB,gBAAgB,EAAE,gDAAgD,GACnE;EA9DH,AAgEE,KAhEG,AAgEH,cAAe,CAAC;IACd,gBAAgB,EAAE,yCAAyC,GAC5D;EAlEH,AAoEE,KApEG,AAoEH,SAAU,CAAC;IAET,gBAAgB,EAAE,8CAAqC,GACxD;IAvEH,ADuLE,KCvLG,AAoEH,SAAU,ADmHb,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AAyEE,KAzEG,AAyEH,WAAY,CAAC;IAEX,gBAAgB,EAAE,gDAAuC,GAC1D;IA5EH,ADuLE,KCvLG,AAyEH,WAAY,AD8Gf,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AA8EE,KA9EG,AA8EH,UAAW,CAAC;IACV,gBAAgB,EAAE,+CAAsC,GACzD;EAhFH,AAkFE,KAlFG,AAkFH,YAAa,CAAC;IACZ,gBAAgB,EAAE,iDAAwC,GAC3D;EApFH,AAsFE,KAtFG,AAsFH,kBAAmB,CAAC;IAClB,gBAAgB,EAAE,iDAAwC;IAC1D,eAAe,EDlBC,IAAI,GCmBrB;EAzFH,AA2FE,KA3FG,AA2FH,iBAAkB,CAAC;IACjB,gBAAgB,EAAE,sDAA6C,GAChE;EA7FH,AA+FE,KA/FG,AA+FH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C;IAC5D,SAAS,EAAE,eAAe,GAC3B;EAlGH,AAoGE,KApGG,AAoGH,SAAU,CAAC;IACT,gBAAgB,EAAE,wCAAwC,GAC3D;EAtGH,AAwGE,KAxGG,AAwGH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C,GAC7D;EA1GH,AA4GE,KA5GG,AA4GH,eAAgB,CAAC;IAEf,gBAAgB,EAAE,8CAAqC;IACvD,eAAe,EDzCC,IAAI;IC0CpB,MAAM,ED1CU,IAAI;IC2CpB,KAAK,ED3CW,IAAI,GC4CrB;IAlHH,ADuLE,KCvLG,AA4GH,eAAgB,AD2EnB,IAAS,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;ECzLH,AAoHE,KApHG,AAoHH,WAAY,CAAC;IACX,gBAAgB,EAAE,sCAAsC,GACzD;EAtHH,AAwHE,KAxHG,AAwHH,kBAAmB,CAAC;IAClB,gBAAgB,EAAE,uDAA8C,GACjE;EA1HH,AA4HE,KA5HG,AA4HH,gBAAiB,CAAC;IAChB,gBAAgB,EAAE,qDAA4C,GAC/D;EA9HH,AAgIE,KAhIG,AAgIH,oBAAqB,CAAC;IACpB,gBAAgB,EAAE,yDAAgD,GACnE;EAlIH,AAoIE,KApIG,AAoIH,0BAA2B,CAAC;IAC1B,gBAAgB,EAAE,yDAAgD;IAClE,eAAe,EDhEC,IAAI;ICiEpB,MAAM,EDjEU,IAAI;ICkEpB,KAAK,EDlEW,IAAI,GCmErB;EAzIH,AA2IE,KA3IG,AA2IH,6BAA8B,CAAC;IAC7B,gBAAgB,EAAE,yDAAgD;IAClE,eAAe,EDvEC,IAAI;ICwEpB,MAAM,EDxEU,IAAI;ICyEpB,SAAS,EAAE,cAAc;IACzB,KAAK,ED1EW,IAAI,GC+ErB;IArJH,AAkJI,KAlJC,AA2IH,6BAA8B,AAO5B,IAAM,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,aAAa,GACzB;EApJL,AAuJE,KAvJG,AAuJH,kBAAmB,CAAC;IAClB,gBAAgB,EAAE,yDAAgD;IAClE,SAAS,EAAE,cAAc,GAC1B;EA1JH,AA4JE,KA5JG,AA4JH,SAAU,CAAC;IACT,gBAAgB,EAAE,8CAAqC,GACxD;EA9JH,AAgKE,KAhKG,AAgKH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C,GAC7D;EAlKH,AAoKE,KApKG,AAoKH,cAAe,CAAC;IACd,gBAAgB,EAAE,mDAA0C,GAC7D;;AHlKH,AAAA,IAAI;AACJ,AAAA,IAAI;AACJ,AAAA,KAAK,CAAC;EACJ,MAAM,EAAE,IAAI,GACb;;AAED,AAAA,IAAI,CAAC;EACH,UAAU,EERF,OAAO;EFSf,KAAK,EEHG,OAAO;EFIf,WAAW,EAAE,qFAAqF;EAClG,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,MAAM,GACnB;;AAED,AAAA,EAAE;AACF,AAAA,EAAE,CAAC;EACD,WAAW,EAAE,MAAM,GACpB;;AAED,AAAA,CAAC,CAAC;EACA,KAAK,EEtBG,OAAO;EFuBf,eAAe,EAAE,IAAI,GAKtB;EAPD,AAIE,CAJD,AAIC,MAAO,CAAC;IACN,KAAK,EElBC,OAAO,GFmBd;;AAIH,AAAA,QAAQ,CAAC;EACP,MAAM,EAAE,CAAC;EACT,IAAI,EAAE,gBAAgB;EACtB,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,CAAC;EACV,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,GAAG,GACX;;AAED,AAAA,aAAa,CAAC;EACZ,MAAM,EEJW,GAAG,CAAC,KAAK,CApClB,OAAO;EFyCf,aAAa,EEeC,GAAG;EFdjB,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,CAAC;EACP,cAAc,EAAE,IAAI;EACpB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,GAAG,GACb;;AAED,UAAU,CAAV,MAAU;EACR,AAAA,IAAI;IACF,OAAO,EAAE,CAAC;EAGZ,AAAA,EAAE;IACA,OAAO,EAAE,CAAC;;AAId,AAAA,aAAa,CAAC;EACZ,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,oBAAoB,GAMjC;EARD,AAIE,aAJW,AAIX,GAAI,CAAC;IACH,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,CAAC,GACX;;AAGH,AAAA,QAAQ,CAAC;EACP,UAAU,EEpCO,GAAG,CAAC,KAAK,CApClB,OAAO;EFyEf,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,GAAG;EACnB,SAAS,EAAE,IAAI;EACf,eAAe,EAAE,UAAU;EAC3B,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,WAAW,GA8BrB;EArCD,AASE,QATM,CASN,MAAM,CAAC;IACL,gBAAgB,EEnFV,OAAO;IFoFb,MAAM,EE/CO,GAAG,CAAC,KAAK,CAlChB,OAAO;IFkFb,aAAa,EAAE,GAAG;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,MAAM,GAmBpB;IApCH,AASE,QATM,CASN,MAAM,AAUJ,MAAO,AAAA,IAAK,CAAA,AAAA,QAAQ,EAAE;MACpB,UAAU,EE/CC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;MF4FX,UAAU,EAAE,gBAAgB,GAC7B;IAtBL,AASE,QATM,CASN,MAAM,AAeJ,QAAS,CAAC;MACR,MAAM,EAAE,CAAC;MACT,OAAO,EAAE,CAAC;MACV,eAAe,EAAE,SAAS,GAC3B;IA5BL,AASE,QATM,CASN,MAAM,AAqBJ,KAAM,CAAC;MACL,UAAU,EEzGN,OAAO;MF0GX,MAAM,EAAE,KAAK,CAAC,GAAG,CE1Gb,OAAO;MF2GX,KAAK,EEjDH,IAAI;MFkDN,mBAAmB,EAAE,IAAI,GAC1B;;AAKL,AAAA,mBAAmB,CAAC;EAClB,OAAO,EAAE,CAAC,GACX;;AItHD,AAAA,cAAc,CAAC;EACb,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,CAAC;EACZ,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,IAA8C,CF2D3C,IAAI,CAAJ,IAAI,GEtDjB;EATD,AAME,cANY,AAMZ,aAAc,CAAC;IACb,MAAM,EAAE,IAAI,GACb;;AAGH,AAAA,IAAI,CAAC;EACH,MAAM,EAAE,IAAI;EAGZ,cAAc,EAAE,IAA4D;EAC5E,KAAK,EFyDiB,KAAmE,GEvC1F;EAhBC,MAAM,EAAE,SAAS,EAAE,KAAK;IAP1B,AAAA,IAAI,CAAC;MAQD,KAAK,EFuDiB,KAAmE,GExC5F;EAZC,MAAM,EAAE,SAAS,EAAE,KAAK;IAX1B,AAAA,IAAI,CAAC;MAYD,KAAK,EFoDkB,KAAmE,GEzC7F;EARC,MAAM,EAAE,SAAS,EAAE,KAAK;IAf1B,AAAA,IAAI,CAAC;MAgBD,KAAK,EFiDiB,KAAmE,GE1C5F;EAvBD,AAmBE,IAnBE,CAmBF,OAAO,CAAC;IACN,aAAa,EFmCC,IAAoC;IElClD,QAAQ,EAAE,QAAQ,GACnB;;AAKC,MAAM,EAAE,SAAS,EAAE,MAAM;EAF7B,AACE,oBADkB,CAClB,IAAI,CAAC;IAED,KAAK,EFsCgB,MAAmE,GEpC3F;;AAGH,AAAA,gBAAgB,CAAC;EACf,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,IAAI,GACpB;;AAED,AAAA,cAAc,CAAC;EACb,SAAS,EFqCe,IAAI;EEpC5B,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,SAAS,GAO1B;EAVD,AAKE,cALY,CAKZ,IAAI,CAAC;IACH,KAAK,EFhDC,OAAO;IEiDb,IAAI,EFjDE,OAAO;IEkDb,cAAc,EAAE,MAAM,GACvB;;AAGH,AAAA,sBAAsB,CAAC;EAErB,MAAM,EAAE,KAAK,GACd;;;AAED,AAUI,aAVS,CAUT,cAAc;AAVlB,AAWmB,aAXN,CAWT,cAAc,CAAC,QAAQ,AAAA,aAAa;AAXxC,AAYI,aAZS,CAYT,MAAM,CAHc;EACpB,OAAO,EAAE,CAAC,GACX;;;AAXH,AAeI,aAfS,AAaX,GAAI,CAEF,cAAc;AAflB,AAgBmB,aAhBN,AAaX,GAAI,CAGF,cAAc,CAAC,QAAQ,AAAA,aAAa;AAhBxC,AAiBI,aAjBS,AAaX,GAAI,CAIF,MAAM,CAHgB;EACpB,OAAO,EAAE,CAAC,GACX;;AAIL,AAAA,wBAAwB,CAAC;EACvB,OAAO,EAAE,CAAC,CFvBiB,IAAI,GEwBhC;;ACxFD,AAAA,kBAAkB,CAAC;EACjB,WAAW,EAAE,MAAM;EACnB,aAAa,EH2DC,GAAG;EG1DjB,UAAU,EAAE,KAAK,CH8GA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI;EGtBV,KAAK,EHIG,OAAO;EGHf,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,MAAM;EACtB,SAAS,EHuGgB,IAAI;EGtG7B,eAAe,EAAE,MAAM;EACvB,aAAa,EAAE,MAAM;EACrB,WAAW,EHqGgB,GAAG,GG/F/B;EAhBD,AAYE,kBAZgB,CAYhB,CAAC,CAAC;IACA,KAAK,EHLC,OAAO;IGMb,eAAe,EAAE,SAAS,GAC3B;;ACJH,AAAA,UAAU,CAAC;EAGT,aAAa,EAAE,GAA4E,GAC5F;;AAED,AAAA,eAAe,CAAC;EACd,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,CAAC,CAVQ,KAAgB;EAWjC,OAAO,EAAE,CAAC,GA0DX;EAvDC,MAAM,EAAE,SAAS,EAAE,KAAK;IAN1B,AJoJE,eIpJa,CAOX,UAAW,CAAA,IAAI,EJ6IjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,IAAI;MACvB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,IAAI;MACvB,mBAAmB,EA1GT,KAAI,GA2Gf;IIzJH,AJ6JE,eI7Ja,CAWX,UAAW,CAAA,EAAE,EJkJf,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIjJD,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IAjBjD,AJ6JE,eI7Ja,CAkBX,UAAW,CAAA,IAAI,EJ2IjB,aAAa;II7Jf,AJ6JE,eI7Ja,CAmBX,UAAW,CAAA,EAAE,EJ0If,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIzID,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IAzBjD,AJ6JE,eI7Ja,CA0BX,UAAW,CAAA,EAAE,EJmIf,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIpID,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IA9BjD,AJ6JE,eI7Ja,CA+BX,UAAW,CAAA,IAAI,EJ8HjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EI7HD,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,MAAM;IArClD,AJ6JE,eI7Ja,CAsCX,UAAW,CAAA,EAAE,EJuHf,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIxHD,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,MAAM;IA1ClD,AJ6JE,eI7Ja,CA2CX,UAAW,CAAA,IAAI,EJkHjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EIlKH,AAgDE,eAhDa,CAgDb,EAAE,CAAC;IACD,MAAM,EAAE,CAAC,CAAC,CAAC,CA/DY,GAAG,GAgE3B;EAlDH,AAsDM,eAtDS,AAoDb,IAAM,CAAA,AAAA,WAAW,EACf,eAAe,AAAA,SAAU,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE,AAAA,MAAM,EAC9C,KAAK,CAAC;IJiDV,UAAU,EAAE,KAAK,CAPA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,EAuBK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;IAoHf,UAAU,EAAE,gBAAgB,GIhDvB;EAxDP,AJ6IE,eI7Ia,AAoDb,IAAM,CAAA,AAAA,WAAW,EACf,eAAe,AAAA,SAAU,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE,AAAA,MAAM,EJwFlD,oBAAoB,CAAC;IACnB,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,QAAQ,GACpB;;AIhFH,AAAA,eAAe,CAAC;EACd,OAAO,EAAE,CAAC,CAzEO,IAAgB;EA0EjC,OAAO,EAAE,YAAY,GA4JtB;EA9JD,AAKE,eALa,CAKb,eAAe,CAAC;IACd,QAAQ,EAAE,QAAQ,GAanB;IAnBH,AAQM,eARS,CAKb,eAAe,GAGX,CAAC,CAAC;MACF,KAAK,EAAE,OAAO;MACd,OAAO,EAAE,KAAK;MACd,OAAO,EAAE,IAAI,GAOd;MAlBL,AAcQ,eAdO,CAKb,eAAe,GAGX,CAAC,AAKD,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EACxB,KAAK,CAAC;QJyBZ,UAAU,EAAE,KAAK,CAPA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,EAuBK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;QAoHf,UAAU,EAAE,gBAAgB,GIxBrB;EAhBT,AJiDE,eIjDa,CJiDb,oBAAoB,CAAC;IACnB,eAAe,EAAE,WAAW;IAC5B,gBAAgB,EAxEZ,IAAI;IAyER,gBAAgB,EAAE,4CAA4C;IAC9D,mBAAmB,EAAE,GAAG;IACxB,MAAM,EA/FO,GAAG,CAAC,KAAK,CAlChB,OAAO;IAkIb,aAAa,EAAE,IAAI;IACnB,UAAU,EAnCkB,CAAC,CAAC,GAAG,CA7F3B,qBAAO;IAiIb,MAAM,EAAE,OAAO;IACf,IAAI,EAlIE,qBAAO;IAmIb,MAAM,EAvCiB,IAAI;IAwC3B,iBAAiB,EAAI,OAA6B;IAClD,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAI,OAA6B;IACpC,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,kBAAkB;IACvC,KAAK,EA/CkB,IAAI,GAqD5B;IIzEH,AJiDE,eIjDa,CJiDb,oBAAoB,AAoBnB,SAAY,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE;MAC1B,OAAO,EAAE,CAAC;MACV,SAAS,EAAE,QAAQ,GACpB;EIxEL,AAuBE,eAvBa,CAuBb,KAAK,CAAC;IACJ,aAAa,EAxGS,GAAG;IAyGzB,UAAU,EAAE,KAAK,CJOF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,EAwBO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO;IIkGb,MAAM,EJxCE,IAAI;IIyCZ,QAAQ,EAAE,QAAQ;IAClB,KAAK,EJ1CG,IAAI;II6CZ,WAAW,EAAE,MAAM;IACnB,KAAK,EJ1GC,OAAO;II2Gb,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,GAAG;IAChB,eAAe,EAAE,MAAM;IACvB,cAAc,EAAE,SAAS,GAK1B;IA1CH,AAuBE,eAvBa,CAuBb,KAAK,AAgBH,QAAS,CAAC;MACR,OAAO,EAAE,mBAAmB,GAC7B;EAzCL,AA4CE,eA5Ca,CA4Cb,WAAW,CAAC;IACV,gBAAgB,EJlEZ,IAAI;IImER,mBAAmB,EAAE,QAAQ;IAC7B,eAAe,EA5HD,KAAK;IA6HnB,aAAa,EAhIS,GAAG;IAiIzB,UAAU,EAAE,KAAK,CJjBF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI;IIyGR,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,UAAU;IACtB,KAAK,EAAE,IAAI,GAKZ;IA7DH,AA4CE,eA5Ca,CA4Cb,WAAW,AAcT,OAAQ,CAAC;MACP,OAAO,EAAE,CAAC,GACX;EA5DL,AAgEE,eAhEa,CAgEb,cAAc,CAAC;IACb,gBAAgB,EJ/IV,OAAO;IIgJb,mBAAmB,EAAE,aAAa;IAClC,iBAAiB,EAAE,SAAS;IAC5B,aAAa,EApJS,GAAG;IAqJzB,UAAU,EAAE,KAAK,CJrCF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI;II6HR,QAAQ,EAAE,QAAQ,GACnB;EAvEH,AAyEE,eAzEa,CAyEb,UAAU,CAAC;IACT,eAAe,EAtJF,IAAI;IAuJjB,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,IAAI,GACZ;EA/EH,AAiFE,eAjFa,CAiFb,aAAa,CAAC;IACZ,eAAe,EA5JC,IAAI;IA6JpB,MAAM,EA5JY,IAAG;IA6JrB,MAAM,EA/JkB,IAAI;IAgK5B,iBAAiB,EA9JC,IAAG;IA+JrB,KAAK,EAjKmB,IAAI;IAoK5B,WAAW,EAAE,MAAM;IACnB,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,MAAM,GAKxB;IAjGH,AAiFE,eAjFa,CAiFb,aAAa,CAaX,AAAA,aAAE,AAAA,CAAc,QAAQ,CAAC;MACvB,OAAO,EAAE,mBAAmB,GAC7B;EAhGL,AAmGE,eAnGa,CAmGb,MAAM,CAAC;IACL,IAAI,EAAE,WAAW;IACjB,MAAM,EApLe,IAAI;IAqLzB,WAAW,EArLU,IAAI;IAsLzB,UAAU,EAAE,MAAM;IAClB,KAAK,EJtHG,IAAI;IIuHZ,QAAQ,EAAE,QAAQ,GAsBnB;IA/HH,AA2GI,eA3GW,CAmGb,MAAM,CAQJ,KAAK,CAAC;MACJ,IAAI,EJxLA,OAAO;MIyLX,mBAAmB,EAAE,CAAC;MACtB,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,IAAI,GACV;IAhHL,AAkHI,eAlHW,CAmGb,MAAM,CAeJ,IAAI,CAAC;MACH,MAAM,EAlMa,IAAI;MAmMvB,OAAO,EAAE,KAAK;MACd,QAAQ,EAAE,MAAM;MAChB,aAAa,EAAE,QAAQ;MACvB,WAAW,EAAE,MAAM,GACpB;IAxHL,AA2HM,eA3HS,CAmGb,MAAM,AAuBJ,OAAQ,CACN,IAAI,CAAC;MACH,OAAO,EAAE,MAAM,GAChB;EA7HP,AAiIE,eAjIa,CAiIb,YAAY,CAAC;IACX,gBAAgB,EAAE,+CAAsC,GACzD;EAnIH,AAsII,eAtIW,AAqIb,YAAa,CACX,KAAK,CAAC;IACJ,UAAU,EAAE,KAAK,CJvGJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,GI+LP;EAxIL,AA0II,eA1IW,AAqIb,YAAa,CAKX,WAAW,CAAC;IACV,OAAO,EAAE,IAAI,GACd;EA5IL,AAgJI,eAhJW,AA+Ib,QAAS,CACP,KAAK,CAAC;IACJ,UAAU,EJ9NN,OAAO;II+NX,UAAU,EAAE,IAAI,GAMjB;IAxJL,AAoJM,eApJS,AA+Ib,QAAS,CACP,KAAK,CAIH,CAAC,EApJP,AAgJI,eAhJW,AA+Ib,QAAS,CACP,KAAK,AAKH,QAAS,CAAC;MACR,OAAO,EAAE,IAAI,GACd;EAvJP,AA0JI,eA1JW,AA+Ib,QAAS,CAWP,MAAM,CAAC;IACL,UAAU,EAAE,MAAM,GACnB;;AAKL,AAEI,qBAFiB,CACnB,eAAe,CACb,gBAAgB,CAAC;EACf,OAAO,EAAE,IAAI,GACd;;AAOD,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,MAAM;EAHrD,AJ5EE,oBI4EkB,CAClB,eAAe,CAGX,UAAW,CAAA,EAAE,EJhFjB,aAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG;IACtB,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,IAAI,GAC1B;;AIgFC,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,MAAM;EATrD,AJ5EE,oBI4EkB,CAClB,eAAe,CASX,UAAW,CAAA,IAAI,EJtFnB,aAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG;IACtB,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,IAAI,GAC1B;;AIsFC,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,MAAM;EAfzC,AAgBM,oBAhBc,CAClB,eAAe,CAeX,gBAAgB,CAAC;IACf,OAAO,EAAE,IAAI,GACd;;AAKP,AACE,sBADoB,CACpB,MAAM,CAAC;EACL,mBAAmB,EAAE,KAAK;EAC1B,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,KAAK;EACV,KAAK,EAAE,iBAAiB;EACxB,UAAU,EJrOK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO,GI+Qd;;AAGH,AAIE,aAJW,CAIX,qBAAqB,CAAC;EACpB,SAAS,EAAE,KAAiD;EAC5D,MAAM,EAAE,MAAM;EACd,OAAO,EALM,IAAI,CAAJ,IAAI,CAKoB,IAAI,GAc1C;EArBH,AASI,aATS,CAIX,qBAAqB,CAKnB,eAAe,CAAC;IACd,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,QAAQ;IAChB,mBAAmB,EAVR,IAAI;IAWf,cAAc,EAAE,IAAI,GACrB;EAdL,AAgBI,aAhBS,CAIX,qBAAqB,CAYnB,cAAc,CAAC;IACb,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,QAAQ,GACjB;;AApBL,AAuBE,aAvBW,CAuBX,mBAAmB,CAAC;EAClB,OAAO,EAAE,IAAI,GACd;;AAzBH,AA2BE,aA3BW,CA2BX,KAAK,CAAC;EACJ,SAAS,EJhOa,IAAI,GIiO3B;;AA7BH,AA+BE,aA/BW,CA+BX,aAAa,CAAC;EACZ,KAAK,EAAE,IAAI,GA8EZ;EA9GH,AAkCI,aAlCS,CA+BX,aAAa,CAGX,MAAM,CAAC;IACL,QAAQ,EAAE,QAAQ,GAgBnB;IAnDL,AAqCM,aArCO,CA+BX,aAAa,CAGX,MAAM,CAGJ,iBAAiB,CAAC;MAChB,QAAQ,EAAE,QAAQ;MAClB,SAAS,EAAE,gBAAgB;MAC3B,GAAG,EAAE,GAAG;MACR,iBAAiB,EAAE,GAAG,GASvB;MAlDP,AA2CY,aA3CC,CA+BX,aAAa,CAGX,MAAM,CAGJ,iBAAiB,GAMX,KAAK,AAAA,IAAK,CAAA,AAAA,GAAG,EAAE;QACjB,aAAa,EAAE,IAAI,GACpB;MA7CT,AA+CY,aA/CC,CA+BX,aAAa,CAGX,MAAM,CAGJ,iBAAiB,GAUX,KAAK,AAAA,IAAK,CAAA,AAAA,GAAG,EAAE;QACjB,YAAY,EAAE,IAAI,GACnB;EAjDT,AAqDS,aArDI,CA+BX,aAAa,CAsBX,IAAI,CAAC,KAAK,AAAA,IAAK,CAAA,AAAA,kBAAkB,CAAC,IAAK,CAAA,AAAA,GAAG,EAAE;IAC1C,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,KAAK,GAClB;EAxDL,AA0DI,aA1DS,CA+BX,aAAa,CA2BX,KAAK,CACH,AAAA,IAAE,CAAK,MAAM,AAAX,EAAa;IACb,MAAM,EJjSC,KAAK,CAAC,GAAG,CA7Cd,qBAAO;II+UT,aAAa,EAAE,GAAG;IAClB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI,GAMZ;IAvEP,AA0DI,aA1DS,CA+BX,aAAa,CA2BX,KAAK,CACH,AAAA,IAAE,CAAK,MAAM,AAAX,CAQA,MAAO,CAAC;MACN,MAAM,EJxSM,KAAK,CAAC,GAAG,CAtDrB,OAAO;MI+VP,UAAU,EJtSI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAzDvB,wBAAO,GIgWR;EAtET,AA2EM,aA3EO,CA+BX,aAAa,CA2CX,QAAQ,CACN,KAAK,CACH,AAAA,IAAE,CAAK,MAAM,AAAX,EAAa;IACb,MAAM,EJhTK,KAAK,CAAC,GAAG,CA7CrB,OAAO;II8VN,UAAU,EJhTI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA9CxB,sBAAO,GI+VP;EA/ET,AAmFI,aAnFS,CA+BX,aAAa,CAoDX,cAAc,CAAC;IACb,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EJrWP,OAAO;IIsWV,aAAa,EAAE,GAAG;IAClB,KAAK,EJtTH,IAAI;IIuTN,mBAAmB,EAAE,GAAG;IACxB,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,CAAC,GAiBX;IA7GL,AAmFI,aAnFS,CA+BX,aAAa,CAoDX,cAAc,AAYZ,QAAS,CAAC;MACR,UAAU,EJhXT,OAAO;MIiXR,MAAM,EAAE,IAAI;MACZ,OAAO,EAAE,GAAG;MACZ,MAAM,EAAE,IAAI;MACZ,mBAAmB,EAAE,IAAI;MACzB,QAAQ,EAAE,QAAQ;MAClB,WAAW,EAAE,MAAM;MACnB,GAAG,EAAE,IAAI;MACT,SAAS,EAAE,aAAa;MACxB,WAAW,EAAE,MAAM;MACnB,KAAK,EAAE,IAAI;MACX,OAAO,EAAE,EAAE,GACZ;;AA5GP,AAgHE,aAhHW,CAgHX,QAAQ,CAAC;EACP,eAAe,EAAE,QAAQ,GAM1B;EAvHH,AAmHI,aAnHS,CAgHX,QAAQ,CAGN,MAAM,CAAC;IACL,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC,GACrB;;AAGH,MAAM,EAAE,SAAS,EAAE,KAAK;EAzH1B,AA0HI,aA1HS,CA0HT,mBAAmB,CAAC;IAClB,cAAc,EAAE,MAAM,GAKvB;IAhIL,AA6HM,aA7HO,CA0HT,mBAAmB,CAGjB,eAAe,CAAC;MACd,mBAAmB,EAAE,CAAC,GACvB;;AAMP,UAAU,CAAV,UAAU;EACR,AAAA,EAAE;IACA,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,gBAAgB;EAG7B,AAAA,IAAI;IACF,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,aAAa;;ACxa5B,AACE,cADY,CACZ,aAAa,CAAC;EACZ,OAAO,EAAE,IAAI;EACb,QAAQ,EL4DE,IAAI;EK3Dd,qBAAqB,EAAE,uBAA6B;EACpD,MAAM,EAAE,CAAC,GAiBV;EAfC,MAAM,EAAE,SAAS,EAAE,KAAK;IAP5B,AL8KE,cK9KY,CACZ,aAAa,CL6Kb,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EKxKC,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,KAAK;IAXnD,AL8KE,cK9KY,CACZ,aAAa,CAWT,UAAW,CAAA,EAAE,ELkKjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;EKlKC,MAAM,EAAE,SAAS,EAAE,KAAK,OAAO,SAAS,EAAE,MAAM;IAjBpD,AL8KE,cK9KY,CACZ,aAAa,CAiBT,UAAW,CAAA,EAAE,EL4JjB,aAAa,CAAC;MACZ,iBAAiB,EAAE,GAAG;MACtB,mBAAmB,EAAE,IAAI;MACzB,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,IAAI,GAC1B;;AKnLH,AAwBE,cAxBY,CAwBZ,oBAAoB,CAAC;EACnB,MAAM,ELgBS,GAAG,CAAC,KAAK,CApClB,OAAO;EKqBb,aAAa,ELmCD,GAAG;EKlCf,OAAO,EAAE,IAAI;EACb,MAAM,EL8DI,KAAK;EK7Df,KAAK,EAAE,IAAI,GAyBZ;EAtDH,AA+BI,cA/BU,CAwBZ,oBAAoB,CAOlB,YAAY,CAAC;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,KAAK,GAoBjB;IArDL,AAmCM,cAnCQ,CAwBZ,oBAAoB,CAOlB,YAAY,CAIV,iBAAiB,CAAC;MAChB,mBAAmB,EAAE,MAAM;MAC3B,iBAAiB,EAAE,SAAS;MAC5B,eAAe,EAAE,SAAS;MAC1B,uBAAuB,EAAE,IAAI;MAC7B,OAAO,EAAE,KAAK;MACd,IAAI,ELhCF,qBAAO;MKiCT,MAAM,EAAE,IAAI;MACZ,MAAM,EAAE,MAAM;MACd,KAAK,EAAE,IAAI,GACZ;IA7CP,AA+CM,cA/CQ,CAwBZ,oBAAoB,CAOlB,YAAY,CAgBV,oBAAoB,CAAC;MACnB,KAAK,ELzCH,OAAO;MK0CT,SAAS,EAAE,IAAI;MACf,aAAa,EAAE,CAAC;MAChB,UAAU,EAAE,MAAM,GACnB;;AAQD,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,SAAS,EAAE,MAAM;EAHvD,ALqHE,oBKrHkB,CAClB,cAAc,CACZ,aAAa,CAET,UAAW,CAAA,EAAE,ELiHnB,aAAa,CAAC;IACZ,iBAAiB,EAAE,GAAG;IACtB,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,IAAI,GAC1B;;AKjHG,MAAM,EAAE,SAAS,EAAE,MAAM;EAT/B,AAEI,oBAFgB,CAClB,cAAc,CACZ,aAAa,CAAC;IAQV,qBAAqB,EAAE,uBAAmC,GAE7D;;AAZL,AAeE,oBAfkB,CAelB,oBAAoB,CAAC;EACnB,MAAM,ELuBU,KAAK,GKtBtB;;AC1EH,AAAA,MAAM,CAAC;EACL,KAAK,ENMG,OAAO;EMLf,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,UAAU,EN+FO,IAAI,GMzBtB;EApEC,MAAM,EAAE,SAAS,EAAE,KAAK;IAN1B,AAAA,MAAM,CAAC;MAOH,WAAW,EAAE,IAAI,GAmEpB;EA1ED,AAUE,MAVI,CAUJ,EAAE,CAAC;IACD,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC,GAKX;IAJC,MAAM,EAAE,SAAS,EAAE,KAAK;MAb5B,AAUE,MAVI,CAUJ,EAAE,CAAC;QAIC,OAAO,EAAE,MAAM;QACf,oBAAoB,EAAE,IAAI,GAE7B;EAjBH,AAoBK,MApBC,CAoBJ,EAAE,CAAC,EAAE,CAAC;IACJ,OAAO,EAAE,YAAY,GAUtB;IA/BH,AAoBK,MApBC,CAoBJ,EAAE,CAAC,EAAE,AAGH,OAAQ,CAAC;MACP,OAAO,EAAE,KAAK;MACd,OAAO,EAAE,GAAG,GACb;IA1BL,AAoBK,MApBC,CAoBJ,EAAE,CAAC,EAAE,AAQH,WAAY,AAAA,OAAO,CAAC;MAClB,OAAO,EAAE,IAAI,GACd;EA9BL,AAiCE,MAjCI,CAiCJ,WAAW,CAAC;IACV,KAAK,ENxBC,OAAO,GMyBd;EAnCH,AAqCE,MArCI,CAqCJ,gBAAgB,CAAC;IACf,KAAK,EN5BC,OAAO,GMuDd;IAzBC,MAAM,EAAE,SAAS,EAAE,KAAK;MAxC5B,AAqCE,MArCI,CAqCJ,gBAAgB,CAAC;QAMb,KAAK,EAAE,KAAK,GAsBf;QAjEH,AAqCE,MArCI,CAqCJ,gBAAgB,AAQZ,IAAM,CAAA,AAAA,GAAG,EAAE;UACT,KAAK,EAAE,IAAI,GACZ;IA/CP,AAqCE,MArCI,CAqCJ,gBAAgB,AAad,OAAQ,CAAC;MACP,UAAU,EAAE,oDAA2C,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM;MAC/E,OAAO,EAAE,EAAE;MACX,uBAAuB,EAAE,IAAI;MAC7B,OAAO,EAAE,YAAY;MACrB,IAAI,EN7CA,OAAO;MM8CX,MAAM,EAAE,IAAI;MACZ,mBAAmB,EAAE,GAAG;MACxB,cAAc,EAAE,GAAG;MACnB,KAAK,EAAE,IAAI,GACZ;IA5DL,AAqCE,MArCI,CAqCJ,gBAAgB,AAyBd,IAAM,CAAA,AAAA,GAAG,CAAC,OAAO,CAAE;MACjB,SAAS,EAAE,UAAU,GACtB;EAhEL,AAqEE,MArEI,AAqEJ,OAAQ,CAAC;IACP,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,KAAK,GACf;;ACzEH,AAAA,eAAe,CAAC;EAad,MAAM,EAAE,OAAO;EACf,OAAO,EAAE,IAAI;EACb,MAAM,EAZU,IAAI;EAgBpB,MAAM,EAAE,GAAG,CAAC,GAAG,CP+CC,IAAoC;EO9CpD,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI,GAgEZ;EArFD,AAuBE,eAvBa,CAuBb,KAAK,CAAC;IACJ,MAAM,EAAE,CAAC;IACT,aAAa,EAxBQ,GAAG;IAyBxB,UAAU,EPwBK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO,EOiBkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CPApC,mBAAI;IOCR,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,CAAC;IACV,kBAAkB,EAxBE,IAAI;IAyBxB,oBAAoB,EA1BU,IAAI;IA2BlC,KAAK,EAAE,IAAI,GACZ;EAhCH,AAkCU,eAlCK,AAkCb,MAAO,CAAC,KAAK,CAAC;IACZ,UAAU,EPeK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO,EO0BkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CPTpC,mBAAI,GOUT;EApCH,AAsCW,eAtCI,AAsCb,OAAQ,CAAC,KAAK;EAtChB,AAuCE,eAvCa,CAuCb,KAAK,AAAA,MAAM,CAAC;IACV,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CVnCW,GAAG,CGJzB,OAAO,GOwCd;EAzCH,AA2CE,eA3Ca,CA2Cb,aAAa,CAAC;IACZ,UAAU,EAtCS,6CAA6C,CAsChC,SAAS,CAjCd,IAAI,CAiCuC,WAA2B;IACjG,uBAAuB,EAAE,IAAI;IAC7B,IAAI,EPrCE,qBAAO;IOsCb,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EA9CyB,IAAI,GA+CnC;EAnDH,AAqDE,eArDa,CAqDb,cAAc,CAAC;IACb,UAAU,EA/CI,wCAAwC,CA+C3B,SAAS,CAAC,MAAM,CAAC,MAAM;IAClD,eAAe,EAAE,SAAS;IAC1B,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC,CPIJ,GAAG,CAAH,GAAG,COJgC,CAAC;IAChD,uBAAuB,EAAE,IAAI;IAC7B,IAAI,EPlDE,qBAAO;IOmDb,MAAM,EAAE,IAAI;IACZ,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EA1De,IAAI,GAyEzB;IA9EH,AAqDE,eArDa,CAqDb,cAAc,AAYZ,MAAO,EAjEX,AAqDE,eArDa,CAqDb,cAAc,AAaZ,MAAO,CAAC;MACN,gBAAgB,EP1DZ,qBAAO;MO2DX,MAAM,EAAE,OAAO,GAChB;IArEL,AAqDE,eArDa,CAqDb,cAAc,AAkBZ,OAAQ,CAAC;MACP,gBAAgB,EP/DZ,qBAAO,GOgEZ;IAzEL,AAqDE,eArDa,CAqDb,cAAc,AAsBZ,IAAM,CAAA,AAAA,GAAG,EAAE;MACT,SAAS,EAAE,UAAU,GACtB;EA7EL,AAiFE,eAjFa,CAiFb,6BAA6B,CAAC;IAC5B,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,eAAe,GAC3B;;ACpFH,AAAA,aAAa,CAAC;EACZ,UAAU,EREF,OAAO;EQDf,aAAa,ERwGc,GAAG;EQvG9B,UAAU,ERqGU,CAAC,CAAC,GAAG,CAAC,IAAI,CA9ExB,kBAAI,EA8EgC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA9E7C,kBAAI;EQtBV,OAAO,EAAE,KAAK;EACd,SAAS,ERoGc,IAAI;EQnG3B,mBAAmB,EAAE,GAAG;EACxB,mBAAmB,EAAE,IAAI;EACzB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,MAA+B;EACpC,OAAO,EAAE,KAAK,GA6Cf;EAvDD,AAYI,aAZS,GAYT,EAAE,CAAC;IACH,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,CAAC;IACT,OAAO,ER4FkB,GAAG,CQ5FS,CAAC,GAuCvC;IAtDH,AAiBM,aAjBO,GAYT,EAAE,GAKA,EAAE,CAAC;MACH,MAAM,EAAE,CAAC;MACT,KAAK,EAAE,IAAI,GAkCZ;MArDL,AAiBM,aAjBO,GAYT,EAAE,GAKA,EAAE,AAIF,UAAW,CAAC;QACV,aAAa,EAAE,GAAG,CAAC,KAAK,CRIxB,kBAAI;QQHJ,MAAM,ERoFe,GAAG,CQpFY,CAAC,GACtC;MAxBP,AA0BQ,aA1BK,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,CAAC;QACF,WAAW,EAAE,MAAM;QACnB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,IAAI;QACb,OAAO,ER2Ea,GAAG,CAAC,IAAI;QQ1E5B,WAAW,EAAE,MAAM,GAkBpB;QApDP,AA0BQ,aA1BK,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE;UACzB,UAAU,ERnCV,OAAO;UQoCP,KAAK,ERsBP,IAAI,GQTH;UAnDT,AAwCU,aAxCG,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAIvB,CAAC,CAAC;YACA,KAAK,ERhCP,OAAO,GQiCN;UA1CX,AA4CU,aA5CG,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAQvB,KAAK,CAAC;YACJ,IAAI,EReR,IAAI,GQdD;UA9CX,AA0BQ,aA1BK,GAYT,EAAE,GAKA,EAAE,GASA,CAAC,AAUD,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,CAYvB,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE;YACzB,KAAK,ERWT,IAAI,GQVD;;AClDX,AAAA,WAAW,CAAC;EAKV,KAAK,ETGG,OAAO;ESFf,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI,GAqLlB;EA5LD,AASE,WATS,CAST,QAAQ,CAAC;IACP,UAAU,ETkDN,IAAI;ISjDR,WAAW,ET8BI,GAAG,CAAC,KAAK,CApClB,OAAO;ISOb,UAAU,ETsCK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO;ISIb,MAAM,EAAE,IAAI;IACZ,iBAAiB,EAAE,CAAC;IACpB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,IAAI,CAAC,wBAAwB;IACzC,mBAAmB,EAAE,SAAS;IAC9B,KAAK,EAlBO,KAAK;IAmBjB,OAAO,EAAE,KAAK,GAef;IArCH,AASE,WATS,CAST,QAAQ,AAeN,OAAQ,CAAC;MACP,SAAS,EAAE,gBAAgB,GAK5B;MA9BL,AASE,WATS,CAST,QAAQ,AAeN,OAAQ,AAGN,IAAM,CAAA,AAAA,GAAG,EAAE;QACT,SAAS,EAAE,iBAAiB,GAC7B;IA7BP,AAgCI,WAhCO,CAST,QAAQ,CAuBN,EAAE,CAAC;MACD,SAAS,EAAE,IAAI;MACf,MAAM,EAAE,CAAC;MACT,WAAW,EAjCC,IAAI,GAkCjB;EApCL,AAuCE,WAvCS,CAuCT,EAAE,CAAC;IACD,MAAM,EAAE,CAAC;IACT,aAAa,ETAE,GAAG,CAAC,KAAK,CApClB,OAAO;ISqCb,MAAM,EAAE,MAAM,GACf;EA3CH,AA6CE,WA7CS,CA6CT,0BAA0B,CAAC;IACzB,cAAc,EAAE,KAAK,GAkEtB;IAhHH,AAgDI,WAhDO,CA6CT,0BAA0B,CAGxB,OAAO,CAAC;MACN,MAAM,EA/CM,IAAI,CA+CO,CAAC,GAuBzB;MAxEL,AAmDM,WAnDK,CA6CT,0BAA0B,CAGxB,OAAO,CAGL,CAAC,CAAC;QACA,MAAM,EAAE,eAAe,GACxB;MArDP,AAuDM,WAvDK,CA6CT,0BAA0B,CAGxB,OAAO,CAOL,KAAK,CAAC;QACJ,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,IAAI,GAOZ;QAjEP,AA4DQ,WA5DG,CA6CT,0BAA0B,CAGxB,OAAO,CAOL,KAAK,CAKH,KAAK,CAAC;UACJ,mBAAmB,EAAE,KAAK;UAC1B,QAAQ,EAAE,QAAQ;UAClB,GAAG,EAAE,CAAC,GACP;MAhET,AAmEQ,WAnEG,CA6CT,0BAA0B,CAGxB,OAAO,GAmBH,KAAK,CAAC;QACN,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI,GAClB;IAvEP,AA0EI,WA1EO,CA6CT,0BAA0B,CA6BxB,QAAQ,CAAC;MACP,UAAU,ETxEN,OAAO;MSyEX,MAAM,ETnCO,GAAG,CAAC,KAAK,CApClB,OAAO;MSwEX,aAAa,EAAE,GAAG;MAClB,MAAM,EA7EQ,KAAI,CA6EQ,CAAC,CA5Ef,IAAI;MA6EhB,mBAAmB,EAAE,IAAI;MACzB,OAAO,EA/EO,IAAI,GA8GnB;MA/GL,AA0EI,WA1EO,CA6CT,0BAA0B,CA6BxB,QAAQ,AAQN,SAAU,CAAC;QACT,OAAO,EAAE,GAAG,GACb;MApFP,AAsFM,WAtFK,CA6CT,0BAA0B,CA6BxB,QAAQ,CAYN,KAAK,CAAC;QAEJ,qBAAqB,EADD,IAAI;QAExB,qBAAqB,EAAE,KAAK;QAC5B,iBAAiB,EAAE,SAAS;QAC5B,OAAO,EAAE,YAAY;QACrB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,MAAM;QACnB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,KAAK,EAAE,IAAI,GAKZ;QArGP,AAsFM,WAtFK,CA6CT,0BAA0B,CA6BxB,QAAQ,CAYN,KAAK,AAYH,IAAM,CAAA,AAAA,GAAG,EAAE;UACT,qBAAqB,EAAE,KAAK,CAZV,IAAI,GAavB;MApGT,AAuGwC,WAvG7B,CA6CT,0BAA0B,CA6BxB,QAAQ,EA6BN,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,QAAQ,IAAI,KAAK;MAvG7C,AAwGkC,WAxGvB,CA6CT,0BAA0B,CA6BxB,QAAQ,EA8BN,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,QAAQ,GAAG,KAAK,CAAC;QAChC,oBAAoB,EAAE,IAAI,GAC3B;MA1GP,AA4GM,WA5GK,CA6CT,0BAA0B,CA6BxB,QAAQ,CAkCN,OAAO,CAAC;QACN,MAAM,EAAE,CAAC,GACV;EA9GP,AAkHE,WAlHS,CAkHT,QAAQ,CAAC;IACP,gBAAgB,EThHV,OAAO;ISiHb,WAAW,ET3EI,GAAG,CAAC,KAAK,CApClB,OAAO;ISgHb,MAAM,EAAE,CAAC;IACT,iBAAiB,EAAE,CAAC;IACpB,QAAQ,EAAE,KAAK;IACf,KAAK,EArHO,KAAK,GA0HlB;IA7HH,AA0HI,WA1HO,CAkHT,QAAQ,CAQN,MAAM,CAAC;MACL,iBAAiB,EAzHL,IAAI,GA0HjB;EA5HL,AAgIE,WAhIS,EAgIT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,QAAQ;EAhIhC,AAiIE,WAjIS,EAiIT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,QAAQ,CAAC;IACxB,mBAAmB,EAAE,OAAO;IAC5B,QAAQ,EAAE,QAAQ,GACnB;EApIH,AAsImD,WAtIxC,EAsIT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,SAAS,CAAC,IAAK,CAAA,AAAA,QAAQ,IAAI,KAAK;EAtIxD,AAuI6C,WAvIlC,EAuIT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC/C,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,QAAQ,GACnB;EA3IH,AA6IoC,WA7IzB,EA6IT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,QAAQ,IAAI,KAAK,AAAA,QAAQ;EA7IjD,AA8I8B,WA9InB,EA8IT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,QAAQ,GAAG,KAAK,AAAA,QAAQ,CAAC;IACxC,UAAU,ETnFN,IAAI;ISoFR,MAAM,ETxGO,GAAG,CAAC,KAAK,CAlChB,OAAO;IS2Ib,aAAa,ETpFD,GAAG;ISqFf,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,IAAI,GACZ;EAxJH,AA2JoC,WA3JzB,EA2JT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,QAAQ,IAAI,KAAK,AAAA,OAAO;EA3JhD,AA4J8B,WA5JnB,EA4JT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,QAAQ,GAAG,KAAK,AAAA,OAAO,CAAC;IACvC,UAAU,EAAE,gDAAgD,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM;IACpF,OAAO,EAAE,EAAE;IACX,uBAAuB,EAAE,YAAY;IACrC,IAAI,ET9JE,OAAO;IS+Jb,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,IAAI;IACZ,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,IAAI,GACZ;EAvKH,AA0KoC,WA1KzB,EA0KT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,QAAQ,IAAI,KAAK,AAAA,OAAO,CAAC;IAC7C,OAAO,EAAE,CAAC,GACX;EA5KH,AA8K8B,WA9KnB,EA8KT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,QAAQ,GAAG,KAAK,AAAA,OAAO,CAAC;IACvC,OAAO,EAAE,CAAC,GACX;EAhLH,AAmLqC,WAnL1B,EAmLT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,SAAS,IAAI,KAAK,AAAA,MAAM,AAAA,QAAQ,CAAC;IACrD,MAAM,EAAE,GAAG,CAAC,KAAK,CTlLX,OAAO,GSmLd;EArLH,AAwLmD,WAxLxC,EAwLT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,SAAS,CAAC,QAAQ,AAAA,MAAM,GAAG,KAAK,AAAA,QAAQ;EAxLhE,AAyLyD,WAzL9C,EAyLT,AAAA,IAAC,CAAK,UAAU,AAAf,CAAgB,IAAK,CAAA,AAAA,SAAS,CAAC,IAAK,CAAA,AAAA,QAAQ,CAAC,MAAM,GAAG,KAAK,AAAA,QAAQ,CAAC;IACnE,MAAM,EAAE,GAAG,CAAC,MAAM,CTxLZ,OAAO,GSyLd;;AAGH,AACE,kBADgB,CAChB,MAAM,CAAC;EACL,gBAAgB,EAAE,WAAW;EAC7B,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,OAAO;EACf,IAAI,ET1LE,qBAAO;ES2Lb,iBAAiB,EAAE,IAAI;EACvB,OAAO,EAAE,IAAI;EACb,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,IAAI;EACT,OAAO,EAAE,KAAK,GASf;EAnBH,AACE,kBADgB,CAChB,MAAM,AAWJ,MAAO,CAAC;IACN,gBAAgB,ETvMZ,OAAO,GSwMZ;EAdL,AACE,kBADgB,CAChB,MAAM,AAeJ,OAAQ,CAAC;IACP,gBAAgB,ET5MZ,OAAO,GS6MZ;;AChNL,AACE,oBADkB,CAClB,MAAM,CAAC;EACL,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CVwBnB,kBAAI;EUvBR,IAAI,EAAE,GAAG;EACT,WAAW,EAAE,MAAM;EACnB,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,GAAG;EACR,KAAK,EAAE,KAAK,GACb;;AARH,AAUE,oBAVkB,CAUlB,OAAO,CAAC;EACN,MAAM,EAAE,CAAC,GACV;;AAZH,AAcE,oBAdkB,CAclB,cAAc,CAAC;EACb,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,CAAC,GAMlB;EAvBH,AAmBI,oBAnBgB,CAclB,cAAc,CAKZ,CAAC,CAAC;IACA,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,IAAI,GACpB;;AAtBL,AAyBE,oBAzBkB,CAyBlB,QAAQ,CAAC;EACP,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,MAAM;EACjB,OAAO,EAAE,MAAM,GAchB;EA3CH,AA+BI,oBA/BgB,CAyBlB,QAAQ,CAMN,MAAM,CAAC;IACL,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,IAAI;IAC1B,WAAW,EAAE,MAAM;IACnB,KAAK,EAAE,GAAG,GAMX;IA1CL,AA+BI,oBA/BgB,CAyBlB,QAAQ,CAMN,MAAM,AAOJ,KAAM,CAAC;MACL,iBAAiB,EAAE,CAAC;MACpB,mBAAmB,EAAE,CAAC,GACvB;;AAzCP,AA6CE,oBA7CkB,CA6ClB,KAAK,CAAC;EACJ,iBAAiB,EAAE,IAAI,GACxB;;AAGH,AAAA,cAAc,CAAC;EACb,UAAU,EV/CF,OAAO;EUgDf,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,CAAC;EACP,OAAO,EAAE,GAAG;EACZ,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK,GACf;;AAED,AAAA,MAAM,CAAC;EACL,UAAU,EVFJ,IAAI;EUGV,MAAM,EVtBW,GAAG,CAAC,KAAK,CApClB,OAAO;EU2Df,aAAa,EAAE,GAAG;EAClB,SAAS,EAAE,IAAI;EACf,OAAO,EAAE,KAAK,GACf;;ACnED,AAAA,WAAW,CAAC;EAEV,UAAU,EX0DJ,IAAI;EWzDV,aAAa,EX0DC,GAAG;EWzDjB,OAAO,EAAE,YAAY;EACrB,MAAM,EXqFM,KAAK;EWpFjB,iBAAiB,EXyDL,IAAI;EWxDhB,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI,GAkKZ;EA1KD,AXkIE,WWlIS,CXkIT,oBAAoB,CAAC;IACnB,eAAe,EAAE,WAAW;IAC5B,gBAAgB,EAxEZ,IAAI;IAyER,gBAAgB,EAAE,4CAA4C;IAC9D,mBAAmB,EAAE,GAAG;IACxB,MAAM,EA/FO,GAAG,CAAC,KAAK,CAlChB,OAAO;IAkIb,aAAa,EAAE,IAAI;IACnB,UAAU,EAnCkB,CAAC,CAAC,GAAG,CA7F3B,qBAAO;IAiIb,MAAM,EAAE,OAAO;IACf,IAAI,EAlIE,qBAAO;IAmIb,MAAM,EAvCiB,IAAI;IAwC3B,iBAAiB,EAAI,OAA6B;IAClD,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAI,OAA6B;IACpC,SAAS,EAAE,WAAW;IACtB,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,kBAAkB;IACvC,KAAK,EA/CkB,IAAI,GAqD5B;IW1JH,AXkIE,WWlIS,CXkIT,oBAAoB,AAoBnB,SAAY,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE;MAC1B,OAAO,EAAE,CAAC;MACV,SAAS,EAAE,QAAQ,GACpB;EWzJL,AAUE,WAVS,AAUT,YAAa,CAAC;IACZ,UAAU,EAAE,WAAW,GAKxB;IAhBH,AAaI,WAbO,AAUT,YAAa,CAGX,KAAK,CAAC;MACJ,UAAU,EAAE,KAAK,CXmGJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAvFpB,kBAAI,GWXP;EAfL,AAkBE,WAlBS,CAkBT,KAAK,CAAC;IACJ,aAAa,EX0CD,GAAG;IWzCf,UAAU,EX8BK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAzCpB,qBAAO;IWYb,MAAM,EAAE,IAAI,GACb;EAtBH,AAwBI,WAxBO,GAwBP,CAAC,CAAC;IACF,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,IAAI,GAWZ;IAzCH,AAiCM,WAjCK,GAwBP,CAAC,AAQD,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EACxB,KAAK,CAAC;MX4FV,UAAU,EA5EK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;MAyHf,UAAU,EAAE,gBAAgB,GW3FvB;IAnCP,AAqCM,WArCK,GAwBP,CAAC,AAQD,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAKxB,WAAW,CAAC;MACV,KAAK,EXpCH,OAAO,GWqCV;EAvCP,AA2CE,WA3CS,AA2CT,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE,AAAA,OAAO,CAAC,IAAK,CAAA,AAAA,YAAY,EAAE;IXkFtD,UAAU,EA5EK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;IAyHf,UAAU,EAAE,gBAAgB;IWhF1B,OAAO,EAAE,IAAI,GAKd;IAnDH,AX8JE,WW9JS,AA2CT,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE,AAAA,OAAO,CAAC,IAAK,CAAA,AAAA,YAAY,EXmHpD,oBAAoB,CAAC;MACnB,OAAO,EAAE,CAAC;MACV,SAAS,EAAE,QAAQ,GACpB;IWjKH,AAgDI,WAhDO,AA2CT,SAAW,CAAA,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE,AAAA,OAAO,CAAC,IAAK,CAAA,AAAA,YAAY,EAKlD,WAAW,CAAC;MACV,KAAK,EX/CD,OAAO,GWgDZ;EAlDL,AAqDE,WArDS,CAqDT,yBAAyB,CAAC;IACxB,gBAAgB,EXnDV,OAAO;IWoDb,aAAa,EXMD,GAAG,CAAH,GAAG,CWN8B,CAAC,CAAC,CAAC;IAChD,MAAM,EXmCkB,KAAK;IWlC7B,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,QAAQ,GAuBnB;IAjFH,AAqDE,WArDS,CAqDT,yBAAyB,AAOvB,OAAQ,CAAC;MACP,aAAa,EAAE,GAAG,CAAC,KAAK,CXnCtB,mBAAI;MWoCN,MAAM,EAAE,CAAC;MACT,OAAO,EAAE,EAAE;MACX,QAAQ,EAAE,QAAQ;MAClB,KAAK,EAAE,IAAI,GACZ;IAlEL,AAoEI,WApEO,CAqDT,yBAAyB,CAevB,mBAAmB,CAAC;MAClB,mBAAmB,EAAE,MAAM;MAC3B,iBAAiB,EAAE,SAAS;MAC5B,eAAe,EAAE,KAAK;MACtB,MAAM,EAAE,IAAI;MACZ,OAAO,EAAE,CAAC;MACV,UAAU,EAAE,OAAO,CAAC,EAAE,CXvCZ,8BAA8B;MWwCxC,KAAK,EAAE,IAAI,GAKZ;MAhFL,AAoEI,WApEO,CAqDT,yBAAyB,CAevB,mBAAmB,AASjB,OAAQ,CAAC;QACP,OAAO,EAAE,CAAC,GACX;EA/EP,AAmFE,WAnFS,CAmFT,aAAa,CAAC;IACZ,OAAO,EAAE,cAAc,GAKxB;IAzFH,AAmFE,WAnFS,CAmFT,aAAa,AAGX,SAAU,CAAC;MACT,WAAW,EAAE,IAAI,GAClB;EAxFL,AA2FE,WA3FS,CA2FT,UAAU,CAAC;IACT,UAAU,EAAE,IAA+C;IAC3D,QAAQ,EAAE,MAAM,GA4BjB;IAzHH,AA2FE,WA3FS,CA2FT,UAAU,AAIR,SAAU,CAAC;MACT,UAAU,EAAE,KAAgD,GAC7D;IAjGL,AA2FE,WA3FS,CA2FT,UAAU,AAQR,aAAc,EAnGlB,AA2FE,WA3FS,CA2FT,UAAU,AASR,WAAY,CAAC;MACX,UAAU,EAAE,IAA+C,GAC5D;IAtGL,AA2FE,WA3FS,CA2FT,UAAU,AAaR,SAAU,AAAA,aAAa,EAxG3B,AA2FE,WA3FS,CA2FT,UAAU,AAcR,SAAU,AAAA,WAAW,CAAC;MACpB,UAAU,EAAE,KAAgD,GAC7D;IA3GL,AA2FE,WA3FS,CA2FT,UAAU,AAkBR,aAAc,AAAA,WAAW,CAAC;MACxB,UAAU,EAAE,KAA+C,GAC5D;IA/GL,AA2FE,WA3FS,CA2FT,UAAU,AAsBR,SAAU,AAAA,aAAa,AAAA,WAAW,CAAC;MACjC,UAAU,EAAE,KAAgD,GAC7D;IAnHL,AAqH2B,WArHhB,CA2FT,UAAU,AA0BR,IAAM,CAAA,AAAA,eAAe,EAAE,WAAW,CAAC;MACjC,UAAU,EAAE,IAA0B;MACtC,QAAQ,EAAE,MAAM,GACjB;EAxHL,AA2HE,WA3HS,CA2HT,eAAe,CAAC;IACd,KAAK,EXrHC,OAAO;IWsHb,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,GAAG;IACnB,aAAa,EAAE,QAAQ;IACvB,cAAc,EAAE,SAAS,GAC1B;EAlIH,AAoIE,WApIS,CAoIT,WAAW,CAAC;IACV,SAAS,EAAE,IAAI;IACf,WAAW,EXzCS,IAAI;IW0CxB,MAAM,EAAE,CAAC,CAAC,CAAC,CX3CK,GAAG;IW4CnB,SAAS,EAAE,UAAU,GACtB;EAzIH,AA2IE,WA3IS,CA2IT,iBAAiB,CAAC;IAChB,SAAS,EAAE,IAAI;IACf,WAAW,EXhDS,IAAI;IWiDxB,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,UAAU,GACtB;EAjJH,AAmJE,WAnJS,CAmJT,aAAa,CAAC;IACZ,MAAM,EAAE,CAAC;IACT,KAAK,EX9IC,OAAO;IW+Ib,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,CAAC,GACT;EA5JH,AA8JE,WA9JS,CA8JT,kBAAkB,CAAC;IACjB,IAAI,EXtJE,qBAAO;IWuJb,iBAAiB,EAAE,GAAG,GACvB;EAjKH,AAmKE,WAnKS,CAmKT,mBAAmB,CAAC;IAClB,SAAS,EAAE,CAAC;IACZ,WAAW,EXhGH,IAAI;IWiGZ,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,QAAQ;IACvB,WAAW,EAAE,MAAM,GACpB;;AAKC,MAAM,EAAE,SAAS,EAAE,MAAM;EAF7B,AACE,oBADkB,CAClB,WAAW,CAAC;IAER,MAAM,EX/EQ,KAAK,GWyFtB;IAbH,AAKM,oBALc,CAClB,WAAW,CAIP,yBAAyB,CAAC;MACxB,MAAM,EXjFoB,KAAK,GWkFhC;IAPP,AASM,oBATc,CAClB,WAAW,CAQP,UAAU,CAAC;MACT,UAAU,EAAE,KAA+C,GAC5D;;ACvLP,AAAA,2BAA2B,CAAC;EAC1B,KAAK,EZOG,OAAO;EYNf,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,aAAa,EZ8DG,IAAoC;EY7DpD,UAAU,EAAE,MAAM,GA0BnB;EAxBC,MAAM,EAAE,SAAS,EAAE,KAAK;IAP1B,AAAA,2BAA2B,CAAC;MAQxB,OAAO,EAAE,IAAI;MACb,eAAe,EAAE,aAAa;MAC9B,UAAU,EAAE,IAAI,GAqBnB;EA/BD,AAaE,2BAbyB,CAazB,CAAC,CAAC;IACA,MAAM,EAAE,CAAC,GAMV;IALC,MAAM,EAAE,SAAS,EAAE,KAAK;MAf5B,AAaE,2BAbyB,CAazB,CAAC,CAAC;QAGE,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,aAAa,GAEjC;EApBH,AAsBE,2BAtByB,CAsBzB,KAAK,CAAC;IACJ,OAAO,EAAE,IAAI,GAOd;IANC,MAAM,EAAE,SAAS,EAAE,KAAK;MAxB5B,AAsBE,2BAtByB,CAsBzB,KAAK,CAAC;QAGF,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EZlBA,qBAAO;QYmBX,iBAAiB,EAAE,GAAG,GAEzB;;AAGH,AAAA,yBAAyB,CAAC;EACxB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,KAAK;EACd,SAAS,EAAE,MAAM,GAelB;EAbC,MAAM,EAAE,SAAS,EAAE,KAAK;IAL1B,AAAA,yBAAyB,CAAC;MAMtB,OAAO,EAAE,IAAI;MACb,eAAe,EAAE,aAAa;MAC9B,OAAO,EAAE,CAAC,GAUb;EAlBD,AAWE,yBAXuB,CAWvB,MAAM,CAAC;IACL,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,CAAC;IACT,mBAAmB,EAAE,IAAI;IACzB,OAAO,EAAE,MAAM,GAChB;;AClDH,AAAA,oBAAoB,CAAC;EACnB,OAAO,EbgEkB,IAAI,CADF,IAAI,GaoFhC;EApJD,AAGE,oBAHkB,CAGlB,cAAc,CAAC;IACb,MAAM,EAAE,CAAC,GAYV;IAhBH,AAMI,oBANgB,CAGlB,cAAc,CAGZ,aAAa,CAAC;MACZ,MAAM,EAAE,OAAO;MACf,cAAc,EAAE,GAAG;MACnB,WAAW,EAAE,MAAM,GACpB;IAVL,AAYI,oBAZgB,CAGlB,cAAc,CASZ,kBAAkB,CAAC;MACjB,mBAAmB,EAAE,GAAG;MACxB,UAAU,EAAE,IAAI,GACjB;EAfL,AAkBE,oBAlBkB,CAkBlB,gBAAgB,CAAC;IACf,QAAQ,EAAE,QAAQ,GA4BnB;IA/CH,AAqBI,oBArBgB,CAkBlB,gBAAgB,CAGd,oBAAoB,CAAC;MACnB,UAAU,EAAE,4CAA4C,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM;MAC/E,MAAM,EAAE,CAAC;MACT,MAAM,EAAE,OAAO;MACf,IAAI,EblBA,OAAO;MamBX,MAAM,Eb2Ee,IAAI;Ma1EzB,iBAAiB,EAAE,CAAC;MACpB,OAAO,EAAE,CAAC;MACV,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,CAAC;MACN,mBAAmB,EAAE,KAAK;MAC1B,mBAAmB,EAAE,OAAO;MAC5B,KAAK,EboEgB,IAAI,Ga/D1B;MAtCL,AAqBI,oBArBgB,CAkBlB,gBAAgB,CAGd,oBAAoB,AAclB,SAAW,CAAA,AAAA,OAAO,EAAE,AAAA,MAAM,EAAE,AAAA,MAAM,EAAE;QAClC,IAAI,Eb3BF,OAAO,Ga4BV;IArCP,AAwCI,oBAxCgB,CAkBlB,gBAAgB,CAsBd,aAAa,CAAC;MACZ,GAAG,EAAE,IAAI,GACV;IAED,MAAM,EAAE,SAAS,EAAE,MAAM;MA5C7B,Ab8KE,oBa9KkB,CAkBlB,gBAAgB,Cb4JhB,aAAa,CAAC;QACZ,iBAAiB,EAAE,GAAG;QACtB,mBAAmB,EAAE,IAAI;QACzB,iBAAiB,EAAE,CAAC;QACpB,mBAAmB,EAAE,IAAI,GAC1B;EanLH,AAoDM,oBApDc,AAiDlB,MAAO,CAEL,gBAAgB,CACd,oBAAoB,EApD1B,AAoDM,oBApDc,AAkDlB,OAAQ,CACN,gBAAgB,CACd,oBAAoB,CAAC;IACnB,OAAO,EAAE,CAAC,GACX;EAtDP,AA0DE,oBA1DkB,AA0DlB,OAAQ,CAAC;IACP,UAAU,EbvDJ,wBAAO;IawDb,aAAa,EAAE,GAAG,GAOnB;IAnEH,AA+DM,oBA/Dc,AA0DlB,OAAQ,CAIN,gBAAgB,CACd,oBAAoB,CAAC;MACnB,IAAI,EbvDF,OAAO,GawDV;EAjEP,AAqEE,oBArEkB,CAqElB,mBAAmB,CAAC;IAIlB,KAAK,EbjEC,OAAO;IakEb,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,QAAQ,GAoCnB;IAhHH,AA8EI,oBA9EgB,CAqElB,mBAAmB,CASjB,wBAAwB,CAAC;MACvB,OAAO,EAAE,YAAY;MACrB,UAAU,EATQ,IAAI;MAUtB,KAAK,EAAE,kBAAiC,GAKzC;MAHC,MAAM,EAAE,SAAS,EAAE,KAAK;QAnF9B,AA8EI,oBA9EgB,CAqElB,mBAAmB,CASjB,wBAAwB,CAAC;UAMrB,KAAK,EbKA,KAA6B,GaHrC;IAtFL,AAwFI,oBAxFgB,CAqElB,mBAAmB,CAmBjB,CAAC,CAAC;MACA,KAAK,Eb/ED,OAAO;MagFX,YAAY,EAAE,GAAG,GAClB;IA3FL,AA6FI,oBA7FgB,CAqElB,mBAAmB,CAwBjB,MAAM,CAAC;MACL,UAAU,Eb3FN,OAAO;Ma4FX,MAAM,EAAE,GAAG,CAAC,KAAK,CbzFb,OAAO;Ma0FX,aAAa,EAAE,GAAG;MAClB,MAAM,EAAE,OAAO;MACf,UAAU,EAAE,GAAG;MACf,SAAS,EA7BQ,KAAK;MA8BtB,UAAU,EA7BQ,IAAI;MA8BtB,iBAAiB,EAAE,CAAC,GAUrB;MA/GL,AA6FI,oBA7FgB,CAqElB,mBAAmB,CAwBjB,MAAM,AAUJ,MAAO,AAAA,IAAK,CAAA,AAAA,QAAQ,EAAE;QACpB,UAAU,EbvDD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CA5ChB,OAAO;QaoGT,UAAU,EAAE,gBAAgB,GAC7B;MAED,MAAM,EAAE,SAAS,EAAE,KAAK;QA5G9B,AA6FI,oBA7FgB,CAqElB,mBAAmB,CAwBjB,MAAM,CAAC;UAgBH,QAAQ,EAAE,QAAQ,GAErB;EA/GL,AAkHE,oBAlHkB,CAkHlB,sBAAsB,CAAC;IACrB,MAAM,EbzBI,KAAK,Ga0BhB;EApHH,AAsHE,oBAtHkB,CAsHlB,aAAa,CAAC;IAGZ,MAAM,EAAE,CAAC,CADY,IAAG;IAExB,OAAO,EAAE,CAAC,CAFW,GAAG,GAQzB;IAhIH,AAsHE,oBAtHkB,CAsHlB,aAAa,AAMX,UAAW,CAAC;MACV,QAAQ,EAAE,MAAM;MAChB,cAAc,EAAE,IAAI,GACrB;EA/HL,AAoIM,oBApIc,AAkIlB,kBAAmB,CACjB,cAAc,CACZ,kBAAkB,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC,IAAI,CblGlB,8BAA8B,GamGvC;EAtIP,AAyII,oBAzIgB,AAkIlB,kBAAmB,CAOjB,aAAa,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC,IAAI,CbvGjB,8BAA8B,GawGzC;EA3IL,AA+II,oBA/IgB,AA8IlB,UAAW,CACT,aAAa,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,MAAM,GACjB"
+	"mappings": "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"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-mac.css
+++ b/browser/extensions/activity-stream/css/activity-stream-mac.css
@@ -790,16 +790,19 @@ main {
           background: #0060DF;
           color: #FFF; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover) a {
             color: #0C0C0D; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover) .icon {
             fill: #FFF; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover):-moz-any(:focus, :hover) {
             color: #FFF; }
+        .context-menu > ul > li > a.disabled {
+          opacity: 0.4;
+          pointer-events: none; }
 
 .prefs-pane {
   color: #4A4A4F;
   font-size: 14px;
   line-height: 21px; }
   .prefs-pane .sidebar {
     background: #FFF;
     border-left: 1px solid #D7D7DB;
@@ -1128,18 +1131,35 @@ main {
     text-overflow: ellipsis;
     white-space: nowrap; }
 
 @media (min-width: 1122px) {
   .wide-layout-enabled .card-outer {
     height: 370px; }
     .wide-layout-enabled .card-outer .card-preview-image-outer {
       height: 155px; }
+    .wide-layout-enabled .card-outer .card-details {
+      padding: 13px 16px 12px; }
     .wide-layout-enabled .card-outer .card-text {
-      max-height: 135px; } }
+      max-height: 140px; }
+    .wide-layout-enabled .card-outer .card-host-name {
+      font-size: 12px;
+      padding-bottom: 5px; }
+    .wide-layout-enabled .card-outer .card-title {
+      font-size: 17px;
+      line-height: 23px;
+      margin-bottom: 0; }
+    .wide-layout-enabled .card-outer .card-text:not(.no-description) .card-title {
+      max-height: 69px; }
+    .wide-layout-enabled .card-outer .card-description {
+      font-size: 15px;
+      line-height: 23px; }
+    .wide-layout-enabled .card-outer .card-context {
+      bottom: 4px;
+      font-size: 14px; } }
 
 .manual-migration-container {
   color: #4A4A4F;
   font-size: 13px;
   line-height: 15px;
   margin-bottom: 20px;
   text-align: center; }
   @media (min-width: 610px) {
@@ -1175,17 +1195,20 @@ main {
   .manual-migration-actions button {
     align-self: center;
     height: 26px;
     margin: 0;
     margin-inline-start: 20px;
     padding: 0 12px; }
 
 .collapsible-section {
-  padding: 10px 25px; }
+  padding: 10px 25px;
+  transition-delay: 100ms;
+  transition-duration: 100ms;
+  transition-property: background-color; }
   .collapsible-section .section-title {
     margin: 0; }
     .collapsible-section .section-title .click-target {
       cursor: pointer;
       vertical-align: top;
       white-space: nowrap; }
     .collapsible-section .section-title .collapsible-arrow {
       margin-inline-start: 8px;
@@ -1201,17 +1224,18 @@ main {
       offset-inline-end: 0;
       opacity: 0;
       position: absolute;
       top: 0;
       transition-duration: 200ms;
       transition-property: opacity;
       width: 27px; }
       .collapsible-section .section-top-bar .context-menu-button:-moz-any(:active, :focus, :hover) {
-        fill: #0C0C0D; }
+        fill: #0C0C0D;
+        opacity: 1; }
     .collapsible-section .section-top-bar .context-menu {
       top: 16px; }
     @media (max-width: 1458px) {
       .collapsible-section .section-top-bar .context-menu {
         margin-inline-end: 5px;
         margin-inline-start: auto;
         offset-inline-end: 0;
         offset-inline-start: auto; } }
--- a/browser/extensions/activity-stream/css/activity-stream-mac.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-mac.css.map
@@ -27,18 +27,18 @@
 		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$grey-20-60: rgba($grey-20, 0.6);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Aliases and derived styles based on Photon colors for common usage\n$background-primary: $grey-10;\n$background-secondary: $grey-20;\n$border-primary: 1px solid $grey-40;\n$border-secondary: 1px solid $grey-30;\n$fill-primary: $grey-90-80;\n$fill-secondary: $grey-90-60;\n$fill-tertiary: $grey-30;\n$input-primary: $blue-60;\n$input-secondary: $grey-10;\n$link-primary: $blue-60;\n$link-secondary: $teal-70;\n$shadow-primary: 0 0 0 5px $grey-30;\n$shadow-secondary: 0 1px 4px 0 $grey-90-10;\n$text-primary: $grey-90;\n$text-conditional: $grey-60;\n$text-secondary: $grey-50;\n$input-border: solid 1px $grey-90-20;\n$input-border-active: solid 1px $blue-50;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 2px rgba($red-60, 0.35);\n$input-focus-boxshadow: 0 0 0 2px rgba($blue-50, 0.35);\n\n$white: #FFF;\n$border-radius: 3px;\n\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-border-color: $black-20;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $context-menu-border-color;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$inner-box-shadow: 0 0 0 1px $black-10;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: $white;\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: $fill-primary;\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
 		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: $fill-primary;\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: $fill-secondary;\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-pocket-small {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n    background-size: $smaller-icon-size;\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
 		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: $text-conditional;\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: $text-conditional;\n    text-decoration: underline;\n  }\n}\n\n",
 		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, $shadow-secondary;\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: $text-secondary;\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: $background-primary;\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: $rich-icon-size;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: $fill-tertiary;\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    offset-inline-start: -31px;\n    position: absolute;\n    top: -29px;\n    width: calc(100% + 62px);\n    box-shadow: $shadow-secondary;\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing $form-spacing 40px;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n\n        & + input:dir(ltr) {\n          padding-right: 32px;\n        }\n\n        & + input:dir(rtl) {\n          padding-left: 32px;\n        }\n      }\n    }\n\n    .url input:not(:placeholder-shown):dir(rtl) {\n      direction: ltr;\n      text-align: right;\n    }\n\n    input {\n      &[type='text'] {\n        border: $input-border;\n        border-radius: 2px;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: $input-focus-boxshadow;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: $fill-secondary;\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: $text-secondary;\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .sections-list {\n    .section-list {\n      @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n        :nth-child(3n) {\n          @include context-menu-open-left;\n        }\n      }\n\n      @media (min-width: $break-point-widest) {\n        grid-template-columns: repeat(auto-fit, $card-width-large);\n      }\n    }\n  }\n\n  .section-empty-state {\n    height: $card-height-large;\n  }\n}\n",
 		".topic {\n  color: $text-secondary;\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: $link-secondary;\n  }\n\n  .topic-read-more {\n    color: $link-secondary;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: $link-secondary;\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
 		".search-wrapper {\n  $search-border-radius: 3px;\n  $search-focus-color: $blue-50;\n  $search-height: 35px;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  $search-glyph-fill: $grey-90-40;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  // The extra 1px is to account for the box-shadow being outside of the element\n  // instead of inside. It needs to be like that to not overlap the inner background\n  // color of the hover state of the submit button.\n  margin: 1px 1px $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    border: 0;\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    box-shadow: 0 0 0 $os-search-focus-shadow-radius $search-focus-color;\n  }\n\n  .search-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable { // sass-lint:disable-line class-name-format\n    border: 0;\n    transform: translateY(2px);\n  }\n}\n",
-		".context-menu {\n  background: $background-primary;\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: 1px solid $context-menu-border-color;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n      }\n    }\n  }\n}\n",
+		".context-menu {\n  background: $background-primary;\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: 1px solid $context-menu-border-color;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
 		".prefs-pane {\n  $options-spacing: 10px;\n  $prefs-spacing: 20px;\n  $prefs-width: 400px;\n\n  color: $text-conditional;\n  font-size: 14px;\n  line-height: 21px;\n\n  .sidebar {\n    background: $white;\n    border-left: $border-secondary;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n    offset-inline-end: 0;\n    overflow-y: auto;\n    padding: 40px;\n    position: fixed;\n    top: 0;\n    transition: 0.1s cubic-bezier(0, 0, 0, 1);\n    transition-property: transform;\n    width: $prefs-width;\n    z-index: 12000;\n\n    &.hidden {\n      transform: translateX(100%);\n\n      &:dir(rtl) {\n        transform: translateX(-100%);\n      }\n    }\n\n    h1 {\n      font-size: 21px;\n      margin: 0;\n      padding-top: $prefs-spacing;\n    }\n  }\n\n  hr {\n    border: 0;\n    border-bottom: $border-secondary;\n    margin: 20px 0;\n  }\n\n  .prefs-modal-inner-wrapper {\n    padding-bottom: 100px;\n\n    section {\n      margin: $prefs-spacing 0;\n\n      p {\n        margin: 5px 0 20px 30px;\n      }\n\n      label {\n        display: inline-block;\n        position: relative;\n        width: 100%;\n\n        input {\n          offset-inline-start: -30px;\n          position: absolute;\n          top: 0;\n        }\n      }\n\n      > label {\n        font-size: 16px;\n        font-weight: bold;\n        line-height: 19px;\n      }\n    }\n\n    .options {\n      background: $background-primary;\n      border: $border-secondary;\n      border-radius: 2px;\n      margin: -$options-spacing 0 $prefs-spacing;\n      margin-inline-start: 30px;\n      padding: $options-spacing;\n\n      &.disabled {\n        opacity: 0.5;\n      }\n\n      label {\n        $icon-offset-start: 35px;\n        background-position-x: $icon-offset-start;\n        background-position-y: 2.5px;\n        background-repeat: no-repeat;\n        display: inline-block;\n        font-size: 14px;\n        font-weight: normal;\n        height: auto;\n        line-height: 21px;\n        width: 100%;\n\n        &:dir(rtl) {\n          background-position-x: right $icon-offset-start;\n        }\n      }\n\n      [type='checkbox']:not(:checked) + label,\n      [type='checkbox']:checked + label {\n        padding-inline-start: 63px;\n      }\n\n      section {\n        margin: 0;\n      }\n    }\n  }\n\n  .actions {\n    background-color: $background-primary;\n    border-left: $border-secondary;\n    bottom: 0;\n    offset-inline-end: 0;\n    position: fixed;\n    width: $prefs-width;\n\n    button {\n      margin-inline-end: $prefs-spacing;\n    }\n  }\n\n  // CSS styled checkbox\n  [type='checkbox']:not(:checked),\n  [type='checkbox']:checked {\n    offset-inline-start: -9999px;\n    position: absolute;\n  }\n\n  [type='checkbox']:not(:disabled):not(:checked) + label,\n  [type='checkbox']:not(:disabled):checked + label {\n    cursor: pointer;\n    padding: 0 30px;\n    position: relative;\n  }\n\n  [type='checkbox']:not(:checked) + label::before,\n  [type='checkbox']:checked + label::before {\n    background: $white;\n    border: $border-primary;\n    border-radius: $border-radius;\n    content: '';\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark\n  [type='checkbox']:not(:checked) + label::after,\n  [type='checkbox']:checked + label::after {\n    background: url('chrome://global/skin/in-content/check.svg') no-repeat center center; // sass-lint:disable-line no-url-domains\n    content: '';\n    -moz-context-properties: fill, stroke;\n    fill: $input-primary;\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    stroke: none;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark changes\n  [type='checkbox']:not(:checked) + label::after {\n    opacity: 0;\n  }\n\n  [type='checkbox']:checked + label::after {\n    opacity: 1;\n  }\n\n  // hover\n  [type='checkbox']:not(:disabled) + label:hover::before {\n    border: 1px solid $input-primary;\n  }\n\n  // accessibility\n  [type='checkbox']:not(:disabled):checked:focus + label::before,\n  [type='checkbox']:not(:disabled):not(:checked):focus + label::before {\n    border: 1px dotted $input-primary;\n  }\n}\n\n.prefs-pane-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: $background-secondary;\n  height: 100%;\n  left: 0;\n  opacity: 0.8;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: $white;\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
-		".card-outer {\n  @include context-menu-button;\n  background: $white;\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: $link-primary;\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid $black-5;\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: $text-secondary;\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-title {\n    font-size: 14px;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-text {\n        max-height: 7 * $card-text-line-height + $card-title-margin;\n      }\n    }\n  }\n}\n",
+		".card-outer {\n  @include context-menu-button;\n  background: $white;\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: $link-primary;\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid $black-5;\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: $text-secondary;\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-title {\n    font-size: 14px;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  $line-height: 23px;\n\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-details {\n        padding: 13px 16px 12px;\n      }\n\n      .card-text {\n        max-height: 6 * $line-height + $card-title-margin;\n      }\n\n      .card-host-name {\n        font-size: 12px;\n        padding-bottom: 5px;\n      }\n\n      .card-title {\n        font-size: 17px;\n        line-height: $line-height;\n        margin-bottom: 0;\n      }\n\n      .card-text:not(.no-description) {\n        .card-title {\n          max-height: 3 * $line-height;\n        }\n      }\n\n      .card-description {\n        font-size: 15px;\n        line-height: $line-height;\n      }\n\n      .card-context {\n        bottom: 4px;\n        font-size: 14px;\n      }\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: $text-conditional;\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: $fill-secondary;\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
-		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n\n  .section-title {\n    margin: 0;\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: $grey-50;\n      height: $context-menu-button-size;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: $grey-20-60;\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: $grey-90;\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n"
+		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    margin: 0;\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: $grey-50;\n      height: $context-menu-button-size;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: $grey-20-60;\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: $grey-90;\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-windows.css
+++ b/browser/extensions/activity-stream/css/activity-stream-windows.css
@@ -790,16 +790,19 @@ main {
           background: #0060DF;
           color: #FFF; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover) a {
             color: #0C0C0D; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover) .icon {
             fill: #FFF; }
           .context-menu > ul > li > a:-moz-any(:focus, :hover):-moz-any(:focus, :hover) {
             color: #FFF; }
+        .context-menu > ul > li > a.disabled {
+          opacity: 0.4;
+          pointer-events: none; }
 
 .prefs-pane {
   color: #4A4A4F;
   font-size: 14px;
   line-height: 21px; }
   .prefs-pane .sidebar {
     background: #FFF;
     border-left: 1px solid #D7D7DB;
@@ -1128,18 +1131,35 @@ main {
     text-overflow: ellipsis;
     white-space: nowrap; }
 
 @media (min-width: 1122px) {
   .wide-layout-enabled .card-outer {
     height: 370px; }
     .wide-layout-enabled .card-outer .card-preview-image-outer {
       height: 155px; }
+    .wide-layout-enabled .card-outer .card-details {
+      padding: 13px 16px 12px; }
     .wide-layout-enabled .card-outer .card-text {
-      max-height: 135px; } }
+      max-height: 140px; }
+    .wide-layout-enabled .card-outer .card-host-name {
+      font-size: 12px;
+      padding-bottom: 5px; }
+    .wide-layout-enabled .card-outer .card-title {
+      font-size: 17px;
+      line-height: 23px;
+      margin-bottom: 0; }
+    .wide-layout-enabled .card-outer .card-text:not(.no-description) .card-title {
+      max-height: 69px; }
+    .wide-layout-enabled .card-outer .card-description {
+      font-size: 15px;
+      line-height: 23px; }
+    .wide-layout-enabled .card-outer .card-context {
+      bottom: 4px;
+      font-size: 14px; } }
 
 .manual-migration-container {
   color: #4A4A4F;
   font-size: 13px;
   line-height: 15px;
   margin-bottom: 20px;
   text-align: center; }
   @media (min-width: 610px) {
@@ -1175,17 +1195,20 @@ main {
   .manual-migration-actions button {
     align-self: center;
     height: 26px;
     margin: 0;
     margin-inline-start: 20px;
     padding: 0 12px; }
 
 .collapsible-section {
-  padding: 10px 25px; }
+  padding: 10px 25px;
+  transition-delay: 100ms;
+  transition-duration: 100ms;
+  transition-property: background-color; }
   .collapsible-section .section-title {
     margin: 0; }
     .collapsible-section .section-title .click-target {
       cursor: pointer;
       vertical-align: top;
       white-space: nowrap; }
     .collapsible-section .section-title .collapsible-arrow {
       margin-inline-start: 8px;
@@ -1201,17 +1224,18 @@ main {
       offset-inline-end: 0;
       opacity: 0;
       position: absolute;
       top: 0;
       transition-duration: 200ms;
       transition-property: opacity;
       width: 27px; }
       .collapsible-section .section-top-bar .context-menu-button:-moz-any(:active, :focus, :hover) {
-        fill: #0C0C0D; }
+        fill: #0C0C0D;
+        opacity: 1; }
     .collapsible-section .section-top-bar .context-menu {
       top: 16px; }
     @media (max-width: 1458px) {
       .collapsible-section .section-top-bar .context-menu {
         margin-inline-end: 5px;
         margin-inline-start: auto;
         offset-inline-end: 0;
         offset-inline-start: auto; } }
--- a/browser/extensions/activity-stream/css/activity-stream-windows.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-windows.css.map
@@ -27,18 +27,18 @@
 		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$grey-20-60: rgba($grey-20, 0.6);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Aliases and derived styles based on Photon colors for common usage\n$background-primary: $grey-10;\n$background-secondary: $grey-20;\n$border-primary: 1px solid $grey-40;\n$border-secondary: 1px solid $grey-30;\n$fill-primary: $grey-90-80;\n$fill-secondary: $grey-90-60;\n$fill-tertiary: $grey-30;\n$input-primary: $blue-60;\n$input-secondary: $grey-10;\n$link-primary: $blue-60;\n$link-secondary: $teal-70;\n$shadow-primary: 0 0 0 5px $grey-30;\n$shadow-secondary: 0 1px 4px 0 $grey-90-10;\n$text-primary: $grey-90;\n$text-conditional: $grey-60;\n$text-secondary: $grey-50;\n$input-border: solid 1px $grey-90-20;\n$input-border-active: solid 1px $blue-50;\n$input-error-border: solid 1px $red-60;\n$input-error-boxshadow: 0 0 0 2px rgba($red-60, 0.35);\n$input-focus-boxshadow: 0 0 0 2px rgba($blue-50, 0.35);\n\n$white: #FFF;\n$border-radius: 3px;\n\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-border-color: $black-20;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $context-menu-border-color;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$inner-box-shadow: 0 0 0 1px $black-10;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: $white;\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: $fill-primary;\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
 		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: $fill-primary;\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: $fill-secondary;\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-modal-delete {\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-pocket-small {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n    background-size: $smaller-icon-size;\n  }\n\n  &.icon-historyItem { // sass-lint:disable-line class-name-format\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
 		".outer-wrapper {\n  display: flex;\n  flex-grow: 1;\n  height: 100%;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    height: auto;\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.wide-layout-enabled {\n  main {\n    @media (min-width: $break-point-widest) {\n      width: $wrapper-max-width-widest;\n    }\n  }\n}\n\n.section-top-bar {\n  height: 16px;\n  margin-bottom: 16px;\n}\n\n.section-title {\n  font-size: $section-title-font-size;\n  font-weight: bold;\n  text-transform: uppercase;\n\n  span {\n    color: $text-secondary;\n    fill: $text-secondary;\n    vertical-align: middle;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: $text-conditional;\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: $text-conditional;\n    text-decoration: underline;\n  }\n}\n\n",
 		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, $shadow-secondary;\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: $text-secondary;\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: $background-primary;\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: $rich-icon-size;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: $fill-tertiary;\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n// Always hide .hide-for-narrow if wide layout is disabled\n.wide-layout-disabled {\n  .top-sites-list {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .top-sites-list {\n    // Eight columns\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(8n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n      :nth-child(8n+7) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media not all and (min-width: $break-point-widest) {\n      .hide-for-narrow {\n        display: none;\n      }\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    offset-inline-start: -31px;\n    position: absolute;\n    top: -29px;\n    width: calc(100% + 62px);\n    box-shadow: $shadow-secondary;\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing $form-spacing 40px;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n\n        & + input:dir(ltr) {\n          padding-right: 32px;\n        }\n\n        & + input:dir(rtl) {\n          padding-left: 32px;\n        }\n      }\n    }\n\n    .url input:not(:placeholder-shown):dir(rtl) {\n      direction: ltr;\n      text-align: right;\n    }\n\n    input {\n      &[type='text'] {\n        border: $input-border;\n        border-radius: 2px;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: $input-focus-boxshadow;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: $fill-secondary;\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: $text-secondary;\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n  }\n}\n\n.wide-layout-enabled {\n  .sections-list {\n    .section-list {\n      @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n        :nth-child(3n) {\n          @include context-menu-open-left;\n        }\n      }\n\n      @media (min-width: $break-point-widest) {\n        grid-template-columns: repeat(auto-fit, $card-width-large);\n      }\n    }\n  }\n\n  .section-empty-state {\n    height: $card-height-large;\n  }\n}\n",
 		".topic {\n  color: $text-secondary;\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: $link-secondary;\n  }\n\n  .topic-read-more {\n    color: $link-secondary;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: $link-secondary;\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
 		".search-wrapper {\n  $search-border-radius: 3px;\n  $search-focus-color: $blue-50;\n  $search-height: 35px;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $search-glyph-image: url('chrome://browser/skin/search-glass.svg');\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n  $search-glyph-size: 16px;\n  $search-glyph-fill: $grey-90-40;\n  // This is positioned so it is visually (not metrically) centered. r=abenson\n  $search-glyph-left-position: 12px;\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  // The extra 1px is to account for the box-shadow being outside of the element\n  // instead of inside. It needs to be like that to not overlap the inner background\n  // color of the hover state of the submit button.\n  margin: 1px 1px $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    border: 0;\n    border-radius: $search-border-radius;\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-input-left-label-width;\n    width: 100%;\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    box-shadow: 0 0 0 $os-search-focus-shadow-radius $search-focus-color;\n  }\n\n  .search-label {\n    background: $search-glyph-image no-repeat $search-glyph-left-position center / $search-glyph-size;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-start: 0;\n    position: absolute;\n    width: $search-input-left-label-width;\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: $search-glyph-fill;\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable { // sass-lint:disable-line class-name-format\n    border: 0;\n    transform: translateY(2px);\n  }\n}\n",
-		".context-menu {\n  background: $background-primary;\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: 1px solid $context-menu-border-color;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n      }\n    }\n  }\n}\n",
+		".context-menu {\n  background: $background-primary;\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: 1px solid $context-menu-border-color;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: $input-primary;\n          color: $white;\n\n          a {\n            color: $grey-90;\n          }\n\n          .icon {\n            fill: $white;\n          }\n\n          &:-moz-any(:focus, :hover) {\n            color: $white;\n          }\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
 		".prefs-pane {\n  $options-spacing: 10px;\n  $prefs-spacing: 20px;\n  $prefs-width: 400px;\n\n  color: $text-conditional;\n  font-size: 14px;\n  line-height: 21px;\n\n  .sidebar {\n    background: $white;\n    border-left: $border-secondary;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n    offset-inline-end: 0;\n    overflow-y: auto;\n    padding: 40px;\n    position: fixed;\n    top: 0;\n    transition: 0.1s cubic-bezier(0, 0, 0, 1);\n    transition-property: transform;\n    width: $prefs-width;\n    z-index: 12000;\n\n    &.hidden {\n      transform: translateX(100%);\n\n      &:dir(rtl) {\n        transform: translateX(-100%);\n      }\n    }\n\n    h1 {\n      font-size: 21px;\n      margin: 0;\n      padding-top: $prefs-spacing;\n    }\n  }\n\n  hr {\n    border: 0;\n    border-bottom: $border-secondary;\n    margin: 20px 0;\n  }\n\n  .prefs-modal-inner-wrapper {\n    padding-bottom: 100px;\n\n    section {\n      margin: $prefs-spacing 0;\n\n      p {\n        margin: 5px 0 20px 30px;\n      }\n\n      label {\n        display: inline-block;\n        position: relative;\n        width: 100%;\n\n        input {\n          offset-inline-start: -30px;\n          position: absolute;\n          top: 0;\n        }\n      }\n\n      > label {\n        font-size: 16px;\n        font-weight: bold;\n        line-height: 19px;\n      }\n    }\n\n    .options {\n      background: $background-primary;\n      border: $border-secondary;\n      border-radius: 2px;\n      margin: -$options-spacing 0 $prefs-spacing;\n      margin-inline-start: 30px;\n      padding: $options-spacing;\n\n      &.disabled {\n        opacity: 0.5;\n      }\n\n      label {\n        $icon-offset-start: 35px;\n        background-position-x: $icon-offset-start;\n        background-position-y: 2.5px;\n        background-repeat: no-repeat;\n        display: inline-block;\n        font-size: 14px;\n        font-weight: normal;\n        height: auto;\n        line-height: 21px;\n        width: 100%;\n\n        &:dir(rtl) {\n          background-position-x: right $icon-offset-start;\n        }\n      }\n\n      [type='checkbox']:not(:checked) + label,\n      [type='checkbox']:checked + label {\n        padding-inline-start: 63px;\n      }\n\n      section {\n        margin: 0;\n      }\n    }\n  }\n\n  .actions {\n    background-color: $background-primary;\n    border-left: $border-secondary;\n    bottom: 0;\n    offset-inline-end: 0;\n    position: fixed;\n    width: $prefs-width;\n\n    button {\n      margin-inline-end: $prefs-spacing;\n    }\n  }\n\n  // CSS styled checkbox\n  [type='checkbox']:not(:checked),\n  [type='checkbox']:checked {\n    offset-inline-start: -9999px;\n    position: absolute;\n  }\n\n  [type='checkbox']:not(:disabled):not(:checked) + label,\n  [type='checkbox']:not(:disabled):checked + label {\n    cursor: pointer;\n    padding: 0 30px;\n    position: relative;\n  }\n\n  [type='checkbox']:not(:checked) + label::before,\n  [type='checkbox']:checked + label::before {\n    background: $white;\n    border: $border-primary;\n    border-radius: $border-radius;\n    content: '';\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark\n  [type='checkbox']:not(:checked) + label::after,\n  [type='checkbox']:checked + label::after {\n    background: url('chrome://global/skin/in-content/check.svg') no-repeat center center; // sass-lint:disable-line no-url-domains\n    content: '';\n    -moz-context-properties: fill, stroke;\n    fill: $input-primary;\n    height: 21px;\n    offset-inline-start: 0;\n    position: absolute;\n    stroke: none;\n    top: 0;\n    width: 21px;\n  }\n\n  // checkmark changes\n  [type='checkbox']:not(:checked) + label::after {\n    opacity: 0;\n  }\n\n  [type='checkbox']:checked + label::after {\n    opacity: 1;\n  }\n\n  // hover\n  [type='checkbox']:not(:disabled) + label:hover::before {\n    border: 1px solid $input-primary;\n  }\n\n  // accessibility\n  [type='checkbox']:not(:disabled):checked:focus + label::before,\n  [type='checkbox']:not(:disabled):not(:checked):focus + label::before {\n    border: 1px dotted $input-primary;\n  }\n}\n\n.prefs-pane-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: $fill-secondary;\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover {\n      background-color: $background-secondary;\n    }\n\n    &:active {\n      background-color: $background-primary;\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: $background-secondary;\n  height: 100%;\n  left: 0;\n  opacity: 0.8;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: $white;\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
-		".card-outer {\n  @include context-menu-button;\n  background: $white;\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: $link-primary;\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid $black-5;\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: $text-secondary;\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-title {\n    font-size: 14px;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-text {\n        max-height: 7 * $card-text-line-height + $card-title-margin;\n      }\n    }\n  }\n}\n",
+		".card-outer {\n  @include context-menu-button;\n  background: $white;\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: $shadow-secondary;\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: $link-primary;\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: $link-primary;\n    }\n  }\n\n  .card-preview-image-outer {\n    background-color: $background-primary;\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid $black-5;\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: $text-secondary;\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-title {\n    font-size: 14px;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: $text-secondary;\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 12px 16px 12px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: $fill-secondary;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: $icon-size;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.wide-layout-enabled {\n  $line-height: 23px;\n\n  .card-outer {\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n\n      .card-preview-image-outer {\n        height: $card-preview-image-height-large;\n      }\n\n      .card-details {\n        padding: 13px 16px 12px;\n      }\n\n      .card-text {\n        max-height: 6 * $line-height + $card-title-margin;\n      }\n\n      .card-host-name {\n        font-size: 12px;\n        padding-bottom: 5px;\n      }\n\n      .card-title {\n        font-size: 17px;\n        line-height: $line-height;\n        margin-bottom: 0;\n      }\n\n      .card-text:not(.no-description) {\n        .card-title {\n          max-height: 3 * $line-height;\n        }\n      }\n\n      .card-description {\n        font-size: 15px;\n        line-height: $line-height;\n      }\n\n      .card-context {\n        bottom: 4px;\n        font-size: 14px;\n      }\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: $text-conditional;\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: $fill-secondary;\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
-		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n\n  .section-title {\n    margin: 0;\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: $grey-50;\n      height: $context-menu-button-size;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: $grey-20-60;\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: $grey-90;\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n"
+		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    margin: 0;\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: $grey-50;\n      height: $context-menu-button-size;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: $grey-20-60;\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: $grey-90;\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: $grey-60;\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: $link-secondary;\n      padding-left: 3px;\n    }\n\n    button {\n      background: $grey-10;\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
@@ -101,17 +101,17 @@ const globalImportContext = typeof Windo
 // {
 //   INIT: "INIT",
 //   UNINIT: "UNINIT"
 // }
 const actionTypes = {};
 /* harmony export (immutable) */ __webpack_exports__["b"] = actionTypes;
 
 
-for (const type of ["ARCHIVE_FROM_POCKET", "BLOCK_URL", "BOOKMARK_URL", "DELETE_BOOKMARK_BY_ID", "DELETE_FROM_POCKET", "DELETE_HISTORY_URL", "DELETE_HISTORY_URL_CONFIRM", "DIALOG_CANCEL", "DIALOG_OPEN", "DISABLE_ONBOARDING", "INIT", "MIGRATION_CANCEL", "MIGRATION_COMPLETED", "MIGRATION_START", "NEW_TAB_INIT", "NEW_TAB_INITIAL_STATE", "NEW_TAB_LOAD", "NEW_TAB_REHYDRATED", "NEW_TAB_STATE_REQUEST", "NEW_TAB_UNLOAD", "OPEN_LINK", "OPEN_NEW_WINDOW", "OPEN_PRIVATE_WINDOW", "PAGE_PRERENDERED", "PLACES_BOOKMARK_ADDED", "PLACES_BOOKMARK_CHANGED", "PLACES_BOOKMARK_REMOVED", "PLACES_HISTORY_CLEARED", "PLACES_LINKS_DELETED", "PLACES_LINK_BLOCKED", "PLACES_SAVED_TO_POCKET", "PREFS_INITIAL_VALUES", "PREF_CHANGED", "RICH_ICON_MISSING", "SAVE_SESSION_PERF_DATA", "SAVE_TO_POCKET", "SCREENSHOT_UPDATED", "SECTION_DEREGISTER", "SECTION_DISABLE", "SECTION_ENABLE", "SECTION_OPTIONS_CHANGED", "SECTION_REGISTER", "SECTION_UPDATE", "SECTION_UPDATE_CARD", "SETTINGS_CLOSE", "SETTINGS_OPEN", "SET_PREF", "SHOW_FIREFOX_ACCOUNTS", "SNIPPETS_BLOCKLIST_UPDATED", "SNIPPETS_DATA", "SNIPPETS_RESET", "SNIPPET_BLOCKED", "SYSTEM_TICK", "TELEMETRY_IMPRESSION_STATS", "TELEMETRY_PERFORMANCE_EVENT", "TELEMETRY_UNDESIRED_EVENT", "TELEMETRY_USER_EVENT", "TOP_SITES_CANCEL_EDIT", "TOP_SITES_EDIT", "TOP_SITES_INSERT", "TOP_SITES_PIN", "TOP_SITES_UNPIN", "TOP_SITES_UPDATED", "TOTAL_BOOKMARKS_REQUEST", "TOTAL_BOOKMARKS_RESPONSE", "UNINIT", "WEBEXT_CLICK", "WEBEXT_DISMISS"]) {
+for (const type of ["ARCHIVE_FROM_POCKET", "BLOCK_URL", "BOOKMARK_URL", "DELETE_BOOKMARK_BY_ID", "DELETE_FROM_POCKET", "DELETE_HISTORY_URL", "DELETE_HISTORY_URL_CONFIRM", "DIALOG_CANCEL", "DIALOG_OPEN", "DISABLE_ONBOARDING", "INIT", "MIGRATION_CANCEL", "MIGRATION_COMPLETED", "MIGRATION_START", "NEW_TAB_INIT", "NEW_TAB_INITIAL_STATE", "NEW_TAB_LOAD", "NEW_TAB_REHYDRATED", "NEW_TAB_STATE_REQUEST", "NEW_TAB_UNLOAD", "OPEN_LINK", "OPEN_NEW_WINDOW", "OPEN_PRIVATE_WINDOW", "PAGE_PRERENDERED", "PLACES_BOOKMARK_ADDED", "PLACES_BOOKMARK_CHANGED", "PLACES_BOOKMARK_REMOVED", "PLACES_HISTORY_CLEARED", "PLACES_LINKS_DELETED", "PLACES_LINK_BLOCKED", "PLACES_SAVED_TO_POCKET", "PREFS_INITIAL_VALUES", "PREF_CHANGED", "RICH_ICON_MISSING", "SAVE_SESSION_PERF_DATA", "SAVE_TO_POCKET", "SCREENSHOT_UPDATED", "SECTION_DEREGISTER", "SECTION_DISABLE", "SECTION_ENABLE", "SECTION_MOVE", "SECTION_OPTIONS_CHANGED", "SECTION_REGISTER", "SECTION_UPDATE", "SECTION_UPDATE_CARD", "SETTINGS_CLOSE", "SETTINGS_OPEN", "SET_PREF", "SHOW_FIREFOX_ACCOUNTS", "SNIPPETS_BLOCKLIST_CLEARED", "SNIPPETS_BLOCKLIST_UPDATED", "SNIPPETS_DATA", "SNIPPETS_RESET", "SNIPPET_BLOCKED", "SYSTEM_TICK", "TELEMETRY_IMPRESSION_STATS", "TELEMETRY_PERFORMANCE_EVENT", "TELEMETRY_UNDESIRED_EVENT", "TELEMETRY_USER_EVENT", "TOP_SITES_CANCEL_EDIT", "TOP_SITES_EDIT", "TOP_SITES_INSERT", "TOP_SITES_PIN", "TOP_SITES_UNPIN", "TOP_SITES_UPDATED", "TOTAL_BOOKMARKS_REQUEST", "TOTAL_BOOKMARKS_RESPONSE", "UNINIT", "WEBEXT_CLICK", "WEBEXT_DISMISS"]) {
   actionTypes[type] = type;
 }
 
 // Helper function for creating routed actions between content and main
 // Not intended to be used by consumers
 function _RouteMessage(action, options) {
   const meta = action.meta ? Object.assign({}, action.meta) : {};
   if (!options || !options.from || !options.to) {
@@ -644,38 +644,21 @@ function Sections(prevState = INITIAL_ST
       // If section exists in prevState, update it
       newState = prevState.map(section => {
         if (section && section.id === action.data.id) {
           hasMatch = true;
           return Object.assign({}, section, action.data);
         }
         return section;
       });
-
-      // Invariant: Sections array sorted in increasing order of property `order`.
-      // If section doesn't exist in prevState, create a new section object. If
-      // the section has an order, insert it at the correct place in the array.
-      // Otherwise, prepend it and set the order to be minimal.
+      // Otherwise, append it
       if (!hasMatch) {
         const initialized = !!(action.data.rows && action.data.rows.length > 0);
-        let order;
-        let index;
-        if (prevState.length > 0) {
-          order = action.data.order !== undefined ? action.data.order : prevState[0].order - 1;
-          index = newState.findIndex(section => section.order >= order);
-          if (index === -1) {
-            index = newState.length;
-          }
-        } else {
-          order = action.data.order !== undefined ? action.data.order : 0;
-          index = 0;
-        }
-
-        const section = Object.assign({ title: "", rows: [], order, enabled: false }, action.data, { initialized });
-        newState.splice(index, 0, section);
+        const section = Object.assign({ title: "", rows: [], enabled: false }, action.data, { initialized });
+        newState.push(section);
       }
       return newState;
     case Actions["b" /* actionTypes */].SECTION_UPDATE:
       newState = prevState.map(section => {
         if (section && section.id === action.data.id) {
           // If the action is updating rows, we should consider initialized to be true.
           // This can be overridden if initialized is defined in the action.data
           const initialized = action.data.rows ? { initialized: true } : {};
@@ -798,16 +781,20 @@ function Sections(prevState = INITIAL_ST
       return prevState;
   }
 }
 
 function Snippets(prevState = INITIAL_STATE.Snippets, action) {
   switch (action.type) {
     case Actions["b" /* actionTypes */].SNIPPETS_DATA:
       return Object.assign({}, prevState, { initialized: true }, action.data);
+    case Actions["b" /* actionTypes */].SNIPPET_BLOCKED:
+      return Object.assign({}, prevState, { blockList: prevState.blockList.concat(action.data) });
+    case Actions["b" /* actionTypes */].SNIPPETS_BLOCKLIST_CLEARED:
+      return Object.assign({}, prevState, { blockList: [] });
     case Actions["b" /* actionTypes */].SNIPPETS_RESET:
       return INITIAL_STATE.Snippets;
     default:
       return prevState;
   }
 }
 
 function PreferencesPane(prevState = INITIAL_STATE.PreferencesPane, action) {
@@ -1001,23 +988,23 @@ const LinkMenuOptions = {
     string_id: "menu_action_dismiss",
     icon: "dismiss",
     action: Actions["a" /* actionCreators */].WebExtEvent(Actions["b" /* actionTypes */].WEBEXT_DISMISS, {
       source: eventSource,
       url: site.url,
       action_position: index
     })
   }),
-  DeleteUrl: (site, index, eventSource) => ({
+  DeleteUrl: (site, index, eventSource, isEnabled, siteInfo) => ({
     id: "menu_action_delete",
     icon: "delete",
     action: {
       type: Actions["b" /* actionTypes */].DIALOG_OPEN,
       data: {
-        onConfirm: [Actions["a" /* actionCreators */].AlsoToMain({ type: Actions["b" /* actionTypes */].DELETE_HISTORY_URL, data: { url: site.url, pocket_id: site.pocket_id, forceBlock: site.bookmarkGuid } }), Actions["a" /* actionCreators */].UserEvent({ event: "DELETE", source: eventSource, action_position: index })],
+        onConfirm: [Actions["a" /* actionCreators */].AlsoToMain({ type: Actions["b" /* actionTypes */].DELETE_HISTORY_URL, data: { url: site.url, pocket_id: site.pocket_id, forceBlock: site.bookmarkGuid } }), Actions["a" /* actionCreators */].UserEvent(Object.assign({ event: "DELETE", source: eventSource, action_position: index }, siteInfo))],
         eventSource,
         body_string_id: ["confirm_history_delete_p1", "confirm_history_delete_notice_p2"],
         confirm_button_string_id: "menu_action_delete",
         cancel_button_string_id: "topsites_form_cancel_button",
         icon: "modal-delete"
       }
     },
     userEvent: "DIALOG_OPEN"
@@ -1079,17 +1066,17 @@ const LinkMenuOptions = {
       type: Actions["b" /* actionTypes */].TOP_SITES_EDIT,
       data: { index }
     }
   }),
   CheckBookmark: site => site.bookmarkGuid ? LinkMenuOptions.RemoveBookmark(site) : LinkMenuOptions.AddBookmark(site),
   CheckPinTopSite: (site, index) => site.isPinned ? LinkMenuOptions.UnpinTopSite(site) : LinkMenuOptions.PinTopSite(site, index),
   CheckSavedToPocket: (site, index) => site.pocket_id ? LinkMenuOptions.DeleteFromPocket(site) : LinkMenuOptions.SaveToPocket(site, index),
   CheckBookmarkOrArchive: site => site.pocket_id ? LinkMenuOptions.ArchiveFromPocket(site) : LinkMenuOptions.CheckBookmark(site),
-  CheckDeleteHistoryOrEmpty: (site, index, eventSource) => site.pocket_id ? LinkMenuOptions.EmptyItem() : LinkMenuOptions.DeleteUrl(site, index, eventSource),
+  CheckDeleteHistoryOrEmpty: (site, index, eventSource, isEnabled, siteInfo) => site.pocket_id ? LinkMenuOptions.EmptyItem() : LinkMenuOptions.DeleteUrl(site, index, eventSource, isEnabled, siteInfo),
   OpenInPrivateWindow: (site, index, eventSource, isEnabled) => isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem()
 };
 // EXTERNAL MODULE: external "React"
 var external__React_ = __webpack_require__(1);
 var external__React__default = /*#__PURE__*/__webpack_require__.n(external__React_);
 
 // CONCATENATED MODULE: ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx
 
@@ -1099,33 +1086,34 @@ var external__React__default = /*#__PURE
 
 
 
 const DEFAULT_SITE_MENU_OPTIONS = ["CheckPinTopSite", "EditTopSite", "Separator", "OpenInNewWindow", "OpenInPrivateWindow", "Separator", "BlockUrl"];
 
 class LinkMenu__LinkMenu extends external__React__default.a.PureComponent {
   getOptions() {
     const { props } = this;
-    const { site, index, source, isPrivateBrowsingEnabled } = props;
+    const { site, index, source, isPrivateBrowsingEnabled, siteInfo } = props;
 
     // Handle special case of default site
     const propOptions = !site.isDefault ? props.options : DEFAULT_SITE_MENU_OPTIONS;
 
-    const options = propOptions.map(o => LinkMenuOptions[o](site, index, source, isPrivateBrowsingEnabled)).map(option => {
+    const options = propOptions.map(o => LinkMenuOptions[o](site, index, source, isPrivateBrowsingEnabled, siteInfo)).map(option => {
       const { action, impression, id, string_id, type, userEvent } = option;
       if (!type && id) {
         option.label = props.intl.formatMessage({ id: string_id || id });
         option.onClick = () => {
           props.dispatch(action);
           if (userEvent) {
-            props.dispatch(Actions["a" /* actionCreators */].UserEvent({
+            const userEventData = Object.assign({
               event: userEvent,
               source,
               action_position: index
-            }));
+            }, siteInfo);
+            props.dispatch(Actions["a" /* actionCreators */].UserEvent(userEventData));
           }
           if (impression && props.shouldSendImpressionStats) {
             props.dispatch(impression);
           }
         };
       }
       return option;
     });
@@ -1160,36 +1148,44 @@ const LinkMenu = Object(external__ReactR
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
 
 
 class ContextMenu extends __WEBPACK_IMPORTED_MODULE_0_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.hideContext = this.hideContext.bind(this);
+    this.onClick = this.onClick.bind(this);
   }
 
   hideContext() {
     this.props.onUpdate(false);
   }
 
   componentDidMount() {
     setTimeout(() => {
       global.addEventListener("click", this.hideContext);
     }, 0);
   }
 
   componentWillUnmount() {
     global.removeEventListener("click", this.hideContext);
   }
 
+  onClick(event) {
+    // Eat all clicks on the context menu so they don't bubble up to window.
+    // This prevents the context menu from closing when clicking disabled items
+    // or the separators.
+    event.stopPropagation();
+  }
+
   render() {
     return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
       "span",
-      { className: "context-menu" },
+      { className: "context-menu", onClick: this.onClick },
       __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
         "ul",
         { role: "menu", className: "context-menu-list" },
         this.props.options.map((option, i) => option.type === "separator" ? __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("li", { key: i, className: "separator" }) : option.type !== "empty" && __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(ContextMenuItem, { key: i, option: option, hideContext: this.hideContext }))
       )
     );
   }
 }
@@ -1228,17 +1224,17 @@ class ContextMenuItem extends __WEBPACK_
 
   render() {
     const { option } = this.props;
     return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
       "li",
       { role: "menuitem", className: "context-menu-item" },
       __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
         "a",
-        { onClick: this.onClick, onKeyDown: this.onKeyDown, tabIndex: "0" },
+        { onClick: this.onClick, onKeyDown: this.onKeyDown, tabIndex: "0", className: option.disabled ? "disabled" : "" },
         option.icon && __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", { className: `icon icon-spacer icon-${option.icon}` }),
         option.label
       )
     );
   }
 }
 /* unused harmony export ContextMenuItem */
 
@@ -1409,17 +1405,17 @@ class _CollapsibleSection extends __WEBP
   onMenuUpdate(showContextMenu) {
     this.setState({ showContextMenu });
   }
 
   render() {
     const isCollapsible = this.props.prefName in this.props.Prefs.values;
     const isCollapsed = getCollapsed(this.props);
     const { enableAnimation, isAnimating, maxHeight, menuButtonHover, showContextMenu } = this.state;
-    const { id, eventSource, disclaimer, title, extraMenuOptions, prefName, showPrefName, privacyNoticeURL, dispatch } = this.props;
+    const { id, eventSource, disclaimer, title, extraMenuOptions, prefName, showPrefName, privacyNoticeURL, dispatch, isFirst, isLast } = this.props;
     const disclaimerPref = `section.${id}.showDisclaimer`;
     const needsDisclaimer = disclaimer && this.props.Prefs.values[disclaimerPref];
     const active = menuButtonHover || showContextMenu;
 
     return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
       "section",
       { className: `collapsible-section ${this.props.className}${enableAnimation ? " animation-enabled" : ""}${isCollapsed ? " collapsed" : ""}${active ? " active" : ""}` },
       __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
@@ -1448,23 +1444,26 @@ class _CollapsibleSection extends __WEBP
               onMouseLeave: this.onMenuButtonMouseLeave },
             __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
               "span",
               { className: "sr-only" },
               __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "section_context_menu_button_sr" })
             )
           ),
           showContextMenu && __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_content_src_components_SectionMenu_SectionMenu__["a" /* SectionMenu */], {
+            id: id,
             extraOptions: extraMenuOptions,
             eventSource: eventSource,
             showPrefName: showPrefName,
             collapsePrefName: prefName,
             privacyNoticeURL: privacyNoticeURL,
             isCollapsed: isCollapsed,
             onUpdate: this.onMenuUpdate,
+            isFirst: isFirst,
+            isLast: isLast,
             dispatch: dispatch })
         )
       ),
       __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         __WEBPACK_IMPORTED_MODULE_2_content_src_components_ErrorBoundary_ErrorBoundary__["a" /* ErrorBoundary */],
         { className: "section-body-fallback" },
         __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "div",
@@ -1962,22 +1961,34 @@ class TopSite extends __WEBPACK_IMPORTED
   constructor(props) {
     super(props);
     this.state = { showContextMenu: false };
     this.onLinkClick = this.onLinkClick.bind(this);
     this.onMenuButtonClick = this.onMenuButtonClick.bind(this);
     this.onMenuUpdate = this.onMenuUpdate.bind(this);
   }
 
+  /**
+   * Report to telemetry additional information about the item.
+   */
+  _getTelemetryInfo() {
+    const value = { icon_type: this.props.link.iconType };
+    // Filter out "not_pinned" type for being the default
+    if (this.props.link.isPinned) {
+      value.card_type = "pinned";
+    }
+    return { value };
+  }
+
   userEvent(event) {
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent(Object.assign({
       event,
       source: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
       action_position: this.props.index
-    }));
+    }, this._getTelemetryInfo())));
   }
 
   onLinkClick(ev) {
     this.userEvent("CLICK");
   }
 
   onMenuButtonClick(event) {
     event.preventDefault();
@@ -2010,16 +2021,17 @@ class TopSite extends __WEBPACK_IMPORTED
           )
         ),
         isContextMenuOpen && __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_content_src_components_LinkMenu_LinkMenu__["a" /* LinkMenu */], {
           dispatch: props.dispatch,
           index: props.index,
           onUpdate: this.onMenuUpdate,
           options: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["c" /* TOP_SITES_CONTEXT_MENU_OPTIONS */],
           site: link,
+          siteInfo: this._getTelemetryInfo(),
           source: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["d" /* TOP_SITES_SOURCE */] })
       )
     );
   }
 }
 /* unused harmony export TopSite */
 
 TopSite.defaultProps = {
@@ -2193,17 +2205,17 @@ class _TopSiteList extends __WEBPACK_IMP
     // This mostly (only?) affects linux so be sure to test on linux before changing.
     let holeIndex = 0;
 
     // On narrow viewports, we only show 6 sites per row. We'll mark the rest as
     // .hide-for-narrow to hide in CSS via @media query.
     const maxNarrowVisibleIndex = props.TopSitesRows * 6;
 
     for (let i = 0, l = topSites.length; i < l; i++) {
-      const link = topSites[i];
+      const link = topSites[i] && Object.assign({}, topSites[i], { iconType: this.props.topSiteIconType(topSites[i]) });
       const slotProps = {
         key: link ? link.url : holeIndex++,
         index: i
       };
       if (i >= maxNarrowVisibleIndex) {
         slotProps.className = "hide-for-narrow";
       }
       topSitesUI.push(!link ? __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(TopSitePlaceholder, _extends({}, slotProps, commonProps)) : __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(TopSite, _extends({
@@ -2318,16 +2330,17 @@ class SnippetsMap extends Map {
 
   delete(key) {
     super.delete(key);
     return this._dbTransaction(db => db.delete(key));
   }
 
   clear() {
     super.clear();
+    this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SNIPPETS_BLOCKLIST_CLEARED }));
     return this._dbTransaction(db => db.clear());
   }
 
   get blockList() {
     return this.get("blockList") || [];
   }
 
   /**
@@ -2339,17 +2352,17 @@ class SnippetsMap extends Map {
    */
   async blockSnippetById(id) {
     if (!id) {
       return;
     }
     const { blockList } = this;
     if (!blockList.includes(id)) {
       blockList.push(id);
-      this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SNIPPETS_BLOCKLIST_UPDATED, data: blockList }));
+      this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SNIPPETS_BLOCKLIST_UPDATED, data: id }));
       await this.set("blockList", blockList);
     }
   }
 
   disableOnboarding() {
     this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].DISABLE_ONBOARDING }));
   }
 
@@ -2455,17 +2468,19 @@ class SnippetsMap extends Map {
 
       /* istanbul ignore next */
       cursorRequest.onerror = event => reject(event);
 
       cursorRequest.onsuccess = event => {
         let cursor = event.target.result;
         // Populate the cache from the persistent storage.
         if (cursor) {
-          this.set(cursor.key, cursor.value);
+          if (cursor.value !== "blockList") {
+            this.set(cursor.key, cursor.value);
+          }
           cursor.continue();
         } else {
           // We are done.
           resolve();
         }
       };
     });
   }
@@ -2558,18 +2573,20 @@ class SnippetsProvider {
       const relocatedScript = document.createElement("script");
       relocatedScript.text = scriptEl.text;
       scriptEl.parentNode.replaceChild(relocatedScript, scriptEl);
     }
   }
 
   _onAction(msg) {
     if (msg.data.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SNIPPET_BLOCKED) {
-      this.snippetsMap.set("blockList", msg.data.data);
-      document.getElementById("snippets-container").style.display = "none";
+      if (!this.snippetsMap.blockList.includes(msg.data.data)) {
+        this.snippetsMap.set("blockList", this.snippetsMap.blockList.concat(msg.data.data));
+        document.getElementById("snippets-container").style.display = "none";
+      }
     }
   }
 
   /**
    * init - Fetch the snippet payload and show snippets
    *
    * @param  {obj} options
    * @param  {str} options.appData.snippetsURL  The URL from which we fetch snippets
@@ -2596,17 +2613,21 @@ class SnippetsProvider {
         await this.snippetsMap.connect();
       } catch (e) {
         console.error(e); // eslint-disable-line no-console
       }
     }
 
     // Cache app data values so they can be accessible from gSnippetsMap
     for (const key of Object.keys(this.appData)) {
-      this.snippetsMap.set(`appData.${key}`, this.appData[key]);
+      if (key === "blockList") {
+        this.snippetsMap.set("blockList", this.appData[key]);
+      } else {
+        this.snippetsMap.set(`appData.${key}`, this.appData[key]);
+      }
     }
 
     // Refresh snippets, if enough time has passed.
     await this._refreshSnippets();
 
     // Try showing remote snippets, falling back to defaults if necessary.
     try {
       this._showRemoteSnippets();
@@ -3100,25 +3121,26 @@ var PrerenderData = new _PrerenderData({
     "showTopSites": true,
     "showSearch": true,
     "topSitesRows": 1,
     "collapseTopSites": false,
     "section.highlights.collapsed": false,
     "section.topstories.collapsed": false,
     "feeds.section.topstories": true,
     "feeds.section.highlights": true,
-    "enableWideLayout": true
+    "enableWideLayout": true,
+    "sectionOrder": "topsites,topstories,highlights"
   },
   // Prefs listed as invalidating will prevent the prerendered version
   // of AS from being used if their value is something other than what is listed
   // here. This is required because some preferences cause the page layout to be
   // too different for the prerendered version to be used. Unfortunately, this
   // will result in users who have modified some of their preferences not being
   // able to get the benefits of prerendering.
-  validation: ["showTopSites", "showSearch", "topSitesRows", "collapseTopSites", "section.highlights.collapsed", "section.topstories.collapsed", "enableWideLayout",
+  validation: ["showTopSites", "showSearch", "topSitesRows", "collapseTopSites", "section.highlights.collapsed", "section.topstories.collapsed", "enableWideLayout", "sectionOrder",
   // This means if either of these are set to their default values,
   // prerendering can be used.
   { oneOf: ["feeds.section.topstories", "feeds.section.highlights"] }],
   initialSections: [{
     enabled: true,
     icon: "pocket",
     id: "topstories",
     order: 1,
@@ -3234,33 +3256,29 @@ class Search__Search extends external__R
     );
   }
 }
 
 const Search = Object(external__ReactRedux_["connect"])()(Object(external__ReactIntl_["injectIntl"])(Search__Search));
 // EXTERNAL MODULE: ./system-addon/content-src/components/Sections/Sections.jsx
 var Sections = __webpack_require__(18);
 
-// EXTERNAL MODULE: ./system-addon/content-src/components/TopSites/TopSites.jsx
-var TopSites = __webpack_require__(22);
-
 // CONCATENATED MODULE: ./system-addon/content-src/components/Base/Base.jsx
 
 
 
 
 
 
 
 
 
 
 
 
-
 // Add the locale data for pluralization and relative-time formatting for now,
 // this just uses english locale data. We can make this more sophisticated if
 // more features are needed.
 function addLocaleDataForReactIntl(locale) {
   Object(external__ReactIntl_["addLocaleData"])([{ locale, parentLocale: "en" }]);
 }
 
 class Base__Base extends external__React__default.a.PureComponent {
@@ -3346,17 +3364,16 @@ class Base_BaseContent extends external_
         external__React__default.a.createElement(
           "div",
           { className: `body-wrapper${initialized ? " on" : ""}` },
           !prefs.migrationExpired && external__React__default.a.createElement(
             "div",
             { className: "non-collapsible-section" },
             external__React__default.a.createElement(ManualMigration, null)
           ),
-          prefs.showTopSites && external__React__default.a.createElement(TopSites["a" /* TopSites */], null),
           external__React__default.a.createElement(Sections["a" /* Sections */], null)
         ),
         external__React__default.a.createElement(ConfirmDialog, null)
       ),
       initialized && external__React__default.a.createElement(
         "div",
         { className: "prefs-pane" },
         external__React__default.a.createElement(
@@ -3398,27 +3415,29 @@ const Base = Object(external__ReactRedux
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_common_Actions_jsm__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_CollapsibleSection_CollapsibleSection__ = __webpack_require__(10);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(11);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_content_src_components_Topics_Topics__ = __webpack_require__(21);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_content_src_components_TopSites_TopSites__ = __webpack_require__(22);
 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
 
 
 
 
 
 
 
 
 
+
 const VISIBLE = "visible";
 const VISIBILITY_CHANGE_EVENT = "visibilitychange";
 const CARDS_PER_ROW = 3;
 
 function getFormattedMessage(message) {
   return typeof message === "string" ? __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
     "span",
     null,
@@ -3455,17 +3474,17 @@ class Section extends __WEBPACK_IMPORTED
       this._dispatchImpressionStats();
     } else {
       // We should only ever send the latest impression stats ping, so remove any
       // older listeners.
       if (this._onVisibilityChange) {
         props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);
       }
 
-      // When the page becoems visible, send the impression stats ping if the section isn't collapsed.
+      // When the page becomes visible, send the impression stats ping if the section isn't collapsed.
       this._onVisibilityChange = () => {
         if (props.document.visibilityState === VISIBLE) {
           const { id, Prefs } = this.props;
           const isCollapsed = Prefs.values[`section.${id}.collapsed`];
           if (!isCollapsed) {
             this._dispatchImpressionStats();
           }
           props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);
@@ -3496,16 +3515,22 @@ class Section extends __WEBPACK_IMPORTED
     // and the section is not collapsed...
     props.rows !== prevProps.rows && !isCollapsed ||
     // or if we are expanding a section that was collapsed.
     wasCollapsed && !isCollapsed)) {
       this.sendImpressionStatsOrAddListener();
     }
   }
 
+  componentWillUnmount() {
+    if (this._onVisibilityChange) {
+      this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);
+    }
+  }
+
   needsImpressionStats(cards) {
     if (!this.impressionCardGuids || this.impressionCardGuids.length !== cards.length) {
       return true;
     }
 
     for (let i = 0; i < cards.length; i++) {
       if (cards[i].guid !== this.impressionCardGuids[i]) {
         return true;
@@ -3526,17 +3551,17 @@ class Section extends __WEBPACK_IMPORTED
     return CARDS_PER_ROW - remainder;
   }
 
   render() {
     const {
       id, eventSource, title, icon, rows,
       emptyState, dispatch, maxRows,
       contextMenuOptions, initialized, disclaimer,
-      pref, privacyNoticeURL
+      pref, privacyNoticeURL, isFirst, isLast
     } = this.props;
     const maxCards = CARDS_PER_ROW * maxRows;
 
     // Show topics only for top stories and if it's not initialized yet (so
     // content doesn't shift when it is loaded) or has loaded with topics
     const shouldShowTopics = id === "topstories" && (!this.props.topics || this.props.topics.length > 0);
 
     const realRows = rows.slice(0, maxCards);
@@ -3557,16 +3582,18 @@ class Section extends __WEBPACK_IMPORTED
           title: getFormattedMessage(title),
           id: id,
           eventSource: eventSource,
           disclaimer: disclaimer,
           prefName: `section.${id}.collapsed`,
           showPrefName: pref && pref.feed || id,
           privacyNoticeURL: privacyNoticeURL,
           Prefs: this.props.Prefs,
+          isFirst: isFirst,
+          isLast: isLast,
           dispatch: this.props.dispatch },
         !shouldShowEmptyState && __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
           "ul",
           { className: "section-list", style: { padding: 0 } },
           realRows.map((link, index) => link && __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_content_src_components_Card_Card__["a" /* Card */], { key: index, index: index, dispatch: dispatch, link: link, contextMenuOptions: contextMenuOptions,
             eventSource: eventSource, shouldSendImpressionStats: this.props.shouldSendImpressionStats, isWebExtension: this.props.isWebExtension })),
           placeholders > 0 && [...new Array(placeholders)].map((_, i) => __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_content_src_components_Card_Card__["b" /* PlaceholderCard */], { key: i }))
         ),
@@ -3594,27 +3621,51 @@ class Section extends __WEBPACK_IMPORTED
 
 Section.defaultProps = {
   document: global.document,
   rows: [],
   emptyState: {},
   title: ""
 };
 
-const SectionIntl = Object(__WEBPACK_IMPORTED_MODULE_1_react_intl__["injectIntl"])(Section);
+const SectionIntl = Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__["connect"])(state => ({ Prefs: state.Prefs }))(Object(__WEBPACK_IMPORTED_MODULE_1_react_intl__["injectIntl"])(Section));
 /* unused harmony export SectionIntl */
 
 
 class _Sections extends __WEBPACK_IMPORTED_MODULE_6_react___default.a.PureComponent {
+  renderSections() {
+    const sections = [];
+    const enabledSections = this.props.Sections.filter(section => section.enabled);
+    const { sectionOrder, showTopSites } = this.props.Prefs.values;
+    // Enabled sections doesn't include Top Sites, so we add it if enabled.
+    const expectedCount = enabledSections.length + ~~showTopSites;
+
+    for (const sectionId of sectionOrder.split(",")) {
+      const commonProps = {
+        key: sectionId,
+        isFirst: sections.length === 0,
+        isLast: sections.length === expectedCount - 1
+      };
+      if (sectionId === "topsites" && showTopSites) {
+        sections.push(__WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8_content_src_components_TopSites_TopSites__["a" /* TopSites */], commonProps));
+      } else {
+        const section = enabledSections.find(s => s.id === sectionId);
+        if (section) {
+          sections.push(__WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(SectionIntl, _extends({}, section, commonProps)));
+        }
+      }
+    }
+    return sections;
+  }
+
   render() {
-    const sections = this.props.Sections;
     return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
       "div",
       { className: "sections-list" },
-      sections.filter(section => section.enabled).map(section => __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(SectionIntl, _extends({ key: section.id }, section, { Prefs: this.props.Prefs, dispatch: this.props.dispatch })))
+      this.renderSections()
     );
   }
 }
 /* unused harmony export _Sections */
 
 
 const Sections = Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__["connect"])(state => ({ Sections: state.Sections, Prefs: state.Prefs }))(_Sections);
 /* harmony export (immutable) */ __webpack_exports__["a"] = Sections;
@@ -3730,36 +3781,48 @@ class Card_Card extends external__React_
   onMenuButtonClick(event) {
     event.preventDefault();
     this.setState({
       activeCard: this.props.index,
       showContextMenu: true
     });
   }
 
+  /**
+   * Report to telemetry additional information about the item.
+   */
+  _getTelemetryInfo() {
+    // Filter out "history" type for being the default
+    if (this.props.link.type !== "history") {
+      return { value: { card_type: this.props.link.type } };
+    }
+
+    return null;
+  }
+
   onLinkClick(event) {
     event.preventDefault();
     const { altKey, button, ctrlKey, metaKey, shiftKey } = event;
     this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({
       type: Actions["b" /* actionTypes */].OPEN_LINK,
       data: Object.assign(this.props.link, { event: { altKey, button, ctrlKey, metaKey, shiftKey } })
     }));
 
     if (this.props.isWebExtension) {
       this.props.dispatch(Actions["a" /* actionCreators */].WebExtEvent(Actions["b" /* actionTypes */].WEBEXT_CLICK, {
         source: this.props.eventSource,
         url: this.props.link.url,
         action_position: this.props.index
       }));
     } else {
-      this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({
+      this.props.dispatch(Actions["a" /* actionCreators */].UserEvent(Object.assign({
         event: "CLICK",
         source: this.props.eventSource,
         action_position: this.props.index
-      }));
+      }, this._getTelemetryInfo())));
 
       if (this.props.shouldSendImpressionStats) {
         this.props.dispatch(Actions["a" /* actionCreators */].ImpressionStats({
           source: this.props.eventSource,
           click: 0,
           tiles: [{ id: this.props.link.guid, pos: this.props.index }]
         }));
       }
@@ -3861,16 +3924,17 @@ class Card_Card extends external__React_
       ),
       isContextMenuOpen && external__React__default.a.createElement(LinkMenu["a" /* LinkMenu */], {
         dispatch: dispatch,
         index: index,
         source: eventSource,
         onUpdate: this.onMenuUpdate,
         options: link.contextMenuOptions || contextMenuOptions,
         site: link,
+        siteInfo: this._getTelemetryInfo(),
         shouldSendImpressionStats: shouldSendImpressionStats })
     );
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = Card_Card;
 
 Card_Card.defaultProps = { link: {} };
 
@@ -3902,16 +3966,36 @@ var external__React__default = /*#__PURE
 
 
 /**
  * List of functions that return items that can be included as menu options in a
  * SectionMenu. All functions take the section as the only parameter.
  */
 const SectionMenuOptions = {
   Separator: () => ({ type: "separator" }),
+  MoveUp: section => ({
+    id: "section_menu_action_move_up",
+    icon: "arrowhead-up",
+    action: Actions["a" /* actionCreators */].OnlyToMain({
+      type: Actions["b" /* actionTypes */].SECTION_MOVE,
+      data: { id: section.id, direction: -1 }
+    }),
+    userEvent: "SECTION_MENU_MOVE_UP",
+    disabled: !!section.isFirst
+  }),
+  MoveDown: section => ({
+    id: "section_menu_action_move_down",
+    icon: "arrowhead-down",
+    action: Actions["a" /* actionCreators */].OnlyToMain({
+      type: Actions["b" /* actionTypes */].SECTION_MOVE,
+      data: { id: section.id, direction: +1 }
+    }),
+    userEvent: "SECTION_MENU_MOVE_DOWN",
+    disabled: !!section.isLast
+  }),
   RemoveSection: section => ({
     id: "section_menu_action_remove_section",
     icon: "dismiss",
     action: Actions["a" /* actionCreators */].SetPref(section.showPrefName, false),
     userEvent: "SECTION_MENU_REMOVE"
   }),
   CollapseSection: section => ({
     id: "section_menu_action_collapse_section",
@@ -3950,17 +4034,17 @@ const SectionMenuOptions = {
 };
 // CONCATENATED MODULE: ./system-addon/content-src/components/SectionMenu/SectionMenu.jsx
 
 
 
 
 
 
-const DEFAULT_SECTION_MENU_OPTIONS = ["RemoveSection", "CheckCollapsed", "Separator", "ManageSection"];
+const DEFAULT_SECTION_MENU_OPTIONS = ["MoveUp", "MoveDown", "Separator", "RemoveSection", "CheckCollapsed", "Separator", "ManageSection"];
 
 class SectionMenu__SectionMenu extends external__React__default.a.PureComponent {
   getOptions() {
     const { props } = this;
 
     const propOptions = Array.from(DEFAULT_SECTION_MENU_OPTIONS);
     // Prepend custom options and a separator
     if (props.extraOptions) {
@@ -4089,35 +4173,40 @@ class Topics extends __WEBPACK_IMPORTED_
 
 
 
 
 
 
 
 
+function topSiteIconType(link) {
+  if (link.tippyTopIcon || link.faviconRef === "tippytop") {
+    return "tippytop";
+  }
+  if (link.faviconSize >= __WEBPACK_IMPORTED_MODULE_1__TopSitesConstants__["b" /* MIN_RICH_FAVICON_SIZE */]) {
+    return "rich_icon";
+  }
+  if (link.screenshot && link.faviconSize >= __WEBPACK_IMPORTED_MODULE_1__TopSitesConstants__["a" /* MIN_CORNER_FAVICON_SIZE */]) {
+    return "screenshot_with_icon";
+  }
+  if (link.screenshot) {
+    return "screenshot";
+  }
+  return "no_image";
+}
+
 /**
  * Iterates through TopSites and counts types of images.
  * @param acc Accumulator for reducer.
  * @param topsite Entry in TopSites.
  */
 function countTopSitesIconsTypes(topSites) {
   const countTopSitesTypes = (acc, link) => {
-    if (link.tippyTopIcon || link.faviconRef === "tippytop") {
-      acc.tippytop++;
-    } else if (link.faviconSize >= __WEBPACK_IMPORTED_MODULE_1__TopSitesConstants__["b" /* MIN_RICH_FAVICON_SIZE */]) {
-      acc.rich_icon++;
-    } else if (link.screenshot && link.faviconSize >= __WEBPACK_IMPORTED_MODULE_1__TopSitesConstants__["a" /* MIN_CORNER_FAVICON_SIZE */]) {
-      acc.screenshot_with_icon++;
-    } else if (link.screenshot) {
-      acc.screenshot++;
-    } else {
-      acc.no_image++;
-    }
-
+    acc[topSiteIconType(link)]++;
     return acc;
   };
 
   return topSites.reduce(countTopSitesTypes, {
     "screenshot_with_icon": 0,
     "screenshot": 0,
     "tippytop": 0,
     "rich_icon": 0,
@@ -4181,24 +4270,27 @@ class _TopSites extends __WEBPACK_IMPORT
     return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
       __WEBPACK_IMPORTED_MODULE_3_content_src_components_ComponentPerfTimer_ComponentPerfTimer__["a" /* ComponentPerfTimer */],
       { id: "topsites", initialized: props.TopSites.initialized, dispatch: props.dispatch },
       __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
         __WEBPACK_IMPORTED_MODULE_2_content_src_components_CollapsibleSection_CollapsibleSection__["a" /* CollapsibleSection */],
         {
           className: "top-sites",
           icon: "topsites",
+          id: "topsites",
           title: props.intl.formatMessage({ id: "header_top_sites" }),
           extraMenuOptions: ["AddTopSite"],
           prefName: "collapseTopSites",
           showPrefName: "showTopSites",
           eventSource: __WEBPACK_IMPORTED_MODULE_1__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
           Prefs: props.Prefs,
+          isFirst: props.isFirst,
+          isLast: props.isLast,
           dispatch: props.dispatch },
-        __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_9__TopSite__["b" /* TopSiteList */], { TopSites: props.TopSites, TopSitesRows: props.TopSitesRows, dispatch: props.dispatch, intl: props.intl }),
+        __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_9__TopSite__["b" /* TopSiteList */], { TopSites: props.TopSites, TopSitesRows: props.TopSitesRows, dispatch: props.dispatch, intl: props.intl, topSiteIconType: topSiteIconType }),
         __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
           "div",
           { className: "edit-topsites-wrapper" },
           editForm && __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
             "div",
             { className: "edit-topsites" },
             __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement("div", { className: "modal-overlay", onClick: this.onFormClose }),
             __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
--- a/browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
@@ -1,1 +1,1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 7e596bd065125db93ded","webpack:///./system-addon/common/Actions.jsm","webpack:///external \"React\"","webpack:///external \"ReactIntl\"","webpack:///(webpack)/buildin/global.js","webpack:///external \"ReactRedux\"","webpack:///./system-addon/content-src/components/TopSites/TopSitesConstants.js","webpack:///./system-addon/common/Dedupe.jsm","webpack:///./system-addon/common/Reducers.jsm","webpack:///./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","webpack:///./system-addon/content-src/lib/link-menu-options.js","webpack:///./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","webpack:///./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","webpack:///./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","webpack:///./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","webpack:///./system-addon/common/PerfService.jsm","webpack:///./system-addon/content-src/components/TopSites/TopSite.jsx","webpack:///./system-addon/content-src/activity-stream.jsx","webpack:///./system-addon/content-src/lib/snippets.js","webpack:///./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","webpack:///./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","webpack:///./system-addon/content-src/components/PreferencesPane/PreferencesPane.jsx","webpack:///./system-addon/common/PrerenderData.jsm","webpack:///./system-addon/content-src/components/Search/Search.jsx","webpack:///./system-addon/content-src/components/Base/Base.jsx","webpack:///./system-addon/content-src/lib/constants.js","webpack:///./system-addon/content-src/components/Sections/Sections.jsx","webpack:///./system-addon/content-src/components/Card/types.js","webpack:///./system-addon/content-src/components/Card/Card.jsx","webpack:///./system-addon/content-src/lib/section-menu-options.js","webpack:///./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","webpack:///./system-addon/content-src/components/Topics/Topics.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSites.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteForm.jsx","webpack:///./system-addon/content-src/lib/detect-user-session-start.js","webpack:///./system-addon/content-src/lib/init-store.js","webpack:///external \"Redux\"","webpack:///external \"ReactDOM\""],"names":["globalImportContext","Window","BACKGROUND_PROCESS","UI_CODE","actionTypes","type","_RouteMessage","action","options","meta","Object","assign","from","to","Error","forEach","o","AlsoToMain","fromTarget","skipLocal","CONTENT_MESSAGE_TYPE","MAIN_MESSAGE_TYPE","OnlyToMain","BroadcastToContent","AlsoToOneContent","target","skipMain","toTarget","OnlyToOneContent","AlsoToPreloaded","PRELOAD_MESSAGE_TYPE","UserEvent","data","TELEMETRY_USER_EVENT","UndesiredEvent","importContext","TELEMETRY_UNDESIRED_EVENT","PerfEvent","TELEMETRY_PERFORMANCE_EVENT","ImpressionStats","TELEMETRY_IMPRESSION_STATS","SetPref","name","value","SET_PREF","WebExtEvent","source","isSendToMain","isBroadcastToContent","isSendToOneContent","isSendToPreloaded","isFromMain","getPortIdOfSender","TOP_SITES_SOURCE","TOP_SITES_CONTEXT_MENU_OPTIONS","MIN_RICH_FAVICON_SIZE","MIN_CORNER_FAVICON_SIZE","Dedupe","constructor","createKey","defaultCreateKey","item","group","groups","globalKeys","Set","result","values","valueMap","Map","key","has","set","push","add","map","m","Array","TOP_SITES_DEFAULT_ROWS","TOP_SITES_MAX_SITES_PER_ROW","dedupe","site","url","INITIAL_STATE","App","initialized","version","Snippets","TopSites","rows","editForm","Prefs","Dialog","visible","Sections","PreferencesPane","prevState","at","INIT","insertPinned","links","pinned","pinnedUrls","link","newLinks","filter","includes","isPinned","pinIndex","val","index","length","splice","hasMatch","newRows","TOP_SITES_UPDATED","TOP_SITES_EDIT","TOP_SITES_CANCEL_EDIT","SCREENSHOT_UPDATED","row","screenshot","PLACES_BOOKMARK_ADDED","bookmarkGuid","bookmarkTitle","dateAdded","bookmarkDateCreated","PLACES_BOOKMARK_REMOVED","newSite","DIALOG_OPEN","DIALOG_CANCEL","DELETE_HISTORY_URL","newValues","PREFS_INITIAL_VALUES","PREF_CHANGED","newState","SECTION_DEREGISTER","section","id","SECTION_REGISTER","order","undefined","findIndex","title","enabled","SECTION_UPDATE","find","card","dedupeConfigurations","dedupeConf","dedupedRows","dedupeFrom","reduce","dedupeSectionId","dedupeSection","s","SECTION_UPDATE_CARD","PLACES_SAVED_TO_POCKET","open_url","pocket_id","PLACES_LINKS_DELETED","PLACES_LINK_BLOCKED","DELETE_FROM_POCKET","ARCHIVE_FROM_POCKET","SNIPPETS_DATA","SNIPPETS_RESET","SETTINGS_OPEN","SETTINGS_CLOSE","ErrorBoundaryFallback","React","PureComponent","props","windowObj","window","onClick","bind","location","reload","render","defaultClass","className","defaultProps","ErrorBoundary","state","hasError","componentDidCatch","error","info","setState","children","FallbackComponent","_OpenInPrivateWindow","icon","ac","OPEN_PRIVATE_WINDOW","referrer","userEvent","LinkMenuOptions","Separator","EmptyItem","RemoveBookmark","DELETE_BOOKMARK_BY_ID","AddBookmark","BOOKMARK_URL","OpenInNewWindow","OPEN_NEW_WINDOW","BlockUrl","eventSource","BLOCK_URL","impression","block","tiles","guid","pos","WebExtDismiss","string_id","WEBEXT_DISMISS","action_position","DeleteUrl","onConfirm","forceBlock","event","body_string_id","confirm_button_string_id","cancel_button_string_id","PinTopSite","TOP_SITES_PIN","UnpinTopSite","TOP_SITES_UNPIN","SaveToPocket","SAVE_TO_POCKET","pocket","DeleteFromPocket","ArchiveFromPocket","EditTopSite","CheckBookmark","CheckPinTopSite","CheckSavedToPocket","CheckBookmarkOrArchive","CheckDeleteHistoryOrEmpty","OpenInPrivateWindow","isEnabled","DEFAULT_SITE_MENU_OPTIONS","getOptions","isPrivateBrowsingEnabled","propOptions","isDefault","option","label","intl","formatMessage","dispatch","shouldSendImpressionStats","first","last","onUpdate","getState","LinkMenu","connect","injectIntl","ContextMenu","hideContext","componentDidMount","setTimeout","global","addEventListener","componentWillUnmount","removeEventListener","i","ContextMenuItem","onKeyDown","shiftKey","VISIBLE","VISIBILITY_CHANGE_EVENT","getFormattedMessage","message","getCollapsed","prefName","Disclaimer","onAcknowledge","disclaimerPref","disclaimer","text","href","button","DisclaimerIntl","_CollapsibleSection","onBodyMount","onHeaderClick","onTransitionEnd","enableOrDisableAnimation","onMenuButtonClick","onMenuButtonMouseEnter","onMenuButtonMouseLeave","onMenuUpdate","enableAnimation","isAnimating","menuButtonHover","showContextMenu","componentWillMount","document","componentWillUpdate","nextProps","sectionBody","scrollHeight","visibilityState","node","maxHeight","currentTarget","renderIcon","startsWith","backgroundImage","preventDefault","isCollapsible","isCollapsed","extraMenuOptions","showPrefName","privacyNoticeURL","needsDisclaimer","active","CollapsibleSection","RECORDED_SECTIONS","ComponentPerfTimer","Component","perfSvc","_sendBadStateEvent","_sendPaintedEvent","_reportMissingData","_timestampHandled","_recordedFirstRender","_maybeSendPaintedEvent","componentDidUpdate","_afterFramePaint","callback","requestAnimationFrame","_maybeSendBadStateEvent","_ensureFirstRenderTsRecorded","mark","dataReadyKey","firstRenderKey","parseInt","getMostRecentAbsMarkStartByName","SAVE_SESSION_PERF_DATA","ex","ChromeUtils","import","usablePerfObj","Services","appShell","hiddenDOMWindow","performance","now","_PerfService","performanceObj","_perf","prototype","str","getEntriesByName","timeOrigin","absNow","entries","mostRecentEntry","startTime","TopSiteLink","onDragEvent","_allowDrop","e","dataTransfer","types","dragged","effectAllowed","setData","blur","isDraggable","topSiteOuterClassName","isDragged","tippyTopIcon","faviconSize","letterFallback","imageClassName","imageStyle","showSmallFavicon","smallFaviconStyle","smallFaviconFallback","backgroundColor","favicon","draggableProps","onDragEnd","onDragStart","onMouseDown","TopSite","onLinkClick","ev","onActivate","isContextMenuOpen","activeIndex","hostname","TopSitePlaceholder","onEditButtonClick","_TopSiteList","DEFAULT_STATE","draggedIndex","draggedSite","draggedTitle","topSitesPreview","componentWillReceiveProps","prevTopSites","newTopSites","dropped","_makeTopSitesPreview","TOP_SITES_INSERT","draggedFromIndex","_getTopSites","topSites","slice","TopSitesRows","pinnedOnly","unpinned","siteToInsert","holeIndex","indexStep","shiftingStep","nextIndex","preview","shift","topSitesUI","commonProps","maxNarrowVisibleIndex","l","slotProps","TopSiteList","store","initStore","gActivityStreamPrerenderedState","sendEventOrAddListener","NEW_TAB_STATE_REQUEST","ReactDOM","hydrate","documentElement","lang","gActivityStreamStrings","getElementById","addSnippetsSubscriber","DATABASE_NAME","DATABASE_VERSION","SNIPPETS_OBJECTSTORE_NAME","SNIPPETS_UPDATE_INTERVAL_MS","SNIPPETS_ENABLED_EVENT","SNIPPETS_DISABLED_EVENT","SnippetsMap","_db","_dispatch","_dbTransaction","db","put","delete","clear","blockList","get","blockSnippetById","SNIPPETS_BLOCKLIST_UPDATED","disableOnboarding","DISABLE_ONBOARDING","showFirefoxAccounts","SHOW_FIREFOX_ACCOUNTS","getTotalBookmarksCount","Promise","resolve","TOTAL_BOOKMARKS_REQUEST","addMessageListener","onMessage","TOTAL_BOOKMARKS_RESPONSE","removeMessageListener","_openDB","_restoreFromDb","modifier","reject","transaction","objectStore","onsuccess","onerror","openRequest","indexedDB","open","deleteDatabase","onupgradeneeded","objectStoreNames","contains","createObjectStore","err","console","onversionchange","versionChangeEvent","close","cursorRequest","openCursor","cursor","continue","SnippetsProvider","gSnippetsMap","_onAction","snippetsMap","_refreshSnippets","cachedVersion","appData","lastUpdate","needsUpdate","Date","snippetsURL","response","fetch","status","payload","_noSnippetFallback","_forceOnboardingVisibility","shouldBeVisible","onboardingEl","style","display","_showRemoteSnippets","snippetsEl","elementId","innerHTML","scriptEl","getElementsByTagName","relocatedScript","createElement","parentNode","replaceChild","msg","SNIPPET_BLOCKED","init","keys","dispatchEvent","Event","uninit","snippets","initializing","subscribe","disableSnippets","_handleCancelBtn","_handleConfirmBtn","_renderModalMessage","message_body","ConfirmDialog","onLaunchTour","onCancelTour","MIGRATION_START","MIGRATION_CANCEL","ManualMigration","PreferencesInput","disabled","onChange","labelClassName","titleString","descString","Children","child","handleClickOutside","handlePrefChange","handleSectionChange","togglePane","onWrapperMount","prevProps","isSidebarOpen","wrapper","checked","SECTION_ENABLE","SECTION_DISABLE","prefs","sections","isVisible","showSearch","showTopSites","topSitesRows","shouldHidePref","pref","feed","nestedPrefs","nestedPref","_PrerenderData","initialPrefs","initialSections","_setValidation","validation","_validation","invalidatingPrefs","_invalidatingPrefs","next","oneOf","concat","arePrefsValid","getPref","some","provider","onInputMount","handleEvent","detail","gContentSearchController","search","input","healthReportKey","IS_NEWTAB","searchSource","ContentSearchUIController","Search","addLocaleDataForReactIntl","locale","addLocaleData","parentLocale","sendNewTabRehydrated","isPrerendered","PAGE_PRERENDERED","renderNotified","NEW_TAB_REHYDRATED","strings","shouldBeFixedToTop","PrerenderData","outerClassName","enableWideLayout","migrationExpired","Base","documentURI","CARDS_PER_ROW","Section","_dispatchImpressionStats","maxCards","maxRows","cards","needsImpressionStats","impressionCardGuids","sendImpressionStatsOrAddListener","_onVisibilityChange","isCollapsedPref","wasCollapsed","numberOfPlaceholders","items","remainder","emptyState","contextMenuOptions","shouldShowTopics","topics","realRows","placeholders","shouldShowEmptyState","padding","isWebExtension","_","read_more_endpoint","SectionIntl","_Sections","cardContextTypes","history","intlID","bookmark","trending","gImageLoading","activeCard","imageLoaded","maybeLoadImage","image","loaderPromise","loader","Image","src","catch","then","altKey","ctrlKey","metaKey","OPEN_LINK","WEBEXT_CLICK","click","hasImage","placeholder","description","join","context","Card","PlaceholderCard","SectionMenuOptions","RemoveSection","CollapseSection","collapsePrefName","ExpandSection","ManageSection","AddTopSite","PrivacyNotice","CheckCollapsed","DEFAULT_SECTION_MENU_OPTIONS","extraOptions","SectionMenu","Topic","Topics","t","countTopSitesIconsTypes","countTopSitesTypes","acc","faviconRef","tippytop","rich_icon","screenshot_with_icon","no_image","_TopSites","onFormClose","_dispatchTopSitesStats","_getVisibleTopSites","topSitesIconsStats","topSitesPinned","topsites_icon_stats","topsites_pinned","sitesPerRow","matchMedia","matches","onMount","validationError","focus","showClearButton","onClear","typeUrl","titleId","placeholderId","errorMessageId","TopSiteFormInput","onLabelChange","onUrlChange","onCancelButtonClick","onClearUrlClick","onDoneButtonClick","onClose","validateForm","cleanUrl","validateUrl","URL","validate","showAsAdd","TopSiteForm","DetectUserSessionStart","_store","_perfService","perfService","_sendEvent","visibility_event_rcvd_ts","MERGE_STORE_ACTION","OUTGOING_MESSAGE_NAME","INCOMING_MESSAGE_NAME","EARLY_QUEUED_ACTIONS","mergeStateReducer","mainReducer","messageMiddleware","au","sendAsyncMessage","rehydrationMiddleware","_didRehydrate","isMergeStoreAction","isRehydrationRequest","_didRequestInitialState","queueEarlyMessageMiddleware","_receivedFromMain","_earlyActionQueue","reducers","initialState","createStore","combineReducers","applyMiddleware","dump","JSON","stringify","stack"],"mappings":"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","file":"activity-stream.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 14);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 7e596bd065125db93ded","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nthis.MAIN_MESSAGE_TYPE = \"ActivityStream:Main\";\nthis.CONTENT_MESSAGE_TYPE = \"ActivityStream:Content\";\nthis.PRELOAD_MESSAGE_TYPE = \"ActivityStream:PreloadedBrowser\";\nthis.UI_CODE = 1;\nthis.BACKGROUND_PROCESS = 2;\n\n/**\n * globalImportContext - Are we in UI code (i.e. react, a dom) or some kind of background process?\n *                       Use this in action creators if you need different logic\n *                       for ui/background processes.\n */\nconst globalImportContext = typeof Window === \"undefined\" ? BACKGROUND_PROCESS : UI_CODE;\n// Export for tests\nthis.globalImportContext = globalImportContext;\n\n// Create an object that avoids accidental differing key/value pairs:\n// {\n//   INIT: \"INIT\",\n//   UNINIT: \"UNINIT\"\n// }\nconst actionTypes = {};\nfor (const type of [\n  \"ARCHIVE_FROM_POCKET\",\n  \"BLOCK_URL\",\n  \"BOOKMARK_URL\",\n  \"DELETE_BOOKMARK_BY_ID\",\n  \"DELETE_FROM_POCKET\",\n  \"DELETE_HISTORY_URL\",\n  \"DELETE_HISTORY_URL_CONFIRM\",\n  \"DIALOG_CANCEL\",\n  \"DIALOG_OPEN\",\n  \"DISABLE_ONBOARDING\",\n  \"INIT\",\n  \"MIGRATION_CANCEL\",\n  \"MIGRATION_COMPLETED\",\n  \"MIGRATION_START\",\n  \"NEW_TAB_INIT\",\n  \"NEW_TAB_INITIAL_STATE\",\n  \"NEW_TAB_LOAD\",\n  \"NEW_TAB_REHYDRATED\",\n  \"NEW_TAB_STATE_REQUEST\",\n  \"NEW_TAB_UNLOAD\",\n  \"OPEN_LINK\",\n  \"OPEN_NEW_WINDOW\",\n  \"OPEN_PRIVATE_WINDOW\",\n  \"PAGE_PRERENDERED\",\n  \"PLACES_BOOKMARK_ADDED\",\n  \"PLACES_BOOKMARK_CHANGED\",\n  \"PLACES_BOOKMARK_REMOVED\",\n  \"PLACES_HISTORY_CLEARED\",\n  \"PLACES_LINKS_DELETED\",\n  \"PLACES_LINK_BLOCKED\",\n  \"PLACES_SAVED_TO_POCKET\",\n  \"PREFS_INITIAL_VALUES\",\n  \"PREF_CHANGED\",\n  \"RICH_ICON_MISSING\",\n  \"SAVE_SESSION_PERF_DATA\",\n  \"SAVE_TO_POCKET\",\n  \"SCREENSHOT_UPDATED\",\n  \"SECTION_DEREGISTER\",\n  \"SECTION_DISABLE\",\n  \"SECTION_ENABLE\",\n  \"SECTION_OPTIONS_CHANGED\",\n  \"SECTION_REGISTER\",\n  \"SECTION_UPDATE\",\n  \"SECTION_UPDATE_CARD\",\n  \"SETTINGS_CLOSE\",\n  \"SETTINGS_OPEN\",\n  \"SET_PREF\",\n  \"SHOW_FIREFOX_ACCOUNTS\",\n  \"SNIPPETS_BLOCKLIST_UPDATED\",\n  \"SNIPPETS_DATA\",\n  \"SNIPPETS_RESET\",\n  \"SNIPPET_BLOCKED\",\n  \"SYSTEM_TICK\",\n  \"TELEMETRY_IMPRESSION_STATS\",\n  \"TELEMETRY_PERFORMANCE_EVENT\",\n  \"TELEMETRY_UNDESIRED_EVENT\",\n  \"TELEMETRY_USER_EVENT\",\n  \"TOP_SITES_CANCEL_EDIT\",\n  \"TOP_SITES_EDIT\",\n  \"TOP_SITES_INSERT\",\n  \"TOP_SITES_PIN\",\n  \"TOP_SITES_UNPIN\",\n  \"TOP_SITES_UPDATED\",\n  \"TOTAL_BOOKMARKS_REQUEST\",\n  \"TOTAL_BOOKMARKS_RESPONSE\",\n  \"UNINIT\",\n  \"WEBEXT_CLICK\",\n  \"WEBEXT_DISMISS\"\n]) {\n  actionTypes[type] = type;\n}\n\n// Helper function for creating routed actions between content and main\n// Not intended to be used by consumers\nfunction _RouteMessage(action, options) {\n  const meta = action.meta ? Object.assign({}, action.meta) : {};\n  if (!options || !options.from || !options.to) {\n    throw new Error(\"Routed Messages must have options as the second parameter, and must at least include a .from and .to property.\");\n  }\n  // For each of these fields, if they are passed as an option,\n  // add them to the action. If they are not defined, remove them.\n  [\"from\", \"to\", \"toTarget\", \"fromTarget\", \"skipMain\", \"skipLocal\"].forEach(o => {\n    if (typeof options[o] !== \"undefined\") {\n      meta[o] = options[o];\n    } else if (meta[o]) {\n      delete meta[o];\n    }\n  });\n  return Object.assign({}, action, {meta});\n}\n\n/**\n * AlsoToMain - Creates a message that will be dispatched locally and also sent to the Main process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {bool}   skipLocal Used by OnlyToMain to skip the main reducer\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToMain(action, fromTarget, skipLocal) {\n  return _RouteMessage(action, {\n    from: CONTENT_MESSAGE_TYPE,\n    to: MAIN_MESSAGE_TYPE,\n    fromTarget,\n    skipLocal\n  });\n}\n\n/**\n * OnlyToMain - Creates a message that will be sent to the Main process and skip the local reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToMain(action, fromTarget) {\n  return AlsoToMain(action, fromTarget, true);\n}\n\n/**\n * BroadcastToContent - Creates a message that will be dispatched to main and sent to ALL content processes.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction BroadcastToContent(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE\n  });\n}\n\n/**\n * AlsoToOneContent - Creates a message that will be will be dispatched to the main store\n *                    and also sent to a particular Content process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @param  {bool} skipMain Used by OnlyToOneContent to skip the main process\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToOneContent(action, target, skipMain) {\n  if (!target) {\n    throw new Error(\"You must provide a target ID as the second parameter of AlsoToOneContent. If you want to send to all content processes, use BroadcastToContent\");\n  }\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE,\n    toTarget: target,\n    skipMain\n  });\n}\n\n/**\n * OnlyToOneContent - Creates a message that will be sent to a particular Content process\n *                    and skip the main reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToOneContent(action, target) {\n  return AlsoToOneContent(action, target, true);\n}\n\n/**\n * AlsoToPreloaded - Creates a message that dispatched to the main reducer and also sent to the preloaded tab.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToPreloaded(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: PRELOAD_MESSAGE_TYPE\n  });\n}\n\n/**\n * UserEvent - A telemetry ping indicating a user action. This should only\n *                   be sent from the UI during a user session.\n *\n * @param  {object} data Fields to include in the ping (source, etc.)\n * @return {object} An AlsoToMain action\n */\nfunction UserEvent(data) {\n  return AlsoToMain({\n    type: actionTypes.TELEMETRY_USER_EVENT,\n    data\n  });\n}\n\n/**\n * UndesiredEvent - A telemetry ping indicating an undesired state.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction UndesiredEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_UNDESIRED_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * PerfEvent - A telemetry ping indicating a performance-related event.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction PerfEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_PERFORMANCE_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * ImpressionStats - A telemetry ping indicating an impression stats.\n *\n * @param  {object} data Fields to include in the ping\n * @param  {int} importContext (For testing) Override the import context for testing.\n * #return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction ImpressionStats(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_IMPRESSION_STATS,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction SetPref(name, value, importContext = globalImportContext) {\n  const action = {type: actionTypes.SET_PREF, data: {name, value}};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction WebExtEvent(type, data, importContext = globalImportContext) {\n  if (!data || !data.source) {\n    throw new Error(\"WebExtEvent actions should include a property \\\"source\\\", the id of the webextension that should receive the event.\");\n  }\n  const action = {type, data};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nthis.actionTypes = actionTypes;\n\nthis.actionCreators = {\n  BroadcastToContent,\n  UserEvent,\n  UndesiredEvent,\n  PerfEvent,\n  ImpressionStats,\n  AlsoToOneContent,\n  OnlyToOneContent,\n  AlsoToMain,\n  OnlyToMain,\n  AlsoToPreloaded,\n  SetPref,\n  WebExtEvent\n};\n\n// These are helpers to test for certain kinds of actions\nthis.actionUtils = {\n  isSendToMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === MAIN_MESSAGE_TYPE && action.meta.from === CONTENT_MESSAGE_TYPE;\n  },\n  isBroadcastToContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && !action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToOneContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToPreloaded(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === PRELOAD_MESSAGE_TYPE &&\n      action.meta.from === MAIN_MESSAGE_TYPE;\n  },\n  isFromMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.from === MAIN_MESSAGE_TYPE &&\n      action.meta.to === CONTENT_MESSAGE_TYPE;\n  },\n  getPortIdOfSender(action) {\n    return (action.meta && action.meta.fromTarget) || null;\n  },\n  _RouteMessage\n};\n\nconst EXPORTED_SYMBOLS = [\n  \"actionTypes\",\n  \"actionCreators\",\n  \"actionUtils\",\n  \"globalImportContext\",\n  \"UI_CODE\",\n  \"BACKGROUND_PROCESS\",\n  \"MAIN_MESSAGE_TYPE\",\n  \"CONTENT_MESSAGE_TYPE\",\n  \"PRELOAD_MESSAGE_TYPE\"\n];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Actions.jsm","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 1\n// module chunks = 0","module.exports = ReactIntl;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactIntl\"\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","module.exports = ReactRedux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactRedux\"\n// module id = 4\n// module chunks = 0","export const TOP_SITES_SOURCE = \"TOP_SITES\";\nexport const TOP_SITES_CONTEXT_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\",\n  \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\", \"DeleteUrl\"];\n// minimum size necessary to show a rich icon instead of a screenshot\nexport const MIN_RICH_FAVICON_SIZE = 96;\n// minimum size necessary to show any icon in the top left corner with a screenshot\nexport const MIN_CORNER_FAVICON_SIZE = 16;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSitesConstants.js","this.Dedupe = class Dedupe {\n  constructor(createKey) {\n    this.createKey = createKey || this.defaultCreateKey;\n  }\n\n  defaultCreateKey(item) {\n    return item;\n  }\n\n  /**\n   * Dedupe any number of grouped elements favoring those from earlier groups.\n   *\n   * @param {Array} groups Contains an arbitrary number of arrays of elements.\n   * @returns {Array} A matching array of each provided group deduped.\n   */\n  group(...groups) {\n    const globalKeys = new Set();\n    const result = [];\n    for (const values of groups) {\n      const valueMap = new Map();\n      for (const value of values) {\n        const key = this.createKey(value);\n        if (!globalKeys.has(key) && !valueMap.has(key)) {\n          valueMap.set(key, value);\n        }\n      }\n      result.push(valueMap);\n      valueMap.forEach((value, key) => globalKeys.add(key));\n    }\n    return result.map(m => Array.from(m.values()));\n  }\n};\n\nconst EXPORTED_SYMBOLS = [\"Dedupe\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Dedupe.jsm","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nconst {actionTypes: at} = ChromeUtils.import(\"resource://activity-stream/common/Actions.jsm\", {});\nconst {Dedupe} = ChromeUtils.import(\"resource://activity-stream/common/Dedupe.jsm\", {});\n\nconst TOP_SITES_DEFAULT_ROWS = 1;\nconst TOP_SITES_MAX_SITES_PER_ROW = 8;\n\nconst dedupe = new Dedupe(site => site && site.url);\n\nconst INITIAL_STATE = {\n  App: {\n    // Have we received real data from the app yet?\n    initialized: false,\n    // The version of the system-addon\n    version: null\n  },\n  Snippets: {initialized: false},\n  TopSites: {\n    // Have we received real data from history yet?\n    initialized: false,\n    // The history (and possibly default) links\n    rows: [],\n    // Used in content only to dispatch action to TopSiteForm.\n    editForm: null\n  },\n  Prefs: {\n    initialized: false,\n    values: {}\n  },\n  Dialog: {\n    visible: false,\n    data: {}\n  },\n  Sections: [],\n  PreferencesPane: {visible: false}\n};\n\nfunction App(prevState = INITIAL_STATE.App, action) {\n  switch (action.type) {\n    case at.INIT:\n      return Object.assign({}, prevState, action.data || {}, {initialized: true});\n    default:\n      return prevState;\n  }\n}\n\n/**\n * insertPinned - Inserts pinned links in their specified slots\n *\n * @param {array} a list of links\n * @param {array} a list of pinned links\n * @return {array} resulting list of links with pinned links inserted\n */\nfunction insertPinned(links, pinned) {\n  // Remove any pinned links\n  const pinnedUrls = pinned.map(link => link && link.url);\n  let newLinks = links.filter(link => (link ? !pinnedUrls.includes(link.url) : false));\n  newLinks = newLinks.map(link => {\n    if (link && link.isPinned) {\n      delete link.isPinned;\n      delete link.pinIndex;\n    }\n    return link;\n  });\n\n  // Then insert them in their specified location\n  pinned.forEach((val, index) => {\n    if (!val) { return; }\n    let link = Object.assign({}, val, {isPinned: true, pinIndex: index});\n    if (index > newLinks.length) {\n      newLinks[index] = link;\n    } else {\n      newLinks.splice(index, 0, link);\n    }\n  });\n\n  return newLinks;\n}\n\nfunction TopSites(prevState = INITIAL_STATE.TopSites, action) {\n  let hasMatch;\n  let newRows;\n  switch (action.type) {\n    case at.TOP_SITES_UPDATED:\n      if (!action.data) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {initialized: true, rows: action.data});\n    case at.TOP_SITES_EDIT:\n      return Object.assign({}, prevState, {editForm: {index: action.data.index}});\n    case at.TOP_SITES_CANCEL_EDIT:\n      return Object.assign({}, prevState, {editForm: null});\n    case at.SCREENSHOT_UPDATED:\n      newRows = prevState.rows.map(row => {\n        if (row && row.url === action.data.url) {\n          hasMatch = true;\n          return Object.assign({}, row, {screenshot: action.data.screenshot});\n        }\n        return row;\n      });\n      return hasMatch ? Object.assign({}, prevState, {rows: newRows}) : prevState;\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n          return Object.assign({}, site, {bookmarkGuid, bookmarkTitle, bookmarkDateCreated: dateAdded});\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const newSite = Object.assign({}, site);\n          delete newSite.bookmarkGuid;\n          delete newSite.bookmarkTitle;\n          delete newSite.bookmarkDateCreated;\n          return newSite;\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    default:\n      return prevState;\n  }\n}\n\nfunction Dialog(prevState = INITIAL_STATE.Dialog, action) {\n  switch (action.type) {\n    case at.DIALOG_OPEN:\n      return Object.assign({}, prevState, {visible: true, data: action.data});\n    case at.DIALOG_CANCEL:\n      return Object.assign({}, prevState, {visible: false});\n    case at.DELETE_HISTORY_URL:\n      return Object.assign({}, INITIAL_STATE.Dialog);\n    default:\n      return prevState;\n  }\n}\n\nfunction Prefs(prevState = INITIAL_STATE.Prefs, action) {\n  let newValues;\n  switch (action.type) {\n    case at.PREFS_INITIAL_VALUES:\n      return Object.assign({}, prevState, {initialized: true, values: action.data});\n    case at.PREF_CHANGED:\n      newValues = Object.assign({}, prevState.values);\n      newValues[action.data.name] = action.data.value;\n      return Object.assign({}, prevState, {values: newValues});\n    default:\n      return prevState;\n  }\n}\n\nfunction Sections(prevState = INITIAL_STATE.Sections, action) {\n  let hasMatch;\n  let newState;\n  switch (action.type) {\n    case at.SECTION_DEREGISTER:\n      return prevState.filter(section => section.id !== action.data);\n    case at.SECTION_REGISTER:\n      // If section exists in prevState, update it\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          hasMatch = true;\n          return Object.assign({}, section, action.data);\n        }\n        return section;\n      });\n\n      // Invariant: Sections array sorted in increasing order of property `order`.\n      // If section doesn't exist in prevState, create a new section object. If\n      // the section has an order, insert it at the correct place in the array.\n      // Otherwise, prepend it and set the order to be minimal.\n      if (!hasMatch) {\n        const initialized = !!(action.data.rows && action.data.rows.length > 0);\n        let order;\n        let index;\n        if (prevState.length > 0) {\n          order = action.data.order !== undefined ? action.data.order : prevState[0].order - 1;\n          index = newState.findIndex(section => section.order >= order);\n          if (index === -1) {\n            index = newState.length;\n          }\n        } else {\n          order = action.data.order !== undefined ? action.data.order : 0;\n          index = 0;\n        }\n\n        const section = Object.assign({title: \"\", rows: [], order, enabled: false}, action.data, {initialized});\n        newState.splice(index, 0, section);\n      }\n      return newState;\n    case at.SECTION_UPDATE:\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          // If the action is updating rows, we should consider initialized to be true.\n          // This can be overridden if initialized is defined in the action.data\n          const initialized = action.data.rows ? {initialized: true} : {};\n\n          // Make sure pinned cards stay at their current position when rows are updated.\n          // Disabling a section (SECTION_UPDATE with empty rows) does not retain pinned cards.\n          if (action.data.rows && action.data.rows.length > 0 && section.rows.find(card => card.pinned)) {\n            const rows = Array.from(action.data.rows);\n            section.rows.forEach((card, index) => {\n              if (card.pinned) {\n                rows.splice(index, 0, card);\n              }\n            });\n            return Object.assign({}, section, initialized, Object.assign({}, action.data, {rows}));\n          }\n\n          return Object.assign({}, section, initialized, action.data);\n        }\n        return section;\n      });\n\n      if (!action.data.dedupeConfigurations) {\n        return newState;\n      }\n\n      action.data.dedupeConfigurations.forEach(dedupeConf => {\n        newState = newState.map(section => {\n          if (section.id === dedupeConf.id) {\n            const dedupedRows = dedupeConf.dedupeFrom.reduce((rows, dedupeSectionId) => {\n              const dedupeSection = newState.find(s => s.id === dedupeSectionId);\n              const [, newRows] = dedupe.group(dedupeSection.rows, rows);\n              return newRows;\n            }, section.rows);\n\n            return Object.assign({}, section, {rows: dedupedRows});\n          }\n\n          return section;\n        });\n      });\n\n      return newState;\n    case at.SECTION_UPDATE_CARD:\n      return prevState.map(section => {\n        if (section && section.id === action.data.id && section.rows) {\n          const newRows = section.rows.map(card => {\n            if (card.url === action.data.url) {\n              return Object.assign({}, card, action.data.options);\n            }\n            return card;\n          });\n          return Object.assign({}, section, {rows: newRows});\n        }\n        return section;\n      });\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the item within the rows that is attempted to be bookmarked\n          if (item.url === action.data.url) {\n            const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n            return Object.assign({}, item, {\n              bookmarkGuid,\n              bookmarkTitle,\n              bookmarkDateCreated: dateAdded,\n              type: \"bookmark\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_SAVED_TO_POCKET:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          if (item.url === action.data.url) {\n            return Object.assign({}, item, {\n              open_url: action.data.open_url,\n              pocket_id: action.data.pocket_id,\n              title: action.data.title,\n              type: \"pocket\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the bookmark within the rows that is attempted to be removed\n          if (item.url === action.data.url) {\n            const newSite = Object.assign({}, item);\n            delete newSite.bookmarkGuid;\n            delete newSite.bookmarkTitle;\n            delete newSite.bookmarkDateCreated;\n            if (!newSite.type || newSite.type === \"bookmark\") {\n              newSite.type = \"history\";\n            }\n            return newSite;\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_LINKS_DELETED:\n      return prevState.map(section => Object.assign({}, section,\n        {rows: section.rows.filter(site => !action.data.includes(site.url))}));\n    case at.PLACES_LINK_BLOCKED:\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.url !== action.data.url)}));\n    case at.DELETE_FROM_POCKET:\n    case at.ARCHIVE_FROM_POCKET:\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.pocket_id !== action.data.pocket_id)}));\n    default:\n      return prevState;\n  }\n}\n\nfunction Snippets(prevState = INITIAL_STATE.Snippets, action) {\n  switch (action.type) {\n    case at.SNIPPETS_DATA:\n      return Object.assign({}, prevState, {initialized: true}, action.data);\n    case at.SNIPPETS_RESET:\n      return INITIAL_STATE.Snippets;\n    default:\n      return prevState;\n  }\n}\n\nfunction PreferencesPane(prevState = INITIAL_STATE.PreferencesPane, action) {\n  switch (action.type) {\n    case at.SETTINGS_OPEN:\n      return Object.assign({}, prevState, {visible: true});\n    case at.SETTINGS_CLOSE:\n      return Object.assign({}, prevState, {visible: false});\n    default:\n      return prevState;\n  }\n}\n\nthis.INITIAL_STATE = INITIAL_STATE;\nthis.TOP_SITES_DEFAULT_ROWS = TOP_SITES_DEFAULT_ROWS;\nthis.TOP_SITES_MAX_SITES_PER_ROW = TOP_SITES_MAX_SITES_PER_ROW;\n\nthis.reducers = {TopSites, App, Snippets, Prefs, Dialog, Sections, PreferencesPane};\n\nconst EXPORTED_SYMBOLS = [\"reducers\", \"INITIAL_STATE\", \"insertPinned\", \"TOP_SITES_DEFAULT_ROWS\", \"TOP_SITES_MAX_SITES_PER_ROW\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Reducers.jsm","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class ErrorBoundaryFallback extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.windowObj = this.props.windowObj || window;\n    this.onClick = this.onClick.bind(this);\n  }\n\n  /**\n   * Since we only get here if part of the page has crashed, do a\n   * forced reload to give us the best chance at recovering.\n   */\n  onClick() {\n    this.windowObj.location.reload(true);\n  }\n\n  render() {\n    const defaultClass = \"as-error-fallback\";\n    let className;\n    if (\"className\" in this.props) {\n      className = `${this.props.className} ${defaultClass}`;\n    } else {\n      className = defaultClass;\n    }\n\n    // href=\"#\" to force normal link styling stuff (eg cursor on hover)\n    return (\n      <div className={className}>\n        <div>\n          <FormattedMessage\n            defaultMessage=\"Oops, something went wrong loading this content.\"\n            id=\"error_fallback_default_info\" />\n        </div>\n        <span>\n          <a href=\"#\" className=\"reload-button\" onClick={this.onClick}>\n            <FormattedMessage\n              defaultMessage=\"Refresh page to try again.\"\n              id=\"error_fallback_default_refresh_suggestion\" />\n          </a>\n        </span>\n      </div>\n    );\n  }\n}\nErrorBoundaryFallback.defaultProps = {className: \"as-error-fallback\"};\n\nexport class ErrorBoundary extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {hasError: false};\n  }\n\n  componentDidCatch(error, info) {\n    this.setState({hasError: true});\n  }\n\n  render() {\n    if (!this.state.hasError) {\n      return (this.props.children);\n    }\n\n    return <this.props.FallbackComponent className={this.props.className} />;\n  }\n}\n\nErrorBoundary.defaultProps = {FallbackComponent: ErrorBoundaryFallback};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\nconst _OpenInPrivateWindow = site => ({\n  id: \"menu_action_open_private_window\",\n  icon: \"new-window-private\",\n  action: ac.OnlyToMain({\n    type: at.OPEN_PRIVATE_WINDOW,\n    data: {url: site.url, referrer: site.referrer}\n  }),\n  userEvent: \"OPEN_PRIVATE_WINDOW\"\n});\n\n/**\n * List of functions that return items that can be included as menu options in a\n * LinkMenu. All functions take the site as the first parameter, and optionally\n * the index of the site.\n */\nexport const LinkMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  EmptyItem: () => ({type: \"empty\"}),\n  RemoveBookmark: site => ({\n    id: \"menu_action_remove_bookmark\",\n    icon: \"bookmark-added\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_BOOKMARK_BY_ID,\n      data: site.bookmarkGuid\n    }),\n    userEvent: \"BOOKMARK_DELETE\"\n  }),\n  AddBookmark: site => ({\n    id: \"menu_action_bookmark\",\n    icon: \"bookmark-hollow\",\n    action: ac.AlsoToMain({\n      type: at.BOOKMARK_URL,\n      data: {url: site.url, title: site.title, type: site.type}\n    }),\n    userEvent: \"BOOKMARK_ADD\"\n  }),\n  OpenInNewWindow: site => ({\n    id: \"menu_action_open_new_window\",\n    icon: \"new-window\",\n    action: ac.AlsoToMain({\n      type: at.OPEN_NEW_WINDOW,\n      data: {url: site.url, referrer: site.referrer}\n    }),\n    userEvent: \"OPEN_NEW_WINDOW\"\n  }),\n  BlockUrl: (site, index, eventSource) => ({\n    id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.AlsoToMain({\n      type: at.BLOCK_URL,\n      data: {url: site.url, pocket_id: site.pocket_id}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      block: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"BLOCK\"\n  }),\n\n  // This is an option for web extentions which will result in remove items from\n  // memory and notify the web extenion, rather than using the built-in block list.\n  WebExtDismiss: (site, index, eventSource) => ({\n    id: \"menu_action_webext_dismiss\",\n    string_id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.WebExtEvent(at.WEBEXT_DISMISS, {\n      source: eventSource,\n      url: site.url,\n      action_position: index\n    })\n  }),\n  DeleteUrl: (site, index, eventSource) => ({\n    id: \"menu_action_delete\",\n    icon: \"delete\",\n    action: {\n      type: at.DIALOG_OPEN,\n      data: {\n        onConfirm: [\n          ac.AlsoToMain({type: at.DELETE_HISTORY_URL, data: {url: site.url, pocket_id: site.pocket_id, forceBlock: site.bookmarkGuid}}),\n          ac.UserEvent({event: \"DELETE\", source: eventSource, action_position: index})\n        ],\n        eventSource,\n        body_string_id: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n        confirm_button_string_id: \"menu_action_delete\",\n        cancel_button_string_id: \"topsites_form_cancel_button\",\n        icon: \"modal-delete\"\n      }\n    },\n    userEvent: \"DIALOG_OPEN\"\n  }),\n  PinTopSite: (site, index) => ({\n    id: \"menu_action_pin\",\n    icon: \"pin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_PIN,\n      data: {site: {url: site.url}, index}\n    }),\n    userEvent: \"PIN\"\n  }),\n  UnpinTopSite: site => ({\n    id: \"menu_action_unpin\",\n    icon: \"unpin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_UNPIN,\n      data: {site: {url: site.url}}\n    }),\n    userEvent: \"UNPIN\"\n  }),\n  SaveToPocket: (site, index, eventSource) => ({\n    id: \"menu_action_save_to_pocket\",\n    icon: \"pocket\",\n    action: ac.AlsoToMain({\n      type: at.SAVE_TO_POCKET,\n      data: {site: {url: site.url, title: site.title}}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      pocket: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"SAVE_TO_POCKET\"\n  }),\n  DeleteFromPocket: site => ({\n    id: \"menu_action_delete_pocket\",\n    icon: \"delete\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"DELETE_FROM_POCKET\"\n  }),\n  ArchiveFromPocket: site => ({\n    id: \"menu_action_archive_pocket\",\n    icon: \"check\",\n    action: ac.AlsoToMain({\n      type: at.ARCHIVE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"ARCHIVE_FROM_POCKET\"\n  }),\n  EditTopSite: (site, index) => ({\n    id: \"edit_topsites_button_text\",\n    icon: \"edit\",\n    action: {\n      type: at.TOP_SITES_EDIT,\n      data: {index}\n    }\n  }),\n  CheckBookmark: site => (site.bookmarkGuid ? LinkMenuOptions.RemoveBookmark(site) : LinkMenuOptions.AddBookmark(site)),\n  CheckPinTopSite: (site, index) => (site.isPinned ? LinkMenuOptions.UnpinTopSite(site) : LinkMenuOptions.PinTopSite(site, index)),\n  CheckSavedToPocket: (site, index) => (site.pocket_id ? LinkMenuOptions.DeleteFromPocket(site) : LinkMenuOptions.SaveToPocket(site, index)),\n  CheckBookmarkOrArchive: site => (site.pocket_id ? LinkMenuOptions.ArchiveFromPocket(site) : LinkMenuOptions.CheckBookmark(site)),\n  CheckDeleteHistoryOrEmpty: (site, index, eventSource) => (site.pocket_id ? LinkMenuOptions.EmptyItem() : LinkMenuOptions.DeleteUrl(site, index, eventSource)),\n  OpenInPrivateWindow: (site, index, eventSource, isEnabled) => (isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem())\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/link-menu-options.js","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport {LinkMenuOptions} from \"content-src/lib/link-menu-options\";\nimport React from \"react\";\n\nconst DEFAULT_SITE_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\", \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\"];\n\nexport class _LinkMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n    const {site, index, source, isPrivateBrowsingEnabled} = props;\n\n    // Handle special case of default site\n    const propOptions = !site.isDefault ? props.options : DEFAULT_SITE_MENU_OPTIONS;\n\n    const options = propOptions.map(o => LinkMenuOptions[o](site, index, source, isPrivateBrowsingEnabled)).map(option => {\n      const {action, impression, id, string_id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id: string_id || id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            props.dispatch(ac.UserEvent({\n              event: userEvent,\n              source,\n              action_position: index\n            }));\n          }\n          if (impression && props.shouldSendImpressionStats) {\n            props.dispatch(impression);\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nconst getState = state => ({isPrivateBrowsingEnabled: state.Prefs.values.isPrivateBrowsingEnabled});\nexport const LinkMenu = connect(getState)(injectIntl(_LinkMenu));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","import React from \"react\";\n\nexport class ContextMenu extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.hideContext = this.hideContext.bind(this);\n  }\n\n  hideContext() {\n    this.props.onUpdate(false);\n  }\n\n  componentDidMount() {\n    setTimeout(() => {\n      global.addEventListener(\"click\", this.hideContext);\n    }, 0);\n  }\n\n  componentWillUnmount() {\n    global.removeEventListener(\"click\", this.hideContext);\n  }\n\n  render() {\n    return (<span className=\"context-menu\">\n      <ul role=\"menu\" className=\"context-menu-list\">\n        {this.props.options.map((option, i) => (option.type === \"separator\" ?\n          (<li key={i} className=\"separator\" />) :\n          (option.type !== \"empty\" && <ContextMenuItem key={i} option={option} hideContext={this.hideContext} />)\n        ))}\n      </ul>\n    </span>);\n  }\n}\n\nexport class ContextMenuItem extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onKeyDown = this.onKeyDown.bind(this);\n  }\n\n  onClick() {\n    this.props.hideContext();\n    this.props.option.onClick();\n  }\n\n  onKeyDown(event) {\n    const {option} = this.props;\n    switch (event.key) {\n      case \"Tab\":\n        // tab goes down in context menu, shift + tab goes up in context menu\n        // if we're on the last item, one more tab will close the context menu\n        // similarly, if we're on the first item, one more shift + tab will close it\n        if ((event.shiftKey && option.first) || (!event.shiftKey && option.last)) {\n          this.props.hideContext();\n        }\n        break;\n      case \"Enter\":\n        this.props.hideContext();\n        option.onClick();\n        break;\n    }\n  }\n\n  render() {\n    const {option} = this.props;\n    return (\n      <li role=\"menuitem\" className=\"context-menu-item\">\n        <a onClick={this.onClick} onKeyDown={this.onKeyDown} tabIndex=\"0\">\n          {option.icon && <span className={`icon icon-spacer icon-${option.icon}`} />}\n          {option.label}\n        </a>\n      </li>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","import {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport React from \"react\";\nimport {SectionMenu} from \"content-src/components/SectionMenu/SectionMenu\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\nfunction getCollapsed(props) {\n  return (props.prefName in props.Prefs.values) ? props.Prefs.values[props.prefName] : false;\n}\n\nexport class Disclaimer extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onAcknowledge = this.onAcknowledge.bind(this);\n  }\n\n  onAcknowledge() {\n    this.props.dispatch(ac.SetPref(this.props.disclaimerPref, false));\n    this.props.dispatch(ac.UserEvent({event: \"SECTION_DISCLAIMER_ACKNOWLEDGED\", source: this.props.eventSource}));\n  }\n\n  render() {\n    const {disclaimer} = this.props;\n    return (\n      <div className=\"section-disclaimer\">\n          <div className=\"section-disclaimer-text\">\n            {getFormattedMessage(disclaimer.text)}\n            {disclaimer.link &&\n              <a href={disclaimer.link.href} target=\"_blank\" rel=\"noopener noreferrer\">\n                {getFormattedMessage(disclaimer.link.title || disclaimer.link)}\n              </a>\n            }\n          </div>\n\n          <button onClick={this.onAcknowledge}>\n            {getFormattedMessage(disclaimer.button)}\n          </button>\n      </div>\n    );\n  }\n}\n\nexport const DisclaimerIntl = injectIntl(Disclaimer);\n\nexport class _CollapsibleSection extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onBodyMount = this.onBodyMount.bind(this);\n    this.onHeaderClick = this.onHeaderClick.bind(this);\n    this.onTransitionEnd = this.onTransitionEnd.bind(this);\n    this.enableOrDisableAnimation = this.enableOrDisableAnimation.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuButtonMouseEnter = this.onMenuButtonMouseEnter.bind(this);\n    this.onMenuButtonMouseLeave = this.onMenuButtonMouseLeave.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.state = {enableAnimation: true, isAnimating: false, menuButtonHover: false, showContextMenu: false};\n  }\n\n  componentWillMount() {\n    this.props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  componentWillUpdate(nextProps) {\n    // Check if we're about to go from expanded to collapsed\n    if (!getCollapsed(this.props) && getCollapsed(nextProps)) {\n      // This next line forces a layout flush of the section body, which has a\n      // max-height style set, so that the upcoming collapse animation can\n      // animate from that height to the collapsed height. Without this, the\n      // update is coalesced and there's no animation from no-max-height to 0.\n      this.sectionBody.scrollHeight; // eslint-disable-line no-unused-expressions\n    }\n  }\n\n  componentWillUnmount() {\n    this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  enableOrDisableAnimation() {\n    // Only animate the collapse/expand for visible tabs.\n    const visible = this.props.document.visibilityState === VISIBLE;\n    if (this.state.enableAnimation !== visible) {\n      this.setState({enableAnimation: visible});\n    }\n  }\n\n  onBodyMount(node) {\n    this.sectionBody = node;\n  }\n\n  onHeaderClick() {\n    // If this.sectionBody is unset, it means that we're in some sort of error\n    // state, probably displaying the error fallback, so we won't be able to\n    // compute the height, and we don't want to persist the preference.\n    if (!this.sectionBody) {\n      return;\n    }\n\n    // Get the current height of the body so max-height transitions can work\n    this.setState({\n      isAnimating: true,\n      maxHeight: `${this.sectionBody.scrollHeight}px`\n    });\n    this.props.dispatch(ac.SetPref(this.props.prefName, !getCollapsed(this.props)));\n  }\n\n  onTransitionEnd(event) {\n    // Only update the animating state for our own transition (not a child's)\n    if (event.target === event.currentTarget) {\n      this.setState({isAnimating: false});\n    }\n  }\n\n  renderIcon() {\n    const {icon} = this.props;\n    if (icon && icon.startsWith(\"moz-extension://\")) {\n      return <span className=\"icon icon-small-spacer\" style={{backgroundImage: `url('${icon}')`}} />;\n    }\n    return <span className={`icon icon-small-spacer icon-${icon || \"webextension\"}`} />;\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuButtonMouseEnter() {\n    this.setState({menuButtonHover: true});\n  }\n\n  onMenuButtonMouseLeave() {\n    this.setState({menuButtonHover: false});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const isCollapsible = this.props.prefName in this.props.Prefs.values;\n    const isCollapsed = getCollapsed(this.props);\n    const {enableAnimation, isAnimating, maxHeight, menuButtonHover, showContextMenu} = this.state;\n    const {id, eventSource, disclaimer, title, extraMenuOptions, prefName, showPrefName, privacyNoticeURL, dispatch} = this.props;\n    const disclaimerPref = `section.${id}.showDisclaimer`;\n    const needsDisclaimer = disclaimer && this.props.Prefs.values[disclaimerPref];\n    const active = menuButtonHover || showContextMenu;\n\n    return (\n      <section className={`collapsible-section ${this.props.className}${enableAnimation ? \" animation-enabled\" : \"\"}${isCollapsed ? \" collapsed\" : \"\"}${active ? \" active\" : \"\"}`}>\n        <div className=\"section-top-bar\">\n          <h3 className=\"section-title\">\n            <span className=\"click-target\" onClick={isCollapsible && this.onHeaderClick}>\n              {this.renderIcon()}\n              {title}\n            {isCollapsible && <span className={`collapsible-arrow icon ${isCollapsed ? \"icon-arrowhead-forward-small\" : \"icon-arrowhead-down-small\"}`} />}\n            </span>\n          </h3>\n          <div>\n            <button\n              className=\"context-menu-button icon\"\n              onClick={this.onMenuButtonClick}\n              onMouseEnter={this.onMenuButtonMouseEnter}\n              onMouseLeave={this.onMenuButtonMouseLeave}>\n              <span className=\"sr-only\">\n                <FormattedMessage id=\"section_context_menu_button_sr\" />\n              </span>\n            </button>\n            {showContextMenu &&\n              <SectionMenu\n                extraOptions={extraMenuOptions}\n                eventSource={eventSource}\n                showPrefName={showPrefName}\n                collapsePrefName={prefName}\n                privacyNoticeURL={privacyNoticeURL}\n                isCollapsed={isCollapsed}\n                onUpdate={this.onMenuUpdate}\n                dispatch={dispatch} />\n            }\n          </div>\n        </div>\n        <ErrorBoundary className=\"section-body-fallback\">\n          <div\n            className={`section-body${isAnimating ? \" animating\" : \"\"}`}\n            onTransitionEnd={this.onTransitionEnd}\n            ref={this.onBodyMount}\n            style={isAnimating && !isCollapsed ? {maxHeight} : null}>\n            {needsDisclaimer && <DisclaimerIntl disclaimerPref={disclaimerPref} disclaimer={disclaimer} eventSource={eventSource} dispatch={this.props.dispatch} />}\n            {this.props.children}\n          </div>\n        </ErrorBoundary>\n      </section>\n    );\n  }\n}\n\n_CollapsibleSection.defaultProps = {\n  document: global.document || {\n    addEventListener: () => {},\n    removeEventListener: () => {},\n    visibilityState: \"hidden\"\n  },\n  Prefs: {values: {}}\n};\n\nexport const CollapsibleSection = injectIntl(_CollapsibleSection);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\nimport React from \"react\";\n\n// Currently record only a fixed set of sections. This will prevent data\n// from custom sections from showing up or from topstories.\nconst RECORDED_SECTIONS = [\"highlights\", \"topsites\"];\n\nexport class ComponentPerfTimer extends React.Component {\n  constructor(props) {\n    super(props);\n    // Just for test dependency injection:\n    this.perfSvc = this.props.perfSvc || perfSvc;\n\n    this._sendBadStateEvent = this._sendBadStateEvent.bind(this);\n    this._sendPaintedEvent = this._sendPaintedEvent.bind(this);\n    this._reportMissingData = false;\n    this._timestampHandled = false;\n    this._recordedFirstRender = false;\n  }\n\n  componentDidMount() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  componentDidUpdate() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  /**\n   * Call the given callback after the upcoming frame paints.\n   *\n   * @note Both setTimeout and requestAnimationFrame are throttled when the page\n   * is hidden, so this callback may get called up to a second or so after the\n   * requestAnimationFrame \"paint\" for hidden tabs.\n   *\n   * Newtabs hidden while loading will presumably be fairly rare (other than\n   * preloaded tabs, which we will be filtering out on the server side), so such\n   * cases should get lost in the noise.\n   *\n   * If we decide that it's important to find out when something that's hidden\n   * has \"painted\", however, another option is to post a message to this window.\n   * That should happen even faster than setTimeout, and, at least as of this\n   * writing, it's not throttled in hidden windows in Firefox.\n   *\n   * @param {Function} callback\n   *\n   * @returns void\n   */\n  _afterFramePaint(callback) {\n    requestAnimationFrame(() => setTimeout(callback, 0));\n  }\n\n  _maybeSendBadStateEvent() {\n    // Follow up bugs:\n    // https://github.com/mozilla/activity-stream/issues/3691\n    if (!this.props.initialized) {\n      // Remember to report back when data is available.\n      this._reportMissingData = true;\n    } else if (this._reportMissingData) {\n      this._reportMissingData = false;\n      // Report how long it took for component to become initialized.\n      this._sendBadStateEvent();\n    }\n  }\n\n  _maybeSendPaintedEvent() {\n    // If we've already handled a timestamp, don't do it again.\n    if (this._timestampHandled || !this.props.initialized) {\n      return;\n    }\n\n    // And if we haven't, we're doing so now, so remember that. Even if\n    // something goes wrong in the callback, we can't try again, as we'd be\n    // sending back the wrong data, and we have to do it here, so that other\n    // calls to this method while waiting for the next frame won't also try to\n    // handle it.\n    this._timestampHandled = true;\n    this._afterFramePaint(this._sendPaintedEvent);\n  }\n\n  /**\n   * Triggered by call to render. Only first call goes through due to\n   * `_recordedFirstRender`.\n   */\n  _ensureFirstRenderTsRecorded() {\n    // Used as t0 for recording how long component took to initialize.\n    if (!this._recordedFirstRender) {\n      this._recordedFirstRender = true;\n      // topsites_first_render_ts, highlights_first_render_ts.\n      const key = `${this.props.id}_first_render_ts`;\n      this.perfSvc.mark(key);\n    }\n  }\n\n  /**\n   * Creates `TELEMETRY_UNDESIRED_EVENT` with timestamp in ms\n   * of how much longer the data took to be ready for display than it would\n   * have been the ideal case.\n   * https://github.com/mozilla/ping-centre/issues/98\n   */\n  _sendBadStateEvent() {\n    // highlights_data_ready_ts, topsites_data_ready_ts.\n    const dataReadyKey = `${this.props.id}_data_ready_ts`;\n    this.perfSvc.mark(dataReadyKey);\n\n    try {\n      const firstRenderKey = `${this.props.id}_first_render_ts`;\n      // value has to be Int32.\n      const value = parseInt(this.perfSvc.getMostRecentAbsMarkStartByName(dataReadyKey) -\n                             this.perfSvc.getMostRecentAbsMarkStartByName(firstRenderKey), 10);\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        // highlights_data_late_by_ms, topsites_data_late_by_ms.\n        data: {[`${this.props.id}_data_late_by_ms`]: value}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.\n    }\n  }\n\n  _sendPaintedEvent() {\n    // Record first_painted event but only send if topsites.\n    if (this.props.id !== \"topsites\") {\n      return;\n    }\n\n    // topsites_first_painted_ts.\n    const key = `${this.props.id}_first_painted_ts`;\n    this.perfSvc.mark(key);\n\n    try {\n      const data = {};\n      data[key] = this.perfSvc.getMostRecentAbsMarkStartByName(key);\n\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up, and should continue\n      // to set this._timestampHandled to avoid going through this again.\n    }\n  }\n\n  render() {\n    if (RECORDED_SECTIONS.includes(this.props.id)) {\n      this._ensureFirstRenderTsRecorded();\n      this._maybeSendBadStateEvent();\n    }\n    return this.props.children;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","/* globals Services */\n\"use strict\";\n\n/* istanbul ignore if */\nif (typeof ChromeUtils !== \"undefined\") {\n  ChromeUtils.import(\"resource://gre/modules/Services.jsm\");\n}\n\nlet usablePerfObj;\n\n/* istanbul ignore if */\n/* istanbul ignore else */\nif (typeof Services !== \"undefined\") {\n  // Borrow the high-resolution timer from the hidden window....\n  usablePerfObj = Services.appShell.hiddenDOMWindow.performance;\n} else if (typeof performance !== \"undefined\") {\n  // we must be running in content space\n  // eslint-disable-next-line no-undef\n  usablePerfObj = performance;\n} else {\n  // This is a dummy object so this file doesn't crash in the node prerendering\n  // task.\n  usablePerfObj = {\n    now() {},\n    mark() {}\n  };\n}\n\nfunction _PerfService(options) {\n  // For testing, so that we can use a fake Window.performance object with\n  // known state.\n  if (options && options.performanceObj) {\n    this._perf = options.performanceObj;\n  } else {\n    this._perf = usablePerfObj;\n  }\n}\n\n_PerfService.prototype = {\n  /**\n   * Calls the underlying mark() method on the appropriate Window.performance\n   * object to add a mark with the given name to the appropriate performance\n   * timeline.\n   *\n   * @param  {String} name  the name to give the current mark\n   * @return {void}\n   */\n  mark: function mark(str) {\n    this._perf.mark(str);\n  },\n\n  /**\n   * Calls the underlying getEntriesByName on the appropriate Window.performance\n   * object.\n   *\n   * @param  {String} name\n   * @param  {String} type eg \"mark\"\n   * @return {Array}       Performance* objects\n   */\n  getEntriesByName: function getEntriesByName(name, type) {\n    return this._perf.getEntriesByName(name, type);\n  },\n\n  /**\n   * The timeOrigin property from the appropriate performance object.\n   * Used to ensure that timestamps from the add-on code and the content code\n   * are comparable.\n   *\n   * @note If this is called from a context without a window\n   * (eg a JSM in chrome), it will return the timeOrigin of the XUL hidden\n   * window, which appears to be the first created window (and thus\n   * timeOrigin) in the browser.  Note also, however, there is also a private\n   * hidden window, presumably for private browsing, which appears to be\n   * created dynamically later.  Exactly how/when that shows up needs to be\n   * investigated.\n   *\n   * @return {Number} A double of milliseconds with a precision of 0.5us.\n   */\n  get timeOrigin() {\n    return this._perf.timeOrigin;\n  },\n\n  /**\n   * Returns the \"absolute\" version of performance.now(), i.e. one that\n   * should ([bug 1401406](https://bugzilla.mozilla.org/show_bug.cgi?id=1401406)\n   * be comparable across both chrome and content.\n   *\n   * @return {Number}\n   */\n  absNow: function absNow() {\n    return this.timeOrigin + this._perf.now();\n  },\n\n  /**\n   * This returns the absolute startTime from the most recent performance.mark()\n   * with the given name.\n   *\n   * @param  {String} name  the name to lookup the start time for\n   *\n   * @return {Number}       the returned start time, as a DOMHighResTimeStamp\n   *\n   * @throws {Error}        \"No Marks with the name ...\" if none are available\n   *\n   * @note Always surround calls to this by try/catch.  Otherwise your code\n   * may fail when the `privacy.resistFingerprinting` pref is true.  When\n   * this pref is set, all attempts to get marks will likely fail, which will\n   * cause this method to throw.\n   *\n   * See [bug 1369303](https://bugzilla.mozilla.org/show_bug.cgi?id=1369303)\n   * for more info.\n   */\n  getMostRecentAbsMarkStartByName(name) {\n    let entries = this.getEntriesByName(name, \"mark\");\n\n    if (!entries.length) {\n      throw new Error(`No marks with the name ${name}`);\n    }\n\n    let mostRecentEntry = entries[entries.length - 1];\n    return this._perf.timeOrigin + mostRecentEntry.startTime;\n  }\n};\n\nthis.perfService = new _PerfService();\nconst EXPORTED_SYMBOLS = [\"_PerfService\", \"perfService\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PerfService.jsm","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {\n  MIN_CORNER_FAVICON_SIZE,\n  MIN_RICH_FAVICON_SIZE,\n  TOP_SITES_CONTEXT_MENU_OPTIONS,\n  TOP_SITES_SOURCE\n} from \"./TopSitesConstants\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\n\nexport class TopSiteLink extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onDragEvent = this.onDragEvent.bind(this);\n  }\n\n  /*\n   * Helper to determine whether the drop zone should allow a drop. We only allow\n   * dropping top sites for now.\n   */\n  _allowDrop(e) {\n    return e.dataTransfer.types.includes(\"text/topsite-index\");\n  }\n\n  onDragEvent(event) {\n    switch (event.type) {\n      case \"click\":\n        // Stop any link clicks if we started any dragging\n        if (this.dragged) {\n          event.preventDefault();\n        }\n        break;\n      case \"dragstart\":\n        this.dragged = true;\n        event.dataTransfer.effectAllowed = \"move\";\n        event.dataTransfer.setData(\"text/topsite-index\", this.props.index);\n        event.target.blur();\n        this.props.onDragEvent(event, this.props.index, this.props.link, this.props.title);\n        break;\n      case \"dragend\":\n        this.props.onDragEvent(event);\n        break;\n      case \"dragenter\":\n      case \"dragover\":\n      case \"drop\":\n        if (this._allowDrop(event)) {\n          event.preventDefault();\n          this.props.onDragEvent(event, this.props.index);\n        }\n        break;\n      case \"mousedown\":\n        // Reset at the first mouse event of a potential drag\n        this.dragged = false;\n        break;\n    }\n  }\n\n  render() {\n    const {children, className, isDraggable, link, onClick, title} = this.props;\n    const topSiteOuterClassName = `top-site-outer${className ? ` ${className}` : \"\"}${link.isDragged ? \" dragged\" : \"\"}`;\n    const {tippyTopIcon, faviconSize} = link;\n    const [letterFallback] = title;\n    let imageClassName;\n    let imageStyle;\n    let showSmallFavicon = false;\n    let smallFaviconStyle;\n    let smallFaviconFallback;\n    if (tippyTopIcon || faviconSize >= MIN_RICH_FAVICON_SIZE) {\n      // styles and class names for top sites with rich icons\n      imageClassName = \"top-site-icon rich-icon\";\n      imageStyle = {\n        backgroundColor: link.backgroundColor,\n        backgroundImage: `url(${tippyTopIcon || link.favicon})`\n      };\n    } else {\n      // styles and class names for top sites with screenshot + small icon in top left corner\n      imageClassName = `screenshot${link.screenshot ? \" active\" : \"\"}`;\n      imageStyle = {backgroundImage: link.screenshot ? `url(${link.screenshot})` : \"none\"};\n\n      // only show a favicon in top left if it's greater than 16x16\n      if (faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n        showSmallFavicon = true;\n        smallFaviconStyle = {backgroundImage:  `url(${link.favicon})`};\n      } else if (link.screenshot) {\n        // Don't show a small favicon if there is no screenshot, because that\n        // would result in two fallback icons\n        showSmallFavicon = true;\n        smallFaviconFallback = true;\n      }\n    }\n    let draggableProps = {};\n    if (isDraggable) {\n      draggableProps = {\n        onClick: this.onDragEvent,\n        onDragEnd: this.onDragEvent,\n        onDragStart: this.onDragEvent,\n        onMouseDown: this.onDragEvent\n      };\n    }\n    return (<li className={topSiteOuterClassName} onDrop={this.onDragEvent} onDragOver={this.onDragEvent} onDragEnter={this.onDragEvent} onDragLeave={this.onDragEvent} {...draggableProps}>\n      <div className=\"top-site-inner\">\n         <a href={link.url} onClick={onClick}>\n            <div className=\"tile\" aria-hidden={true} data-fallback={letterFallback}>\n              <div className={imageClassName} style={imageStyle} />\n              {showSmallFavicon && <div\n                className=\"top-site-icon default-icon\"\n                data-fallback={smallFaviconFallback && letterFallback}\n                style={smallFaviconStyle} />}\n           </div>\n           <div className={`title ${link.isPinned ? \"pinned\" : \"\"}`}>\n             {link.isPinned && <div className=\"icon icon-pin-small\" />}\n              <span dir=\"auto\">{title}</span>\n           </div>\n         </a>\n         {children}\n      </div>\n    </li>);\n  }\n}\nTopSiteLink.defaultProps = {\n  title: \"\",\n  link: {},\n  isDraggable: true\n};\n\nexport class TopSite extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {showContextMenu: false};\n    this.onLinkClick = this.onLinkClick.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n  }\n\n  userEvent(event) {\n    this.props.dispatch(ac.UserEvent({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: this.props.index\n    }));\n  }\n\n  onLinkClick(ev) {\n    this.userEvent(\"CLICK\");\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.props.onActivate(this.props.index);\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const {props} = this;\n    const {link} = props;\n    const isContextMenuOpen = this.state.showContextMenu && props.activeIndex === props.index;\n    const title = link.label || link.hostname;\n    return (<TopSiteLink {...props} onClick={this.onLinkClick} onDragEvent={this.props.onDragEvent} className={`${props.className || \"\"}${isContextMenuOpen ? \" active\" : \"\"}`} title={title}>\n        <div>\n          <button className=\"context-menu-button icon\" onClick={this.onMenuButtonClick}>\n            <span className=\"sr-only\">\n              <FormattedMessage id=\"context_menu_button_sr\" values={{title}} />\n            </span>\n          </button>\n          {isContextMenuOpen &&\n            <LinkMenu\n              dispatch={props.dispatch}\n              index={props.index}\n              onUpdate={this.onMenuUpdate}\n              options={TOP_SITES_CONTEXT_MENU_OPTIONS}\n              site={link}\n              source={TOP_SITES_SOURCE} />\n          }\n        </div>\n    </TopSiteLink>);\n  }\n}\nTopSite.defaultProps = {\n  link: {},\n  onActivate() {}\n};\n\nexport class TopSitePlaceholder extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onEditButtonClick = this.onEditButtonClick.bind(this);\n  }\n\n  onEditButtonClick() {\n    this.props.dispatch(\n      {type: at.TOP_SITES_EDIT, data: {index: this.props.index}});\n  }\n\n  render() {\n    return (<TopSiteLink {...this.props} className={`placeholder ${this.props.className || \"\"}`} isDraggable={false}>\n      <button className=\"context-menu-button edit-button icon\"\n       title={this.props.intl.formatMessage({id: \"edit_topsites_edit_button\"})}\n       onClick={this.onEditButtonClick} />\n    </TopSiteLink>);\n  }\n}\n\nexport class _TopSiteList extends React.PureComponent {\n  static get DEFAULT_STATE() {\n    return {\n      activeIndex: null,\n      draggedIndex: null,\n      draggedSite: null,\n      draggedTitle: null,\n      topSitesPreview: null\n    };\n  }\n\n  constructor(props) {\n    super(props);\n    this.state = _TopSiteList.DEFAULT_STATE;\n    this.onDragEvent = this.onDragEvent.bind(this);\n    this.onActivate = this.onActivate.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (this.state.draggedSite) {\n      const prevTopSites = this.props.TopSites && this.props.TopSites.rows;\n      const newTopSites = nextProps.TopSites && nextProps.TopSites.rows;\n      if (prevTopSites && prevTopSites[this.state.draggedIndex] &&\n        prevTopSites[this.state.draggedIndex].url === this.state.draggedSite.url &&\n        (!newTopSites[this.state.draggedIndex] || newTopSites[this.state.draggedIndex].url !== this.state.draggedSite.url)) {\n        // We got the new order from the redux store via props. We can clear state now.\n        this.setState(_TopSiteList.DEFAULT_STATE);\n      }\n    }\n  }\n\n  userEvent(event, index) {\n    this.props.dispatch(ac.UserEvent({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: index\n    }));\n  }\n\n  onDragEvent(event, index, link, title) {\n    switch (event.type) {\n      case \"dragstart\":\n        this.dropped = false;\n        this.setState({\n          draggedIndex: index,\n          draggedSite: link,\n          draggedTitle: title,\n          activeIndex: null\n        });\n        this.userEvent(\"DRAG\", index);\n        break;\n      case \"dragend\":\n        if (!this.dropped) {\n          // If there was no drop event, reset the state to the default.\n          this.setState(_TopSiteList.DEFAULT_STATE);\n        }\n        break;\n      case \"dragenter\":\n        if (index === this.state.draggedIndex) {\n          this.setState({topSitesPreview: null});\n        } else {\n          this.setState({topSitesPreview: this._makeTopSitesPreview(index)});\n        }\n        break;\n      case \"drop\":\n        if (index !== this.state.draggedIndex) {\n          this.dropped = true;\n          this.props.dispatch(ac.AlsoToMain({\n            type: at.TOP_SITES_INSERT,\n            data: {site: {url: this.state.draggedSite.url, label: this.state.draggedTitle}, index, draggedFromIndex: this.state.draggedIndex}\n          }));\n          this.userEvent(\"DROP\", index);\n        }\n        break;\n    }\n  }\n\n  _getTopSites() {\n    // Make a copy of the sites to truncate or extend to desired length\n    let topSites = this.props.TopSites.rows.slice();\n    topSites.length = this.props.TopSitesRows * TOP_SITES_MAX_SITES_PER_ROW;\n    return topSites;\n  }\n\n  /**\n   * Make a preview of the topsites that will be the result of dropping the currently\n   * dragged site at the specified index.\n   */\n  _makeTopSitesPreview(index) {\n    const topSites = this._getTopSites();\n    topSites[this.state.draggedIndex] = null;\n    const pinnedOnly = topSites.map(site => ((site && site.isPinned) ? site : null));\n    const unpinned = topSites.filter(site => site && !site.isPinned);\n    const siteToInsert = Object.assign({}, this.state.draggedSite, {isPinned: true, isDragged: true});\n    if (!pinnedOnly[index]) {\n      pinnedOnly[index] = siteToInsert;\n    } else {\n      // Find the hole to shift the pinned site(s) towards. We shift towards the\n      // hole left by the site being dragged.\n      let holeIndex = index;\n      const indexStep = index > this.state.draggedIndex ? -1 : 1;\n      while (pinnedOnly[holeIndex]) {\n        holeIndex += indexStep;\n      }\n\n      // Shift towards the hole.\n      const shiftingStep = index > this.state.draggedIndex ? 1 : -1;\n      while (holeIndex !== index) {\n        const nextIndex = holeIndex + shiftingStep;\n        pinnedOnly[holeIndex] = pinnedOnly[nextIndex];\n        holeIndex = nextIndex;\n      }\n      pinnedOnly[index] = siteToInsert;\n    }\n\n    // Fill in the remaining holes with unpinned sites.\n    const preview = pinnedOnly;\n    for (let i = 0; i < preview.length; i++) {\n      if (!preview[i]) {\n        preview[i] = unpinned.shift() || null;\n      }\n    }\n\n    return preview;\n  }\n\n  onActivate(index) {\n    this.setState({activeIndex: index});\n  }\n\n  render() {\n    const {props} = this;\n    const topSites = this.state.topSitesPreview || this._getTopSites();\n    const topSitesUI = [];\n    const commonProps = {\n      onDragEvent: this.onDragEvent,\n      dispatch: props.dispatch,\n      intl: props.intl\n    };\n    // We assign a key to each placeholder slot. We need it to be independent\n    // of the slot index (i below) so that the keys used stay the same during\n    // drag and drop reordering and the underlying DOM nodes are reused.\n    // This mostly (only?) affects linux so be sure to test on linux before changing.\n    let holeIndex = 0;\n\n    // On narrow viewports, we only show 6 sites per row. We'll mark the rest as\n    // .hide-for-narrow to hide in CSS via @media query.\n    const maxNarrowVisibleIndex = props.TopSitesRows * 6;\n\n    for (let i = 0, l = topSites.length; i < l; i++) {\n      const link = topSites[i];\n      const slotProps = {\n        key: link ? link.url : holeIndex++,\n        index: i\n      };\n      if (i >= maxNarrowVisibleIndex) {\n        slotProps.className = \"hide-for-narrow\";\n      }\n      topSitesUI.push(!link ? (\n        <TopSitePlaceholder\n          {...slotProps}\n          {...commonProps} />\n      ) : (\n        <TopSite\n          link={link}\n          activeIndex={this.state.activeIndex}\n          onActivate={this.onActivate}\n          {...slotProps}\n          {...commonProps} />\n      ));\n    }\n    return (<ul className={`top-sites-list${this.state.draggedSite ? \" dnd-active\" : \"\"}`}>\n      {topSitesUI}\n    </ul>);\n  }\n}\n\nexport const TopSiteList = injectIntl(_TopSiteList);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSite.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addSnippetsSubscriber} from \"content-src/lib/snippets\";\nimport {Base} from \"content-src/components/Base/Base\";\nimport {DetectUserSessionStart} from \"content-src/lib/detect-user-session-start\";\nimport {initStore} from \"content-src/lib/init-store\";\nimport {Provider} from \"react-redux\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {reducers} from \"common/Reducers.jsm\";\n\nconst store = initStore(reducers, global.gActivityStreamPrerenderedState);\n\nnew DetectUserSessionStart(store).sendEventOrAddListener();\n\n// If we are starting in a prerendered state, we must wait until the first render\n// to request state rehydration (see Base.jsx). If we are NOT in a prerendered state,\n// we can request it immedately.\nif (!global.gActivityStreamPrerenderedState) {\n  store.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n}\n\nReactDOM.hydrate(<Provider store={store}>\n  <Base\n    isPrerendered={!!global.gActivityStreamPrerenderedState}\n    locale={global.document.documentElement.lang}\n    strings={global.gActivityStreamStrings} />\n</Provider>, document.getElementById(\"root\"));\n\naddSnippetsSubscriber(store);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/activity-stream.jsx","const DATABASE_NAME = \"snippets_db\";\nconst DATABASE_VERSION = 1;\nconst SNIPPETS_OBJECTSTORE_NAME = \"snippets\";\nexport const SNIPPETS_UPDATE_INTERVAL_MS = 14400000; // 4 hours.\n\nconst SNIPPETS_ENABLED_EVENT = \"Snippets:Enabled\";\nconst SNIPPETS_DISABLED_EVENT = \"Snippets:Disabled\";\n\nimport {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\n/**\n * SnippetsMap - A utility for cacheing values related to the snippet. It has\n *               the same interface as a Map, but is optionally backed by\n *               indexedDB for persistent storage.\n *               Call .connect() to open a database connection and restore any\n *               previously cached data, if necessary.\n *\n */\nexport class SnippetsMap extends Map {\n  constructor(dispatch) {\n    super();\n    this._db = null;\n    this._dispatch = dispatch;\n  }\n\n  set(key, value) {\n    super.set(key, value);\n    return this._dbTransaction(db => db.put(value, key));\n  }\n\n  delete(key) {\n    super.delete(key);\n    return this._dbTransaction(db => db.delete(key));\n  }\n\n  clear() {\n    super.clear();\n    return this._dbTransaction(db => db.clear());\n  }\n\n  get blockList() {\n    return this.get(\"blockList\") || [];\n  }\n\n  /**\n   * blockSnippetById - Blocks a snippet given an id\n   *\n   * @param  {str|int} id   The id of the snippet\n   * @return {Promise}      Resolves when the id has been written to indexedDB,\n   *                        or immediately if the snippetMap is not connected\n   */\n  async blockSnippetById(id) {\n    if (!id) {\n      return;\n    }\n    const {blockList} = this;\n    if (!blockList.includes(id)) {\n      blockList.push(id);\n      this._dispatch(ac.AlsoToMain({type: at.SNIPPETS_BLOCKLIST_UPDATED, data: blockList}));\n      await this.set(\"blockList\", blockList);\n    }\n  }\n\n  disableOnboarding() {\n    this._dispatch(ac.AlsoToMain({type: at.DISABLE_ONBOARDING}));\n  }\n\n  showFirefoxAccounts() {\n    this._dispatch(ac.AlsoToMain({type: at.SHOW_FIREFOX_ACCOUNTS}));\n  }\n\n  getTotalBookmarksCount() {\n    return new Promise(resolve => {\n      this._dispatch(ac.OnlyToMain({type: at.TOTAL_BOOKMARKS_REQUEST}));\n      global.addMessageListener(\"ActivityStream:MainToContent\", function onMessage({data: action}) {\n        if (action.type === at.TOTAL_BOOKMARKS_RESPONSE) {\n          resolve(action.data);\n          global.removeMessageListener(\"ActivityStream:MainToContent\", onMessage);\n        }\n      });\n    });\n  }\n\n  /**\n   * connect - Attaches an indexedDB back-end to the Map so that any set values\n   *           are also cached in a store. It also restores any existing values\n   *           that are already stored in the indexedDB store.\n   *\n   * @return {type}  description\n   */\n  async connect() {\n    // Open the connection\n    const db = await this._openDB();\n\n    // Restore any existing values\n    await this._restoreFromDb(db);\n\n    // Attach a reference to the db\n    this._db = db;\n  }\n\n  /**\n   * _dbTransaction - Returns a db transaction wrapped with the given modifier\n   *                  function as a Promise. If the db has not been connected,\n   *                  it resolves immediately.\n   *\n   * @param  {func} modifier A function to call with the transaction\n   * @return {obj}           A Promise that resolves when the transaction has\n   *                         completed or errored\n   */\n  _dbTransaction(modifier) {\n    if (!this._db) {\n      return Promise.resolve();\n    }\n    return new Promise((resolve, reject) => {\n      const transaction = modifier(\n        this._db\n          .transaction(SNIPPETS_OBJECTSTORE_NAME, \"readwrite\")\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME)\n      );\n      transaction.onsuccess = event => resolve();\n\n      /* istanbul ignore next */\n      transaction.onerror = event => reject(transaction.error);\n    });\n  }\n\n  _openDB() {\n    return new Promise((resolve, reject) => {\n      const openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION);\n\n      /* istanbul ignore next */\n      openRequest.onerror = event => {\n        // Try to delete the old database so that we can start this process over\n        // next time.\n        indexedDB.deleteDatabase(DATABASE_NAME);\n        reject(event);\n      };\n\n      openRequest.onupgradeneeded = event => {\n        const db = event.target.result;\n        if (!db.objectStoreNames.contains(SNIPPETS_OBJECTSTORE_NAME)) {\n          db.createObjectStore(SNIPPETS_OBJECTSTORE_NAME);\n        }\n      };\n\n      openRequest.onsuccess = event => {\n        let db = event.target.result;\n\n        /* istanbul ignore next */\n        db.onerror = err => console.error(err); // eslint-disable-line no-console\n        /* istanbul ignore next */\n        db.onversionchange = versionChangeEvent => versionChangeEvent.target.close();\n\n        resolve(db);\n      };\n    });\n  }\n\n  _restoreFromDb(db) {\n    return new Promise((resolve, reject) => {\n      let cursorRequest;\n      try {\n        cursorRequest = db.transaction(SNIPPETS_OBJECTSTORE_NAME)\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME).openCursor();\n      } catch (err) {\n        // istanbul ignore next\n        reject(err);\n        // istanbul ignore next\n        return;\n      }\n\n      /* istanbul ignore next */\n      cursorRequest.onerror = event => reject(event);\n\n      cursorRequest.onsuccess = event => {\n        let cursor = event.target.result;\n        // Populate the cache from the persistent storage.\n        if (cursor) {\n          this.set(cursor.key, cursor.value);\n          cursor.continue();\n        } else {\n          // We are done.\n          resolve();\n        }\n      };\n    });\n  }\n}\n\n/**\n * SnippetsProvider - Initializes a SnippetsMap and loads snippets from a\n *                    remote location, or else default snippets if the remote\n *                    snippets cannot be retrieved.\n */\nexport class SnippetsProvider {\n  constructor(dispatch) {\n    // Initialize the Snippets Map and attaches it to a global so that\n    // the snippet payload can interact with it.\n    global.gSnippetsMap = new SnippetsMap(dispatch);\n    this._onAction = this._onAction.bind(this);\n  }\n\n  get snippetsMap() {\n    return global.gSnippetsMap;\n  }\n\n  async _refreshSnippets() {\n    // Check if the cached version of of the snippets in snippetsMap. If it's too\n    // old, blow away the entire snippetsMap.\n    const cachedVersion = this.snippetsMap.get(\"snippets-cached-version\");\n\n    if (cachedVersion !== this.appData.version) {\n      this.snippetsMap.clear();\n    }\n\n    // Has enough time passed for us to require an update?\n    const lastUpdate = this.snippetsMap.get(\"snippets-last-update\");\n    const needsUpdate = !(lastUpdate >= 0) || Date.now() - lastUpdate > SNIPPETS_UPDATE_INTERVAL_MS;\n\n    if (needsUpdate && this.appData.snippetsURL) {\n      this.snippetsMap.set(\"snippets-last-update\", Date.now());\n      try {\n        const response = await fetch(this.appData.snippetsURL);\n        if (response.status === 200) {\n          const payload = await response.text();\n\n          this.snippetsMap.set(\"snippets\", payload);\n          this.snippetsMap.set(\"snippets-cached-version\", this.appData.version);\n        }\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n  }\n\n  _noSnippetFallback() {\n    // TODO\n  }\n\n  _forceOnboardingVisibility(shouldBeVisible) {\n    const onboardingEl = document.getElementById(\"onboarding-notification-bar\");\n\n    if (onboardingEl) {\n      onboardingEl.style.display = shouldBeVisible ? \"\" : \"none\";\n    }\n  }\n\n  _showRemoteSnippets() {\n    const snippetsEl = document.getElementById(this.elementId);\n    const payload = this.snippetsMap.get(\"snippets\");\n\n    if (!snippetsEl) {\n      throw new Error(`No element was found with id '${this.elementId}'.`);\n    }\n\n    // This could happen if fetching failed\n    if (!payload) {\n      throw new Error(\"No remote snippets were found in gSnippetsMap.\");\n    }\n\n    if (typeof payload !== \"string\") {\n      throw new Error(\"Snippet payload was incorrectly formatted\");\n    }\n\n    // Note that injecting snippets can throw if they're invalid XML.\n    // eslint-disable-next-line no-unsanitized/property\n    snippetsEl.innerHTML = payload;\n\n    // Scripts injected by innerHTML are inactive, so we have to relocate them\n    // through DOM manipulation to activate their contents.\n    for (const scriptEl of snippetsEl.getElementsByTagName(\"script\")) {\n      const relocatedScript = document.createElement(\"script\");\n      relocatedScript.text = scriptEl.text;\n      scriptEl.parentNode.replaceChild(relocatedScript, scriptEl);\n    }\n  }\n\n  _onAction(msg) {\n    if (msg.data.type === at.SNIPPET_BLOCKED) {\n      this.snippetsMap.set(\"blockList\", msg.data.data);\n      document.getElementById(\"snippets-container\").style.display = \"none\";\n    }\n  }\n\n  /**\n   * init - Fetch the snippet payload and show snippets\n   *\n   * @param  {obj} options\n   * @param  {str} options.appData.snippetsURL  The URL from which we fetch snippets\n   * @param  {int} options.appData.version  The current snippets version\n   * @param  {str} options.elementId  The id of the element in which to inject snippets\n   * @param  {bool} options.connect  Should gSnippetsMap connect to indexedDB?\n   */\n  async init(options) {\n    Object.assign(this, {\n      appData: {},\n      elementId: \"snippets\",\n      connect: true\n    }, options);\n\n    // Add listener so we know when snippets are blocked on other pages\n    if (global.addMessageListener) {\n      global.addMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n\n    // TODO: Requires enabling indexedDB on newtab\n    // Restore the snippets map from indexedDB\n    if (this.connect) {\n      try {\n        await this.snippetsMap.connect();\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n\n    // Cache app data values so they can be accessible from gSnippetsMap\n    for (const key of Object.keys(this.appData)) {\n      this.snippetsMap.set(`appData.${key}`, this.appData[key]);\n    }\n\n    // Refresh snippets, if enough time has passed.\n    await this._refreshSnippets();\n\n    // Try showing remote snippets, falling back to defaults if necessary.\n    try {\n      this._showRemoteSnippets();\n    } catch (e) {\n      this._noSnippetFallback(e);\n    }\n\n    window.dispatchEvent(new Event(SNIPPETS_ENABLED_EVENT));\n\n    this._forceOnboardingVisibility(true);\n    this.initialized = true;\n  }\n\n  uninit() {\n    window.dispatchEvent(new Event(SNIPPETS_DISABLED_EVENT));\n    this._forceOnboardingVisibility(false);\n    if (global.removeMessageListener) {\n      global.removeMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n    this.initialized = false;\n  }\n}\n\n/**\n * addSnippetsSubscriber - Creates a SnippetsProvider that Initializes\n *                         when the store has received the appropriate\n *                         Snippet data.\n *\n * @param  {obj} store   The redux store\n * @return {obj}         Returns the snippets instance and unsubscribe function\n */\nexport function addSnippetsSubscriber(store) {\n  const snippets = new SnippetsProvider(store.dispatch);\n\n  let initializing = false;\n\n  store.subscribe(async () => {\n    const state = store.getState();\n    // state.Prefs.values[\"feeds.snippets\"]:  Should snippets be shown?\n    // state.Snippets.initialized             Is the snippets data initialized?\n    // snippets.initialized:                  Is SnippetsProvider currently initialised?\n    if (state.Prefs.values[\"feeds.snippets\"] &&\n      !state.Prefs.values.disableSnippets &&\n      state.Snippets.initialized &&\n      !snippets.initialized &&\n      // Don't call init multiple times\n      !initializing\n    ) {\n      initializing = true;\n      await snippets.init({appData: state.Snippets});\n      initializing = false;\n    } else if (\n      (state.Prefs.values[\"feeds.snippets\"] === false ||\n        state.Prefs.values.disableSnippets === true) &&\n      snippets.initialized\n    ) {\n      snippets.uninit();\n    }\n  });\n\n  // These values are returned for testing purposes\n  return snippets;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/snippets.js","import {actionCreators as ac, actionTypes} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * ConfirmDialog component.\n * One primary action button, one cancel button.\n *\n * Content displayed is controlled by `data` prop the component receives.\n * Example:\n * data: {\n *   // Any sort of data needed to be passed around by actions.\n *   payload: site.url,\n *   // Primary button AlsoToMain action.\n *   action: \"DELETE_HISTORY_URL\",\n *   // Primary button USerEvent action.\n *   userEvent: \"DELETE\",\n *   // Array of locale ids to display.\n *   message_body: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n *   // Text for primary button.\n *   confirm_button_string_id: \"menu_action_delete\"\n * },\n */\nexport class _ConfirmDialog extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this._handleCancelBtn = this._handleCancelBtn.bind(this);\n    this._handleConfirmBtn = this._handleConfirmBtn.bind(this);\n  }\n\n  _handleCancelBtn() {\n    this.props.dispatch({type: actionTypes.DIALOG_CANCEL});\n    this.props.dispatch(ac.UserEvent({event: actionTypes.DIALOG_CANCEL, source: this.props.data.eventSource}));\n  }\n\n  _handleConfirmBtn() {\n    this.props.data.onConfirm.forEach(this.props.dispatch);\n  }\n\n  _renderModalMessage() {\n    const message_body = this.props.data.body_string_id;\n\n    if (!message_body) {\n      return null;\n    }\n\n    return (<span>\n      {message_body.map(msg => <p key={msg}><FormattedMessage id={msg} /></p>)}\n    </span>);\n  }\n\n  render() {\n    if (!this.props.visible) {\n      return null;\n    }\n\n    return (<div className=\"confirmation-dialog\">\n      <div className=\"modal-overlay\" onClick={this._handleCancelBtn} />\n      <div className=\"modal\">\n        <section className=\"modal-message\">\n          {this.props.data.icon && <span className={`icon icon-spacer icon-${this.props.data.icon}`} />}\n          {this._renderModalMessage()}\n        </section>\n        <section className=\"actions\">\n          <button onClick={this._handleCancelBtn}>\n            <FormattedMessage id={this.props.data.cancel_button_string_id} />\n          </button>\n          <button className=\"done\" onClick={this._handleConfirmBtn}>\n            <FormattedMessage id={this.props.data.confirm_button_string_id} />\n          </button>\n        </section>\n      </div>\n    </div>);\n  }\n}\n\nexport const ConfirmDialog = connect(state => state.Dialog)(_ConfirmDialog);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * Manual migration component used to start the profile import wizard.\n * Message is presented temporarily and will go away if:\n * 1.  User clicks \"No Thanks\"\n * 2.  User completed the data import\n * 3.  After 3 active days\n * 4.  User clicks \"Cancel\" on the import wizard (currently not implemented).\n */\nexport class _ManualMigration extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onLaunchTour = this.onLaunchTour.bind(this);\n    this.onCancelTour = this.onCancelTour.bind(this);\n  }\n\n  onLaunchTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_START}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_START}));\n  }\n\n  onCancelTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_CANCEL}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_CANCEL}));\n  }\n\n  render() {\n    return (<div className=\"manual-migration-container\">\n        <p>\n          <span className=\"icon icon-import\" />\n          <FormattedMessage id=\"manual_migration_explanation2\" />\n        </p>\n        <div className=\"manual-migration-actions actions\">\n          <button className=\"dismiss\" onClick={this.onCancelTour}>\n            <FormattedMessage id=\"manual_migration_cancel_button\" />\n          </button>\n          <button onClick={this.onLaunchTour}>\n            <FormattedMessage id=\"manual_migration_import_button\" />\n          </button>\n        </div>\n    </div>);\n  }\n}\n\nexport const ManualMigration = connect()(_ManualMigration);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {connect} from \"react-redux\";\nimport React from \"react\";\n\nconst getFormattedMessage = message =>\n  (typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />);\n\nexport const PreferencesInput = props => (\n  <section>\n    <input type=\"checkbox\" id={props.prefName} name={props.prefName} checked={props.value} disabled={props.disabled} onChange={props.onChange} className={props.className} />\n    <label htmlFor={props.prefName} className={props.labelClassName}>\n      {getFormattedMessage(props.titleString)}\n    </label>\n    {props.descString && <p className=\"prefs-input-description\">\n      {getFormattedMessage(props.descString)}\n    </p>}\n    {React.Children.map(props.children,\n      child => <div className={`options${child.props.disabled ? \" disabled\" : \"\"}`}>{child}</div>)}\n  </section>\n);\n\nexport class _PreferencesPane extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.handleClickOutside = this.handleClickOutside.bind(this);\n    this.handlePrefChange = this.handlePrefChange.bind(this);\n    this.handleSectionChange = this.handleSectionChange.bind(this);\n    this.togglePane = this.togglePane.bind(this);\n    this.onWrapperMount = this.onWrapperMount.bind(this);\n  }\n\n  componentDidUpdate(prevProps, prevState) {\n    if (prevProps.PreferencesPane.visible !== this.props.PreferencesPane.visible) {\n      // While the sidebar is open, listen for all document clicks.\n      if (this.isSidebarOpen()) {\n        document.addEventListener(\"click\", this.handleClickOutside);\n      } else {\n        document.removeEventListener(\"click\", this.handleClickOutside);\n      }\n    }\n  }\n\n  isSidebarOpen() {\n    return this.props.PreferencesPane.visible;\n  }\n\n  handleClickOutside(event) {\n    // if we are showing the sidebar and there is a click outside, close it.\n    if (this.isSidebarOpen() && !this.wrapper.contains(event.target)) {\n      this.togglePane();\n    }\n  }\n\n  handlePrefChange({target: {name, checked}}) {\n    let value = checked;\n    if (name === \"topSitesRows\") {\n      value = checked ? 2 : 1;\n    }\n    this.props.dispatch(ac.SetPref(name, value));\n  }\n\n  handleSectionChange({target}) {\n    const id = target.name;\n    const type = target.checked ? at.SECTION_ENABLE : at.SECTION_DISABLE;\n    this.props.dispatch(ac.AlsoToMain({type, data: id}));\n  }\n\n  togglePane() {\n    if (this.isSidebarOpen()) {\n      this.props.dispatch({type: at.SETTINGS_CLOSE});\n      this.props.dispatch(ac.UserEvent({event: \"CLOSE_NEWTAB_PREFS\"}));\n    } else {\n      this.props.dispatch({type: at.SETTINGS_OPEN});\n      this.props.dispatch(ac.UserEvent({event: \"OPEN_NEWTAB_PREFS\"}));\n    }\n  }\n\n  onWrapperMount(wrapper) {\n    this.wrapper = wrapper;\n  }\n\n  render() {\n    const {props} = this;\n    const prefs = props.Prefs.values;\n    const sections = props.Sections;\n    const isVisible = this.isSidebarOpen();\n    return (\n      <div className=\"prefs-pane-wrapper\" ref={this.onWrapperMount}>\n        <div className=\"prefs-pane-button\">\n          <button\n            className={`prefs-button icon ${isVisible ? \"icon-dismiss\" : \"icon-settings\"}`}\n            title={props.intl.formatMessage({id: isVisible ? \"settings_pane_done_button\" : \"settings_pane_button_label\"})}\n            onClick={this.togglePane} />\n        </div>\n        <div className=\"prefs-pane\">\n          <div className={`sidebar ${isVisible ? \"\" : \"hidden\"}`}>\n            <div className=\"prefs-modal-inner-wrapper\">\n              <h1><FormattedMessage id=\"settings_pane_header\" /></h1>\n              <p><FormattedMessage id=\"settings_pane_body2\" /></p>\n\n              <PreferencesInput\n                className=\"showSearch\"\n                prefName=\"showSearch\"\n                value={prefs.showSearch}\n                onChange={this.handlePrefChange}\n                titleString={{id: \"settings_pane_search_header\"}}\n                descString={{id: \"settings_pane_search_body\"}} />\n\n              <hr />\n\n              <PreferencesInput\n                className=\"showTopSites\"\n                prefName=\"showTopSites\"\n                value={prefs.showTopSites}\n                onChange={this.handlePrefChange}\n                titleString={{id: \"settings_pane_topsites_header\"}}\n                descString={{id: \"settings_pane_topsites_body\"}}>\n\n                <PreferencesInput\n                  className=\"showMoreTopSites\"\n                  prefName=\"topSitesRows\"\n                  disabled={!prefs.showTopSites}\n                  value={prefs.topSitesRows === 2}\n                  onChange={this.handlePrefChange}\n                  titleString={{id: \"settings_pane_topsites_options_showmore\"}}\n                  labelClassName=\"icon icon-topsites\" />\n              </PreferencesInput>\n\n              {sections\n                .filter(section => !section.shouldHidePref)\n                .map(({id, title, enabled, pref}) =>\n                  (<PreferencesInput\n                    key={id}\n                    className=\"showSection\"\n                    prefName={(pref && pref.feed) || id}\n                    value={enabled}\n                    onChange={(pref && pref.feed) ? this.handlePrefChange : this.handleSectionChange}\n                    titleString={(pref && pref.titleString) || title}\n                    descString={pref && pref.descString}>\n\n                    {pref && pref.nestedPrefs && pref.nestedPrefs.map(nestedPref =>\n                      (<PreferencesInput\n                        key={nestedPref.name}\n                        prefName={nestedPref.name}\n                        disabled={!enabled}\n                        value={prefs[nestedPref.name]}\n                        onChange={this.handlePrefChange}\n                        titleString={nestedPref.titleString}\n                        labelClassName={`icon ${nestedPref.icon}`} />)\n                    )}\n                   </PreferencesInput>)\n                )}\n              {!prefs.disableSnippets && <hr />}\n\n              {!prefs.disableSnippets && <PreferencesInput className=\"showSnippets\" prefName=\"feeds.snippets\"\n                value={prefs[\"feeds.snippets\"]} onChange={this.handlePrefChange}\n                titleString={{id: \"settings_pane_snippets_header\"}}\n                descString={{id: \"settings_pane_snippets_body\"}} />}\n\n            </div>\n            <section className=\"actions\">\n              <button className=\"done\" onClick={this.togglePane}>\n                <FormattedMessage id=\"settings_pane_done_button\" />\n              </button>\n            </section>\n          </div>\n        </div>\n      </div>);\n  }\n}\n\nexport const PreferencesPane = connect(state => ({\n  Prefs: state.Prefs,\n  PreferencesPane: state.PreferencesPane,\n  Sections: state.Sections\n}))(injectIntl(_PreferencesPane));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/PreferencesPane/PreferencesPane.jsx","class _PrerenderData {\n  constructor(options) {\n    this.initialPrefs = options.initialPrefs;\n    this.initialSections = options.initialSections;\n    this._setValidation(options.validation);\n  }\n\n  get validation() {\n    return this._validation;\n  }\n\n  set validation(value) {\n    this._setValidation(value);\n  }\n\n  get invalidatingPrefs() {\n    return this._invalidatingPrefs;\n  }\n\n    // This is needed so we can use it in the constructor\n  _setValidation(value = []) {\n    this._validation = value;\n    this._invalidatingPrefs = value.reduce((result, next) => {\n      if (typeof next === \"string\") {\n        result.push(next);\n        return result;\n      } else if (next && next.oneOf) {\n        return result.concat(next.oneOf);\n      }\n      throw new Error(\"Your validation configuration is not properly configured\");\n    }, []);\n  }\n\n  arePrefsValid(getPref) {\n    for (const prefs of this.validation) {\n      // {oneOf: [\"foo\", \"bar\"]}\n      if (prefs && prefs.oneOf && !prefs.oneOf.some(name => getPref(name) === this.initialPrefs[name])) {\n        return false;\n\n      // \"foo\"\n      } else if (getPref(prefs) !== this.initialPrefs[prefs]) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n\nthis.PrerenderData = new _PrerenderData({\n  initialPrefs: {\n    \"migrationExpired\": true,\n    \"showTopSites\": true,\n    \"showSearch\": true,\n    \"topSitesRows\": 1,\n    \"collapseTopSites\": false,\n    \"section.highlights.collapsed\": false,\n    \"section.topstories.collapsed\": false,\n    \"feeds.section.topstories\": true,\n    \"feeds.section.highlights\": true,\n    \"enableWideLayout\": true\n  },\n  // Prefs listed as invalidating will prevent the prerendered version\n  // of AS from being used if their value is something other than what is listed\n  // here. This is required because some preferences cause the page layout to be\n  // too different for the prerendered version to be used. Unfortunately, this\n  // will result in users who have modified some of their preferences not being\n  // able to get the benefits of prerendering.\n  validation: [\n    \"showTopSites\",\n    \"showSearch\",\n    \"topSitesRows\",\n    \"collapseTopSites\",\n    \"section.highlights.collapsed\",\n    \"section.topstories.collapsed\",\n    \"enableWideLayout\",\n    // This means if either of these are set to their default values,\n    // prerendering can be used.\n    {oneOf: [\"feeds.section.topstories\", \"feeds.section.highlights\"]}\n  ],\n  initialSections: [\n    {\n      enabled: true,\n      icon: \"pocket\",\n      id: \"topstories\",\n      order: 1,\n      title: {id: \"header_recommended_by\", values: {provider: \"Pocket\"}}\n    },\n    {\n      enabled: true,\n      id: \"highlights\",\n      icon: \"highlights\",\n      order: 2,\n      title: {id: \"header_highlights\"}\n    }\n  ]\n});\n\nthis._PrerenderData = _PrerenderData;\nconst EXPORTED_SYMBOLS = [\"PrerenderData\", \"_PrerenderData\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PrerenderData.jsm","/* globals ContentSearchUIController */\n\"use strict\";\n\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {IS_NEWTAB} from \"content-src/lib/constants\";\nimport React from \"react\";\n\nexport class _Search extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onInputMount = this.onInputMount.bind(this);\n  }\n\n  handleEvent(event) {\n    // Also track search events with our own telemetry\n    if (event.detail.type === \"Search\") {\n      this.props.dispatch(ac.UserEvent({event: \"SEARCH\"}));\n    }\n  }\n\n  onClick(event) {\n    window.gContentSearchController.search(event);\n  }\n\n  componentWillUnmount() {\n    delete window.gContentSearchController;\n  }\n\n  onInputMount(input) {\n    if (input) {\n      // The \"healthReportKey\" and needs to be \"newtab\" or \"abouthome\" so that\n      // BrowserUsageTelemetry.jsm knows to handle events with this name, and\n      // can add the appropriate telemetry probes for search. Without the correct\n      // name, certain tests like browser_UsageTelemetry_content.js will fail\n      // (See github ticket #2348 for more details)\n      const healthReportKey = IS_NEWTAB ? \"newtab\" : \"abouthome\";\n\n      // The \"searchSource\" needs to be \"newtab\" or \"homepage\" and is sent with\n      // the search data and acts as context for the search request (See\n      // nsISearchEngine.getSubmission). It is necessary so that search engine\n      // plugins can correctly atribute referrals. (See github ticket #3321 for\n      // more details)\n      const searchSource = IS_NEWTAB ? \"newtab\" : \"homepage\";\n\n      // gContentSearchController needs to exist as a global so that tests for\n      // the existing about:home can find it; and so it allows these tests to pass.\n      // In the future, when activity stream is default about:home, this can be renamed\n      window.gContentSearchController = new ContentSearchUIController(input, input.parentNode,\n        healthReportKey, searchSource);\n      addEventListener(\"ContentSearchClient\", this);\n    } else {\n      window.gContentSearchController = null;\n      removeEventListener(\"ContentSearchClient\", this);\n    }\n  }\n\n  /*\n   * Do not change the ID on the input field, as legacy newtab code\n   * specifically looks for the id 'newtab-search-text' on input fields\n   * in order to execute searches in various tests\n   */\n  render() {\n    return (<div className=\"search-wrapper\">\n      <label htmlFor=\"newtab-search-text\" className=\"search-label\">\n        <span className=\"sr-only\"><FormattedMessage id=\"search_web_placeholder\" /></span>\n      </label>\n      <input\n        id=\"newtab-search-text\"\n        maxLength=\"256\"\n        placeholder={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        ref={this.onInputMount}\n        title={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        type=\"search\" />\n      <button\n        id=\"searchSubmit\"\n        className=\"search-button\"\n        onClick={this.onClick}\n        title={this.props.intl.formatMessage({id: \"search_button\"})}>\n        <span className=\"sr-only\"><FormattedMessage id=\"search_button\" /></span>\n      </button>\n    </div>);\n  }\n}\n\nexport const Search = connect()(injectIntl(_Search));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Search/Search.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addLocaleData, IntlProvider} from \"react-intl\";\nimport {ConfirmDialog} from \"content-src/components/ConfirmDialog/ConfirmDialog\";\nimport {connect} from \"react-redux\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport {ManualMigration} from \"content-src/components/ManualMigration/ManualMigration\";\nimport {PreferencesPane} from \"content-src/components/PreferencesPane/PreferencesPane\";\nimport {PrerenderData} from \"common/PrerenderData.jsm\";\nimport React from \"react\";\nimport {Search} from \"content-src/components/Search/Search\";\nimport {Sections} from \"content-src/components/Sections/Sections\";\nimport {TopSites} from \"content-src/components/TopSites/TopSites\";\n\n// Add the locale data for pluralization and relative-time formatting for now,\n// this just uses english locale data. We can make this more sophisticated if\n// more features are needed.\nfunction addLocaleDataForReactIntl(locale) {\n  addLocaleData([{locale, parentLocale: \"en\"}]);\n}\n\nexport class _Base extends React.PureComponent {\n  componentWillMount() {\n    const {App, locale} = this.props;\n    this.sendNewTabRehydrated(App);\n    addLocaleDataForReactIntl(locale);\n  }\n\n  componentDidMount() {\n    // Request state AFTER the first render to ensure we don't cause the\n    // prerendered DOM to be unmounted. Otherwise, NEW_TAB_STATE_REQUEST is\n    // dispatched right after the store is ready.\n    if (this.props.isPrerendered) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n      this.props.dispatch(ac.AlsoToMain({type: at.PAGE_PRERENDERED}));\n    }\n  }\n\n  componentWillUpdate({App}) {\n    this.sendNewTabRehydrated(App);\n  }\n\n  // The NEW_TAB_REHYDRATED event is used to inform feeds that their\n  // data has been consumed e.g. for counting the number of tabs that\n  // have rendered that data.\n  sendNewTabRehydrated(App) {\n    if (App && App.initialized && !this.renderNotified) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_REHYDRATED, data: {}}));\n      this.renderNotified = true;\n    }\n  }\n\n  render() {\n    const {props} = this;\n    const {App, locale, strings} = props;\n    const {initialized} = App;\n\n    if (!props.isPrerendered && !initialized) {\n      return null;\n    }\n\n    return (<IntlProvider locale={locale} messages={strings}>\n        <ErrorBoundary className=\"base-content-fallback\">\n          <BaseContent {...this.props} />\n        </ErrorBoundary>\n      </IntlProvider>);\n  }\n}\n\nexport class BaseContent extends React.PureComponent {\n  render() {\n    const {props} = this;\n    const {App} = props;\n    const {initialized} = App;\n    const prefs = props.Prefs.values;\n\n    const shouldBeFixedToTop = PrerenderData.arePrefsValid(name => prefs[name]);\n\n    const outerClassName = `outer-wrapper${shouldBeFixedToTop ? \" fixed-to-top\" : \"\"} ${prefs.enableWideLayout ? \"wide-layout-enabled\" : \"wide-layout-disabled\"}`;\n\n    return (\n        <div className={outerClassName}>\n          <main>\n            {prefs.showSearch &&\n              <div className=\"non-collapsible-section\">\n                <ErrorBoundary>\n                  <Search />\n                </ErrorBoundary>\n              </div>\n            }\n            <div className={`body-wrapper${(initialized ? \" on\" : \"\")}`}>\n              {!prefs.migrationExpired &&\n                <div className=\"non-collapsible-section\">\n                  <ManualMigration />\n                </div>\n                }\n              {prefs.showTopSites && <TopSites />}\n              <Sections />\n            </div>\n            <ConfirmDialog />\n          </main>\n          {initialized &&\n            <div className=\"prefs-pane\">\n              <ErrorBoundary className=\"sidebar\"> <PreferencesPane /> </ErrorBoundary>\n            </div>\n          }\n        </div>);\n  }\n}\n\nexport const Base = connect(state => ({App: state.App, Prefs: state.Prefs}))(_Base);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Base/Base.jsx","export const IS_NEWTAB = global.document && global.document.documentURI === \"about:newtab\";\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/constants.js","import {Card, PlaceholderCard} from \"content-src/components/Card/Card\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {CollapsibleSection} from \"content-src/components/CollapsibleSection/CollapsibleSection\";\nimport {ComponentPerfTimer} from \"content-src/components/ComponentPerfTimer/ComponentPerfTimer\";\nimport {connect} from \"react-redux\";\nimport React from \"react\";\nimport {Topics} from \"content-src/components/Topics/Topics\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\nconst CARDS_PER_ROW = 3;\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\n\nexport class Section extends React.PureComponent {\n  _dispatchImpressionStats() {\n    const {props} = this;\n    const maxCards = 3 * props.maxRows;\n    const cards = props.rows.slice(0, maxCards);\n\n    if (this.needsImpressionStats(cards)) {\n      props.dispatch(ac.ImpressionStats({\n        source: props.eventSource,\n        tiles: cards.map(link => ({id: link.guid}))\n      }));\n      this.impressionCardGuids = cards.map(link => link.guid);\n    }\n  }\n\n  // This sends an event when a user sees a set of new content. If content\n  // changes while the page is hidden (i.e. preloaded or on a hidden tab),\n  // only send the event if the page becomes visible again.\n  sendImpressionStatsOrAddListener() {\n    const {props} = this;\n\n    if (!props.shouldSendImpressionStats || !props.dispatch) {\n      return;\n    }\n\n    if (props.document.visibilityState === VISIBLE) {\n      this._dispatchImpressionStats();\n    } else {\n      // We should only ever send the latest impression stats ping, so remove any\n      // older listeners.\n      if (this._onVisibilityChange) {\n        props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n      }\n\n      // When the page becoems visible, send the impression stats ping if the section isn't collapsed.\n      this._onVisibilityChange = () => {\n        if (props.document.visibilityState === VISIBLE) {\n          const {id, Prefs} = this.props;\n          const isCollapsed = Prefs.values[`section.${id}.collapsed`];\n          if (!isCollapsed) {\n            this._dispatchImpressionStats();\n          }\n          props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n        }\n      };\n      props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  componentDidMount() {\n    const {id, rows, Prefs} = this.props;\n    const isCollapsed = Prefs.values[`section.${id}.collapsed`];\n    if (rows.length && !isCollapsed) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  componentDidUpdate(prevProps) {\n    const {props} = this;\n    const {id, Prefs} = props;\n    const isCollapsedPref = `section.${id}.collapsed`;\n    const isCollapsed = Prefs.values[isCollapsedPref];\n    const wasCollapsed = prevProps.Prefs.values[isCollapsedPref];\n    if (\n      // Don't send impression stats for the empty state\n      props.rows.length &&\n      (\n        // We only want to send impression stats if the content of the cards has changed\n        // and the section is not collapsed...\n        (props.rows !== prevProps.rows && !isCollapsed) ||\n        // or if we are expanding a section that was collapsed.\n        (wasCollapsed && !isCollapsed)\n      )\n    ) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  needsImpressionStats(cards) {\n    if (!this.impressionCardGuids || (this.impressionCardGuids.length !== cards.length)) {\n      return true;\n    }\n\n    for (let i = 0; i < cards.length; i++) {\n      if (cards[i].guid !== this.impressionCardGuids[i]) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  numberOfPlaceholders(items) {\n    if (items === 0) {\n      return CARDS_PER_ROW;\n    }\n    const remainder = items % CARDS_PER_ROW;\n    if (remainder === 0) {\n      return 0;\n    }\n    return CARDS_PER_ROW - remainder;\n  }\n\n  render() {\n    const {\n      id, eventSource, title, icon, rows,\n      emptyState, dispatch, maxRows,\n      contextMenuOptions, initialized, disclaimer,\n      pref, privacyNoticeURL\n    } = this.props;\n    const maxCards = CARDS_PER_ROW * maxRows;\n\n    // Show topics only for top stories and if it's not initialized yet (so\n    // content doesn't shift when it is loaded) or has loaded with topics\n    const shouldShowTopics = (id === \"topstories\" &&\n      (!this.props.topics || this.props.topics.length > 0));\n\n    const realRows = rows.slice(0, maxCards);\n    const placeholders = this.numberOfPlaceholders(realRows.length);\n\n    // The empty state should only be shown after we have initialized and there is no content.\n    // Otherwise, we should show placeholders.\n    const shouldShowEmptyState = initialized && !rows.length;\n\n    // <Section> <-- React component\n    // <section> <-- HTML5 element\n    return (<ComponentPerfTimer {...this.props}>\n      <CollapsibleSection className=\"section\" icon={icon}\n        title={getFormattedMessage(title)}\n        id={id}\n        eventSource={eventSource}\n        disclaimer={disclaimer}\n        prefName={`section.${id}.collapsed`}\n        showPrefName={(pref && pref.feed) || id}\n        privacyNoticeURL={privacyNoticeURL}\n        Prefs={this.props.Prefs}\n        dispatch={this.props.dispatch}>\n\n        {!shouldShowEmptyState && (<ul className=\"section-list\" style={{padding: 0}}>\n          {realRows.map((link, index) => link &&\n            <Card key={index} index={index} dispatch={dispatch} link={link} contextMenuOptions={contextMenuOptions}\n              eventSource={eventSource} shouldSendImpressionStats={this.props.shouldSendImpressionStats} isWebExtension={this.props.isWebExtension} />)}\n          {placeholders > 0 && [...new Array(placeholders)].map((_, i) => <PlaceholderCard key={i} />)}\n        </ul>)}\n        {shouldShowEmptyState &&\n          <div className=\"section-empty-state\">\n            <div className=\"empty-state\">\n              {emptyState.icon && emptyState.icon.startsWith(\"moz-extension://\") ?\n                <img className=\"empty-state-icon icon\" style={{\"background-image\": `url('${emptyState.icon}')`}} /> :\n                <img className={`empty-state-icon icon icon-${emptyState.icon}`} />}\n              <p className=\"empty-state-message\">\n                {getFormattedMessage(emptyState.message)}\n              </p>\n            </div>\n          </div>}\n        {shouldShowTopics && <Topics topics={this.props.topics} read_more_endpoint={this.props.read_more_endpoint} />}\n      </CollapsibleSection>\n    </ComponentPerfTimer>);\n  }\n}\n\nSection.defaultProps = {\n  document: global.document,\n  rows: [],\n  emptyState: {},\n  title: \"\"\n};\n\nexport const SectionIntl = injectIntl(Section);\n\nexport class _Sections extends React.PureComponent {\n  render() {\n    const sections = this.props.Sections;\n    return (\n      <div className=\"sections-list\">\n        {sections\n          .filter(section => section.enabled)\n          .map(section => <SectionIntl key={section.id} {...section} Prefs={this.props.Prefs} dispatch={this.props.dispatch} />)}\n      </div>\n    );\n  }\n}\n\nexport const Sections = connect(state => ({Sections: state.Sections, Prefs: state.Prefs}))(_Sections);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Sections/Sections.jsx","export const cardContextTypes = {\n  history: {\n    intlID: \"type_label_visited\",\n    icon: \"historyItem\"\n  },\n  bookmark: {\n    intlID: \"type_label_bookmarked\",\n    icon: \"bookmark-added\"\n  },\n  trending: {\n    intlID: \"type_label_recommended\",\n    icon: \"trending\"\n  },\n  now: {\n    intlID: \"type_label_now\",\n    icon: \"now\"\n  },\n  pocket: {\n    intlID: \"type_label_pocket\",\n    icon: \"pocket-small\"\n  }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Card/types.js","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {cardContextTypes} from \"./types\";\nimport {FormattedMessage} from \"react-intl\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\n\n// Keep track of pending image loads to only request once\nconst gImageLoading = new Map();\n\n/**\n * Card component.\n * Cards are found within a Section component and contain information about a link such\n * as preview image, page title, page description, and some context about if the page\n * was visited, bookmarked, trending etc...\n * Each Section can make an unordered list of Cards which will create one instane of\n * this class. Each card will then get a context menu which reflects the actions that\n * can be done on this Card.\n */\nexport class Card extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {\n      activeCard: null,\n      imageLoaded: false,\n      showContextMenu: false\n    };\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.onLinkClick = this.onLinkClick.bind(this);\n  }\n\n  /**\n   * Helper to conditionally load an image and update state when it loads.\n   */\n  async maybeLoadImage() {\n    // No need to load if it's already loaded or no image\n    const {image} = this.props.link;\n    if (!this.state.imageLoaded && image) {\n      // Initialize a promise to share a load across multiple card updates\n      if (!gImageLoading.has(image)) {\n        const loaderPromise = new Promise((resolve, reject) => {\n          const loader = new Image();\n          loader.addEventListener(\"load\", resolve);\n          loader.addEventListener(\"error\", reject);\n          loader.src = image;\n        });\n\n        // Save and remove the promise only while it's pending\n        gImageLoading.set(image, loaderPromise);\n        loaderPromise.catch(ex => ex).then(() => gImageLoading.delete(image)).catch();\n      }\n\n      // Wait for the image whether just started loading or reused promise\n      await gImageLoading.get(image);\n\n      // Only update state if we're still waiting to load the original image\n      if (this.props.link.image === image && !this.state.imageLoaded) {\n        this.setState({imageLoaded: true});\n      }\n    }\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({\n      activeCard: this.props.index,\n      showContextMenu: true\n    });\n  }\n\n  onLinkClick(event) {\n    event.preventDefault();\n    const {altKey, button, ctrlKey, metaKey, shiftKey} = event;\n    this.props.dispatch(ac.AlsoToMain({\n      type: at.OPEN_LINK,\n      data: Object.assign(this.props.link, {event: {altKey, button, ctrlKey, metaKey, shiftKey}})\n    }));\n\n    if (this.props.isWebExtension) {\n      this.props.dispatch(ac.WebExtEvent(at.WEBEXT_CLICK, {\n        source: this.props.eventSource,\n        url: this.props.link.url,\n        action_position: this.props.index\n      }));\n    } else {\n      this.props.dispatch(ac.UserEvent({\n        event: \"CLICK\",\n        source: this.props.eventSource,\n        action_position: this.props.index\n      }));\n\n      if (this.props.shouldSendImpressionStats) {\n        this.props.dispatch(ac.ImpressionStats({\n          source: this.props.eventSource,\n          click: 0,\n          tiles: [{id: this.props.link.guid, pos: this.props.index}]\n        }));\n      }\n    }\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  componentDidMount() {\n    this.maybeLoadImage();\n  }\n\n  componentDidUpdate() {\n    this.maybeLoadImage();\n  }\n\n  componentWillReceiveProps(nextProps) {\n    // Clear the image state if changing images\n    if (nextProps.link.image !== this.props.link.image) {\n      this.setState({imageLoaded: false});\n    }\n  }\n\n  render() {\n    const {index, link, dispatch, contextMenuOptions, eventSource, shouldSendImpressionStats} = this.props;\n    const {props} = this;\n    const isContextMenuOpen = this.state.showContextMenu && this.state.activeCard === index;\n    // Display \"now\" as \"trending\" until we have new strings #3402\n    const {icon, intlID} = cardContextTypes[link.type === \"now\" ? \"trending\" : link.type] || {};\n    const hasImage = link.image || link.hasImage;\n    const imageStyle = {backgroundImage: link.image ? `url(${link.image})` : \"none\"};\n\n    return (<li className={`card-outer${isContextMenuOpen ? \" active\" : \"\"}${props.placeholder ? \" placeholder\" : \"\"}`}>\n      <a href={link.type === \"pocket\" ? link.open_url : link.url} onClick={!props.placeholder ? this.onLinkClick : undefined}>\n        <div className=\"card\">\n          {hasImage && <div className=\"card-preview-image-outer\">\n            <div className={`card-preview-image${this.state.imageLoaded ? \" loaded\" : \"\"}`} style={imageStyle} />\n          </div>}\n          <div className={`card-details${hasImage ? \"\" : \" no-image\"}`}>\n            {link.hostname && <div className=\"card-host-name\">{link.hostname}</div>}\n            <div className={[\n              \"card-text\",\n              icon ? \"\" : \"no-context\",\n              link.description ? \"\" : \"no-description\",\n              link.hostname ? \"\" : \"no-host-name\",\n              hasImage ? \"\" : \"no-image\"\n            ].join(\" \")}>\n              <h4 className=\"card-title\" dir=\"auto\">{link.title}</h4>\n              <p className=\"card-description\" dir=\"auto\">{link.description}</p>\n            </div>\n            <div className=\"card-context\">\n              {icon && !link.context && <span className={`card-context-icon icon icon-${icon}`} />}\n              {link.icon && link.context && <span className=\"card-context-icon icon\" style={{backgroundImage: `url('${link.icon}')`}} />}\n              {intlID && !link.context && <div className=\"card-context-label\"><FormattedMessage id={intlID} defaultMessage=\"Visited\" /></div>}\n              {link.context && <div className=\"card-context-label\">{link.context}</div>}\n            </div>\n          </div>\n        </div>\n      </a>\n      {!props.placeholder && <button className=\"context-menu-button icon\"\n        onClick={this.onMenuButtonClick}>\n        <span className=\"sr-only\">{`Open context menu for ${link.title}`}</span>\n      </button>}\n      {isContextMenuOpen &&\n        <LinkMenu\n          dispatch={dispatch}\n          index={index}\n          source={eventSource}\n          onUpdate={this.onMenuUpdate}\n          options={link.contextMenuOptions || contextMenuOptions}\n          site={link}\n          shouldSendImpressionStats={shouldSendImpressionStats} />\n      }\n   </li>);\n  }\n}\nCard.defaultProps = {link: {}};\n\nexport const PlaceholderCard = () => <Card placeholder={true} />;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Card/Card.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\n/**\n * List of functions that return items that can be included as menu options in a\n * SectionMenu. All functions take the section as the only parameter.\n */\nexport const SectionMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  RemoveSection: section => ({\n    id: \"section_menu_action_remove_section\",\n    icon: \"dismiss\",\n    action: ac.SetPref(section.showPrefName, false),\n    userEvent: \"SECTION_MENU_REMOVE\"\n  }),\n  CollapseSection: section => ({\n    id: \"section_menu_action_collapse_section\",\n    icon: \"minimize\",\n    action: ac.SetPref(section.collapsePrefName, true),\n    userEvent: \"SECTION_MENU_COLLAPSE\"\n  }),\n  ExpandSection: section => ({\n    id: \"section_menu_action_expand_section\",\n    icon: \"maximize\",\n    action: ac.SetPref(section.collapsePrefName, false),\n    userEvent: \"SECTION_MENU_EXPAND\"\n  }),\n  ManageSection: section => ({\n    id: \"section_menu_action_manage_section\",\n    icon: \"settings\",\n    action: {type: at.SETTINGS_OPEN},\n    userEvent: \"SECTION_MENU_MANAGE\"\n  }),\n  AddTopSite: section => ({\n    id: \"section_menu_action_add_topsite\",\n    icon: \"add\",\n    action: {type: at.TOP_SITES_EDIT, data: {index: -1}},\n    userEvent: \"SECTION_MENU_ADD_TOPSITE\"\n  }),\n  PrivacyNotice: section => ({\n    id: \"section_menu_action_privacy_notice\",\n    icon: \"info\",\n    action: ac.OnlyToMain({\n      type: at.OPEN_LINK,\n      data: {url: section.privacyNoticeURL}\n    }),\n    userEvent: \"SECTION_MENU_PRIVACY_NOTICE\"\n  }),\n  CheckCollapsed: section => (section.isCollapsed ? SectionMenuOptions.ExpandSection(section) : SectionMenuOptions.CollapseSection(section))\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/section-menu-options.js","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport React from \"react\";\nimport {SectionMenuOptions} from \"content-src/lib/section-menu-options\";\n\nconst DEFAULT_SECTION_MENU_OPTIONS = [\"RemoveSection\", \"CheckCollapsed\", \"Separator\", \"ManageSection\"];\n\nexport class _SectionMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n\n    const propOptions = Array.from(DEFAULT_SECTION_MENU_OPTIONS);\n    // Prepend custom options and a separator\n    if (props.extraOptions) {\n      propOptions.splice(0, 0, ...props.extraOptions, \"Separator\");\n    }\n    // Insert privacy notice before the last option (\"ManageSection\")\n    if (props.privacyNoticeURL) {\n      propOptions.splice(-1, 0, \"PrivacyNotice\");\n    }\n\n    const options = propOptions.map(o => SectionMenuOptions[o](props)).map(option => {\n      const {action, id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            props.dispatch(ac.UserEvent({\n              event: userEvent,\n              source: props.source\n            }));\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nexport const SectionMenu = injectIntl(_SectionMenu);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class Topic extends React.PureComponent {\n  render() {\n    const {url, name} = this.props;\n    return (<li><a key={name} className=\"topic-link\" href={url}>{name}</a></li>);\n  }\n}\n\nexport class Topics extends React.PureComponent {\n  render() {\n    const {topics, read_more_endpoint} = this.props;\n    return (\n      <div className=\"topic\">\n        <span><FormattedMessage id=\"pocket_read_more\" /></span>\n        <ul>{topics && topics.map(t => <Topic key={t.name} url={t.url} name={t.name} />)}</ul>\n\n        {read_more_endpoint && <a className=\"topic-read-more\" href={read_more_endpoint}>\n          <FormattedMessage id=\"pocket_read_even_more\" />\n        </a>}\n      </div>\n    );\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Topics/Topics.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {MIN_CORNER_FAVICON_SIZE, MIN_RICH_FAVICON_SIZE, TOP_SITES_SOURCE} from \"./TopSitesConstants\";\nimport {CollapsibleSection} from \"content-src/components/CollapsibleSection/CollapsibleSection\";\nimport {ComponentPerfTimer} from \"content-src/components/ComponentPerfTimer/ComponentPerfTimer\";\nimport {connect} from \"react-redux\";\nimport {injectIntl} from \"react-intl\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\nimport {TopSiteForm} from \"./TopSiteForm\";\nimport {TopSiteList} from \"./TopSite\";\n\n/**\n * Iterates through TopSites and counts types of images.\n * @param acc Accumulator for reducer.\n * @param topsite Entry in TopSites.\n */\nfunction countTopSitesIconsTypes(topSites) {\n  const countTopSitesTypes = (acc, link) => {\n    if (link.tippyTopIcon || link.faviconRef === \"tippytop\") {\n      acc.tippytop++;\n    } else if (link.faviconSize >= MIN_RICH_FAVICON_SIZE) {\n      acc.rich_icon++;\n    } else if (link.screenshot && link.faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n      acc.screenshot_with_icon++;\n    } else if (link.screenshot) {\n      acc.screenshot++;\n    } else {\n      acc.no_image++;\n    }\n\n    return acc;\n  };\n\n  return topSites.reduce(countTopSitesTypes, {\n    \"screenshot_with_icon\": 0,\n    \"screenshot\": 0,\n    \"tippytop\": 0,\n    \"rich_icon\": 0,\n    \"no_image\": 0\n  });\n}\n\nexport class _TopSites extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onFormClose = this.onFormClose.bind(this);\n  }\n\n  /**\n   * Dispatch session statistics about the quality of TopSites icons and pinned count.\n   */\n  _dispatchTopSitesStats() {\n    const topSites = this._getVisibleTopSites();\n    const topSitesIconsStats = countTopSitesIconsTypes(topSites);\n    const topSitesPinned = topSites.filter(site => !!site.isPinned).length;\n    // Dispatch telemetry event with the count of TopSites images types.\n    this.props.dispatch(ac.AlsoToMain({\n      type: at.SAVE_SESSION_PERF_DATA,\n      data: {topsites_icon_stats: topSitesIconsStats, topsites_pinned: topSitesPinned}\n    }));\n  }\n\n  /**\n   * Return the TopSites that are visible based on prefs and window width.\n   */\n  _getVisibleTopSites() {\n    // We hide 2 sites per row when not in the wide layout.\n    let sitesPerRow = TOP_SITES_MAX_SITES_PER_ROW;\n    // $break-point-widest = 1072px (from _variables.scss)\n    if (!global.matchMedia(`(min-width: 1072px)`).matches) {\n      sitesPerRow -= 2;\n    }\n    return this.props.TopSites.rows.slice(0, this.props.TopSitesRows * sitesPerRow);\n  }\n\n  componentDidUpdate() {\n    this._dispatchTopSitesStats();\n  }\n\n  componentDidMount() {\n    this._dispatchTopSitesStats();\n  }\n\n  onFormClose() {\n    this.props.dispatch(ac.UserEvent({\n      source: TOP_SITES_SOURCE,\n      event: \"TOP_SITES_EDIT_CLOSE\"\n    }));\n    this.props.dispatch({type: at.TOP_SITES_CANCEL_EDIT});\n  }\n\n  render() {\n    const {props} = this;\n    const {editForm} = props.TopSites;\n\n    return (<ComponentPerfTimer id=\"topsites\" initialized={props.TopSites.initialized} dispatch={props.dispatch}>\n      <CollapsibleSection\n        className=\"top-sites\"\n        icon=\"topsites\"\n        title={props.intl.formatMessage({id: \"header_top_sites\"})}\n        extraMenuOptions={[\"AddTopSite\"]}\n        prefName=\"collapseTopSites\"\n        showPrefName=\"showTopSites\"\n        eventSource={TOP_SITES_SOURCE}\n        Prefs={props.Prefs}\n        dispatch={props.dispatch}>\n        <TopSiteList TopSites={props.TopSites} TopSitesRows={props.TopSitesRows} dispatch={props.dispatch} intl={props.intl} />\n        <div className=\"edit-topsites-wrapper\">\n          {editForm &&\n            <div className=\"edit-topsites\">\n              <div className=\"modal-overlay\" onClick={this.onFormClose} />\n              <div className=\"modal\">\n                <TopSiteForm\n                  site={props.TopSites.rows[editForm.index]}\n                  index={editForm.index}\n                  onClose={this.onFormClose}\n                  dispatch={this.props.dispatch}\n                  intl={this.props.intl} />\n              </div>\n            </div>\n          }\n        </div>\n      </CollapsibleSection>\n    </ComponentPerfTimer>);\n  }\n}\n\nexport const TopSites = connect(state => ({\n  TopSites: state.TopSites,\n  Prefs: state.Prefs,\n  TopSitesRows: state.Prefs.values.topSitesRows\n}))(injectIntl(_TopSites));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSites.jsx","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class TopSiteFormInput extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onMount = this.onMount.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (nextProps.validationError && !this.props.validationError) {\n      this.input.focus();\n    }\n  }\n\n  onMount(input) {\n    this.input = input;\n  }\n\n  render() {\n    const showClearButton = this.props.value && this.props.onClear;\n    const {validationError, typeUrl} = this.props;\n\n    return (<label><FormattedMessage id={this.props.titleId} />\n      <div className={`field ${typeUrl ? \"url\" : \"\"}${validationError ? \" invalid\" : \"\"}`}>\n        {showClearButton &&\n          <div className=\"icon icon-clear-input\" onClick={this.props.onClear} />}\n        <input type=\"text\"\n          value={this.props.value}\n          ref={this.onMount}\n          onChange={this.props.onChange}\n          placeholder={this.props.intl.formatMessage({id: this.props.placeholderId})} />\n        {validationError &&\n          <aside className=\"error-tooltip\">\n            <FormattedMessage id={this.props.errorMessageId} />\n          </aside>}\n      </div>\n    </label>);\n  }\n}\n\nTopSiteFormInput.defaultProps = {\n  showClearButton: false,\n  value: \"\",\n  validationError: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\nimport {TOP_SITES_SOURCE} from \"./TopSitesConstants\";\nimport {TopSiteFormInput} from \"./TopSiteFormInput\";\nimport {TopSiteLink} from \"./TopSite\";\n\nexport class TopSiteForm extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    const {site} = props;\n    this.state = {\n      label: site ? (site.label || site.hostname) : \"\",\n      url: site ? site.url : \"\",\n      validationError: false\n    };\n    this.onLabelChange = this.onLabelChange.bind(this);\n    this.onUrlChange = this.onUrlChange.bind(this);\n    this.onCancelButtonClick = this.onCancelButtonClick.bind(this);\n    this.onClearUrlClick = this.onClearUrlClick.bind(this);\n    this.onDoneButtonClick = this.onDoneButtonClick.bind(this);\n  }\n\n  onLabelChange(event) {\n    this.setState({\"label\": event.target.value});\n  }\n\n  onUrlChange(event) {\n    this.setState({\n      url: event.target.value,\n      validationError: false\n    });\n  }\n\n  onClearUrlClick() {\n    this.setState({\n      url: \"\",\n      validationError: false\n    });\n  }\n\n  onCancelButtonClick(ev) {\n    ev.preventDefault();\n    this.props.onClose();\n  }\n\n  onDoneButtonClick(ev) {\n    ev.preventDefault();\n\n    if (this.validateForm()) {\n      const site = {url: this.cleanUrl(this.state.url)};\n      const {index} = this.props;\n      if (this.state.label !== \"\") {\n        site.label = this.state.label;\n      }\n\n      this.props.dispatch(ac.AlsoToMain({\n        type: at.TOP_SITES_PIN,\n        data: {site, index}\n      }));\n      this.props.dispatch(ac.UserEvent({\n        source: TOP_SITES_SOURCE,\n        event: \"TOP_SITES_EDIT\",\n        action_position: index\n      }));\n\n      this.props.onClose();\n    }\n  }\n\n  cleanUrl(url) {\n    // If we are missing a protocol, prepend http://\n    if (!url.startsWith(\"http:\") && !url.startsWith(\"https:\")) {\n      return `http://${url}`;\n    }\n    return url;\n  }\n\n  validateUrl(url) {\n    try {\n      return !!new URL(this.cleanUrl(url));\n    } catch (e) {\n      return false;\n    }\n  }\n\n  validateForm() {\n    const validate = this.validateUrl(this.state.url);\n    this.setState({validationError: !validate});\n    return validate;\n  }\n\n  render() {\n    // For UI purposes, editing without an existing link is \"add\"\n    const showAsAdd = !this.props.site;\n\n    return (\n      <form className=\"topsite-form\">\n        <div className=\"form-input-container\">\n          <h3 className=\"section-title\">\n            <FormattedMessage id={showAsAdd ? \"topsites_form_add_header\" : \"topsites_form_edit_header\"} />\n          </h3>\n          <div className=\"fields-and-preview\">\n            <div className=\"form-wrapper\">\n              <TopSiteFormInput onChange={this.onLabelChange}\n                value={this.state.label}\n                titleId=\"topsites_form_title_label\"\n                placeholderId=\"topsites_form_title_placeholder\"\n                intl={this.props.intl} />\n              <TopSiteFormInput onChange={this.onUrlChange}\n                value={this.state.url}\n                onClear={this.onClearUrlClick}\n                validationError={this.state.validationError}\n                titleId=\"topsites_form_url_label\"\n                typeUrl={true}\n                placeholderId=\"topsites_form_url_placeholder\"\n                errorMessageId=\"topsites_form_url_validation\"\n                intl={this.props.intl} />\n            </div>\n            <TopSiteLink link={this.props.site || {}} title={this.state.label} />\n          </div>\n        </div>\n        <section className=\"actions\">\n          <button className=\"cancel\" type=\"button\" onClick={this.onCancelButtonClick}>\n            <FormattedMessage id=\"topsites_form_cancel_button\" />\n          </button>\n          <button className=\"done\" type=\"submit\" onClick={this.onDoneButtonClick}>\n            <FormattedMessage id={showAsAdd ? \"topsites_form_add_button\" : \"topsites_form_save_button\"} />\n          </button>\n        </section>\n      </form>\n    );\n  }\n}\n\nTopSiteForm.defaultProps = {\n  TopSite: null,\n  index: -1\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSiteForm.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nexport class DetectUserSessionStart {\n  constructor(store, options = {}) {\n    this._store = store;\n    // Overrides for testing\n    this.document = options.document || global.document;\n    this._perfService = options.perfService || perfSvc;\n    this._onVisibilityChange = this._onVisibilityChange.bind(this);\n  }\n\n  /**\n   * sendEventOrAddListener - Notify immediately if the page is already visible,\n   *                    or else set up a listener for when visibility changes.\n   *                    This is needed for accurate session tracking for telemetry,\n   *                    because tabs are pre-loaded.\n   */\n  sendEventOrAddListener() {\n    if (this.document.visibilityState === VISIBLE) {\n      // If the document is already visible, to the user, send a notification\n      // immediately that a session has started.\n      this._sendEvent();\n    } else {\n      // If the document is not visible, listen for when it does become visible.\n      this.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  /**\n   * _sendEvent - Sends a message to the main process to indicate the current\n   *              tab is now visible to the user, includes the\n   *              visibility_event_rcvd_ts time in ms from the UNIX epoch.\n   */\n  _sendEvent() {\n    this._perfService.mark(\"visibility_event_rcvd_ts\");\n\n    try {\n      let visibility_event_rcvd_ts = this._perfService\n        .getMostRecentAbsMarkStartByName(\"visibility_event_rcvd_ts\");\n\n      this._store.dispatch(ac.AlsoToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data: {visibility_event_rcvd_ts}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up.\n    }\n  }\n\n  /**\n   * _onVisibilityChange - If the visibility has changed to visible, sends a notification\n   *                      and removes the event listener. This should only be called once per tab.\n   */\n  _onVisibilityChange() {\n    if (this.document.visibilityState === VISIBLE) {\n      this._sendEvent();\n      this.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/detect-user-session-start.js","/* eslint-env mozilla/frame-script */\n\nimport {actionCreators as ac, actionTypes as at, actionUtils as au} from \"common/Actions.jsm\";\nimport {applyMiddleware, combineReducers, createStore} from \"redux\";\n\nexport const MERGE_STORE_ACTION = \"NEW_TAB_INITIAL_STATE\";\nexport const OUTGOING_MESSAGE_NAME = \"ActivityStream:ContentToMain\";\nexport const INCOMING_MESSAGE_NAME = \"ActivityStream:MainToContent\";\nexport const EARLY_QUEUED_ACTIONS = [at.SAVE_SESSION_PERF_DATA, at.PAGE_PRERENDERED];\n\n/**\n * A higher-order function which returns a reducer that, on MERGE_STORE action,\n * will return the action.data object merged into the previous state.\n *\n * For all other actions, it merely calls mainReducer.\n *\n * Because we want this to merge the entire state object, it's written as a\n * higher order function which takes the main reducer (itself often a call to\n * combineReducers) as a parameter.\n *\n * @param  {function} mainReducer reducer to call if action != MERGE_STORE_ACTION\n * @return {function}             a reducer that, on MERGE_STORE_ACTION action,\n *                                will return the action.data object merged\n *                                into the previous state, and the result\n *                                of calling mainReducer otherwise.\n */\nfunction mergeStateReducer(mainReducer) {\n  return (prevState, action) => {\n    if (action.type === MERGE_STORE_ACTION) {\n      return Object.assign({}, prevState, action.data);\n    }\n\n    return mainReducer(prevState, action);\n  };\n}\n\n/**\n * messageMiddleware - Middleware that looks for SentToMain type actions, and sends them if necessary\n */\nconst messageMiddleware = store => next => action => {\n  const skipLocal = action.meta && action.meta.skipLocal;\n  if (au.isSendToMain(action)) {\n    sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);\n  }\n  if (!skipLocal) {\n    next(action);\n  }\n};\n\nexport const rehydrationMiddleware = store => next => action => {\n  if (store._didRehydrate) {\n    return next(action);\n  }\n\n  const isMergeStoreAction = action.type === MERGE_STORE_ACTION;\n  const isRehydrationRequest = action.type === at.NEW_TAB_STATE_REQUEST;\n\n  if (isRehydrationRequest) {\n    store._didRequestInitialState = true;\n    return next(action);\n  }\n\n  if (isMergeStoreAction) {\n    store._didRehydrate = true;\n    return next(action);\n  }\n\n  // If init happened after our request was made, we need to re-request\n  if (store._didRequestInitialState && action.type === at.INIT) {\n    return next(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n  }\n\n  if (au.isBroadcastToContent(action) || au.isSendToOneContent(action) || au.isSendToPreloaded(action)) {\n    // Note that actions received before didRehydrate will not be dispatched\n    // because this could negatively affect preloading and the the state\n    // will be replaced by rehydration anyway.\n    return null;\n  }\n\n  return next(action);\n};\n\n/**\n * This middleware queues up all the EARLY_QUEUED_ACTIONS until it receives\n * the first action from main. This is useful for those actions for main which\n * require higher reliability, i.e. the action will not be lost in the case\n * that it gets sent before the main is ready to receive it. Conversely, any\n * actions allowed early are accepted to be ignorable or re-sendable.\n */\nexport const queueEarlyMessageMiddleware = store => next => action => {\n  if (store._receivedFromMain) {\n    next(action);\n  } else if (au.isFromMain(action)) {\n    next(action);\n    store._receivedFromMain = true;\n    // Sending out all the early actions as main is ready now\n    if (store._earlyActionQueue) {\n      store._earlyActionQueue.forEach(next);\n      store._earlyActionQueue = [];\n    }\n  } else if (EARLY_QUEUED_ACTIONS.includes(action.type)) {\n    store._earlyActionQueue = store._earlyActionQueue || [];\n    store._earlyActionQueue.push(action);\n  } else {\n    // Let any other type of action go through\n    next(action);\n  }\n};\n\n/**\n * initStore - Create a store and listen for incoming actions\n *\n * @param  {object} reducers An object containing Redux reducers\n * @param  {object} intialState (optional) The initial state of the store, if desired\n * @return {object}          A redux store\n */\nexport function initStore(reducers, initialState) {\n  const store = createStore(\n    mergeStateReducer(combineReducers(reducers)),\n    initialState,\n    global.addMessageListener && applyMiddleware(rehydrationMiddleware, queueEarlyMessageMiddleware, messageMiddleware)\n  );\n\n  store._didRehydrate = false;\n  store._didRequestInitialState = false;\n\n  if (global.addMessageListener) {\n    global.addMessageListener(INCOMING_MESSAGE_NAME, msg => {\n      try {\n        store.dispatch(msg.data);\n      } catch (ex) {\n        console.error(\"Content msg:\", msg, \"Dispatch error: \", ex); // eslint-disable-line no-console\n        dump(`Content msg: ${JSON.stringify(msg)}\\nDispatch error: ${ex}\\n${ex.stack}`);\n      }\n    });\n  }\n\n  return store;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/init-store.js","module.exports = Redux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Redux\"\n// module id = 26\n// module chunks = 0","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 27\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap f840e51d38912f8e8968","webpack:///./system-addon/common/Actions.jsm","webpack:///external \"React\"","webpack:///external \"ReactIntl\"","webpack:///(webpack)/buildin/global.js","webpack:///external \"ReactRedux\"","webpack:///./system-addon/content-src/components/TopSites/TopSitesConstants.js","webpack:///./system-addon/common/Dedupe.jsm","webpack:///./system-addon/common/Reducers.jsm","webpack:///./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","webpack:///./system-addon/content-src/lib/link-menu-options.js","webpack:///./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","webpack:///./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","webpack:///./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","webpack:///./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","webpack:///./system-addon/common/PerfService.jsm","webpack:///./system-addon/content-src/components/TopSites/TopSite.jsx","webpack:///./system-addon/content-src/activity-stream.jsx","webpack:///./system-addon/content-src/lib/snippets.js","webpack:///./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","webpack:///./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","webpack:///./system-addon/content-src/components/PreferencesPane/PreferencesPane.jsx","webpack:///./system-addon/common/PrerenderData.jsm","webpack:///./system-addon/content-src/components/Search/Search.jsx","webpack:///./system-addon/content-src/components/Base/Base.jsx","webpack:///./system-addon/content-src/lib/constants.js","webpack:///./system-addon/content-src/components/Sections/Sections.jsx","webpack:///./system-addon/content-src/components/Card/types.js","webpack:///./system-addon/content-src/components/Card/Card.jsx","webpack:///./system-addon/content-src/lib/section-menu-options.js","webpack:///./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","webpack:///./system-addon/content-src/components/Topics/Topics.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSites.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteForm.jsx","webpack:///./system-addon/content-src/lib/detect-user-session-start.js","webpack:///./system-addon/content-src/lib/init-store.js","webpack:///external \"Redux\"","webpack:///external \"ReactDOM\""],"names":["globalImportContext","Window","BACKGROUND_PROCESS","UI_CODE","actionTypes","type","_RouteMessage","action","options","meta","Object","assign","from","to","Error","forEach","o","AlsoToMain","fromTarget","skipLocal","CONTENT_MESSAGE_TYPE","MAIN_MESSAGE_TYPE","OnlyToMain","BroadcastToContent","AlsoToOneContent","target","skipMain","toTarget","OnlyToOneContent","AlsoToPreloaded","PRELOAD_MESSAGE_TYPE","UserEvent","data","TELEMETRY_USER_EVENT","UndesiredEvent","importContext","TELEMETRY_UNDESIRED_EVENT","PerfEvent","TELEMETRY_PERFORMANCE_EVENT","ImpressionStats","TELEMETRY_IMPRESSION_STATS","SetPref","name","value","SET_PREF","WebExtEvent","source","isSendToMain","isBroadcastToContent","isSendToOneContent","isSendToPreloaded","isFromMain","getPortIdOfSender","TOP_SITES_SOURCE","TOP_SITES_CONTEXT_MENU_OPTIONS","MIN_RICH_FAVICON_SIZE","MIN_CORNER_FAVICON_SIZE","Dedupe","constructor","createKey","defaultCreateKey","item","group","groups","globalKeys","Set","result","values","valueMap","Map","key","has","set","push","add","map","m","Array","TOP_SITES_DEFAULT_ROWS","TOP_SITES_MAX_SITES_PER_ROW","dedupe","site","url","INITIAL_STATE","App","initialized","version","Snippets","TopSites","rows","editForm","Prefs","Dialog","visible","Sections","PreferencesPane","prevState","at","INIT","insertPinned","links","pinned","pinnedUrls","link","newLinks","filter","includes","isPinned","pinIndex","val","index","length","splice","hasMatch","newRows","TOP_SITES_UPDATED","TOP_SITES_EDIT","TOP_SITES_CANCEL_EDIT","SCREENSHOT_UPDATED","row","screenshot","PLACES_BOOKMARK_ADDED","bookmarkGuid","bookmarkTitle","dateAdded","bookmarkDateCreated","PLACES_BOOKMARK_REMOVED","newSite","DIALOG_OPEN","DIALOG_CANCEL","DELETE_HISTORY_URL","newValues","PREFS_INITIAL_VALUES","PREF_CHANGED","newState","SECTION_DEREGISTER","section","id","SECTION_REGISTER","title","enabled","SECTION_UPDATE","find","card","dedupeConfigurations","dedupeConf","dedupedRows","dedupeFrom","reduce","dedupeSectionId","dedupeSection","s","SECTION_UPDATE_CARD","PLACES_SAVED_TO_POCKET","open_url","pocket_id","PLACES_LINKS_DELETED","PLACES_LINK_BLOCKED","DELETE_FROM_POCKET","ARCHIVE_FROM_POCKET","SNIPPETS_DATA","SNIPPET_BLOCKED","blockList","concat","SNIPPETS_BLOCKLIST_CLEARED","SNIPPETS_RESET","SETTINGS_OPEN","SETTINGS_CLOSE","ErrorBoundaryFallback","React","PureComponent","props","windowObj","window","onClick","bind","location","reload","render","defaultClass","className","defaultProps","ErrorBoundary","state","hasError","componentDidCatch","error","info","setState","children","FallbackComponent","_OpenInPrivateWindow","icon","ac","OPEN_PRIVATE_WINDOW","referrer","userEvent","LinkMenuOptions","Separator","EmptyItem","RemoveBookmark","DELETE_BOOKMARK_BY_ID","AddBookmark","BOOKMARK_URL","OpenInNewWindow","OPEN_NEW_WINDOW","BlockUrl","eventSource","BLOCK_URL","impression","block","tiles","guid","pos","WebExtDismiss","string_id","WEBEXT_DISMISS","action_position","DeleteUrl","isEnabled","siteInfo","onConfirm","forceBlock","event","body_string_id","confirm_button_string_id","cancel_button_string_id","PinTopSite","TOP_SITES_PIN","UnpinTopSite","TOP_SITES_UNPIN","SaveToPocket","SAVE_TO_POCKET","pocket","DeleteFromPocket","ArchiveFromPocket","EditTopSite","CheckBookmark","CheckPinTopSite","CheckSavedToPocket","CheckBookmarkOrArchive","CheckDeleteHistoryOrEmpty","OpenInPrivateWindow","DEFAULT_SITE_MENU_OPTIONS","getOptions","isPrivateBrowsingEnabled","propOptions","isDefault","option","label","intl","formatMessage","dispatch","userEventData","shouldSendImpressionStats","first","last","onUpdate","getState","LinkMenu","connect","injectIntl","ContextMenu","hideContext","componentDidMount","setTimeout","global","addEventListener","componentWillUnmount","removeEventListener","stopPropagation","i","ContextMenuItem","onKeyDown","shiftKey","disabled","VISIBLE","VISIBILITY_CHANGE_EVENT","getFormattedMessage","message","getCollapsed","prefName","Disclaimer","onAcknowledge","disclaimerPref","disclaimer","text","href","button","DisclaimerIntl","_CollapsibleSection","onBodyMount","onHeaderClick","onTransitionEnd","enableOrDisableAnimation","onMenuButtonClick","onMenuButtonMouseEnter","onMenuButtonMouseLeave","onMenuUpdate","enableAnimation","isAnimating","menuButtonHover","showContextMenu","componentWillMount","document","componentWillUpdate","nextProps","sectionBody","scrollHeight","visibilityState","node","maxHeight","currentTarget","renderIcon","startsWith","backgroundImage","preventDefault","isCollapsible","isCollapsed","extraMenuOptions","showPrefName","privacyNoticeURL","isFirst","isLast","needsDisclaimer","active","CollapsibleSection","RECORDED_SECTIONS","ComponentPerfTimer","Component","perfSvc","_sendBadStateEvent","_sendPaintedEvent","_reportMissingData","_timestampHandled","_recordedFirstRender","_maybeSendPaintedEvent","componentDidUpdate","_afterFramePaint","callback","requestAnimationFrame","_maybeSendBadStateEvent","_ensureFirstRenderTsRecorded","mark","dataReadyKey","firstRenderKey","parseInt","getMostRecentAbsMarkStartByName","SAVE_SESSION_PERF_DATA","ex","ChromeUtils","import","usablePerfObj","Services","appShell","hiddenDOMWindow","performance","now","_PerfService","performanceObj","_perf","prototype","str","getEntriesByName","timeOrigin","absNow","entries","mostRecentEntry","startTime","TopSiteLink","onDragEvent","_allowDrop","e","dataTransfer","types","dragged","effectAllowed","setData","blur","isDraggable","topSiteOuterClassName","isDragged","tippyTopIcon","faviconSize","letterFallback","imageClassName","imageStyle","showSmallFavicon","smallFaviconStyle","smallFaviconFallback","backgroundColor","favicon","draggableProps","onDragEnd","onDragStart","onMouseDown","TopSite","onLinkClick","_getTelemetryInfo","icon_type","iconType","card_type","ev","onActivate","isContextMenuOpen","activeIndex","hostname","TopSitePlaceholder","onEditButtonClick","_TopSiteList","DEFAULT_STATE","draggedIndex","draggedSite","draggedTitle","topSitesPreview","componentWillReceiveProps","prevTopSites","newTopSites","dropped","_makeTopSitesPreview","TOP_SITES_INSERT","draggedFromIndex","_getTopSites","topSites","slice","TopSitesRows","pinnedOnly","unpinned","siteToInsert","holeIndex","indexStep","shiftingStep","nextIndex","preview","shift","topSitesUI","commonProps","maxNarrowVisibleIndex","l","topSiteIconType","slotProps","TopSiteList","store","initStore","gActivityStreamPrerenderedState","sendEventOrAddListener","NEW_TAB_STATE_REQUEST","ReactDOM","hydrate","documentElement","lang","gActivityStreamStrings","getElementById","addSnippetsSubscriber","DATABASE_NAME","DATABASE_VERSION","SNIPPETS_OBJECTSTORE_NAME","SNIPPETS_UPDATE_INTERVAL_MS","SNIPPETS_ENABLED_EVENT","SNIPPETS_DISABLED_EVENT","SnippetsMap","_db","_dispatch","_dbTransaction","db","put","delete","clear","get","blockSnippetById","SNIPPETS_BLOCKLIST_UPDATED","disableOnboarding","DISABLE_ONBOARDING","showFirefoxAccounts","SHOW_FIREFOX_ACCOUNTS","getTotalBookmarksCount","Promise","resolve","TOTAL_BOOKMARKS_REQUEST","addMessageListener","onMessage","TOTAL_BOOKMARKS_RESPONSE","removeMessageListener","_openDB","_restoreFromDb","modifier","reject","transaction","objectStore","onsuccess","onerror","openRequest","indexedDB","open","deleteDatabase","onupgradeneeded","objectStoreNames","contains","createObjectStore","err","console","onversionchange","versionChangeEvent","close","cursorRequest","openCursor","cursor","continue","SnippetsProvider","gSnippetsMap","_onAction","snippetsMap","_refreshSnippets","cachedVersion","appData","lastUpdate","needsUpdate","Date","snippetsURL","response","fetch","status","payload","_noSnippetFallback","_forceOnboardingVisibility","shouldBeVisible","onboardingEl","style","display","_showRemoteSnippets","snippetsEl","elementId","innerHTML","scriptEl","getElementsByTagName","relocatedScript","createElement","parentNode","replaceChild","msg","init","keys","dispatchEvent","Event","uninit","snippets","initializing","subscribe","disableSnippets","_handleCancelBtn","_handleConfirmBtn","_renderModalMessage","message_body","ConfirmDialog","onLaunchTour","onCancelTour","MIGRATION_START","MIGRATION_CANCEL","ManualMigration","PreferencesInput","onChange","labelClassName","titleString","descString","Children","child","handleClickOutside","handlePrefChange","handleSectionChange","togglePane","onWrapperMount","prevProps","isSidebarOpen","wrapper","checked","SECTION_ENABLE","SECTION_DISABLE","prefs","sections","isVisible","showSearch","showTopSites","topSitesRows","shouldHidePref","pref","feed","nestedPrefs","nestedPref","_PrerenderData","initialPrefs","initialSections","_setValidation","validation","_validation","invalidatingPrefs","_invalidatingPrefs","next","oneOf","arePrefsValid","getPref","some","order","provider","onInputMount","handleEvent","detail","gContentSearchController","search","input","healthReportKey","IS_NEWTAB","searchSource","ContentSearchUIController","Search","addLocaleDataForReactIntl","locale","addLocaleData","parentLocale","sendNewTabRehydrated","isPrerendered","PAGE_PRERENDERED","renderNotified","NEW_TAB_REHYDRATED","strings","shouldBeFixedToTop","PrerenderData","outerClassName","enableWideLayout","migrationExpired","Base","documentURI","CARDS_PER_ROW","Section","_dispatchImpressionStats","maxCards","maxRows","cards","needsImpressionStats","impressionCardGuids","sendImpressionStatsOrAddListener","_onVisibilityChange","isCollapsedPref","wasCollapsed","numberOfPlaceholders","items","remainder","emptyState","contextMenuOptions","shouldShowTopics","topics","realRows","placeholders","shouldShowEmptyState","padding","isWebExtension","_","read_more_endpoint","SectionIntl","_Sections","renderSections","enabledSections","sectionOrder","expectedCount","sectionId","split","cardContextTypes","history","intlID","bookmark","trending","gImageLoading","activeCard","imageLoaded","maybeLoadImage","image","loaderPromise","loader","Image","src","catch","then","altKey","ctrlKey","metaKey","OPEN_LINK","WEBEXT_CLICK","click","hasImage","placeholder","undefined","description","join","context","Card","PlaceholderCard","SectionMenuOptions","MoveUp","SECTION_MOVE","direction","MoveDown","RemoveSection","CollapseSection","collapsePrefName","ExpandSection","ManageSection","AddTopSite","PrivacyNotice","CheckCollapsed","DEFAULT_SECTION_MENU_OPTIONS","extraOptions","SectionMenu","Topic","Topics","t","faviconRef","countTopSitesIconsTypes","countTopSitesTypes","acc","_TopSites","onFormClose","_dispatchTopSitesStats","_getVisibleTopSites","topSitesIconsStats","topSitesPinned","topsites_icon_stats","topsites_pinned","sitesPerRow","matchMedia","matches","onMount","validationError","focus","showClearButton","onClear","typeUrl","titleId","placeholderId","errorMessageId","TopSiteFormInput","onLabelChange","onUrlChange","onCancelButtonClick","onClearUrlClick","onDoneButtonClick","onClose","validateForm","cleanUrl","validateUrl","URL","validate","showAsAdd","TopSiteForm","DetectUserSessionStart","_store","_perfService","perfService","_sendEvent","visibility_event_rcvd_ts","MERGE_STORE_ACTION","OUTGOING_MESSAGE_NAME","INCOMING_MESSAGE_NAME","EARLY_QUEUED_ACTIONS","mergeStateReducer","mainReducer","messageMiddleware","au","sendAsyncMessage","rehydrationMiddleware","_didRehydrate","isMergeStoreAction","isRehydrationRequest","_didRequestInitialState","queueEarlyMessageMiddleware","_receivedFromMain","_earlyActionQueue","reducers","initialState","createStore","combineReducers","applyMiddleware","dump","JSON","stringify","stack"],"mappings":"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","file":"activity-stream.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 14);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap f840e51d38912f8e8968","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nthis.MAIN_MESSAGE_TYPE = \"ActivityStream:Main\";\nthis.CONTENT_MESSAGE_TYPE = \"ActivityStream:Content\";\nthis.PRELOAD_MESSAGE_TYPE = \"ActivityStream:PreloadedBrowser\";\nthis.UI_CODE = 1;\nthis.BACKGROUND_PROCESS = 2;\n\n/**\n * globalImportContext - Are we in UI code (i.e. react, a dom) or some kind of background process?\n *                       Use this in action creators if you need different logic\n *                       for ui/background processes.\n */\nconst globalImportContext = typeof Window === \"undefined\" ? BACKGROUND_PROCESS : UI_CODE;\n// Export for tests\nthis.globalImportContext = globalImportContext;\n\n// Create an object that avoids accidental differing key/value pairs:\n// {\n//   INIT: \"INIT\",\n//   UNINIT: \"UNINIT\"\n// }\nconst actionTypes = {};\nfor (const type of [\n  \"ARCHIVE_FROM_POCKET\",\n  \"BLOCK_URL\",\n  \"BOOKMARK_URL\",\n  \"DELETE_BOOKMARK_BY_ID\",\n  \"DELETE_FROM_POCKET\",\n  \"DELETE_HISTORY_URL\",\n  \"DELETE_HISTORY_URL_CONFIRM\",\n  \"DIALOG_CANCEL\",\n  \"DIALOG_OPEN\",\n  \"DISABLE_ONBOARDING\",\n  \"INIT\",\n  \"MIGRATION_CANCEL\",\n  \"MIGRATION_COMPLETED\",\n  \"MIGRATION_START\",\n  \"NEW_TAB_INIT\",\n  \"NEW_TAB_INITIAL_STATE\",\n  \"NEW_TAB_LOAD\",\n  \"NEW_TAB_REHYDRATED\",\n  \"NEW_TAB_STATE_REQUEST\",\n  \"NEW_TAB_UNLOAD\",\n  \"OPEN_LINK\",\n  \"OPEN_NEW_WINDOW\",\n  \"OPEN_PRIVATE_WINDOW\",\n  \"PAGE_PRERENDERED\",\n  \"PLACES_BOOKMARK_ADDED\",\n  \"PLACES_BOOKMARK_CHANGED\",\n  \"PLACES_BOOKMARK_REMOVED\",\n  \"PLACES_HISTORY_CLEARED\",\n  \"PLACES_LINKS_DELETED\",\n  \"PLACES_LINK_BLOCKED\",\n  \"PLACES_SAVED_TO_POCKET\",\n  \"PREFS_INITIAL_VALUES\",\n  \"PREF_CHANGED\",\n  \"RICH_ICON_MISSING\",\n  \"SAVE_SESSION_PERF_DATA\",\n  \"SAVE_TO_POCKET\",\n  \"SCREENSHOT_UPDATED\",\n  \"SECTION_DEREGISTER\",\n  \"SECTION_DISABLE\",\n  \"SECTION_ENABLE\",\n  \"SECTION_MOVE\",\n  \"SECTION_OPTIONS_CHANGED\",\n  \"SECTION_REGISTER\",\n  \"SECTION_UPDATE\",\n  \"SECTION_UPDATE_CARD\",\n  \"SETTINGS_CLOSE\",\n  \"SETTINGS_OPEN\",\n  \"SET_PREF\",\n  \"SHOW_FIREFOX_ACCOUNTS\",\n  \"SNIPPETS_BLOCKLIST_CLEARED\",\n  \"SNIPPETS_BLOCKLIST_UPDATED\",\n  \"SNIPPETS_DATA\",\n  \"SNIPPETS_RESET\",\n  \"SNIPPET_BLOCKED\",\n  \"SYSTEM_TICK\",\n  \"TELEMETRY_IMPRESSION_STATS\",\n  \"TELEMETRY_PERFORMANCE_EVENT\",\n  \"TELEMETRY_UNDESIRED_EVENT\",\n  \"TELEMETRY_USER_EVENT\",\n  \"TOP_SITES_CANCEL_EDIT\",\n  \"TOP_SITES_EDIT\",\n  \"TOP_SITES_INSERT\",\n  \"TOP_SITES_PIN\",\n  \"TOP_SITES_UNPIN\",\n  \"TOP_SITES_UPDATED\",\n  \"TOTAL_BOOKMARKS_REQUEST\",\n  \"TOTAL_BOOKMARKS_RESPONSE\",\n  \"UNINIT\",\n  \"WEBEXT_CLICK\",\n  \"WEBEXT_DISMISS\"\n]) {\n  actionTypes[type] = type;\n}\n\n// Helper function for creating routed actions between content and main\n// Not intended to be used by consumers\nfunction _RouteMessage(action, options) {\n  const meta = action.meta ? Object.assign({}, action.meta) : {};\n  if (!options || !options.from || !options.to) {\n    throw new Error(\"Routed Messages must have options as the second parameter, and must at least include a .from and .to property.\");\n  }\n  // For each of these fields, if they are passed as an option,\n  // add them to the action. If they are not defined, remove them.\n  [\"from\", \"to\", \"toTarget\", \"fromTarget\", \"skipMain\", \"skipLocal\"].forEach(o => {\n    if (typeof options[o] !== \"undefined\") {\n      meta[o] = options[o];\n    } else if (meta[o]) {\n      delete meta[o];\n    }\n  });\n  return Object.assign({}, action, {meta});\n}\n\n/**\n * AlsoToMain - Creates a message that will be dispatched locally and also sent to the Main process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {bool}   skipLocal Used by OnlyToMain to skip the main reducer\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToMain(action, fromTarget, skipLocal) {\n  return _RouteMessage(action, {\n    from: CONTENT_MESSAGE_TYPE,\n    to: MAIN_MESSAGE_TYPE,\n    fromTarget,\n    skipLocal\n  });\n}\n\n/**\n * OnlyToMain - Creates a message that will be sent to the Main process and skip the local reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToMain(action, fromTarget) {\n  return AlsoToMain(action, fromTarget, true);\n}\n\n/**\n * BroadcastToContent - Creates a message that will be dispatched to main and sent to ALL content processes.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction BroadcastToContent(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE\n  });\n}\n\n/**\n * AlsoToOneContent - Creates a message that will be will be dispatched to the main store\n *                    and also sent to a particular Content process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @param  {bool} skipMain Used by OnlyToOneContent to skip the main process\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToOneContent(action, target, skipMain) {\n  if (!target) {\n    throw new Error(\"You must provide a target ID as the second parameter of AlsoToOneContent. If you want to send to all content processes, use BroadcastToContent\");\n  }\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE,\n    toTarget: target,\n    skipMain\n  });\n}\n\n/**\n * OnlyToOneContent - Creates a message that will be sent to a particular Content process\n *                    and skip the main reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToOneContent(action, target) {\n  return AlsoToOneContent(action, target, true);\n}\n\n/**\n * AlsoToPreloaded - Creates a message that dispatched to the main reducer and also sent to the preloaded tab.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToPreloaded(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: PRELOAD_MESSAGE_TYPE\n  });\n}\n\n/**\n * UserEvent - A telemetry ping indicating a user action. This should only\n *                   be sent from the UI during a user session.\n *\n * @param  {object} data Fields to include in the ping (source, etc.)\n * @return {object} An AlsoToMain action\n */\nfunction UserEvent(data) {\n  return AlsoToMain({\n    type: actionTypes.TELEMETRY_USER_EVENT,\n    data\n  });\n}\n\n/**\n * UndesiredEvent - A telemetry ping indicating an undesired state.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction UndesiredEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_UNDESIRED_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * PerfEvent - A telemetry ping indicating a performance-related event.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction PerfEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_PERFORMANCE_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * ImpressionStats - A telemetry ping indicating an impression stats.\n *\n * @param  {object} data Fields to include in the ping\n * @param  {int} importContext (For testing) Override the import context for testing.\n * #return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction ImpressionStats(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_IMPRESSION_STATS,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction SetPref(name, value, importContext = globalImportContext) {\n  const action = {type: actionTypes.SET_PREF, data: {name, value}};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction WebExtEvent(type, data, importContext = globalImportContext) {\n  if (!data || !data.source) {\n    throw new Error(\"WebExtEvent actions should include a property \\\"source\\\", the id of the webextension that should receive the event.\");\n  }\n  const action = {type, data};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nthis.actionTypes = actionTypes;\n\nthis.actionCreators = {\n  BroadcastToContent,\n  UserEvent,\n  UndesiredEvent,\n  PerfEvent,\n  ImpressionStats,\n  AlsoToOneContent,\n  OnlyToOneContent,\n  AlsoToMain,\n  OnlyToMain,\n  AlsoToPreloaded,\n  SetPref,\n  WebExtEvent\n};\n\n// These are helpers to test for certain kinds of actions\nthis.actionUtils = {\n  isSendToMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === MAIN_MESSAGE_TYPE && action.meta.from === CONTENT_MESSAGE_TYPE;\n  },\n  isBroadcastToContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && !action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToOneContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToPreloaded(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === PRELOAD_MESSAGE_TYPE &&\n      action.meta.from === MAIN_MESSAGE_TYPE;\n  },\n  isFromMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.from === MAIN_MESSAGE_TYPE &&\n      action.meta.to === CONTENT_MESSAGE_TYPE;\n  },\n  getPortIdOfSender(action) {\n    return (action.meta && action.meta.fromTarget) || null;\n  },\n  _RouteMessage\n};\n\nconst EXPORTED_SYMBOLS = [\n  \"actionTypes\",\n  \"actionCreators\",\n  \"actionUtils\",\n  \"globalImportContext\",\n  \"UI_CODE\",\n  \"BACKGROUND_PROCESS\",\n  \"MAIN_MESSAGE_TYPE\",\n  \"CONTENT_MESSAGE_TYPE\",\n  \"PRELOAD_MESSAGE_TYPE\"\n];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Actions.jsm","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 1\n// module chunks = 0","module.exports = ReactIntl;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactIntl\"\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","module.exports = ReactRedux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactRedux\"\n// module id = 4\n// module chunks = 0","export const TOP_SITES_SOURCE = \"TOP_SITES\";\nexport const TOP_SITES_CONTEXT_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\",\n  \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\", \"DeleteUrl\"];\n// minimum size necessary to show a rich icon instead of a screenshot\nexport const MIN_RICH_FAVICON_SIZE = 96;\n// minimum size necessary to show any icon in the top left corner with a screenshot\nexport const MIN_CORNER_FAVICON_SIZE = 16;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSitesConstants.js","this.Dedupe = class Dedupe {\n  constructor(createKey) {\n    this.createKey = createKey || this.defaultCreateKey;\n  }\n\n  defaultCreateKey(item) {\n    return item;\n  }\n\n  /**\n   * Dedupe any number of grouped elements favoring those from earlier groups.\n   *\n   * @param {Array} groups Contains an arbitrary number of arrays of elements.\n   * @returns {Array} A matching array of each provided group deduped.\n   */\n  group(...groups) {\n    const globalKeys = new Set();\n    const result = [];\n    for (const values of groups) {\n      const valueMap = new Map();\n      for (const value of values) {\n        const key = this.createKey(value);\n        if (!globalKeys.has(key) && !valueMap.has(key)) {\n          valueMap.set(key, value);\n        }\n      }\n      result.push(valueMap);\n      valueMap.forEach((value, key) => globalKeys.add(key));\n    }\n    return result.map(m => Array.from(m.values()));\n  }\n};\n\nconst EXPORTED_SYMBOLS = [\"Dedupe\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Dedupe.jsm","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nconst {actionTypes: at} = ChromeUtils.import(\"resource://activity-stream/common/Actions.jsm\", {});\nconst {Dedupe} = ChromeUtils.import(\"resource://activity-stream/common/Dedupe.jsm\", {});\n\nconst TOP_SITES_DEFAULT_ROWS = 1;\nconst TOP_SITES_MAX_SITES_PER_ROW = 8;\n\nconst dedupe = new Dedupe(site => site && site.url);\n\nconst INITIAL_STATE = {\n  App: {\n    // Have we received real data from the app yet?\n    initialized: false,\n    // The version of the system-addon\n    version: null\n  },\n  Snippets: {initialized: false},\n  TopSites: {\n    // Have we received real data from history yet?\n    initialized: false,\n    // The history (and possibly default) links\n    rows: [],\n    // Used in content only to dispatch action to TopSiteForm.\n    editForm: null\n  },\n  Prefs: {\n    initialized: false,\n    values: {}\n  },\n  Dialog: {\n    visible: false,\n    data: {}\n  },\n  Sections: [],\n  PreferencesPane: {visible: false}\n};\n\nfunction App(prevState = INITIAL_STATE.App, action) {\n  switch (action.type) {\n    case at.INIT:\n      return Object.assign({}, prevState, action.data || {}, {initialized: true});\n    default:\n      return prevState;\n  }\n}\n\n/**\n * insertPinned - Inserts pinned links in their specified slots\n *\n * @param {array} a list of links\n * @param {array} a list of pinned links\n * @return {array} resulting list of links with pinned links inserted\n */\nfunction insertPinned(links, pinned) {\n  // Remove any pinned links\n  const pinnedUrls = pinned.map(link => link && link.url);\n  let newLinks = links.filter(link => (link ? !pinnedUrls.includes(link.url) : false));\n  newLinks = newLinks.map(link => {\n    if (link && link.isPinned) {\n      delete link.isPinned;\n      delete link.pinIndex;\n    }\n    return link;\n  });\n\n  // Then insert them in their specified location\n  pinned.forEach((val, index) => {\n    if (!val) { return; }\n    let link = Object.assign({}, val, {isPinned: true, pinIndex: index});\n    if (index > newLinks.length) {\n      newLinks[index] = link;\n    } else {\n      newLinks.splice(index, 0, link);\n    }\n  });\n\n  return newLinks;\n}\n\nfunction TopSites(prevState = INITIAL_STATE.TopSites, action) {\n  let hasMatch;\n  let newRows;\n  switch (action.type) {\n    case at.TOP_SITES_UPDATED:\n      if (!action.data) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {initialized: true, rows: action.data});\n    case at.TOP_SITES_EDIT:\n      return Object.assign({}, prevState, {editForm: {index: action.data.index}});\n    case at.TOP_SITES_CANCEL_EDIT:\n      return Object.assign({}, prevState, {editForm: null});\n    case at.SCREENSHOT_UPDATED:\n      newRows = prevState.rows.map(row => {\n        if (row && row.url === action.data.url) {\n          hasMatch = true;\n          return Object.assign({}, row, {screenshot: action.data.screenshot});\n        }\n        return row;\n      });\n      return hasMatch ? Object.assign({}, prevState, {rows: newRows}) : prevState;\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n          return Object.assign({}, site, {bookmarkGuid, bookmarkTitle, bookmarkDateCreated: dateAdded});\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const newSite = Object.assign({}, site);\n          delete newSite.bookmarkGuid;\n          delete newSite.bookmarkTitle;\n          delete newSite.bookmarkDateCreated;\n          return newSite;\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    default:\n      return prevState;\n  }\n}\n\nfunction Dialog(prevState = INITIAL_STATE.Dialog, action) {\n  switch (action.type) {\n    case at.DIALOG_OPEN:\n      return Object.assign({}, prevState, {visible: true, data: action.data});\n    case at.DIALOG_CANCEL:\n      return Object.assign({}, prevState, {visible: false});\n    case at.DELETE_HISTORY_URL:\n      return Object.assign({}, INITIAL_STATE.Dialog);\n    default:\n      return prevState;\n  }\n}\n\nfunction Prefs(prevState = INITIAL_STATE.Prefs, action) {\n  let newValues;\n  switch (action.type) {\n    case at.PREFS_INITIAL_VALUES:\n      return Object.assign({}, prevState, {initialized: true, values: action.data});\n    case at.PREF_CHANGED:\n      newValues = Object.assign({}, prevState.values);\n      newValues[action.data.name] = action.data.value;\n      return Object.assign({}, prevState, {values: newValues});\n    default:\n      return prevState;\n  }\n}\n\nfunction Sections(prevState = INITIAL_STATE.Sections, action) {\n  let hasMatch;\n  let newState;\n  switch (action.type) {\n    case at.SECTION_DEREGISTER:\n      return prevState.filter(section => section.id !== action.data);\n    case at.SECTION_REGISTER:\n      // If section exists in prevState, update it\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          hasMatch = true;\n          return Object.assign({}, section, action.data);\n        }\n        return section;\n      });\n      // Otherwise, append it\n      if (!hasMatch) {\n        const initialized = !!(action.data.rows && action.data.rows.length > 0);\n        const section = Object.assign({title: \"\", rows: [], enabled: false}, action.data, {initialized});\n        newState.push(section);\n      }\n      return newState;\n    case at.SECTION_UPDATE:\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          // If the action is updating rows, we should consider initialized to be true.\n          // This can be overridden if initialized is defined in the action.data\n          const initialized = action.data.rows ? {initialized: true} : {};\n\n          // Make sure pinned cards stay at their current position when rows are updated.\n          // Disabling a section (SECTION_UPDATE with empty rows) does not retain pinned cards.\n          if (action.data.rows && action.data.rows.length > 0 && section.rows.find(card => card.pinned)) {\n            const rows = Array.from(action.data.rows);\n            section.rows.forEach((card, index) => {\n              if (card.pinned) {\n                rows.splice(index, 0, card);\n              }\n            });\n            return Object.assign({}, section, initialized, Object.assign({}, action.data, {rows}));\n          }\n\n          return Object.assign({}, section, initialized, action.data);\n        }\n        return section;\n      });\n\n      if (!action.data.dedupeConfigurations) {\n        return newState;\n      }\n\n      action.data.dedupeConfigurations.forEach(dedupeConf => {\n        newState = newState.map(section => {\n          if (section.id === dedupeConf.id) {\n            const dedupedRows = dedupeConf.dedupeFrom.reduce((rows, dedupeSectionId) => {\n              const dedupeSection = newState.find(s => s.id === dedupeSectionId);\n              const [, newRows] = dedupe.group(dedupeSection.rows, rows);\n              return newRows;\n            }, section.rows);\n\n            return Object.assign({}, section, {rows: dedupedRows});\n          }\n\n          return section;\n        });\n      });\n\n      return newState;\n    case at.SECTION_UPDATE_CARD:\n      return prevState.map(section => {\n        if (section && section.id === action.data.id && section.rows) {\n          const newRows = section.rows.map(card => {\n            if (card.url === action.data.url) {\n              return Object.assign({}, card, action.data.options);\n            }\n            return card;\n          });\n          return Object.assign({}, section, {rows: newRows});\n        }\n        return section;\n      });\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the item within the rows that is attempted to be bookmarked\n          if (item.url === action.data.url) {\n            const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n            return Object.assign({}, item, {\n              bookmarkGuid,\n              bookmarkTitle,\n              bookmarkDateCreated: dateAdded,\n              type: \"bookmark\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_SAVED_TO_POCKET:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          if (item.url === action.data.url) {\n            return Object.assign({}, item, {\n              open_url: action.data.open_url,\n              pocket_id: action.data.pocket_id,\n              title: action.data.title,\n              type: \"pocket\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the bookmark within the rows that is attempted to be removed\n          if (item.url === action.data.url) {\n            const newSite = Object.assign({}, item);\n            delete newSite.bookmarkGuid;\n            delete newSite.bookmarkTitle;\n            delete newSite.bookmarkDateCreated;\n            if (!newSite.type || newSite.type === \"bookmark\") {\n              newSite.type = \"history\";\n            }\n            return newSite;\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_LINKS_DELETED:\n      return prevState.map(section => Object.assign({}, section,\n        {rows: section.rows.filter(site => !action.data.includes(site.url))}));\n    case at.PLACES_LINK_BLOCKED:\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.url !== action.data.url)}));\n    case at.DELETE_FROM_POCKET:\n    case at.ARCHIVE_FROM_POCKET:\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.pocket_id !== action.data.pocket_id)}));\n    default:\n      return prevState;\n  }\n}\n\nfunction Snippets(prevState = INITIAL_STATE.Snippets, action) {\n  switch (action.type) {\n    case at.SNIPPETS_DATA:\n      return Object.assign({}, prevState, {initialized: true}, action.data);\n    case at.SNIPPET_BLOCKED:\n      return Object.assign({}, prevState, {blockList: prevState.blockList.concat(action.data)});\n    case at.SNIPPETS_BLOCKLIST_CLEARED:\n      return Object.assign({}, prevState, {blockList: []});\n    case at.SNIPPETS_RESET:\n      return INITIAL_STATE.Snippets;\n    default:\n      return prevState;\n  }\n}\n\nfunction PreferencesPane(prevState = INITIAL_STATE.PreferencesPane, action) {\n  switch (action.type) {\n    case at.SETTINGS_OPEN:\n      return Object.assign({}, prevState, {visible: true});\n    case at.SETTINGS_CLOSE:\n      return Object.assign({}, prevState, {visible: false});\n    default:\n      return prevState;\n  }\n}\n\nthis.INITIAL_STATE = INITIAL_STATE;\nthis.TOP_SITES_DEFAULT_ROWS = TOP_SITES_DEFAULT_ROWS;\nthis.TOP_SITES_MAX_SITES_PER_ROW = TOP_SITES_MAX_SITES_PER_ROW;\n\nthis.reducers = {TopSites, App, Snippets, Prefs, Dialog, Sections, PreferencesPane};\n\nconst EXPORTED_SYMBOLS = [\"reducers\", \"INITIAL_STATE\", \"insertPinned\", \"TOP_SITES_DEFAULT_ROWS\", \"TOP_SITES_MAX_SITES_PER_ROW\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Reducers.jsm","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class ErrorBoundaryFallback extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.windowObj = this.props.windowObj || window;\n    this.onClick = this.onClick.bind(this);\n  }\n\n  /**\n   * Since we only get here if part of the page has crashed, do a\n   * forced reload to give us the best chance at recovering.\n   */\n  onClick() {\n    this.windowObj.location.reload(true);\n  }\n\n  render() {\n    const defaultClass = \"as-error-fallback\";\n    let className;\n    if (\"className\" in this.props) {\n      className = `${this.props.className} ${defaultClass}`;\n    } else {\n      className = defaultClass;\n    }\n\n    // href=\"#\" to force normal link styling stuff (eg cursor on hover)\n    return (\n      <div className={className}>\n        <div>\n          <FormattedMessage\n            defaultMessage=\"Oops, something went wrong loading this content.\"\n            id=\"error_fallback_default_info\" />\n        </div>\n        <span>\n          <a href=\"#\" className=\"reload-button\" onClick={this.onClick}>\n            <FormattedMessage\n              defaultMessage=\"Refresh page to try again.\"\n              id=\"error_fallback_default_refresh_suggestion\" />\n          </a>\n        </span>\n      </div>\n    );\n  }\n}\nErrorBoundaryFallback.defaultProps = {className: \"as-error-fallback\"};\n\nexport class ErrorBoundary extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {hasError: false};\n  }\n\n  componentDidCatch(error, info) {\n    this.setState({hasError: true});\n  }\n\n  render() {\n    if (!this.state.hasError) {\n      return (this.props.children);\n    }\n\n    return <this.props.FallbackComponent className={this.props.className} />;\n  }\n}\n\nErrorBoundary.defaultProps = {FallbackComponent: ErrorBoundaryFallback};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\nconst _OpenInPrivateWindow = site => ({\n  id: \"menu_action_open_private_window\",\n  icon: \"new-window-private\",\n  action: ac.OnlyToMain({\n    type: at.OPEN_PRIVATE_WINDOW,\n    data: {url: site.url, referrer: site.referrer}\n  }),\n  userEvent: \"OPEN_PRIVATE_WINDOW\"\n});\n\n/**\n * List of functions that return items that can be included as menu options in a\n * LinkMenu. All functions take the site as the first parameter, and optionally\n * the index of the site.\n */\nexport const LinkMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  EmptyItem: () => ({type: \"empty\"}),\n  RemoveBookmark: site => ({\n    id: \"menu_action_remove_bookmark\",\n    icon: \"bookmark-added\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_BOOKMARK_BY_ID,\n      data: site.bookmarkGuid\n    }),\n    userEvent: \"BOOKMARK_DELETE\"\n  }),\n  AddBookmark: site => ({\n    id: \"menu_action_bookmark\",\n    icon: \"bookmark-hollow\",\n    action: ac.AlsoToMain({\n      type: at.BOOKMARK_URL,\n      data: {url: site.url, title: site.title, type: site.type}\n    }),\n    userEvent: \"BOOKMARK_ADD\"\n  }),\n  OpenInNewWindow: site => ({\n    id: \"menu_action_open_new_window\",\n    icon: \"new-window\",\n    action: ac.AlsoToMain({\n      type: at.OPEN_NEW_WINDOW,\n      data: {url: site.url, referrer: site.referrer}\n    }),\n    userEvent: \"OPEN_NEW_WINDOW\"\n  }),\n  BlockUrl: (site, index, eventSource) => ({\n    id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.AlsoToMain({\n      type: at.BLOCK_URL,\n      data: {url: site.url, pocket_id: site.pocket_id}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      block: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"BLOCK\"\n  }),\n\n  // This is an option for web extentions which will result in remove items from\n  // memory and notify the web extenion, rather than using the built-in block list.\n  WebExtDismiss: (site, index, eventSource) => ({\n    id: \"menu_action_webext_dismiss\",\n    string_id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.WebExtEvent(at.WEBEXT_DISMISS, {\n      source: eventSource,\n      url: site.url,\n      action_position: index\n    })\n  }),\n  DeleteUrl: (site, index, eventSource, isEnabled, siteInfo) => ({\n    id: \"menu_action_delete\",\n    icon: \"delete\",\n    action: {\n      type: at.DIALOG_OPEN,\n      data: {\n        onConfirm: [\n          ac.AlsoToMain({type: at.DELETE_HISTORY_URL, data: {url: site.url, pocket_id: site.pocket_id, forceBlock: site.bookmarkGuid}}),\n          ac.UserEvent(Object.assign({event: \"DELETE\", source: eventSource, action_position: index}, siteInfo))\n        ],\n        eventSource,\n        body_string_id: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n        confirm_button_string_id: \"menu_action_delete\",\n        cancel_button_string_id: \"topsites_form_cancel_button\",\n        icon: \"modal-delete\"\n      }\n    },\n    userEvent: \"DIALOG_OPEN\"\n  }),\n  PinTopSite: (site, index) => ({\n    id: \"menu_action_pin\",\n    icon: \"pin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_PIN,\n      data: {site: {url: site.url}, index}\n    }),\n    userEvent: \"PIN\"\n  }),\n  UnpinTopSite: site => ({\n    id: \"menu_action_unpin\",\n    icon: \"unpin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_UNPIN,\n      data: {site: {url: site.url}}\n    }),\n    userEvent: \"UNPIN\"\n  }),\n  SaveToPocket: (site, index, eventSource) => ({\n    id: \"menu_action_save_to_pocket\",\n    icon: \"pocket\",\n    action: ac.AlsoToMain({\n      type: at.SAVE_TO_POCKET,\n      data: {site: {url: site.url, title: site.title}}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      pocket: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"SAVE_TO_POCKET\"\n  }),\n  DeleteFromPocket: site => ({\n    id: \"menu_action_delete_pocket\",\n    icon: \"delete\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"DELETE_FROM_POCKET\"\n  }),\n  ArchiveFromPocket: site => ({\n    id: \"menu_action_archive_pocket\",\n    icon: \"check\",\n    action: ac.AlsoToMain({\n      type: at.ARCHIVE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"ARCHIVE_FROM_POCKET\"\n  }),\n  EditTopSite: (site, index) => ({\n    id: \"edit_topsites_button_text\",\n    icon: \"edit\",\n    action: {\n      type: at.TOP_SITES_EDIT,\n      data: {index}\n    }\n  }),\n  CheckBookmark: site => (site.bookmarkGuid ? LinkMenuOptions.RemoveBookmark(site) : LinkMenuOptions.AddBookmark(site)),\n  CheckPinTopSite: (site, index) => (site.isPinned ? LinkMenuOptions.UnpinTopSite(site) : LinkMenuOptions.PinTopSite(site, index)),\n  CheckSavedToPocket: (site, index) => (site.pocket_id ? LinkMenuOptions.DeleteFromPocket(site) : LinkMenuOptions.SaveToPocket(site, index)),\n  CheckBookmarkOrArchive: site => (site.pocket_id ? LinkMenuOptions.ArchiveFromPocket(site) : LinkMenuOptions.CheckBookmark(site)),\n  CheckDeleteHistoryOrEmpty: (site, index, eventSource, isEnabled, siteInfo) => (site.pocket_id ? LinkMenuOptions.EmptyItem() : LinkMenuOptions.DeleteUrl(site, index, eventSource, isEnabled, siteInfo)),\n  OpenInPrivateWindow: (site, index, eventSource, isEnabled) => (isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem())\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/link-menu-options.js","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport {LinkMenuOptions} from \"content-src/lib/link-menu-options\";\nimport React from \"react\";\n\nconst DEFAULT_SITE_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\", \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\"];\n\nexport class _LinkMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n    const {site, index, source, isPrivateBrowsingEnabled, siteInfo} = props;\n\n    // Handle special case of default site\n    const propOptions = !site.isDefault ? props.options : DEFAULT_SITE_MENU_OPTIONS;\n\n    const options = propOptions.map(o => LinkMenuOptions[o](site, index, source, isPrivateBrowsingEnabled, siteInfo)).map(option => {\n      const {action, impression, id, string_id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id: string_id || id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            const userEventData = Object.assign({\n              event: userEvent,\n              source,\n              action_position: index\n            }, siteInfo);\n            props.dispatch(ac.UserEvent(userEventData));\n          }\n          if (impression && props.shouldSendImpressionStats) {\n            props.dispatch(impression);\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nconst getState = state => ({isPrivateBrowsingEnabled: state.Prefs.values.isPrivateBrowsingEnabled});\nexport const LinkMenu = connect(getState)(injectIntl(_LinkMenu));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","import React from \"react\";\n\nexport class ContextMenu extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.hideContext = this.hideContext.bind(this);\n    this.onClick = this.onClick.bind(this);\n  }\n\n  hideContext() {\n    this.props.onUpdate(false);\n  }\n\n  componentDidMount() {\n    setTimeout(() => {\n      global.addEventListener(\"click\", this.hideContext);\n    }, 0);\n  }\n\n  componentWillUnmount() {\n    global.removeEventListener(\"click\", this.hideContext);\n  }\n\n  onClick(event) {\n    // Eat all clicks on the context menu so they don't bubble up to window.\n    // This prevents the context menu from closing when clicking disabled items\n    // or the separators.\n    event.stopPropagation();\n  }\n\n  render() {\n    return (<span className=\"context-menu\" onClick={this.onClick}>\n      <ul role=\"menu\" className=\"context-menu-list\">\n        {this.props.options.map((option, i) => (option.type === \"separator\" ?\n          (<li key={i} className=\"separator\" />) :\n          (option.type !== \"empty\" && <ContextMenuItem key={i} option={option} hideContext={this.hideContext} />)\n        ))}\n      </ul>\n    </span>);\n  }\n}\n\nexport class ContextMenuItem extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onKeyDown = this.onKeyDown.bind(this);\n  }\n\n  onClick() {\n    this.props.hideContext();\n    this.props.option.onClick();\n  }\n\n  onKeyDown(event) {\n    const {option} = this.props;\n    switch (event.key) {\n      case \"Tab\":\n        // tab goes down in context menu, shift + tab goes up in context menu\n        // if we're on the last item, one more tab will close the context menu\n        // similarly, if we're on the first item, one more shift + tab will close it\n        if ((event.shiftKey && option.first) || (!event.shiftKey && option.last)) {\n          this.props.hideContext();\n        }\n        break;\n      case \"Enter\":\n        this.props.hideContext();\n        option.onClick();\n        break;\n    }\n  }\n\n  render() {\n    const {option} = this.props;\n    return (\n      <li role=\"menuitem\" className=\"context-menu-item\">\n        <a onClick={this.onClick} onKeyDown={this.onKeyDown} tabIndex=\"0\" className={option.disabled ? \"disabled\" : \"\"}>\n          {option.icon && <span className={`icon icon-spacer icon-${option.icon}`} />}\n          {option.label}\n        </a>\n      </li>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","import {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport React from \"react\";\nimport {SectionMenu} from \"content-src/components/SectionMenu/SectionMenu\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\nfunction getCollapsed(props) {\n  return (props.prefName in props.Prefs.values) ? props.Prefs.values[props.prefName] : false;\n}\n\nexport class Disclaimer extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onAcknowledge = this.onAcknowledge.bind(this);\n  }\n\n  onAcknowledge() {\n    this.props.dispatch(ac.SetPref(this.props.disclaimerPref, false));\n    this.props.dispatch(ac.UserEvent({event: \"SECTION_DISCLAIMER_ACKNOWLEDGED\", source: this.props.eventSource}));\n  }\n\n  render() {\n    const {disclaimer} = this.props;\n    return (\n      <div className=\"section-disclaimer\">\n          <div className=\"section-disclaimer-text\">\n            {getFormattedMessage(disclaimer.text)}\n            {disclaimer.link &&\n              <a href={disclaimer.link.href} target=\"_blank\" rel=\"noopener noreferrer\">\n                {getFormattedMessage(disclaimer.link.title || disclaimer.link)}\n              </a>\n            }\n          </div>\n\n          <button onClick={this.onAcknowledge}>\n            {getFormattedMessage(disclaimer.button)}\n          </button>\n      </div>\n    );\n  }\n}\n\nexport const DisclaimerIntl = injectIntl(Disclaimer);\n\nexport class _CollapsibleSection extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onBodyMount = this.onBodyMount.bind(this);\n    this.onHeaderClick = this.onHeaderClick.bind(this);\n    this.onTransitionEnd = this.onTransitionEnd.bind(this);\n    this.enableOrDisableAnimation = this.enableOrDisableAnimation.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuButtonMouseEnter = this.onMenuButtonMouseEnter.bind(this);\n    this.onMenuButtonMouseLeave = this.onMenuButtonMouseLeave.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.state = {enableAnimation: true, isAnimating: false, menuButtonHover: false, showContextMenu: false};\n  }\n\n  componentWillMount() {\n    this.props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  componentWillUpdate(nextProps) {\n    // Check if we're about to go from expanded to collapsed\n    if (!getCollapsed(this.props) && getCollapsed(nextProps)) {\n      // This next line forces a layout flush of the section body, which has a\n      // max-height style set, so that the upcoming collapse animation can\n      // animate from that height to the collapsed height. Without this, the\n      // update is coalesced and there's no animation from no-max-height to 0.\n      this.sectionBody.scrollHeight; // eslint-disable-line no-unused-expressions\n    }\n  }\n\n  componentWillUnmount() {\n    this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  enableOrDisableAnimation() {\n    // Only animate the collapse/expand for visible tabs.\n    const visible = this.props.document.visibilityState === VISIBLE;\n    if (this.state.enableAnimation !== visible) {\n      this.setState({enableAnimation: visible});\n    }\n  }\n\n  onBodyMount(node) {\n    this.sectionBody = node;\n  }\n\n  onHeaderClick() {\n    // If this.sectionBody is unset, it means that we're in some sort of error\n    // state, probably displaying the error fallback, so we won't be able to\n    // compute the height, and we don't want to persist the preference.\n    if (!this.sectionBody) {\n      return;\n    }\n\n    // Get the current height of the body so max-height transitions can work\n    this.setState({\n      isAnimating: true,\n      maxHeight: `${this.sectionBody.scrollHeight}px`\n    });\n    this.props.dispatch(ac.SetPref(this.props.prefName, !getCollapsed(this.props)));\n  }\n\n  onTransitionEnd(event) {\n    // Only update the animating state for our own transition (not a child's)\n    if (event.target === event.currentTarget) {\n      this.setState({isAnimating: false});\n    }\n  }\n\n  renderIcon() {\n    const {icon} = this.props;\n    if (icon && icon.startsWith(\"moz-extension://\")) {\n      return <span className=\"icon icon-small-spacer\" style={{backgroundImage: `url('${icon}')`}} />;\n    }\n    return <span className={`icon icon-small-spacer icon-${icon || \"webextension\"}`} />;\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuButtonMouseEnter() {\n    this.setState({menuButtonHover: true});\n  }\n\n  onMenuButtonMouseLeave() {\n    this.setState({menuButtonHover: false});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const isCollapsible = this.props.prefName in this.props.Prefs.values;\n    const isCollapsed = getCollapsed(this.props);\n    const {enableAnimation, isAnimating, maxHeight, menuButtonHover, showContextMenu} = this.state;\n    const {id, eventSource, disclaimer, title, extraMenuOptions, prefName, showPrefName, privacyNoticeURL, dispatch, isFirst, isLast} = this.props;\n    const disclaimerPref = `section.${id}.showDisclaimer`;\n    const needsDisclaimer = disclaimer && this.props.Prefs.values[disclaimerPref];\n    const active = menuButtonHover || showContextMenu;\n\n    return (\n      <section className={`collapsible-section ${this.props.className}${enableAnimation ? \" animation-enabled\" : \"\"}${isCollapsed ? \" collapsed\" : \"\"}${active ? \" active\" : \"\"}`}>\n        <div className=\"section-top-bar\">\n          <h3 className=\"section-title\">\n            <span className=\"click-target\" onClick={isCollapsible && this.onHeaderClick}>\n              {this.renderIcon()}\n              {title}\n            {isCollapsible && <span className={`collapsible-arrow icon ${isCollapsed ? \"icon-arrowhead-forward-small\" : \"icon-arrowhead-down-small\"}`} />}\n            </span>\n          </h3>\n          <div>\n            <button\n              className=\"context-menu-button icon\"\n              onClick={this.onMenuButtonClick}\n              onMouseEnter={this.onMenuButtonMouseEnter}\n              onMouseLeave={this.onMenuButtonMouseLeave}>\n              <span className=\"sr-only\">\n                <FormattedMessage id=\"section_context_menu_button_sr\" />\n              </span>\n            </button>\n            {showContextMenu &&\n              <SectionMenu\n                id={id}\n                extraOptions={extraMenuOptions}\n                eventSource={eventSource}\n                showPrefName={showPrefName}\n                collapsePrefName={prefName}\n                privacyNoticeURL={privacyNoticeURL}\n                isCollapsed={isCollapsed}\n                onUpdate={this.onMenuUpdate}\n                isFirst={isFirst}\n                isLast={isLast}\n                dispatch={dispatch} />\n            }\n          </div>\n        </div>\n        <ErrorBoundary className=\"section-body-fallback\">\n          <div\n            className={`section-body${isAnimating ? \" animating\" : \"\"}`}\n            onTransitionEnd={this.onTransitionEnd}\n            ref={this.onBodyMount}\n            style={isAnimating && !isCollapsed ? {maxHeight} : null}>\n            {needsDisclaimer && <DisclaimerIntl disclaimerPref={disclaimerPref} disclaimer={disclaimer} eventSource={eventSource} dispatch={this.props.dispatch} />}\n            {this.props.children}\n          </div>\n        </ErrorBoundary>\n      </section>\n    );\n  }\n}\n\n_CollapsibleSection.defaultProps = {\n  document: global.document || {\n    addEventListener: () => {},\n    removeEventListener: () => {},\n    visibilityState: \"hidden\"\n  },\n  Prefs: {values: {}}\n};\n\nexport const CollapsibleSection = injectIntl(_CollapsibleSection);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\nimport React from \"react\";\n\n// Currently record only a fixed set of sections. This will prevent data\n// from custom sections from showing up or from topstories.\nconst RECORDED_SECTIONS = [\"highlights\", \"topsites\"];\n\nexport class ComponentPerfTimer extends React.Component {\n  constructor(props) {\n    super(props);\n    // Just for test dependency injection:\n    this.perfSvc = this.props.perfSvc || perfSvc;\n\n    this._sendBadStateEvent = this._sendBadStateEvent.bind(this);\n    this._sendPaintedEvent = this._sendPaintedEvent.bind(this);\n    this._reportMissingData = false;\n    this._timestampHandled = false;\n    this._recordedFirstRender = false;\n  }\n\n  componentDidMount() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  componentDidUpdate() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  /**\n   * Call the given callback after the upcoming frame paints.\n   *\n   * @note Both setTimeout and requestAnimationFrame are throttled when the page\n   * is hidden, so this callback may get called up to a second or so after the\n   * requestAnimationFrame \"paint\" for hidden tabs.\n   *\n   * Newtabs hidden while loading will presumably be fairly rare (other than\n   * preloaded tabs, which we will be filtering out on the server side), so such\n   * cases should get lost in the noise.\n   *\n   * If we decide that it's important to find out when something that's hidden\n   * has \"painted\", however, another option is to post a message to this window.\n   * That should happen even faster than setTimeout, and, at least as of this\n   * writing, it's not throttled in hidden windows in Firefox.\n   *\n   * @param {Function} callback\n   *\n   * @returns void\n   */\n  _afterFramePaint(callback) {\n    requestAnimationFrame(() => setTimeout(callback, 0));\n  }\n\n  _maybeSendBadStateEvent() {\n    // Follow up bugs:\n    // https://github.com/mozilla/activity-stream/issues/3691\n    if (!this.props.initialized) {\n      // Remember to report back when data is available.\n      this._reportMissingData = true;\n    } else if (this._reportMissingData) {\n      this._reportMissingData = false;\n      // Report how long it took for component to become initialized.\n      this._sendBadStateEvent();\n    }\n  }\n\n  _maybeSendPaintedEvent() {\n    // If we've already handled a timestamp, don't do it again.\n    if (this._timestampHandled || !this.props.initialized) {\n      return;\n    }\n\n    // And if we haven't, we're doing so now, so remember that. Even if\n    // something goes wrong in the callback, we can't try again, as we'd be\n    // sending back the wrong data, and we have to do it here, so that other\n    // calls to this method while waiting for the next frame won't also try to\n    // handle it.\n    this._timestampHandled = true;\n    this._afterFramePaint(this._sendPaintedEvent);\n  }\n\n  /**\n   * Triggered by call to render. Only first call goes through due to\n   * `_recordedFirstRender`.\n   */\n  _ensureFirstRenderTsRecorded() {\n    // Used as t0 for recording how long component took to initialize.\n    if (!this._recordedFirstRender) {\n      this._recordedFirstRender = true;\n      // topsites_first_render_ts, highlights_first_render_ts.\n      const key = `${this.props.id}_first_render_ts`;\n      this.perfSvc.mark(key);\n    }\n  }\n\n  /**\n   * Creates `TELEMETRY_UNDESIRED_EVENT` with timestamp in ms\n   * of how much longer the data took to be ready for display than it would\n   * have been the ideal case.\n   * https://github.com/mozilla/ping-centre/issues/98\n   */\n  _sendBadStateEvent() {\n    // highlights_data_ready_ts, topsites_data_ready_ts.\n    const dataReadyKey = `${this.props.id}_data_ready_ts`;\n    this.perfSvc.mark(dataReadyKey);\n\n    try {\n      const firstRenderKey = `${this.props.id}_first_render_ts`;\n      // value has to be Int32.\n      const value = parseInt(this.perfSvc.getMostRecentAbsMarkStartByName(dataReadyKey) -\n                             this.perfSvc.getMostRecentAbsMarkStartByName(firstRenderKey), 10);\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        // highlights_data_late_by_ms, topsites_data_late_by_ms.\n        data: {[`${this.props.id}_data_late_by_ms`]: value}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.\n    }\n  }\n\n  _sendPaintedEvent() {\n    // Record first_painted event but only send if topsites.\n    if (this.props.id !== \"topsites\") {\n      return;\n    }\n\n    // topsites_first_painted_ts.\n    const key = `${this.props.id}_first_painted_ts`;\n    this.perfSvc.mark(key);\n\n    try {\n      const data = {};\n      data[key] = this.perfSvc.getMostRecentAbsMarkStartByName(key);\n\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up, and should continue\n      // to set this._timestampHandled to avoid going through this again.\n    }\n  }\n\n  render() {\n    if (RECORDED_SECTIONS.includes(this.props.id)) {\n      this._ensureFirstRenderTsRecorded();\n      this._maybeSendBadStateEvent();\n    }\n    return this.props.children;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","/* globals Services */\n\"use strict\";\n\n/* istanbul ignore if */\nif (typeof ChromeUtils !== \"undefined\") {\n  ChromeUtils.import(\"resource://gre/modules/Services.jsm\");\n}\n\nlet usablePerfObj;\n\n/* istanbul ignore if */\n/* istanbul ignore else */\nif (typeof Services !== \"undefined\") {\n  // Borrow the high-resolution timer from the hidden window....\n  usablePerfObj = Services.appShell.hiddenDOMWindow.performance;\n} else if (typeof performance !== \"undefined\") {\n  // we must be running in content space\n  // eslint-disable-next-line no-undef\n  usablePerfObj = performance;\n} else {\n  // This is a dummy object so this file doesn't crash in the node prerendering\n  // task.\n  usablePerfObj = {\n    now() {},\n    mark() {}\n  };\n}\n\nfunction _PerfService(options) {\n  // For testing, so that we can use a fake Window.performance object with\n  // known state.\n  if (options && options.performanceObj) {\n    this._perf = options.performanceObj;\n  } else {\n    this._perf = usablePerfObj;\n  }\n}\n\n_PerfService.prototype = {\n  /**\n   * Calls the underlying mark() method on the appropriate Window.performance\n   * object to add a mark with the given name to the appropriate performance\n   * timeline.\n   *\n   * @param  {String} name  the name to give the current mark\n   * @return {void}\n   */\n  mark: function mark(str) {\n    this._perf.mark(str);\n  },\n\n  /**\n   * Calls the underlying getEntriesByName on the appropriate Window.performance\n   * object.\n   *\n   * @param  {String} name\n   * @param  {String} type eg \"mark\"\n   * @return {Array}       Performance* objects\n   */\n  getEntriesByName: function getEntriesByName(name, type) {\n    return this._perf.getEntriesByName(name, type);\n  },\n\n  /**\n   * The timeOrigin property from the appropriate performance object.\n   * Used to ensure that timestamps from the add-on code and the content code\n   * are comparable.\n   *\n   * @note If this is called from a context without a window\n   * (eg a JSM in chrome), it will return the timeOrigin of the XUL hidden\n   * window, which appears to be the first created window (and thus\n   * timeOrigin) in the browser.  Note also, however, there is also a private\n   * hidden window, presumably for private browsing, which appears to be\n   * created dynamically later.  Exactly how/when that shows up needs to be\n   * investigated.\n   *\n   * @return {Number} A double of milliseconds with a precision of 0.5us.\n   */\n  get timeOrigin() {\n    return this._perf.timeOrigin;\n  },\n\n  /**\n   * Returns the \"absolute\" version of performance.now(), i.e. one that\n   * should ([bug 1401406](https://bugzilla.mozilla.org/show_bug.cgi?id=1401406)\n   * be comparable across both chrome and content.\n   *\n   * @return {Number}\n   */\n  absNow: function absNow() {\n    return this.timeOrigin + this._perf.now();\n  },\n\n  /**\n   * This returns the absolute startTime from the most recent performance.mark()\n   * with the given name.\n   *\n   * @param  {String} name  the name to lookup the start time for\n   *\n   * @return {Number}       the returned start time, as a DOMHighResTimeStamp\n   *\n   * @throws {Error}        \"No Marks with the name ...\" if none are available\n   *\n   * @note Always surround calls to this by try/catch.  Otherwise your code\n   * may fail when the `privacy.resistFingerprinting` pref is true.  When\n   * this pref is set, all attempts to get marks will likely fail, which will\n   * cause this method to throw.\n   *\n   * See [bug 1369303](https://bugzilla.mozilla.org/show_bug.cgi?id=1369303)\n   * for more info.\n   */\n  getMostRecentAbsMarkStartByName(name) {\n    let entries = this.getEntriesByName(name, \"mark\");\n\n    if (!entries.length) {\n      throw new Error(`No marks with the name ${name}`);\n    }\n\n    let mostRecentEntry = entries[entries.length - 1];\n    return this._perf.timeOrigin + mostRecentEntry.startTime;\n  }\n};\n\nthis.perfService = new _PerfService();\nconst EXPORTED_SYMBOLS = [\"_PerfService\", \"perfService\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PerfService.jsm","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {\n  MIN_CORNER_FAVICON_SIZE,\n  MIN_RICH_FAVICON_SIZE,\n  TOP_SITES_CONTEXT_MENU_OPTIONS,\n  TOP_SITES_SOURCE\n} from \"./TopSitesConstants\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\n\nexport class TopSiteLink extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onDragEvent = this.onDragEvent.bind(this);\n  }\n\n  /*\n   * Helper to determine whether the drop zone should allow a drop. We only allow\n   * dropping top sites for now.\n   */\n  _allowDrop(e) {\n    return e.dataTransfer.types.includes(\"text/topsite-index\");\n  }\n\n  onDragEvent(event) {\n    switch (event.type) {\n      case \"click\":\n        // Stop any link clicks if we started any dragging\n        if (this.dragged) {\n          event.preventDefault();\n        }\n        break;\n      case \"dragstart\":\n        this.dragged = true;\n        event.dataTransfer.effectAllowed = \"move\";\n        event.dataTransfer.setData(\"text/topsite-index\", this.props.index);\n        event.target.blur();\n        this.props.onDragEvent(event, this.props.index, this.props.link, this.props.title);\n        break;\n      case \"dragend\":\n        this.props.onDragEvent(event);\n        break;\n      case \"dragenter\":\n      case \"dragover\":\n      case \"drop\":\n        if (this._allowDrop(event)) {\n          event.preventDefault();\n          this.props.onDragEvent(event, this.props.index);\n        }\n        break;\n      case \"mousedown\":\n        // Reset at the first mouse event of a potential drag\n        this.dragged = false;\n        break;\n    }\n  }\n\n  render() {\n    const {children, className, isDraggable, link, onClick, title} = this.props;\n    const topSiteOuterClassName = `top-site-outer${className ? ` ${className}` : \"\"}${link.isDragged ? \" dragged\" : \"\"}`;\n    const {tippyTopIcon, faviconSize} = link;\n    const [letterFallback] = title;\n    let imageClassName;\n    let imageStyle;\n    let showSmallFavicon = false;\n    let smallFaviconStyle;\n    let smallFaviconFallback;\n    if (tippyTopIcon || faviconSize >= MIN_RICH_FAVICON_SIZE) {\n      // styles and class names for top sites with rich icons\n      imageClassName = \"top-site-icon rich-icon\";\n      imageStyle = {\n        backgroundColor: link.backgroundColor,\n        backgroundImage: `url(${tippyTopIcon || link.favicon})`\n      };\n    } else {\n      // styles and class names for top sites with screenshot + small icon in top left corner\n      imageClassName = `screenshot${link.screenshot ? \" active\" : \"\"}`;\n      imageStyle = {backgroundImage: link.screenshot ? `url(${link.screenshot})` : \"none\"};\n\n      // only show a favicon in top left if it's greater than 16x16\n      if (faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n        showSmallFavicon = true;\n        smallFaviconStyle = {backgroundImage:  `url(${link.favicon})`};\n      } else if (link.screenshot) {\n        // Don't show a small favicon if there is no screenshot, because that\n        // would result in two fallback icons\n        showSmallFavicon = true;\n        smallFaviconFallback = true;\n      }\n    }\n    let draggableProps = {};\n    if (isDraggable) {\n      draggableProps = {\n        onClick: this.onDragEvent,\n        onDragEnd: this.onDragEvent,\n        onDragStart: this.onDragEvent,\n        onMouseDown: this.onDragEvent\n      };\n    }\n    return (<li className={topSiteOuterClassName} onDrop={this.onDragEvent} onDragOver={this.onDragEvent} onDragEnter={this.onDragEvent} onDragLeave={this.onDragEvent} {...draggableProps}>\n      <div className=\"top-site-inner\">\n         <a href={link.url} onClick={onClick}>\n            <div className=\"tile\" aria-hidden={true} data-fallback={letterFallback}>\n              <div className={imageClassName} style={imageStyle} />\n              {showSmallFavicon && <div\n                className=\"top-site-icon default-icon\"\n                data-fallback={smallFaviconFallback && letterFallback}\n                style={smallFaviconStyle} />}\n           </div>\n           <div className={`title ${link.isPinned ? \"pinned\" : \"\"}`}>\n             {link.isPinned && <div className=\"icon icon-pin-small\" />}\n              <span dir=\"auto\">{title}</span>\n           </div>\n         </a>\n         {children}\n      </div>\n    </li>);\n  }\n}\nTopSiteLink.defaultProps = {\n  title: \"\",\n  link: {},\n  isDraggable: true\n};\n\nexport class TopSite extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {showContextMenu: false};\n    this.onLinkClick = this.onLinkClick.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n  }\n\n  /**\n   * Report to telemetry additional information about the item.\n   */\n  _getTelemetryInfo() {\n    const value = {icon_type: this.props.link.iconType};\n    // Filter out \"not_pinned\" type for being the default\n    if (this.props.link.isPinned) {\n      value.card_type = \"pinned\";\n    }\n    return {value};\n  }\n\n  userEvent(event) {\n    this.props.dispatch(ac.UserEvent(Object.assign({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: this.props.index\n    }, this._getTelemetryInfo())));\n  }\n\n  onLinkClick(ev) {\n    this.userEvent(\"CLICK\");\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.props.onActivate(this.props.index);\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const {props} = this;\n    const {link} = props;\n    const isContextMenuOpen = this.state.showContextMenu && props.activeIndex === props.index;\n    const title = link.label || link.hostname;\n    return (<TopSiteLink {...props} onClick={this.onLinkClick} onDragEvent={this.props.onDragEvent} className={`${props.className || \"\"}${isContextMenuOpen ? \" active\" : \"\"}`} title={title}>\n        <div>\n          <button className=\"context-menu-button icon\" onClick={this.onMenuButtonClick}>\n            <span className=\"sr-only\">\n              <FormattedMessage id=\"context_menu_button_sr\" values={{title}} />\n            </span>\n          </button>\n          {isContextMenuOpen &&\n            <LinkMenu\n              dispatch={props.dispatch}\n              index={props.index}\n              onUpdate={this.onMenuUpdate}\n              options={TOP_SITES_CONTEXT_MENU_OPTIONS}\n              site={link}\n              siteInfo={this._getTelemetryInfo()}\n              source={TOP_SITES_SOURCE} />\n          }\n        </div>\n    </TopSiteLink>);\n  }\n}\nTopSite.defaultProps = {\n  link: {},\n  onActivate() {}\n};\n\nexport class TopSitePlaceholder extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onEditButtonClick = this.onEditButtonClick.bind(this);\n  }\n\n  onEditButtonClick() {\n    this.props.dispatch(\n      {type: at.TOP_SITES_EDIT, data: {index: this.props.index}});\n  }\n\n  render() {\n    return (<TopSiteLink {...this.props} className={`placeholder ${this.props.className || \"\"}`} isDraggable={false}>\n      <button className=\"context-menu-button edit-button icon\"\n       title={this.props.intl.formatMessage({id: \"edit_topsites_edit_button\"})}\n       onClick={this.onEditButtonClick} />\n    </TopSiteLink>);\n  }\n}\n\nexport class _TopSiteList extends React.PureComponent {\n  static get DEFAULT_STATE() {\n    return {\n      activeIndex: null,\n      draggedIndex: null,\n      draggedSite: null,\n      draggedTitle: null,\n      topSitesPreview: null\n    };\n  }\n\n  constructor(props) {\n    super(props);\n    this.state = _TopSiteList.DEFAULT_STATE;\n    this.onDragEvent = this.onDragEvent.bind(this);\n    this.onActivate = this.onActivate.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (this.state.draggedSite) {\n      const prevTopSites = this.props.TopSites && this.props.TopSites.rows;\n      const newTopSites = nextProps.TopSites && nextProps.TopSites.rows;\n      if (prevTopSites && prevTopSites[this.state.draggedIndex] &&\n        prevTopSites[this.state.draggedIndex].url === this.state.draggedSite.url &&\n        (!newTopSites[this.state.draggedIndex] || newTopSites[this.state.draggedIndex].url !== this.state.draggedSite.url)) {\n        // We got the new order from the redux store via props. We can clear state now.\n        this.setState(_TopSiteList.DEFAULT_STATE);\n      }\n    }\n  }\n\n  userEvent(event, index) {\n    this.props.dispatch(ac.UserEvent({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: index\n    }));\n  }\n\n  onDragEvent(event, index, link, title) {\n    switch (event.type) {\n      case \"dragstart\":\n        this.dropped = false;\n        this.setState({\n          draggedIndex: index,\n          draggedSite: link,\n          draggedTitle: title,\n          activeIndex: null\n        });\n        this.userEvent(\"DRAG\", index);\n        break;\n      case \"dragend\":\n        if (!this.dropped) {\n          // If there was no drop event, reset the state to the default.\n          this.setState(_TopSiteList.DEFAULT_STATE);\n        }\n        break;\n      case \"dragenter\":\n        if (index === this.state.draggedIndex) {\n          this.setState({topSitesPreview: null});\n        } else {\n          this.setState({topSitesPreview: this._makeTopSitesPreview(index)});\n        }\n        break;\n      case \"drop\":\n        if (index !== this.state.draggedIndex) {\n          this.dropped = true;\n          this.props.dispatch(ac.AlsoToMain({\n            type: at.TOP_SITES_INSERT,\n            data: {site: {url: this.state.draggedSite.url, label: this.state.draggedTitle}, index, draggedFromIndex: this.state.draggedIndex}\n          }));\n          this.userEvent(\"DROP\", index);\n        }\n        break;\n    }\n  }\n\n  _getTopSites() {\n    // Make a copy of the sites to truncate or extend to desired length\n    let topSites = this.props.TopSites.rows.slice();\n    topSites.length = this.props.TopSitesRows * TOP_SITES_MAX_SITES_PER_ROW;\n    return topSites;\n  }\n\n  /**\n   * Make a preview of the topsites that will be the result of dropping the currently\n   * dragged site at the specified index.\n   */\n  _makeTopSitesPreview(index) {\n    const topSites = this._getTopSites();\n    topSites[this.state.draggedIndex] = null;\n    const pinnedOnly = topSites.map(site => ((site && site.isPinned) ? site : null));\n    const unpinned = topSites.filter(site => site && !site.isPinned);\n    const siteToInsert = Object.assign({}, this.state.draggedSite, {isPinned: true, isDragged: true});\n    if (!pinnedOnly[index]) {\n      pinnedOnly[index] = siteToInsert;\n    } else {\n      // Find the hole to shift the pinned site(s) towards. We shift towards the\n      // hole left by the site being dragged.\n      let holeIndex = index;\n      const indexStep = index > this.state.draggedIndex ? -1 : 1;\n      while (pinnedOnly[holeIndex]) {\n        holeIndex += indexStep;\n      }\n\n      // Shift towards the hole.\n      const shiftingStep = index > this.state.draggedIndex ? 1 : -1;\n      while (holeIndex !== index) {\n        const nextIndex = holeIndex + shiftingStep;\n        pinnedOnly[holeIndex] = pinnedOnly[nextIndex];\n        holeIndex = nextIndex;\n      }\n      pinnedOnly[index] = siteToInsert;\n    }\n\n    // Fill in the remaining holes with unpinned sites.\n    const preview = pinnedOnly;\n    for (let i = 0; i < preview.length; i++) {\n      if (!preview[i]) {\n        preview[i] = unpinned.shift() || null;\n      }\n    }\n\n    return preview;\n  }\n\n  onActivate(index) {\n    this.setState({activeIndex: index});\n  }\n\n  render() {\n    const {props} = this;\n    const topSites = this.state.topSitesPreview || this._getTopSites();\n    const topSitesUI = [];\n    const commonProps = {\n      onDragEvent: this.onDragEvent,\n      dispatch: props.dispatch,\n      intl: props.intl\n    };\n    // We assign a key to each placeholder slot. We need it to be independent\n    // of the slot index (i below) so that the keys used stay the same during\n    // drag and drop reordering and the underlying DOM nodes are reused.\n    // This mostly (only?) affects linux so be sure to test on linux before changing.\n    let holeIndex = 0;\n\n    // On narrow viewports, we only show 6 sites per row. We'll mark the rest as\n    // .hide-for-narrow to hide in CSS via @media query.\n    const maxNarrowVisibleIndex = props.TopSitesRows * 6;\n\n    for (let i = 0, l = topSites.length; i < l; i++) {\n      const link = topSites[i] && Object.assign({}, topSites[i], {iconType: this.props.topSiteIconType(topSites[i])});\n      const slotProps = {\n        key: link ? link.url : holeIndex++,\n        index: i\n      };\n      if (i >= maxNarrowVisibleIndex) {\n        slotProps.className = \"hide-for-narrow\";\n      }\n      topSitesUI.push(!link ? (\n        <TopSitePlaceholder\n          {...slotProps}\n          {...commonProps} />\n      ) : (\n        <TopSite\n          link={link}\n          activeIndex={this.state.activeIndex}\n          onActivate={this.onActivate}\n          {...slotProps}\n          {...commonProps} />\n      ));\n    }\n    return (<ul className={`top-sites-list${this.state.draggedSite ? \" dnd-active\" : \"\"}`}>\n      {topSitesUI}\n    </ul>);\n  }\n}\n\nexport const TopSiteList = injectIntl(_TopSiteList);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSite.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addSnippetsSubscriber} from \"content-src/lib/snippets\";\nimport {Base} from \"content-src/components/Base/Base\";\nimport {DetectUserSessionStart} from \"content-src/lib/detect-user-session-start\";\nimport {initStore} from \"content-src/lib/init-store\";\nimport {Provider} from \"react-redux\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {reducers} from \"common/Reducers.jsm\";\n\nconst store = initStore(reducers, global.gActivityStreamPrerenderedState);\n\nnew DetectUserSessionStart(store).sendEventOrAddListener();\n\n// If we are starting in a prerendered state, we must wait until the first render\n// to request state rehydration (see Base.jsx). If we are NOT in a prerendered state,\n// we can request it immedately.\nif (!global.gActivityStreamPrerenderedState) {\n  store.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n}\n\nReactDOM.hydrate(<Provider store={store}>\n  <Base\n    isPrerendered={!!global.gActivityStreamPrerenderedState}\n    locale={global.document.documentElement.lang}\n    strings={global.gActivityStreamStrings} />\n</Provider>, document.getElementById(\"root\"));\n\naddSnippetsSubscriber(store);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/activity-stream.jsx","const DATABASE_NAME = \"snippets_db\";\nconst DATABASE_VERSION = 1;\nconst SNIPPETS_OBJECTSTORE_NAME = \"snippets\";\nexport const SNIPPETS_UPDATE_INTERVAL_MS = 14400000; // 4 hours.\n\nconst SNIPPETS_ENABLED_EVENT = \"Snippets:Enabled\";\nconst SNIPPETS_DISABLED_EVENT = \"Snippets:Disabled\";\n\nimport {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\n/**\n * SnippetsMap - A utility for cacheing values related to the snippet. It has\n *               the same interface as a Map, but is optionally backed by\n *               indexedDB for persistent storage.\n *               Call .connect() to open a database connection and restore any\n *               previously cached data, if necessary.\n *\n */\nexport class SnippetsMap extends Map {\n  constructor(dispatch) {\n    super();\n    this._db = null;\n    this._dispatch = dispatch;\n  }\n\n  set(key, value) {\n    super.set(key, value);\n    return this._dbTransaction(db => db.put(value, key));\n  }\n\n  delete(key) {\n    super.delete(key);\n    return this._dbTransaction(db => db.delete(key));\n  }\n\n  clear() {\n    super.clear();\n    this._dispatch(ac.OnlyToMain({type: at.SNIPPETS_BLOCKLIST_CLEARED}));\n    return this._dbTransaction(db => db.clear());\n  }\n\n  get blockList() {\n    return this.get(\"blockList\") || [];\n  }\n\n  /**\n   * blockSnippetById - Blocks a snippet given an id\n   *\n   * @param  {str|int} id   The id of the snippet\n   * @return {Promise}      Resolves when the id has been written to indexedDB,\n   *                        or immediately if the snippetMap is not connected\n   */\n  async blockSnippetById(id) {\n    if (!id) {\n      return;\n    }\n    const {blockList} = this;\n    if (!blockList.includes(id)) {\n      blockList.push(id);\n      this._dispatch(ac.AlsoToMain({type: at.SNIPPETS_BLOCKLIST_UPDATED, data: id}));\n      await this.set(\"blockList\", blockList);\n    }\n  }\n\n  disableOnboarding() {\n    this._dispatch(ac.AlsoToMain({type: at.DISABLE_ONBOARDING}));\n  }\n\n  showFirefoxAccounts() {\n    this._dispatch(ac.AlsoToMain({type: at.SHOW_FIREFOX_ACCOUNTS}));\n  }\n\n  getTotalBookmarksCount() {\n    return new Promise(resolve => {\n      this._dispatch(ac.OnlyToMain({type: at.TOTAL_BOOKMARKS_REQUEST}));\n      global.addMessageListener(\"ActivityStream:MainToContent\", function onMessage({data: action}) {\n        if (action.type === at.TOTAL_BOOKMARKS_RESPONSE) {\n          resolve(action.data);\n          global.removeMessageListener(\"ActivityStream:MainToContent\", onMessage);\n        }\n      });\n    });\n  }\n\n  /**\n   * connect - Attaches an indexedDB back-end to the Map so that any set values\n   *           are also cached in a store. It also restores any existing values\n   *           that are already stored in the indexedDB store.\n   *\n   * @return {type}  description\n   */\n  async connect() {\n    // Open the connection\n    const db = await this._openDB();\n\n    // Restore any existing values\n    await this._restoreFromDb(db);\n\n    // Attach a reference to the db\n    this._db = db;\n  }\n\n  /**\n   * _dbTransaction - Returns a db transaction wrapped with the given modifier\n   *                  function as a Promise. If the db has not been connected,\n   *                  it resolves immediately.\n   *\n   * @param  {func} modifier A function to call with the transaction\n   * @return {obj}           A Promise that resolves when the transaction has\n   *                         completed or errored\n   */\n  _dbTransaction(modifier) {\n    if (!this._db) {\n      return Promise.resolve();\n    }\n    return new Promise((resolve, reject) => {\n      const transaction = modifier(\n        this._db\n          .transaction(SNIPPETS_OBJECTSTORE_NAME, \"readwrite\")\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME)\n      );\n      transaction.onsuccess = event => resolve();\n\n      /* istanbul ignore next */\n      transaction.onerror = event => reject(transaction.error);\n    });\n  }\n\n  _openDB() {\n    return new Promise((resolve, reject) => {\n      const openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION);\n\n      /* istanbul ignore next */\n      openRequest.onerror = event => {\n        // Try to delete the old database so that we can start this process over\n        // next time.\n        indexedDB.deleteDatabase(DATABASE_NAME);\n        reject(event);\n      };\n\n      openRequest.onupgradeneeded = event => {\n        const db = event.target.result;\n        if (!db.objectStoreNames.contains(SNIPPETS_OBJECTSTORE_NAME)) {\n          db.createObjectStore(SNIPPETS_OBJECTSTORE_NAME);\n        }\n      };\n\n      openRequest.onsuccess = event => {\n        let db = event.target.result;\n\n        /* istanbul ignore next */\n        db.onerror = err => console.error(err); // eslint-disable-line no-console\n        /* istanbul ignore next */\n        db.onversionchange = versionChangeEvent => versionChangeEvent.target.close();\n\n        resolve(db);\n      };\n    });\n  }\n\n  _restoreFromDb(db) {\n    return new Promise((resolve, reject) => {\n      let cursorRequest;\n      try {\n        cursorRequest = db.transaction(SNIPPETS_OBJECTSTORE_NAME)\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME).openCursor();\n      } catch (err) {\n        // istanbul ignore next\n        reject(err);\n        // istanbul ignore next\n        return;\n      }\n\n      /* istanbul ignore next */\n      cursorRequest.onerror = event => reject(event);\n\n      cursorRequest.onsuccess = event => {\n        let cursor = event.target.result;\n        // Populate the cache from the persistent storage.\n        if (cursor) {\n          if (cursor.value !== \"blockList\") {\n            this.set(cursor.key, cursor.value);\n          }\n          cursor.continue();\n        } else {\n          // We are done.\n          resolve();\n        }\n      };\n    });\n  }\n}\n\n/**\n * SnippetsProvider - Initializes a SnippetsMap and loads snippets from a\n *                    remote location, or else default snippets if the remote\n *                    snippets cannot be retrieved.\n */\nexport class SnippetsProvider {\n  constructor(dispatch) {\n    // Initialize the Snippets Map and attaches it to a global so that\n    // the snippet payload can interact with it.\n    global.gSnippetsMap = new SnippetsMap(dispatch);\n    this._onAction = this._onAction.bind(this);\n  }\n\n  get snippetsMap() {\n    return global.gSnippetsMap;\n  }\n\n  async _refreshSnippets() {\n    // Check if the cached version of of the snippets in snippetsMap. If it's too\n    // old, blow away the entire snippetsMap.\n    const cachedVersion = this.snippetsMap.get(\"snippets-cached-version\");\n\n    if (cachedVersion !== this.appData.version) {\n      this.snippetsMap.clear();\n    }\n\n    // Has enough time passed for us to require an update?\n    const lastUpdate = this.snippetsMap.get(\"snippets-last-update\");\n    const needsUpdate = !(lastUpdate >= 0) || Date.now() - lastUpdate > SNIPPETS_UPDATE_INTERVAL_MS;\n\n    if (needsUpdate && this.appData.snippetsURL) {\n      this.snippetsMap.set(\"snippets-last-update\", Date.now());\n      try {\n        const response = await fetch(this.appData.snippetsURL);\n        if (response.status === 200) {\n          const payload = await response.text();\n\n          this.snippetsMap.set(\"snippets\", payload);\n          this.snippetsMap.set(\"snippets-cached-version\", this.appData.version);\n        }\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n  }\n\n  _noSnippetFallback() {\n    // TODO\n  }\n\n  _forceOnboardingVisibility(shouldBeVisible) {\n    const onboardingEl = document.getElementById(\"onboarding-notification-bar\");\n\n    if (onboardingEl) {\n      onboardingEl.style.display = shouldBeVisible ? \"\" : \"none\";\n    }\n  }\n\n  _showRemoteSnippets() {\n    const snippetsEl = document.getElementById(this.elementId);\n    const payload = this.snippetsMap.get(\"snippets\");\n\n    if (!snippetsEl) {\n      throw new Error(`No element was found with id '${this.elementId}'.`);\n    }\n\n    // This could happen if fetching failed\n    if (!payload) {\n      throw new Error(\"No remote snippets were found in gSnippetsMap.\");\n    }\n\n    if (typeof payload !== \"string\") {\n      throw new Error(\"Snippet payload was incorrectly formatted\");\n    }\n\n    // Note that injecting snippets can throw if they're invalid XML.\n    // eslint-disable-next-line no-unsanitized/property\n    snippetsEl.innerHTML = payload;\n\n    // Scripts injected by innerHTML are inactive, so we have to relocate them\n    // through DOM manipulation to activate their contents.\n    for (const scriptEl of snippetsEl.getElementsByTagName(\"script\")) {\n      const relocatedScript = document.createElement(\"script\");\n      relocatedScript.text = scriptEl.text;\n      scriptEl.parentNode.replaceChild(relocatedScript, scriptEl);\n    }\n  }\n\n  _onAction(msg) {\n    if (msg.data.type === at.SNIPPET_BLOCKED) {\n      if (!this.snippetsMap.blockList.includes(msg.data.data)) {\n        this.snippetsMap.set(\"blockList\", this.snippetsMap.blockList.concat(msg.data.data));\n        document.getElementById(\"snippets-container\").style.display = \"none\";\n      }\n    }\n  }\n\n  /**\n   * init - Fetch the snippet payload and show snippets\n   *\n   * @param  {obj} options\n   * @param  {str} options.appData.snippetsURL  The URL from which we fetch snippets\n   * @param  {int} options.appData.version  The current snippets version\n   * @param  {str} options.elementId  The id of the element in which to inject snippets\n   * @param  {bool} options.connect  Should gSnippetsMap connect to indexedDB?\n   */\n  async init(options) {\n    Object.assign(this, {\n      appData: {},\n      elementId: \"snippets\",\n      connect: true\n    }, options);\n\n    // Add listener so we know when snippets are blocked on other pages\n    if (global.addMessageListener) {\n      global.addMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n\n    // TODO: Requires enabling indexedDB on newtab\n    // Restore the snippets map from indexedDB\n    if (this.connect) {\n      try {\n        await this.snippetsMap.connect();\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n\n    // Cache app data values so they can be accessible from gSnippetsMap\n    for (const key of Object.keys(this.appData)) {\n      if (key === \"blockList\") {\n        this.snippetsMap.set(\"blockList\", this.appData[key]);\n      } else {\n        this.snippetsMap.set(`appData.${key}`, this.appData[key]);\n      }\n    }\n\n    // Refresh snippets, if enough time has passed.\n    await this._refreshSnippets();\n\n    // Try showing remote snippets, falling back to defaults if necessary.\n    try {\n      this._showRemoteSnippets();\n    } catch (e) {\n      this._noSnippetFallback(e);\n    }\n\n    window.dispatchEvent(new Event(SNIPPETS_ENABLED_EVENT));\n\n    this._forceOnboardingVisibility(true);\n    this.initialized = true;\n  }\n\n  uninit() {\n    window.dispatchEvent(new Event(SNIPPETS_DISABLED_EVENT));\n    this._forceOnboardingVisibility(false);\n    if (global.removeMessageListener) {\n      global.removeMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n    this.initialized = false;\n  }\n}\n\n/**\n * addSnippetsSubscriber - Creates a SnippetsProvider that Initializes\n *                         when the store has received the appropriate\n *                         Snippet data.\n *\n * @param  {obj} store   The redux store\n * @return {obj}         Returns the snippets instance and unsubscribe function\n */\nexport function addSnippetsSubscriber(store) {\n  const snippets = new SnippetsProvider(store.dispatch);\n\n  let initializing = false;\n\n  store.subscribe(async () => {\n    const state = store.getState();\n    // state.Prefs.values[\"feeds.snippets\"]:  Should snippets be shown?\n    // state.Snippets.initialized             Is the snippets data initialized?\n    // snippets.initialized:                  Is SnippetsProvider currently initialised?\n    if (state.Prefs.values[\"feeds.snippets\"] &&\n      !state.Prefs.values.disableSnippets &&\n      state.Snippets.initialized &&\n      !snippets.initialized &&\n      // Don't call init multiple times\n      !initializing\n    ) {\n      initializing = true;\n      await snippets.init({appData: state.Snippets});\n      initializing = false;\n    } else if (\n      (state.Prefs.values[\"feeds.snippets\"] === false ||\n        state.Prefs.values.disableSnippets === true) &&\n      snippets.initialized\n    ) {\n      snippets.uninit();\n    }\n  });\n\n  // These values are returned for testing purposes\n  return snippets;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/snippets.js","import {actionCreators as ac, actionTypes} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * ConfirmDialog component.\n * One primary action button, one cancel button.\n *\n * Content displayed is controlled by `data` prop the component receives.\n * Example:\n * data: {\n *   // Any sort of data needed to be passed around by actions.\n *   payload: site.url,\n *   // Primary button AlsoToMain action.\n *   action: \"DELETE_HISTORY_URL\",\n *   // Primary button USerEvent action.\n *   userEvent: \"DELETE\",\n *   // Array of locale ids to display.\n *   message_body: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n *   // Text for primary button.\n *   confirm_button_string_id: \"menu_action_delete\"\n * },\n */\nexport class _ConfirmDialog extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this._handleCancelBtn = this._handleCancelBtn.bind(this);\n    this._handleConfirmBtn = this._handleConfirmBtn.bind(this);\n  }\n\n  _handleCancelBtn() {\n    this.props.dispatch({type: actionTypes.DIALOG_CANCEL});\n    this.props.dispatch(ac.UserEvent({event: actionTypes.DIALOG_CANCEL, source: this.props.data.eventSource}));\n  }\n\n  _handleConfirmBtn() {\n    this.props.data.onConfirm.forEach(this.props.dispatch);\n  }\n\n  _renderModalMessage() {\n    const message_body = this.props.data.body_string_id;\n\n    if (!message_body) {\n      return null;\n    }\n\n    return (<span>\n      {message_body.map(msg => <p key={msg}><FormattedMessage id={msg} /></p>)}\n    </span>);\n  }\n\n  render() {\n    if (!this.props.visible) {\n      return null;\n    }\n\n    return (<div className=\"confirmation-dialog\">\n      <div className=\"modal-overlay\" onClick={this._handleCancelBtn} />\n      <div className=\"modal\">\n        <section className=\"modal-message\">\n          {this.props.data.icon && <span className={`icon icon-spacer icon-${this.props.data.icon}`} />}\n          {this._renderModalMessage()}\n        </section>\n        <section className=\"actions\">\n          <button onClick={this._handleCancelBtn}>\n            <FormattedMessage id={this.props.data.cancel_button_string_id} />\n          </button>\n          <button className=\"done\" onClick={this._handleConfirmBtn}>\n            <FormattedMessage id={this.props.data.confirm_button_string_id} />\n          </button>\n        </section>\n      </div>\n    </div>);\n  }\n}\n\nexport const ConfirmDialog = connect(state => state.Dialog)(_ConfirmDialog);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * Manual migration component used to start the profile import wizard.\n * Message is presented temporarily and will go away if:\n * 1.  User clicks \"No Thanks\"\n * 2.  User completed the data import\n * 3.  After 3 active days\n * 4.  User clicks \"Cancel\" on the import wizard (currently not implemented).\n */\nexport class _ManualMigration extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onLaunchTour = this.onLaunchTour.bind(this);\n    this.onCancelTour = this.onCancelTour.bind(this);\n  }\n\n  onLaunchTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_START}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_START}));\n  }\n\n  onCancelTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_CANCEL}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_CANCEL}));\n  }\n\n  render() {\n    return (<div className=\"manual-migration-container\">\n        <p>\n          <span className=\"icon icon-import\" />\n          <FormattedMessage id=\"manual_migration_explanation2\" />\n        </p>\n        <div className=\"manual-migration-actions actions\">\n          <button className=\"dismiss\" onClick={this.onCancelTour}>\n            <FormattedMessage id=\"manual_migration_cancel_button\" />\n          </button>\n          <button onClick={this.onLaunchTour}>\n            <FormattedMessage id=\"manual_migration_import_button\" />\n          </button>\n        </div>\n    </div>);\n  }\n}\n\nexport const ManualMigration = connect()(_ManualMigration);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {connect} from \"react-redux\";\nimport React from \"react\";\n\nconst getFormattedMessage = message =>\n  (typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />);\n\nexport const PreferencesInput = props => (\n  <section>\n    <input type=\"checkbox\" id={props.prefName} name={props.prefName} checked={props.value} disabled={props.disabled} onChange={props.onChange} className={props.className} />\n    <label htmlFor={props.prefName} className={props.labelClassName}>\n      {getFormattedMessage(props.titleString)}\n    </label>\n    {props.descString && <p className=\"prefs-input-description\">\n      {getFormattedMessage(props.descString)}\n    </p>}\n    {React.Children.map(props.children,\n      child => <div className={`options${child.props.disabled ? \" disabled\" : \"\"}`}>{child}</div>)}\n  </section>\n);\n\nexport class _PreferencesPane extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.handleClickOutside = this.handleClickOutside.bind(this);\n    this.handlePrefChange = this.handlePrefChange.bind(this);\n    this.handleSectionChange = this.handleSectionChange.bind(this);\n    this.togglePane = this.togglePane.bind(this);\n    this.onWrapperMount = this.onWrapperMount.bind(this);\n  }\n\n  componentDidUpdate(prevProps, prevState) {\n    if (prevProps.PreferencesPane.visible !== this.props.PreferencesPane.visible) {\n      // While the sidebar is open, listen for all document clicks.\n      if (this.isSidebarOpen()) {\n        document.addEventListener(\"click\", this.handleClickOutside);\n      } else {\n        document.removeEventListener(\"click\", this.handleClickOutside);\n      }\n    }\n  }\n\n  isSidebarOpen() {\n    return this.props.PreferencesPane.visible;\n  }\n\n  handleClickOutside(event) {\n    // if we are showing the sidebar and there is a click outside, close it.\n    if (this.isSidebarOpen() && !this.wrapper.contains(event.target)) {\n      this.togglePane();\n    }\n  }\n\n  handlePrefChange({target: {name, checked}}) {\n    let value = checked;\n    if (name === \"topSitesRows\") {\n      value = checked ? 2 : 1;\n    }\n    this.props.dispatch(ac.SetPref(name, value));\n  }\n\n  handleSectionChange({target}) {\n    const id = target.name;\n    const type = target.checked ? at.SECTION_ENABLE : at.SECTION_DISABLE;\n    this.props.dispatch(ac.AlsoToMain({type, data: id}));\n  }\n\n  togglePane() {\n    if (this.isSidebarOpen()) {\n      this.props.dispatch({type: at.SETTINGS_CLOSE});\n      this.props.dispatch(ac.UserEvent({event: \"CLOSE_NEWTAB_PREFS\"}));\n    } else {\n      this.props.dispatch({type: at.SETTINGS_OPEN});\n      this.props.dispatch(ac.UserEvent({event: \"OPEN_NEWTAB_PREFS\"}));\n    }\n  }\n\n  onWrapperMount(wrapper) {\n    this.wrapper = wrapper;\n  }\n\n  render() {\n    const {props} = this;\n    const prefs = props.Prefs.values;\n    const sections = props.Sections;\n    const isVisible = this.isSidebarOpen();\n    return (\n      <div className=\"prefs-pane-wrapper\" ref={this.onWrapperMount}>\n        <div className=\"prefs-pane-button\">\n          <button\n            className={`prefs-button icon ${isVisible ? \"icon-dismiss\" : \"icon-settings\"}`}\n            title={props.intl.formatMessage({id: isVisible ? \"settings_pane_done_button\" : \"settings_pane_button_label\"})}\n            onClick={this.togglePane} />\n        </div>\n        <div className=\"prefs-pane\">\n          <div className={`sidebar ${isVisible ? \"\" : \"hidden\"}`}>\n            <div className=\"prefs-modal-inner-wrapper\">\n              <h1><FormattedMessage id=\"settings_pane_header\" /></h1>\n              <p><FormattedMessage id=\"settings_pane_body2\" /></p>\n\n              <PreferencesInput\n                className=\"showSearch\"\n                prefName=\"showSearch\"\n                value={prefs.showSearch}\n                onChange={this.handlePrefChange}\n                titleString={{id: \"settings_pane_search_header\"}}\n                descString={{id: \"settings_pane_search_body\"}} />\n\n              <hr />\n\n              <PreferencesInput\n                className=\"showTopSites\"\n                prefName=\"showTopSites\"\n                value={prefs.showTopSites}\n                onChange={this.handlePrefChange}\n                titleString={{id: \"settings_pane_topsites_header\"}}\n                descString={{id: \"settings_pane_topsites_body\"}}>\n\n                <PreferencesInput\n                  className=\"showMoreTopSites\"\n                  prefName=\"topSitesRows\"\n                  disabled={!prefs.showTopSites}\n                  value={prefs.topSitesRows === 2}\n                  onChange={this.handlePrefChange}\n                  titleString={{id: \"settings_pane_topsites_options_showmore\"}}\n                  labelClassName=\"icon icon-topsites\" />\n              </PreferencesInput>\n\n              {sections\n                .filter(section => !section.shouldHidePref)\n                .map(({id, title, enabled, pref}) =>\n                  (<PreferencesInput\n                    key={id}\n                    className=\"showSection\"\n                    prefName={(pref && pref.feed) || id}\n                    value={enabled}\n                    onChange={(pref && pref.feed) ? this.handlePrefChange : this.handleSectionChange}\n                    titleString={(pref && pref.titleString) || title}\n                    descString={pref && pref.descString}>\n\n                    {pref && pref.nestedPrefs && pref.nestedPrefs.map(nestedPref =>\n                      (<PreferencesInput\n                        key={nestedPref.name}\n                        prefName={nestedPref.name}\n                        disabled={!enabled}\n                        value={prefs[nestedPref.name]}\n                        onChange={this.handlePrefChange}\n                        titleString={nestedPref.titleString}\n                        labelClassName={`icon ${nestedPref.icon}`} />)\n                    )}\n                   </PreferencesInput>)\n                )}\n              {!prefs.disableSnippets && <hr />}\n\n              {!prefs.disableSnippets && <PreferencesInput className=\"showSnippets\" prefName=\"feeds.snippets\"\n                value={prefs[\"feeds.snippets\"]} onChange={this.handlePrefChange}\n                titleString={{id: \"settings_pane_snippets_header\"}}\n                descString={{id: \"settings_pane_snippets_body\"}} />}\n\n            </div>\n            <section className=\"actions\">\n              <button className=\"done\" onClick={this.togglePane}>\n                <FormattedMessage id=\"settings_pane_done_button\" />\n              </button>\n            </section>\n          </div>\n        </div>\n      </div>);\n  }\n}\n\nexport const PreferencesPane = connect(state => ({\n  Prefs: state.Prefs,\n  PreferencesPane: state.PreferencesPane,\n  Sections: state.Sections\n}))(injectIntl(_PreferencesPane));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/PreferencesPane/PreferencesPane.jsx","class _PrerenderData {\n  constructor(options) {\n    this.initialPrefs = options.initialPrefs;\n    this.initialSections = options.initialSections;\n    this._setValidation(options.validation);\n  }\n\n  get validation() {\n    return this._validation;\n  }\n\n  set validation(value) {\n    this._setValidation(value);\n  }\n\n  get invalidatingPrefs() {\n    return this._invalidatingPrefs;\n  }\n\n    // This is needed so we can use it in the constructor\n  _setValidation(value = []) {\n    this._validation = value;\n    this._invalidatingPrefs = value.reduce((result, next) => {\n      if (typeof next === \"string\") {\n        result.push(next);\n        return result;\n      } else if (next && next.oneOf) {\n        return result.concat(next.oneOf);\n      }\n      throw new Error(\"Your validation configuration is not properly configured\");\n    }, []);\n  }\n\n  arePrefsValid(getPref) {\n    for (const prefs of this.validation) {\n      // {oneOf: [\"foo\", \"bar\"]}\n      if (prefs && prefs.oneOf && !prefs.oneOf.some(name => getPref(name) === this.initialPrefs[name])) {\n        return false;\n\n      // \"foo\"\n      } else if (getPref(prefs) !== this.initialPrefs[prefs]) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n\nthis.PrerenderData = new _PrerenderData({\n  initialPrefs: {\n    \"migrationExpired\": true,\n    \"showTopSites\": true,\n    \"showSearch\": true,\n    \"topSitesRows\": 1,\n    \"collapseTopSites\": false,\n    \"section.highlights.collapsed\": false,\n    \"section.topstories.collapsed\": false,\n    \"feeds.section.topstories\": true,\n    \"feeds.section.highlights\": true,\n    \"enableWideLayout\": true,\n    \"sectionOrder\": \"topsites,topstories,highlights\"\n  },\n  // Prefs listed as invalidating will prevent the prerendered version\n  // of AS from being used if their value is something other than what is listed\n  // here. This is required because some preferences cause the page layout to be\n  // too different for the prerendered version to be used. Unfortunately, this\n  // will result in users who have modified some of their preferences not being\n  // able to get the benefits of prerendering.\n  validation: [\n    \"showTopSites\",\n    \"showSearch\",\n    \"topSitesRows\",\n    \"collapseTopSites\",\n    \"section.highlights.collapsed\",\n    \"section.topstories.collapsed\",\n    \"enableWideLayout\",\n    \"sectionOrder\",\n    // This means if either of these are set to their default values,\n    // prerendering can be used.\n    {oneOf: [\"feeds.section.topstories\", \"feeds.section.highlights\"]}\n  ],\n  initialSections: [\n    {\n      enabled: true,\n      icon: \"pocket\",\n      id: \"topstories\",\n      order: 1,\n      title: {id: \"header_recommended_by\", values: {provider: \"Pocket\"}}\n    },\n    {\n      enabled: true,\n      id: \"highlights\",\n      icon: \"highlights\",\n      order: 2,\n      title: {id: \"header_highlights\"}\n    }\n  ]\n});\n\nthis._PrerenderData = _PrerenderData;\nconst EXPORTED_SYMBOLS = [\"PrerenderData\", \"_PrerenderData\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PrerenderData.jsm","/* globals ContentSearchUIController */\n\"use strict\";\n\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {IS_NEWTAB} from \"content-src/lib/constants\";\nimport React from \"react\";\n\nexport class _Search extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onInputMount = this.onInputMount.bind(this);\n  }\n\n  handleEvent(event) {\n    // Also track search events with our own telemetry\n    if (event.detail.type === \"Search\") {\n      this.props.dispatch(ac.UserEvent({event: \"SEARCH\"}));\n    }\n  }\n\n  onClick(event) {\n    window.gContentSearchController.search(event);\n  }\n\n  componentWillUnmount() {\n    delete window.gContentSearchController;\n  }\n\n  onInputMount(input) {\n    if (input) {\n      // The \"healthReportKey\" and needs to be \"newtab\" or \"abouthome\" so that\n      // BrowserUsageTelemetry.jsm knows to handle events with this name, and\n      // can add the appropriate telemetry probes for search. Without the correct\n      // name, certain tests like browser_UsageTelemetry_content.js will fail\n      // (See github ticket #2348 for more details)\n      const healthReportKey = IS_NEWTAB ? \"newtab\" : \"abouthome\";\n\n      // The \"searchSource\" needs to be \"newtab\" or \"homepage\" and is sent with\n      // the search data and acts as context for the search request (See\n      // nsISearchEngine.getSubmission). It is necessary so that search engine\n      // plugins can correctly atribute referrals. (See github ticket #3321 for\n      // more details)\n      const searchSource = IS_NEWTAB ? \"newtab\" : \"homepage\";\n\n      // gContentSearchController needs to exist as a global so that tests for\n      // the existing about:home can find it; and so it allows these tests to pass.\n      // In the future, when activity stream is default about:home, this can be renamed\n      window.gContentSearchController = new ContentSearchUIController(input, input.parentNode,\n        healthReportKey, searchSource);\n      addEventListener(\"ContentSearchClient\", this);\n    } else {\n      window.gContentSearchController = null;\n      removeEventListener(\"ContentSearchClient\", this);\n    }\n  }\n\n  /*\n   * Do not change the ID on the input field, as legacy newtab code\n   * specifically looks for the id 'newtab-search-text' on input fields\n   * in order to execute searches in various tests\n   */\n  render() {\n    return (<div className=\"search-wrapper\">\n      <label htmlFor=\"newtab-search-text\" className=\"search-label\">\n        <span className=\"sr-only\"><FormattedMessage id=\"search_web_placeholder\" /></span>\n      </label>\n      <input\n        id=\"newtab-search-text\"\n        maxLength=\"256\"\n        placeholder={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        ref={this.onInputMount}\n        title={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        type=\"search\" />\n      <button\n        id=\"searchSubmit\"\n        className=\"search-button\"\n        onClick={this.onClick}\n        title={this.props.intl.formatMessage({id: \"search_button\"})}>\n        <span className=\"sr-only\"><FormattedMessage id=\"search_button\" /></span>\n      </button>\n    </div>);\n  }\n}\n\nexport const Search = connect()(injectIntl(_Search));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Search/Search.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addLocaleData, IntlProvider} from \"react-intl\";\nimport {ConfirmDialog} from \"content-src/components/ConfirmDialog/ConfirmDialog\";\nimport {connect} from \"react-redux\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport {ManualMigration} from \"content-src/components/ManualMigration/ManualMigration\";\nimport {PreferencesPane} from \"content-src/components/PreferencesPane/PreferencesPane\";\nimport {PrerenderData} from \"common/PrerenderData.jsm\";\nimport React from \"react\";\nimport {Search} from \"content-src/components/Search/Search\";\nimport {Sections} from \"content-src/components/Sections/Sections\";\n\n// Add the locale data for pluralization and relative-time formatting for now,\n// this just uses english locale data. We can make this more sophisticated if\n// more features are needed.\nfunction addLocaleDataForReactIntl(locale) {\n  addLocaleData([{locale, parentLocale: \"en\"}]);\n}\n\nexport class _Base extends React.PureComponent {\n  componentWillMount() {\n    const {App, locale} = this.props;\n    this.sendNewTabRehydrated(App);\n    addLocaleDataForReactIntl(locale);\n  }\n\n  componentDidMount() {\n    // Request state AFTER the first render to ensure we don't cause the\n    // prerendered DOM to be unmounted. Otherwise, NEW_TAB_STATE_REQUEST is\n    // dispatched right after the store is ready.\n    if (this.props.isPrerendered) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n      this.props.dispatch(ac.AlsoToMain({type: at.PAGE_PRERENDERED}));\n    }\n  }\n\n  componentWillUpdate({App}) {\n    this.sendNewTabRehydrated(App);\n  }\n\n  // The NEW_TAB_REHYDRATED event is used to inform feeds that their\n  // data has been consumed e.g. for counting the number of tabs that\n  // have rendered that data.\n  sendNewTabRehydrated(App) {\n    if (App && App.initialized && !this.renderNotified) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_REHYDRATED, data: {}}));\n      this.renderNotified = true;\n    }\n  }\n\n  render() {\n    const {props} = this;\n    const {App, locale, strings} = props;\n    const {initialized} = App;\n\n    if (!props.isPrerendered && !initialized) {\n      return null;\n    }\n\n    return (<IntlProvider locale={locale} messages={strings}>\n        <ErrorBoundary className=\"base-content-fallback\">\n          <BaseContent {...this.props} />\n        </ErrorBoundary>\n      </IntlProvider>);\n  }\n}\n\nexport class BaseContent extends React.PureComponent {\n  render() {\n    const {props} = this;\n    const {App} = props;\n    const {initialized} = App;\n    const prefs = props.Prefs.values;\n\n    const shouldBeFixedToTop = PrerenderData.arePrefsValid(name => prefs[name]);\n\n    const outerClassName = `outer-wrapper${shouldBeFixedToTop ? \" fixed-to-top\" : \"\"} ${prefs.enableWideLayout ? \"wide-layout-enabled\" : \"wide-layout-disabled\"}`;\n\n    return (\n        <div className={outerClassName}>\n          <main>\n            {prefs.showSearch &&\n              <div className=\"non-collapsible-section\">\n                <ErrorBoundary>\n                  <Search />\n                </ErrorBoundary>\n              </div>\n            }\n            <div className={`body-wrapper${(initialized ? \" on\" : \"\")}`}>\n              {!prefs.migrationExpired &&\n                <div className=\"non-collapsible-section\">\n                  <ManualMigration />\n                </div>\n                }\n              <Sections />\n            </div>\n            <ConfirmDialog />\n          </main>\n          {initialized &&\n            <div className=\"prefs-pane\">\n              <ErrorBoundary className=\"sidebar\"> <PreferencesPane /> </ErrorBoundary>\n            </div>\n          }\n        </div>);\n  }\n}\n\nexport const Base = connect(state => ({App: state.App, Prefs: state.Prefs}))(_Base);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Base/Base.jsx","export const IS_NEWTAB = global.document && global.document.documentURI === \"about:newtab\";\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/constants.js","import {Card, PlaceholderCard} from \"content-src/components/Card/Card\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {CollapsibleSection} from \"content-src/components/CollapsibleSection/CollapsibleSection\";\nimport {ComponentPerfTimer} from \"content-src/components/ComponentPerfTimer/ComponentPerfTimer\";\nimport {connect} from \"react-redux\";\nimport React from \"react\";\nimport {Topics} from \"content-src/components/Topics/Topics\";\nimport {TopSites} from \"content-src/components/TopSites/TopSites\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\nconst CARDS_PER_ROW = 3;\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\n\nexport class Section extends React.PureComponent {\n  _dispatchImpressionStats() {\n    const {props} = this;\n    const maxCards = 3 * props.maxRows;\n    const cards = props.rows.slice(0, maxCards);\n\n    if (this.needsImpressionStats(cards)) {\n      props.dispatch(ac.ImpressionStats({\n        source: props.eventSource,\n        tiles: cards.map(link => ({id: link.guid}))\n      }));\n      this.impressionCardGuids = cards.map(link => link.guid);\n    }\n  }\n\n  // This sends an event when a user sees a set of new content. If content\n  // changes while the page is hidden (i.e. preloaded or on a hidden tab),\n  // only send the event if the page becomes visible again.\n  sendImpressionStatsOrAddListener() {\n    const {props} = this;\n\n    if (!props.shouldSendImpressionStats || !props.dispatch) {\n      return;\n    }\n\n    if (props.document.visibilityState === VISIBLE) {\n      this._dispatchImpressionStats();\n    } else {\n      // We should only ever send the latest impression stats ping, so remove any\n      // older listeners.\n      if (this._onVisibilityChange) {\n        props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n      }\n\n      // When the page becomes visible, send the impression stats ping if the section isn't collapsed.\n      this._onVisibilityChange = () => {\n        if (props.document.visibilityState === VISIBLE) {\n          const {id, Prefs} = this.props;\n          const isCollapsed = Prefs.values[`section.${id}.collapsed`];\n          if (!isCollapsed) {\n            this._dispatchImpressionStats();\n          }\n          props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n        }\n      };\n      props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  componentDidMount() {\n    const {id, rows, Prefs} = this.props;\n    const isCollapsed = Prefs.values[`section.${id}.collapsed`];\n    if (rows.length && !isCollapsed) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  componentDidUpdate(prevProps) {\n    const {props} = this;\n    const {id, Prefs} = props;\n    const isCollapsedPref = `section.${id}.collapsed`;\n    const isCollapsed = Prefs.values[isCollapsedPref];\n    const wasCollapsed = prevProps.Prefs.values[isCollapsedPref];\n    if (\n      // Don't send impression stats for the empty state\n      props.rows.length &&\n      (\n        // We only want to send impression stats if the content of the cards has changed\n        // and the section is not collapsed...\n        (props.rows !== prevProps.rows && !isCollapsed) ||\n        // or if we are expanding a section that was collapsed.\n        (wasCollapsed && !isCollapsed)\n      )\n    ) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  componentWillUnmount() {\n    if (this._onVisibilityChange) {\n      this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  needsImpressionStats(cards) {\n    if (!this.impressionCardGuids || (this.impressionCardGuids.length !== cards.length)) {\n      return true;\n    }\n\n    for (let i = 0; i < cards.length; i++) {\n      if (cards[i].guid !== this.impressionCardGuids[i]) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  numberOfPlaceholders(items) {\n    if (items === 0) {\n      return CARDS_PER_ROW;\n    }\n    const remainder = items % CARDS_PER_ROW;\n    if (remainder === 0) {\n      return 0;\n    }\n    return CARDS_PER_ROW - remainder;\n  }\n\n  render() {\n    const {\n      id, eventSource, title, icon, rows,\n      emptyState, dispatch, maxRows,\n      contextMenuOptions, initialized, disclaimer,\n      pref, privacyNoticeURL, isFirst, isLast\n    } = this.props;\n    const maxCards = CARDS_PER_ROW * maxRows;\n\n    // Show topics only for top stories and if it's not initialized yet (so\n    // content doesn't shift when it is loaded) or has loaded with topics\n    const shouldShowTopics = (id === \"topstories\" &&\n      (!this.props.topics || this.props.topics.length > 0));\n\n    const realRows = rows.slice(0, maxCards);\n    const placeholders = this.numberOfPlaceholders(realRows.length);\n\n    // The empty state should only be shown after we have initialized and there is no content.\n    // Otherwise, we should show placeholders.\n    const shouldShowEmptyState = initialized && !rows.length;\n\n    // <Section> <-- React component\n    // <section> <-- HTML5 element\n    return (<ComponentPerfTimer {...this.props}>\n      <CollapsibleSection className=\"section\" icon={icon}\n        title={getFormattedMessage(title)}\n        id={id}\n        eventSource={eventSource}\n        disclaimer={disclaimer}\n        prefName={`section.${id}.collapsed`}\n        showPrefName={(pref && pref.feed) || id}\n        privacyNoticeURL={privacyNoticeURL}\n        Prefs={this.props.Prefs}\n        isFirst={isFirst}\n        isLast={isLast}\n        dispatch={this.props.dispatch}>\n\n        {!shouldShowEmptyState && (<ul className=\"section-list\" style={{padding: 0}}>\n          {realRows.map((link, index) => link &&\n            <Card key={index} index={index} dispatch={dispatch} link={link} contextMenuOptions={contextMenuOptions}\n              eventSource={eventSource} shouldSendImpressionStats={this.props.shouldSendImpressionStats} isWebExtension={this.props.isWebExtension} />)}\n          {placeholders > 0 && [...new Array(placeholders)].map((_, i) => <PlaceholderCard key={i} />)}\n        </ul>)}\n        {shouldShowEmptyState &&\n          <div className=\"section-empty-state\">\n            <div className=\"empty-state\">\n              {emptyState.icon && emptyState.icon.startsWith(\"moz-extension://\") ?\n                <img className=\"empty-state-icon icon\" style={{\"background-image\": `url('${emptyState.icon}')`}} /> :\n                <img className={`empty-state-icon icon icon-${emptyState.icon}`} />}\n              <p className=\"empty-state-message\">\n                {getFormattedMessage(emptyState.message)}\n              </p>\n            </div>\n          </div>}\n        {shouldShowTopics && <Topics topics={this.props.topics} read_more_endpoint={this.props.read_more_endpoint} />}\n      </CollapsibleSection>\n    </ComponentPerfTimer>);\n  }\n}\n\nSection.defaultProps = {\n  document: global.document,\n  rows: [],\n  emptyState: {},\n  title: \"\"\n};\n\nexport const SectionIntl = connect(state => ({Prefs: state.Prefs}))(injectIntl(Section));\n\nexport class _Sections extends React.PureComponent {\n  renderSections() {\n    const sections = [];\n    const enabledSections = this.props.Sections.filter(section => section.enabled);\n    const {sectionOrder, showTopSites} = this.props.Prefs.values;\n    // Enabled sections doesn't include Top Sites, so we add it if enabled.\n    const expectedCount = enabledSections.length + ~~showTopSites;\n\n    for (const sectionId of sectionOrder.split(\",\")) {\n      const commonProps = {\n        key: sectionId,\n        isFirst: sections.length === 0,\n        isLast: sections.length === expectedCount - 1\n      };\n      if (sectionId === \"topsites\" && showTopSites) {\n        sections.push(<TopSites {...commonProps} />);\n      } else {\n        const section = enabledSections.find(s => s.id === sectionId);\n        if (section) {\n          sections.push(<SectionIntl {...section} {...commonProps} />);\n        }\n      }\n    }\n    return sections;\n  }\n\n  render() {\n    return (\n      <div className=\"sections-list\">\n        {this.renderSections()}\n      </div>\n    );\n  }\n}\n\nexport const Sections = connect(state => ({Sections: state.Sections, Prefs: state.Prefs}))(_Sections);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Sections/Sections.jsx","export const cardContextTypes = {\n  history: {\n    intlID: \"type_label_visited\",\n    icon: \"historyItem\"\n  },\n  bookmark: {\n    intlID: \"type_label_bookmarked\",\n    icon: \"bookmark-added\"\n  },\n  trending: {\n    intlID: \"type_label_recommended\",\n    icon: \"trending\"\n  },\n  now: {\n    intlID: \"type_label_now\",\n    icon: \"now\"\n  },\n  pocket: {\n    intlID: \"type_label_pocket\",\n    icon: \"pocket-small\"\n  }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Card/types.js","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {cardContextTypes} from \"./types\";\nimport {FormattedMessage} from \"react-intl\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\n\n// Keep track of pending image loads to only request once\nconst gImageLoading = new Map();\n\n/**\n * Card component.\n * Cards are found within a Section component and contain information about a link such\n * as preview image, page title, page description, and some context about if the page\n * was visited, bookmarked, trending etc...\n * Each Section can make an unordered list of Cards which will create one instane of\n * this class. Each card will then get a context menu which reflects the actions that\n * can be done on this Card.\n */\nexport class Card extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {\n      activeCard: null,\n      imageLoaded: false,\n      showContextMenu: false\n    };\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.onLinkClick = this.onLinkClick.bind(this);\n  }\n\n  /**\n   * Helper to conditionally load an image and update state when it loads.\n   */\n  async maybeLoadImage() {\n    // No need to load if it's already loaded or no image\n    const {image} = this.props.link;\n    if (!this.state.imageLoaded && image) {\n      // Initialize a promise to share a load across multiple card updates\n      if (!gImageLoading.has(image)) {\n        const loaderPromise = new Promise((resolve, reject) => {\n          const loader = new Image();\n          loader.addEventListener(\"load\", resolve);\n          loader.addEventListener(\"error\", reject);\n          loader.src = image;\n        });\n\n        // Save and remove the promise only while it's pending\n        gImageLoading.set(image, loaderPromise);\n        loaderPromise.catch(ex => ex).then(() => gImageLoading.delete(image)).catch();\n      }\n\n      // Wait for the image whether just started loading or reused promise\n      await gImageLoading.get(image);\n\n      // Only update state if we're still waiting to load the original image\n      if (this.props.link.image === image && !this.state.imageLoaded) {\n        this.setState({imageLoaded: true});\n      }\n    }\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({\n      activeCard: this.props.index,\n      showContextMenu: true\n    });\n  }\n\n  /**\n   * Report to telemetry additional information about the item.\n   */\n  _getTelemetryInfo() {\n    // Filter out \"history\" type for being the default\n    if (this.props.link.type !== \"history\") {\n      return {value: {card_type: this.props.link.type}};\n    }\n\n    return null;\n  }\n\n  onLinkClick(event) {\n    event.preventDefault();\n    const {altKey, button, ctrlKey, metaKey, shiftKey} = event;\n    this.props.dispatch(ac.AlsoToMain({\n      type: at.OPEN_LINK,\n      data: Object.assign(this.props.link, {event: {altKey, button, ctrlKey, metaKey, shiftKey}})\n    }));\n\n    if (this.props.isWebExtension) {\n      this.props.dispatch(ac.WebExtEvent(at.WEBEXT_CLICK, {\n        source: this.props.eventSource,\n        url: this.props.link.url,\n        action_position: this.props.index\n      }));\n    } else {\n      this.props.dispatch(ac.UserEvent(Object.assign({\n        event: \"CLICK\",\n        source: this.props.eventSource,\n        action_position: this.props.index\n      }, this._getTelemetryInfo())));\n\n      if (this.props.shouldSendImpressionStats) {\n        this.props.dispatch(ac.ImpressionStats({\n          source: this.props.eventSource,\n          click: 0,\n          tiles: [{id: this.props.link.guid, pos: this.props.index}]\n        }));\n      }\n    }\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  componentDidMount() {\n    this.maybeLoadImage();\n  }\n\n  componentDidUpdate() {\n    this.maybeLoadImage();\n  }\n\n  componentWillReceiveProps(nextProps) {\n    // Clear the image state if changing images\n    if (nextProps.link.image !== this.props.link.image) {\n      this.setState({imageLoaded: false});\n    }\n  }\n\n  render() {\n    const {index, link, dispatch, contextMenuOptions, eventSource, shouldSendImpressionStats} = this.props;\n    const {props} = this;\n    const isContextMenuOpen = this.state.showContextMenu && this.state.activeCard === index;\n    // Display \"now\" as \"trending\" until we have new strings #3402\n    const {icon, intlID} = cardContextTypes[link.type === \"now\" ? \"trending\" : link.type] || {};\n    const hasImage = link.image || link.hasImage;\n    const imageStyle = {backgroundImage: link.image ? `url(${link.image})` : \"none\"};\n\n    return (<li className={`card-outer${isContextMenuOpen ? \" active\" : \"\"}${props.placeholder ? \" placeholder\" : \"\"}`}>\n      <a href={link.type === \"pocket\" ? link.open_url : link.url} onClick={!props.placeholder ? this.onLinkClick : undefined}>\n        <div className=\"card\">\n          {hasImage && <div className=\"card-preview-image-outer\">\n            <div className={`card-preview-image${this.state.imageLoaded ? \" loaded\" : \"\"}`} style={imageStyle} />\n          </div>}\n          <div className={`card-details${hasImage ? \"\" : \" no-image\"}`}>\n            {link.hostname && <div className=\"card-host-name\">{link.hostname}</div>}\n            <div className={[\n              \"card-text\",\n              icon ? \"\" : \"no-context\",\n              link.description ? \"\" : \"no-description\",\n              link.hostname ? \"\" : \"no-host-name\",\n              hasImage ? \"\" : \"no-image\"\n            ].join(\" \")}>\n              <h4 className=\"card-title\" dir=\"auto\">{link.title}</h4>\n              <p className=\"card-description\" dir=\"auto\">{link.description}</p>\n            </div>\n            <div className=\"card-context\">\n              {icon && !link.context && <span className={`card-context-icon icon icon-${icon}`} />}\n              {link.icon && link.context && <span className=\"card-context-icon icon\" style={{backgroundImage: `url('${link.icon}')`}} />}\n              {intlID && !link.context && <div className=\"card-context-label\"><FormattedMessage id={intlID} defaultMessage=\"Visited\" /></div>}\n              {link.context && <div className=\"card-context-label\">{link.context}</div>}\n            </div>\n          </div>\n        </div>\n      </a>\n      {!props.placeholder && <button className=\"context-menu-button icon\"\n        onClick={this.onMenuButtonClick}>\n        <span className=\"sr-only\">{`Open context menu for ${link.title}`}</span>\n      </button>}\n      {isContextMenuOpen &&\n        <LinkMenu\n          dispatch={dispatch}\n          index={index}\n          source={eventSource}\n          onUpdate={this.onMenuUpdate}\n          options={link.contextMenuOptions || contextMenuOptions}\n          site={link}\n          siteInfo={this._getTelemetryInfo()}\n          shouldSendImpressionStats={shouldSendImpressionStats} />\n      }\n   </li>);\n  }\n}\nCard.defaultProps = {link: {}};\n\nexport const PlaceholderCard = () => <Card placeholder={true} />;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Card/Card.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\n/**\n * List of functions that return items that can be included as menu options in a\n * SectionMenu. All functions take the section as the only parameter.\n */\nexport const SectionMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  MoveUp: section => ({\n    id: \"section_menu_action_move_up\",\n    icon: \"arrowhead-up\",\n    action: ac.OnlyToMain({\n      type: at.SECTION_MOVE,\n      data: {id: section.id, direction: -1}\n    }),\n    userEvent: \"SECTION_MENU_MOVE_UP\",\n    disabled: !!section.isFirst\n  }),\n  MoveDown: section => ({\n    id: \"section_menu_action_move_down\",\n    icon: \"arrowhead-down\",\n    action: ac.OnlyToMain({\n      type: at.SECTION_MOVE,\n      data: {id: section.id, direction: +1}\n    }),\n    userEvent: \"SECTION_MENU_MOVE_DOWN\",\n    disabled: !!section.isLast\n  }),\n  RemoveSection: section => ({\n    id: \"section_menu_action_remove_section\",\n    icon: \"dismiss\",\n    action: ac.SetPref(section.showPrefName, false),\n    userEvent: \"SECTION_MENU_REMOVE\"\n  }),\n  CollapseSection: section => ({\n    id: \"section_menu_action_collapse_section\",\n    icon: \"minimize\",\n    action: ac.SetPref(section.collapsePrefName, true),\n    userEvent: \"SECTION_MENU_COLLAPSE\"\n  }),\n  ExpandSection: section => ({\n    id: \"section_menu_action_expand_section\",\n    icon: \"maximize\",\n    action: ac.SetPref(section.collapsePrefName, false),\n    userEvent: \"SECTION_MENU_EXPAND\"\n  }),\n  ManageSection: section => ({\n    id: \"section_menu_action_manage_section\",\n    icon: \"settings\",\n    action: {type: at.SETTINGS_OPEN},\n    userEvent: \"SECTION_MENU_MANAGE\"\n  }),\n  AddTopSite: section => ({\n    id: \"section_menu_action_add_topsite\",\n    icon: \"add\",\n    action: {type: at.TOP_SITES_EDIT, data: {index: -1}},\n    userEvent: \"SECTION_MENU_ADD_TOPSITE\"\n  }),\n  PrivacyNotice: section => ({\n    id: \"section_menu_action_privacy_notice\",\n    icon: \"info\",\n    action: ac.OnlyToMain({\n      type: at.OPEN_LINK,\n      data: {url: section.privacyNoticeURL}\n    }),\n    userEvent: \"SECTION_MENU_PRIVACY_NOTICE\"\n  }),\n  CheckCollapsed: section => (section.isCollapsed ? SectionMenuOptions.ExpandSection(section) : SectionMenuOptions.CollapseSection(section))\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/section-menu-options.js","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport React from \"react\";\nimport {SectionMenuOptions} from \"content-src/lib/section-menu-options\";\n\nconst DEFAULT_SECTION_MENU_OPTIONS = [\"MoveUp\", \"MoveDown\", \"Separator\", \"RemoveSection\", \"CheckCollapsed\", \"Separator\", \"ManageSection\"];\n\nexport class _SectionMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n\n    const propOptions = Array.from(DEFAULT_SECTION_MENU_OPTIONS);\n    // Prepend custom options and a separator\n    if (props.extraOptions) {\n      propOptions.splice(0, 0, ...props.extraOptions, \"Separator\");\n    }\n    // Insert privacy notice before the last option (\"ManageSection\")\n    if (props.privacyNoticeURL) {\n      propOptions.splice(-1, 0, \"PrivacyNotice\");\n    }\n\n    const options = propOptions.map(o => SectionMenuOptions[o](props)).map(option => {\n      const {action, id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            props.dispatch(ac.UserEvent({\n              event: userEvent,\n              source: props.source\n            }));\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nexport const SectionMenu = injectIntl(_SectionMenu);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class Topic extends React.PureComponent {\n  render() {\n    const {url, name} = this.props;\n    return (<li><a key={name} className=\"topic-link\" href={url}>{name}</a></li>);\n  }\n}\n\nexport class Topics extends React.PureComponent {\n  render() {\n    const {topics, read_more_endpoint} = this.props;\n    return (\n      <div className=\"topic\">\n        <span><FormattedMessage id=\"pocket_read_more\" /></span>\n        <ul>{topics && topics.map(t => <Topic key={t.name} url={t.url} name={t.name} />)}</ul>\n\n        {read_more_endpoint && <a className=\"topic-read-more\" href={read_more_endpoint}>\n          <FormattedMessage id=\"pocket_read_even_more\" />\n        </a>}\n      </div>\n    );\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Topics/Topics.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {MIN_CORNER_FAVICON_SIZE, MIN_RICH_FAVICON_SIZE, TOP_SITES_SOURCE} from \"./TopSitesConstants\";\nimport {CollapsibleSection} from \"content-src/components/CollapsibleSection/CollapsibleSection\";\nimport {ComponentPerfTimer} from \"content-src/components/ComponentPerfTimer/ComponentPerfTimer\";\nimport {connect} from \"react-redux\";\nimport {injectIntl} from \"react-intl\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\nimport {TopSiteForm} from \"./TopSiteForm\";\nimport {TopSiteList} from \"./TopSite\";\n\nfunction topSiteIconType(link) {\n  if (link.tippyTopIcon || link.faviconRef === \"tippytop\") {\n    return \"tippytop\";\n  }\n  if (link.faviconSize >= MIN_RICH_FAVICON_SIZE) {\n    return \"rich_icon\";\n  }\n  if (link.screenshot && link.faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n    return \"screenshot_with_icon\";\n  }\n  if (link.screenshot) {\n    return \"screenshot\";\n  }\n  return \"no_image\";\n}\n\n/**\n * Iterates through TopSites and counts types of images.\n * @param acc Accumulator for reducer.\n * @param topsite Entry in TopSites.\n */\nfunction countTopSitesIconsTypes(topSites) {\n  const countTopSitesTypes = (acc, link) => {\n    acc[topSiteIconType(link)]++;\n    return acc;\n  };\n\n  return topSites.reduce(countTopSitesTypes, {\n    \"screenshot_with_icon\": 0,\n    \"screenshot\": 0,\n    \"tippytop\": 0,\n    \"rich_icon\": 0,\n    \"no_image\": 0\n  });\n}\n\nexport class _TopSites extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onFormClose = this.onFormClose.bind(this);\n  }\n\n  /**\n   * Dispatch session statistics about the quality of TopSites icons and pinned count.\n   */\n  _dispatchTopSitesStats() {\n    const topSites = this._getVisibleTopSites();\n    const topSitesIconsStats = countTopSitesIconsTypes(topSites);\n    const topSitesPinned = topSites.filter(site => !!site.isPinned).length;\n    // Dispatch telemetry event with the count of TopSites images types.\n    this.props.dispatch(ac.AlsoToMain({\n      type: at.SAVE_SESSION_PERF_DATA,\n      data: {topsites_icon_stats: topSitesIconsStats, topsites_pinned: topSitesPinned}\n    }));\n  }\n\n  /**\n   * Return the TopSites that are visible based on prefs and window width.\n   */\n  _getVisibleTopSites() {\n    // We hide 2 sites per row when not in the wide layout.\n    let sitesPerRow = TOP_SITES_MAX_SITES_PER_ROW;\n    // $break-point-widest = 1072px (from _variables.scss)\n    if (!global.matchMedia(`(min-width: 1072px)`).matches) {\n      sitesPerRow -= 2;\n    }\n    return this.props.TopSites.rows.slice(0, this.props.TopSitesRows * sitesPerRow);\n  }\n\n  componentDidUpdate() {\n    this._dispatchTopSitesStats();\n  }\n\n  componentDidMount() {\n    this._dispatchTopSitesStats();\n  }\n\n  onFormClose() {\n    this.props.dispatch(ac.UserEvent({\n      source: TOP_SITES_SOURCE,\n      event: \"TOP_SITES_EDIT_CLOSE\"\n    }));\n    this.props.dispatch({type: at.TOP_SITES_CANCEL_EDIT});\n  }\n\n  render() {\n    const {props} = this;\n    const {editForm} = props.TopSites;\n\n    return (<ComponentPerfTimer id=\"topsites\" initialized={props.TopSites.initialized} dispatch={props.dispatch}>\n      <CollapsibleSection\n        className=\"top-sites\"\n        icon=\"topsites\"\n        id=\"topsites\"\n        title={props.intl.formatMessage({id: \"header_top_sites\"})}\n        extraMenuOptions={[\"AddTopSite\"]}\n        prefName=\"collapseTopSites\"\n        showPrefName=\"showTopSites\"\n        eventSource={TOP_SITES_SOURCE}\n        Prefs={props.Prefs}\n        isFirst={props.isFirst}\n        isLast={props.isLast}\n        dispatch={props.dispatch}>\n        <TopSiteList TopSites={props.TopSites} TopSitesRows={props.TopSitesRows} dispatch={props.dispatch} intl={props.intl} topSiteIconType={topSiteIconType} />\n        <div className=\"edit-topsites-wrapper\">\n          {editForm &&\n            <div className=\"edit-topsites\">\n              <div className=\"modal-overlay\" onClick={this.onFormClose} />\n              <div className=\"modal\">\n                <TopSiteForm\n                  site={props.TopSites.rows[editForm.index]}\n                  index={editForm.index}\n                  onClose={this.onFormClose}\n                  dispatch={this.props.dispatch}\n                  intl={this.props.intl} />\n              </div>\n            </div>\n          }\n        </div>\n      </CollapsibleSection>\n    </ComponentPerfTimer>);\n  }\n}\n\nexport const TopSites = connect(state => ({\n  TopSites: state.TopSites,\n  Prefs: state.Prefs,\n  TopSitesRows: state.Prefs.values.topSitesRows\n}))(injectIntl(_TopSites));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSites.jsx","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class TopSiteFormInput extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onMount = this.onMount.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (nextProps.validationError && !this.props.validationError) {\n      this.input.focus();\n    }\n  }\n\n  onMount(input) {\n    this.input = input;\n  }\n\n  render() {\n    const showClearButton = this.props.value && this.props.onClear;\n    const {validationError, typeUrl} = this.props;\n\n    return (<label><FormattedMessage id={this.props.titleId} />\n      <div className={`field ${typeUrl ? \"url\" : \"\"}${validationError ? \" invalid\" : \"\"}`}>\n        {showClearButton &&\n          <div className=\"icon icon-clear-input\" onClick={this.props.onClear} />}\n        <input type=\"text\"\n          value={this.props.value}\n          ref={this.onMount}\n          onChange={this.props.onChange}\n          placeholder={this.props.intl.formatMessage({id: this.props.placeholderId})} />\n        {validationError &&\n          <aside className=\"error-tooltip\">\n            <FormattedMessage id={this.props.errorMessageId} />\n          </aside>}\n      </div>\n    </label>);\n  }\n}\n\nTopSiteFormInput.defaultProps = {\n  showClearButton: false,\n  value: \"\",\n  validationError: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\nimport {TOP_SITES_SOURCE} from \"./TopSitesConstants\";\nimport {TopSiteFormInput} from \"./TopSiteFormInput\";\nimport {TopSiteLink} from \"./TopSite\";\n\nexport class TopSiteForm extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    const {site} = props;\n    this.state = {\n      label: site ? (site.label || site.hostname) : \"\",\n      url: site ? site.url : \"\",\n      validationError: false\n    };\n    this.onLabelChange = this.onLabelChange.bind(this);\n    this.onUrlChange = this.onUrlChange.bind(this);\n    this.onCancelButtonClick = this.onCancelButtonClick.bind(this);\n    this.onClearUrlClick = this.onClearUrlClick.bind(this);\n    this.onDoneButtonClick = this.onDoneButtonClick.bind(this);\n  }\n\n  onLabelChange(event) {\n    this.setState({\"label\": event.target.value});\n  }\n\n  onUrlChange(event) {\n    this.setState({\n      url: event.target.value,\n      validationError: false\n    });\n  }\n\n  onClearUrlClick() {\n    this.setState({\n      url: \"\",\n      validationError: false\n    });\n  }\n\n  onCancelButtonClick(ev) {\n    ev.preventDefault();\n    this.props.onClose();\n  }\n\n  onDoneButtonClick(ev) {\n    ev.preventDefault();\n\n    if (this.validateForm()) {\n      const site = {url: this.cleanUrl(this.state.url)};\n      const {index} = this.props;\n      if (this.state.label !== \"\") {\n        site.label = this.state.label;\n      }\n\n      this.props.dispatch(ac.AlsoToMain({\n        type: at.TOP_SITES_PIN,\n        data: {site, index}\n      }));\n      this.props.dispatch(ac.UserEvent({\n        source: TOP_SITES_SOURCE,\n        event: \"TOP_SITES_EDIT\",\n        action_position: index\n      }));\n\n      this.props.onClose();\n    }\n  }\n\n  cleanUrl(url) {\n    // If we are missing a protocol, prepend http://\n    if (!url.startsWith(\"http:\") && !url.startsWith(\"https:\")) {\n      return `http://${url}`;\n    }\n    return url;\n  }\n\n  validateUrl(url) {\n    try {\n      return !!new URL(this.cleanUrl(url));\n    } catch (e) {\n      return false;\n    }\n  }\n\n  validateForm() {\n    const validate = this.validateUrl(this.state.url);\n    this.setState({validationError: !validate});\n    return validate;\n  }\n\n  render() {\n    // For UI purposes, editing without an existing link is \"add\"\n    const showAsAdd = !this.props.site;\n\n    return (\n      <form className=\"topsite-form\">\n        <div className=\"form-input-container\">\n          <h3 className=\"section-title\">\n            <FormattedMessage id={showAsAdd ? \"topsites_form_add_header\" : \"topsites_form_edit_header\"} />\n          </h3>\n          <div className=\"fields-and-preview\">\n            <div className=\"form-wrapper\">\n              <TopSiteFormInput onChange={this.onLabelChange}\n                value={this.state.label}\n                titleId=\"topsites_form_title_label\"\n                placeholderId=\"topsites_form_title_placeholder\"\n                intl={this.props.intl} />\n              <TopSiteFormInput onChange={this.onUrlChange}\n                value={this.state.url}\n                onClear={this.onClearUrlClick}\n                validationError={this.state.validationError}\n                titleId=\"topsites_form_url_label\"\n                typeUrl={true}\n                placeholderId=\"topsites_form_url_placeholder\"\n                errorMessageId=\"topsites_form_url_validation\"\n                intl={this.props.intl} />\n            </div>\n            <TopSiteLink link={this.props.site || {}} title={this.state.label} />\n          </div>\n        </div>\n        <section className=\"actions\">\n          <button className=\"cancel\" type=\"button\" onClick={this.onCancelButtonClick}>\n            <FormattedMessage id=\"topsites_form_cancel_button\" />\n          </button>\n          <button className=\"done\" type=\"submit\" onClick={this.onDoneButtonClick}>\n            <FormattedMessage id={showAsAdd ? \"topsites_form_add_button\" : \"topsites_form_save_button\"} />\n          </button>\n        </section>\n      </form>\n    );\n  }\n}\n\nTopSiteForm.defaultProps = {\n  TopSite: null,\n  index: -1\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSiteForm.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nexport class DetectUserSessionStart {\n  constructor(store, options = {}) {\n    this._store = store;\n    // Overrides for testing\n    this.document = options.document || global.document;\n    this._perfService = options.perfService || perfSvc;\n    this._onVisibilityChange = this._onVisibilityChange.bind(this);\n  }\n\n  /**\n   * sendEventOrAddListener - Notify immediately if the page is already visible,\n   *                    or else set up a listener for when visibility changes.\n   *                    This is needed for accurate session tracking for telemetry,\n   *                    because tabs are pre-loaded.\n   */\n  sendEventOrAddListener() {\n    if (this.document.visibilityState === VISIBLE) {\n      // If the document is already visible, to the user, send a notification\n      // immediately that a session has started.\n      this._sendEvent();\n    } else {\n      // If the document is not visible, listen for when it does become visible.\n      this.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  /**\n   * _sendEvent - Sends a message to the main process to indicate the current\n   *              tab is now visible to the user, includes the\n   *              visibility_event_rcvd_ts time in ms from the UNIX epoch.\n   */\n  _sendEvent() {\n    this._perfService.mark(\"visibility_event_rcvd_ts\");\n\n    try {\n      let visibility_event_rcvd_ts = this._perfService\n        .getMostRecentAbsMarkStartByName(\"visibility_event_rcvd_ts\");\n\n      this._store.dispatch(ac.AlsoToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data: {visibility_event_rcvd_ts}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up.\n    }\n  }\n\n  /**\n   * _onVisibilityChange - If the visibility has changed to visible, sends a notification\n   *                      and removes the event listener. This should only be called once per tab.\n   */\n  _onVisibilityChange() {\n    if (this.document.visibilityState === VISIBLE) {\n      this._sendEvent();\n      this.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/detect-user-session-start.js","/* eslint-env mozilla/frame-script */\n\nimport {actionCreators as ac, actionTypes as at, actionUtils as au} from \"common/Actions.jsm\";\nimport {applyMiddleware, combineReducers, createStore} from \"redux\";\n\nexport const MERGE_STORE_ACTION = \"NEW_TAB_INITIAL_STATE\";\nexport const OUTGOING_MESSAGE_NAME = \"ActivityStream:ContentToMain\";\nexport const INCOMING_MESSAGE_NAME = \"ActivityStream:MainToContent\";\nexport const EARLY_QUEUED_ACTIONS = [at.SAVE_SESSION_PERF_DATA, at.PAGE_PRERENDERED];\n\n/**\n * A higher-order function which returns a reducer that, on MERGE_STORE action,\n * will return the action.data object merged into the previous state.\n *\n * For all other actions, it merely calls mainReducer.\n *\n * Because we want this to merge the entire state object, it's written as a\n * higher order function which takes the main reducer (itself often a call to\n * combineReducers) as a parameter.\n *\n * @param  {function} mainReducer reducer to call if action != MERGE_STORE_ACTION\n * @return {function}             a reducer that, on MERGE_STORE_ACTION action,\n *                                will return the action.data object merged\n *                                into the previous state, and the result\n *                                of calling mainReducer otherwise.\n */\nfunction mergeStateReducer(mainReducer) {\n  return (prevState, action) => {\n    if (action.type === MERGE_STORE_ACTION) {\n      return Object.assign({}, prevState, action.data);\n    }\n\n    return mainReducer(prevState, action);\n  };\n}\n\n/**\n * messageMiddleware - Middleware that looks for SentToMain type actions, and sends them if necessary\n */\nconst messageMiddleware = store => next => action => {\n  const skipLocal = action.meta && action.meta.skipLocal;\n  if (au.isSendToMain(action)) {\n    sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);\n  }\n  if (!skipLocal) {\n    next(action);\n  }\n};\n\nexport const rehydrationMiddleware = store => next => action => {\n  if (store._didRehydrate) {\n    return next(action);\n  }\n\n  const isMergeStoreAction = action.type === MERGE_STORE_ACTION;\n  const isRehydrationRequest = action.type === at.NEW_TAB_STATE_REQUEST;\n\n  if (isRehydrationRequest) {\n    store._didRequestInitialState = true;\n    return next(action);\n  }\n\n  if (isMergeStoreAction) {\n    store._didRehydrate = true;\n    return next(action);\n  }\n\n  // If init happened after our request was made, we need to re-request\n  if (store._didRequestInitialState && action.type === at.INIT) {\n    return next(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n  }\n\n  if (au.isBroadcastToContent(action) || au.isSendToOneContent(action) || au.isSendToPreloaded(action)) {\n    // Note that actions received before didRehydrate will not be dispatched\n    // because this could negatively affect preloading and the the state\n    // will be replaced by rehydration anyway.\n    return null;\n  }\n\n  return next(action);\n};\n\n/**\n * This middleware queues up all the EARLY_QUEUED_ACTIONS until it receives\n * the first action from main. This is useful for those actions for main which\n * require higher reliability, i.e. the action will not be lost in the case\n * that it gets sent before the main is ready to receive it. Conversely, any\n * actions allowed early are accepted to be ignorable or re-sendable.\n */\nexport const queueEarlyMessageMiddleware = store => next => action => {\n  if (store._receivedFromMain) {\n    next(action);\n  } else if (au.isFromMain(action)) {\n    next(action);\n    store._receivedFromMain = true;\n    // Sending out all the early actions as main is ready now\n    if (store._earlyActionQueue) {\n      store._earlyActionQueue.forEach(next);\n      store._earlyActionQueue = [];\n    }\n  } else if (EARLY_QUEUED_ACTIONS.includes(action.type)) {\n    store._earlyActionQueue = store._earlyActionQueue || [];\n    store._earlyActionQueue.push(action);\n  } else {\n    // Let any other type of action go through\n    next(action);\n  }\n};\n\n/**\n * initStore - Create a store and listen for incoming actions\n *\n * @param  {object} reducers An object containing Redux reducers\n * @param  {object} intialState (optional) The initial state of the store, if desired\n * @return {object}          A redux store\n */\nexport function initStore(reducers, initialState) {\n  const store = createStore(\n    mergeStateReducer(combineReducers(reducers)),\n    initialState,\n    global.addMessageListener && applyMiddleware(rehydrationMiddleware, queueEarlyMessageMiddleware, messageMiddleware)\n  );\n\n  store._didRehydrate = false;\n  store._didRequestInitialState = false;\n\n  if (global.addMessageListener) {\n    global.addMessageListener(INCOMING_MESSAGE_NAME, msg => {\n      try {\n        store.dispatch(msg.data);\n      } catch (ex) {\n        console.error(\"Content msg:\", msg, \"Dispatch error: \", ex); // eslint-disable-line no-console\n        dump(`Content msg: ${JSON.stringify(msg)}\\nDispatch error: ${ex}\\n${ex.stack}`);\n      }\n    });\n  }\n\n  return store;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/init-store.js","module.exports = Redux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Redux\"\n// module id = 26\n// module chunks = 0","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 27\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
--- a/browser/extensions/activity-stream/install.rdf.in
+++ b/browser/extensions/activity-stream/install.rdf.in
@@ -3,17 +3,17 @@
 #filter substitution
 
 <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
   <Description about="urn:mozilla:install-manifest">
     <em:id>activity-stream@mozilla.org</em:id>
     <em:type>2</em:type>
     <em:bootstrap>true</em:bootstrap>
     <em:unpack>false</em:unpack>
-    <em:version>2018.03.01.1281-6a7c8294</em:version>
+    <em:version>2018.03.08.1020-3f4bcec7</em:version>
     <em:name>Activity Stream</em:name>
     <em:description>A rich visual history feed and a reimagined home page make it easier than ever to find exactly what you're looking for in Firefox.</em:description>
     <em:multiprocessCompatible>true</em:multiprocessCompatible>
 
     <em:targetApplication>
       <Description>
         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
         <em:minVersion>@MOZ_APP_VERSION@</em:minVersion>
--- a/browser/extensions/activity-stream/lib/ActivityStream.jsm
+++ b/browser/extensions/activity-stream/lib/ActivityStream.jsm
@@ -113,17 +113,17 @@ const PREFS_CONFIG = new Map([
   }],
   ["telemetry", {
     title: "Enable system error and usage data collection",
     value: true,
     value_local_dev: false
   }],
   ["telemetry.ut.events", {
     title: "Enable Unified Telemetry event data collection",
-    value: !AppConstants.RELEASE_OR_BETA,
+    value: AppConstants.EARLY_BETA_OR_EARLIER,
     value_local_dev: false
   }],
   ["telemetry.ping.endpoint", {
     title: "Telemetry server endpoint",
     value: "https://tiles.services.mozilla.com/v4/links/activity-stream"
   }],
   ["section.highlights.collapsed", {
     title: "Collapse the Highlights section",
@@ -143,16 +143,20 @@ const PREFS_CONFIG = new Map([
   }],
   ["tippyTop.service.endpoint", {
     title: "Tippy Top service manifest url",
     value: "https://activity-stream-icons.services.mozilla.com/v1/icons.json.br"
   }],
   ["enableWideLayout", {
     title: "Enable the wider layout (8 topsites per row and larger pocket+highlight cards)",
     value: true
+  }],
+  ["sectionOrder", {
+    title: "The rendering order for the sections",
+    value: "topsites,topstories,highlights"
   }]
 ]);
 
 // Array of each feed's FEEDS_CONFIG factory and values to add to PREFS_CONFIG
 const FEEDS_DATA = [
   {
     name: "migration",
     factory: () => new ManualMigration(),
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/lib/ActivityStreamStorage.jsm
@@ -0,0 +1,42 @@
+ChromeUtils.defineModuleGetter(this, "IndexedDB", "resource://gre/modules/IndexedDB.jsm");
+
+this.ActivityStreamStorage = class ActivityStreamStorage {
+  constructor(storeName) {
+    this.dbName = "ActivityStream";
+    this.dbVersion = 2;
+    this.storeName = storeName;
+
+    this._db = null;
+  }
+
+  get db() {
+    if (!this._db) {
+      throw new Error("It looks like the db connection has not initialized yet. Are you use .init was called?");
+    }
+    return this._db;
+  }
+
+  getStore() {
+    return this.db.objectStore(this.storeName, "readwrite");
+  }
+
+  get(key) {
+    return this.getStore().get(key);
+  }
+
+  set(key, value) {
+    return this.getStore().put(value, key);
+  }
+
+  _openDatabase() {
+    return IndexedDB.open(this.dbName, {version: this.dbVersion}, db => {
+      db.createObjectStore(this.storeName);
+    });
+  }
+
+  async init() {
+    this._db = await this._openDatabase();
+  }
+};
+
+const EXPORTED_SYMBOLS = ["ActivityStreamStorage"];
--- a/browser/extensions/activity-stream/lib/HighlightsFeed.jsm
+++ b/browser/extensions/activity-stream/lib/HighlightsFeed.jsm
@@ -50,18 +50,17 @@ this.HighlightsFeed = class HighlightsFe
   }
 
   uninit() {
     SectionsManager.disableSection(SECTION_ID);
     PageThumbs.removeExpirationFilter(this);
   }
 
   filterForThumbnailExpiration(callback) {
-    const sectionIndex = SectionsManager.sections.get(SECTION_ID).order;
-    const state = this.store.getState().Sections[sectionIndex];
+    const state = this.store.getState().Sections.find(section => section.id === SECTION_ID);
 
     callback(state && state.initialized ? state.rows.reduce((acc, site) => {
       // Screenshots call in `fetchImage` will search for preview_image_url or
       // fallback to URL, so we prevent both from being expired.
       acc.push(site.url);
       if (site.preview_image_url) {
         acc.push(site.preview_image_url);
       }
@@ -135,18 +134,17 @@ this.HighlightsFeed = class HighlightsFe
       delete page.__sharedCache;
 
       // Skip the rest if we have enough items
       if (highlights.length === HIGHLIGHTS_MAX_LENGTH) {
         break;
       }
     }
 
-    const sectionIndex = SectionsManager.sections.get(SECTION_ID).order;
-    const {initialized} = this.store.getState().Sections[sectionIndex];
+    const {initialized} = this.store.getState().Sections.find(section => section.id === SECTION_ID);
     // Broadcast when required or if it is the first update.
     const shouldBroadcast = options.broadcast || !initialized;
 
     SectionsManager.updateSection(SECTION_ID, {rows: highlights}, shouldBroadcast);
   }
 
   /**
    * Fetch an image for a given highlight and update the card with it. If no
--- a/browser/extensions/activity-stream/lib/SectionsManager.jsm
+++ b/browser/extensions/activity-stream/lib/SectionsManager.jsm
@@ -43,17 +43,16 @@ const BUILT_IN_SECTIONS = {
     privacyNoticeURL: options.privacy_notice_link || "https://www.mozilla.org/privacy/firefox/#suggest-relevant-content",
     maxRows: 1,
     availableLinkMenuOptions: ["CheckBookmarkOrArchive", "CheckSavedToPocket", "Separator", "OpenInNewWindow", "OpenInPrivateWindow", "Separator", "BlockUrl"],
     emptyState: {
       message: {id: "topstories_empty_state", values: {provider: options.provider_name}},
       icon: "check"
     },
     shouldSendImpressionStats: true,
-    order: 0,
     dedupeFrom: ["highlights"]
   }),
   "feeds.section.highlights": options => ({
     id: "highlights",
     pref: {
       titleString: {id: "settings_pane_highlights_header"},
       descString: {id: "settings_pane_highlights_body2"}
     },
@@ -62,18 +61,17 @@ const BUILT_IN_SECTIONS = {
     icon: "highlights",
     title: {id: "header_highlights"},
     maxRows: 3,
     availableLinkMenuOptions: ["CheckBookmarkOrArchive", "CheckSavedToPocket", "Separator", "OpenInNewWindow", "OpenInPrivateWindow", "Separator", "BlockUrl", "CheckDeleteHistoryOrEmpty"],
     emptyState: {
       message: {id: "highlights_empty_state"},
       icon: "highlights"
     },
-    shouldSendImpressionStats: false,
-    order: 1
+    shouldSendImpressionStats: false
   })
 };
 
 const SectionsManager = {
   ACTIONS_TO_PROXY: ["WEBEXT_CLICK", "WEBEXT_DISMISS"],
   CONTEXT_MENU_PREFS: {"SaveToPocket": "extensions.pocket.enabled"},
   initialized: false,
   sections: new Map(),
@@ -111,17 +109,17 @@ const SectionsManager = {
     }
   },
   addBuiltInSection(feedPrefName, optionsPrefValue = "{}") {
     let options;
     try {
       options = JSON.parse(optionsPrefValue);
     } catch (e) {
       options = {};
-      Cu.reportError("Problem parsing options pref", e);
+      Cu.reportError(`Problem parsing options pref for ${feedPrefName}`);
     }
     const section = BUILT_IN_SECTIONS[feedPrefName](options);
     section.pref.feed = feedPrefName;
     this.addSection(section.id, Object.assign(section, {options}));
   },
   addSection(id, options) {
     this.updateLinkMenuOptions(options);
     this.sections.set(id, options);
@@ -277,16 +275,23 @@ class SectionsFeed {
     SectionsManager.off(SectionsManager.REMOVE_SECTION, this.onRemoveSection);
     SectionsManager.off(SectionsManager.UPDATE_SECTION, this.onUpdateSection);
     SectionsManager.off(SectionsManager.UPDATE_SECTION_CARD, this.onUpdateSectionCard);
   }
 
   onAddSection(event, id, options) {
     if (options) {
       this.store.dispatch(ac.BroadcastToContent({type: at.SECTION_REGISTER, data: Object.assign({id}, options)}));
+
+      // Make sure the section is in sectionOrder pref. Otherwise, prepend it.
+      const orderedSections = this.orderedSectionIds;
+      if (!orderedSections.includes(id)) {
+        orderedSections.unshift(id);
+        this.store.dispatch(ac.SetPref("sectionOrder", orderedSections.join(",")));
+      }
     }
   }
 
   onRemoveSection(event, id) {
     this.store.dispatch(ac.BroadcastToContent({type: at.SECTION_DEREGISTER, data: id}));
   }
 
   onUpdateSection(event, id, options, shouldBroadcast = false) {
@@ -298,16 +303,59 @@ class SectionsFeed {
 
   onUpdateSectionCard(event, id, url, options, shouldBroadcast = false) {
     if (options) {
       const action = {type: at.SECTION_UPDATE_CARD, data: {id, url, options}};
       this.store.dispatch(shouldBroadcast ? ac.BroadcastToContent(action) : ac.AlsoToPreloaded(action));
     }
   }
 
+  get orderedSectionIds() {
+    return this.store.getState().Prefs.values.sectionOrder.split(",");
+  }
+
+  get enabledSectionIds() {
+    let sections = this.store.getState().Sections.filter(section => section.enabled).map(s => s.id);
+    // Top Sites is a special case. Append if show pref is on.
+    if (this.store.getState().Prefs.values.showTopSites) {
+      sections.push("topsites");
+    }
+    return sections;
+  }
+
+  moveSection(id, direction) {
+    const orderedSections = this.orderedSectionIds;
+    const enabledSections = this.enabledSectionIds;
+    let index = orderedSections.indexOf(id);
+    orderedSections.splice(index, 1);
+    if (direction > 0) {
+      // "Move Down"
+      while (index < orderedSections.length) {
+        // If the section at the index is enabled/visible, insert moved section after.
+        // Otherwise, move on to the next spot and check it.
+        if (enabledSections.includes(orderedSections[index++])) {
+          break;
+        }
+      }
+    } else {
+      // "Move Up"
+      while (index > 0) {
+        // If the section at the previous index is enabled/visible, insert moved section there.
+        // Otherwise, move on to the previous spot and check it.
+        index--;
+        if (enabledSections.includes(orderedSections[index])) {
+          break;
+        }
+      }
+    }
+
+    orderedSections.splice(index, 0, id);
+    this.store.dispatch(ac.SetPref("sectionOrder", orderedSections.join(",")));
+  }
+
   onAction(action) {
     switch (action.type) {
       case at.INIT:
         SectionsManager.onceInitialized(this.init);
         break;
       // Wait for pref values, as some sections have options stored in prefs
       case at.PREFS_INITIAL_VALUES:
         SectionsManager.init(action.data);
@@ -331,16 +379,19 @@ class SectionsFeed {
         }
         break;
       case at.SECTION_DISABLE:
         SectionsManager.disableSection(action.data);
         break;
       case at.SECTION_ENABLE:
         SectionsManager.enableSection(action.data);
         break;
+      case at.SECTION_MOVE:
+        this.moveSection(action.data.id, action.data.direction);
+        break;
       case at.UNINIT:
         this.uninit();
         break;
     }
     if (SectionsManager.ACTIONS_TO_PROXY.includes(action.type) && SectionsManager.sections.size > 0) {
       SectionsManager.emit(SectionsManager.ACTION_DISPATCHED, action.type, action.data);
     }
   }
--- a/browser/extensions/activity-stream/lib/SnippetsFeed.jsm
+++ b/browser/extensions/activity-stream/lib/SnippetsFeed.jsm
@@ -1,15 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 "use strict";
 
 ChromeUtils.import("resource://gre/modules/Services.jsm");
 const {actionTypes: at, actionCreators: ac} = ChromeUtils.import("resource://activity-stream/common/Actions.jsm", {});
+const {ActivityStreamStorage} = ChromeUtils.import("resource://activity-stream/lib/ActivityStreamStorage.jsm", {});
 
 ChromeUtils.defineModuleGetter(this, "AddonManager",
   "resource://gre/modules/AddonManager.jsm");
 ChromeUtils.defineModuleGetter(this, "ShellService",
   "resource:///modules/ShellService.jsm");
 ChromeUtils.defineModuleGetter(this, "ProfileAge",
   "resource://gre/modules/ProfileAge.jsm");
 ChromeUtils.defineModuleGetter(this, "FxAccounts",
@@ -33,16 +34,17 @@ const STARTPAGE_VERSION = 5;
 const ONE_DAY = 24 * 60 * 60 * 1000;
 const ONE_WEEK = 7 * ONE_DAY;
 
 this.SnippetsFeed = class SnippetsFeed {
   constructor() {
     this._refresh = this._refresh.bind(this);
     this._totalBookmarks = null;
     this._totalBookmarksLastUpdated = null;
+    this._storage = new ActivityStreamStorage("snippets");
   }
 
   get snippetsURL() {
     const updateURL = Services
       .prefs.getStringPref(SNIPPETS_URL_PREF)
       .replace("%STARTPAGE_VERSION%", STARTPAGE_VERSION);
     return Services.urlFormatter.formatURL(updateURL);
   }
@@ -121,42 +123,57 @@ this.SnippetsFeed = class SnippetsFeed {
     }
     this.store.dispatch(ac.OnlyToOneContent({type: at.TOTAL_BOOKMARKS_RESPONSE, data: this._totalBookmarks}, target));
   }
 
   _dispatchChanges(data) {
     this.store.dispatch(ac.BroadcastToContent({type: at.SNIPPETS_DATA, data}));
   }
 
+  async _saveBlockedSnippet(snippetId) {
+    const blockList = await this._getBlockList() || [];
+    return this._storage.set("blockList", blockList.concat([snippetId]));
+  }
+
+  _getBlockList() {
+    return this._storage.get("blockList");
+  }
+
+  _clearBlockList() {
+    return this._storage.set("blockList", []);
+  }
+
   async _refresh() {
     const profileInfo = await this.getProfileInfo();
     const data = {
       profileCreatedWeeksAgo: profileInfo.createdWeeksAgo,
       profileResetWeeksAgo: profileInfo.resetWeeksAgo,
       snippetsURL: this.snippetsURL,
       version: STARTPAGE_VERSION,
       telemetryEnabled: Services.prefs.getBoolPref(TELEMETRY_PREF),
       onboardingFinished: Services.prefs.getBoolPref(ONBOARDING_FINISHED_PREF),
       fxaccount: Services.prefs.prefHasUserValue(FXA_USERNAME_PREF),
       selectedSearchEngine: await this.getSelectedSearchEngine(),
       defaultBrowser: this.isDefaultBrowser(),
       isDevtoolsUser: this.isDevtoolsUser(),
-      addonInfo: await this.getAddonInfo()
+      addonInfo: await this.getAddonInfo(),
+      blockList: await this._getBlockList() || []
     };
     this._dispatchChanges(data);
   }
 
   async observe(subject, topic, data) {
     if (topic === SEARCH_ENGINE_OBSERVER_TOPIC) {
       const selectedSearchEngine = await this.getSelectedSearchEngine();
       this._dispatchChanges({selectedSearchEngine});
     }
   }
 
   async init() {
+    await this._storage.init();
     await this._refresh();
     Services.prefs.addObserver(ONBOARDING_FINISHED_PREF, this._refresh);
     Services.prefs.addObserver(SNIPPETS_URL_PREF, this._refresh);
     Services.prefs.addObserver(TELEMETRY_PREF, this._refresh);
     Services.prefs.addObserver(FXA_USERNAME_PREF, this._refresh);
     Services.obs.addObserver(this, SEARCH_ENGINE_OBSERVER_TOPIC);
   }
 
@@ -182,18 +199,22 @@ this.SnippetsFeed = class SnippetsFeed {
         break;
       case at.UNINIT:
         this.uninit();
         break;
       case at.SHOW_FIREFOX_ACCOUNTS:
         this.showFirefoxAccounts(action._target.browser);
         break;
       case at.SNIPPETS_BLOCKLIST_UPDATED:
+        this._saveBlockedSnippet(action.data);
         this.store.dispatch(ac.BroadcastToContent({type: at.SNIPPET_BLOCKED, data: action.data}));
         break;
+      case at.SNIPPETS_BLOCKLIST_CLEARED:
+        this._clearBlockList();
+        break;
       case at.TOTAL_BOOKMARKS_REQUEST:
         this.getTotalBookmarksCount(action._target.browser);
         break;
     }
   }
 };
 
 const EXPORTED_SYMBOLS = ["SnippetsFeed"];
--- a/browser/extensions/activity-stream/lib/TelemetryFeed.jsm
+++ b/browser/extensions/activity-stream/lib/TelemetryFeed.jsm
@@ -355,17 +355,17 @@ this.TelemetryFeed = class TelemetryFeed
   sendEvent(event_object) {
     if (this.telemetryEnabled) {
       this.pingCentre.sendPing(event_object,
       {filter: ACTIVITY_STREAM_ID});
     }
   }
 
   sendUTEvent(event_object, eventFunction) {
-    if (this.eventTelemetryEnabled) {
+    if (this.telemetryEnabled && this.eventTelemetryEnabled) {
       eventFunction(event_object);
     }
   }
 
   handleImpressionStats(action) {
     this.sendEvent(this.createImpressionStats(action));
   }
 
--- a/browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Dirica matidi manyen</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yeny kakube</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yeny kakube" title="Yeny kakube"/><button id="searchSubmit" class="search-button" title="Yeny"><span class="sr-only"><span>Yeny</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Kakube maloyo<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Lami tam obedo Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Lok macuk gi lamal:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wiye madito</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yeny kakube</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yeny kakube" title="Yeny kakube"/><button id="searchSubmit" class="search-button" title="Yeny"><span class="sr-only"><span>Yeny</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Kakube maloyo<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Lami tam obedo Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Lok macuk gi lamal:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wiye madito</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Gwoki i jaba",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Yeny pi {search_term} ki:",
   "search_button": "Yeny",
   "search_header": "Yeny me {search_engine_name}",
   "search_web_placeholder": "Yeny kakube",
   "search_settings": "Lok ter me yeny",
-  "section_info_option": "Ngec",
   "section_info_send_feedback": "Cwal adwogi",
-  "section_info_privacy_notice": "Ngec me mung",
   "section_disclaimer_topstories": "Lok ma mit loyo i kakube, ki yero malube ki ngo ma ikwano. Ki ii Pocket, kombedi dong but Mozilla.",
   "section_disclaimer_topstories_linktext": "Nong ngec kit ma tyo kwede.",
   "section_disclaimer_topstories_buttontext": "Eyo, aniang",
   "welcome_title": "Wajoli i dirica matidi manyen",
   "welcome_body": "Firefox bi tic ki kabedo man me nyuto alamabukke mamegi, coc akwana, vidio, ki potbukke ma ilimo cokcoki ma pi gi tego loyo, wek i dok ii gi ma yot.",
   "welcome_label": "Tye ka kube ki wiye madito mamegi",
   "time_label_less_than_minute": "<dakika1",
   "time_label_minute": "dakika{number}",
   "time_label_hour": "cawa{number}",
   "time_label_day": "nino{number}",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Yub potbuk me dirica matidi mamegi manyen",
   "settings_pane_header": "Ter me dirica matidi manyen",
   "settings_pane_body2": "Yer ngo ma i neno i potbuk man.",
   "settings_pane_search_header": "Yeny",
   "settings_pane_search_body": "Yeny Kakube ki i dirica ni matidi manyen.",
   "settings_pane_topsites_header": "Kakube ma gi loyo",
   "settings_pane_topsites_body": "Nong kakube ma ilimo loyo.",
   "settings_pane_topsites_options_showmore": "Nyut rek ariyo",
   "settings_pane_bookmarks_header": "Alamabuk ma cocoki",
-  "settings_pane_bookmarks_body": "Alamabukke ni ma kicweyo manyen i kabedo acel macek.",
   "settings_pane_visit_again_header": "Lim Kidoco",
-  "settings_pane_visit_again_body": "Firefox bi nyuti but gin mukato me yeny mamegi ma itwero mito me poo ikome onyo dok cen iyie.",
   "settings_pane_highlights_header": "Wiye madito",
   "settings_pane_highlights_body2": "Nong yoo ni cen i jami mamit ma ilimo gi cokcokki onyo iketo alamabuk.",
   "settings_pane_highlights_options_bookmarks": "Alamabuk",
   "settings_pane_highlights_options_visited": "Kakube ma kilimo",
   "settings_pane_snippets_header": "Kwena macek",
   "settings_pane_snippets_body": "Kwan ngec manyen macego dok mamit ki bot Mozilla ikom Firefox, kwo me intanet, ki meme mabino atata.",
   "settings_pane_done_button": "Otum",
   "settings_pane_topstories_options_sponsored": "Nyut lok ma ki cwako",
   "edit_topsites_button_text": "Yubi",
-  "edit_topsites_button_label": "Yub bute pi kakubi ni ma giloyo",
-  "edit_topsites_showmore_button": "Nyut mukene",
-  "edit_topsites_showless_button": "Nyut manok",
-  "edit_topsites_done_button": "Otum",
-  "edit_topsites_pin_button": "Mwon kakube man",
-  "edit_topsites_unpin_button": "War kakube man",
   "edit_topsites_edit_button": "Yub kakube man",
-  "edit_topsites_dismiss_button": "Kwer kakube man",
-  "edit_topsites_add_button": "Medi",
   "topsites_form_add_header": "Kakube maloyo manyen",
   "topsites_form_edit_header": "Yub Kakube maloyo",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Ket wiye",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Coo onyo mwon URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Medi",
   "topsites_form_save_button": "Gwoki",
   "topsites_form_cancel_button": "Kwer",
   "topsites_form_url_validation": "URL ma tye atir mite",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Lok macuk gi lamal:",
   "pocket_read_even_more": "Nen Lok mapol",
-  "pocket_feedback_header": "Kakube maber loyo, dano makato milion 25 aye oyubo.",
   "pocket_description": "Nong jami me rwom ma lamal ma itwero keng woko, ki kony ma aa ki bot Pocket, dong tye but Mozilla.",
   "highlights_empty_state": "Cak yeny, ka wa binyuto coc akwana mabeco, video, ki potbuk mukene ma ilimo cokcokki onyo ma kiketo alamabuk kany.",
   "topstories_empty_state": "Ityeko weng. Rot doki lacen pi lok madito mapol ki bot {provider}. Pe itwero kuro? Yer lok macuke lamal me nongo lok mabeco mapol ki i but kakube.",
   "manual_migration_explanation2": "Tem Firefox ki alamabuk, gin mukato ki mung me donyo ki ii layeny mukene.",
   "manual_migration_cancel_button": "Pe Apwoyo",
   "manual_migration_import_button": "Kel kombedi",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Med Kakube maloyo"
+  "section_info_option": "Ngec",
+  "section_info_privacy_notice": "Ngec me mung",
+  "settings_pane_bookmarks_body": "Alamabukke ni ma kicweyo manyen i kabedo acel macek.",
+  "settings_pane_visit_again_body": "Firefox bi nyuti but gin mukato me yeny mamegi ma itwero mito me poo ikome onyo dok cen iyie.",
+  "edit_topsites_button_label": "Yub bute pi kakubi ni ma giloyo",
+  "edit_topsites_showmore_button": "Nyut mukene",
+  "edit_topsites_showless_button": "Nyut manok",
+  "edit_topsites_done_button": "Otum",
+  "edit_topsites_pin_button": "Mwon kakube man",
+  "edit_topsites_unpin_button": "War kakube man",
+  "edit_topsites_dismiss_button": "Kwer kakube man",
+  "edit_topsites_add_button": "Medi",
+  "edit_topsites_add_button_tooltip": "Med Kakube maloyo",
+  "pocket_feedback_header": "Kakube maber loyo, dano makato milion 25 aye oyubo."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/an/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/an/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nueva Pestanya</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mirar en o Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mirar en o Web" title="Mirar en o Web"/><button id="searchSubmit" class="search-button" title="Mirar"><span class="sr-only"><span>Mirar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Mas freqüents<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendau per Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaus</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mirar en o Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mirar en o Web" title="Mirar en o Web"/><button id="searchSubmit" class="search-button" title="Mirar"><span class="sr-only"><span>Mirar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Mas freqüents<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ubrir lo menú contextual d&#x27;a sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendau per Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ubrir lo menú contextual d&#x27;a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaus</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ubrir lo menú contextual d&#x27;a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/an/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/an/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Articlos populars",
   "header_highlights": "Destacaus",
   "header_visit_again": "Tornar a vesitar",
   "header_bookmarks": "Marcapachinas recients",
   "header_recommended_by": "Recomendau per {provider}",
   "header_bookmarks_placeholder": "No tiens encara marcapachinas.",
   "header_stories_from": "dende",
   "context_menu_button_sr": "Ubrir menú contextual pa {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Ubrir lo menú contextual d'a sección",
   "type_label_visited": "Vesitau",
   "type_label_bookmarked": "Con marcapachinas",
   "type_label_synced": "Sincronizau dende belatro dispositivo",
   "type_label_recommended": "Tendencia",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Alzau en Pocket",
   "type_label_open": "Ubierto",
   "type_label_topic": "Tema",
   "type_label_now": "Agora",
   "menu_action_bookmark": "Anyadir marcapachinas",
   "menu_action_remove_bookmark": "Sacar lo marcapachinas",
   "menu_action_copy_address": "Copiar l'adreza",
   "menu_action_email_link": "Vinclo de correu-e…",
   "menu_action_open_new_window": "Ubrir en una nueva finestra",
   "menu_action_open_private_window": "Ubrir en una nueva finestra privada",
   "menu_action_dismiss": "Descartar",
   "menu_action_delete": "Eliminar de l'historial",
   "menu_action_pin": "Clavar",
   "menu_action_unpin": "Desclavar",
   "confirm_history_delete_p1": "Yes seguro que quiers borrar totas las instancias d'esta pachina en o tuyo historial?",
   "confirm_history_delete_notice_p2": "Esta acción no se puede desfer.",
   "menu_action_save_to_pocket": "Alzar en Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Borrar de Pocket",
+  "menu_action_archive_pocket": "Archivar en Pocket",
   "search_for_something_with": "Mirar {search_term} con:",
   "search_button": "Mirar",
   "search_header": "Mirar con {search_engine_name}",
   "search_web_placeholder": "Mirar en o Web",
   "search_settings": "Cambiar achustes de busqueda",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Ninviar opinión",
-  "section_info_privacy_notice": "Aviso de privvacidat",
   "section_disclaimer_topstories": "Los articlos mas interesants d'o web, triaus en función d'o que gosas leyer. Gracias a lo Pocket, que agora ya fa parte de Mozilla.",
   "section_disclaimer_topstories_linktext": "Aprende cómo funciona",
   "section_disclaimer_topstories_buttontext": "Entendiu",
   "welcome_title": "Bienveniu ta la nueva pestanya",
   "welcome_body": "Firefox fará servir este espacio pa amostrar-te los marcapachinas, articlos, videos y pachinas mas relevants que has vesitau en zaguers, pa que i puedas tornar facilment.",
   "welcome_label": "Identificando los tuyos puestos destacaus",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Personaliza la tuya pachina de Nueva Pestanya",
   "settings_pane_header": "Preferencias de Nueva Pestanya",
   "settings_pane_body2": "Tría lo que veyes en esta pachina.",
   "settings_pane_search_header": "Mirar",
   "settings_pane_search_body": "Mirar la Web dende la tuya nueva pestanya.",
   "settings_pane_topsites_header": "Puestos mas vesitaus",
   "settings_pane_topsites_body": "Accede a los puestos web que mas vesitas.",
   "settings_pane_topsites_options_showmore": "Amostrar dos ringleras",
   "settings_pane_bookmarks_header": "Marcapachinas recients",
-  "settings_pane_bookmarks_body": "Los marcapachinas que vas creando, a l'alcanz d'a man.",
   "settings_pane_visit_again_header": "Tornar a vesitar",
-  "settings_pane_visit_again_body": "Firefox t'amostrará partes d'o tuyo historial de busqueda que podrías querer remerar u tornar enta ellas.",
   "settings_pane_highlights_header": "Destacaus",
   "settings_pane_highlights_body2": "Torna a trobar lo mas interesant que has vesitau en zagueras, u que has marcau con marcapchinas.",
   "settings_pane_highlights_options_bookmarks": "Marcapachinas",
   "settings_pane_highlights_options_visited": "Puestos vesitaus",
   "settings_pane_snippets_header": "Retallos",
   "settings_pane_snippets_body": "leye noticias curtas de Mozilla sobre lo Firefox, la cultura d'internet y, de cabo ta quan, bell meme.",
   "settings_pane_done_button": "Feito",
   "settings_pane_topstories_options_sponsored": "Amostrar articlos patrocinaus",
   "edit_topsites_button_text": "Editar",
+  "edit_topsites_edit_button": "Editar este puesto",
+  "topsites_form_add_header": "Nuevo puesto popular",
+  "topsites_form_edit_header": "Editar lo puesto popular",
+  "topsites_form_title_label": "Titol",
+  "topsites_form_title_placeholder": "Escribir un titol",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
+  "topsites_form_url_placeholder": "Triar u apegar una adreza web",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
+  "topsites_form_add_button": "Anyadir",
+  "topsites_form_save_button": "Alzar",
+  "topsites_form_cancel_button": "Cancelar",
+  "topsites_form_url_validation": "Fa falta una URL valida",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
+  "pocket_read_more": "Temas populars:",
+  "pocket_read_even_more": "Amostrar mas articlos",
+  "pocket_description": "Descubre gracias a Pocket, que dende agora fa parte de Mozilla, contenius d'alta calidat que d'atra manera te puetz perder.",
+  "highlights_empty_state": "Empecipia a navegar, y t'iremos amostrando aquí grans articlos, videos y atras pachinas que has vesitau u marcau en zagueras.",
+  "topstories_empty_state": "Ya ye tot per agora. Torna mas ta debant pa veyer mas articlos populars de {provider}. No i puetz aguardar? Tría un tema popular pa descubrir los articlos mas interesants de tot lo web.",
+  "manual_migration_explanation2": "Preba lo Firefox con as adrezas d'interés, l'historial y las claus de belatro navegador.",
+  "manual_migration_cancel_button": "No, gracias",
+  "manual_migration_import_button": "Importar-lo agora",
+  "error_fallback_default_info": "Oi, ha fallau bella cosa en a carga d'este conteniu.",
+  "error_fallback_default_refresh_suggestion": "Refrescar la pachina pa tornar-lo a intentar.",
+  "section_menu_action_remove_section": "Borrar la sección",
+  "section_menu_action_collapse_section": "Plegar la sección",
+  "section_menu_action_expand_section": "Desplegar la sección",
+  "section_menu_action_manage_section": "Chestionar la sección",
+  "section_menu_action_add_topsite": "Anyadir un puesto popular",
+  "section_menu_action_move_up": "Puyar",
+  "section_menu_action_move_down": "Baixar",
+  "section_menu_action_privacy_notice": "Nota sobre privacidat",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Aviso de privvacidat",
+  "settings_pane_bookmarks_body": "Los marcapachinas que vas creando, a l'alcanz d'a man.",
+  "settings_pane_visit_again_body": "Firefox t'amostrará partes d'o tuyo historial de busqueda que podrías querer remerar u tornar enta ellas.",
   "edit_topsites_button_label": "Personaliza la tuya sección de Puestos mas vesitaus",
   "edit_topsites_showmore_button": "Amostrar-ne mas",
   "edit_topsites_showless_button": "Amostrar-ne menos",
   "edit_topsites_done_button": "Feito",
   "edit_topsites_pin_button": "Clava este puesto",
   "edit_topsites_unpin_button": "Desclava este puesto",
-  "edit_topsites_edit_button": "Editar este puesto",
   "edit_topsites_dismiss_button": "Retira este puesto",
   "edit_topsites_add_button": "Anyadir",
-  "topsites_form_add_header": "Nuevo puesto popular",
-  "topsites_form_edit_header": "Editar lo puesto popular",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Escribir un titol",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Triar u apegar una adreza web",
-  "topsites_form_add_button": "Anyadir",
-  "topsites_form_save_button": "Alzar",
-  "topsites_form_cancel_button": "Cancelar",
-  "topsites_form_url_validation": "Fa falta una URL valida",
-  "pocket_read_more": "Temas populars:",
-  "pocket_read_even_more": "Amostrar mas articlos",
-  "pocket_feedback_header": "Lo millor d'o web, triau per mas de 25 millons de personas.",
-  "pocket_description": "Descubre gracias a Pocket, que dende agora fa parte de Mozilla, contenius d'alta calidat que d'atra manera te puetz perder.",
-  "highlights_empty_state": "Empecipia a navegar, y t'iremos amostrando aquí grans articlos, videos y atras pachinas que has vesitau u marcau en zagueras.",
-  "topstories_empty_state": "Ya ye tot per agora. Torna mas ta debant pa veyer mas articlos populars de {provider}. No i puetz aguardar? Tría un tema popular pa descubrir los articlos mas interesants de tot lo web.",
-  "manual_migration_explanation2": "Preba lo Firefox con as adrezas d'interés, l'historial y las claus de belatro navegador.",
-  "manual_migration_cancel_button": "No, gracias",
-  "manual_migration_import_button": "Importar-lo agora",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Anyadir un puesto popular"
+  "pocket_feedback_header": "Lo millor d'o web, triau per mas de 25 millons de personas."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>لسان جديد</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ابحث في الوِب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ابحث في الوِب" title="ابحث في الوِب"/><button id="searchSubmit" class="search-button" title="ابحث"><span class="sr-only"><span>ابحث</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>المواقع الأكثر زيارة<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>ينصح به Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>المواضيع الشائعة:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>أهم الأحداث</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ابحث في الوِب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ابحث في الوِب" title="ابحث في الوِب"/><button id="searchSubmit" class="search-button" title="ابحث"><span class="sr-only"><span>ابحث</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>المواقع الأكثر زيارة<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>ينصح به Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>المواضيع الشائعة:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>أهم الأحداث</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "احفظ في Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "ابحث عن {search_term} مستخدما:",
   "search_button": "ابحث",
   "search_header": "بحث {search_engine_name}",
   "search_web_placeholder": "ابحث في الوِب",
   "search_settings": "غيّر إعدادات البحث",
-  "section_info_option": "المعلومات",
   "section_info_send_feedback": "أرسل انطباعك",
-  "section_info_privacy_notice": "تنويه الخصوصية",
   "section_disclaimer_topstories": "أكثر القصص تشويقًا على الإنترنت، مختارة بعناية بناء على ما تقرأه. من بوكِت، و الذي أصبح جزءًا من موزيلا.",
   "section_disclaimer_topstories_linktext": "اطلع على طريقة عملها.",
   "section_disclaimer_topstories_buttontext": "حسنًا، فهمت",
   "welcome_title": "مرحبًا في لسان جديد",
   "welcome_body": "سيستخدم فيرفكس هذا المكان لعرض أكثر العلامات، و المقالات، و الفيديوهات والصفحات التي زرتها مؤخرا، ليمكنك العودة إليها بسهولة.",
   "welcome_label": "تعرّف على أهم الأخبار",
   "time_label_less_than_minute": "< دقيقة",
   "time_label_minute": "{number} دقيقة",
   "time_label_hour": "{number} ساعة",
   "time_label_day": "{number} يوم",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "خصص صفحة اللسان الجديد",
   "settings_pane_header": "تفضيلات صفحة اللسان الجديد",
   "settings_pane_body2": "اختر ماتريد ان تراه في هذه الصفحه.",
   "settings_pane_search_header": "بحث",
   "settings_pane_search_body": "ابحث في الوِب من اللسان الجديد.",
   "settings_pane_topsites_header": "المواقع الأكثر زيارة",
   "settings_pane_topsites_body": "وصول للمواقع التي تزورها أكثر.",
   "settings_pane_topsites_options_showmore": "اعرض صفّين",
   "settings_pane_bookmarks_header": "أحدث العلامات",
-  "settings_pane_bookmarks_body": "علاماتك المعلّمة حديثًا في مكان واحد.",
   "settings_pane_visit_again_header": "زرها مجددا",
-  "settings_pane_visit_again_body": "سيعرض لك فَيَرفُكس بعضًا من تأريخ تصفحك الذي قد تود تذكّره لاحقًا.",
   "settings_pane_highlights_header": "أهم الأحداث",
   "settings_pane_highlights_body2": "ارجع للأشياء المهمة التي زرتها مؤخرًا أو العلامات.",
   "settings_pane_highlights_options_bookmarks": "العلامات",
   "settings_pane_highlights_options_visited": "المواقع المُزارة",
   "settings_pane_snippets_header": "المقتطفات",
   "settings_pane_snippets_body": "اقرأ تحديثات قصيرة و جميلة من موزيلا عن فَيَرفُكس، و ثقافة الإنترنت، و أحيانا صرعة عشوائية من الإنترنت.",
   "settings_pane_done_button": "تمّ",
   "settings_pane_topstories_options_sponsored": "اعرض الأخبار الممولة",
   "edit_topsites_button_text": "حرِّر",
-  "edit_topsites_button_label": "خصص قسم المواقع الأكثر زيارة",
-  "edit_topsites_showmore_button": "اعرض المزيد",
-  "edit_topsites_showless_button": "اعرض أقل",
-  "edit_topsites_done_button": "تمّ",
-  "edit_topsites_pin_button": "ثبّت هذا الموقع",
-  "edit_topsites_unpin_button": "افصل هذا الموقع",
   "edit_topsites_edit_button": "حرّر هذا الموقع",
-  "edit_topsites_dismiss_button": "احذف هذا الموقع",
-  "edit_topsites_add_button": "أضِفْ",
   "topsites_form_add_header": "موقع شائع جديد",
   "topsites_form_edit_header": "حرّر الموقع الشائع",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "أدخل عنوانًا",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "اكتب أو ألصق مسارًا",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "أضِفْ",
   "topsites_form_save_button": "احفظ",
   "topsites_form_cancel_button": "ألغِ",
   "topsites_form_url_validation": "مطلوب مسار صالح",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "المواضيع الشائعة:",
   "pocket_read_even_more": "اعرض المزيد من الأخبار",
-  "pocket_feedback_header": "أفضل ما في الوِب، انتقاها أكثر من ٢٥ مليون شخص.",
   "pocket_description": "اكتشف محتوى عالي الجودة لربما قد فاتك دون هذا، بماسعدة من Pocket الذي أصبح الآن جزءا من موزيلا.",
   "highlights_empty_state": "ابدأ التصفح وسنعرض أمامك بعض المقالات والفيديوهات والمواقع الأخرى التي زرتها حديثا أو أضفتها إلى العلامات هنا.",
   "topstories_empty_state": "لا جديد. تحقق لاحقًا للحصول على مزيد من أهم الأخبار من {provider}. لا يمكنك الانتظار؟ اختر موضوعًا شائعًا للعثور على المزيد من القصص الرائعة من جميع أنحاء الوِب.",
   "manual_migration_explanation2": "جرب فَيَرفُكس مع العلامات، و التأريخ، و كلمات السر من متصفح آخر.",
   "manual_migration_cancel_button": "لا شكرًا",
   "manual_migration_import_button": "استورد الآن",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "أضف موقعًا شائعًا"
+  "section_info_option": "المعلومات",
+  "section_info_privacy_notice": "تنويه الخصوصية",
+  "settings_pane_bookmarks_body": "علاماتك المعلّمة حديثًا في مكان واحد.",
+  "settings_pane_visit_again_body": "سيعرض لك فَيَرفُكس بعضًا من تأريخ تصفحك الذي قد تود تذكّره لاحقًا.",
+  "edit_topsites_button_label": "خصص قسم المواقع الأكثر زيارة",
+  "edit_topsites_showmore_button": "اعرض المزيد",
+  "edit_topsites_showless_button": "اعرض أقل",
+  "edit_topsites_done_button": "تمّ",
+  "edit_topsites_pin_button": "ثبّت هذا الموقع",
+  "edit_topsites_unpin_button": "افصل هذا الموقع",
+  "edit_topsites_dismiss_button": "احذف هذا الموقع",
+  "edit_topsites_add_button": "أضِفْ",
+  "edit_topsites_add_button_tooltip": "أضف موقعًا شائعًا",
+  "pocket_feedback_header": "أفضل ما في الوِب، انتقاها أكثر من ٢٥ مليون شخص."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Llingüeta nueva</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Guetar na web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Guetar na web" title="Guetar na web"/><button id="searchSubmit" class="search-button" title="Guetar"><span class="sr-only"><span>Guetar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Más visitaos<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendáu por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temes populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaos</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Guetar na web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Guetar na web" title="Guetar na web"/><button id="searchSubmit" class="search-button" title="Guetar"><span class="sr-only"><span>Guetar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Más visitaos<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendáu por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temes populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaos</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-strings.js
@@ -35,81 +35,95 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Guardar en Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Guetar {search_term} con:",
   "search_button": "Guetar",
   "search_header": "Gueta en {search_engine_name}",
   "search_web_placeholder": "Guetar na web",
   "search_settings": "Camudar axustes de gueta",
-  "section_info_option": "Información",
   "section_info_send_feedback": "Unviar comentarios",
-  "section_info_privacy_notice": "Nota de privacidá",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Deprendi cómo furrula.",
   "section_disclaimer_topstories_buttontext": "Val, píllolo",
   "welcome_title": "Afáyate na llingüeta nueva",
   "welcome_body": "Firefox usará esti espaciu p'amosate los marcadores, artículos, vídeos y páxines más relevantes que visitares apocayá, asina pues volver a ellos de mou cenciellu.",
   "welcome_label": "Identificando los tos destacaos",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Personalizar páxina Llingüeta nueva",
   "settings_pane_header": "Preferencies de Llingüeta nueva",
   "settings_pane_body2": "Escueyi qué quies ver nesta páxina",
   "settings_pane_search_header": "Search",
   "settings_pane_search_body": "Restolar na Web dende la nueva llingüeta",
   "settings_pane_topsites_header": "Más visitaos",
   "settings_pane_topsites_body": "Acceder a les webs que más visites.",
   "settings_pane_topsites_options_showmore": "Amosar dos fileres",
   "settings_pane_bookmarks_header": "Marcadores recientes",
-  "settings_pane_bookmarks_body": "Los marcadores recién fechos, nun llugar accesible.",
   "settings_pane_visit_again_header": "Visitar de nueves",
-  "settings_pane_visit_again_body": "Firefox va amosate partes del to historial de navegación que a lo meyor prestaríate remembrar o volver visitar.",
   "settings_pane_highlights_header": "Destacaos",
   "settings_pane_highlights_body2": "Atopa otra vegada les coses interesantes que yá visitaras o marcaras.",
   "settings_pane_highlights_options_bookmarks": "Marcadores",
   "settings_pane_highlights_options_visited": "Sitios visitaos",
   "settings_pane_snippets_header": "Retayos",
   "settings_pane_snippets_body": "Llei anovamientos curtios de Mozilla tocante a Firefox, la cultura d'internet y un meme de xemes en cuandu.",
   "settings_pane_done_button": "Fecho",
   "settings_pane_topstories_options_sponsored": "Amosar hestories patrocinaes",
   "edit_topsites_button_text": "Editar",
-  "edit_topsites_button_label": "Personalizar la seición de Más visitaos",
-  "edit_topsites_showmore_button": "Amosar más",
-  "edit_topsites_showless_button": "Amosar menos",
-  "edit_topsites_done_button": "Fecho",
-  "edit_topsites_pin_button": "Fixar esti sitiu",
-  "edit_topsites_unpin_button": "Desfixar esti sitiu",
   "edit_topsites_edit_button": "Editar esti sitiu",
-  "edit_topsites_dismiss_button": "Escartar esti sitiu",
-  "edit_topsites_add_button": "Amestar",
   "topsites_form_add_header": "Nuevu Sitiu más visitáu",
   "topsites_form_edit_header": "Editar Sitiu más visitáu",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Introducir títulu",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Escribi o apega una URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Amestar",
   "topsites_form_save_button": "Guardar",
   "topsites_form_cancel_button": "Encaboxar",
   "topsites_form_url_validation": "Ríquese una URL válida",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Temes populares:",
   "pocket_read_even_more": "Ver más histories",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Prueba Firefox colos marcadores, hestorial y contraseñes d'otru restolador.",
   "manual_migration_cancel_button": "Non, gracies",
   "manual_migration_import_button": "Importar agora",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Información",
+  "section_info_privacy_notice": "Nota de privacidá",
+  "settings_pane_bookmarks_body": "Los marcadores recién fechos, nun llugar accesible.",
+  "settings_pane_visit_again_body": "Firefox va amosate partes del to historial de navegación que a lo meyor prestaríate remembrar o volver visitar.",
+  "edit_topsites_button_label": "Personalizar la seición de Más visitaos",
+  "edit_topsites_showmore_button": "Amosar más",
+  "edit_topsites_showless_button": "Amosar menos",
+  "edit_topsites_done_button": "Fecho",
+  "edit_topsites_pin_button": "Fixar esti sitiu",
+  "edit_topsites_unpin_button": "Desfixar esti sitiu",
+  "edit_topsites_dismiss_button": "Escartar esti sitiu",
+  "edit_topsites_add_button": "Amestar"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/az/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/az/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Yeni Vərəq</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>İnternetdə Axtar</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="İnternetdə Axtar" title="İnternetdə Axtar"/><button id="searchSubmit" class="search-button" title="Axtar"><span class="sr-only"><span>Axtar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Qabaqcıl Saytlar<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket məsləhət görür</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Məşhur Mövzular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Seçilmişlər</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>İnternetdə Axtar</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="İnternetdə Axtar" title="İnternetdə Axtar"/><button id="searchSubmit" class="search-button" title="Axtar"><span class="sr-only"><span>Axtar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Qabaqcıl Saytlar<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket məsləhət görür</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Məşhur Mövzular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Seçilmişlər</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/az/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/az/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Qabaqcıl Hekayələr",
   "header_highlights": "Seçilmişlər",
   "header_visit_again": "Təkrar ziyarət et",
   "header_bookmarks": "Son Əlfəcinlər",
   "header_recommended_by": "{provider} məsləhət görür",
   "header_bookmarks_placeholder": "Hələlik heç əlfəcininiz yoxdur.",
   "header_stories_from": "qaynaq:",
   "context_menu_button_sr": "{title} üçün kontekst menyusunu aç",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Kontekst menyusu bölməsini aç",
   "type_label_visited": "Ziyarət edilib",
   "type_label_bookmarked": "Əlfəcinlənib",
   "type_label_synced": "Digər cihazdan sync edilib",
   "type_label_recommended": "Populyar",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Pocket-ə saxlandı",
   "type_label_open": "Açıq",
   "type_label_topic": "Mövzu",
   "type_label_now": "İndi",
   "menu_action_bookmark": "Əlfəcinlə",
   "menu_action_remove_bookmark": "Əlfəcini sil",
   "menu_action_copy_address": "Ünvanı köçür",
   "menu_action_email_link": "Keçidi e-poçt ilə göndər…",
   "menu_action_open_new_window": "Yeni Pəncərədə Aç",
   "menu_action_open_private_window": "Yeni Məxfi Pəncərədə Aç",
   "menu_action_dismiss": "Rədd et",
   "menu_action_delete": "Tarixçədən Sil",
   "menu_action_pin": "Bərkid",
   "menu_action_unpin": "Çıxart",
   "confirm_history_delete_p1": "Bu səhifənin bütün parçalarını tarixçənizdən silmək istədiyinizə əminsiniz?",
   "confirm_history_delete_notice_p2": "Bu əməliyyat geri alına bilməz.",
   "menu_action_save_to_pocket": "Pocket-ə Saxla",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Pocket-dən sil",
+  "menu_action_archive_pocket": "Pocket-də arxivləşdir",
   "search_for_something_with": "{search_term} üçün bununla axtar:",
   "search_button": "Axtar",
   "search_header": "{search_engine_name} Axtarış",
   "search_web_placeholder": "İnternetdə Axtar",
   "search_settings": "Axtarış Tənzimləmələrini Dəyiş",
-  "section_info_option": "Məlumat",
   "section_info_send_feedback": "Əks-əlaqə göndər",
-  "section_info_privacy_notice": "Məxfilik Bildirişi",
   "section_disclaimer_topstories": "Nələr oxuduğunuza əsasən seçilmiş internetin ən maraqlı hekayələri. Pocket-dən, artıq Mozillanın bir hissəsi.",
   "section_disclaimer_topstories_linktext": "Necə işlədiyini öyrənin.",
   "section_disclaimer_topstories_buttontext": "Tamam, başa düşdüm",
   "welcome_title": "Yeni vərəqə xoş gəldiniz",
   "welcome_body": "Firefox bu səhifədə ən uyğun əlfəcin, məqalə, video və son ziyarət etdiyiniz səhifələri göstərərək onları rahat tapmağınıza kömək edəcək.",
   "welcome_label": "Seçilmişləriniz təyin edilir",
   "time_label_less_than_minute": "<1d",
   "time_label_minute": "{number}d",
   "time_label_hour": "{number}s",
   "time_label_day": "{number}g",
+  "prefs_home_header": "Firefox Ev Məzmunu",
+  "prefs_home_description": "Firefox Evdə hansı məzmunları görmək istədiyinizi seçin.",
+  "prefs_restore_defaults_button": "İlkin seçənəkləri bərpa et",
+  "prefs_section_rows_option": "{num} sətir;{num} sətir",
+  "prefs_search_header": "Web Axtarış",
+  "prefs_topsites_description": "Ən çox ziyarət etdiyiniz saytlar",
+  "prefs_topstories_description": "Qaçırda biləcəyiniz yüksək keyfiyyətli məzmun",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsorlu Hekayələr",
+  "prefs_topstories_sponsored_learn_more": "Ətraflı öyrən",
+  "prefs_highlights_description": "Saxladığınız və ya ziyarət etdiyiniz saytlardan seçmələr",
+  "prefs_snippets_description": "Mozilla və Firefoxdan yeniliklər",
   "settings_pane_button_label": "Yeni Vərəq səhifənizi özəlləşdirin",
   "settings_pane_header": "Yeni Vərəq Nizamlamaları",
   "settings_pane_body2": "Bu səhifədə nə görəcəyinizi seçin.",
   "settings_pane_search_header": "Axtar",
   "settings_pane_search_body": "Yeni vərəqinizdən Web-də axtarış edin.",
   "settings_pane_topsites_header": "Qabaqcıl Saytlar",
   "settings_pane_topsites_body": "Ən çox ziyarət etdiyiniz saytları görün.",
   "settings_pane_topsites_options_showmore": "İki sətir göstər",
   "settings_pane_bookmarks_header": "Son Əlfəcinlər",
-  "settings_pane_bookmarks_body": "Yeni yaradılan əlfəcinlər tək bir əlverişli yerdə.",
   "settings_pane_visit_again_header": "Təkrar ziyarət et",
-  "settings_pane_visit_again_body": "Firefox tarixçənizdən yadda saxlamaq və ya geri qayıtmaq istəyə biləcəyiniz hissələri göstərəcək.",
   "settings_pane_highlights_header": "Seçilmişlər",
   "settings_pane_highlights_body2": "Son ziyarət etdiyiniz və ya əlfəcinlədiyiniz maraqlı məzmunlara rahat qayıdın.",
   "settings_pane_highlights_options_bookmarks": "Əlfəcinlər",
   "settings_pane_highlights_options_visited": "Baxılmış Saytlar",
   "settings_pane_snippets_header": "Hissələr",
   "settings_pane_snippets_body": "Mozilladan Firefox, internet mədəniyyəti və digər yeniliklər haqqında qısa bildirişlər oxuyun.",
   "settings_pane_done_button": "Oldu",
   "settings_pane_topstories_options_sponsored": "Sponsor Hekayələrini Göstər",
   "edit_topsites_button_text": "Redaktə et",
+  "edit_topsites_edit_button": "Bu saytı düzəlt",
+  "topsites_form_add_header": "Yeni Qabaqcıl Saytlar",
+  "topsites_form_edit_header": "Qabaqcıl Saytları Dəyişdir",
+  "topsites_form_title_label": "Başlıq",
+  "topsites_form_title_placeholder": "Başlıq daxil et",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Fərdi şəkil ünvanı",
+  "topsites_form_url_placeholder": "Ünvanı yazın və ya yapışdırın",
+  "topsites_form_use_image_link": "Fərdi şəkil işlət…",
+  "topsites_form_preview_button": "Ön baxış",
+  "topsites_form_add_button": "Əlavə et",
+  "topsites_form_save_button": "Saxla",
+  "topsites_form_cancel_button": "Ləğv et",
+  "topsites_form_url_validation": "Doğru ünvan tələb olunur",
+  "topsites_form_image_validation": "Şəkli yükləmək mümkün olmadı. Fərqli ünvan yoxlayın.",
+  "pocket_read_more": "Məşhur Mövzular:",
+  "pocket_read_even_more": "Daha çox hekayə gör",
+  "pocket_description": "Mozilla ailəsinin yeni üzvü olan Pocket ilə yüksək keyfiyyətli məzmunları kəşf edin.",
+  "highlights_empty_state": "İnternetdə gəzməyə başlayın, burada ziyarət edəcəyiniz və ya əlfəcinləyəcəyiniz məqalə, video və digər səhifələri göstərəcəyik.",
+  "topstories_empty_state": "Hamısını oxudunuz. Yeni {provider} məqalələri üçün daha sonra təkrar yoxlayın. Gözləyə bilmirsiz? Məşhur mövzu seçərək internetdən daha çox gözəl məqalələr tapın.",
+  "manual_migration_explanation2": "Firefox səyyahını digər səyyahlardan olan əlfəcin, tarixçə və parollar ilə yoxlayın.",
+  "manual_migration_cancel_button": "Xeyr, Təşəkkürlər",
+  "manual_migration_import_button": "İndi idxal et",
+  "error_fallback_default_info": "Uups, bu məzmunu yüklərkən nəsə səhv getdi.",
+  "error_fallback_default_refresh_suggestion": "Təkrar yoxlamaq üçün səhifəni yeniləyin.",
+  "section_menu_action_remove_section": "Bölməni Sil",
+  "section_menu_action_collapse_section": "Bölməni Daralt",
+  "section_menu_action_expand_section": "Bölməni Genişlət",
+  "section_menu_action_manage_section": "Bölməni İdarə et",
+  "section_menu_action_add_topsite": "Qabaqcıl Sayt əlavə et",
+  "section_menu_action_move_up": "Yuxarı daşı",
+  "section_menu_action_move_down": "Aşağı daşı",
+  "section_menu_action_privacy_notice": "Məxfilik Bildirişi",
+  "section_info_option": "Məlumat",
+  "section_info_privacy_notice": "Məxfilik Bildirişi",
+  "settings_pane_bookmarks_body": "Yeni yaradılan əlfəcinlər tək bir əlverişli yerdə.",
+  "settings_pane_visit_again_body": "Firefox tarixçənizdən yadda saxlamaq və ya geri qayıtmaq istəyə biləcəyiniz hissələri göstərəcək.",
   "edit_topsites_button_label": "Qabaqcıl Saytlar bölümünüzü fərdiləşdirin",
   "edit_topsites_showmore_button": "Daha çox göstər",
   "edit_topsites_showless_button": "Daha az göstər",
   "edit_topsites_done_button": "Oldu",
   "edit_topsites_pin_button": "Bu saytı sabitlə",
   "edit_topsites_unpin_button": "Bu saytı çıxart",
-  "edit_topsites_edit_button": "Bu saytı düzəlt",
   "edit_topsites_dismiss_button": "Bu saytı çıxart",
   "edit_topsites_add_button": "Əlavə et",
-  "topsites_form_add_header": "Yeni Qabaqcıl Saytlar",
-  "topsites_form_edit_header": "Qabaqcıl Saytları Dəyişdir",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Başlıq daxil et",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Ünvanı yazın və ya yapışdırın",
-  "topsites_form_add_button": "Əlavə et",
-  "topsites_form_save_button": "Saxla",
-  "topsites_form_cancel_button": "Ləğv et",
-  "topsites_form_url_validation": "Doğru ünvan tələb olunur",
-  "pocket_read_more": "Məşhur Mövzular:",
-  "pocket_read_even_more": "Daha çox hekayə gör",
-  "pocket_feedback_header": "25 milyon nəfərin dəstəyi ilə internetin ən yaxşıları.",
-  "pocket_description": "Mozilla ailəsinin yeni üzvü olan Pocket ilə yüksək keyfiyyətli məzmunları kəşf edin.",
-  "highlights_empty_state": "İnternetdə gəzməyə başlayın, burada ziyarət edəcəyiniz və ya əlfəcinləyəcəyiniz məqalə, video və digər səhifələri göstərəcəyik.",
-  "topstories_empty_state": "Hamısını oxudunuz. Yeni {provider} məqalələri üçün daha sonra təkrar yoxlayın. Gözləyə bilmirsiz? Məşhur mövzu seçərək internetdən daha çox gözəl məqalələr tapın.",
-  "manual_migration_explanation2": "Firefox səyyahını digər səyyahlardan olan əlfəcin, tarixçə və parollar ilə yoxlayın.",
-  "manual_migration_cancel_button": "Xeyr, Təşəkkürlər",
-  "manual_migration_import_button": "İndi idxal et",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Qabaqcıl sayt əlavə et"
+  "pocket_feedback_header": "25 milyon nəfərin dəstəyi ilə internetin ən yaxşıları."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/be/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/be/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Новая картка</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук у Інтэрнэце</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук у Інтэрнэце" title="Пошук у Інтэрнэце"/><button id="searchSubmit" class="search-button" title="Шукаць"><span class="sr-only"><span>Шукаць</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Папулярныя сайты<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рэкамендавана Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Папулярныя тэмы:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Выбранае</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук у Інтэрнэце</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук у Інтэрнэце" title="Пошук у Інтэрнэце"/><button id="searchSubmit" class="search-button" title="Шукаць"><span class="sr-only"><span>Шукаць</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Папулярныя сайты<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рэкамендавана Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Папулярныя тэмы:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Выбранае</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/be/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/be/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Захаваць у Pocket",
   "menu_action_delete_pocket": "Выдаліць з Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Шукаць {search_term} у:",
   "search_button": "Шукаць",
   "search_header": "Шукаць у {search_engine_name}",
   "search_web_placeholder": "Пошук у Інтэрнэце",
   "search_settings": "Змяніць налады пошуку",
-  "section_info_option": "Звесткі",
   "section_info_send_feedback": "Даслаць водгук",
-  "section_info_privacy_notice": "Паведамленне аб прыватнасці",
   "section_disclaimer_topstories": "Самыя цікавыя гісторыі з інтэрнэту на аснове таго, што вы чытаеце. Падборка ад Pocket, які цяпер частка Mozilla.",
   "section_disclaimer_topstories_linktext": "Даведайцеся, як гэта працуе.",
   "section_disclaimer_topstories_buttontext": "Зразумела",
   "welcome_title": "Калі ласка ў новую картку",
   "welcome_body": "Firefox будзе выкарыстоўваць гэта месца, каб адлюстроўваць самыя актуальныя закладкі, артыкулы, відэа і старонкі, якія вы нядаўна наведалі, каб вы змаглі лёгка трапіць на іх зноў.",
   "welcome_label": "Вызначэнне вашага выбранага",
   "time_label_less_than_minute": "<1 хв",
   "time_label_minute": "{number} хв",
   "time_label_hour": "{number} г",
   "time_label_day": "{number} д",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Наладзіць вашу старонку новай карткі",
   "settings_pane_header": "Налады новай карткі",
   "settings_pane_body2": "Выберыце тое, што вы бачыце на гэтай старонцы.",
   "settings_pane_search_header": "Пошук",
   "settings_pane_search_body": "Пошук у Сеціве з вашай новай карткі.",
   "settings_pane_topsites_header": "Папулярныя сайты",
   "settings_pane_topsites_body": "Доступ да сайтаў, якія вы часцей наведваеце.",
   "settings_pane_topsites_options_showmore": "Паказваць два шэрагі",
   "settings_pane_bookmarks_header": "Нядаўнія закладкі",
-  "settings_pane_bookmarks_body": "Вашы новыя закладкі ў адным зручным месцы.",
   "settings_pane_visit_again_header": "Наведаць зноў",
-  "settings_pane_visit_again_body": "Firefox пакажа вам элементы гісторыі прагляду, якія вы, магчыма, захочаце запомніць або наведаць зноў.",
   "settings_pane_highlights_header": "Выбранае",
   "settings_pane_highlights_body2": "Знайдзіце зваротны шлях да цікавых рэчаў, якія вы нядаўна наведалі або дадалі ў закладкі.",
   "settings_pane_highlights_options_bookmarks": "Закладкі",
   "settings_pane_highlights_options_visited": "Наведаныя сайты",
   "settings_pane_snippets_header": "Урыўкі",
   "settings_pane_snippets_body": "Чытайце кароткія і радасныя навіны ад Mozilla аб Firefox, інтэрнэт-культуру і выпадковыя мемы.",
   "settings_pane_done_button": "Гатова",
   "settings_pane_topstories_options_sponsored": "Паказаць артыкулы ад спонсараў",
   "edit_topsites_button_text": "Правіць",
-  "edit_topsites_button_label": "Наладзіць раздзел папулярных сайтаў",
-  "edit_topsites_showmore_button": "Паказаць больш",
-  "edit_topsites_showless_button": "Паказаць менш",
-  "edit_topsites_done_button": "Гатова",
-  "edit_topsites_pin_button": "Замацаваць гэты сайт",
-  "edit_topsites_unpin_button": "Адшпіліць гэты сайт",
   "edit_topsites_edit_button": "Рэдагаваць гэты сайт",
-  "edit_topsites_dismiss_button": "Адхіліць гэты сайт",
-  "edit_topsites_add_button": "Дадаць",
   "topsites_form_add_header": "Новы папулярны сайт",
   "topsites_form_edit_header": "Рэдагаваць папулярны сайт",
   "topsites_form_title_label": "Загаловак",
   "topsites_form_title_placeholder": "Увядзіце назву",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Увядзіце або ўстаўце URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Дадаць",
   "topsites_form_save_button": "Захаваць",
   "topsites_form_cancel_button": "Скасаваць",
   "topsites_form_url_validation": "Патрабуецца сапраўдны URL",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Папулярныя тэмы:",
   "pocket_read_even_more": "Іншыя навіны",
-  "pocket_feedback_header": "Лепшае з Сеціва, што адабралі больш за 25 мільёнаў чалавек.",
   "pocket_description": "Адкрыйце для сябе высакаякасны кантэнт, які вы маглі б прапусціць, з дапамогай Pocket, які стаў часткай Mozilla.",
   "highlights_empty_state": "Пачніце агляданне, і мы пакажам вам тут некаторыя з найлепшых артыкулаў, відэаролікаў і іншых старонак, якія вы нядаўна наведалі або дадалі ў закладкі.",
   "topstories_empty_state": "Гатова. Праверце пазней, каб убачыць больш матэрыялаў ад {provider}. Не жадаеце чакаць? Выберыце папулярную тэму, каб знайсці больш цікавых матэрыялаў з усяго Інтэрнэту.",
   "manual_migration_explanation2": "Паспрабуйце Firefox з закладкамі, гісторыяй і паролямі з іншага браўзера.",
   "manual_migration_cancel_button": "Не, дзякуй",
   "manual_migration_import_button": "Імпартаваць зараз",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Паведамленне аб прыватнасці"
+  "section_menu_action_privacy_notice": "Паведамленне аб прыватнасці",
+  "section_info_option": "Звесткі",
+  "section_info_privacy_notice": "Паведамленне аб прыватнасці",
+  "settings_pane_bookmarks_body": "Вашы новыя закладкі ў адным зручным месцы.",
+  "settings_pane_visit_again_body": "Firefox пакажа вам элементы гісторыі прагляду, якія вы, магчыма, захочаце запомніць або наведаць зноў.",
+  "edit_topsites_button_label": "Наладзіць раздзел папулярных сайтаў",
+  "edit_topsites_showmore_button": "Паказаць больш",
+  "edit_topsites_showless_button": "Паказаць менш",
+  "edit_topsites_done_button": "Гатова",
+  "edit_topsites_pin_button": "Замацаваць гэты сайт",
+  "edit_topsites_unpin_button": "Адшпіліць гэты сайт",
+  "edit_topsites_dismiss_button": "Адхіліць гэты сайт",
+  "edit_topsites_add_button": "Дадаць",
+  "pocket_feedback_header": "Лепшае з Сеціва, што адабралі больш за 25 мільёнаў чалавек."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Нов раздел</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Търсене в интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Търсене в интернет" title="Търсене в интернет"/><button id="searchSubmit" class="search-button" title="Търсене"><span class="sr-only"><span>Търсене</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Често посещавани<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Препоръчано от Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярни теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Акценти</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Търсене в интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Търсене в интернет" title="Търсене в интернет"/><button id="searchSubmit" class="search-button" title="Търсене"><span class="sr-only"><span>Търсене</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Често посещавани<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Препоръчано от Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярни теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Акценти</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-strings.js
@@ -22,95 +22,109 @@ window.gActivityStreamStrings = {
   "type_label_now": "Сега",
   "menu_action_bookmark": "Отметка",
   "menu_action_remove_bookmark": "Премахване на отметка",
   "menu_action_copy_address": "Копиране на адрес",
   "menu_action_email_link": "Препратка по ел. поща…",
   "menu_action_open_new_window": "Отваряне в раздел",
   "menu_action_open_private_window": "Отваряне в поверителен прозорец",
   "menu_action_dismiss": "Отхвърляне",
-  "menu_action_delete": "Премахване от историята",
+  "menu_action_delete": "Премахване",
   "menu_action_pin": "Закачане",
   "menu_action_unpin": "Откачане",
   "confirm_history_delete_p1": "Сигурни ли сте, че желаете да премахнете страницата навсякъде от историята?",
   "confirm_history_delete_notice_p2": "Действието е необратимо.",
   "menu_action_save_to_pocket": "Запазване в Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Търсене на {search_term} с:",
   "search_button": "Търсене",
   "search_header": "Търсене с {search_engine_name}",
   "search_web_placeholder": "Търсене в интернет",
   "search_settings": "Настройки на търсене",
-  "section_info_option": "Информация",
   "section_info_send_feedback": "Обратна връзка",
-  "section_info_privacy_notice": "Политика на поверителност",
   "section_disclaimer_topstories": "Най-интересните истории в Мрежата на основата на прочетеното от вас. От Pocket, вече част от Mozilla.",
   "section_disclaimer_topstories_linktext": "Разберете как работи.",
   "section_disclaimer_topstories_buttontext": "Ясно, разбрах",
   "welcome_title": "Добре дошли в нов раздел",
   "welcome_body": "Firefox ще използва това място, за да ви покаже най-подходящите отметки, статии, видео и страници, които сте посетили наскоро, така че да ги намерите пак лесно.",
   "welcome_label": "Търсене на акценти",
   "time_label_less_than_minute": "<1м",
   "time_label_minute": "{number} м",
   "time_label_hour": "{number} ч",
   "time_label_day": "{number} д",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Настройки на новия раздел",
   "settings_pane_header": "Настройки на новия раздел",
   "settings_pane_body2": "Изберете какво да виждате на тази страница.",
   "settings_pane_search_header": "Търсене",
   "settings_pane_search_body": "Търсете в мрежата от нов раздел.",
   "settings_pane_topsites_header": "Често посещавани",
   "settings_pane_topsites_body": "Достъп до страниците, които посещавате най-често.",
   "settings_pane_topsites_options_showmore": "Показване на два реда",
   "settings_pane_bookmarks_header": "Последни отметки",
-  "settings_pane_bookmarks_body": "Всички нови отметки на едно място.",
   "settings_pane_visit_again_header": "Посещаване",
-  "settings_pane_visit_again_body": "Firefox ще ви показва части от вашата история на разглеждане, към която бихте желали да се върнете или запомните.",
   "settings_pane_highlights_header": "Акценти",
   "settings_pane_highlights_body2": "Намерете интересните неща, които скоро сте посетили или отметнали.",
   "settings_pane_highlights_options_bookmarks": "Отметки",
   "settings_pane_highlights_options_visited": "Посетени страници",
   "settings_pane_snippets_header": "Изрезки",
   "settings_pane_snippets_body": "Четете кратки и радостни новини от Mozilla относно Firefox, интернет-културата и случайни мемета.",
   "settings_pane_done_button": "Готово",
   "settings_pane_topstories_options_sponsored": "Показване на платени статии",
   "edit_topsites_button_text": "Редактиране",
-  "edit_topsites_button_label": "Настройки на често посещаваните",
-  "edit_topsites_showmore_button": "Повече",
-  "edit_topsites_showless_button": "По-малко",
-  "edit_topsites_done_button": "Готово",
-  "edit_topsites_pin_button": "Закачане",
-  "edit_topsites_unpin_button": "Премахване от закачените",
   "edit_topsites_edit_button": "Редактиране",
-  "edit_topsites_dismiss_button": "Изтриване",
-  "edit_topsites_add_button": "Добавяне",
   "topsites_form_add_header": "Нов често посещавана страница",
   "topsites_form_edit_header": "Редактиране на често посещавана страница",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Заглавие",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Адрес",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Добавяне",
   "topsites_form_save_button": "Запазване",
   "topsites_form_cancel_button": "Отказ",
   "topsites_form_url_validation": "Необходим е валиден URL",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Популярни теми:",
   "pocket_read_even_more": "Повече статии",
-  "pocket_feedback_header": "Най-доброто от интернет, подбрано от над 25 милиона души.",
   "pocket_description": "Открийте висококачествено съдържание, което иначе може да пропуснете, с помощта на Pocket, вече част от Mozilla.",
   "highlights_empty_state": "Разглеждайте и тук ще ви покажем някои от най-добрите статии, видео и други страници, които сте посетили или отметнали наскоро.",
   "topstories_empty_state": "Разгледахте всичко. Проверете по-късно за повече истории от {provider}. Нямате търпение? Изберете популярна тема, за да откриете повече истории из цялата Мрежа.",
   "manual_migration_explanation2": "Опитайте Firefox с отметките, историята и паролите от друг четец.",
   "manual_migration_cancel_button": "Не, благодаря",
   "manual_migration_import_button": "Внасяне",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Добавяне към често посещаваните страници"
+  "section_info_option": "Информация",
+  "section_info_privacy_notice": "Политика на поверителност",
+  "settings_pane_bookmarks_body": "Всички нови отметки на едно място.",
+  "settings_pane_visit_again_body": "Firefox ще ви показва части от вашата история на разглеждане, към която бихте желали да се върнете или запомните.",
+  "edit_topsites_button_label": "Настройки на често посещаваните",
+  "edit_topsites_showmore_button": "Повече",
+  "edit_topsites_showless_button": "По-малко",
+  "edit_topsites_done_button": "Готово",
+  "edit_topsites_pin_button": "Закачане",
+  "edit_topsites_unpin_button": "Премахване от закачените",
+  "edit_topsites_dismiss_button": "Изтриване",
+  "edit_topsites_add_button": "Добавяне",
+  "pocket_feedback_header": "Най-доброто от интернет, подбрано от над 25 милиона души."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>নতুন ট্যাব</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>শীর্ঘ সাইট<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>জনপ্রিয় বিষয়:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>শীর্ঘ সাইট<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>জনপ্রিয় বিষয়:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket এ সংরক্ষণ করুন",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "{search_term} এর জন্য খুঁজুন সাথে:",
   "search_button": "অনুসন্ধান",
   "search_header": "{search_engine_name} খুঁজুন",
   "search_web_placeholder": "ওয়েবে সন্ধান করুন",
   "search_settings": "সার্চ সেটিংস বদল করুন",
-  "section_info_option": "তথ্য",
   "section_info_send_feedback": "মতামত পাঠান",
-  "section_info_privacy_notice": "গোপনীয়তা বিজ্ঞপ্তি",
   "section_disclaimer_topstories": "মজার মজার সব গল্প নির্বাচিত হয়েছে, আপনি যেমনটা পড়েন। Pocket এখন থেকে Mozilla এর অংশ।",
   "section_disclaimer_topstories_linktext": "কিভাবে কাজ করে জানুন।",
   "section_disclaimer_topstories_buttontext": "ঠিক আছে, বুঝেছি",
   "welcome_title": "নতুন ট্যাবে আপনাকে স্বাগতম",
   "welcome_body": "আপনার সাথে মিলে এমন বুর্কমার্ক, নিবন্ধ, ভিডিও এবং পাতা যেগুলো আপনি সম্প্রতি ভ্রমণ করেছে তা Firefox এই জায়গায় দেখাবে, যাতে আপনি সেগুলো দ্রুত খুঁজে পান।",
   "welcome_label": "আপনার হাইলাইট সমূহ চিহ্নিত করুন",
   "time_label_less_than_minute": "<1মিনিট",
   "time_label_minute": "{number} মিনিট",
   "time_label_hour": "{number} ঘন্টা",
   "time_label_day": "{number} দিন",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন",
   "settings_pane_header": "নতুন ট্যাব পছন্দসমূহ",
   "settings_pane_body2": "আপনি এই পৃষ্ঠায় যা দেখেন তা পছন্দ করুন।",
   "settings_pane_search_header": "অনুসন্ধান",
   "settings_pane_search_body": "আপনার নতুন ট্যাব থেকে ওয়েবে খুঁজুন।",
   "settings_pane_topsites_header": "শীর্ষ সাইট",
   "settings_pane_topsites_body": "আপনি যেসব সাইটে বেশি যান সেসব সাইটে প্রবেশ করুন।",
   "settings_pane_topsites_options_showmore": "দুটি সারি দেখান",
   "settings_pane_bookmarks_header": "সাম্প্রতিক বুকমার্ক",
-  "settings_pane_bookmarks_body": "আপনার নতুন করা বুকমার্ক সহজ অবস্থানে রাখা হয়েছে।",
   "settings_pane_visit_again_header": "পুনরায় ভিজিট করুন",
-  "settings_pane_visit_again_body": "Firefox আপনার ব্রাউজিং ইতিহাসের এমন একটি অংশ দেখাবে যা আপনি মনে রাখতে চান বা যাতে আবার ফিরে যেতে চান।",
   "settings_pane_highlights_header": "হাইলাইটস",
   "settings_pane_highlights_body2": "আপনি সম্প্রতি পরিদর্শন করেছেন বা বুকমার্ক করেছেন এমন আকর্ষণীয় বিষয়গুলিতে ফিরে যাবার পথ পান।",
   "settings_pane_highlights_options_bookmarks": "বুকমার্ক",
   "settings_pane_highlights_options_visited": "পূর্বে পরিদর্শন করা সাইটগুলি",
   "settings_pane_snippets_header": "টুকিটাকি",
   "settings_pane_snippets_body": "Mozilla থেকে Firefox, ইন্টারনেট সংস্কৃতি, এবং মাঝে মাঝে উদ্দেশ্যহীন মেমে সম্পর্কে ছোট এবং মিষ্টি আপডেটগুলি পড়ুন।",
   "settings_pane_done_button": "হয়েছে",
   "settings_pane_topstories_options_sponsored": "বিজ্ঞাপনী গল্প দেখাও",
   "edit_topsites_button_text": "সম্পাদনা",
-  "edit_topsites_button_label": "আপনার টপ সাইট সেকশন কাস্টমাইজ করুন",
-  "edit_topsites_showmore_button": "আরও দেখান",
-  "edit_topsites_showless_button": "কম দেখান",
-  "edit_topsites_done_button": "হয়েছে",
-  "edit_topsites_pin_button": "সাইটটি পিন করুন",
-  "edit_topsites_unpin_button": "এই সাইট আনপিন করুন",
   "edit_topsites_edit_button": "সাইটটি সম্পাদনা করুন",
-  "edit_topsites_dismiss_button": "সাইটটি মুছে দিন",
-  "edit_topsites_add_button": "যোগ",
   "topsites_form_add_header": "নতুন শীর্ষ সাইট",
   "topsites_form_edit_header": "শীর্ষ সাইট সম্পাদনা করুন",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "নাম দিন",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "টাইপ করুন অথবা পেস্ট করুন URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "যোগ",
   "topsites_form_save_button": "সংরক্ষণ",
   "topsites_form_cancel_button": "বাতিল",
   "topsites_form_url_validation": "কার্যকর URL প্রয়োজন",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "জনপ্রিয় বিষয়:",
   "pocket_read_even_more": "আরও গল্প দেখুন",
-  "pocket_feedback_header": "ওয়েব জগতের সেরা, যা ২.৫ লক্ষ মানুষ রক্ষণাবেক্ষণ করে।",
   "pocket_description": "Pocket এর সাহায্যে, যা এখন Mozilla এর অংশ, উচ্চ মানের বিষয়বস্তু আবিষ্কার করুন যা আপনি অন্যথায় পেতেন না।",
   "highlights_empty_state": "ব্রাউজি করা শুরু করুন, এবং কিছু গুরুত্বপূর্ণ নিবন্ধ, ভিডিও, এবং আপনি সম্প্রতি পরিদর্শন বা বুকমার্ক করেছেন এমন কিছু পৃষ্ঠা আমরা এখানে প্রদর্শন করব।",
   "topstories_empty_state": "কিছু একটা ঠিক নেই। {provider} এর শীর্ষ গল্পগুলো পেতে কিছুক্ষণ পর আবার দেখুন। অপেক্ষা করতে চান না? বিশ্বের সেরা গল্পগুলো পেতে কোন জনপ্রিয় বিষয় নির্বাচন করুন।",
   "manual_migration_explanation2": "অন্য ব্রাউজার থেকে আনা বুকমার্ক, ইতিহাস এবং পাসওয়ার্ডগুলির সাথে ফায়ারফক্স ব্যবহার করে দেখুন।",
   "manual_migration_cancel_button": "প্রয়োজন নেই",
   "manual_migration_import_button": "এখনই ইম্পোর্ট করুন",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "টপ সাইট যোগ করুন"
+  "edit_topsites_button_label": "আপনার টপ সাইট সেকশন কাস্টমাইজ করুন",
+  "edit_topsites_showmore_button": "আরও দেখান",
+  "edit_topsites_showless_button": "কম দেখান",
+  "edit_topsites_done_button": "হয়েছে",
+  "edit_topsites_pin_button": "সাইটটি পিন করুন",
+  "edit_topsites_dismiss_button": "সাইটটি মুছে দিন",
+  "edit_topsites_add_button": "যোগ",
+  "section_info_option": "তথ্য",
+  "section_info_privacy_notice": "গোপনীয়তা বিজ্ঞপ্তি",
+  "settings_pane_bookmarks_body": "আপনার নতুন করা বুকমার্ক সহজ অবস্থানে রাখা হয়েছে।",
+  "settings_pane_visit_again_body": "Firefox আপনার ব্রাউজিং ইতিহাসের এমন একটি অংশ দেখাবে যা আপনি মনে রাখতে চান বা যাতে আবার ফিরে যেতে চান।",
+  "edit_topsites_unpin_button": "এই সাইট আনপিন করুন",
+  "edit_topsites_add_button_tooltip": "টপ সাইট যোগ করুন",
+  "pocket_feedback_header": "ওয়েব জগতের সেরা, যা ২.৫ লক্ষ মানুষ রক্ষণাবেক্ষণ করে।"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>নতুন ট্যাব</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>শীর্ষ সাইটগুলি<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>জনপ্রিয় বিষয়:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>শীর্ষ সাইটগুলি<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>জনপ্রিয় বিষয়:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket এ সংরক্ষণ করুন",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "{search_term} এর জন্য খুঁজুন সাথে:",
   "search_button": "অনুসন্ধান",
   "search_header": "{search_engine_name} এ অনুসন্ধান করুন",
   "search_web_placeholder": "ওয়েবে সন্ধান করুন",
   "search_settings": "সার্চ সেটিংস বদল করুন",
-  "section_info_option": "তথ্য",
   "section_info_send_feedback": "মতামত পাঠান",
-  "section_info_privacy_notice": "গোপনীয়তা বিজ্ঞপ্তি",
   "section_disclaimer_topstories": "মজার মজার সব গল্প নির্বাচিত হয়েছে, আপনি যেমনটা পড়েন। Pocket এখন থেকে Mozilla এর অংশ।",
   "section_disclaimer_topstories_linktext": "কিভাবে কাজ করে জানুন।",
   "section_disclaimer_topstories_buttontext": "ঠিক আছে, বুঝেছি",
   "welcome_title": "নতুন ট্যাবে স্বাগতম",
   "welcome_body": "আপনার সাথে মিলে এমন বুর্কমার্ক, নিবন্ধ, ভিডিও এবং পাতা যেগুলো আপনি সম্প্রতি ভ্রমণ করেছে তা Firefox এই জায়গায় দেখাবে, যাতে আপনি সেগুলো দ্রুত খুঁজে পান।",
   "welcome_label": "আপনার হাইলাইট সমূহ চিহ্নিত করা হচ্ছে",
   "time_label_less_than_minute": "<1মিনিট",
   "time_label_minute": "{number} মিনিট",
   "time_label_hour": "{number} ঘন্টা",
   "time_label_day": "{number} দিন",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন",
   "settings_pane_header": "নতুন ট্যাব পছন্দসমূহ",
   "settings_pane_body2": "আপনি এই পৃষ্ঠায় যা দেখেন তা পছন্দ করুন।",
   "settings_pane_search_header": "অনুসন্ধান",
   "settings_pane_search_body": "আপনার নতুন ট্যাব থেকে ওয়েবে খুঁজুন।",
   "settings_pane_topsites_header": "শীর্ষ সাইট",
   "settings_pane_topsites_body": "আপনি যেসব সাইটে বেশি যান সেসব সাইটে প্রবেশ করুন।",
   "settings_pane_topsites_options_showmore": "দুটি সারি দেখান",
   "settings_pane_bookmarks_header": "সাম্প্রতিক বুকমার্ক",
-  "settings_pane_bookmarks_body": "আপনার নতুন করা বুকমার্ক সহজ অবস্থানে রাখা হয়েছে।",
   "settings_pane_visit_again_header": "পুনরায় ভিজিট করুন",
-  "settings_pane_visit_again_body": "Firefox আপনার ব্রাউজিং ইতিহাসের এমন একটি অংশ দেখাবে যা আপনি মনে রাখতে চান বা যাতে আবার ফিরে যেতে চান।",
   "settings_pane_highlights_header": "হাইলাইটস",
   "settings_pane_highlights_body2": "আপনি সম্প্রতি পরিদর্শন করেছেন বা বুকমার্ক করেছেন এমন আকর্ষণীয় বিষয়গুলিতে ফিরে যাবার পথ পান।",
   "settings_pane_highlights_options_bookmarks": "বুকমার্ক",
   "settings_pane_highlights_options_visited": "পূর্বে পরিদর্শন করা সাইটগুলি",
   "settings_pane_snippets_header": "টুকিটাকি",
   "settings_pane_snippets_body": "Mozilla থেকে Firefox, ইন্টারনেট সংস্কৃতি, এবং মাঝে মাঝে উদ্দেশ্যহীন মেমে সম্পর্কে ছোট এবং মিষ্টি আপডেটগুলি পড়ুন।",
   "settings_pane_done_button": "হয়েছে",
   "settings_pane_topstories_options_sponsored": "বিজ্ঞাপনী গল্প দেখাও",
   "edit_topsites_button_text": "সম্পাদনা",
-  "edit_topsites_button_label": "আপনার শীর্ষ সাইট সেকশন কাস্টমাইজ করুন",
-  "edit_topsites_showmore_button": "আরও দেখান",
-  "edit_topsites_showless_button": "কম দেখান",
-  "edit_topsites_done_button": "হয়েছে",
-  "edit_topsites_pin_button": "সাইটটি পিন করুন",
-  "edit_topsites_unpin_button": "এই সাইট আনপিন করুন",
   "edit_topsites_edit_button": "সাইটটি সম্পাদনা করুন",
-  "edit_topsites_dismiss_button": "সাইটটি মুছে দিন",
-  "edit_topsites_add_button": "যুক্ত করুন",
   "topsites_form_add_header": "নতুন শীর্ষ সাইট",
   "topsites_form_edit_header": "শীর্ষ সাইট সম্পাদনা করুন",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "একটি শিরোনাম লিখুন",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "টাইপ করুন অথবা পেস্ট করুন URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "যোগ",
   "topsites_form_save_button": "সংরক্ষণ",
   "topsites_form_cancel_button": "বাতিল করুন",
   "topsites_form_url_validation": "কার্যকর URL প্রয়োজন",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "জনপ্রিয় বিষয়:",
   "pocket_read_even_more": "আরও গল্প দেখুন",
-  "pocket_feedback_header": "ওয়েব জগতের সেরা, যা ২.৫ লক্ষ মানুষ রক্ষণাবেক্ষণ করে।",
   "pocket_description": "Pocket এর সাহায্যে, যা এখন Mozilla এর অংশ, উচ্চ মানের বিষয়বস্তু আবিষ্কার করুন যা আপনি অন্যথায় পেতেন না।",
   "highlights_empty_state": "ব্রাউজি করা শুরু করুন, এবং কিছু গুরুত্বপূর্ণ নিবন্ধ, ভিডিও, এবং আপনি সম্প্রতি পরিদর্শন বা বুকমার্ক করেছেন এমন কিছু পৃষ্ঠা আমরা এখানে প্রদর্শন করব।",
   "topstories_empty_state": "কিছু একটা ঠিক নেই। {provider} এর শীর্ষ গল্পগুলো পেতে কিছুক্ষণ পর আবার দেখুন। অপেক্ষা করতে চান না? বিশ্বের সেরা গল্পগুলো পেতে কোন জনপ্রিয় বিষয় নির্বাচন করুন।",
   "manual_migration_explanation2": "অন্য ব্রাউজার থেকে আনা বুকমার্ক, ইতিহাস এবং পাসওয়ার্ডগুলির সাথে ফায়ারফক্স ব্যবহার করে দেখুন।",
   "manual_migration_cancel_button": "প্রয়োজন নেই",
   "manual_migration_import_button": "এখনই ইম্পোর্ট করুন",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "টপ সাইট যোগ করুন"
+  "section_info_option": "তথ্য",
+  "section_info_privacy_notice": "গোপনীয়তা বিজ্ঞপ্তি",
+  "settings_pane_bookmarks_body": "আপনার নতুন করা বুকমার্ক সহজ অবস্থানে রাখা হয়েছে।",
+  "settings_pane_visit_again_body": "Firefox আপনার ব্রাউজিং ইতিহাসের এমন একটি অংশ দেখাবে যা আপনি মনে রাখতে চান বা যাতে আবার ফিরে যেতে চান।",
+  "edit_topsites_button_label": "আপনার শীর্ষ সাইট সেকশন কাস্টমাইজ করুন",
+  "edit_topsites_showmore_button": "আরও দেখান",
+  "edit_topsites_showless_button": "কম দেখান",
+  "edit_topsites_done_button": "হয়েছে",
+  "edit_topsites_pin_button": "সাইটটি পিন করুন",
+  "edit_topsites_unpin_button": "এই সাইট আনপিন করুন",
+  "edit_topsites_dismiss_button": "সাইটটি মুছে দিন",
+  "edit_topsites_add_button": "যুক্ত করুন",
+  "edit_topsites_add_button_tooltip": "টপ সাইট যোগ করুন",
+  "pocket_feedback_header": "ওয়েব জগতের সেরা, যা ২.৫ লক্ষ মানুষ রক্ষণাবেক্ষণ করে।"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/br/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/br/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Ivinell nevez</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Klask er web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Klask er web" title="Klask er web"/><button id="searchSubmit" class="search-button" title="Klask"><span class="sr-only"><span>Klask</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Lec&#x27;hiennoù pennañ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Erbedet gant Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Danvezioù brudet:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Mareoù pouezus</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Klask er web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Klask er web" title="Klask er web"/><button id="searchSubmit" class="search-button" title="Klask"><span class="sr-only"><span>Klask</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Lec&#x27;hiennoù pennañ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Erbedet gant Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Danvezioù brudet:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Mareoù pouezus</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/br/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/br/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Istorioù pennañ",
   "header_highlights": "Mareoù pouezus",
   "header_visit_again": "Gweladenniñ en-dro",
   "header_bookmarks": "Sinedoù nevez",
   "header_recommended_by": "Erbedet gant {provider}",
   "header_bookmarks_placeholder": "N'ho peus sined ebet evit ar mare.",
   "header_stories_from": "a-berzh",
   "context_menu_button_sr": "Digeriñ al lañser kemperzhel evit {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Digeriñ lañser kemperzhel al lodenn-mañ",
   "type_label_visited": "Gweladennet",
   "type_label_bookmarked": "Lakaet er sinedoù",
   "type_label_synced": "Goubredet eus un trevnad all",
   "type_label_recommended": "Brudet",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Enrollet e Pocket",
   "type_label_open": "Digeriñ",
   "type_label_topic": "Danvez",
   "type_label_now": "Bremañ",
   "menu_action_bookmark": "Sined",
   "menu_action_remove_bookmark": "Dilemel ar sined",
   "menu_action_copy_address": "Eilañ ar chomlec'h",
   "menu_action_email_link": "Kas an ere dre bostel…",
   "menu_action_open_new_window": "Digeriñ e-barzh ur prenestr nevez",
   "menu_action_open_private_window": "Digeriñ e-barzh ur prenestr merdeiñ prevez nevez",
   "menu_action_dismiss": "Argas",
   "menu_action_delete": "Dilemel eus ar roll istor",
   "menu_action_pin": "Spilhennañ",
   "menu_action_unpin": "Dispilhennañ",
   "confirm_history_delete_p1": "Sur oc'h e fell deoc'h dilemel kement eriol eus ar bajenn-mañ diouzh ho roll istor?",
   "confirm_history_delete_notice_p2": "Ne c'haller ket dizober ar gwezh-mañ.",
   "menu_action_save_to_pocket": "Enrollañ etrezek Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Dilemel eus Pocket",
+  "menu_action_archive_pocket": "Diellaouiñ e Pocket",
   "search_for_something_with": "Klask {search_term} gant:",
   "search_button": "Klask",
   "search_header": "Klask {search_engine_name}",
   "search_web_placeholder": "Klask er web",
   "search_settings": "Kemmañ an arventennoù klask",
-  "section_info_option": "Titouroù",
   "section_info_send_feedback": "Kas ho meno",
-  "section_info_privacy_notice": "Evezhiadennoù a-fet buhez prevez",
   "section_disclaimer_topstories": "An istorioù dedennusañ er web, dibabet hervez ar pezh a lennit. Diwar Pocket, ul lodenn eus Mozilla.",
   "section_disclaimer_topstories_linktext": "Deskit penaos ec'h a en-dro.",
   "section_disclaimer_topstories_buttontext": "Mat eo, komprenet am eus",
   "welcome_title": "Donemat war un ivinell nevez",
   "welcome_body": "Firefox a implijo al lec'h-mañ evit diskouez deoc'h sinedoù, pennadoù, videoioù ha pajennoù bet gweladennet ganeoc'h, evit adkavout anezho en un doare aes.",
   "welcome_label": "Naoudiañ ho mareoù pouezus",
   "time_label_less_than_minute": "< 1 m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}e",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Endalc'had Degemer Firefox",
+  "prefs_home_description": "Dibabit peseurt endalc'had a fell deoc'h kaout war ho skramm Firefox Degemer.",
+  "prefs_restore_defaults_button": "Assav an arventennoù dre ziouer",
+  "prefs_section_rows_option": "{num} renk;{num} renk;{num} renk;{num} a renkoù;{num} renk",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Personelait ho pajenn Ivinell Nevez",
   "settings_pane_header": "Gwellvezioù an ivinell nevez",
   "settings_pane_body2": "Dibabit petra a welit war ar bajenn-mañ.",
   "settings_pane_search_header": "Klask",
   "settings_pane_search_body": "Klask er web adalek an ivinell nevez.",
   "settings_pane_topsites_header": "Lec'hiennoù gwellañ",
   "settings_pane_topsites_body": "Kit war al lec'hiennoù gweladennet ar muiañ ganeoc'h.",
   "settings_pane_topsites_options_showmore": "Diskouez daou vann",
   "settings_pane_bookmarks_header": "Sinedoù nevez",
-  "settings_pane_bookmarks_body": "Ho sinedoù nevez strollet en ul lec'h aes da dizhout.",
   "settings_pane_visit_again_header": "Gweladenniñ en-dro",
-  "settings_pane_visit_again_body": "Firefox a ziskouezo deoc'h ul lodenn eus ho roll istor a c'hallfec'h kaout c'hoant da zerc'hel soñj pe da zistreiñ eno.",
   "settings_pane_highlights_header": "Mareoù pouezus",
   "settings_pane_highlights_body2": "Adkavit an traoù dedennus gweladennet pe lakaet er sinedoù nevez ’zo.",
   "settings_pane_highlights_options_bookmarks": "Sinedoù",
   "settings_pane_highlights_options_visited": "Lec'hiennoù gweladennet",
   "settings_pane_snippets_header": "Notennigoù",
   "settings_pane_snippets_body": "Lennit an hizivadurioù berr ha dous graet gant Mozilla evit Firefox, sevenadur ar genrouedad, hag ur mem dre-zegouezh ur wech an amzer.",
   "settings_pane_done_button": "Graet",
   "settings_pane_topstories_options_sponsored": "Diskouez an istorioù kevelet",
   "edit_topsites_button_text": "Embann",
-  "edit_topsites_button_label": "Personelaat ar gevrenn “lec'hiennoù gweladennet ar muiañ”",
-  "edit_topsites_showmore_button": "Diskouez muioc'h",
-  "edit_topsites_showless_button": "Diskouez nebeutoc'h",
-  "edit_topsites_done_button": "Graet",
-  "edit_topsites_pin_button": "Spilhennañ al lec'hienn-mañ",
-  "edit_topsites_unpin_button": "Dispilhennañ al lec'hienn-mañ",
   "edit_topsites_edit_button": "Embann al lec'hienn-mañ",
-  "edit_topsites_dismiss_button": "Dilemel al lec'hienn-mañ",
-  "edit_topsites_add_button": "Ouzhpennañ",
   "topsites_form_add_header": "Lec'hiennoù gwellañ nevez",
   "topsites_form_edit_header": "Embann al Lec'hiennoù Gwellañ",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Enankañ un titl",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Skrivit pe pegit un URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Ouzhpennañ",
   "topsites_form_save_button": "Enrollañ",
   "topsites_form_cancel_button": "Nullañ",
   "topsites_form_url_validation": "URL talvoudek azgoulennet",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Danvezioù brudet:",
   "pocket_read_even_more": "Gwelet muioc'h a istorioù",
-  "pocket_feedback_header": "Ar gwellañ eus ar web, dibabet gant ouzhpenn 25 milion a dud.",
   "pocket_description": "Dizoloit pennadoù eus an dibab ho pije gellout c'hwitout a-hent all warno, a-drugarez da bPocket, hag a zo bremañ ul lodenn deus Mozilla.",
   "highlights_empty_state": "Krogit da verdeiñ hag e tiskouezimp deoc’h pennadoù, videoioù ha pajennoù all gweladennet pe lakaet er sinedoù nevez ’zo.",
   "topstories_empty_state": "Aet oc'h betek penn. Distroit diwezhatoc'h evit muioc’h a istorioù digant {provider}. N’oc'h ket evit gortoz? Dibabit un danvez brudet evit klask muioc’h a bennadoù dedennus eus pep lec’h er web.",
   "manual_migration_explanation2": "Amprouit Firefox gant sinedoù, roll istor ha gerioù-tremen ur merdeer all.",
   "manual_migration_cancel_button": "N'am bo ket",
   "manual_migration_import_button": "Emporzhiañ bremañ",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Ouzhpennañ ul lec'hienn gwellañ din"
+  "section_info_option": "Titouroù",
+  "section_info_privacy_notice": "Evezhiadennoù a-fet buhez prevez",
+  "settings_pane_bookmarks_body": "Ho sinedoù nevez strollet en ul lec'h aes da dizhout.",
+  "settings_pane_visit_again_body": "Firefox a ziskouezo deoc'h ul lodenn eus ho roll istor a c'hallfec'h kaout c'hoant da zerc'hel soñj pe da zistreiñ eno.",
+  "edit_topsites_button_label": "Personelaat ar gevrenn “lec'hiennoù gweladennet ar muiañ”",
+  "edit_topsites_showmore_button": "Diskouez muioc'h",
+  "edit_topsites_showless_button": "Diskouez nebeutoc'h",
+  "edit_topsites_done_button": "Graet",
+  "edit_topsites_pin_button": "Spilhennañ al lec'hienn-mañ",
+  "edit_topsites_unpin_button": "Dispilhennañ al lec'hienn-mañ",
+  "edit_topsites_dismiss_button": "Dilemel al lec'hienn-mañ",
+  "edit_topsites_add_button": "Ouzhpennañ",
+  "pocket_feedback_header": "Ar gwellañ eus ar web, dibabet gant ouzhpenn 25 milion a dud."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Novi tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pretraži web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pretraži web" title="Pretraži web"/><button id="searchSubmit" class="search-button" title="Traži"><span class="sr-only"><span>Traži</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Najposjećenije stranice<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Preporučeno od Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Istaknuto</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pretraži web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pretraži web" title="Pretraži web"/><button id="searchSubmit" class="search-button" title="Traži"><span class="sr-only"><span>Traži</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Najposjećenije stranice<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorite kontekstni meni sekcije</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Preporučeno od Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorite kontekstni meni sekcije</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Istaknuto</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorite kontekstni meni sekcije</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Najposjećenije priče",
   "header_highlights": "Istaknuto",
   "header_visit_again": "Posjeti ponovo",
   "header_bookmarks": "Nedavne zabilješke",
   "header_recommended_by": "Preporučeno od {provider}",
   "header_bookmarks_placeholder": "Nemate nijednu zabilješku.",
   "header_stories_from": "od",
   "context_menu_button_sr": "Otvorite kontekstni meni za {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Otvorite kontekstni meni sekcije",
   "type_label_visited": "Posjećeno",
   "type_label_bookmarked": "Zabilježeno",
   "type_label_synced": "Sinhronizovano s drugog uređaja",
   "type_label_recommended": "Popularno",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Sačuvano u Pocket",
   "type_label_open": "Otvoreno",
   "type_label_topic": "Tema",
   "type_label_now": "Sada",
   "menu_action_bookmark": "Zabilježi",
   "menu_action_remove_bookmark": "Ukloni zabilješku",
   "menu_action_copy_address": "Kopiraj adresu",
   "menu_action_email_link": "Pošalji link emailom…",
   "menu_action_open_new_window": "Otvori u novom prozoru",
   "menu_action_open_private_window": "Otvori u novom privatnom prozoru",
   "menu_action_dismiss": "Odbaci",
   "menu_action_delete": "Izbriši iz historije",
   "menu_action_pin": "Zakači",
   "menu_action_unpin": "Otkači",
   "confirm_history_delete_p1": "Jeste li sigurni da želite izbrisati sve primjere ove stranice iz vaše historije?",
   "confirm_history_delete_notice_p2": "Ova radnja se ne može opozvati.",
   "menu_action_save_to_pocket": "Sačuvaj na Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Izbriši iz Pocketa",
+  "menu_action_archive_pocket": "Arhiviraj u Pocket",
   "search_for_something_with": "Traži za {search_term} sa:",
   "search_button": "Traži",
   "search_header": "{search_engine_name} pretraga",
   "search_web_placeholder": "Pretraži web",
   "search_settings": "Promijeni postavke pretrage",
-  "section_info_option": "Informacije",
   "section_info_send_feedback": "Pošaljite povratnu informaciju",
-  "section_info_privacy_notice": "Napomena o privatnosti",
   "section_disclaimer_topstories": "Najinteresantnije priče na webu, odabrane na osnovu onoga što ste pročitali. Od Pocket-a, koji je sada dio Mozille.",
   "section_disclaimer_topstories_linktext": "Saznajte kako radi.",
   "section_disclaimer_topstories_buttontext": "U redu, razumijem",
   "welcome_title": "Dobrodošli u novi tab",
   "welcome_body": "Firefox će koristiti ovaj prostor da vam prikaže vaše najrelevantnije zabilješke, članke, video i stranice koje ste nedavno posjetili, da bi im mogli lahko ponovo pristupiti.",
   "welcome_label": "Identificiram vaše istaknute stavke",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox početni sadržaj",
+  "prefs_home_description": "Odaberite koji sadržaj želite na vašem početnom ekranu Firefoxa.",
+  "prefs_restore_defaults_button": "Vrati na izvorne vrijednosti",
+  "prefs_section_rows_option": "{num} red;{num} redovi",
+  "prefs_search_header": "Web pretraga",
+  "prefs_topsites_description": "Stranice koje najviše posjećujete",
+  "prefs_topstories_description": "Visoko kvalitetan sadržaj koji biste inače promašili",
+  "prefs_topstories_show_sponsored_label": "{provider} sponzorisane priče",
+  "prefs_topstories_sponsored_learn_more": "Saznajte više",
+  "prefs_highlights_description": "Izbor stranica koje ste sačuvali ili posjetili",
+  "prefs_snippets_description": "Ažuriranja od Mozille i Firefoxa",
   "settings_pane_button_label": "Prilagodite svoju početnu stranicu novog taba",
   "settings_pane_header": "Postavke novog taba",
   "settings_pane_body2": "Izaberite šta želite vidjeti na ovoj stranici.",
   "settings_pane_search_header": "Traži",
   "settings_pane_search_body": "Pretražite web iz novog taba.",
   "settings_pane_topsites_header": "Najposjećenije stranice",
   "settings_pane_topsites_body": "Pristupite stranicama koje najčešće posjećujete.",
   "settings_pane_topsites_options_showmore": "Prikaži dva reda",
   "settings_pane_bookmarks_header": "Nedavne zabilješke",
-  "settings_pane_bookmarks_body": "Vaše novo stvorene zabilješke na jednom praktičnom mjestu.",
   "settings_pane_visit_again_header": "Posjetite ponovo",
-  "settings_pane_visit_again_body": "Firefox će vam prikazati dijelove vaše historije pretraživanja koje možda želite zapamtiti ili posjetiti ponovo.",
   "settings_pane_highlights_header": "Istaknuto",
   "settings_pane_highlights_body2": "Pronađite put natrag do zanimljivih stvari koje ste nedavno posjetili ili zabilježili.",
   "settings_pane_highlights_options_bookmarks": "Zabilješke",
   "settings_pane_highlights_options_visited": "Posjećene stranice",
   "settings_pane_snippets_header": "Isječci",
   "settings_pane_snippets_body": "Pročitajte kratke i slatke obavijesti od Mozille o Firefoxu, internet kulturi i povremenim nasumičnim temama.",
   "settings_pane_done_button": "Gotovo",
   "settings_pane_topstories_options_sponsored": "Prikaži sponzorisane priče",
   "edit_topsites_button_text": "Uredi",
+  "edit_topsites_edit_button": "Uredi ovu stranicu",
+  "topsites_form_add_header": "Nova najbolja stranica",
+  "topsites_form_edit_header": "Uredi najbolju stranicu",
+  "topsites_form_title_label": "Naslov",
+  "topsites_form_title_placeholder": "Unesi naslov",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Prilagođena URL slika",
+  "topsites_form_url_placeholder": "Upišite ili zalijepite URL",
+  "topsites_form_use_image_link": "Koristite prilagođenu sliku…",
+  "topsites_form_preview_button": "Pregled",
+  "topsites_form_add_button": "Dodaj",
+  "topsites_form_save_button": "Sačuvaj",
+  "topsites_form_cancel_button": "Otkaži",
+  "topsites_form_url_validation": "Potrebno je unijeti ispravan URL",
+  "topsites_form_image_validation": "Neuspjelo učitavanje slike. Probajte drugi URL.",
+  "pocket_read_more": "Popularne teme:",
+  "pocket_read_even_more": "Prikaži više priča",
+  "pocket_description": "Otkrijte visoko kvalitetan sadržaj koji ste možda propustili, uz pomoć Pocketa koji je sada dio Mozille.",
+  "highlights_empty_state": "Započnite pretraživati i pokazat ćemo vam neke od izvrsnih članaka, videa i drugih web stranica prema vašim nedavno posjećenim stranicama ili zabilješkama.",
+  "topstories_empty_state": "Provjerite kasnije za više najpopularnijih priča od {provider}. Ne možete čekati? Odaberite popularne teme kako biste pronašli više kvalitetnih priča s cijelog weba.",
+  "manual_migration_explanation2": "Probajte Firefox s zabilješkama, historijom i lozinkama iz drugog pretraživača.",
+  "manual_migration_cancel_button": "Ne, hvala",
+  "manual_migration_import_button": "Uvezi sada",
+  "error_fallback_default_info": "Ups, došlo je do greške pri učitavanju ovog sadržaja.",
+  "error_fallback_default_refresh_suggestion": "Osvježite stranicu da biste pokušali ponovo.",
+  "section_menu_action_remove_section": "Ukloni sekciju",
+  "section_menu_action_collapse_section": "Skupi sekciju",
+  "section_menu_action_expand_section": "Proširi sekciju",
+  "section_menu_action_manage_section": "Upravljaj sekcijom",
+  "section_menu_action_add_topsite": "Dodajte omiljenu stranicu",
+  "section_menu_action_move_up": "Pomjeri gore",
+  "section_menu_action_move_down": "Pomjeri dole",
+  "section_menu_action_privacy_notice": "Polica privatnosti",
+  "section_info_option": "Informacije",
+  "section_info_privacy_notice": "Napomena o privatnosti",
+  "settings_pane_bookmarks_body": "Vaše novo stvorene zabilješke na jednom praktičnom mjestu.",
+  "settings_pane_visit_again_body": "Firefox će vam prikazati dijelove vaše historije pretraživanja koje možda želite zapamtiti ili posjetiti ponovo.",
   "edit_topsites_button_label": "Prilagodite odjel s najboljim stranicama",
   "edit_topsites_showmore_button": "Prikaži više",
   "edit_topsites_showless_button": "Prikaži manje",
   "edit_topsites_done_button": "Gotovo",
   "edit_topsites_pin_button": "Zakači ovu stranicu",
   "edit_topsites_unpin_button": "Otkači ovu stranicu",
-  "edit_topsites_edit_button": "Uredi ovu stranicu",
   "edit_topsites_dismiss_button": "Odbaci ovu stranicu",
   "edit_topsites_add_button": "Dodaj",
-  "topsites_form_add_header": "Nova najbolja stranica",
-  "topsites_form_edit_header": "Uredi najbolju stranicu",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Unesi naslov",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Upišite ili zalijepite URL",
-  "topsites_form_add_button": "Dodaj",
-  "topsites_form_save_button": "Sačuvaj",
-  "topsites_form_cancel_button": "Otkaži",
-  "topsites_form_url_validation": "Potrebno je unijeti ispravan URL",
-  "pocket_read_more": "Popularne teme:",
-  "pocket_read_even_more": "Prikaži više priča",
-  "pocket_feedback_header": "Najbolje od interneta, birano od preko 25 miliona ljudi.",
-  "pocket_description": "Otkrijte visoko kvalitetan sadržaj koji ste možda propustili, uz pomoć Pocketa koji je sada dio Mozille.",
-  "highlights_empty_state": "Započnite pretraživati i pokazat ćemo vam neke od izvrsnih članaka, videa i drugih web stranica prema vašim nedavno posjećenim stranicama ili zabilješkama.",
-  "topstories_empty_state": "Provjerite kasnije za više najpopularnijih priča od {provider}. Ne možete čekati? Odaberite popularne teme kako biste pronašli više kvalitetnih priča s cijelog weba.",
-  "manual_migration_explanation2": "Probajte Firefox s zabilješkama, historijom i lozinkama iz drugog pretraživača.",
-  "manual_migration_cancel_button": "Ne, hvala",
-  "manual_migration_import_button": "Uvezi sada",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Dodajte top stranicu"
+  "pocket_feedback_header": "Najbolje od interneta, birano od preko 25 miliona ljudi."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Pestanya nova</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cerca al web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cerca al web" title="Cerca al web"/><button id="searchSubmit" class="search-button" title="Cerca"><span class="sr-only"><span>Cerca</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Llocs principals<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomanat per Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temes populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacats</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cerca al web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cerca al web" title="Cerca al web"/><button id="searchSubmit" class="search-button" title="Cerca"><span class="sr-only"><span>Cerca</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Llocs principals<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomanat per Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temes populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacats</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Desa al Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Cerca {search_term} amb:",
   "search_button": "Cerca",
   "search_header": "Cerca de {search_engine_name}",
   "search_web_placeholder": "Cerca al web",
   "search_settings": "Canvia els paràmetres de cerca",
-  "section_info_option": "Informació",
   "section_info_send_feedback": "Doneu la vostra opinió",
-  "section_info_privacy_notice": "Avís de privadesa",
   "section_disclaimer_topstories": "Els articles més interessants del web, seleccionats en funció d'allò que llegiu. Gràcies al Pocket, que ara és part de Mozilla.",
   "section_disclaimer_topstories_linktext": "Vegeu com funciona.",
   "section_disclaimer_topstories_buttontext": "Entesos",
   "welcome_title": "Us donem la benvinguda a la pestanya nova",
   "welcome_body": "El Firefox utilitzarà aquest espai per mostrar-vos les adreces d'interès, els articles i els vídeos més rellevants, així com les pàgines que heu visitat recentment, per tal que hi pugueu accedir fàcilment.",
   "welcome_label": "S'estan identificant els vostres llocs destacats",
   "time_label_less_than_minute": "<1 m",
   "time_label_minute": "{number} m",
   "time_label_hour": "{number} h",
   "time_label_day": "{number} d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Personalitzeu la pàgina de pestanya nova",
   "settings_pane_header": "Preferències de pestanya nova",
   "settings_pane_body2": "Trieu què voleu veure en aquesta pàgina.",
   "settings_pane_search_header": "Cerca",
   "settings_pane_search_body": "Cerca al web des de la pestanya nova.",
   "settings_pane_topsites_header": "Llocs principals",
   "settings_pane_topsites_body": "Accediu als llocs web que visiteu més sovint.",
   "settings_pane_topsites_options_showmore": "Mostra dues files",
   "settings_pane_bookmarks_header": "Adreces d'interès recents",
-  "settings_pane_bookmarks_body": "Les adreces d'interès que aneu creant, en un lloc còmode.",
   "settings_pane_visit_again_header": "Torneu a visitar",
-  "settings_pane_visit_again_body": "El Firefox us mostrarà parts del vostre historial de navegació que potser us agradaria recordar o tornar a visitar.",
   "settings_pane_highlights_header": "Destacats",
   "settings_pane_highlights_body2": "Torneu a trobar allò més interessant que recentment heu visitat o heu afegit a les adreces d'interès.",
   "settings_pane_highlights_options_bookmarks": "Adreces d'interès",
   "settings_pane_highlights_options_visited": "Llocs visitats",
   "settings_pane_snippets_header": "Retalls",
   "settings_pane_snippets_body": "Llegiu notícies curtes de Mozilla sobre el Firefox, la cultura d'internet i, de tant en tant, algun mem.",
   "settings_pane_done_button": "Fet",
   "settings_pane_topstories_options_sponsored": "Mostra articles patrocinats",
   "edit_topsites_button_text": "Edita",
-  "edit_topsites_button_label": "Personalitzeu la secció Llocs principals",
-  "edit_topsites_showmore_button": "Mostra'n més",
-  "edit_topsites_showless_button": "Mostra'n menys",
-  "edit_topsites_done_button": "Fet",
-  "edit_topsites_pin_button": "Fixa aquest lloc",
-  "edit_topsites_unpin_button": "No fixis aquest lloc",
   "edit_topsites_edit_button": "Edita aquest lloc",
-  "edit_topsites_dismiss_button": "Elimina aquest lloc",
-  "edit_topsites_add_button": "Afegeix",
   "topsites_form_add_header": "Lloc principal nou",
   "topsites_form_edit_header": "Edita el lloc principal",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Escriviu el títol",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Escriviu o enganxeu un URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Afegeix",
   "topsites_form_save_button": "Desa",
   "topsites_form_cancel_button": "Cancel·la",
   "topsites_form_url_validation": "Es necessita un URL vàlid",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Temes populars:",
   "pocket_read_even_more": "Mostra més articles",
-  "pocket_feedback_header": "El millor del web, seleccionat per més de 25 milions de persones.",
   "pocket_description": "Gràcies al Pocket, que ara és part de Mozilla, podeu descobrir contingut d'alta qualitat que d'altra manera potser us passaria per alt.",
   "highlights_empty_state": "Comenceu a navegar i aquí us mostrarem els millors articles, vídeos i altres pàgines que hàgiu visitat o afegit a les adreces d'interès recentment.",
   "topstories_empty_state": "Ja esteu al dia. Torneu més tard per veure més articles populars de {provider}. No podeu esperar? Trieu un tema popular per descobrir els articles més interessants de tot el web.",
   "manual_migration_explanation2": "Proveu el Firefox amb les adreces d'interès, l'historial i les contrasenyes d'un altre navegador.",
   "manual_migration_cancel_button": "No, gràcies",
   "manual_migration_import_button": "Importa-ho ara",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Informació",
+  "section_info_privacy_notice": "Avís de privadesa",
+  "settings_pane_bookmarks_body": "Les adreces d'interès que aneu creant, en un lloc còmode.",
+  "settings_pane_visit_again_body": "El Firefox us mostrarà parts del vostre historial de navegació que potser us agradaria recordar o tornar a visitar.",
+  "edit_topsites_button_label": "Personalitzeu la secció Llocs principals",
+  "edit_topsites_showmore_button": "Mostra'n més",
+  "edit_topsites_showless_button": "Mostra'n menys",
+  "edit_topsites_done_button": "Fet",
+  "edit_topsites_pin_button": "Fixa aquest lloc",
+  "edit_topsites_unpin_button": "No fixis aquest lloc",
+  "edit_topsites_dismiss_button": "Elimina aquest lloc",
+  "edit_topsites_add_button": "Afegeix",
+  "pocket_feedback_header": "El millor del web, seleccionat per més de 25 milions de persones."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>K'ak'a' ruwi'</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tikanöx pa Ajk&#x27;amaya&#x27;l</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tikanöx pa Ajk&#x27;amaya&#x27;l" title="Tikanöx pa Ajk&#x27;amaya&#x27;l"/><button id="searchSubmit" class="search-button" title="Tikanöx"><span class="sr-only"><span>Tikanöx</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Utziläj taq Ruxaq K&#x27;amaya&#x27;l<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Chilab&#x27;en ruma Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Nima&#x27;q taq Na&#x27;oj:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Taq k&#x27;ewachinïk</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tikanöx pa Ajk&#x27;amaya&#x27;l</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tikanöx pa Ajk&#x27;amaya&#x27;l" title="Tikanöx pa Ajk&#x27;amaya&#x27;l"/><button id="searchSubmit" class="search-button" title="Tikanöx"><span class="sr-only"><span>Tikanöx</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Utziläj taq Ruxaq K&#x27;amaya&#x27;l<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Chilab&#x27;en ruma Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Nima&#x27;q taq Na&#x27;oj:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Taq k&#x27;ewachinïk</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-strings.js
@@ -11,17 +11,17 @@ window.gActivityStreamStrings = {
   "header_bookmarks_placeholder": "K'a majun ayaketal k'o.",
   "header_stories_from": "richin",
   "context_menu_button_sr": "Tijar ri ruk'utsamaj k'ojlem richin {title}",
   "section_context_menu_button_sr": "Open the section context menu",
   "type_label_visited": "Tz'eton",
   "type_label_bookmarked": "Yakon retal",
   "type_label_synced": "Ximon rik'in jun chik okisaxel",
   "type_label_recommended": "Rujawaxik",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Yakon pa Pocket",
   "type_label_open": "Tijaq",
   "type_label_topic": "Na'oj",
   "type_label_now": "Wakami",
   "menu_action_bookmark": "Yaketal",
   "menu_action_remove_bookmark": "Tiyuj el ri yaketal",
   "menu_action_copy_address": "Tiwachib'ëx Ochochib'äl",
   "menu_action_email_link": "Titaq Ximonel Tzij…",
   "menu_action_open_new_window": "Tijaq pa jun K'ak'a' Tzuwäch",
@@ -35,82 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Tiyak pa Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Tikanoj {search_term} rik'in:",
   "search_button": "Tikanöx",
   "search_header": "{search_engine_name} Tikanöx",
   "search_web_placeholder": "Tikanöx pa Ajk'amaya'l",
   "search_settings": "Tijal Runuk'ulem Kanoxïk",
-  "section_info_option": "Rutzijol",
   "section_info_send_feedback": "Ketaq taq Tzijol",
-  "section_info_privacy_notice": "Rutzijol Ichinanem",
   "section_disclaimer_topstories": "Ri nimaläj taq b'anob'äl pan ajk'amaya'l, cha'on rik'in ri ruxe'el ri nasik'ij. Matyox chi re ri Pocket, wakami k'o rik'in ri Mozilla.",
   "section_disclaimer_topstories_linktext": "Tetamäx rub'eyal nisamäj.",
   "section_disclaimer_topstories_buttontext": "Ütz, xno' pa nuwi'",
   "welcome_title": "Ütz apetik pa ri k'ak'a' ruwi'",
   "welcome_body": "Firefox xtrokisaj re k'ojlib'äl re' richin xtuk'üt ri taq ruwi', rutzijol, tzuwäch chuqa' taq ruxaq yalan kejqalem ri k'a ja' xe'atz'ët, richin chanin yatikïr yatok jun mul chik.",
   "welcome_label": "Tiya' ketal ri Nïm taq K'ojlib'äl",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}m",
   "time_label_day": "{ajilab'äl}m",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Tawichinaj ri ruxaq richin K'ak'a' Ruwi'",
   "settings_pane_header": "K'ak'a' Ruwi' Taq Ajowab'äl",
   "settings_pane_body2": "Tacha' ri natzu' pa re ruxaq re'.",
   "settings_pane_search_header": "Tikanöx",
   "settings_pane_search_body": "Tikanoj ri k'ak'a' taq ruwi' pa ri K'amaya'l.",
   "settings_pane_topsites_header": "Utziläj taq ruxaq K'amaya'l",
   "settings_pane_topsites_body": "Katok pa ri taq ajk'amaya'l yalan ye'atz'ët.",
   "settings_pane_topsites_options_showmore": "Kek'ut pe ka'i' cholaj",
   "settings_pane_bookmarks_header": "K'ak'a' taq Yaketal",
-  "settings_pane_bookmarks_body": "Ri taq awajowab'äl k'a ri xenuk' pa jun utziläj k'ojlib'äl.",
   "settings_pane_visit_again_header": "Tab'etz'eta' chik",
-  "settings_pane_visit_again_body": "Firefox  xtuk'ut pe jalajoj taq rub'eyal ri b'anob'äl richin rukusaxik ri k'amaya'l rik'in jub'a' nawajo' nanataj chuqa' yatikir natzu' chik.",
   "settings_pane_highlights_header": "Taq k'ewachinïk",
   "settings_pane_highlights_body2": "Ke'awila' chik ri jeb'ël taq wachinäq e'atz'eton chuqa' aya'on ketal.",
   "settings_pane_highlights_options_bookmarks": "Taq yaketal",
   "settings_pane_highlights_options_visited": "Ruxaq k'amaya'l etz'eton",
   "settings_pane_snippets_header": "Taq pir",
   "settings_pane_snippets_body": "Ke'asik'ij koköj taq rutzijol Mozilla chi rij Firefox, rub'anob'al k'amaya'l, chuqa' jantäq q'olonel wachib'äl.",
   "settings_pane_done_button": "Xk'is",
   "settings_pane_topstories_options_sponsored": "Kek'ut pe To'on taq B'anob'äl",
   "edit_topsites_button_text": "Tinuk'",
-  "edit_topsites_button_label": "Tab'ana' runuk'ulem ri kitanaj Nimaläj taq Ruxaq K'amaya'l",
-  "edit_topsites_showmore_button": "Kek'ut pe ch'aqa' chik",
-  "edit_topsites_showless_button": "Tik'ut Jub'a'",
-  "edit_topsites_done_button": "Xb'an",
-  "edit_topsites_pin_button": "Tixim re k'amaya'l re'",
-  "edit_topsites_unpin_button": "Tosq'opïx re ruxaq k'amaya'l re'",
   "edit_topsites_edit_button": "Tinuk' re ruxaq k'amaya'l re'",
-  "edit_topsites_dismiss_button": "Tiyuj re ruxaq k'amaya'l re'",
-  "edit_topsites_add_button": "Titz'aqatisäx",
   "topsites_form_add_header": "K'ak'a' Utziläj Ruxaq K'amaya'l",
   "topsites_form_edit_header": "Tinuk' re Utziläj Ruxaq K'amaya'l re'",
-  "topsites_form_title_label": "Title",
+  "topsites_form_title_label": "B'i'aj",
   "topsites_form_title_placeholder": "Tatz'ib'aj jun b'i'aj",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Tatz'ib'aj o tatz'ajb'a' jun URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Titz'aqatisäx",
   "topsites_form_save_button": "Tiyak",
   "topsites_form_cancel_button": "Tiq'at",
   "topsites_form_url_validation": "Ütz URL k'atzinel",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Nima'q taq Na'oj:",
   "pocket_read_even_more": "Ketz'et ch'aqa' chik taq B'anob'äl",
-  "pocket_feedback_header": "Ri rutzil k'amaya'l, aq'oman kuma 25 t'ijt'äq chi winäq.",
   "pocket_description": "Ke'awila' utziläj taq rupam pa Pocket, wakami ruch'akulan ri' rik'in Mozilla, ri rik'in jub'a' xtasäch rutz'etik.",
   "highlights_empty_state": "Katok pa k'amaya'l richin niqak'üt chawäch jeb'ël taq cholna'oj, taq silowachib'äl, chuqa' ch'aqa' chik taq ruxaq k'a b'a' ke'atz'ët o aya'on kan ketal wawe'.",
   "topstories_empty_state": "Xaq'i'. Katzolin chik pe richin ye'ak'ül ri utziläj taq rub'anob'al {provider}. ¿La man noyob'en ta? Tacha' jun ütz na'oj richin nawïl ch'aqa' chik taq b'anob'äl e k'o chi rij ri ajk'amaya'l.",
   "manual_migration_explanation2": "Tatojtob'ej Firefox kik'in ri taq ruyaketal, runatab'äl chuqa' taq ewan rutzij jun chik okik'amaya'l.",
   "manual_migration_cancel_button": "Mani matyox",
   "manual_migration_import_button": "Tijik' pe",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
+  "section_menu_action_remove_section": "Tiyuj Tanaj",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Titz'aqatisäx K'ïy Ruwinaq Ruxaq K'amaya'l"
+  "section_menu_action_add_topsite": "Titz'aqatisäx K'ïy Ruwinaq Ruxaq K'amaya'l",
+  "section_menu_action_move_up": "Tijotob'äx",
+  "section_menu_action_move_down": "Tiqasäx qa",
+  "section_menu_action_privacy_notice": "Ichinan na'oj",
+  "section_info_option": "Rutzijol",
+  "section_info_privacy_notice": "Rutzijol Ichinanem",
+  "settings_pane_bookmarks_body": "Ri taq awajowab'äl k'a ri xenuk' pa jun utziläj k'ojlib'äl.",
+  "settings_pane_visit_again_body": "Firefox  xtuk'ut pe jalajoj taq rub'eyal ri b'anob'äl richin rukusaxik ri k'amaya'l rik'in jub'a' nawajo' nanataj chuqa' yatikir natzu' chik.",
+  "edit_topsites_button_label": "Tab'ana' runuk'ulem ri kitanaj Nimaläj taq Ruxaq K'amaya'l",
+  "edit_topsites_showmore_button": "Kek'ut pe ch'aqa' chik",
+  "edit_topsites_showless_button": "Tik'ut Jub'a'",
+  "edit_topsites_done_button": "Xb'an",
+  "edit_topsites_pin_button": "Tixim re k'amaya'l re'",
+  "edit_topsites_unpin_button": "Tosq'opïx re ruxaq k'amaya'l re'",
+  "edit_topsites_dismiss_button": "Tiyuj re ruxaq k'amaya'l re'",
+  "edit_topsites_add_button": "Titz'aqatisäx",
+  "pocket_feedback_header": "Ri rutzil k'amaya'l, aq'oman kuma 25 t'ijt'äq chi winäq."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nový panel</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Vyhledat na webu</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Vyhledat na webu" title="Vyhledat na webu"/><button id="searchSubmit" class="search-button" title="Vyhledat"><span class="sr-only"><span>Vyhledat</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top stránky<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Doporučení ze služby Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populární témata:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Vybrané</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Vyhledat na webu</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Vyhledat na webu" title="Vyhledat na webu"/><button id="searchSubmit" class="search-button" title="Vyhledat"><span class="sr-only"><span>Vyhledat</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top stránky<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Doporučení ze služby Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populární témata:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Vybrané</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Uložit do služby Pocket",
   "menu_action_delete_pocket": "Smazat ze služby Pocket",
   "menu_action_archive_pocket": "Archivovat do služby Pocket",
   "search_for_something_with": "Vyhledat {search_term} pomocí:",
   "search_button": "Vyhledat",
   "search_header": "Vyhledat pomocí {search_engine_name}",
   "search_web_placeholder": "Vyhledat na webu",
   "search_settings": "Změnit nastavení vyhledávání",
-  "section_info_option": "Informace",
   "section_info_send_feedback": "Zpětná vazba",
-  "section_info_privacy_notice": "Zásady ochrany soukromí",
   "section_disclaimer_topstories": "Nejzajímavější příběhy na webu vybrané podle toho, co sami čtete. To je služba Pocket od Mozilly.",
   "section_disclaimer_topstories_linktext": "Zjistit, jak to funguje.",
   "section_disclaimer_topstories_buttontext": "Ok, rozumím",
   "welcome_title": "Vítejte na stránce nového panelu",
   "welcome_body": "Tady Firefox zobrazí nejrelevantnější záložky, články, videa a stránky, které jste nedávno navštívili. Návrat k nim je tak velmi jednoduchý.",
   "welcome_label": "Rozpoznávání Vybraných stránek",
   "time_label_less_than_minute": "< 1 min",
   "time_label_minute": "{number} min",
   "time_label_hour": "{number} h",
   "time_label_day": "{number} d",
+  "prefs_home_header": "Obsah domovské stránky Firefoxu",
+  "prefs_home_description": "Vyberte si obsah, který chcete na domovské stránce svého Firefoxu.",
+  "prefs_restore_defaults_button": "Obnovit výchozí",
+  "prefs_section_rows_option": "{num} řádek;{num} řádky;{num} řádků",
+  "prefs_search_header": "Vyhledávání na webu",
+  "prefs_topsites_description": "Nejnavštěvovanější stránky",
+  "prefs_topstories_description": "Kvalitní obsah, o který byste jinak mohli přijít",
+  "prefs_topstories_show_sponsored_label": "Sponzorované příběhy ze služby {provider}",
+  "prefs_topstories_sponsored_learn_more": "Zjistit více",
+  "prefs_highlights_description": "Výběr stránek, které jste si uložili nebo navštívili",
+  "prefs_snippets_description": "Informace od Mozilly a o Firefoxu",
   "settings_pane_button_label": "Přizpůsobení stránky nového panelu",
   "settings_pane_header": "Předvolby nového panelu",
   "settings_pane_body2": "Vyberte, co chcete na této stránce vidět.",
   "settings_pane_search_header": "Vyhledávání",
   "settings_pane_search_body": "Vyhledávání na webu rovnou ze stránky nového panelu.",
   "settings_pane_topsites_header": "Top stránky",
   "settings_pane_topsites_body": "Přístup k nejčastěji navštěvovaným stránkám.",
   "settings_pane_topsites_options_showmore": "Zobrazit dva řádky",
   "settings_pane_bookmarks_header": "Nedávno přidané záložky",
-  "settings_pane_bookmarks_body": "Vaše nově přidané záložky na místě hned po ruce.",
   "settings_pane_visit_again_header": "Znovu navštívit",
-  "settings_pane_visit_again_body": "Firefox vám ukáže některé položky z vaší historie prohlížení, které byste si mohli chtít připomenout nebo se k nim vrátit.",
   "settings_pane_highlights_header": "Vybrané",
   "settings_pane_highlights_body2": "Najděte cestu zpět k zajímavým věcem, které jste nedávno viděli nebo uložili do záložek.",
   "settings_pane_highlights_options_bookmarks": "Záložky",
   "settings_pane_highlights_options_visited": "Navštívené stránky",
   "settings_pane_snippets_header": "Útržky",
   "settings_pane_snippets_body": "Přečtěte si krátké zprávy od Mozilly o Firefoxu, internetu a občas i náhodné memy a hlášky.",
   "settings_pane_done_button": "Hotovo",
   "settings_pane_topstories_options_sponsored": "Zobrazit sponzorované příběhy",
   "edit_topsites_button_text": "Upravit",
-  "edit_topsites_button_label": "Upravit oddíl Top stránek",
-  "edit_topsites_showmore_button": "Zobrazit více",
-  "edit_topsites_showless_button": "Zobrazit méně",
-  "edit_topsites_done_button": "Hotovo",
-  "edit_topsites_pin_button": "Připnout tuto stránku",
-  "edit_topsites_unpin_button": "Odepnout tuto stránku",
   "edit_topsites_edit_button": "Upravit tuto stránku",
-  "edit_topsites_dismiss_button": "Skrýt tuto stránku",
-  "edit_topsites_add_button": "Přidat",
   "topsites_form_add_header": "Nová top stránka",
   "topsites_form_edit_header": "Upravit top stránku",
   "topsites_form_title_label": "Nadpis",
   "topsites_form_title_placeholder": "Zadejte název",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL adresa vlastního obrázku",
   "topsites_form_url_placeholder": "Zadejte nebo vložte URL adresu",
+  "topsites_form_use_image_link": "Používejte vlastní obrázek…",
+  "topsites_form_preview_button": "Náhled",
   "topsites_form_add_button": "Přidat",
   "topsites_form_save_button": "Uložit",
   "topsites_form_cancel_button": "Zrušit",
   "topsites_form_url_validation": "Je vyžadována platná URL",
+  "topsites_form_image_validation": "Obrázek se nepodařilo načíst. Zkuste jinou URL adresu.",
   "pocket_read_more": "Populární témata:",
   "pocket_read_even_more": "Zobrazit více příběhů",
-  "pocket_feedback_header": "To nejlepší na webu podle hodnocení více než 25 milionů lidí.",
   "pocket_description": "Objevte obsah s vysokou kvalitou, který byste mohli jinak propásnout. Pomůže vám služby Pocket od Mozilly.",
   "highlights_empty_state": "Začněte prohlížet a my vám zde ukážeme některé skvělé články, videa a další stránky, které jste nedávno viděli nebo uložili do záložek.",
   "topstories_empty_state": "Už jste všechno přečetli. Další příběhy ze služby {provider} tu najdete zase později. Ale pokud se nemůžete dočkat, vyberte své oblíbené téma a podívejte se na další velké příběhy z celého webu.",
   "manual_migration_explanation2": "Vyzkoušejte Firefox se záložkami, historií a hesly z jiného vašeho prohlížeče.",
   "manual_migration_cancel_button": "Ne, děkuji",
   "manual_migration_import_button": "Importovat nyní",
   "error_fallback_default_info": "Jejda, při načítání tohoto obsahu se něco pokazilo.",
   "error_fallback_default_refresh_suggestion": "Obnovte prosím stránku a zkuste to znovu.",
   "section_menu_action_remove_section": "Odebrat sekci",
   "section_menu_action_collapse_section": "Sbalit sekci",
   "section_menu_action_expand_section": "Rozbalit sekci",
   "section_menu_action_manage_section": "Nastavení sekce",
   "section_menu_action_add_topsite": "Přidat mezi top stránky",
   "section_menu_action_move_up": "Posunout nahoru",
   "section_menu_action_move_down": "Posunout dolů",
-  "section_menu_action_privacy_notice": "Zásady ochrany soukromí"
+  "section_menu_action_privacy_notice": "Zásady ochrany soukromí",
+  "section_info_option": "Informace",
+  "section_info_privacy_notice": "Zásady ochrany soukromí",
+  "settings_pane_bookmarks_body": "Vaše nově přidané záložky na místě hned po ruce.",
+  "settings_pane_visit_again_body": "Firefox vám ukáže některé položky z vaší historie prohlížení, které byste si mohli chtít připomenout nebo se k nim vrátit.",
+  "edit_topsites_button_label": "Upravit oddíl Top stránek",
+  "edit_topsites_showmore_button": "Zobrazit více",
+  "edit_topsites_showless_button": "Zobrazit méně",
+  "edit_topsites_done_button": "Hotovo",
+  "edit_topsites_pin_button": "Připnout tuto stránku",
+  "edit_topsites_unpin_button": "Odepnout tuto stránku",
+  "edit_topsites_dismiss_button": "Skrýt tuto stránku",
+  "edit_topsites_add_button": "Přidat",
+  "pocket_feedback_header": "To nejlepší na webu podle hodnocení více než 25 milionů lidí."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tab Newydd</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Chwilio&#x27;r We</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Chwilio&#x27;r We" title="Chwilio&#x27;r We"/><button id="searchSubmit" class="search-button" title="Chwilio"><span class="sr-only"><span>Chwilio</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Hoff Wefannau<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Argymhellwyd gan Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Pynciau Poblogaidd:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Goreuon</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Chwilio&#x27;r We</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Chwilio&#x27;r We" title="Chwilio&#x27;r We"/><button id="searchSubmit" class="search-button" title="Chwilio"><span class="sr-only"><span>Chwilio</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Hoff Wefannau<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Argymhellwyd gan Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Pynciau Poblogaidd:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Goreuon</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Cadw i Pocket",
   "menu_action_delete_pocket": "Dileu o Pocket",
   "menu_action_archive_pocket": "Archifo i Pocket",
   "search_for_something_with": "Chwilio am {search_term} gyda:",
   "search_button": "Chwilio",
   "search_header": "{search_engine_name} Chwilio",
   "search_web_placeholder": "Chwilio'r We",
   "search_settings": "Newid y Gosodiadau Chwilio",
-  "section_info_option": "Gwybodaeth",
   "section_info_send_feedback": "Anfon Adborth",
-  "section_info_privacy_notice": "Hysbysiad Preifatrwydd",
   "section_disclaimer_topstories": "Y straeon mwyaf diddorol ar y we, wedi eu dewis ar sail yr hyn rydych yn eu darllen. Gan Pocket, sydd nawr yn rhan o Mozilla.",
   "section_disclaimer_topstories_linktext": "Dyma sut mae'n gweithio...",
   "section_disclaimer_topstories_buttontext": "Iawn, deall",
   "welcome_title": "Croeso i dab newydd",
   "welcome_body": "Bydd Firefox yn defnyddio'r gofod hwn i ddangos y nodau tudalen, erthyglau, fideos a thudalennau mwyaf perthnasol i chi, a thudalennau fuoch yn ymweld â nhw'n ddiweddar, fel bod modd i chi ddychwelydd atyn nhw'n hawdd.",
   "welcome_label": "Adnabod eich Goreuon",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}a",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Cynnwys Cartref Firefox",
+  "prefs_home_description": "Dewis pa gynnwys rydych eisiau ar eich sgrin Firefox Cartref.",
+  "prefs_restore_defaults_button": "Adfer y Rhagosodedig",
+  "prefs_section_rows_option": "{num} rhes;{num} rhes",
+  "prefs_search_header": "Chwilio'r We",
+  "prefs_topsites_description": "Y gwefannau rydych yn ymweld â nhw amlaf",
+  "prefs_topstories_description": "Cynnwys o safon uchel y gallech chi fod yn eu colli",
+  "prefs_topstories_show_sponsored_label": "Straeon Noddedig {provider}",
+  "prefs_topstories_sponsored_learn_more": "Dysgu rhagor",
+  "prefs_highlights_description": "Detholiad o wefannau rydych wedi eu cadw neu ymweld â nhw",
+  "prefs_snippets_description": "Diweddariadau gan Mozilla a Firefox",
   "settings_pane_button_label": "Cyfaddasu eich tudalen Tab Newydd",
   "settings_pane_header": "Dewisiadau Tab Newydd",
   "settings_pane_body2": "Dewis beth fyddwch yn ei weld ar y dudalen hon.",
   "settings_pane_search_header": "Chwilio",
   "settings_pane_search_body": "Chwilio'r We o'ch tab newydd.",
   "settings_pane_topsites_header": "Hoff Wefannau",
   "settings_pane_topsites_body": "Cael mynediad at y gwefannau rydych yn ymweld â nhw amlaf.",
   "settings_pane_topsites_options_showmore": "Dangos dwy res",
   "settings_pane_bookmarks_header": "Nodau Tudalen Diweddar",
-  "settings_pane_bookmarks_body": "Eich nodau tudalen diweddaraf mewn un lleoliad hwylus.",
   "settings_pane_visit_again_header": "Ymweld Eto",
-  "settings_pane_visit_again_body": "Gall Firefox ddangos i chi rannau o'ch hanes pori yr hoffech eu cofio neu fynd nôl atyn nhw.",
   "settings_pane_highlights_header": "Goreuon",
   "settings_pane_highlights_body2": "Mynd yn ôl at bethau diddorol rydych wedi ymweld â nhw neu osod nod tudalen iddyn nhw.",
   "settings_pane_highlights_options_bookmarks": "Nodau Tudalen",
   "settings_pane_highlights_options_visited": "Gwefannau Ymwelwyd â Nhw",
   "settings_pane_snippets_header": "Tameidiau",
   "settings_pane_snippets_body": "Darllenwch ddiweddariadau cryno gan Mozilla am Firefox, diwylliant y Rhyngrwyd ac weithiau meme ar hap.",
   "settings_pane_done_button": "Gorffen",
   "settings_pane_topstories_options_sponsored": "Dangos Straeon wedi eu Noddi",
   "edit_topsites_button_text": "Golygu",
-  "edit_topsites_button_label": "Cyfaddasu eich adran Hoff Wefannau",
-  "edit_topsites_showmore_button": "Dangos rhagor",
-  "edit_topsites_showless_button": "Dangos llai",
-  "edit_topsites_done_button": "Gorffen",
-  "edit_topsites_pin_button": "Pinio'r wefan",
-  "edit_topsites_unpin_button": "Dad-binio'r wefan",
   "edit_topsites_edit_button": "Golygu'r wefan",
-  "edit_topsites_dismiss_button": "Dileu'r wefan",
-  "edit_topsites_add_button": "Ychwanegu",
   "topsites_form_add_header": "Hoff Wefan Newydd",
   "topsites_form_edit_header": "Golygu'r Hoff Wefan",
   "topsites_form_title_label": "Teitl",
   "topsites_form_title_placeholder": "Rhoi teitl",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL Delwedd Gyfaddas",
   "topsites_form_url_placeholder": "Teipio neu ludo URL",
+  "topsites_form_use_image_link": "Defnyddio delwedd gyfaddas…",
+  "topsites_form_preview_button": "Rhagolwg",
   "topsites_form_add_button": "Ychwanegu",
   "topsites_form_save_button": "Cadw",
   "topsites_form_cancel_button": "Diddymu",
   "topsites_form_url_validation": "Mae angen URL Ddilys",
+  "topsites_form_image_validation": "Methodd y ddelwedd â llwytho. Defnyddiwch URL gwahanol.",
   "pocket_read_more": "Pynciau Poblogaidd:",
   "pocket_read_even_more": "Gweld Rhagor o Straeon",
-  "pocket_feedback_header": "Y gorau o'r we, wedi ei gasglu gan dros 25 miliwn o bobl.",
   "pocket_description": "Darganfyddwch gynnwys o ansawdd uchel y byddech o bosib yn eu colli, gyda chymorth gan Pocket, sy nawr yn rhan o Mozilla.",
   "highlights_empty_state": "Cychwynnwch bori ac fe ddangoswn rhai erthyglau, fideos a thudalennau eraill difyr rydych wedi ymweld â nhw'n ddiweddar neu wedi gosod nod tudalen arnyn nhw yma.",
   "topstories_empty_state": "Rydych wedi dal i fynDewch nôl rhywbryd eto am fwy o'r straeon pwysicaf gan {provider}. Methu aros? Dewiswch bwnc poblogaidd i ganfod straeon da o ar draws y we. ",
   "manual_migration_explanation2": "Profwch Firefox gyda nodau tudalen, hanes a chyfrineiriau o borwr arall.",
   "manual_migration_cancel_button": "Dim Diolch",
   "manual_migration_import_button": "Mewnforio Nawr",
   "error_fallback_default_info": "Wps, aeth rhywbeth o'i le wrth llwytho'r cynnwys hwn.",
   "error_fallback_default_refresh_suggestion": "Adnewyddu'r dudalen i geisio eto.",
   "section_menu_action_remove_section": "Tynnu'r Adran",
   "section_menu_action_collapse_section": "Cau'r Adran",
   "section_menu_action_expand_section": "Estyn yr Adran",
   "section_menu_action_manage_section": "Rheoli'r Adran",
   "section_menu_action_add_topsite": "Ychwanegu Hoff Wefan",
   "section_menu_action_move_up": "Symud i Fyny",
   "section_menu_action_move_down": "Symud i Lawr",
-  "section_menu_action_privacy_notice": "Hysbysiad Preifatrwydd"
+  "section_menu_action_privacy_notice": "Hysbysiad Preifatrwydd",
+  "section_info_option": "Gwybodaeth",
+  "section_info_privacy_notice": "Hysbysiad Preifatrwydd",
+  "settings_pane_bookmarks_body": "Eich nodau tudalen diweddaraf mewn un lleoliad hwylus.",
+  "settings_pane_visit_again_body": "Gall Firefox ddangos i chi rannau o'ch hanes pori yr hoffech eu cofio neu fynd nôl atyn nhw.",
+  "edit_topsites_button_label": "Cyfaddasu eich adran Hoff Wefannau",
+  "edit_topsites_showmore_button": "Dangos rhagor",
+  "edit_topsites_showless_button": "Dangos llai",
+  "edit_topsites_done_button": "Gorffen",
+  "edit_topsites_pin_button": "Pinio'r wefan",
+  "edit_topsites_unpin_button": "Dad-binio'r wefan",
+  "edit_topsites_dismiss_button": "Dileu'r wefan",
+  "edit_topsites_add_button": "Ychwanegu",
+  "pocket_feedback_header": "Y gorau o'r we, wedi ei gasglu gan dros 25 miliwn o bobl."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/da/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/da/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nyt faneblad</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søg på internettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søg på internettet" title="Søg på internettet"/><button id="searchSubmit" class="search-button" title="Søg"><span class="sr-only"><span>Søg</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Mest besøgte websider<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Anbefalet af Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emner:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Fremhævede</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søg på internettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søg på internettet" title="Søg på internettet"/><button id="searchSubmit" class="search-button" title="Søg"><span class="sr-only"><span>Søg</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Mest besøgte websider<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Anbefalet af Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emner:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Fremhævede</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/da/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/da/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Gem til Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Søg efter {search_term} med:",
   "search_button": "Søg",
   "search_header": "{search_engine_name}-søgning",
   "search_web_placeholder": "Søg på internettet",
   "search_settings": "Skift søgeindstillinger",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Send feedback",
-  "section_info_privacy_notice": "Privatlivspolitik",
   "section_disclaimer_topstories": "De mest interessante historier på nettet, udvalgt på baggrund af det, du læser. Fra Pocket, nu en del af Mozilla.",
   "section_disclaimer_topstories_linktext": "Læs hvordan det fungerer.",
   "section_disclaimer_topstories_buttontext": "Ok, forstået",
   "welcome_title": "Velkommen til nyt faneblad",
   "welcome_body": "Firefox vil bruge denne plads til at vise dine mest relevante bogmærker, artikler, videoer og sider, du har besøgt for nylig - så kan du nemmere finde dem.",
   "welcome_label": "Finder dine vigtigste sider",
   "time_label_less_than_minute": "<1 m.",
   "time_label_minute": "{number} m.",
   "time_label_hour": "{number} t.",
   "time_label_day": "{number} d.",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Tilpas siden Nyt faneblad",
   "settings_pane_header": "Indstillinger for Nyt faneblad",
   "settings_pane_body2": "Vælg, hvad du vil se på denne side.",
   "settings_pane_search_header": "Søgning",
   "settings_pane_search_body": "Søg på nettet fra Nyt faneblad.",
   "settings_pane_topsites_header": "Mest besøgte websider",
   "settings_pane_topsites_body": "Adgang til de websider, du besøger oftest.",
   "settings_pane_topsites_options_showmore": "Vis to rækker",
   "settings_pane_bookmarks_header": "Seneste bogmærker",
-  "settings_pane_bookmarks_body": "Dine seneste bogmærker samlet ét sted.",
   "settings_pane_visit_again_header": "Besøg igen",
-  "settings_pane_visit_again_body": "Firefox viser dig dele af din browserhistorik, som du måske vil huske på eller vende tilbage til.",
   "settings_pane_highlights_header": "Fremhævede",
   "settings_pane_highlights_body2": "Find tilbage til interessant indhold, du har besøgt eller gemt et bogmærke til for nylig.",
   "settings_pane_highlights_options_bookmarks": "Bogmærker",
   "settings_pane_highlights_options_visited": "Besøgte websider",
   "settings_pane_snippets_header": "Notitser",
   "settings_pane_snippets_body": "Læs korte opdateringer fra Mozilla om Firefox, internet-kultur og lidt underholdning fra tid til anden.",
   "settings_pane_done_button": "Færdig",
   "settings_pane_topstories_options_sponsored": "Vis sponsorerede historier",
   "edit_topsites_button_text": "Rediger",
-  "edit_topsites_button_label": "Tilpas afsnittet Mest besøgte websider",
-  "edit_topsites_showmore_button": "Vis flere",
-  "edit_topsites_showless_button": "Vis færre",
-  "edit_topsites_done_button": "Færdig",
-  "edit_topsites_pin_button": "Fastgør denne webside",
-  "edit_topsites_unpin_button": "Frigør denne webside",
   "edit_topsites_edit_button": "Rediger denne webside",
-  "edit_topsites_dismiss_button": "Afvis denne webside",
-  "edit_topsites_add_button": "Tilføj",
   "topsites_form_add_header": "Ny webside",
   "topsites_form_edit_header": "Rediger mest besøgte webside",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Indtast en titel",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Indtast eller indsæt en URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Tilføj",
   "topsites_form_save_button": "Gem",
   "topsites_form_cancel_button": "Annuller",
   "topsites_form_url_validation": "Gyldig URL påkrævet",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Populære emner:",
   "pocket_read_even_more": "Se flere historier",
-  "pocket_feedback_header": "Det bedste fra nettet, udvalgt af mere end 25 millioner mennesker.",
   "pocket_description": "Opdag indhold af høj kvalitet, som du måske ellers ikke ville have opdaget. Indholdet kommer fra Pocket, der nu er en del af Mozilla.",
   "highlights_empty_state": "Gå i gang med at browse, så vil vi vise dig nogle af de artikler, videoer og andre sider, du har besøgt eller gemt et bogmærke til for nylig.",
   "topstories_empty_state": "Der er ikke flere nye historier. Kom tilbage senere for at se flere tophistorier fra {provider}. Kan du ikke vente? Vælg et populært emne og find flere spændende historier fra hele verden.",
   "manual_migration_explanation2": "Prøv Firefox med bogmærkerne, historikken og adgangskoderne fra en anden browser.",
   "manual_migration_cancel_button": "Nej tak",
   "manual_migration_import_button": "Importer nu",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Tilføj ny webside"
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Privatlivspolitik",
+  "settings_pane_bookmarks_body": "Dine seneste bogmærker samlet ét sted.",
+  "settings_pane_visit_again_body": "Firefox viser dig dele af din browserhistorik, som du måske vil huske på eller vende tilbage til.",
+  "edit_topsites_button_label": "Tilpas afsnittet Mest besøgte websider",
+  "edit_topsites_showmore_button": "Vis flere",
+  "edit_topsites_showless_button": "Vis færre",
+  "edit_topsites_done_button": "Færdig",
+  "edit_topsites_pin_button": "Fastgør denne webside",
+  "edit_topsites_unpin_button": "Frigør denne webside",
+  "edit_topsites_dismiss_button": "Afvis denne webside",
+  "edit_topsites_add_button": "Tilføj",
+  "edit_topsites_add_button_tooltip": "Tilføj ny webside",
+  "pocket_feedback_header": "Det bedste fra nettet, udvalgt af mere end 25 millioner mennesker."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/de/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/de/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Neuer Tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Das Web durchsuchen</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Das Web durchsuchen" title="Das Web durchsuchen"/><button id="searchSubmit" class="search-button" title="Suchen"><span class="sr-only"><span>Suchen</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Wichtige Seiten<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Empfohlen von Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Beliebte Themen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Überblick</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Das Web durchsuchen</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Das Web durchsuchen" title="Das Web durchsuchen"/><button id="searchSubmit" class="search-button" title="Suchen"><span class="sr-only"><span>Suchen</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Wichtige Seiten<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Empfohlen von Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Beliebte Themen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Überblick</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/de/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/de/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Bei Pocket speichern",
   "menu_action_delete_pocket": "Aus Pocket löschen",
   "menu_action_archive_pocket": "In Pocket archivieren",
   "search_for_something_with": "Nach {search_term} suchen mit:",
   "search_button": "Suchen",
   "search_header": "{search_engine_name}-Suche",
   "search_web_placeholder": "Das Web durchsuchen",
   "search_settings": "Sucheinstellungen ändern",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Feedback senden",
-  "section_info_privacy_notice": "Datenschutzhinweis",
   "section_disclaimer_topstories": "Die interessanten Geschichten im Internet, ausgewählt nach Ihrem Geschmack. Von Pocket, jetzt Teil von Mozilla.",
   "section_disclaimer_topstories_linktext": "Erfahren Sie, wie es funktioniert.",
   "section_disclaimer_topstories_buttontext": "Ok, verstanden",
   "welcome_title": "Willkommen im neuen Tab",
   "welcome_body": "Firefox nutzt diesen Bereich, um Ihnen Ihre wichtigsten Lesezeichen, Artikel, Videos und kürzlich besuchten Seiten anzuzeigen, damit Sie diese einfach wiederfinden.",
   "welcome_label": "Auswahl Ihrer wichtigsten Seiten",
   "time_label_less_than_minute": "< 1 min",
   "time_label_minute": "{number} m",
   "time_label_hour": "{number} h",
   "time_label_day": "{number} t",
+  "prefs_home_header": "Inhalte des Firefox-Startbildschirms",
+  "prefs_home_description": "Wählen Sie, welche Inhalte auf Ihrem Firefox-Startbildschirm angezeigt werden sollen.",
+  "prefs_restore_defaults_button": "Standard wiederherstellen",
+  "prefs_section_rows_option": "{num} Zeile;{num} Zeilen",
+  "prefs_search_header": "Internetsuche",
+  "prefs_topsites_description": "Die von die Ihnen am meisten besuchten Websites",
+  "prefs_topstories_description": "Qualitativ hochwertige Inhalte, die Sie sonst verpassen",
+  "prefs_topstories_show_sponsored_label": "Gesponserte Geschichten von {provider}",
+  "prefs_topstories_sponsored_learn_more": "Weitere Informationen",
+  "prefs_highlights_description": "Eine Auswahl von Websites, die Sie gespeichert oder besucht haben",
+  "prefs_snippets_description": "Neuigkeiten von Mozilla und Firefox",
   "settings_pane_button_label": "Einstellungen für neue Tabs anpassen",
   "settings_pane_header": "Einstellungen für neue Tabs",
   "settings_pane_body2": "Wählen Sie aus, was auf dieser Seite angezeigt wird.",
   "settings_pane_search_header": "Suche",
   "settings_pane_search_body": "Suchen Sie aus einem neuen Tab im Internet.",
   "settings_pane_topsites_header": "Wichtige Seiten",
   "settings_pane_topsites_body": "Schneller Zugriff auf Ihre meistbesuchten Websites.",
   "settings_pane_topsites_options_showmore": "Zwei Reihen anzeigen",
   "settings_pane_bookmarks_header": "Neue Lesezeichen",
-  "settings_pane_bookmarks_body": "Ihre neu erstellten Lesezeichen ganz bequem an einem Ort.",
   "settings_pane_visit_again_header": "Erneut besuchen",
-  "settings_pane_visit_again_body": "Firefox zeigt Ihnen Teile Ihrer Surf-Chronik, die Sie sich vielleicht merken oder erneut besuchen möchten.",
   "settings_pane_highlights_header": "Überblick",
   "settings_pane_highlights_body2": "Finden Sie schnell wieder zu den wichtigen Seiten zurück, die Sie kürzlich besucht oder als Lesezeichen gespeichert haben.",
   "settings_pane_highlights_options_bookmarks": "Lesezeichen",
   "settings_pane_highlights_options_visited": "Besuchte Websites",
   "settings_pane_snippets_header": "Kurzinformationen",
   "settings_pane_snippets_body": "Lesen Sie kurze Neuigkeiten von Mozilla über Firefox, die Internetkultur und gelegentlich mal ein Meme.",
   "settings_pane_done_button": "Fertig",
   "settings_pane_topstories_options_sponsored": "Gesponserte Geschichten anzeigen",
   "edit_topsites_button_text": "Bearbeiten",
-  "edit_topsites_button_label": "Anpassen der wichtigen Seiten",
-  "edit_topsites_showmore_button": "Mehr anzeigen",
-  "edit_topsites_showless_button": "Weniger anzeigen",
-  "edit_topsites_done_button": "Fertig",
-  "edit_topsites_pin_button": "Website immer in aktueller Position anzeigen",
-  "edit_topsites_unpin_button": "Diese Website ablösen",
   "edit_topsites_edit_button": "Diese Website bearbeiten",
-  "edit_topsites_dismiss_button": "Website entfernen",
-  "edit_topsites_add_button": "Hinzufügen",
   "topsites_form_add_header": "Neue wichtige Seite",
   "topsites_form_edit_header": "Wichtige Seite bearbeiten",
   "topsites_form_title_label": "Titel",
   "topsites_form_title_placeholder": "Name eingeben",
   "topsites_form_url_label": "Adresse",
+  "topsites_form_image_url_label": "URL von benutzerdefinierter Grafik",
   "topsites_form_url_placeholder": "Eine Adresse eingeben oder einfügen",
+  "topsites_form_use_image_link": "Eine benutzerdefinierte Grafik verwenden…",
+  "topsites_form_preview_button": "Vorschau",
   "topsites_form_add_button": "Hinzufügen",
   "topsites_form_save_button": "Speichern",
   "topsites_form_cancel_button": "Abbrechen",
   "topsites_form_url_validation": "Gültige URL erforderlich",
+  "topsites_form_image_validation": "Grafik konnte nicht geladen werden. Verwenden Sie eine andere URL.",
   "pocket_read_more": "Beliebte Themen:",
   "pocket_read_even_more": "Weitere Nachrichten ansehen",
-  "pocket_feedback_header": "Das Beste aus dem Web, zusammengetragen von 25 Millionen Menschen.",
   "pocket_description": "Entdecken Sie qualitativ hochwertige Inhalte mithilfe von Pocket (jetzt Teil von Mozilla), die Sie ansonsten verpassen würden.",
   "highlights_empty_state": "Surfen Sie los und wir zeigen Ihnen hier einige der interessanten Artikel, Videos und anderen Seiten, die Sie kürzlich besucht oder als Lesezeichen gespeichert haben.",
   "topstories_empty_state": "Jetzt kennen Sie die Neuigkeiten. Schauen Sie später wieder vorbei, um neue Informationen von {provider} zu erhalten. Können Sie nicht warten? Wählen Sie ein beliebtes Thema und lesen Sie weitere interessante Geschichten aus dem Internet.",
   "manual_migration_explanation2": "Probieren Sie Firefox aus und importieren Sie die Lesezeichen, Chronik und Passwörter eines anderen Browsers.",
   "manual_migration_cancel_button": "Nein, danke",
   "manual_migration_import_button": "Jetzt importieren",
   "error_fallback_default_info": "Beim Laden dieses Inhalts ist ein Fehler aufgetreten.",
   "error_fallback_default_refresh_suggestion": "Aktualisieren Sie die Seite, um es erneut zu versuchen.",
   "section_menu_action_remove_section": "Abschnitt entfernen",
   "section_menu_action_collapse_section": "Abschnitt einklappen",
   "section_menu_action_expand_section": "Abschnitt ausklappen",
   "section_menu_action_manage_section": "Abschnitt verwalten",
   "section_menu_action_add_topsite": "Wichtige Seite hinzufügen",
   "section_menu_action_move_up": "Nach oben schieben",
   "section_menu_action_move_down": "Nach unten schieben",
-  "section_menu_action_privacy_notice": "Datenschutzhinweis"
+  "section_menu_action_privacy_notice": "Datenschutzhinweis",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Datenschutzhinweis",
+  "settings_pane_bookmarks_body": "Ihre neu erstellten Lesezeichen ganz bequem an einem Ort.",
+  "settings_pane_visit_again_body": "Firefox zeigt Ihnen Teile Ihrer Surf-Chronik, die Sie sich vielleicht merken oder erneut besuchen möchten.",
+  "edit_topsites_button_label": "Anpassen der wichtigen Seiten",
+  "edit_topsites_showmore_button": "Mehr anzeigen",
+  "edit_topsites_showless_button": "Weniger anzeigen",
+  "edit_topsites_done_button": "Fertig",
+  "edit_topsites_pin_button": "Website immer in aktueller Position anzeigen",
+  "edit_topsites_unpin_button": "Diese Website ablösen",
+  "edit_topsites_dismiss_button": "Website entfernen",
+  "edit_topsites_add_button": "Hinzufügen",
+  "pocket_feedback_header": "Das Beste aus dem Web, zusammengetragen von 25 Millionen Menschen."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nowy rejtark</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web pśepytaś</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web pśepytaś" title="Web pśepytaś"/><button id="searchSubmit" class="search-button" title="Pytaś"><span class="sr-only"><span>Pytaś</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Nejcesćej woglědane sedła<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Wót Pocket dopórucony</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Woblubowane temy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wjerški</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web pśepytaś</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web pśepytaś" title="Web pśepytaś"/><button id="searchSubmit" class="search-button" title="Pytaś"><span class="sr-only"><span>Pytaś</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Nejcesćej woglědane sedła<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Wót Pocket dopórucony</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Woblubowane temy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wjerški</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pla Pocket składowaś",
   "menu_action_delete_pocket": "Z Pocket wulašowaś",
   "menu_action_archive_pocket": "W Pocket archiwěrowaś",
   "search_for_something_with": "Za {search_term} pytaś z:",
   "search_button": "Pytaś",
   "search_header": "Z {search_engine_name} pytaś",
   "search_web_placeholder": "Web pśepytaś",
   "search_settings": "Pytańske nastajenja změniś",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Komentar pósłaś",
-  "section_info_privacy_notice": "Powěźeńka priwatnosći",
   "section_disclaimer_topstories": "Nejzajmnjejše tšojenja we webje, wubrane na zakłaźe togo, což sćo cytał. Z Pocket, něnto źěl Mozilla.",
   "section_disclaimer_topstories_linktext": "Zgóńśo, kak to funkcioněrujo.",
   "section_disclaimer_topstories_buttontext": "W pórěźe, som zrozměł",
   "welcome_title": "Witajśo k nowemu rejtarkoju",
   "welcome_body": "Firefox buźo toś ten rum wužywaś, aby waše nejwažnjejše cytańske znamjenja, nastawki, wideo a rowno woglědane boki pokazał, aby mógł se lažko k nim wrośiś.",
   "welcome_label": "Wuběranje wašych nejwažnjejšych bokow",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number} m",
   "time_label_hour": "{number} h",
   "time_label_day": "{number} d",
+  "prefs_home_header": "Wopśimjeśe startowego boka Firefox",
+  "prefs_home_description": "Wubjeŕśo, kótare wopśimjeśe cośo na swójej startowej wobrazowce Firefox měś.",
+  "prefs_restore_defaults_button": "Standard wótnowiś",
+  "prefs_section_rows_option": "{num} smužka;{num} smužce;{num}smužki;{num} smužkow",
+  "prefs_search_header": "Webpytanje",
+  "prefs_topsites_description": "Sedła, ku kótarymž se nejcesćej woglědujośo",
+  "prefs_topstories_description": "Wopšimjeśe wusokeje kwality, kótarež howac snaź zapasośo",
+  "prefs_topstories_show_sponsored_label": "Sponsorowane tšojenja wót {provider}",
+  "prefs_topstories_sponsored_learn_more": "Dalšne informacije",
+  "prefs_highlights_description": "Wuběrk websedłow, kótarež sćo składował abo se woglědał",
+  "prefs_snippets_description": "Aktualizacije wót Mozilla a Firefox",
   "settings_pane_button_label": "Bok wašogo nowego rejtarka pśiměriś",
   "settings_pane_header": "Nastajenja nowego rejtarka składowaś",
   "settings_pane_body2": "Wubjeŕśo, což se na toś tom boku pokazujo.",
   "settings_pane_search_header": "Pytaś",
   "settings_pane_search_body": "Pśepytajśo web ze swójogo nowego rejtarka.",
   "settings_pane_topsites_header": "Nejcesćej woglědane sedła",
   "settings_pane_topsites_body": "Wócyńśo websedła, kótarež sćo se nejcesćej woglědał.",
   "settings_pane_topsites_options_showmore": "Dwě smužki pokazaś",
   "settings_pane_bookmarks_header": "Nejnowše cytańske znamjenja",
-  "settings_pane_bookmarks_body": "Waše nowo załožone cytańske znamjenja ned k ruce.",
   "settings_pane_visit_again_header": "Hyšći raz se woglědaś",
-  "settings_pane_visit_again_body": "Firefox wam źěle wašeje pśeglědowańskeje historije pokazaś, kótarež cośo se snaź spomnjeś abo na kótarež cośo slědk pśiś.",
   "settings_pane_highlights_header": "Wjerški",
   "settings_pane_highlights_body2": "Namakajśo swóju drogu slědk k zajmnym bokam, kótarež sćo se njedawno woglědał abo ako cytańske znamjenja składł.",
   "settings_pane_highlights_options_bookmarks": "Cytańske znamjenja",
   "settings_pane_highlights_options_visited": "Woglědane sedła",
   "settings_pane_snippets_header": "Kuski",
   "settings_pane_snippets_body": "Cytajśo krotke aktualizacije wót Mozilla wó Firefox, internetnej kulturje a casy meme.",
   "settings_pane_done_button": "Gótowo",
   "settings_pane_topstories_options_sponsored": "Sponsorowane tšojenja pokazaś",
   "edit_topsites_button_text": "Wobźěłaś",
-  "edit_topsites_button_label": "Pśiměrśo wótrězk swójich nejcesćej woglědanych sedłow",
-  "edit_topsites_showmore_button": "Wěcej pokazaś",
-  "edit_topsites_showless_button": "Mjenjej pokazaś",
-  "edit_topsites_done_button": "Gótowo",
-  "edit_topsites_pin_button": "Sedło pśipěś",
-  "edit_topsites_unpin_button": "Toś to sedło wótpěś",
   "edit_topsites_edit_button": "Toś to sedło wobźěłaś",
-  "edit_topsites_dismiss_button": "Sedło zachyśiś",
-  "edit_topsites_add_button": "Pśidaś",
   "topsites_form_add_header": "Nowe nejcesćej woglědane sedło",
   "topsites_form_edit_header": "Nejcesćej woglědane sedło wobźěłaś",
   "topsites_form_title_label": "Titel",
   "topsites_form_title_placeholder": "Titel zapódaś",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL swójskego wobraza",
   "topsites_form_url_placeholder": "URL zapódaś abo zasajźiś",
+  "topsites_form_use_image_link": "Swójski wobraz wužywaś…",
+  "topsites_form_preview_button": "Pśeglěd",
   "topsites_form_add_button": "Pśidaś",
   "topsites_form_save_button": "Składowaś",
   "topsites_form_cancel_button": "Pśetergnuś",
   "topsites_form_url_validation": "Płaśiwy URL trěbny",
+  "topsites_form_image_validation": "Wobraz njedajo se zacytaś. Wopytajśo drugi URL.",
   "pocket_read_more": "Woblubowane temy:",
   "pocket_read_even_more": "Dalšne powěźeńki se woglědaś",
-  "pocket_feedback_header": "Nejlěpše z weba, zezběrane wót wěcej ako 25 milionow luźi.",
   "pocket_description": "Namakajśo wopśimjeśe wusokeje kwality, kótarež by hować wjelgin felowało, z pomocu Pocket, kótaryž jo něnto źěl Mozilla.",
   "highlights_empty_state": "Zachopśo pśeglědowaś, a pokažomy někotare wjelicne nastawki, wideo a druge boki, kótarež sćo se njedawno woglědał abo how ako cytańske znamjenja składował.",
   "topstories_empty_state": "To jo nachylu wšykno. Wrośćo se pózdźej wjelicnych tšojeńkow dla wót {provider}. Njamóžośo cakaś? Wubjeŕśo woblubowanu temu, aby dalšne wjelicne tšojeńka we webje namakał.",
   "manual_migration_explanation2": "Wopytajśo Firefox z cytanskimi znamjenjami, historiju a gronidłami z drugego wobglědowaka.",
   "manual_migration_cancel_button": "Ně, źěkujom se",
   "manual_migration_import_button": "Něnto importěrowaś",
   "error_fallback_default_info": "Hopla, pśi cytanju toś togo wopśimjeśa njejo se něco raźiło.",
   "error_fallback_default_refresh_suggestion": "Aktualizěrujśo bok, aby hyšći raz wopytał.",
   "section_menu_action_remove_section": "Wótrězk wótwónoźeś",
   "section_menu_action_collapse_section": "Wótrězk schowaś",
   "section_menu_action_expand_section": "Wótrězk pokazaś",
   "section_menu_action_manage_section": "Wótrězk zastojaś",
   "section_menu_action_add_topsite": "Woblubowane sedło pśidaś",
   "section_menu_action_move_up": "Górjej",
   "section_menu_action_move_down": "Dołoj",
-  "section_menu_action_privacy_notice": "Powěźeńka priwatnosći"
+  "section_menu_action_privacy_notice": "Powěźeńka priwatnosći",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Powěźeńka priwatnosći",
+  "settings_pane_bookmarks_body": "Waše nowo załožone cytańske znamjenja ned k ruce.",
+  "settings_pane_visit_again_body": "Firefox wam źěle wašeje pśeglědowańskeje historije pokazaś, kótarež cośo se snaź spomnjeś abo na kótarež cośo slědk pśiś.",
+  "edit_topsites_button_label": "Pśiměrśo wótrězk swójich nejcesćej woglědanych sedłow",
+  "edit_topsites_showmore_button": "Wěcej pokazaś",
+  "edit_topsites_showless_button": "Mjenjej pokazaś",
+  "edit_topsites_done_button": "Gótowo",
+  "edit_topsites_pin_button": "Sedło pśipěś",
+  "edit_topsites_unpin_button": "Toś to sedło wótpěś",
+  "edit_topsites_dismiss_button": "Sedło zachyśiś",
+  "edit_topsites_add_button": "Pśidaś",
+  "pocket_feedback_header": "Nejlěpše z weba, zezběrane wót wěcej ako 25 milionow luźi."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/el/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/el/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Νέα καρτέλα</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Αναζήτηση στον ιστό</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Αναζήτηση στον ιστό" title="Αναζήτηση στον ιστό"/><button id="searchSubmit" class="search-button" title="Αναζήτηση"><span class="sr-only"><span>Αναζήτηση</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Κορυφαίες ιστοσελίδες<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Προτεινόμενο από τον πάροχο Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Δημοφιλή θέματα:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Κορυφαίες στιγμές</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Αναζήτηση στον ιστό</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Αναζήτηση στον ιστό" title="Αναζήτηση στον ιστό"/><button id="searchSubmit" class="search-button" title="Αναζήτηση"><span class="sr-only"><span>Αναζήτηση</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Κορυφαίες ιστοσελίδες<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Προτεινόμενο από τον πάροχο Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Δημοφιλή θέματα:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Κορυφαίες στιγμές</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/el/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/el/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Αποθήκευση στο Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Αναζήτηση για {search_term} με:",
   "search_button": "Αναζήτηση",
   "search_header": "Αναζήτηση {search_engine_name}",
   "search_web_placeholder": "Αναζήτηση στον ιστό",
   "search_settings": "Αλλαγή ρυθμίσεων αναζήτησης",
-  "section_info_option": "Πληροφορίες",
   "section_info_send_feedback": "Αποστολή σχολίων",
-  "section_info_privacy_notice": "Σημείωση απορρήτου",
   "section_disclaimer_topstories": "Οι πιο ενδιαφέρουσες ιστορίες στο διαδίκτυο, επιλεγμένες βάσει όσων διαβάζετε. Από το Pocket, πλέον μέλος της Mozilla.",
   "section_disclaimer_topstories_linktext": "Μάθετε πώς λειτουργεί.",
   "section_disclaimer_topstories_buttontext": "Εντάξει, το 'πιασα",
   "welcome_title": "Καλώς ορίσατε στη νέα καρτέλα",
   "welcome_body": "Το Firefox θα χρησιμοποιήσει αυτό το χώρο για να εμφανίσει τους πιο σχετικούς σελιδοδείκτες, άρθρα, βίντεο και σελίδες που επισκεφθήκατε πρόσφατα, ώστε να έχετε εύκολη πρόσβαση.",
   "welcome_label": "Αναγνώριση κορυφαίων στιγμών",
   "time_label_less_than_minute": "<1λ",
   "time_label_minute": "{number}λ",
   "time_label_hour": "{number}ώ",
   "time_label_day": "{number}η",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Προσαρμογή της σελίδας Νέας Καρτέλας",
   "settings_pane_header": "Προτιμήσεις νέας καρτέλας",
   "settings_pane_body2": "Επιλέξτε τι θα βλέπετε σε αυτή τη σελίδα.",
   "settings_pane_search_header": "Αναζήτηση",
   "settings_pane_search_body": "Αναζήτηση στο διαδίκτυο από τη νέα σας καρτέλα.",
   "settings_pane_topsites_header": "Κορυφαίες ιστοσελίδες",
   "settings_pane_topsites_body": "Πρόσβαση στις ιστοσελίδες που επισκέπτεστε περισσότερο.",
   "settings_pane_topsites_options_showmore": "Εμφάνιση δύο σειρών",
   "settings_pane_bookmarks_header": "Πρόσφατοι σελιδοδείκτες",
-  "settings_pane_bookmarks_body": "Οι νέοι σας σελιδοδείκτες σε μια βολική τοποθεσία.",
   "settings_pane_visit_again_header": "Επίσκεψη ξανά",
-  "settings_pane_visit_again_body": "Το Firefox θα σάς δείξει μέρη του ιστορικού περιήγησής σας που ίσως θέλετε να θυμηθείτε ή να επισκεφθείτε ξανά.",
   "settings_pane_highlights_header": "Κορυφαίες στιγμές",
   "settings_pane_highlights_body2": "Βρείτε ξανά κάτι ενδιαφέρον που έχετε επισκεφθεί πρόσφατα ή έχετε αποθηκεύσει στους σελιδοδείκτες σας.",
   "settings_pane_highlights_options_bookmarks": "Σελιδοδείκτες",
   "settings_pane_highlights_options_visited": "Πρόσφατες ιστοσελίδες",
   "settings_pane_snippets_header": "Αποσπάσματα",
   "settings_pane_snippets_body": "Διαβάστε σύντομες και όμορφες ενημερώσεις από τη Mozilla σχετικά με το Firefox, το διαδικτυακό πολιτισμό και τα περιστασιακά, τυχαία memes.",
   "settings_pane_done_button": "Τέλος",
   "settings_pane_topstories_options_sponsored": "Εμφάνιση χορηγούμενων ιστοριών",
   "edit_topsites_button_text": "Επεξεργασία",
-  "edit_topsites_button_label": "Προσαρμογή της ενότητας Κορυφαίες Ιστοσελίδες",
-  "edit_topsites_showmore_button": "Εμφάνιση περισσότερων",
-  "edit_topsites_showless_button": "Εμφάνιση λιγότερων",
-  "edit_topsites_done_button": "Τέλος",
-  "edit_topsites_pin_button": "Καρφίτσωμα ιστοσελίδας",
-  "edit_topsites_unpin_button": "Ξεκαρφίτσωμα ιστοσελίδας",
   "edit_topsites_edit_button": "Επεξεργασία ιστοσελίδας",
-  "edit_topsites_dismiss_button": "Απόρριψη ιστοσελίδας",
-  "edit_topsites_add_button": "Προσθήκη",
   "topsites_form_add_header": "Νέα κορυφαία ιστοσελίδα",
   "topsites_form_edit_header": "Επεξεργασία κορυφαίας ιστοσελίδας",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Εισάγετε έναν τίτλο",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Πληκτρολόγηση ή επικόλληση ενός URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Προσθήκη",
   "topsites_form_save_button": "Αποθήκευση",
   "topsites_form_cancel_button": "Ακύρωση",
   "topsites_form_url_validation": "Απαιτείται έγκυρο URL",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Δημοφιλή θέματα:",
   "pocket_read_even_more": "Προβολή περισσότερων ιστοριών",
-  "pocket_feedback_header": "Τα καλύτερα του διαδικτύου, παρέχονται από πάνω από 25 εκατομμύρια άτομα.",
   "pocket_description": "Ανακαλύψτε περιεχόμενο υψηλής ακρίβειας που ίσως να χάνατε διαφορετικά, με τη βοήθεια του Pocket, μέλους της Mozilla.",
   "highlights_empty_state": "Ξεκινήστε την περιήγηση και θα σάς δείξουμε μερικά υπέροχα άρθρα, βίντεο και άλλες σελίδες που έχετε επισκεφθεί πρόσφατα ή έχετε προσθέσει στους σελιδοδείκτες σας.",
   "topstories_empty_state": "Δεν υπάρχει κάτι νεότερο. Ελέγξτε αργότερα για περισσότερες ιστορίες από τον πάροχο {provider}. Δεν μπορείτε να περιμένετε; Διαλέξτε κάποιο από τα δημοφιλή θέματα και ανακαλύψτε ενδιαφέρουσες ιστορίες από όλο τον Ιστό.",
   "manual_migration_explanation2": "Δοκιμάστε το Firefox με τους σελιδοδείκτες, το ιστορικό και τους κωδικούς πρόσβασης από ένα άλλο πρόγραμμα περιήγησης.",
   "manual_migration_cancel_button": "Όχι ευχαριστώ",
   "manual_migration_import_button": "Εισαγωγή τώρα",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Προσθήκη κορυφαίας ιστοσελίδας"
+  "section_info_option": "Πληροφορίες",
+  "section_info_privacy_notice": "Σημείωση απορρήτου",
+  "settings_pane_bookmarks_body": "Οι νέοι σας σελιδοδείκτες σε μια βολική τοποθεσία.",
+  "settings_pane_visit_again_body": "Το Firefox θα σάς δείξει μέρη του ιστορικού περιήγησής σας που ίσως θέλετε να θυμηθείτε ή να επισκεφθείτε ξανά.",
+  "edit_topsites_button_label": "Προσαρμογή της ενότητας Κορυφαίες Ιστοσελίδες",
+  "edit_topsites_showmore_button": "Εμφάνιση περισσότερων",
+  "edit_topsites_showless_button": "Εμφάνιση λιγότερων",
+  "edit_topsites_done_button": "Τέλος",
+  "edit_topsites_pin_button": "Καρφίτσωμα ιστοσελίδας",
+  "edit_topsites_unpin_button": "Ξεκαρφίτσωμα ιστοσελίδας",
+  "edit_topsites_dismiss_button": "Απόρριψη ιστοσελίδας",
+  "edit_topsites_add_button": "Προσθήκη",
+  "edit_topsites_add_button_tooltip": "Προσθήκη κορυφαίας ιστοσελίδας",
+  "pocket_feedback_header": "Τα καλύτερα του διαδικτύου, παρέχονται από πάνω από 25 εκατομμύρια άτομα."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>New Tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top Sites<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top Sites<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Save to Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Search for {search_term} with:",
   "search_button": "Search",
   "search_header": "{search_engine_name} Search",
   "search_web_placeholder": "Search the Web",
   "search_settings": "Change Search Settings",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Send Feedback",
-  "section_info_privacy_notice": "Privacy Notice",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "Welcome to new tab",
   "welcome_body": "Firefox will use this space to show your most relevant bookmarks, articles, videos, and pages you’ve recently visited, so you can get back to them easily.",
   "welcome_label": "Identifying your Highlights",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Customise your New Tab page",
   "settings_pane_header": "New Tab Preferences",
   "settings_pane_body2": "Choose what you see on this page.",
   "settings_pane_search_header": "Search",
   "settings_pane_search_body": "Search the Web from your new tab.",
   "settings_pane_topsites_header": "Top Sites",
   "settings_pane_topsites_body": "Access the web sites you visit most.",
   "settings_pane_topsites_options_showmore": "Show two rows",
   "settings_pane_bookmarks_header": "Recent Bookmarks",
-  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
   "settings_pane_visit_again_header": "Visit Again",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "Highlights",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "Bookmarks",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Done",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "Edit",
-  "edit_topsites_button_label": "Customise your Top Sites section",
-  "edit_topsites_showmore_button": "Show more",
-  "edit_topsites_showless_button": "Show less",
-  "edit_topsites_done_button": "Done",
-  "edit_topsites_pin_button": "Pin this site",
-  "edit_topsites_unpin_button": "Unpin this site",
   "edit_topsites_edit_button": "Edit this site",
-  "edit_topsites_dismiss_button": "Dismiss this site",
-  "edit_topsites_add_button": "Add",
   "topsites_form_add_header": "Top Sites",
   "topsites_form_edit_header": "Edit Top Site",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Enter a title",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Type or paste a URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Add",
   "topsites_form_save_button": "Save",
   "topsites_form_cancel_button": "Cancel",
   "topsites_form_url_validation": "Valid URL required",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Popular Topics:",
   "pocket_read_even_more": "View More Stories",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Privacy Notice",
+  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
+  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
+  "edit_topsites_button_label": "Customise your Top Sites section",
+  "edit_topsites_showmore_button": "Show more",
+  "edit_topsites_showless_button": "Show less",
+  "edit_topsites_done_button": "Done",
+  "edit_topsites_pin_button": "Pin this site",
+  "edit_topsites_unpin_button": "Unpin this site",
+  "edit_topsites_dismiss_button": "Dismiss this site",
+  "edit_topsites_add_button": "Add",
+  "pocket_feedback_header": "The best of the web, curated by over 25 million people."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>New Tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top Sites<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top Sites<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Save to Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Search for {search_term} with:",
   "search_button": "Search",
   "search_header": "{search_engine_name} Search",
   "search_web_placeholder": "Search the Web",
   "search_settings": "Change Search Settings",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Send Feedback",
-  "section_info_privacy_notice": "Privacy Notice",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "Welcome to new tab",
   "welcome_body": "Firefox will use this space to show your most relevant bookmarks, articles, videos, and pages you’ve recently visited, so you can get back to them easily.",
   "welcome_label": "Identifying your Highlights",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Customize your New Tab page",
   "settings_pane_header": "New Tab Preferences",
   "settings_pane_body2": "Choose what you see on this page.",
   "settings_pane_search_header": "Search",
   "settings_pane_search_body": "Search the Web from your new tab.",
   "settings_pane_topsites_header": "Top Sites",
   "settings_pane_topsites_body": "Access the websites you visit most.",
   "settings_pane_topsites_options_showmore": "Show two rows",
   "settings_pane_bookmarks_header": "Recent Bookmarks",
-  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
   "settings_pane_visit_again_header": "Visit Again",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "Highlights",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "Bookmarks",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Done",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "Edit",
-  "edit_topsites_button_label": "Customize your Top Sites section",
-  "edit_topsites_showmore_button": "Show More",
-  "edit_topsites_showless_button": "Show Fewer",
-  "edit_topsites_done_button": "Done",
-  "edit_topsites_pin_button": "Pin this site",
-  "edit_topsites_unpin_button": "Unpin this site",
   "edit_topsites_edit_button": "Edit this site",
-  "edit_topsites_dismiss_button": "Dismiss this site",
-  "edit_topsites_add_button": "Add",
   "topsites_form_add_header": "New Top Site",
   "topsites_form_edit_header": "Edit Top Site",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Enter a title",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Type or paste a URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Add",
   "topsites_form_save_button": "Save",
   "topsites_form_cancel_button": "Cancel",
   "topsites_form_url_validation": "Valid URL required",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Popular Topics:",
   "pocket_read_even_more": "View More Stories",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Privacy Notice",
+  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
+  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
+  "edit_topsites_button_label": "Customise your Top Sites section",
+  "edit_topsites_showmore_button": "Show more",
+  "edit_topsites_showless_button": "Show less",
+  "edit_topsites_done_button": "Done",
+  "edit_topsites_pin_button": "Pin this site",
+  "edit_topsites_unpin_button": "Unpin this site",
+  "edit_topsites_dismiss_button": "Dismiss this site",
+  "edit_topsites_add_button": "Add",
+  "pocket_feedback_header": "The best of the web, curated by over 25 million people."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nova langeto</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Serĉi la reton</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Serĉi la reton" title="Serĉi la reton"/><button id="searchSubmit" class="search-button" title="Serĉi"><span class="sr-only"><span>Serĉi</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Plej vizititaj<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomendita de Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Ĉefaj temoj:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Elstaraĵoj</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Serĉi la reton</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Serĉi la reton" title="Serĉi la reton"/><button id="searchSubmit" class="search-button" title="Serĉi"><span class="sr-only"><span>Serĉi</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Plej vizititaj<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomendita de Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Ĉefaj temoj:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Elstaraĵoj</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Konservi en Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Serĉi {search_term} per:",
   "search_button": "Serĉi",
   "search_header": "Serĉo de {search_engine_name}",
   "search_web_placeholder": "Serĉi la reton",
   "search_settings": "Modifi serĉajn agordojn",
-  "section_info_option": "Informo",
   "section_info_send_feedback": "Sendi komentojn",
-  "section_info_privacy_notice": "Rimarko pri privateco",
   "section_disclaimer_topstories": "La plej interesaj artikoloj en la reto, elektitaj surbaze de tio, kion vi legas. Hecho por Pocket, kiu estas nun parto de Mozilla.",
   "section_disclaimer_topstories_linktext": "Vidi kiel tio funkcias.",
   "section_disclaimer_topstories_buttontext": "En ordo, mi komprenis",
   "welcome_title": "Bonvenon al nova langeto",
   "welcome_body": "Firefox uzos tiun ĉi spacon por montri al vi viajn plej gravajn legosignojn, artikolojn, filmetojn kaj paĝojn, kiujn vi vizitis antaŭ nelonge, tiel ke vi povos reiri al ili facile.",
   "welcome_label": "Elstaraĵoj identigataj",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}t",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Personecigi la paĝon por novaj langetoj",
   "settings_pane_header": "Preferoj pri nova langeto",
   "settings_pane_body2": "Elektu tion, kion vi vidas en tiu ĉi paĝo.",
   "settings_pane_search_header": "Serĉi",
   "settings_pane_search_body": "Serĉi la Teksaĵon el via nova langeto.",
   "settings_pane_topsites_header": "Plej vizitaj",
   "settings_pane_topsites_body": "Aliri la plej ofte vizitajn retejojn.",
   "settings_pane_topsites_options_showmore": "Montri en du vicoj",
   "settings_pane_bookmarks_header": "Ĵusaj legosignoj",
-  "settings_pane_bookmarks_body": "Viaj ĵus kreitaj legosignoj, ĉemane.",
   "settings_pane_visit_again_header": "Viziti denove",
-  "settings_pane_visit_again_body": "Firefox montros al vi partojn de via retuma historio, kiujn vi eble volas memori aŭ viziti denove.",
   "settings_pane_highlights_header": "Elstaraĵoj",
   "settings_pane_highlights_body2": "Retrovu la vojon reen al interesaj aferoj, kiujn vi antaŭ nelonge vizitis aŭ por kiuj vi aldonis legosignon.",
   "settings_pane_highlights_options_bookmarks": "Legosignoj",
   "settings_pane_highlights_options_visited": "Vizititaj retejoj",
   "settings_pane_snippets_header": "Fragmentoj",
   "settings_pane_snippets_body": "Legu mallongaj novaĵojn de Mozila pri Firefox, interreta kulturo kaj, de tempo al tempo, hazarda «meme».",
   "settings_pane_done_button": "Farita",
   "settings_pane_topstories_options_sponsored": "Montri patronitajn artikolojn",
   "edit_topsites_button_text": "Redakti",
-  "edit_topsites_button_label": "Personecigi la sekcion 'plej vizititaj'",
-  "edit_topsites_showmore_button": "Montri pli",
-  "edit_topsites_showless_button": "Montri malpli",
-  "edit_topsites_done_button": "Farita",
-  "edit_topsites_pin_button": "Alpingli ĉi tiun retejon",
-  "edit_topsites_unpin_button": "Depingli tiun ĉi retejon",
   "edit_topsites_edit_button": "Redakti ĉi tiun retejon",
-  "edit_topsites_dismiss_button": "Ignori ĉi tiun retejon",
-  "edit_topsites_add_button": "Aldoni",
   "topsites_form_add_header": "Nova ofta retejo",
   "topsites_form_edit_header": "Redakti oftan retejon",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Tajpu titolon",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Tajpu aŭ alguu retadreson",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Aldoni",
   "topsites_form_save_button": "Konservi",
   "topsites_form_cancel_button": "Nuligi",
   "topsites_form_url_validation": "Valida retadreso estas postulata",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Ĉefaj temoj:",
   "pocket_read_even_more": "Montri pli da artikoloj",
-  "pocket_feedback_header": "La plejbono el la Teksaĵo, reviziita de pli ol 25 milionoj da personoj.",
   "pocket_description": "Malkovru altkvalitan enhavon, kiun vi povus aliokaze neniam trovi, per helpo de Pocket, kiu nun estas parto de Mozilla.",
   "highlights_empty_state": "Komencu retumi kaj ĉi tie ni montros al vi kelkajn el la plej bonaj artikoloj, filmetoj kaj aliaj paĝoj, kiujn vi antaŭ nelonge vizits aŭ por kiuj vi aldonis legosignon.",
   "topstories_empty_state": "Vi legis ĉion. Kontrolu denove poste ĉu estas pli da novaĵon de {provider}. Ĉu vi ne povas atendi? Elektu popularan temon por trovi pli da interesaj artikoloj en la tuta teksaĵo.",
   "manual_migration_explanation2": "Provu Firefox kun la legosignoj, historio kaj pasvortoj de alia retumilo.",
   "manual_migration_cancel_button": "Ne, dankon",
   "manual_migration_import_button": "Importi nun",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Aldoni oftan retejon"
+  "section_info_option": "Informo",
+  "section_info_privacy_notice": "Rimarko pri privateco",
+  "settings_pane_bookmarks_body": "Viaj ĵus kreitaj legosignoj, ĉemane.",
+  "settings_pane_visit_again_body": "Firefox montros al vi partojn de via retuma historio, kiujn vi eble volas memori aŭ viziti denove.",
+  "edit_topsites_button_label": "Personecigi la sekcion 'plej vizititaj'",
+  "edit_topsites_showmore_button": "Montri pli",
+  "edit_topsites_showless_button": "Montri malpli",
+  "edit_topsites_done_button": "Farita",
+  "edit_topsites_pin_button": "Alpingli ĉi tiun retejon",
+  "edit_topsites_unpin_button": "Depingli tiun ĉi retejon",
+  "edit_topsites_dismiss_button": "Ignori ĉi tiun retejon",
+  "edit_topsites_add_button": "Aldoni",
+  "edit_topsites_add_button_tooltip": "Aldoni oftan retejon",
+  "pocket_feedback_header": "La plejbono el la Teksaĵo, reviziita de pli ol 25 milionoj da personoj."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nueva pestaña</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la web" title="Buscar en la web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Más visitados<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la web" title="Buscar en la web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Más visitados<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir el menú contextual de la sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir el menú contextual de la sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir el menú contextual de la sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-strings.js
@@ -6,17 +6,17 @@ window.gActivityStreamStrings = {
   "header_stories": "Historias principales",
   "header_highlights": "Destacados",
   "header_visit_again": "Visitar de nuevo",
   "header_bookmarks": "Marcadores recientes",
   "header_recommended_by": "Recomendado por {provider}",
   "header_bookmarks_placeholder": "Todavía no hay ningún marcador.",
   "header_stories_from": "de",
   "context_menu_button_sr": "Abrir el menú para {title}",
-  "section_context_menu_button_sr": "Abrir la sección menú contextual",
+  "section_context_menu_button_sr": "Abrir el menú contextual de la sección",
   "type_label_visited": "Visitados",
   "type_label_bookmarked": "Marcados",
   "type_label_synced": "Sincronizados de otro dispositivo",
   "type_label_recommended": "Tendencias",
   "type_label_pocket": "Guardado en Pocket",
   "type_label_open": "Abrir",
   "type_label_topic": "Tópico",
   "type_label_now": "Ahora",
@@ -28,89 +28,104 @@ window.gActivityStreamStrings = {
   "menu_action_open_private_window": "Abrir en nueva ventana privada",
   "menu_action_dismiss": "Descartar",
   "menu_action_delete": "Borrar del historial",
   "menu_action_pin": "Pegar",
   "menu_action_unpin": "Despegar",
   "confirm_history_delete_p1": "¿Está seguro de querer borrar cualquier instancia de esta página del historial?",
   "confirm_history_delete_notice_p2": "Esta acción no puede deshacerse.",
   "menu_action_save_to_pocket": "Guardar en Pocket",
-  "menu_action_delete_pocket": "Eliminar de Pocket",
+  "menu_action_delete_pocket": "Borrar de Pocket",
   "menu_action_archive_pocket": "Archivar en Pocket",
   "search_for_something_with": "Buscar {search_term} con:",
   "search_button": "Buscar",
   "search_header": "Buscar con {search_engine_name}",
   "search_web_placeholder": "Buscar en la web",
   "search_settings": "Cambiar opciones de búsqueda",
-  "section_info_option": "Información",
   "section_info_send_feedback": "Enviar opinión",
-  "section_info_privacy_notice": "Nota de privacidad",
   "section_disclaimer_topstories": "Las historias más interesantes en la web, seleccionadas en base a lo que lees. Gracias a Pocket, ahora parte de Mozilla.",
   "section_disclaimer_topstories_linktext": "Aprendé cómo funciona.",
   "section_disclaimer_topstories_buttontext": "Listo, lo entendí",
   "welcome_title": "Bienvenido a una nueva pestaña",
   "welcome_body": "Firefox usará este espacio para mostrar sus marcadores, artículos, videos y páginas más relevantes que se hayan visitado para poder volver más fácilmente.",
   "welcome_label": "Identificar los destacados",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Contenido de la página de inicio de Firefox",
+  "prefs_home_description": "Elija qué contenido desea en la Pantalla de inicio de Firefox.",
+  "prefs_restore_defaults_button": "Restaurar Predeterminados",
+  "prefs_section_rows_option": "fila de {num}; filas de {num}",
+  "prefs_search_header": "Búsqueda en la web",
+  "prefs_topsites_description": "Los sitios que más visita",
+  "prefs_topstories_description": "Contenido de alta calidad que de lo contrario podría pasar por alto",
+  "prefs_topstories_show_sponsored_label": "{provider} Historias patrocinadas",
+  "prefs_topstories_sponsored_learn_more": "Conocer más",
+  "prefs_highlights_description": "Una selección de sitios que guardó o visitó",
+  "prefs_snippets_description": "Actualizaciones de Mozilla y Firefox",
   "settings_pane_button_label": "Personalizar la página nueva pestaña",
   "settings_pane_header": "Preferencia de nueva pestaña",
   "settings_pane_body2": "Seleccionar lo que se ve en esta página.",
   "settings_pane_search_header": "Buscar",
   "settings_pane_search_body": "Buscar en la Web desde nueva pestaña.",
   "settings_pane_topsites_header": "Más visitados",
   "settings_pane_topsites_body": "Acceder a los sitios web más visitados.",
   "settings_pane_topsites_options_showmore": "Mostrar dos filas",
   "settings_pane_bookmarks_header": "Marcadores recientes",
-  "settings_pane_bookmarks_body": "Los marcadores recién creados en una ubicación cómoda.",
   "settings_pane_visit_again_header": "Visitar de nuevo",
-  "settings_pane_visit_again_body": "Firefox mostrará partes del historial de navegación que podría querer recordar o volver a visitar.",
   "settings_pane_highlights_header": "Destacados",
   "settings_pane_highlights_body2": "Encuentre el camino de vuelta a las páginas interesantes que visitó o que marcó como favorito.",
   "settings_pane_highlights_options_bookmarks": "Marcadores",
   "settings_pane_highlights_options_visited": "Sitios visitados",
   "settings_pane_snippets_header": "Recortes",
   "settings_pane_snippets_body": "Leer dulces actualizaciones cortas de Mozilla sobre Firefox, cultura de Internet y algún meme ocasional al azar.",
   "settings_pane_done_button": "Listo",
   "settings_pane_topstories_options_sponsored": "Mostrar historias patrocinadas",
   "edit_topsites_button_text": "Editar",
+  "edit_topsites_edit_button": "Editar este sitio",
+  "topsites_form_add_header": "Nuevo sitio más visitado",
+  "topsites_form_edit_header": "Editar sitio más visitado",
+  "topsites_form_title_label": "Título",
+  "topsites_form_title_placeholder": "Ingresar un título",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL de Imagen personalizada",
+  "topsites_form_url_placeholder": "Escribir o pegar URL",
+  "topsites_form_use_image_link": "Usar imagen personalizada…",
+  "topsites_form_preview_button": "Vista previa",
+  "topsites_form_add_button": "Agregar",
+  "topsites_form_save_button": "Guardar",
+  "topsites_form_cancel_button": "Cancelar",
+  "topsites_form_url_validation": "Se requiere URL válida",
+  "topsites_form_image_validation": "La imagen no se pudo cargar. Pruebe una URL diferente.",
+  "pocket_read_more": "Tópicos populares:",
+  "pocket_read_even_more": "Ver más historias",
+  "pocket_description": "Descubrir contenido de alta calidad que se podría perder de otra forma, con la ayuda de Pocket, ahora parte de Mozilla.",
+  "highlights_empty_state": "Comenzá a navegar y te mostraremos algunos de los mejores artículos, videos y otras páginas que hayás visitado o marcado acá.",
+  "topstories_empty_state": "Ya te pusiste al día. Volvé más tarde para más historias de {provider}. ¿No podés esperar? Seleccioná un tema popular para encontrar más historias de todo el mundo.",
+  "manual_migration_explanation2": "Probá Firefox con los marcadores, historial y contraseñas de otro navegador.",
+  "manual_migration_cancel_button": "No gracias",
+  "manual_migration_import_button": "Importar ahora",
+  "error_fallback_default_info": "Epa, algo salió mal al cargar este contenido.",
+  "error_fallback_default_refresh_suggestion": "Refrescar la página para reintentar.",
+  "section_menu_action_remove_section": "Eliminar sección",
+  "section_menu_action_collapse_section": "Colapsar sección",
+  "section_menu_action_expand_section": "Expandir sección",
+  "section_menu_action_manage_section": "Administrar sección",
+  "section_menu_action_add_topsite": "Agregar Sitio más visitado",
+  "section_menu_action_move_up": "Subir",
+  "section_menu_action_move_down": "Bajar",
+  "section_menu_action_privacy_notice": "Nota de privacidad",
+  "section_info_option": "Información",
+  "section_info_privacy_notice": "Nota de privacidad",
+  "settings_pane_bookmarks_body": "Los marcadores recién creados en una ubicación cómoda.",
+  "settings_pane_visit_again_body": "Firefox mostrará partes del historial de navegación que podría querer recordar o volver a visitar.",
   "edit_topsites_button_label": "Personalizar la sección de sitios más visitados",
   "edit_topsites_showmore_button": "Mostrar más",
   "edit_topsites_showless_button": "Mostrar menos",
   "edit_topsites_done_button": "Listo",
   "edit_topsites_pin_button": "Pegar este sitio",
   "edit_topsites_unpin_button": "Despegar este sitio",
-  "edit_topsites_edit_button": "Editar este sitio",
   "edit_topsites_dismiss_button": "Descartar este sitio",
   "edit_topsites_add_button": "Agregar",
-  "topsites_form_add_header": "Nuevo sitio más visitado",
-  "topsites_form_edit_header": "Editar sitio más visitado",
-  "topsites_form_title_label": "Título",
-  "topsites_form_title_placeholder": "Ingresar un título",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Escribir o pegar URL",
-  "topsites_form_add_button": "Agregar",
-  "topsites_form_save_button": "Guardar",
-  "topsites_form_cancel_button": "Cancelar",
-  "topsites_form_url_validation": "Se requiere URL válida",
-  "pocket_read_more": "Tópicos populares:",
-  "pocket_read_even_more": "Ver más historias",
   "pocket_feedback_header": "Lo mejor de la web, seleccionado por más de 25 millones de personas.",
-  "pocket_description": "Descubrir contenido de alta calidad que se podría perder de otra forma, con la ayuda de Pocket, ahora parte de Mozilla.",
-  "highlights_empty_state": "Comenzá a navegar y te mostraremos algunos de los mejores artículos, videos y otras páginas que hayás visitado o marcado acá.",
-  "topstories_empty_state": "Ya te pusiste al día. Volvé más tarde para más historias de {provider}. ¿No podés esperar? Seleccioná un tema popular para encontrar más historias de todo el mundo.",
-  "manual_migration_explanation2": "Probá Firefox con los marcadores, historial y contraseñas de otro navegador.",
-  "manual_migration_cancel_button": "No gracias",
-  "manual_migration_import_button": "Importar ahora",
-  "error_fallback_default_info": "Lo sentimos, algo salió mal al cargar el contenido.",
-  "error_fallback_default_refresh_suggestion": "Recarga la página e intentálo de nuevo.",
-  "section_menu_action_remove_section": "Eliminar sección",
-  "section_menu_action_collapse_section": "Contraer sección",
-  "section_menu_action_expand_section": "Expandir sección",
-  "section_menu_action_manage_section": "Gestionar sección",
-  "section_menu_action_add_topsite": "Añadir sitio popular",
-  "section_menu_action_move_up": "Subir",
-  "section_menu_action_move_down": "Bajar",
-  "section_menu_action_privacy_notice": "Aviso de privacidad",
-  "edit_topsites_add_button_tooltip": "Agregar Sitio más visitado"
+  "edit_topsites_add_button_tooltip": "Agregar sitio popular"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nueva pestaña</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sitios frecuentes<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sitios frecuentes<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir sección del menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir sección del menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir sección del menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-strings.js
@@ -6,17 +6,17 @@ window.gActivityStreamStrings = {
   "header_stories": "Historias populares",
   "header_highlights": "Destacados",
   "header_visit_again": "Volver a visitar",
   "header_bookmarks": "Marcadores recientes",
   "header_recommended_by": "Recomendado por {provider}",
   "header_bookmarks_placeholder": "Todavía no tienes marcadores.",
   "header_stories_from": "de",
   "context_menu_button_sr": "Abrir menú contextual para {title}",
-  "section_context_menu_button_sr": "Abrir la sección menú contextual",
+  "section_context_menu_button_sr": "Abrir sección del menú contextual",
   "type_label_visited": "Visitado",
   "type_label_bookmarked": "Marcado",
   "type_label_synced": "Sacado de otro dispositivo",
   "type_label_recommended": "Popular",
   "type_label_pocket": "Guardado en Pocket",
   "type_label_open": "Abrir",
   "type_label_topic": "Tema",
   "type_label_now": "Ahora",
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Guardar en Pocket",
   "menu_action_delete_pocket": "Eliminar de Pocket",
   "menu_action_archive_pocket": "Archivar en Pocket",
   "search_for_something_with": "Buscar {search_term} con:",
   "search_button": "Buscar",
   "search_header": "Búsqueda de {search_engine_name}",
   "search_web_placeholder": "Buscar en la Web",
   "search_settings": "Cambiar ajustes de búsqueda",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Enviar comentario",
-  "section_info_privacy_notice": "Aviso de privacidad",
   "section_disclaimer_topstories": "Las historias más interesantes en la web, seleccionadas en base a lo que tu lees. Por Pocket, ahora parte de Mozilla.",
   "section_disclaimer_topstories_linktext": "Aprender cómo funciona.",
   "section_disclaimer_topstories_buttontext": "Ok, ¡ya caché!",
   "welcome_title": "Bienvenido a la nueva pestaña",
   "welcome_body": "Firefox usará este espacio para mostrarte los marcadores, artículos, videos y páginas visitadas recientemente más relevantes, para que puedas regresar a ellos de una.",
   "welcome_label": "Identificando tus destacados",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Contenido de la página de inicio de Firefox",
+  "prefs_home_description": "Elige qué contenido quieres en tu pantalla de inicio de Firefox.",
+  "prefs_restore_defaults_button": "Restaurar predeterminados",
+  "prefs_section_rows_option": "{num} fila;{num} filas",
+  "prefs_search_header": "Búsqueda web",
+  "prefs_topsites_description": "Los sitios que más visitas",
+  "prefs_topstories_description": "Contenido de alta calidad que de otra forma te lo perderías",
+  "prefs_topstories_show_sponsored_label": "Historias patrocinadas de {provider}",
+  "prefs_topstories_sponsored_learn_more": "Aprender más",
+  "prefs_highlights_description": "Una selección de sitios que guardaste o visitaste",
+  "prefs_snippets_description": "Actualizaciones de Mozilla y Firefox",
   "settings_pane_button_label": "Personaliza tu página de Nueva pestaña",
   "settings_pane_header": "Preferencias de Nueva pestaña",
   "settings_pane_body2": "Elige qué es lo que ves en esta página.",
   "settings_pane_search_header": "Buscar",
   "settings_pane_search_body": "Busca en la Web desde tu nueva pestaña.",
   "settings_pane_topsites_header": "Sitios frecuentes",
   "settings_pane_topsites_body": "Accede a los sitios que más visitas.",
   "settings_pane_topsites_options_showmore": "Mostrar dos filas",
   "settings_pane_bookmarks_header": "Marcadores recientes",
-  "settings_pane_bookmarks_body": "Tus marcadores recién creados en un lugar accesible.",
   "settings_pane_visit_again_header": "Volver a visitar",
-  "settings_pane_visit_again_body": "Firefox te mostrará partes de tu historial de navegación que podrías querer recordar o volver a visitar.",
   "settings_pane_highlights_header": "Destacados",
   "settings_pane_highlights_body2": "Encuentra tu camino de regreso a las cosas interesantes que ya has visitado o marcado.",
   "settings_pane_highlights_options_bookmarks": "Marcadores",
   "settings_pane_highlights_options_visited": "Sitios visitados",
   "settings_pane_snippets_header": "Fragmentos",
   "settings_pane_snippets_body": "Lee breves y dulces actualizaciones de Mozilla sobre Firefox, la cultura de internet y un meme aleatorio ocasional.",
   "settings_pane_done_button": "Hecho",
   "settings_pane_topstories_options_sponsored": "Mostrar historias patrocinadas",
   "edit_topsites_button_text": "Editar",
+  "edit_topsites_edit_button": "Editar este sitio",
+  "topsites_form_add_header": "Nuevo sitio frecuente",
+  "topsites_form_edit_header": "Editar sitio frecuente",
+  "topsites_form_title_label": "Título",
+  "topsites_form_title_placeholder": "Ingresar un título",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL de imagen personalizada",
+  "topsites_form_url_placeholder": "Escribe o pega una URL",
+  "topsites_form_use_image_link": "Utilizar una imagen personalizada…",
+  "topsites_form_preview_button": "Vista previa",
+  "topsites_form_add_button": "Añadir",
+  "topsites_form_save_button": "Guardar",
+  "topsites_form_cancel_button": "Cancelar",
+  "topsites_form_url_validation": "URL válida requerida",
+  "topsites_form_image_validation": "Falló la carga de la imagen. Prueba una URL diferente.",
+  "pocket_read_more": "Temas populares:",
+  "pocket_read_even_more": "Ver más historias",
+  "pocket_description": "Descubre contenido de alta calidad que de otra forma te perderías, con la ayuda de Pocket, ahora parte de Mozilla.",
+  "highlights_empty_state": "Empieza a navegar, y nosotros te mostraremos aquí algunos de los mejores artículos, videos y otras páginas que hayas visitado recientemente o marcado.",
+  "topstories_empty_state": "Te has puesto al día. Revisa más tarde para ver más historias de {provider}. ¿No puedes esperar? Selecciona un tema popular para encontrar más historias de todo el mundo.",
+  "manual_migration_explanation2": "Prueba Firefox con los marcadores, historial y contraseñas de otro navegador.",
+  "manual_migration_cancel_button": "No, gracias",
+  "manual_migration_import_button": "Importar ahora",
+  "error_fallback_default_info": "Chuta, algo se fue a las pailas al cargar este contenido.",
+  "error_fallback_default_refresh_suggestion": "Recarga la página para volver a intentarlo.",
+  "section_menu_action_remove_section": "Eliminar sección",
+  "section_menu_action_collapse_section": "Contraer sección",
+  "section_menu_action_expand_section": "Expandir sección",
+  "section_menu_action_manage_section": "Gestionar sección",
+  "section_menu_action_add_topsite": "Añadir sitio frecuente",
+  "section_menu_action_move_up": "Subir",
+  "section_menu_action_move_down": "Bajar",
+  "section_menu_action_privacy_notice": "Aviso de privacidad",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Aviso de privacidad",
+  "settings_pane_bookmarks_body": "Tus marcadores recién creados en un lugar accesible.",
+  "settings_pane_visit_again_body": "Firefox te mostrará partes de tu historial de navegación que podrías querer recordar o volver a visitar.",
   "edit_topsites_button_label": "Personaliza tu sección de sitios frecuentes",
   "edit_topsites_showmore_button": "Mostrar más",
   "edit_topsites_showless_button": "Mostrar menos",
   "edit_topsites_done_button": "Hecho",
   "edit_topsites_pin_button": "Fijar este sitio",
   "edit_topsites_unpin_button": "Soltar este sitio",
-  "edit_topsites_edit_button": "Editar este sitio",
   "edit_topsites_dismiss_button": "Sacar este sitio",
   "edit_topsites_add_button": "Añadir",
-  "topsites_form_add_header": "Nuevo sitio frecuente",
-  "topsites_form_edit_header": "Editar sitio frecuente",
-  "topsites_form_title_label": "Título",
-  "topsites_form_title_placeholder": "Ingresar un título",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Escribe o pega una URL",
-  "topsites_form_add_button": "Añadir",
-  "topsites_form_save_button": "Guardar",
-  "topsites_form_cancel_button": "Cancelar",
-  "topsites_form_url_validation": "URL válida requerida",
-  "pocket_read_more": "Temas populares:",
-  "pocket_read_even_more": "Ver más historias",
   "pocket_feedback_header": "Lo mejor de la web, revisado por más de 25 millones de personas.",
-  "pocket_description": "Descubre contenido de alta calidad que de otra forma te perderías, con la ayuda de Pocket, ahora parte de Mozilla.",
-  "highlights_empty_state": "Empieza a navegar, y nosotros te mostraremos aquí algunos de los mejores artículos, videos y otras páginas que hayas visitado recientemente o marcado.",
-  "topstories_empty_state": "Te has puesto al día. Revisa más tarde para ver más historias de {provider}. ¿No puedes esperar? Selecciona un tema popular para encontrar más historias de todo el mundo.",
-  "manual_migration_explanation2": "Prueba Firefox con los marcadores, historial y contraseñas de otro navegador.",
-  "manual_migration_cancel_button": "No, gracias",
-  "manual_migration_import_button": "Importar ahora",
-  "error_fallback_default_info": "Lo sentimos, algo salió mal al cargar el contenido.",
-  "error_fallback_default_refresh_suggestion": "Recarga la página e intentálo de nuevo.",
-  "section_menu_action_remove_section": "Eliminar sección",
-  "section_menu_action_collapse_section": "Contraer sección",
-  "section_menu_action_expand_section": "Expandir sección",
-  "section_menu_action_manage_section": "Gestionar sección",
-  "section_menu_action_add_topsite": "Añadir sitio popular",
-  "section_menu_action_move_up": "Subir",
-  "section_menu_action_move_down": "Bajar",
-  "section_menu_action_privacy_notice": "Aviso de privacidad",
-  "edit_topsites_add_button_tooltip": "Añadir sitio frecuente"
+  "edit_topsites_add_button_tooltip": "Agregar sitio popular"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nueva pestaña</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sitios favoritos<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sitios favoritos<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Guardar en Pocket",
   "menu_action_delete_pocket": "Eliminar de Pocket",
   "menu_action_archive_pocket": "Archivar en Pocket",
   "search_for_something_with": "Buscar {search_term} con:",
   "search_button": "Buscar",
   "search_header": "Búsqueda de {search_engine_name}",
   "search_web_placeholder": "Buscar en la Web",
   "search_settings": "Cambiar ajustes de búsqueda",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Enviar comentario",
-  "section_info_privacy_notice": "Aviso de privacidad",
   "section_disclaimer_topstories": "Las historias más interesantes de la web, seleccionadas en base a lo que lees. Gracias a Pocket , ahora parte de Mozilla.",
   "section_disclaimer_topstories_linktext": "Aprende cómo funciona.",
   "section_disclaimer_topstories_buttontext": "Ok, entendido",
   "welcome_title": "Bienvenido a la nueva pestaña",
   "welcome_body": "Firefox utilizará este espacio para mostrarte los marcadores, artículos y vídeos más relevantes y las páginas que has visitado recientemente, para que puedas acceder más rápido.",
   "welcome_label": "Identificar lo más destacado para ti",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Contenido de la página de inicio de Firefox",
+  "prefs_home_description": "Selecciona el contenido que desea en la pantalla de inicio de Firefox.",
+  "prefs_restore_defaults_button": "Restaurar predeterminados",
+  "prefs_section_rows_option": "{num} fila{num} filas",
+  "prefs_search_header": "Búsqueda web",
+  "prefs_topsites_description": "Los sitios que más visita",
+  "prefs_topstories_description": "Contenido de alta calidad que de otra forma se perdería",
+  "prefs_topstories_show_sponsored_label": "{provider} Historias patrocinadas",
+  "prefs_topstories_sponsored_learn_more": "Más información",
+  "prefs_highlights_description": "Una selección de sitios que ha guardado o visitado",
+  "prefs_snippets_description": "Actualizaciones de Mozilla y Firefox",
   "settings_pane_button_label": "Personalizar la página Nueva pestaña",
   "settings_pane_header": "Preferencias de nueva pestaña",
   "settings_pane_body2": "Elige lo quieras ver en esta página.",
   "settings_pane_search_header": "Buscar",
   "settings_pane_search_body": "Busca en la Web desde tu nueva pestaña.",
   "settings_pane_topsites_header": "Sitios populares",
   "settings_pane_topsites_body": "Accede a las páginas que más visitas.",
   "settings_pane_topsites_options_showmore": "Mostrar dos líneas",
   "settings_pane_bookmarks_header": "Marcadores recientes",
-  "settings_pane_bookmarks_body": "Tus marcadores recién creados, fácilmente accesibles.",
   "settings_pane_visit_again_header": "Visitar de nuevo",
-  "settings_pane_visit_again_body": "Firefox te mostrará partes de tu historial de navegación que te gustaría recordar o volver a visitar.",
   "settings_pane_highlights_header": "Destacados",
   "settings_pane_highlights_body2": "Vuelve a encontrar todas las cosas interesantes que hayas visitado o marcado recientemente.",
   "settings_pane_highlights_options_bookmarks": "Marcadores",
   "settings_pane_highlights_options_visited": "Sitios visitados",
   "settings_pane_snippets_header": "Fragmentos de código",
   "settings_pane_snippets_body": "Lee actualizaciones breves de Mozilla sobre Firefox, la cultura de internet y el típico meme aleatorio.",
   "settings_pane_done_button": "Hecho",
   "settings_pane_topstories_options_sponsored": "Mostrar historias patrocinadas",
   "edit_topsites_button_text": "Editar",
-  "edit_topsites_button_label": "Personalizar la sección de Sitios populares",
-  "edit_topsites_showmore_button": "Mostrar más",
-  "edit_topsites_showless_button": "Mostrar menos",
-  "edit_topsites_done_button": "Hecho",
-  "edit_topsites_pin_button": "Fijar este sitio",
-  "edit_topsites_unpin_button": "Eliminar este sitio fijo",
   "edit_topsites_edit_button": "Editar este sitio",
-  "edit_topsites_dismiss_button": "Olvidar este sitio",
-  "edit_topsites_add_button": "Agregar",
   "topsites_form_add_header": "Nuevo sitio popular",
   "topsites_form_edit_header": "Editar sitio popular",
   "topsites_form_title_label": "Título",
   "topsites_form_title_placeholder": "Introducir título",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL de imagen personalizada",
   "topsites_form_url_placeholder": "Escribir o pegar una URL",
+  "topsites_form_use_image_link": "Utilizar una imagen personalizada…",
+  "topsites_form_preview_button": "Vista preliminar",
   "topsites_form_add_button": "Agregar",
   "topsites_form_save_button": "Guardar",
   "topsites_form_cancel_button": "Cancelar",
   "topsites_form_url_validation": "Se requiere una URL válida",
+  "topsites_form_image_validation": "La imagen no se pudo cargar. Intente una URL diferente.",
   "pocket_read_more": "Temas populares:",
   "pocket_read_even_more": "Ver más historias",
-  "pocket_feedback_header": "Lo mejor de la web, confirmado por más de 25 millones de personas.",
   "pocket_description": "Gracias a Pocket, que ahora forma parte de Mozilla, podrás descubrir contenido de alta calidad que de otra forma te perderías.",
   "highlights_empty_state": "Empieza a navegar y nosotros te mostraremos aquí algunos de los mejores artículos, videos y otras páginas que hayas visitado recientemente o agregado a marcadores.",
   "topstories_empty_state": "Ya estás al día. Vuelve luego y busca más historias de {provider}. ¿No puedes esperar? Selecciona un tema popular y encontrás más historias alucinantes por toda la web.",
   "manual_migration_explanation2": "Prueba Firefox con los marcadores, historial y contraseñas de otro navegador.",
   "manual_migration_cancel_button": "No, gracias",
   "manual_migration_import_button": "Importar ahora",
   "error_fallback_default_info": "Lo sentimos, algo salió mal al cargar el contenido.",
   "error_fallback_default_refresh_suggestion": "Recarga la página e intentálo de nuevo.",
   "section_menu_action_remove_section": "Eliminar sección",
   "section_menu_action_collapse_section": "Contraer sección",
   "section_menu_action_expand_section": "Expandir sección",
   "section_menu_action_manage_section": "Gestionar sección",
   "section_menu_action_add_topsite": "Añadir sitio popular",
   "section_menu_action_move_up": "Subir",
   "section_menu_action_move_down": "Bajar",
   "section_menu_action_privacy_notice": "Aviso de privacidad",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Aviso de privacidad",
+  "settings_pane_bookmarks_body": "Tus marcadores recién creados, fácilmente accesibles.",
+  "settings_pane_visit_again_body": "Firefox te mostrará partes de tu historial de navegación que te gustaría recordar o volver a visitar.",
+  "edit_topsites_button_label": "Personalizar la sección de Sitios populares",
+  "edit_topsites_showmore_button": "Mostrar más",
+  "edit_topsites_showless_button": "Mostrar menos",
+  "edit_topsites_done_button": "Hecho",
+  "edit_topsites_pin_button": "Fijar este sitio",
+  "edit_topsites_unpin_button": "Eliminar este sitio fijo",
+  "edit_topsites_dismiss_button": "Olvidar este sitio",
+  "edit_topsites_add_button": "Agregar",
+  "pocket_feedback_header": "Lo mejor de la web, confirmado por más de 25 millones de personas.",
   "edit_topsites_add_button_tooltip": "Agregar sitio popular"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nueva pestaña</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sitios favoritos<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sitios favoritos<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Guardar en Pocket",
   "menu_action_delete_pocket": "Eliminar de Pocket",
   "menu_action_archive_pocket": "Archivar en Pocket",
   "search_for_something_with": "Buscar {search_term} con:",
   "search_button": "Buscar",
   "search_header": "Buscar {search_engine_name}",
   "search_web_placeholder": "Buscar en la Web",
   "search_settings": "Cambiar configuraciones de búsqueda",
-  "section_info_option": "Información",
   "section_info_send_feedback": "Enviar comentarios",
-  "section_info_privacy_notice": "Política de privacidad",
   "section_disclaimer_topstories": "Las más interesantes historias en la web, seleccionadas basándonos en los que lees. Desde Pocket, ahora parte de Mozilla.",
   "section_disclaimer_topstories_linktext": "Saber como trabaja.",
   "section_disclaimer_topstories_buttontext": "Está bien, lo entiendo",
   "welcome_title": "Bienvenido a una nueva pestaña",
   "welcome_body": "Firefox usará este espacio para mostrar tus marcadores, artículos, videos y páginas más relevantes que se hayan visitado para poder volver más fácilmente.",
   "welcome_label": "Identificando tus destacados",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Contenido de la página de inicio de Firefox",
+  "prefs_home_description": "Selecciona el contenido que desea en la pantalla de inicio de Firefox.",
+  "prefs_restore_defaults_button": "Restaurar predeterminados",
+  "prefs_section_rows_option": "{num} fila{num} filas",
+  "prefs_search_header": "Búsqueda web",
+  "prefs_topsites_description": "Los sitios que más visita",
+  "prefs_topstories_description": "Contenido de alta calidad que de otra forma se perdería",
+  "prefs_topstories_show_sponsored_label": "{provider} Historias patrocinadas",
+  "prefs_topstories_sponsored_learn_more": "Más información",
+  "prefs_highlights_description": "Una selección de sitios que ha guardado o visitado",
+  "prefs_snippets_description": "Actualizaciones de Mozilla y Firefox",
   "settings_pane_button_label": "Personalizar tu página de nueva pestaña",
   "settings_pane_header": "Preferencias de nueva pestaña",
   "settings_pane_body2": "Elige lo que ves en esta página.",
   "settings_pane_search_header": "Buscar",
   "settings_pane_search_body": "Busca en la web de tu nueva pestaña.",
   "settings_pane_topsites_header": "Sitios populares",
   "settings_pane_topsites_body": "Accede a los sitios web que más visitas.",
   "settings_pane_topsites_options_showmore": "Mostrar dos filas",
   "settings_pane_bookmarks_header": "Marcadores recientes",
-  "settings_pane_bookmarks_body": "Tus marcadores recién creados en un solo lugar.",
   "settings_pane_visit_again_header": "Visitar de nuevo",
-  "settings_pane_visit_again_body": "Firefox te mostrará partes de tu historial de navegación que a lo mejor te gustaría recordar o volver a visitar.",
   "settings_pane_highlights_header": "Destacados",
   "settings_pane_highlights_body2": "Encuentra tu camino de regreso a las cosas interesantes que has visitado o marcado recientemente.",
   "settings_pane_highlights_options_bookmarks": "Marcadores",
   "settings_pane_highlights_options_visited": "Sitios visitados",
   "settings_pane_snippets_header": "Fragmentos",
   "settings_pane_snippets_body": "Lee actualizaciones breves de Mozilla sobre Firefox, la cultura de internet y de repente un meme de vez en cuando.",
   "settings_pane_done_button": "Listo",
   "settings_pane_topstories_options_sponsored": "Mostrar historias patrocinadas",
   "edit_topsites_button_text": "Editar",
-  "edit_topsites_button_label": "Personalizar la sección de tus sitios preferidos",
-  "edit_topsites_showmore_button": "Mostrar más",
-  "edit_topsites_showless_button": "Mostrar menos",
-  "edit_topsites_done_button": "Listo",
-  "edit_topsites_pin_button": "Fijar este sitio",
-  "edit_topsites_unpin_button": "Despegar este sitio",
   "edit_topsites_edit_button": "Editar este sitio",
-  "edit_topsites_dismiss_button": "Descartar este sitio",
-  "edit_topsites_add_button": "Agregar",
   "topsites_form_add_header": "Nuevo sitio popular",
   "topsites_form_edit_header": "Editar sitio popular",
   "topsites_form_title_label": "Título",
   "topsites_form_title_placeholder": "Introducir un título",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL de imagen personalizada",
   "topsites_form_url_placeholder": "Escribir o pegar una URL",
+  "topsites_form_use_image_link": "Utilizar una imagen personalizada…",
+  "topsites_form_preview_button": "Vista preliminar",
   "topsites_form_add_button": "Agregar",
   "topsites_form_save_button": "Guardar",
   "topsites_form_cancel_button": "Cancelar",
   "topsites_form_url_validation": "Se requiere una URL válida",
+  "topsites_form_image_validation": "La imagen no se pudo cargar. Intente una URL diferente.",
   "pocket_read_more": "Temas populares:",
   "pocket_read_even_more": "Ver más historias",
-  "pocket_feedback_header": "Lo mejor de la web, seleccionado por más 25 millones de personas.",
   "pocket_description": "Descubre contenido de alta calidad que de otra forma te podrías perder, con la ayuda de Pocket, ahora parte de Mozilla.",
   "highlights_empty_state": "Empieza a navegar, y nosotros te mostraremos aquí algunos de los mejores artículos, videos y otras páginas que hayas visitado recientemente o marcado.",
   "topstories_empty_state": "Ya estás al día. Vuelve luego y busca más historias de {provider}. ¿No puedes esperar? Selecciona un tema popular y encontrarás más historias interesantes por toda la web.",
   "manual_migration_explanation2": "Prueba Firefox con los marcadores, historial y contraseñas de otro navegador.",
   "manual_migration_cancel_button": "No, gracias",
   "manual_migration_import_button": "Importar ahora",
   "error_fallback_default_info": "Lo sentimos, algo salió mal al cargar el contenido.",
   "error_fallback_default_refresh_suggestion": "Recarga la página e intentálo de nuevo.",
   "section_menu_action_remove_section": "Eliminar sección",
   "section_menu_action_collapse_section": "Contraer sección",
   "section_menu_action_expand_section": "Expandir sección",
   "section_menu_action_manage_section": "Gestionar sección",
   "section_menu_action_add_topsite": "Añadir sitio popular",
   "section_menu_action_move_up": "Subir",
   "section_menu_action_move_down": "Bajar",
   "section_menu_action_privacy_notice": "Aviso de privacidad",
+  "section_info_option": "Información",
+  "section_info_privacy_notice": "Política de privacidad",
+  "settings_pane_bookmarks_body": "Tus marcadores recién creados en un solo lugar.",
+  "settings_pane_visit_again_body": "Firefox te mostrará partes de tu historial de navegación que a lo mejor te gustaría recordar o volver a visitar.",
+  "edit_topsites_button_label": "Personalizar la sección de tus sitios preferidos",
+  "edit_topsites_showmore_button": "Mostrar más",
+  "edit_topsites_showless_button": "Mostrar menos",
+  "edit_topsites_done_button": "Listo",
+  "edit_topsites_pin_button": "Fijar este sitio",
+  "edit_topsites_unpin_button": "Despegar este sitio",
+  "edit_topsites_dismiss_button": "Descartar este sitio",
+  "edit_topsites_add_button": "Agregar",
+  "pocket_feedback_header": "Lo mejor de la web, seleccionado por más 25 millones de personas.",
   "edit_topsites_add_button_tooltip": "Agregar sitio popular"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/et/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/et/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Uus kaart</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Otsi veebist</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Otsi veebist" title="Otsi veebist"/><button id="searchSubmit" class="search-button" title="Otsi"><span class="sr-only"><span>Otsi</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top saidid<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket soovitab</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populaarsed teemad:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Esiletõstetud</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Otsi veebist</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Otsi veebist" title="Otsi veebist"/><button id="searchSubmit" class="search-button" title="Otsi"><span class="sr-only"><span>Otsi</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top saidid<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ava osa kontekstimenüü</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket soovitab</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ava osa kontekstimenüü</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populaarsed teemad:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Esiletõstetud</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ava osa kontekstimenüü</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/et/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/et/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Top lood",
   "header_highlights": "Esiletõstetud",
   "header_visit_again": "Külasta jälle",
   "header_bookmarks": "Hiljutised järjehoidjad",
   "header_recommended_by": "{provider} soovitab",
   "header_bookmarks_placeholder": "Sul pole veel järjehoidjaid.",
   "header_stories_from": "allikast",
   "context_menu_button_sr": "Ava {title} kontekstimenüü",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Ava osa kontekstimenüü",
   "type_label_visited": "Külastatud",
   "type_label_bookmarked": "Järjehoidjatest",
   "type_label_synced": "Sünkroniseeritud teisest seadmest",
   "type_label_recommended": "Menukad",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Salvestatud Pocketisse",
   "type_label_open": "Avatud",
   "type_label_topic": "Teema",
   "type_label_now": "Praegu",
   "menu_action_bookmark": "Lisa järjehoidjatesse",
   "menu_action_remove_bookmark": "Eemalda järjehoidja",
   "menu_action_copy_address": "Kopeeri aadress",
   "menu_action_email_link": "Saada link e-postiga…",
   "menu_action_open_new_window": "Ava uues aknas",
   "menu_action_open_private_window": "Ava uues privaatses aknas",
   "menu_action_dismiss": "Peida",
   "menu_action_delete": "Kustuta ajaloost",
   "menu_action_pin": "Kinnita",
   "menu_action_unpin": "Eemalda kohakinnitus",
   "confirm_history_delete_p1": "Kas oled kindel, et soovid ajaloost kõik selle lehe kohta käivad kirjed kustutada?",
   "confirm_history_delete_notice_p2": "Seda tegevust pole võimalik tagasi võtta.",
   "menu_action_save_to_pocket": "Salvesta Pocketisse",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Kustuta Pocketist",
+  "menu_action_archive_pocket": "Arhiveeri Pocketis",
   "search_for_something_with": "Otsi fraasi {search_term}, kasutades otsingumootorit:",
   "search_button": "Otsi",
   "search_header": "{search_engine_name}",
   "search_web_placeholder": "Otsi veebist",
   "search_settings": "Muuda otsingu sätteid",
-  "section_info_option": "Teave",
   "section_info_send_feedback": "Saada tagasisidet",
-  "section_info_privacy_notice": "Privaatsusreeglid",
   "section_disclaimer_topstories": "Huvitavamad veebilood, mis on valitud sinu loetu põhjal. Pocketilt, mis on nüüd Mozilla osa.",
   "section_disclaimer_topstories_linktext": "Vaata, kuidas see töötab.",
   "section_disclaimer_topstories_buttontext": "Olgu, sain aru",
   "welcome_title": "Tere tulemast uuele kaardile",
   "welcome_body": "Firefox kasutab seda lehte, et kuvada sulle kõige olulisemaid järjehoidjaid, artikleid, videoid ja lehti, mida oled hiljuti külastanud, nii et pääseksid kergelt nende juurde tagasi.",
   "welcome_label": "Esiletõstetava sisu tuvastamine",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}t",
   "time_label_day": "{number}p",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Kohanda uue kaardi lehte",
   "settings_pane_header": "Uue kaardi sätted",
   "settings_pane_body2": "Vali asjad, mida soovid sellel lehel näha.",
   "settings_pane_search_header": "Otsing",
   "settings_pane_search_body": "Veebis otsimine uuel kaardil.",
   "settings_pane_topsites_header": "Top saidid",
   "settings_pane_topsites_body": "Ligipääs enim külastatud veebilehtedele.",
   "settings_pane_topsites_options_showmore": "Kuvatakse kahel real",
   "settings_pane_bookmarks_header": "Hiljutised järjehoidjad",
-  "settings_pane_bookmarks_body": "Sinu värskelt lisatud järjehoidjad ühes kohas koos.",
   "settings_pane_visit_again_header": "Külasta jälle",
-  "settings_pane_visit_again_body": "Firefox kuvab sulle noppeid sinu lehitsemise ajaloost, mida võid soovida meeles pidada või uuesti külastada.",
   "settings_pane_highlights_header": "Esiletõstetud",
   "settings_pane_highlights_body2": "Leia tee tagasi asjade juurde, mida hiljuti külastasid või järjehoidjatesse lisasid.",
   "settings_pane_highlights_options_bookmarks": "Järjehoidjad",
   "settings_pane_highlights_options_visited": "Külastatud saidid",
   "settings_pane_snippets_header": "Infokillud",
   "settings_pane_snippets_body": "Loe lühikesi ja mõnusaid infokilde Mozillalt Firefoxi, interneti kultuuri ja vahel ka juhuslike netimeemide kohta.",
   "settings_pane_done_button": "Valmis",
   "settings_pane_topstories_options_sponsored": "Kuvatakse sponsitud postitusi",
   "edit_topsites_button_text": "Muuda",
+  "edit_topsites_edit_button": "Muuda seda saiti",
+  "topsites_form_add_header": "Uue top saidi lisamine",
+  "topsites_form_edit_header": "Top saidi muutmine",
+  "topsites_form_title_label": "Pealkiri",
+  "topsites_form_title_placeholder": "Sisesta pealkiri",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
+  "topsites_form_url_placeholder": "Sisesta või aseta URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
+  "topsites_form_add_button": "Lisa",
+  "topsites_form_save_button": "Salvesta",
+  "topsites_form_cancel_button": "Tühista",
+  "topsites_form_url_validation": "URL peab olema korrektne",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
+  "pocket_read_more": "Populaarsed teemad:",
+  "pocket_read_even_more": "Rohkem lugusid",
+  "pocket_description": "Avasta Pocketi (nüüd osa Mozillast) abiga kõrgkvaliteetset sisu, mis muidu võib märkamata jääda.",
+  "highlights_empty_state": "Alusta veebilehitsemist ja me näitame siin häid artikleid, videoid ja muid lehti, mida hiljuti külastasid või järjehoidjatesse lisasid.",
+  "topstories_empty_state": "Vaata hiljem uuesti, et näha parimaid postitusi teenusepakkujalt {provider}. Ei suuda oodata? Vali populaarne teema, et leida veel suurepärast sisu internetist.",
+  "manual_migration_explanation2": "Proovi Firefoxi teisest brauserist pärinevate järjehoidjate, ajaloo ja paroolidega.",
+  "manual_migration_cancel_button": "Ei soovi",
+  "manual_migration_import_button": "Impordi kohe",
+  "error_fallback_default_info": "Ups, selle sisu laadimisel läks midagi viltu.",
+  "error_fallback_default_refresh_suggestion": "Uuesti proovimiseks laadi leht uuesti.",
+  "section_menu_action_remove_section": "Eemalda osa",
+  "section_menu_action_collapse_section": "Ahenda osa",
+  "section_menu_action_expand_section": "Laienda osa",
+  "section_menu_action_manage_section": "Halda osa",
+  "section_menu_action_add_topsite": "Lisa top sait",
+  "section_menu_action_move_up": "Liiguta üles",
+  "section_menu_action_move_down": "Liiguta alla",
+  "section_menu_action_privacy_notice": "Privaatsuspoliitika",
+  "section_info_option": "Teave",
+  "section_info_privacy_notice": "Privaatsusreeglid",
+  "settings_pane_bookmarks_body": "Sinu värskelt lisatud järjehoidjad ühes kohas koos.",
+  "settings_pane_visit_again_body": "Firefox kuvab sulle noppeid sinu lehitsemise ajaloost, mida võid soovida meeles pidada või uuesti külastada.",
   "edit_topsites_button_label": "Kohanda top saitide osa",
   "edit_topsites_showmore_button": "Kuva rohkem",
   "edit_topsites_showless_button": "Näita vähem",
   "edit_topsites_done_button": "Valmis",
   "edit_topsites_pin_button": "Kinnita see sait",
   "edit_topsites_unpin_button": "Eemalda see sait",
-  "edit_topsites_edit_button": "Muuda seda saiti",
   "edit_topsites_dismiss_button": "Peida see sait",
   "edit_topsites_add_button": "Lisa",
-  "topsites_form_add_header": "Uue top saidi lisamine",
-  "topsites_form_edit_header": "Top saidi muutmine",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Sisesta pealkiri",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Sisesta või aseta URL",
-  "topsites_form_add_button": "Lisa",
-  "topsites_form_save_button": "Salvesta",
-  "topsites_form_cancel_button": "Tühista",
-  "topsites_form_url_validation": "URL peab olema korrektne",
-  "pocket_read_more": "Populaarsed teemad:",
-  "pocket_read_even_more": "Rohkem lugusid",
-  "pocket_feedback_header": "Parim osa veebist, mille on kokku pannud rohkem kui 25 miljonit inimest.",
-  "pocket_description": "Avasta Pocketi (nüüd osa Mozillast) abiga kõrgkvaliteetset sisu, mis muidu võib märkamata jääda.",
-  "highlights_empty_state": "Alusta veebilehitsemist ja me näitame siin häid artikleid, videoid ja muid lehti, mida hiljuti külastasid või järjehoidjatesse lisasid.",
-  "topstories_empty_state": "Vaata hiljem uuesti, et näha parimaid postitusi teenusepakkujalt {provider}. Ei suuda oodata? Vali populaarne teema, et leida veel suurepärast sisu internetist.",
-  "manual_migration_explanation2": "Proovi Firefoxi teisest brauserist pärinevate järjehoidjate, ajaloo ja paroolidega.",
-  "manual_migration_cancel_button": "Ei soovi",
-  "manual_migration_import_button": "Impordi kohe",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Top saidi lisamine"
+  "pocket_feedback_header": "Parim osa veebist, mille on kokku pannud rohkem kui 25 miljonit inimest."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Fitxa berria</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Bilatu webean</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Bilatu webean" title="Bilatu webean"/><button id="searchSubmit" class="search-button" title="Bilatu"><span class="sr-only"><span>Bilatu</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Gune erabilienak<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket hornitzaileak gomendatuta</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Gai ezagunak:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nabarmendutakoak</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Bilatu webean</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Bilatu webean" title="Bilatu webean"/><button id="searchSubmit" class="search-button" title="Bilatu"><span class="sr-only"><span>Bilatu</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Gune erabilienak<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket hornitzaileak gomendatuta</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Gai ezagunak:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nabarmendutakoak</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Gorde Pocket-en",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Bilatu {search_term} honekin:",
   "search_button": "Bilatu",
   "search_header": "{search_engine_name} bilaketa",
   "search_web_placeholder": "Bilatu webean",
   "search_settings": "Aldatu bilaketa-ezarpenak",
-  "section_info_option": "Informazioa",
   "section_info_send_feedback": "Bidali iritzia",
-  "section_info_privacy_notice": "Pribatutasun-oharra",
   "section_disclaimer_topstories": "Webeko istorio interesgarrienen hautapena, irakurtzen duzunean oinarrituta. Orain Mozillaren zati den Pocket bidez datoz.",
   "section_disclaimer_topstories_linktext": "Ikasi nola dabilen.",
   "section_disclaimer_topstories_buttontext": "Ulertuta",
   "welcome_title": "Ongi etorri fitxa berrira",
   "welcome_body": "Zuretzat esanguratsuenak diren laster-markak, artikuluak, bideoak eta bisitatutako azken orriak erakusteko erabiliko du eremu hau Firefoxek, hauetara itzultzea erraza izan dadin.",
   "welcome_label": "Zure nabarmendutakoak identifikatzea",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Pertsonalizatu fitxa berriaren orria",
   "settings_pane_header": "Fitxa berriaren hobespenak",
   "settings_pane_body2": "Aukeratu orri honetan ikusiko duzuna.",
   "settings_pane_search_header": "Bilaketa",
   "settings_pane_search_body": "Bilatu webean zure fitxa berritik.",
   "settings_pane_topsites_header": "Gune erabilienak",
   "settings_pane_topsites_body": "Sartu gehien bisitatzen dituzun webguneetara.",
   "settings_pane_topsites_options_showmore": "Erakutsi bi errenkada",
   "settings_pane_bookmarks_header": "Azken laster-markak",
-  "settings_pane_bookmarks_body": "Sortutako azken laster-markak toki bakarrean esku-eskura.",
   "settings_pane_visit_again_header": "Bisitatu berriro",
-  "settings_pane_visit_again_body": "Gogoratu edo itzuli nahiko duzun historiaren zatia erakutsiko dizu Firefoxek.",
   "settings_pane_highlights_header": "Nabarmendutakoak",
   "settings_pane_highlights_body2": "Aurkitu itzultzeko bidea azkenaldian bisitatutako edo laster-marka egindako gauza interesgarrietara.",
   "settings_pane_highlights_options_bookmarks": "Laster-markak",
   "settings_pane_highlights_options_visited": "Bisitatutako guneak",
   "settings_pane_snippets_header": "Mezu-zatiak",
   "settings_pane_snippets_body": "Irakurri Firefoxi eta interneteko kulturari buruzko Mozillaren eguneraketa laburrak, hala nola tartekako ausazko memeak.",
   "settings_pane_done_button": "Eginda",
   "settings_pane_topstories_options_sponsored": "Erakutsi babesleen istorioak",
   "edit_topsites_button_text": "Editatu",
-  "edit_topsites_button_label": "Pertsonalizatu gune erabilienen atala",
-  "edit_topsites_showmore_button": "Erakutsi gehiago",
-  "edit_topsites_showless_button": "Erakutsi gutxiago",
-  "edit_topsites_done_button": "Eginda",
-  "edit_topsites_pin_button": "Ainguratu gune hau",
-  "edit_topsites_unpin_button": "Desainguratu gune hau",
   "edit_topsites_edit_button": "Editatu gune hau",
-  "edit_topsites_dismiss_button": "Baztertu gune hau",
-  "edit_topsites_add_button": "Gehitu",
   "topsites_form_add_header": "Maiz erabilitako gune berria",
   "topsites_form_edit_header": "Editatu maiz erabilitako gunea",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Idatzi izenburua",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Idatzi edo itsatsi URLa",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Gehitu",
   "topsites_form_save_button": "Gorde",
   "topsites_form_cancel_button": "Utzi",
   "topsites_form_url_validation": "Baliozko URLa behar da",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Gai ezagunak:",
   "pocket_read_even_more": "Ikusi istorio gehiago",
-  "pocket_feedback_header": "Webeko onena, 25 milioi pertsona baino gehiagok bilduta.",
   "pocket_description": "Deskubritu orain Mozillaren zati den Pocket-en laguntzari esker bestela gal zenitzakeen kalitatezko edukiak.",
   "highlights_empty_state": "Hasi nabigatzen eta azkenaldian bisitatutako edo laster-marka egindako aparteko artikulu, bideo eta orriak erakutsiko ditugu.",
   "topstories_empty_state": "Egunean zaude jada. Etorri berriro geroago {provider} hornitzailearen istorio ezagun gehiagorako. Ezin duzu itxaron? Hautatu gai ezagun bat webeko istorio gehiago aurkitzeko.",
   "manual_migration_explanation2": "Probatu Firefox beste nabigatzaile batetik ekarritako laster-marka, historia eta pasahitzekin.",
   "manual_migration_cancel_button": "Ez, eskerrik asko",
   "manual_migration_import_button": "Inportatu orain",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Gehitu maiz erabilitako gunea"
+  "section_info_option": "Informazioa",
+  "section_info_privacy_notice": "Pribatutasun-oharra",
+  "settings_pane_bookmarks_body": "Sortutako azken laster-markak toki bakarrean esku-eskura.",
+  "settings_pane_visit_again_body": "Gogoratu edo itzuli nahiko duzun historiaren zatia erakutsiko dizu Firefoxek.",
+  "edit_topsites_button_label": "Pertsonalizatu gune erabilienen atala",
+  "edit_topsites_showmore_button": "Erakutsi gehiago",
+  "edit_topsites_showless_button": "Erakutsi gutxiago",
+  "edit_topsites_done_button": "Eginda",
+  "edit_topsites_pin_button": "Ainguratu gune hau",
+  "edit_topsites_unpin_button": "Desainguratu gune hau",
+  "edit_topsites_dismiss_button": "Baztertu gune hau",
+  "edit_topsites_add_button": "Gehitu",
+  "edit_topsites_add_button_tooltip": "Gehitu maiz erabilitako gunea",
+  "pocket_feedback_header": "Webeko onena, 25 milioi pertsona baino gehiagok bilduta."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>زبانه جدید</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>جست‌وجوی وب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="جست‌وجوی وب" title="جست‌وجوی وب"/><button id="searchSubmit" class="search-button" title="جست‌وجو"><span class="sr-only"><span>جست‌وجو</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>سایت‌های برتر<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>پیشنهاد شده توسط Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>موضوع‌های محبوب:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>برجسته‌ها</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>جست‌وجوی وب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="جست‌وجوی وب" title="جست‌وجوی وب"/><button id="searchSubmit" class="search-button" title="جست‌وجو"><span class="sr-only"><span>جست‌وجو</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>سایت‌های برتر<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>پیشنهاد شده توسط Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>موضوع‌های محبوب:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>برجسته‌ها</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "ذخیره‌سازی در Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "جست‌وجو برای {search_term} با:",
   "search_button": "جست‌وجو",
   "search_header": "جست‌وجو {search_engine_name}",
   "search_web_placeholder": "جست‌وجوی وب",
   "search_settings": "تغییر تنظیمات جست‌وجو",
-  "section_info_option": "اطلاعات",
   "section_info_send_feedback": "ارسال بازخورد",
-  "section_info_privacy_notice": "نکات حفظ حریم خصوصی",
   "section_disclaimer_topstories": "جالب‌ترین داستان‌ها در وب، بر اساس آنچه شما خواندید انتخاب شده است. از Pocket، که حالا بخشی از Mozilla است.",
   "section_disclaimer_topstories_linktext": "ببینید چگونه کار می‌کند.",
   "section_disclaimer_topstories_buttontext": "باشه، گرفتم",
   "welcome_title": "به زبانه جدید خوش‌آمدید",
   "welcome_body": "فایرفاکس از این فضا برای نمایش نشانک‌ها، مقالات، ویدئوها و صفحات مرتبطی که به‌تازگی مشاهده کرده‌اید استفاده می‌کند، تا شما به راحتی دوباره به آنها دسترسی داشته باشید.",
   "welcome_label": "شناسایی گزینه‌های برجسته شما",
   "time_label_less_than_minute": "> ۱ دقیقه",
   "time_label_minute": "{number} د",
   "time_label_hour": "{number} س",
   "time_label_day": "{number} ر",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "صفحهٔ زبانه جدید را سفارشی کنید",
   "settings_pane_header": "تنظیمات زبانه جدید",
   "settings_pane_body2": "انتخاب کنید چیزی را که مایل هستید در این صفحه مشاهده کنید.",
   "settings_pane_search_header": "جست‌وجو",
   "settings_pane_search_body": "وب را از زبانه جدید خود جست‌وجو کنید.",
   "settings_pane_topsites_header": "سایت‌های برتر",
   "settings_pane_topsites_body": "به وب‌سایت‌هایی که بیشترین بازدید از آنها را داشتید دسترسی داشته باشید.",
   "settings_pane_topsites_options_showmore": "نمایش دو ردیفی",
   "settings_pane_bookmarks_header": "نشانک‌های اخیر",
-  "settings_pane_bookmarks_body": "به‌تازگی شما نشانک‌هایی را در یک محل مناسب ساخته‌اید.",
   "settings_pane_visit_again_header": "مشاهده دوباره",
-  "settings_pane_visit_again_body": "فایرفاکس بخش‌هایی از تاریخ‌چه مرورتان را که ممکن است بخواهید به یاد داشته باشید یا به آن‌ها بازگردید به شما نشان خواهد داد.",
   "settings_pane_highlights_header": "برجسته‌ها",
   "settings_pane_highlights_body2": "راه خود را در میان چیزهایی که دوست دارید پیدا کنید.چیزهایی که اخیرا مشاهده کرده اید یا نشانک ها.",
   "settings_pane_highlights_options_bookmarks": "نشانک‌ها",
   "settings_pane_highlights_options_visited": "سایت‌های بازدید شده",
   "settings_pane_snippets_header": "قطعه‌ها",
   "settings_pane_snippets_body": "بروزرسانی های شیرین و کوتاه موزیلا در مورد فایرفاکس،‌ فرهنگ اینترنت، و تصاویر تصادفی مناسبتی مطالعه کنید.",
   "settings_pane_done_button": "انجام شد",
   "settings_pane_topstories_options_sponsored": "نمایش داستان‌های حمایت شده",
   "edit_topsites_button_text": "ويرايش",
-  "edit_topsites_button_label": "قسمت سایت‌های برتر را سفارشی کنید",
-  "edit_topsites_showmore_button": "نمایش بیشتر",
-  "edit_topsites_showless_button": "نمایش کمتر",
-  "edit_topsites_done_button": "انجام شد",
-  "edit_topsites_pin_button": "چسباندن این سایت",
-  "edit_topsites_unpin_button": "لغو سنجاق کردن این پایگاه اینترنتی",
   "edit_topsites_edit_button": "ویرایش این سایت",
-  "edit_topsites_dismiss_button": "نادیده گرفتن این سایت",
-  "edit_topsites_add_button": "افزودن",
   "topsites_form_add_header": "سایت برتر جدید",
   "topsites_form_edit_header": "ویرایش سایت برتر",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "عنوان را وارد کنید",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "یک URL تایپ کنید یا بچسبانید",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "افزودن",
   "topsites_form_save_button": "ذخیره",
   "topsites_form_cancel_button": "انصراف",
   "topsites_form_url_validation": "URL معتبر الزامی است",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "موضوع‌های محبوب:",
   "pocket_read_even_more": "مشاهده داستان‌های بیشتر",
-  "pocket_feedback_header": "بهترین‌های وب، گزینش شده توسط بیش از ۲۵ میلیون نفر.",
   "pocket_description": "محتواهای با کیفیتی را پیدا کنید که ممکن است از دست داده باشید، به کمک Pocket که اکنون بخشی از موزیلا است.",
   "highlights_empty_state": "مرور کردن را شروع کنید و شاهد تعداد زیادی مقاله، فیلم و صفحات خوبی باشید که اخیر مشاهده کرده اید یا نشانگ گذاری کرده اید.",
   "topstories_empty_state": "فعلا تموم شد. بعدا دوباره سر بزن تا مطالب جدید از {provider} ببینی. نمی‌تونی صبر کنی؟ یک موضوع محبوب رو انتخاب کن تا مطالب جالب مرتبط از سراسر دنیا رو پیدا کنی.",
   "manual_migration_explanation2": "فایرفاکس را با نشانک‌ها،‌ تاریخچه‌ها و کلمات عبور از سایر مرورگر ها تجربه کنید.",
   "manual_migration_cancel_button": "نه ممنون",
   "manual_migration_import_button": "هم‌اکنون وارد شوند",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "اضافه کردن به سایت های برتر"
+  "section_info_option": "اطلاعات",
+  "section_info_privacy_notice": "نکات حفظ حریم خصوصی",
+  "settings_pane_bookmarks_body": "به‌تازگی شما نشانک‌هایی را در یک محل مناسب ساخته‌اید.",
+  "settings_pane_visit_again_body": "فایرفاکس بخش‌هایی از تاریخ‌چه مرورتان را که ممکن است بخواهید به یاد داشته باشید یا به آن‌ها بازگردید به شما نشان خواهد داد.",
+  "edit_topsites_button_label": "قسمت سایت‌های برتر را سفارشی کنید",
+  "edit_topsites_showmore_button": "نمایش بیشتر",
+  "edit_topsites_showless_button": "نمایش کمتر",
+  "edit_topsites_done_button": "انجام شد",
+  "edit_topsites_pin_button": "چسباندن این سایت",
+  "edit_topsites_unpin_button": "لغو سنجاق کردن این پایگاه اینترنتی",
+  "edit_topsites_dismiss_button": "نادیده گرفتن این سایت",
+  "edit_topsites_add_button": "افزودن",
+  "edit_topsites_add_button_tooltip": "اضافه کردن به سایت های برتر",
+  "pocket_feedback_header": "بهترین‌های وب، گزینش شده توسط بیش از ۲۵ میلیون نفر."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tabbere hesere</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yiylo geese</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yiylo geese" title="Yiylo geese"/><button id="searchSubmit" class="search-button" title="Yiylo"><span class="sr-only"><span>Yiylo</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Lowe dowrowe<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Loowdiiji lolluɗi:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Jalbine</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yiylo geese</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yiylo geese" title="Yiylo geese"/><button id="searchSubmit" class="search-button" title="Yiylo"><span class="sr-only"><span>Yiylo</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Lowe dowrowe<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Loowdiiji lolluɗi:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Jalbine</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-strings.js
@@ -35,81 +35,91 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Danndu e Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Yiyloro {search_term} ɗumɗoo:",
   "search_button": "Yiylo",
   "search_header": "{search_engine_name} Yiylo",
   "search_web_placeholder": "Yiylo geese",
   "search_settings": "Waylu Teelte Njiylawu",
-  "section_info_option": "Kabaruuji",
   "section_info_send_feedback": "Neldu duttinal",
-  "section_info_privacy_notice": "Tintinol Suturo",
   "section_disclaimer_topstories": "Daarti ɓurɗi teeŋtude e geese ɗee, cuɓaaɗi e yowitaade e ko tarɗaa. Ummoraade e Pocket, jeyaaɗo jooni e Mozilla.",
   "section_disclaimer_topstories_linktext": "Humpito hol no ɗum gollortoo.",
   "section_disclaimer_topstories_buttontext": "Eey, mi faamii",
   "welcome_title": "Welcome to new tab",
   "welcome_body": "Firefox maa huutoroyo ngal boowal ngam hollirde maantore ɓurɗe hawrude, binndanɗe, widewooji kam e kelle ɗe njilliɗaa ko ɓooyaani, mbele mbaawaa artude e newuya.",
   "welcome_label": "Heɓtinde Jalbine maa",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number} m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Customize your New Tab page",
   "settings_pane_header": "New Tab Preferences",
   "settings_pane_body2": "Suɓo ko njiyataa e ngoo hello.",
   "settings_pane_search_header": "Search",
   "settings_pane_search_body": "Search the Web from your new tab.",
   "settings_pane_topsites_header": "Top Sites",
   "settings_pane_topsites_body": "Access the websites you visit most.",
   "settings_pane_topsites_options_showmore": "Show two rows",
   "settings_pane_bookmarks_header": "Maantore kese",
-  "settings_pane_bookmarks_body": "Maantore maa cosaaɗe ko ɓooyaani e nder nokku gooto beemtinɗo.",
   "settings_pane_visit_again_header": "Visit Again",
-  "settings_pane_visit_again_body": "Firefox maa holloye huunde e aslol banngogol maa ɗi pot-ɗaa yiɗde siiftorde walla ruttaade heen.",
   "settings_pane_highlights_header": "Jalbine",
   "settings_pane_highlights_body2": "Yiytu laawol maa ruttaade e geɗe maantinɗe jilliɗaa ko ɓooyaani walla maantoraaɗe.",
   "settings_pane_highlights_options_bookmarks": "Maantore",
   "settings_pane_highlights_options_visited": "Lowe Jillaaɗe",
   "settings_pane_snippets_header": "Taƴitine",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Done",
   "settings_pane_topstories_options_sponsored": "Hollu Daarti Tammbitaaɗi",
   "edit_topsites_button_text": "Edit",
-  "edit_topsites_button_label": "Heertin taƴre Lowe maa Dowrowe",
-  "edit_topsites_showmore_button": "Show More",
-  "edit_topsites_showless_button": "Show Fewer",
-  "edit_topsites_done_button": "Done",
-  "edit_topsites_pin_button": "Pin this site",
-  "edit_topsites_unpin_button": "Ñippit ndee lowre",
   "edit_topsites_edit_button": "Edit this site",
-  "edit_topsites_dismiss_button": "Dismiss this site",
-  "edit_topsites_add_button": "Ɓeydu",
   "topsites_form_add_header": "Lowre Dowrowre Hesere",
   "topsites_form_edit_header": "Taƴto Lowre Dowrowre",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Naatnu tiitoonde",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Tappu walla ɗakku URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Ɓeydu",
   "topsites_form_save_button": "Danndu",
   "topsites_form_cancel_button": "Haaytu",
   "topsites_form_url_validation": "URL Moƴƴo ina naamnaa",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Loowdiiji lolluɗi:",
   "pocket_read_even_more": "Yiy Daarti Goɗɗi",
-  "pocket_feedback_header": "Ɓurɗo geese fof, mo ko ɓuri 25 miliyoŋ neɗɗo yuɓɓini.",
   "pocket_description": "Yiytu loowdi waɗndi faayiida ndi ina gasa luppuɗaa, wonndude e ballal ummoraade e Pocket, jeyaaɗo jooni e Mozilla.",
   "highlights_empty_state": "Fuɗɗo wanngaade, min kolloymaa huunde e binndanɗe mawɗe ɗee, widewooji kañum e kelle goɗɗe ɗe njilliɗaa ko ɓooyaani walla maantoraaɗe ɗoo.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Ƴeewndo Firefox wonndude e maantore ɗee, aslol kam e finndeeji iwde e wanngorde woɗnde.",
   "manual_migration_cancel_button": "Alaa, moƴƴii",
   "manual_migration_import_button": "Jiggo Jooni",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Kabaruuji",
+  "section_info_privacy_notice": "Tintinol Suturo",
+  "settings_pane_bookmarks_body": "Maantore maa cosaaɗe ko ɓooyaani e nder nokku gooto beemtinɗo.",
+  "settings_pane_visit_again_body": "Firefox maa holloye huunde e aslol banngogol maa ɗi pot-ɗaa yiɗde siiftorde walla ruttaade heen.",
+  "edit_topsites_button_label": "Heertin taƴre Lowe maa Dowrowe",
+  "edit_topsites_unpin_button": "Ñippit ndee lowre",
+  "edit_topsites_add_button": "Ɓeydu",
+  "pocket_feedback_header": "Ɓurɗo geese fof, mo ko ɓuri 25 miliyoŋ neɗɗo yuɓɓini."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Uusi välilehti</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Verkkohaku</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Verkkohaku" title="Verkkohaku"/><button id="searchSubmit" class="search-button" title="Haku"><span class="sr-only"><span>Haku</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Ykkössivustot<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Suositukset lähteestä Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Suositut aiheet:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nostot</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Verkkohaku</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Verkkohaku" title="Verkkohaku"/><button id="searchSubmit" class="search-button" title="Haku"><span class="sr-only"><span>Haku</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Ykkössivustot<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Avaa osion ponnahdusvalikko</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Suositukset lähteestä Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Avaa osion ponnahdusvalikko</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Suositut aiheet:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nostot</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Avaa osion ponnahdusvalikko</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Ykkösjutut",
   "header_highlights": "Nostot",
   "header_visit_again": "Käy toistekin",
   "header_bookmarks": "Uusimmat kirjanmerkit",
   "header_recommended_by": "Suositukset lähteestä {provider}",
   "header_bookmarks_placeholder": "Sinulla ei ole vielä kirjanmerkkejä.",
   "header_stories_from": "Lähde",
   "context_menu_button_sr": "Avaa pikavalikko sivustolle {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Avaa osion ponnahdusvalikko",
   "type_label_visited": "Vierailtu",
   "type_label_bookmarked": "Kirjanmerkki",
   "type_label_synced": "Synkronoitu toiselta laitteelta",
   "type_label_recommended": "Pinnalla",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Tallennettu Pocket-palveluun",
   "type_label_open": "Avoin",
   "type_label_topic": "Aihe",
   "type_label_now": "Nyt",
   "menu_action_bookmark": "Lisää kirjanmerkki",
   "menu_action_remove_bookmark": "Poista kirjanmerkki",
   "menu_action_copy_address": "Kopioi osoite",
   "menu_action_email_link": "Lähetä linkki…",
   "menu_action_open_new_window": "Avaa uuteen ikkunaan",
   "menu_action_open_private_window": "Avaa uuteen yksityiseen ikkunaan",
   "menu_action_dismiss": "Hylkää",
   "menu_action_delete": "Poista historiasta",
   "menu_action_pin": "Kiinnitä",
   "menu_action_unpin": "Poista kiinnitys",
   "confirm_history_delete_p1": "Haluatko varmasti poistaa tämän sivun kaikkialta historiastasi?",
   "confirm_history_delete_notice_p2": "Tämä toiminto on peruuttamaton.",
   "menu_action_save_to_pocket": "Tallenna Pocket-palveluun",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Poista Pocket-palvelusta",
+  "menu_action_archive_pocket": "Arkistoi Pocket-palveluun",
   "search_for_something_with": "Hae {search_term} palvelusta:",
   "search_button": "Haku",
   "search_header": "{search_engine_name}-haku",
   "search_web_placeholder": "Verkkohaku",
   "search_settings": "Muuta hakuasetuksia",
-  "section_info_option": "Tietoa",
   "section_info_send_feedback": "Anna palautetta",
-  "section_info_privacy_notice": "Tietosuojakäytäntö",
   "section_disclaimer_topstories": "Verkon kiinnostavimmat jutut, lukemasi perusteella valittuna. Pocketilta, joka on nyt osa Mozillaa.",
   "section_disclaimer_topstories_linktext": "Lue, miten tämä toimii.",
   "section_disclaimer_topstories_buttontext": "Selvä",
   "welcome_title": "Tervetuloa uuteen välilehteen",
   "welcome_body": "Firefox käyttää tätä tilaa näyttämään olennaisimmat kirjanmerkit, artikkelit, videot ja sivut, joita olet katsellut, jotta pääset niihin takaisin nopeasti.",
   "welcome_label": "Tunnistetaan nostojasi",
   "time_label_less_than_minute": "<1 min",
   "time_label_minute": "{number} min",
   "time_label_hour": "{number} h",
   "time_label_day": "{number} pv",
+  "prefs_home_header": "Firefoxin aloitussivun sisältö",
+  "prefs_home_description": "Valitse Firefoxin aloitussivulle haluamasi sisältö.",
+  "prefs_restore_defaults_button": "Palauta oletukset",
+  "prefs_section_rows_option": "{num} rivi;{num} riviä",
+  "prefs_search_header": "Verkkohaku",
+  "prefs_topsites_description": "Useimmin vierailemasi sivustot",
+  "prefs_topstories_description": "Laadukasta sisältöä, joista olisit muuten saattanut jäädä paitsi",
+  "prefs_topstories_show_sponsored_label": "{provider}-palvelun sponsoroidut jutut",
+  "prefs_topstories_sponsored_learn_more": "Lue lisää",
+  "prefs_highlights_description": "Valikoima sivustoja, joilla olet käynyt tai jotka olet tallentanut",
+  "prefs_snippets_description": "Päivitykset Mozillalta ja Firefoxilta",
   "settings_pane_button_label": "Muokkaa Uusi välilehti -sivua",
   "settings_pane_header": "Uuden välilehden asetukset",
   "settings_pane_body2": "Valitse, mitä haluat nähdä tällä sivulla.",
   "settings_pane_search_header": "Haku",
   "settings_pane_search_body": "Tee verkkohakuja uudesta välilehdestä.",
   "settings_pane_topsites_header": "Ykkössivustot",
   "settings_pane_topsites_body": "Näe eniten vierailemasi sivustot.",
   "settings_pane_topsites_options_showmore": "Näytä kaksi riviä",
   "settings_pane_bookmarks_header": "Uusimmat kirjanmerkit",
-  "settings_pane_bookmarks_body": "Uusimmat kirjanmerkkisi, yhdessä kätevässä paikassa.",
   "settings_pane_visit_again_header": "Käy toistekin",
-  "settings_pane_visit_again_body": "Firefox näyttää selaushistoriastasi palasia, jotka saatat haluta muistaa tai joissa haluat ehkä käydä.",
   "settings_pane_highlights_header": "Nostot",
   "settings_pane_highlights_body2": "Löydä tiesi takaisin kiinnostaviin juttuihin, joissa olet käynyt tai jotka olet lisännyt kirjanmerkkeihin viime aikoina.",
   "settings_pane_highlights_options_bookmarks": "Kirjanmerkit",
   "settings_pane_highlights_options_visited": "Vieraillut sivustot",
   "settings_pane_snippets_header": "Tiedonmuruset",
   "settings_pane_snippets_body": "Lue Mozillan lyhyitä päivityksiä liittyen Firefoxiin, internetkulttuuriin ja satunnaisiin meemeihin.",
   "settings_pane_done_button": "Valmis",
   "settings_pane_topstories_options_sponsored": "Näytä sponsoroidut jutut",
   "edit_topsites_button_text": "Muokkaa",
+  "edit_topsites_edit_button": "Muokkaa tätä sivustoa",
+  "topsites_form_add_header": "Uusi ykkössivusto",
+  "topsites_form_edit_header": "Muokkaa ykkössivustoa",
+  "topsites_form_title_label": "Otsikko",
+  "topsites_form_title_placeholder": "Kirjoita otsikko",
+  "topsites_form_url_label": "Osoite",
+  "topsites_form_image_url_label": "Oman kuvan osoite",
+  "topsites_form_url_placeholder": "Kirjoita tai liitä osoite",
+  "topsites_form_use_image_link": "Käytä omaa kuvaa…",
+  "topsites_form_preview_button": "Esikatsele",
+  "topsites_form_add_button": "Lisää",
+  "topsites_form_save_button": "Tallenna",
+  "topsites_form_cancel_button": "Peruuta",
+  "topsites_form_url_validation": "Kelvollinen osoite vaaditaan",
+  "topsites_form_image_validation": "Kuvan lataaminen epäonnistui. Kokeile toista osoitetta.",
+  "pocket_read_more": "Suositut aiheet:",
+  "pocket_read_even_more": "Katso lisää juttuja",
+  "pocket_description": "Löydä laadukasta sisältöä, josta olisit muutoin ehkä jäänyt paitsi. Pocketilta, joka on nyt osa Mozillaa.",
+  "highlights_empty_state": "Ala selata, niin tässä alkaa näkyä hyviä juttuja, videoita ja muita sivuja, joilla olet käynyt hiljattain tai jotka olet lisännyt kirjanmerkkeihin.",
+  "topstories_empty_state": "Ei enempää suosituksia juuri nyt. Katso myöhemmin uudestaan lisää ykkösjuttuja lähteestä {provider}. Etkö malta odottaa? Valitse suosittu aihe ja löydä lisää hyviä juttuja ympäri verkkoa.",
+  "manual_migration_explanation2": "Kokeile Firefoxia toisesta selaimesta tuotujen kirjanmerkkien, historian ja salasanojen kanssa.",
+  "manual_migration_cancel_button": "Ei kiitos",
+  "manual_migration_import_button": "Tuo nyt",
+  "error_fallback_default_info": "Hups, jotain meni vikaan tätä sisältöä ladattaessa.",
+  "error_fallback_default_refresh_suggestion": "Yritä uudestaan päivittämällä sivu.",
+  "section_menu_action_remove_section": "Poista osio",
+  "section_menu_action_collapse_section": "Pienennä osio",
+  "section_menu_action_expand_section": "Laajenna osio",
+  "section_menu_action_manage_section": "Muokkaa osiota",
+  "section_menu_action_add_topsite": "Lisää ykkössivusto",
+  "section_menu_action_move_up": "Siirrä ylös",
+  "section_menu_action_move_down": "Siirrä alas",
+  "section_menu_action_privacy_notice": "Tietosuojakäytäntö",
+  "section_info_option": "Tietoa",
+  "section_info_privacy_notice": "Tietosuojakäytäntö",
+  "settings_pane_bookmarks_body": "Uusimmat kirjanmerkkisi, yhdessä kätevässä paikassa.",
+  "settings_pane_visit_again_body": "Firefox näyttää selaushistoriastasi palasia, jotka saatat haluta muistaa tai joissa haluat ehkä käydä.",
   "edit_topsites_button_label": "Muokkaa Ykkössivustot-osiota",
   "edit_topsites_showmore_button": "Näytä enemmän",
   "edit_topsites_showless_button": "Näytä vähemmän",
   "edit_topsites_done_button": "Valmis",
   "edit_topsites_pin_button": "Kiinnitä tämä sivusto",
   "edit_topsites_unpin_button": "Poista tämän sivuston kiinnitys",
-  "edit_topsites_edit_button": "Muokkaa tätä sivustoa",
   "edit_topsites_dismiss_button": "Hylkää tämä sivusto",
   "edit_topsites_add_button": "Lisää",
-  "topsites_form_add_header": "Uusi ykkössivusto",
-  "topsites_form_edit_header": "Muokkaa ykkössivustoa",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Kirjoita otsikko",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Kirjoita tai liitä osoite",
-  "topsites_form_add_button": "Lisää",
-  "topsites_form_save_button": "Tallenna",
-  "topsites_form_cancel_button": "Peruuta",
-  "topsites_form_url_validation": "Kelvollinen osoite vaaditaan",
-  "pocket_read_more": "Suositut aiheet:",
-  "pocket_read_even_more": "Katso lisää juttuja",
-  "pocket_feedback_header": "Netin parhaat palat, valikoitu yli 25 miljoonan ihmisen voimin.",
-  "pocket_description": "Löydä laadukasta sisältöä, josta olisit muutoin ehkä jäänyt paitsi. Pocketilta, joka on nyt osa Mozillaa.",
-  "highlights_empty_state": "Ala selata, niin tässä alkaa näkyä hyviä juttuja, videoita ja muita sivuja, joilla olet käynyt hiljattain tai jotka olet lisännyt kirjanmerkkeihin.",
-  "topstories_empty_state": "Ei enempää suosituksia juuri nyt. Katso myöhemmin uudestaan lisää ykkösjuttuja lähteestä {provider}. Etkö malta odottaa? Valitse suosittu aihe ja löydä lisää hyviä juttuja ympäri verkkoa.",
-  "manual_migration_explanation2": "Kokeile Firefoxia toisesta selaimesta tuotujen kirjanmerkkien, historian ja salasanojen kanssa.",
-  "manual_migration_cancel_button": "Ei kiitos",
-  "manual_migration_import_button": "Tuo nyt",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Lisää ykkössivusto"
+  "pocket_feedback_header": "Netin parhaat palat, valikoitu yli 25 miljoonan ihmisen voimin."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nouvel onglet</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Rechercher sur le Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Rechercher sur le Web" title="Rechercher sur le Web"/><button id="searchSubmit" class="search-button" title="Rechercher"><span class="sr-only"><span>Rechercher</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sites les plus visités<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommandations par Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Sujets populaires :</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Éléments-clés</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Rechercher sur le Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Rechercher sur le Web" title="Rechercher sur le Web"/><button id="searchSubmit" class="search-button" title="Rechercher"><span class="sr-only"><span>Rechercher</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sites les plus visités<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ouvrir le menu contextuel de cette section</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommandations par Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ouvrir le menu contextuel de cette section</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Sujets populaires :</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Éléments-clés</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ouvrir le menu contextuel de cette section</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Articles populaires",
   "header_highlights": "Éléments-clés",
   "header_visit_again": "Visiter à nouveau",
   "header_bookmarks": "Marque-pages récents",
   "header_recommended_by": "Recommandations par {provider}",
   "header_bookmarks_placeholder": "Vous ne possédez aucun marque-page pour l’instant.",
   "header_stories_from": "par",
   "context_menu_button_sr": "Ouvrir le menu contextuel pour {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Ouvrir le menu contextuel de cette section",
   "type_label_visited": "Visité",
   "type_label_bookmarked": "Ajouté aux marque-pages",
   "type_label_synced": "Synchronisé depuis un autre appareil",
   "type_label_recommended": "Tendance",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Enregistré dans Pocket",
   "type_label_open": "Ouvert",
   "type_label_topic": "Thème",
   "type_label_now": "Maintenant",
   "menu_action_bookmark": "Marquer cette page",
   "menu_action_remove_bookmark": "Supprimer le marque-page",
   "menu_action_copy_address": "Copier l’adresse",
   "menu_action_email_link": "Envoyer un lien par courriel…",
   "menu_action_open_new_window": "Ouvrir dans une nouvelle fenêtre",
   "menu_action_open_private_window": "Ouvrir dans une nouvelle fenêtre privée",
   "menu_action_dismiss": "Retirer",
   "menu_action_delete": "Supprimer de l’historique",
   "menu_action_pin": "Épingler",
   "menu_action_unpin": "Détacher",
   "confirm_history_delete_p1": "Voulez-vous vraiment supprimer de l’historique toutes les occurrences de cette page ?",
   "confirm_history_delete_notice_p2": "Cette action est irréversible.",
   "menu_action_save_to_pocket": "Enregistrer dans Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Supprimer de Pocket",
+  "menu_action_archive_pocket": "Archiver dans Pocket",
   "search_for_something_with": "Rechercher {search_term} avec :",
   "search_button": "Rechercher",
   "search_header": "Recherche {search_engine_name}",
   "search_web_placeholder": "Rechercher sur le Web",
   "search_settings": "Paramètres de recherche",
-  "section_info_option": "Informations",
   "section_info_send_feedback": "Donner mon avis",
-  "section_info_privacy_notice": "Politique de confidentialité",
   "section_disclaimer_topstories": "Les articles les plus intéressants du Web, sélectionnés selon ce que vous lisez. Et ceci grâce à Pocket, qui fait désormais partie de Mozilla.",
   "section_disclaimer_topstories_linktext": "Découvrez comment cela fonctionne.",
   "section_disclaimer_topstories_buttontext": "J’ai compris",
   "welcome_title": "Bienvenue sur la page Nouvel onglet",
   "welcome_body": "Firefox utilisera cet espace pour afficher des éléments pertinents, comme des marque-pages, des articles, des vidéos, et des pages que vous avez visitées, afin que vous les retrouviez facilement.",
   "welcome_label": "Identification des éléments-clés",
   "time_label_less_than_minute": "<1 min",
   "time_label_minute": "{number} min",
   "time_label_hour": "{number} h",
   "time_label_day": "{number} j",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Personnaliser la page Nouvel onglet",
   "settings_pane_header": "Préférences Nouvel onglet",
   "settings_pane_body2": "Choisissez les éléments à afficher sur la page.",
   "settings_pane_search_header": "Recherche",
   "settings_pane_search_body": "Effectuez une recherche sur le Web depuis le nouvel onglet.",
   "settings_pane_topsites_header": "Sites les plus visités",
   "settings_pane_topsites_body": "Accédez aux sites que vous consultez le plus.",
   "settings_pane_topsites_options_showmore": "Afficher deux lignes",
   "settings_pane_bookmarks_header": "Marque-pages récents",
-  "settings_pane_bookmarks_body": "Vos nouveaux marque-pages, facilement accessibles.",
   "settings_pane_visit_again_header": "Visiter à nouveau",
-  "settings_pane_visit_again_body": "Firefox affichera des extraits de votre historique de navigation dont vous pourriez vouloir vous souvenir ou que vous pourriez vouloir revisiter.",
   "settings_pane_highlights_header": "Éléments-clés",
   "settings_pane_highlights_body2": "Retrouvez des pages intéressantes que vous avez visitées récemment ou ajoutées aux marque-pages.",
   "settings_pane_highlights_options_bookmarks": "Marque-pages",
   "settings_pane_highlights_options_visited": "Sites visités",
   "settings_pane_snippets_header": "Brèves",
   "settings_pane_snippets_body": "Consultez les brèves de Mozilla à propos de Firefox, la culture Internet, mais aussi quelques mèmes Internet de temps en temps.",
   "settings_pane_done_button": "Terminé",
   "settings_pane_topstories_options_sponsored": "Afficher les articles sponsorisés",
   "edit_topsites_button_text": "Modifier",
+  "edit_topsites_edit_button": "Modifier ce site",
+  "topsites_form_add_header": "Nouveau site populaire",
+  "topsites_form_edit_header": "Modifier le site populaire",
+  "topsites_form_title_label": "Titre",
+  "topsites_form_title_placeholder": "Saisir un titre",
+  "topsites_form_url_label": "Adresse web",
+  "topsites_form_image_url_label": "Custom Image URL",
+  "topsites_form_url_placeholder": "Saisir ou coller une adresse web",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
+  "topsites_form_add_button": "Ajouter",
+  "topsites_form_save_button": "Enregistrer",
+  "topsites_form_cancel_button": "Annuler",
+  "topsites_form_url_validation": "Adresse web valide requise",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
+  "pocket_read_more": "Sujets populaires :",
+  "pocket_read_even_more": "Afficher plus d’articles",
+  "pocket_description": "Grâce à Pocket, faisant désormais partie de Mozilla, découvrez du contenu de grande qualité que vous auriez pu manquer dans le cas contraire.",
+  "highlights_empty_state": "Commencez à naviguer puis nous afficherons des articles, des vidéos ou d’autres pages que vous avez récemment visités ou ajoutés aux marque-pages.",
+  "topstories_empty_state": "Il n’y en a pas d’autres. Revenez plus tard pour plus d’articles de {provider}. Vous ne voulez pas attendre ? Choisissez un sujet parmi les plus populaires pour découvrir d’autres articles intéressants sur le Web.",
+  "manual_migration_explanation2": "Essayez Firefox en important les marque-pages, l’historique et les mots de passe depuis un autre navigateur.",
+  "manual_migration_cancel_button": "Non merci",
+  "manual_migration_import_button": "Importer",
+  "error_fallback_default_info": "Oups, une erreur s’est produite lors du chargement du contenu.",
+  "error_fallback_default_refresh_suggestion": "Actualisez la page pour réessayer.",
+  "section_menu_action_remove_section": "Supprimer la section",
+  "section_menu_action_collapse_section": "Réduire la section",
+  "section_menu_action_expand_section": "Développer la section",
+  "section_menu_action_manage_section": "Gérer la section",
+  "section_menu_action_add_topsite": "Ajouter un site populaire",
+  "section_menu_action_move_up": "Déplacer vers le haut",
+  "section_menu_action_move_down": "Déplacer vers le bas",
+  "section_menu_action_privacy_notice": "Politique de confidentialité",
+  "section_info_option": "Informations",
+  "section_info_privacy_notice": "Politique de confidentialité",
+  "settings_pane_bookmarks_body": "Vos nouveaux marque-pages, facilement accessibles.",
+  "settings_pane_visit_again_body": "Firefox affichera des extraits de votre historique de navigation dont vous pourriez vouloir vous souvenir ou que vous pourriez vouloir revisiter.",
   "edit_topsites_button_label": "Personnaliser la section Sites les plus visités",
   "edit_topsites_showmore_button": "En afficher plus",
   "edit_topsites_showless_button": "En afficher moins",
   "edit_topsites_done_button": "Terminé",
   "edit_topsites_pin_button": "Épingler ce site",
   "edit_topsites_unpin_button": "Relâcher ce site",
-  "edit_topsites_edit_button": "Modifier ce site",
   "edit_topsites_dismiss_button": "Retirer ce site",
   "edit_topsites_add_button": "Ajouter",
-  "topsites_form_add_header": "Nouveau site populaire",
-  "topsites_form_edit_header": "Modifier le site populaire",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Saisir un titre",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Saisir ou coller une adresse web",
-  "topsites_form_add_button": "Ajouter",
-  "topsites_form_save_button": "Enregistrer",
-  "topsites_form_cancel_button": "Annuler",
-  "topsites_form_url_validation": "Adresse web valide requise",
-  "pocket_read_more": "Sujets populaires :",
-  "pocket_read_even_more": "Afficher plus d’articles",
-  "pocket_feedback_header": "Le meilleur du Web, sélectionné par plus de 25 millions de personnes.",
-  "pocket_description": "Grâce à Pocket, faisant désormais partie de Mozilla, découvrez du contenu de grande qualité que vous auriez pu manquer dans le cas contraire.",
-  "highlights_empty_state": "Commencez à naviguer puis nous afficherons des articles, des vidéos ou d’autres pages que vous avez récemment visités ou ajoutés aux marque-pages.",
-  "topstories_empty_state": "Il n’y en a pas d’autres. Revenez plus tard pour plus d’articles de {provider}. Vous ne voulez pas attendre ? Choisissez un sujet parmi les plus populaires pour découvrir d’autres articles intéressants sur le Web.",
-  "manual_migration_explanation2": "Essayez Firefox en important les marque-pages, l’historique et les mots de passe depuis un autre navigateur.",
-  "manual_migration_cancel_button": "Non merci",
-  "manual_migration_import_button": "Importer",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Ajouter un site populaire"
+  "pocket_feedback_header": "Le meilleur du Web, sélectionné par plus de 25 millions de personnes."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nij ljepblêd</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Sykje op it web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Sykje op it web" title="Sykje op it web"/><button id="searchSubmit" class="search-button" title="Sykje"><span class="sr-only"><span>Sykje</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Topwebsites<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Oanrekommandearre troch Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populêre ûnderwerpen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Hichtepunten</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Sykje op it web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Sykje op it web" title="Sykje op it web"/><button id="searchSubmit" class="search-button" title="Sykje"><span class="sr-only"><span>Sykje</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Topwebsites<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstmenu fan seksje iepenje</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Oanrekommandearre troch Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstmenu fan seksje iepenje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populêre ûnderwerpen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Hichtepunten</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstmenu fan seksje iepenje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Topferhalen",
   "header_highlights": "Hichtepunten",
   "header_visit_again": "Nochris besykje",
   "header_bookmarks": "Resinte blêdwizers",
   "header_recommended_by": "Oanrekommandearre troch {provider}",
   "header_bookmarks_placeholder": "Jo hawwe noch gjin inkelde blêdwizer.",
   "header_stories_from": "fan",
   "context_menu_button_sr": "Kontekstmenu foar {title} iepenje",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Kontekstmenu fan seksje iepenje",
   "type_label_visited": "Besocht",
   "type_label_bookmarked": "Blêdwizer makke",
   "type_label_synced": "Syngronisearre fan oar apparaat ôf",
   "type_label_recommended": "Trending",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Bewarre nei Pocket",
   "type_label_open": "Iepene",
   "type_label_topic": "Underwerp",
   "type_label_now": "No",
   "menu_action_bookmark": "Blêdwizer",
   "menu_action_remove_bookmark": "Blêdwizer fuortsmite",
   "menu_action_copy_address": "Adres kopiearje",
   "menu_action_email_link": "Keppeling e-maile…",
   "menu_action_open_new_window": "Iepenje yn in nij finster",
   "menu_action_open_private_window": "Iepenje yn in nij priveefinster",
   "menu_action_dismiss": "Fuortsmite",
   "menu_action_delete": "Fuortsmite út skiednis",
   "menu_action_pin": "Fêstsette",
   "menu_action_unpin": "Losmeitsje",
   "confirm_history_delete_p1": "Binne jo wis dat jo elke ferwizing fan dizze side út jo skiednis fuortsmite wolle?",
   "confirm_history_delete_notice_p2": "Dizze aksje kin net ûngedien makke wurde.",
   "menu_action_save_to_pocket": "Bewarje nei Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Fuortsmite út Pocket",
+  "menu_action_archive_pocket": "Argivearje yn Pocket",
   "search_for_something_with": "Sykje nei {search_term} mei:",
   "search_button": "Sykje",
   "search_header": "{search_engine_name} trochsykje",
   "search_web_placeholder": "Sykje op it web",
   "search_settings": "Sykynstellingen wizigje",
-  "section_info_option": "Ynfo",
   "section_info_send_feedback": "Kommentaar ferstjoere",
-  "section_info_privacy_notice": "Privacyferklearring",
   "section_disclaimer_topstories": "De meast ynteressante ferhalen op it web, selektearre op basis fan wat jo lêzen hawwe. Fan Pocket, no ûnderdiel fan Mozilla.",
   "section_disclaimer_topstories_linktext": "Lês hoe't it wurket.",
   "section_disclaimer_topstories_buttontext": "Oké, begrepen",
   "welcome_title": "Wolkom by it nije ljepblêd",
   "welcome_body": "Firefox brûkt dizze romte om jo meast relevante blêdwizers, artikelen, fideo’s en siden dy't jo koartlyn besocht hawwe wer te jaan, sadat jo dizze ienfâldichwei weromfine kinne.",
   "welcome_label": "Jo hichtepunten oantsjutte",
   "time_label_less_than_minute": "< 1 m",
   "time_label_minute": "{number} m",
   "time_label_hour": "{number} o",
   "time_label_day": "{number} d",
+  "prefs_home_header": "Ynhâld fan Firefox-startside",
+  "prefs_home_description": "Kies hokker ynhâld jo op jo Firefox-startside werjaan wolle.",
+  "prefs_restore_defaults_button": "Standertwearden opnij ynstelle",
+  "prefs_section_rows_option": "{num} rige;{num} rigen",
+  "prefs_search_header": "Sykje op it web",
+  "prefs_topsites_description": "De troch jo meast besochte websites",
+  "prefs_topstories_description": "Ynhâld fan hege kwaliteit dy't jo oars mooglik misse",
+  "prefs_topstories_show_sponsored_label": "Sponsore ferhalen fan {provider}",
+  "prefs_topstories_sponsored_learn_more": "Mear ynfo",
+  "prefs_highlights_description": "In seleksje fan websites dy't jo bewarre of besocht hawwe",
+  "prefs_snippets_description": "Fernijingen fan Mozilla en Firefox",
   "settings_pane_button_label": "Jo side foar nije ljepblêden oanpasse",
   "settings_pane_header": "Nij ljepblêdfoarkarren",
   "settings_pane_body2": "Kies wat jo op dizze side sjogge.",
   "settings_pane_search_header": "Sykje",
   "settings_pane_search_body": "Sykje op it web fan jo nije ljepblêd út.",
   "settings_pane_topsites_header": "Topwebsites",
   "settings_pane_topsites_body": "Benaderje de websites dy't jo it meast besykje.",
   "settings_pane_topsites_options_showmore": "Twa rigen toane",
   "settings_pane_bookmarks_header": "Resinte blêdwizers",
-  "settings_pane_bookmarks_body": "Jo koartlyn oanmakke blêdwizers op ien handich plak.",
   "settings_pane_visit_again_header": "Nochris besykje",
-  "settings_pane_visit_again_body": "Firefox sil jo ûnderdielen fan jo sneupskiednis toane dy't jo miskien ûnthâlde of nei werom gean wolle.",
   "settings_pane_highlights_header": "Hichtepunten",
   "settings_pane_highlights_body2": "Fyn fluch ynteressante saken werom út jo blêdwizers en resint besocht siden.",
   "settings_pane_highlights_options_bookmarks": "Blêdwizers",
   "settings_pane_highlights_options_visited": "Besochte websites",
   "settings_pane_snippets_header": "Koarte ynformaasje",
   "settings_pane_snippets_body": "Lês koart nijs fan Mozilla oer Firefox, ynternetkultuer en somtiden in meme.",
   "settings_pane_done_button": "Dien",
   "settings_pane_topstories_options_sponsored": "Sponsore ferhalen toane",
   "edit_topsites_button_text": "Bewurkje",
+  "edit_topsites_edit_button": "Dizze side bewurkje",
+  "topsites_form_add_header": "Nije topwebsite",
+  "topsites_form_edit_header": "Topwebsite tafoegje",
+  "topsites_form_title_label": "Titel",
+  "topsites_form_title_placeholder": "Titel ynfiere",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL fan oanpaste ôfbylding",
+  "topsites_form_url_placeholder": "Typ of plak in URL",
+  "topsites_form_use_image_link": "In oanpaste ôfbylding brûke…",
+  "topsites_form_preview_button": "Foarbyld",
+  "topsites_form_add_button": "Tafoegje",
+  "topsites_form_save_button": "Bewarje",
+  "topsites_form_cancel_button": "Annulearje",
+  "topsites_form_url_validation": "Jildige URL fereaske",
+  "topsites_form_image_validation": "Ofbylding koe net laden wurde. Probearje in oare URL.",
+  "pocket_read_more": "Populêre ûnderwerpen:",
+  "pocket_read_even_more": "Mear ferhalen besjen",
+  "pocket_description": "Untdek ynhâld fan hege kwaliteit mei help fan Pocket (no ûnderdiel fan Mozilla), dy't jo oars misten.",
+  "highlights_empty_state": "Start mei sneupen en wy toane jo guon moaie artikelen, fideo's en oare siden dy't jo resint besocht hawwe of in blêdwizer fan makke hawwe.",
+  "topstories_empty_state": "Jo binne by. Kom letter werom foar mear ferhalen fan {provider}. Kin jo net wachtsje? Selektearje in populêr ûnderwerp om mear ferhalen fan it ynternet te finen.",
+  "manual_migration_explanation2": "Probearje Firefox en ymportearje de blêdwizers, skiednis en wachtwurden fan oare browsers.",
+  "manual_migration_cancel_button": "Nee tankewol",
+  "manual_migration_import_button": "No ymportearje",
+  "error_fallback_default_info": "Oeps, der is wat misgien by it laden fan dizze ynhâld.",
+  "error_fallback_default_refresh_suggestion": "Fernij de side om it opnij te probearjen.",
+  "section_menu_action_remove_section": "Seksje fuortsmite",
+  "section_menu_action_collapse_section": "Seksje ynklappe",
+  "section_menu_action_expand_section": "Seksje útklappe",
+  "section_menu_action_manage_section": "Seksje beheare",
+  "section_menu_action_add_topsite": "Topwebsite tafoegje",
+  "section_menu_action_move_up": "Omheech ferpleatse",
+  "section_menu_action_move_down": "Omleech ferpleatse",
+  "section_menu_action_privacy_notice": "Privacyferklearring",
+  "section_info_option": "Ynfo",
+  "section_info_privacy_notice": "Privacyferklearring",
+  "settings_pane_bookmarks_body": "Jo koartlyn oanmakke blêdwizers op ien handich plak.",
+  "settings_pane_visit_again_body": "Firefox sil jo ûnderdielen fan jo sneupskiednis toane dy't jo miskien ûnthâlde of nei werom gean wolle.",
   "edit_topsites_button_label": "Jo seksje Topwebsites oanpasse",
   "edit_topsites_showmore_button": "Mear toane",
   "edit_topsites_showless_button": "Minder toane",
   "edit_topsites_done_button": "Dien",
   "edit_topsites_pin_button": "Dizze side fêstsette",
   "edit_topsites_unpin_button": "Dizze webstee loskeppelje",
-  "edit_topsites_edit_button": "Dizze side bewurkje",
   "edit_topsites_dismiss_button": "Dizze side fuortsmite",
   "edit_topsites_add_button": "Tafoegje",
-  "topsites_form_add_header": "Nije topwebsite",
-  "topsites_form_edit_header": "Topwebsite tafoegje",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Titel ynfiere",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Typ of plak in URL",
-  "topsites_form_add_button": "Tafoegje",
-  "topsites_form_save_button": "Bewarje",
-  "topsites_form_cancel_button": "Annulearje",
-  "topsites_form_url_validation": "Jildige URL fereaske",
-  "pocket_read_more": "Populêre ûnderwerpen:",
-  "pocket_read_even_more": "Mear ferhalen besjen",
-  "pocket_feedback_header": "It bêste fan it web, sammele troch mear as 25 miljoen minsken.",
-  "pocket_description": "Untdek ynhâld fan hege kwaliteit mei help fan Pocket (no ûnderdiel fan Mozilla), dy't jo oars misten.",
-  "highlights_empty_state": "Start mei sneupen en wy toane jo guon moaie artikelen, fideo's en oare siden dy't jo resint besocht hawwe of in blêdwizer fan makke hawwe.",
-  "topstories_empty_state": "Jo binne by. Kom letter werom foar mear ferhalen fan {provider}. Kin jo net wachtsje? Selektearje in populêr ûnderwerp om mear ferhalen fan it ynternet te finen.",
-  "manual_migration_explanation2": "Probearje Firefox en ymportearje de blêdwizers, skiednis en wachtwurden fan oare browsers.",
-  "manual_migration_cancel_button": "Nee tankewol",
-  "manual_migration_import_button": "No ymportearje",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Topwebsite tafoegje"
+  "pocket_feedback_header": "It bêste fan it web, sammele troch mear as 25 miljoen minsken."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Cluaisín Nua</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cuardaigh an Gréasán</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cuardaigh an Gréasán" title="Cuardaigh an Gréasán"/><button id="searchSubmit" class="search-button" title="Cuardach"><span class="sr-only"><span>Cuardach</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Barrshuímh<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topaicí i mbéal an phobail:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cuardaigh an Gréasán</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cuardaigh an Gréasán" title="Cuardaigh an Gréasán"/><button id="searchSubmit" class="search-button" title="Cuardach"><span class="sr-only"><span>Cuardach</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Barrshuímh<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topaicí i mbéal an phobail:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-strings.js
@@ -35,72 +35,74 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Sábháil in Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Déan cuardach ar {search_term} le:",
   "search_button": "Cuardach",
   "search_header": "Cuardach {search_engine_name}",
   "search_web_placeholder": "Cuardaigh an Gréasán",
   "search_settings": "Socruithe Cuardaigh",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Send Feedback",
-  "section_info_privacy_notice": "Privacy Notice",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "Fáilte go dtí cluaisín nua",
   "welcome_body": "Úsáidfidh Firefox an spás seo chun na leabharmharcanna, ailt, físeáin, agus leathanaigh is tábhachtaí a thaispeáint duit, ionas go mbeidh tú in ann filleadh orthu gan stró.",
   "welcome_label": "Buaicphointí á lorg",
   "time_label_less_than_minute": "< 1 n",
   "time_label_minute": "{number}n",
   "time_label_hour": "{number}u",
   "time_label_day": "{number}l",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Saincheap an Leathanach do Chluaisín Nua",
   "settings_pane_header": "Sainroghanna do Chluaisín Nua",
   "settings_pane_body2": "Choose what you see on this page.",
   "settings_pane_search_header": "Cuardach",
   "settings_pane_search_body": "Cuardaigh an Gréasán go díreach ón gcluaisín nua.",
   "settings_pane_topsites_header": "Barrshuímh",
   "settings_pane_topsites_body": "Na suímh Ghréasáin a dtugann tú cuairt orthu is minice.",
   "settings_pane_topsites_options_showmore": "Taispeáin dhá shraith",
   "settings_pane_bookmarks_header": "Leabharmharcanna Le Déanaí",
-  "settings_pane_bookmarks_body": "Do chuid leabharmharcanna nua in áit amháin.",
   "settings_pane_visit_again_header": "Cuairt Arís",
-  "settings_pane_visit_again_body": "Taispeánann Firefox nascanna ó do stair bhrabhsála a mbeadh suim agat filleadh orthu amach anseo.",
   "settings_pane_highlights_header": "Highlights",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "Bookmarks",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Déanta",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "Eagar",
-  "edit_topsites_button_label": "Saincheap na Barrshuímh",
-  "edit_topsites_showmore_button": "Taispeáin níos mó",
-  "edit_topsites_showless_button": "Taispeáin níos lú",
-  "edit_topsites_done_button": "Déanta",
-  "edit_topsites_pin_button": "Greamaigh an suíomh seo",
-  "edit_topsites_unpin_button": "Díghreamaigh an suíomh seo",
   "edit_topsites_edit_button": "Cuir an suíomh seo in eagar",
-  "edit_topsites_dismiss_button": "Ruaig an suíomh seo",
-  "edit_topsites_add_button": "Cuir leis",
   "topsites_form_add_header": "Barrshuíomh Nua",
   "topsites_form_edit_header": "Cuir an Barrshuíomh in Eagar",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Cuir teideal isteach",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Clóscríobh nó greamaigh URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Cuir leis",
   "topsites_form_save_button": "Sábháil",
   "topsites_form_cancel_button": "Cealaigh",
   "topsites_form_url_validation": "URL neamhbhailí",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Topaicí i mbéal an phobail:",
   "pocket_read_even_more": "Tuilleadh Scéalta",
-  "pocket_feedback_header": "Ábhar den chéad scoth ón Ghréasán, le níos mó ná 25 milliún duine i mbun coimeádaíochta.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
@@ -108,13 +110,24 @@ window.gActivityStreamStrings = {
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
   "settings_pane_body": "Roghnaigh na rudaí a fheicfidh tú nuair a osclóidh tú cluaisín nua.",
+  "settings_pane_bookmarks_body": "Do chuid leabharmharcanna nua in áit amháin.",
+  "settings_pane_visit_again_body": "Taispeánann Firefox nascanna ó do stair bhrabhsála a mbeadh suim agat filleadh orthu amach anseo.",
   "settings_pane_pocketstories_header": "Barrscéalta",
   "settings_pane_pocketstories_body": "Le Pocket, ball de theaghlach Mozilla, beidh tú ábalta teacht ar ábhar den chéad scoth go héasca.",
+  "edit_topsites_button_label": "Saincheap na Barrshuímh",
+  "edit_topsites_showmore_button": "Taispeáin níos mó",
+  "edit_topsites_showless_button": "Taispeáin níos lú",
+  "edit_topsites_done_button": "Déanta",
+  "edit_topsites_pin_button": "Greamaigh an suíomh seo",
+  "edit_topsites_unpin_button": "Díghreamaigh an suíomh seo",
+  "edit_topsites_dismiss_button": "Ruaig an suíomh seo",
+  "edit_topsites_add_button": "Cuir leis",
+  "pocket_feedback_header": "Ábhar den chéad scoth ón Ghréasán, le níos mó ná 25 milliún duine i mbun coimeádaíochta.",
   "pocket_feedback_body": "Le Pocket, ball de theaghlach Mozilla, beidh tú ábalta teacht ar ábhar den chéad scoth go héasca.",
   "pocket_send_feedback": "Tabhair Aiseolas Dúinn"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Taba ùr</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Lorg air an lìon</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Lorg air an lìon" title="Lorg air an lìon"/><button id="searchSubmit" class="search-button" title="Lorg"><span class="sr-only"><span>Lorg</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Brod nan làrach<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>’Ga mholadh le Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Cuspairean fèillmhor:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Sàr-roghainn</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Lorg air an lìon</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Lorg air an lìon" title="Lorg air an lìon"/><button id="searchSubmit" class="search-button" title="Lorg"><span class="sr-only"><span>Lorg</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Brod nan làrach<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Fosgail clàr-taice co-theacsail na h-earrainn</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>’Ga mholadh le Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Fosgail clàr-taice co-theacsail na h-earrainn</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Cuspairean fèillmhor:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Sàr-roghainn</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Fosgail clàr-taice co-theacsail na h-earrainn</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Brod nan sgeul",
   "header_highlights": "Sàr-roghainn",
   "header_visit_again": "Tadhail a-rithist",
   "header_bookmarks": "Comharran-lìn o chionn goirid",
   "header_recommended_by": "’Ga mholadh le {provider}",
   "header_bookmarks_placeholder": "Chan eil comharra-lìn sam bith agad fhathast.",
   "header_stories_from": "o",
   "context_menu_button_sr": "Fosgail an clàr-taice co-theacsail aig {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Fosgail clàr-taice co-theacsail na h-earrainn",
   "type_label_visited": "Na thadhail thu air",
   "type_label_bookmarked": "’Nan comharran-lìn",
   "type_label_synced": "Sioncronaichte o uidheam eile",
   "type_label_recommended": "A’ treandadh",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Air a shàbhaladh ann am Pocket",
   "type_label_open": "Fosgailte",
   "type_label_topic": "Cuspair",
   "type_label_now": "An-dràsta",
   "menu_action_bookmark": "Comharra-lìn",
   "menu_action_remove_bookmark": "Thoir an comharra-lìn air falbh",
   "menu_action_copy_address": "Dèan lethbhreac dhen t-seòladh",
   "menu_action_email_link": "Cuir an ceangal air a’ phost-d…",
   "menu_action_open_new_window": "Fosgail ann an uinneag ùr",
   "menu_action_open_private_window": "Fosgail ann an uinneag phrìobhaideach ùr",
   "menu_action_dismiss": "Leig seachad",
   "menu_action_delete": "Sguab às an eachdraidh",
   "menu_action_pin": "Prìnich",
   "menu_action_unpin": "Dì-phrìnich",
   "confirm_history_delete_p1": "A bheil thu cinnteach gu bheil thu airson gach ionstans na duilleige seo a sguabadh às an eachdraidh agad?",
   "confirm_history_delete_notice_p2": "Cha ghabh seo a neo-dhèanamh.",
   "menu_action_save_to_pocket": "Sàbhail sa phòcaid",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Air a sguabadh à Pocket",
+  "menu_action_archive_pocket": "Tasglannaich ann am Pocket",
   "search_for_something_with": "Lorg {search_term} le:",
   "search_button": "Lorg",
   "search_header": "Lorg le {search_engine_name}",
   "search_web_placeholder": "Lorg air an lìon",
   "search_settings": "Atharraich roghainnean an luirg",
-  "section_info_option": "Fiosrachadh",
   "section_info_send_feedback": "Cuir thugainn do bheachdan",
-  "section_info_privacy_notice": "Sanas prìobhaideachd",
   "section_disclaimer_topstories": "Na sgeulachdan as inntinniche air an lìon, air a thaghadh a-rèir na bhios tu a’ leughadh. O Phocket, a tha ’na phàirt de Mhozilla a-nis.",
   "section_disclaimer_topstories_linktext": "Seo mar a dh’obraicheas e.",
   "section_disclaimer_topstories_buttontext": "Ceart, tha mi agaibh",
   "welcome_title": "Fàilte gun taba ùr",
   "welcome_body": "Seallaidh Firefox na comharran-lìn, artaigealan, videothan is duilleagan as iomchaidhe dhut, an fheadhainn air an do thadhail thu o chionn goirid, ach an ruig thu iad gu luath.",
   "welcome_label": "Ag aithneachadh nan highlights agad",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}u",
   "time_label_day": "{number}l",
+  "prefs_home_header": "Susbaint sgrìn mhòr Firefox",
+  "prefs_home_description": "Tagh an t-susbaint a bu mhath leat fhaicinn air sgrìn mhòr Firefox",
+  "prefs_restore_defaults_button": "Aisig na bun-roghainnean",
+  "prefs_section_rows_option": "{num} ràgh;{num} ràgh;{num} ràghan;{num} ràgh",
+  "prefs_search_header": "Lorg air an lìon",
+  "prefs_topsites_description": "Na làraichean air an tadhail thu as trice",
+  "prefs_topstories_description": "Brod susbaint a dh’fhairtlicheadh ort",
+  "prefs_topstories_show_sponsored_label": "Sgeulachdan sponsairichte {provider}",
+  "prefs_topstories_sponsored_learn_more": "Barrachd fiosrachaidh",
+  "prefs_highlights_description": "Taghadh de làraichean a shàbhail thu no air an do thadhail thu",
+  "prefs_snippets_description": "Ùrachaidhean o Mozilla is Firefox",
   "settings_pane_button_label": "Gnàthaich duilleag nan tabaichean ùra agad",
   "settings_pane_header": "Roghainnean nan tabaichean ùra",
   "settings_pane_body2": "Tagh na chì thu air an duilleag seo.",
   "settings_pane_search_header": "Lorg",
   "settings_pane_search_body": "Lorg air an lìon on taba ùr agad.",
   "settings_pane_topsites_header": "Brod nan làrach",
   "settings_pane_topsites_body": "Faigh cothrom air na làraichean air an tadhail thu gu tric.",
   "settings_pane_topsites_options_showmore": "Seall dà ràgh",
   "settings_pane_bookmarks_header": "Comharran-lìn o chionn goirid",
-  "settings_pane_bookmarks_body": "Na comharran-lìn ùra agad san aon àite ghoireasach.",
   "settings_pane_visit_again_header": "Tadhail a-rithist",
-  "settings_pane_visit_again_body": "Seallaidh Firefox cuid dhen eachdraidh bhrabhsaidh agad dhut a bu toil leat cuimhneachadh no tadhal air a-rithist ma dh’fhaoidte.",
   "settings_pane_highlights_header": "Sàr-roghainn",
   "settings_pane_highlights_body2": "Faigh greim gu furasta air rudan inntinneach air an do thadhail thu roimhe no a rinn thu comharran-lìn dhiubh.",
   "settings_pane_highlights_options_bookmarks": "Comharran-lìn",
   "settings_pane_highlights_options_visited": "Làraichean a thadhladh orra",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Leugh naidheachdan goirid tlachdmhor o Mozilla mu Firefox, cultar an lìn ’s mìm no dhà.",
   "settings_pane_done_button": "Deiseil",
   "settings_pane_topstories_options_sponsored": "Seall sgeulachdan sponsairichte",
   "edit_topsites_button_text": "Deasaich",
+  "edit_topsites_edit_button": "Deasaich an làrach seo",
+  "topsites_form_add_header": "Brod làraich ùr",
+  "topsites_form_edit_header": "Deasaich am brod làraich",
+  "topsites_form_title_label": "Tiotal",
+  "topsites_form_title_placeholder": "Cuir ainm a-steach",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL deilbh gnàthaichte",
+  "topsites_form_url_placeholder": "Sgrìobh URL no cuir fear ann",
+  "topsites_form_use_image_link": "Cleachd dealbh gnàthaichte...",
+  "topsites_form_preview_button": "Ro-shealladh",
+  "topsites_form_add_button": "Cuir ris",
+  "topsites_form_save_button": "Sàbhail",
+  "topsites_form_cancel_button": "Sguir dheth",
+  "topsites_form_url_validation": "Tha feum air URL dligheach",
+  "topsites_form_image_validation": "Dh’fhàillig luchdadh an deilbh. Feuch URL eile.",
+  "pocket_read_more": "Cuspairean fèillmhor:",
+  "pocket_read_even_more": "Seall barrachd sgeul",
+  "pocket_description": "Fiosraich sàr-shusbaint nach lorgadh tu ’s dòcha le taic o Pocket a tha ’na phàirt dhe Mozilla a-nis.",
+  "highlights_empty_state": "Tòisich air brabhsadh is seallaidh sinn dhut an-seo cuid dhe na h-artaigilean, videothan is duilleagan eile air an do thadhail thu no a chuir thu ris na comharran-lìn o chionn ghoirid.",
+  "topstories_empty_state": "Sin na naidheachdan uile o {provider} an-dràsta ach bidh barrachd ann a dh’aithghearr. No thoir sùil air cuspair air a bheil fèill mhòr is leugh na tha a’ dol mun cuairt air an lìon an-dràsta.",
+  "manual_migration_explanation2": "Feuch Firefox leis na comharran-lìn, an eachdraidh ’s na faclan-faire o bhrabhsair eile.",
+  "manual_migration_cancel_button": "Chan eil, tapadh leibh",
+  "manual_migration_import_button": "Ion-phortaich an-dràsta",
+  "error_fallback_default_info": "Ìoc, chaidh rudeigin cearr fhad ’s a bha sinn a’ luchdadh na susbaint seo.",
+  "error_fallback_default_refresh_suggestion": "Ath-nuadhaich an duilleag airson fheuchainn ris a-rithist.",
+  "section_menu_action_remove_section": "Thoir an earrann air falbh",
+  "section_menu_action_collapse_section": "Co-theannaich an earrann",
+  "section_menu_action_expand_section": "Leudaich an earrann",
+  "section_menu_action_manage_section": "Stiùirich an earrann",
+  "section_menu_action_add_topsite": "Cuir ris brod làraich",
+  "section_menu_action_move_up": "Gluais suas",
+  "section_menu_action_move_down": "Gluais sìos",
+  "section_menu_action_privacy_notice": "Sanas prìobhaideachd",
+  "section_info_option": "Fiosrachadh",
+  "section_info_privacy_notice": "Sanas prìobhaideachd",
+  "settings_pane_bookmarks_body": "Na comharran-lìn ùra agad san aon àite ghoireasach.",
+  "settings_pane_visit_again_body": "Seallaidh Firefox cuid dhen eachdraidh bhrabhsaidh agad dhut a bu toil leat cuimhneachadh no tadhal air a-rithist ma dh’fhaoidte.",
   "edit_topsites_button_label": "Gnàthaich earrann brod nan làrach agad",
   "edit_topsites_showmore_button": "Seall barrachd",
   "edit_topsites_showless_button": "Seall nas lugha",
   "edit_topsites_done_button": "Deiseil",
   "edit_topsites_pin_button": "Prìnich an làrach seo",
   "edit_topsites_unpin_button": "Dì-phrìnich an làrach seo",
-  "edit_topsites_edit_button": "Deasaich an làrach seo",
   "edit_topsites_dismiss_button": "Leig seachad an làrach seo",
   "edit_topsites_add_button": "Cuir ris",
-  "topsites_form_add_header": "Brod làraich ùr",
-  "topsites_form_edit_header": "Deasaich am brod làraich",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Cuir ainm a-steach",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Sgrìobh URL no cuir fear ann",
-  "topsites_form_add_button": "Cuir ris",
-  "topsites_form_save_button": "Sàbhail",
-  "topsites_form_cancel_button": "Sguir dheth",
-  "topsites_form_url_validation": "Tha feum air URL dligheach",
-  "pocket_read_more": "Cuspairean fèillmhor:",
-  "pocket_read_even_more": "Seall barrachd sgeul",
-  "pocket_feedback_header": "Brod an eadar-lìn, air a dheasachadh le barrachd air 25 millean duine.",
-  "pocket_description": "Fiosraich sàr-shusbaint nach lorgadh tu ’s dòcha le taic o Pocket a tha ’na phàirt dhe Mozilla a-nis.",
-  "highlights_empty_state": "Tòisich air brabhsadh is seallaidh sinn dhut an-seo cuid dhe na h-artaigilean, videothan is duilleagan eile air an do thadhail thu no a chuir thu ris na comharran-lìn o chionn ghoirid.",
-  "topstories_empty_state": "Sin na naidheachdan uile o {provider} an-dràsta ach bidh barrachd ann a dh’aithghearr. No thoir sùil air cuspair air a bheil fèill mhòr is leugh na tha a’ dol mun cuairt air an lìon an-dràsta.",
-  "manual_migration_explanation2": "Feuch Firefox leis na comharran-lìn, an eachdraidh ’s na faclan-faire o bhrabhsair eile.",
-  "manual_migration_cancel_button": "Chan eil, tapadh leibh",
-  "manual_migration_import_button": "Ion-phortaich an-dràsta",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Cuir ris brod làraich"
+  "pocket_feedback_header": "Brod an eadar-lìn, air a dheasachadh le barrachd air 25 millean duine."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nova lapela</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar na Web" title="Buscar na Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sitios favoritos<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar na Web" title="Buscar na Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sitios favoritos<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-strings.js
@@ -35,81 +35,94 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Gardar en Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Buscar {search_term} con:",
   "search_button": "Buscar",
   "search_header": "Busca de {search_engine_name}",
   "search_web_placeholder": "Buscar na Web",
   "search_settings": "Cambiar configuración da busca",
-  "section_info_option": "Información",
   "section_info_send_feedback": "Enviar opinión",
-  "section_info_privacy_notice": "Política de privacidade",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "Benvida á nova lapela",
   "welcome_body": "Firefox will use this space to show your most relevant bookmarks, articles, videos, and pages you’ve recently visited, so you can get back to them easily.",
   "welcome_label": "Identifying your Highlights",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Personalice a páxina de nova lapela",
   "settings_pane_header": "Preferencias de nova lapela",
   "settings_pane_body2": "Escolla que quere ver nesta páxina.",
   "settings_pane_search_header": "Busca",
   "settings_pane_search_body": "Search the Web from your new tab.",
   "settings_pane_topsites_header": "Sitios favoritos",
   "settings_pane_topsites_body": "Acceda aos sitios web que máis visita.",
   "settings_pane_topsites_options_showmore": "Amosar dúas filas",
   "settings_pane_bookmarks_header": "Marcadores recentes",
-  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
   "settings_pane_visit_again_header": "Visit Again",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "Destacados",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "Marcadores",
   "settings_pane_highlights_options_visited": "Sitios visitados",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Feito",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "Editar",
-  "edit_topsites_button_label": "Personalizar a sección de sitios favoritos",
-  "edit_topsites_showmore_button": "Amosar máis",
-  "edit_topsites_showless_button": "Amosar menos",
-  "edit_topsites_done_button": "Feito",
-  "edit_topsites_pin_button": "Fixar este sitio",
-  "edit_topsites_unpin_button": "Quitar este sitio fixo",
   "edit_topsites_edit_button": "Editar este sitio",
-  "edit_topsites_dismiss_button": "Rexeitar este sitio",
-  "edit_topsites_add_button": "Engadir",
   "topsites_form_add_header": "Novo sitio favorito",
   "topsites_form_edit_header": "Editar sitio favorito",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Escribir un título",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Escribir ou pegar un URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Engadir",
   "topsites_form_save_button": "Gardar",
   "topsites_form_cancel_button": "Cancelar",
   "topsites_form_url_validation": "Requírese un URL válido",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Temas populares:",
   "pocket_read_even_more": "Ver máis historias",
-  "pocket_feedback_header": "O mellor da Web, seleccionado por máis de 25 millóns de persoas.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "Non, grazas",
   "manual_migration_import_button": "Importar agora",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Información",
+  "section_info_privacy_notice": "Política de privacidade",
+  "edit_topsites_button_label": "Personalizar a sección de sitios favoritos",
+  "edit_topsites_showmore_button": "Amosar máis",
+  "edit_topsites_showless_button": "Amosar menos",
+  "edit_topsites_done_button": "Feito",
+  "edit_topsites_pin_button": "Fixar este sitio",
+  "edit_topsites_unpin_button": "Quitar este sitio fixo",
+  "edit_topsites_dismiss_button": "Rexeitar este sitio",
+  "edit_topsites_add_button": "Engadir",
+  "pocket_feedback_header": "O mellor da Web, seleccionado por máis de 25 millóns de persoas."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tendayke Pyahu</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Ñandutivevépe Jeheka</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Ñandutivevépe Jeheka" title="Ñandutivevépe Jeheka"/><button id="searchSubmit" class="search-button" title="Eheka"><span class="sr-only"><span>Eheka</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Tenda Ojehechavéva<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket he&#x27;i ndéve reike hag̃ua</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Ñe&#x27;ẽmbyrã Ojehayhuvéva:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Mba&#x27;eporãitéva</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Ñandutivevépe Jeheka</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Ñandutivevépe Jeheka" title="Ñandutivevépe Jeheka"/><button id="searchSubmit" class="search-button" title="Eheka"><span class="sr-only"><span>Eheka</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Tenda Ojehechavéva<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket he&#x27;i ndéve reike hag̃ua</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Ñe&#x27;ẽmbyrã Ojehayhuvéva:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Mba&#x27;eporãitéva</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Eñongatu Pocket-pe",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Eheka {search_term} eipurúvo:",
   "search_button": "Eheka",
   "search_header": "Eheka {search_engine_name} ndive",
   "search_web_placeholder": "Ñandutivevépe Jeheka",
   "search_settings": "Jeheka Reko Moambue",
-  "section_info_option": "Kuaarã",
   "section_info_send_feedback": "Temimo'ã Ñemondo",
-  "section_info_privacy_notice": "Tekovepypegua Rehegua",
   "section_disclaimer_topstories": "Mba'erechapyrã ñandutivevepegua ojeiporavóva ndéve g̃uarã ojejesareko rupi remoñe'ẽva jepi rehe. Pocket guive ha'éva ko'ág̃a Mozilla mba'e.",
   "section_disclaimer_topstories_linktext": "Eikuaave mba'éichapa oiko.",
   "section_disclaimer_topstories_buttontext": "Oĩma, hesakãma chéve",
   "welcome_title": "Tereg̃uahẽ porãite ko tendayke pyahúpe",
   "welcome_body": "Firefox oipurúta ko tenda ohechaukávo ndéve techaukaha. moñe'ẽrã, ta'ãngamýi ha togue rehecharamovéva kuri ikatuháicha reikejey umívape pya'eve.",
   "welcome_label": "Ojehechahína Mba'erechapyrã nemba'éva",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Eñemomba'e ne Tendayke Pyahu roguére",
   "settings_pane_header": "Tendayke Pyahu Jeguererohoryrã",
   "settings_pane_body2": "Eiporavo rehechaséva ko toguépe.",
   "settings_pane_search_header": "Eheka",
   "settings_pane_search_body": "Eheka ñandutivevépe tendayke pyahu guive.",
   "settings_pane_topsites_header": "Tenda Ojeikevéva",
   "settings_pane_topsites_body": "Eike ñandutirenda rehechajepivévape.",
   "settings_pane_topsites_options_showmore": "Mokõi tysýi jechauka",
   "settings_pane_bookmarks_header": "Techaukaha Ramovéva",
-  "settings_pane_bookmarks_body": "Techaukaha remoheñóiva peteĩ tenda porãvévape.",
   "settings_pane_visit_again_header": "Eike Jey",
-  "settings_pane_visit_again_body": "Firefox ohechaukáta ndéve rechámava'ekue ha oiméne nemandu'aséva hese ýrõ rehechasejeýva.",
   "settings_pane_highlights_header": "Mba'erechapyrã",
   "settings_pane_highlights_body2": "Ehekajey tape reipuruva'ekue reg̃uahẽvo ñandutiroguépe reguerohorýva'ekue.",
   "settings_pane_highlights_options_bookmarks": "Techaukaha",
   "settings_pane_highlights_options_visited": "Tenda Ojeikemáva",
   "settings_pane_snippets_header": "Mba'epehẽ",
   "settings_pane_snippets_body": "Emoñe'ẽ mba'epyahu oĩva Firefox, Ñandutiveve reko térã memekuéra rehegua.",
   "settings_pane_done_button": "Oĩmbáma",
   "settings_pane_topstories_options_sponsored": "Ehechauka Mombe'upy ojehepyme'ẽva'ekue hese",
   "edit_topsites_button_text": "Mbosako'i",
-  "edit_topsites_button_label": "Eñemomba'e Tendáre ojehechaukahápe Togue Ojehechavéva",
-  "edit_topsites_showmore_button": "Ahechaseve",
-  "edit_topsites_showless_button": "Ahechase Mbykyve",
-  "edit_topsites_done_button": "Oĩmbáma",
-  "edit_topsites_pin_button": "Emboja ko tenda",
-  "edit_topsites_unpin_button": "Emboja'ỹ ko tenda",
   "edit_topsites_edit_button": "Embosako'i ko tenda",
-  "edit_topsites_dismiss_button": "Emboguete ko tenda",
-  "edit_topsites_add_button": "Embojoapy",
   "topsites_form_add_header": "Tenda Pyahu Ojeikevéva",
   "topsites_form_edit_header": "Tenda Ojeikevéva Mbosako'i",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Ehai herarã",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Ehai térã emboja peteĩ URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Embojoapy",
   "topsites_form_save_button": "Ñongatu",
   "topsites_form_cancel_button": "Heja",
   "topsites_form_url_validation": "Oñeikotevẽ URL oiko porãva",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Ñe'ẽmbyrã Ojehayhuvéva:",
   "pocket_read_even_more": "Ahechaseve Mombe'upy",
-  "pocket_feedback_header": "Mba'e porãvéva ñandutivevepegua, oiporavóva ndéve g̃uarã 25 su tapicha.",
   "pocket_description": "Ejuhu mba'erecharã iporãitéva Pocket rupive, ha'éva ko'ág̃a Mozilla rembipuru.",
   "highlights_empty_state": "Eñepyrũ eikundaha ha rohechaukáta ndéve mba'ehai, mba'erecharã oĩva ha ambue ñandutirenda reikeva'ekue ýrõ rembotechaukava'ekue.",
   "topstories_empty_state": "Ko'ág̃a reikuaapáma ipyahúva. Eikejey ag̃ave ápe eikuaávo mombe'upy pyahu {provider} oikuave'ẽva ndéve. Ndaikatuvéima reha'ãrõ? Eiporavo peteĩ ñe'ẽmbyrã ha emoñe'ẽve oĩvéva ñande yvy ape ári.",
   "manual_migration_explanation2": "Eipuru Firefox reheve techaukaha, tembiasakue ha ñe'ẽñemi ambue kundaharapegua.",
   "manual_migration_cancel_button": "Ag̃amiénte",
   "manual_migration_import_button": "Egueroike Ko'ág̃a",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Kuaarã",
+  "section_info_privacy_notice": "Tekovepypegua Rehegua",
+  "settings_pane_bookmarks_body": "Techaukaha remoheñóiva peteĩ tenda porãvévape.",
+  "settings_pane_visit_again_body": "Firefox ohechaukáta ndéve rechámava'ekue ha oiméne nemandu'aséva hese ýrõ rehechasejeýva.",
+  "edit_topsites_button_label": "Eñemomba'e Tendáre ojehechaukahápe Togue Ojehechavéva",
+  "edit_topsites_showmore_button": "Ahechaseve",
+  "edit_topsites_showless_button": "Ahechase Mbykyve",
+  "edit_topsites_done_button": "Oĩmbáma",
+  "edit_topsites_pin_button": "Emboja ko tenda",
+  "edit_topsites_unpin_button": "Emboja'ỹ ko tenda",
+  "edit_topsites_dismiss_button": "Emboguete ko tenda",
+  "edit_topsites_add_button": "Embojoapy",
+  "pocket_feedback_header": "Mba'e porãvéva ñandutivevepegua, oiporavóva ndéve g̃uarã 25 su tapicha."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>નવું ટૅબ</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>વેબ પર શોધો</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="વેબ પર શોધો" title="વેબ પર શોધો"/><button id="searchSubmit" class="search-button" title="શોધો"><span class="sr-only"><span>શોધો</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ટોપ સાઇટ્સ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>દ્વારા ભલામણ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>લોકપ્રિય વિષયો:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>વીતી ગયેલું</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>વેબ પર શોધો</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="વેબ પર શોધો" title="વેબ પર શોધો"/><button id="searchSubmit" class="search-button" title="શોધો"><span class="sr-only"><span>શોધો</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ટોપ સાઇટ્સ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>દ્વારા ભલામણ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>લોકપ્રિય વિષયો:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>વીતી ગયેલું</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "પોકેટમાં સાચવો",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "શોધ કરો {search_term} ની સાથે:",
   "search_button": "શોધો",
   "search_header": "{search_engine_name} શોધ કરો",
   "search_web_placeholder": "વેબ પર શોધો",
   "search_settings": "શોધ ના સેટિંગ્સ બદલો",
-  "section_info_option": "માહિતી",
   "section_info_send_feedback": "પ્રતિસાદ મોકલ",
-  "section_info_privacy_notice": "ગોપનીયતા સૂચના",
   "section_disclaimer_topstories": "વેબ પરની સૌથી રસપ્રદ વાર્તાઓ, તમે જે વાંચો છો તેના આધારે પસંદ કરેલ છે. Pocket થી, હવે Mozilla નો ભાગ.",
   "section_disclaimer_topstories_linktext": "તે કેવી રીતે કાર્ય કરે છે તે જાણો.",
   "section_disclaimer_topstories_buttontext": "ઠીક છે, સમજાઇ ગયું",
   "welcome_title": "નવી વિન્ડોમાં આપનું સ્વાગત છે",
   "welcome_body": "ફાયરફોક્સ, તમારા સૌથી સંબંધિત બુકમાર્ક્સ, લેખો, વિડિઓઝ, અને પૃષ્ઠો જે તમે તાજેતરમાં મુલાકાત લીધી એ બતાવવા માટે આ જગ્યાનો ઉપયોગ કરશે જેથી તમે પાછા તેમને સરળતાથી મેળવી શકો છો.",
   "welcome_label": "તમારા હાઇલાઇટ્સ ઓળખવા",
   "time_label_less_than_minute": "<1મિનિટ",
   "time_label_minute": "{number}મિનિટ",
   "time_label_hour": "{number}કલાક",
   "time_label_day": "{number}દિવસ",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "તમારા નવા ટૅબ પૃષ્ઠને કસ્ટમાઇઝ કરો",
   "settings_pane_header": "નવી ટેબ પસંદગીઓ",
   "settings_pane_body2": "તમે આ પૃષ્ઠ પર જે જુઓ છો તે પસંદ કરો.",
   "settings_pane_search_header": "શોધો",
   "settings_pane_search_body": "તમારા નવા ટૅબમાંથી વેબ પર શોધો.",
   "settings_pane_topsites_header": "ટોચની સાઇટ્સ",
   "settings_pane_topsites_body": "તમે સૌથી વધુ મુલાકાત લો છો તે વેબસાઇટ્સને ઍક્સેસ કરો.",
   "settings_pane_topsites_options_showmore": "બે પંક્તિઓ બતાવો",
   "settings_pane_bookmarks_header": "તાજેતરના બુકમાર્ક્સ",
-  "settings_pane_bookmarks_body": "તમારા નવા બનાવેલ બુકમાર્ક્સ એક હાથમાં સ્થાનમાં.",
   "settings_pane_visit_again_header": "ફરી મુલાકાત",
-  "settings_pane_visit_again_body": "ફાયરફોક્સ તમને તમારા બ્રાઉઝિંગ હિસ્ટરીનાં ભાગો બતાવશે જે તમે યાદ રાખવા અથવા પાછા આવવા ઇચ્છતા હોવ.",
   "settings_pane_highlights_header": "વીતી ગયેલું",
   "settings_pane_highlights_body2": "તમે તાજેતરમાં મુલાકાત લીધેલા અથવા બુકમાર્ક કરેલી રસપ્રદ વસ્તુઓ પર તમારી રીત શોધો.",
   "settings_pane_highlights_options_bookmarks": "બુકમાર્ક્સ",
   "settings_pane_highlights_options_visited": "મુલાકાત લીધેલ સાઇટ્સ",
   "settings_pane_snippets_header": "જાણકારી આપનારા ઉતારા ક કાપલીઓ",
   "settings_pane_snippets_body": "ટૂંકી અને મીઠી સુધારાઓ વાંચો મોઝિલ્લાથી ફાયરફોક્સ વિશે, ઇન્ટરનેટ સંસ્કૃતિ અને પ્રસંગોપાત ફાવે તેમ મેમે વિશે.",
   "settings_pane_done_button": "પૂરું",
   "settings_pane_topstories_options_sponsored": "પ્રાયોજિત વાર્તાઓ બતાવો",
   "edit_topsites_button_text": "ફેરફાર કરો",
-  "edit_topsites_button_label": "તમારા ટોચના સાઇટ્સ વિભાગને કસ્ટમાઇઝ કરો",
-  "edit_topsites_showmore_button": "વધારે બતાવો",
-  "edit_topsites_showless_button": "થોડું બતાવો",
-  "edit_topsites_done_button": "પૂરું",
-  "edit_topsites_pin_button": "આ સાઇટને પિન કરો",
-  "edit_topsites_unpin_button": "આ સાઇટ અનપિન કરો",
   "edit_topsites_edit_button": "આ સાઇટને સંપાદિત કરો",
-  "edit_topsites_dismiss_button": "આ સાઇટને કાઢી નાખો",
-  "edit_topsites_add_button": "ઉમેરો",
   "topsites_form_add_header": "નવી ટોચની સાઇટ",
   "topsites_form_edit_header": "ટોચની સાઇટ સંપાદિત કરો",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "શીર્ષક દાખલ કરો",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "URL ટાઇપ કરો અથવા પેસ્ટ કરો",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "ઉમેરો",
   "topsites_form_save_button": "સાચવો",
   "topsites_form_cancel_button": "રદ કરો",
   "topsites_form_url_validation": "માન્ય URL આવશ્યક છે",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "લોકપ્રિય વિષયો:",
   "pocket_read_even_more": "વધુ વાર્તાઓ જુઓ",
-  "pocket_feedback_header": "2.5 કરોડ વધુ લોકો દ્વારા બનાવાયેલા શ્રેષ્ઠ વેબ.",
   "pocket_description": "ઉચ્ચ ગુણવત્તાવાળી સામગ્રી શોધો અન્યથા તમે ચૂકી જશો, પોકેટની સહાયથી, હવે મોઝિલાનો એક ભાગ છે.",
   "highlights_empty_state": "બ્રાઉઝ કરવું પ્રારંભ કરો અને અમે અહીં કેટલાક સરસ લેખો, વિડિઓઝ અને અન્ય પૃષ્ઠો દર્શાવીશું જે તમે તાજેતરમાં મુલાકાત લીધાં છે અથવા બુકમાર્ક કર્યા છે.",
   "topstories_empty_state": "તમે પકડાઈ ગયા છો. {પ્રદાતા} તરફથી વધુ ટોચની વાતો માટે પછીથી પાછા તપાસો. રાહ નથી જોઈ શકતા? સમગ્ર વેબ પરથી વધુ સુંદર વાર્તાઓ શોધવા માટે એક લોકપ્રિય વિષય પસંદ કરો.",
   "manual_migration_explanation2": "અન્ય બ્રાઉઝરથી બુકમાર્ક્સ, ઇતિહાસ અને પાસવર્ડ્સ સાથે ફાયરફોક્સ અજમાવો.",
   "manual_migration_cancel_button": "ના અભાર",
   "manual_migration_import_button": "હવે આયાત કરો",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "ટોચની સાઇટ ઉમેરો"
+  "section_info_option": "માહિતી",
+  "section_info_privacy_notice": "ગોપનીયતા સૂચના",
+  "settings_pane_bookmarks_body": "તમારા નવા બનાવેલ બુકમાર્ક્સ એક હાથમાં સ્થાનમાં.",
+  "settings_pane_visit_again_body": "ફાયરફોક્સ તમને તમારા બ્રાઉઝિંગ હિસ્ટરીનાં ભાગો બતાવશે જે તમે યાદ રાખવા અથવા પાછા આવવા ઇચ્છતા હોવ.",
+  "edit_topsites_button_label": "તમારા ટોચના સાઇટ્સ વિભાગને કસ્ટમાઇઝ કરો",
+  "edit_topsites_showmore_button": "વધારે બતાવો",
+  "edit_topsites_showless_button": "થોડું બતાવો",
+  "edit_topsites_done_button": "પૂરું",
+  "edit_topsites_pin_button": "આ સાઇટને પિન કરો",
+  "edit_topsites_unpin_button": "આ સાઇટ અનપિન કરો",
+  "edit_topsites_dismiss_button": "આ સાઇટને કાઢી નાખો",
+  "edit_topsites_add_button": "ઉમેરો",
+  "edit_topsites_add_button_tooltip": "ટોચની સાઇટ ઉમેરો",
+  "pocket_feedback_header": "2.5 કરોડ વધુ લોકો દ્વારા બનાવાયેલા શ્રેષ્ઠ વેબ."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/he/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/he/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>לשונית חדשה</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>חיפוש ברשת</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="חיפוש ברשת" title="חיפוש ברשת"/><button id="searchSubmit" class="search-button" title="חיפוש"><span class="sr-only"><span>חיפוש</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>אתרים מובילים<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>מומלץ על ידי Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>נושאים פופולריים:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>מומלצים</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>חיפוש ברשת</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="חיפוש ברשת" title="חיפוש ברשת"/><button id="searchSubmit" class="search-button" title="חיפוש"><span class="sr-only"><span>חיפוש</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>אתרים מובילים<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>פתיחת תפריט ההקשר של המדור</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>מומלץ על ידי Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>פתיחת תפריט ההקשר של המדור</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>נושאים פופולריים:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>מומלצים</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>פתיחת תפריט ההקשר של המדור</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/he/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/he/activity-stream-strings.js
@@ -5,111 +5,126 @@ window.gActivityStreamStrings = {
   "header_top_sites": "אתרים מובילים",
   "header_stories": "סיפורים מובילים",
   "header_highlights": "מומלצים",
   "header_visit_again": "ביקור חוזר",
   "header_bookmarks": "סימניות אחרונות",
   "header_recommended_by": "מומלץ על ידי {provider}",
   "header_bookmarks_placeholder": "אין לך סימניות עדיין.",
   "header_stories_from": "מאת",
-  "context_menu_button_sr": "Open context menu for {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "context_menu_button_sr": "פתיחת תפריט ההקשר עבור {title}",
+  "section_context_menu_button_sr": "פתיחת תפריט ההקשר של המדור",
   "type_label_visited": "ביקורים קודמים",
   "type_label_bookmarked": "שמור כסימניה",
   "type_label_synced": "סונכרן מהתקן אחר",
   "type_label_recommended": "פופולרי",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "נשמר ל־Pocket",
   "type_label_open": "פתיחה",
   "type_label_topic": "נושא",
   "type_label_now": "עכשיו",
   "menu_action_bookmark": "הוספת סימניה",
   "menu_action_remove_bookmark": "הסרת סימניה",
   "menu_action_copy_address": "העתקת כתובת",
   "menu_action_email_link": "שליחת קישור בדוא״ל…",
   "menu_action_open_new_window": "פתיחה בחלון חדש",
   "menu_action_open_private_window": "פתיחה בלשונית פרטית חדשה",
   "menu_action_dismiss": "הסרה",
   "menu_action_delete": "מחיקה מההיסטוריה",
   "menu_action_pin": "הצמדה",
   "menu_action_unpin": "ביטול הצמדה",
   "confirm_history_delete_p1": "למחוק כל עותק של העמוד הזה מההיסטוריה שלך?",
   "confirm_history_delete_notice_p2": "לא ניתן לבטל פעולה זו.",
   "menu_action_save_to_pocket": "שמירה ל־Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "מחיקה מ־Pocket",
+  "menu_action_archive_pocket": "העברה לארכיון ב־Pocket",
   "search_for_something_with": "חיפוש אחר {search_term} עם:",
   "search_button": "חיפוש",
   "search_header": "חיפוש ב־{search_engine_name}",
   "search_web_placeholder": "חיפוש ברשת",
   "search_settings": "שינוי הגדרות חיפוש",
-  "section_info_option": "מידע",
   "section_info_send_feedback": "שליחת משוב",
-  "section_info_privacy_notice": "הצהרת פרטיות",
-  "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
+  "section_disclaimer_topstories": "הסיפורים המעניינים ביותר באינטרנט, על בסיס מה שמעניין אותך. בעזרת Pocket, כיום חלק מ־Mozilla.",
   "section_disclaimer_topstories_linktext": "מידע על איך זה עובד.",
   "section_disclaimer_topstories_buttontext": "בסדר, הבנתי",
   "welcome_title": "ברוכים הבאים לדף הלשונית החדשה",
   "welcome_body": "Firefox ישתמש באזור זה כדי להציג את הסימניות הרלוונטיות ביותר, מאמרים, סרטוני וידאו ודפים שביקרת בהם לאחרונה, כך שניתן יהיה לגשת אליהם שוב בקלות.",
   "welcome_label": "תחומי העניין שלך מזוהים",
   "time_label_less_than_minute": "פחות מדקה",
   "time_label_minute": "{number} דקות",
   "time_label_hour": "{number} שעות",
   "time_label_day": "{number} ימים",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "בחירת תוכן שיוצג במסך הבית של Firefox.",
+  "prefs_restore_defaults_button": "שחזור ברירות מחדל",
+  "prefs_section_rows_option": "שורה אחת;{num} שורות",
+  "prefs_search_header": "חיפוש ברשת",
+  "prefs_topsites_description": "האתרים בהם ביקרת הכי הרבה",
+  "prefs_topstories_description": "תוכן באיכות גבוהה שעלול להתפספס",
+  "prefs_topstories_show_sponsored_label": "סיפורים ממומנים של {provider}",
+  "prefs_topstories_sponsored_learn_more": "מידע נוסף",
+  "prefs_highlights_description": "מבחר של אתרים ששמרת או ביקרת בהם",
+  "prefs_snippets_description": "עדכונים מ־Mozilla ו־Firefox",
   "settings_pane_button_label": "התאמה אישית של דף הלשונית החדשה שלך",
   "settings_pane_header": "העדפות לשונית חדשה",
   "settings_pane_body2": "בחירה של מה שיופיע בעמוד הזה.",
   "settings_pane_search_header": "חיפוש",
   "settings_pane_search_body": "חיפוש באינטרנט ישירות מהלשונית החדשה שלך.",
   "settings_pane_topsites_header": "אתרים מובילים",
   "settings_pane_topsites_body": "גישה לאתרים בהם ביקרת הכי הרבה.",
   "settings_pane_topsites_options_showmore": "הצגת שתי שורות",
   "settings_pane_bookmarks_header": "סימניות אחרונות",
-  "settings_pane_bookmarks_body": "הסימניות החדשות שיצרת במיקום נוח ואחיד.",
   "settings_pane_visit_again_header": "ביקור חוזר",
-  "settings_pane_visit_again_body": "Firefox תציג לך חלקים מהיסטוריית הגלישה שלך שאולי יעניין אותך להיזכר בהם או לחזור אליהם.",
   "settings_pane_highlights_header": "מומלצים",
   "settings_pane_highlights_body2": "מציאת הדרך חזרה לדברים שמעניינים אותך בהתאם לפריטים בהם ביקרת לאחרונה או הוספת לסימניות.",
   "settings_pane_highlights_options_bookmarks": "סימניות",
   "settings_pane_highlights_options_visited": "אתרים בהם ביקרת",
   "settings_pane_snippets_header": "פתקיות",
   "settings_pane_snippets_body": "ניתן לקרוא עדכונים קטנים ומתוקים מ־Mozilla לגבי Firefox, תרבות האינטרנט ומם אקראי מדי פעם בפעם.",
   "settings_pane_done_button": "סיום",
   "settings_pane_topstories_options_sponsored": "הצגת סיפורים ממומנים",
   "edit_topsites_button_text": "עריכה",
+  "edit_topsites_edit_button": "עריכת אתר זה",
+  "topsites_form_add_header": "אתר מוביל חדש",
+  "topsites_form_edit_header": "עריכת אתר מוביל",
+  "topsites_form_title_label": "כותרת",
+  "topsites_form_title_placeholder": "נא להזין כותרת",
+  "topsites_form_url_label": "כתובת",
+  "topsites_form_image_url_label": "כתובת תמונה מותאמת אישית",
+  "topsites_form_url_placeholder": "נא להקליד או להזין כתובת",
+  "topsites_form_use_image_link": "שימוש בתמונה מותאמת אישית…",
+  "topsites_form_preview_button": "תצוגה מקדימה",
+  "topsites_form_add_button": "הוספה",
+  "topsites_form_save_button": "שמירה",
+  "topsites_form_cancel_button": "ביטול",
+  "topsites_form_url_validation": "נדרשת כתובת תקינה",
+  "topsites_form_image_validation": "טעינת התמונה נכשלה. נא לנסות כתובת שונה.",
+  "pocket_read_more": "נושאים פופולריים:",
+  "pocket_read_even_more": "צפייה בחדשות נוספות",
+  "pocket_description": "ניתן להחשף לתוכן באיכות גבוהה שיתכן שלא היית רואה, בעזרת Pocket, שכיום מהווה חלק מ־Mozilla.",
+  "highlights_empty_state": "ניתן להתחיל בגלישה ואנו נציג בפניך מספר כתבות, סרטונים ועמודים שונים מעולים בהם ביקרת לאחרונה או שהוספת לסימניות.",
+  "topstories_empty_state": "התעדכנת בכל הסיפורים. כדאי לנסות שוב מאוחר יותר כדי לקבל עוד סיפורים מובילים מאת {provider}. לא רוצה לחכות? ניתן לבחור נושא נפוץ כדי למצוא עוד סיפורים נפלאים מרחבי הרשת.",
+  "manual_migration_explanation2": "ניתן להתנסות ב־Firefox עם הסימניות, ההיסטוריה והססמאות מדפדפן אחר.",
+  "manual_migration_cancel_button": "לא תודה",
+  "manual_migration_import_button": "ייבוא כעת",
+  "error_fallback_default_info": "אופס, משהו השתבש בעת טעינת התוכן הזה.",
+  "error_fallback_default_refresh_suggestion": "נא לרענן את הדף כדי לנסות שוב.",
+  "section_menu_action_remove_section": "הסרת מדור",
+  "section_menu_action_collapse_section": "צמצום מדור",
+  "section_menu_action_expand_section": "הרחבת מדור",
+  "section_menu_action_manage_section": "ניהול מדור",
+  "section_menu_action_add_topsite": "הוספת אתר מוביל",
+  "section_menu_action_move_up": "העברה למעלה",
+  "section_menu_action_move_down": "העברה למטה",
+  "section_menu_action_privacy_notice": "הצהרת פרטיות",
+  "section_info_option": "מידע",
+  "section_info_privacy_notice": "הצהרת פרטיות",
+  "settings_pane_bookmarks_body": "הסימניות החדשות שיצרת במיקום נוח ואחיד.",
+  "settings_pane_visit_again_body": "Firefox תציג לך חלקים מהיסטוריית הגלישה שלך שאולי יעניין אותך להיזכר בהם או לחזור אליהם.",
   "edit_topsites_button_label": "התאמת אגף האתרים המובילים שלך",
   "edit_topsites_showmore_button": "להציג יותר",
   "edit_topsites_showless_button": "להציג פחות",
   "edit_topsites_done_button": "סיום",
   "edit_topsites_pin_button": "נעיצת אתר זה",
   "edit_topsites_unpin_button": "ביטול הצמדת אתר זה",
-  "edit_topsites_edit_button": "עריכת אתר זה",
   "edit_topsites_dismiss_button": "הסרת אתר זה",
   "edit_topsites_add_button": "הוספה",
-  "topsites_form_add_header": "אתר מוביל חדש",
-  "topsites_form_edit_header": "עריכת אתר מוביל",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "נא להזין כותרת",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "נא להקליד או להזין כתובת",
-  "topsites_form_add_button": "הוספה",
-  "topsites_form_save_button": "שמירה",
-  "topsites_form_cancel_button": "ביטול",
-  "topsites_form_url_validation": "נדרשת כתובת תקינה",
-  "pocket_read_more": "נושאים פופולריים:",
-  "pocket_read_even_more": "צפייה בחדשות נוספות",
-  "pocket_feedback_header": "המיטב מרחבי האינטרנט, נאסף על ידי 25 מיליון אנשים.",
-  "pocket_description": "ניתן להחשף לתוכן באיכות גבוהה שיתכן שלא היית רואה, בעזרת Pocket, שכיום מהווה חלק מ־Mozilla.",
-  "highlights_empty_state": "ניתן להתחיל בגלישה ואנו נציג בפניך מספר כתבות, סרטונים ועמודים שונים מעולים בהם ביקרת לאחרונה או שהוספת לסימניות.",
-  "topstories_empty_state": "התעדכנת בכל הסיפורים. כדאי לנסות שוב מאוחר יותר כדי לקבל עוד סיפורים מובילים מאת {provider}. לא רוצה לחכות? ניתן לבחור נושא נפוץ כדי למצוא עוד סיפורים נפלאים מרחבי הרשת.",
-  "manual_migration_explanation2": "ניתן להתנסות ב־Firefox עם הסימניות, ההיסטוריה והססמאות מדפדפן אחר.",
-  "manual_migration_cancel_button": "לא תודה",
-  "manual_migration_import_button": "ייבוא כעת",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "pocket_feedback_header": "המיטב מרחבי האינטרנט, נאסף על ידי 25 מיליון אנשים."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>नया टैब</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेब पर खोजें</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेब पर खोजें" title="वेब पर खोजें"/><button id="searchSubmit" class="search-button" title="खोज"><span class="sr-only"><span>खोज</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>सर्वोच्च साइटें<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket द्वारा अनुशंसित</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>लोकप्रिय विषय:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>झलकियाँ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेब पर खोजें</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेब पर खोजें" title="वेब पर खोजें"/><button id="searchSubmit" class="search-button" title="खोज"><span class="sr-only"><span>खोज</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>सर्वोच्च साइटें<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket द्वारा अनुशंसित</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>लोकप्रिय विषय:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>झलकियाँ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket में सहेजें",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "इस के साथ {search_term} के लिए खोजें:",
   "search_button": "खोज",
   "search_header": "{search_engine_name} खोज",
   "search_web_placeholder": "वेब पर खोजें",
   "search_settings": "खोज सेटिंग बदलें",
-  "section_info_option": "सूचना",
   "section_info_send_feedback": "प्रतिक्रिया भेजें",
-  "section_info_privacy_notice": "गोपनीयता सूचना",
   "section_disclaimer_topstories": "वेब पर सबसे दिलचस्प कहानियाँ, आपके पठन के आधार पर चयनित. Pocket के द्वारा, जो अब है Mozilla का हिस्सा.",
   "section_disclaimer_topstories_linktext": "जाने यह कैसे काम करता है.",
   "section_disclaimer_topstories_buttontext": "ठीक है, समझ गए",
   "welcome_title": "नए टैब में आपका स्वागत है",
   "welcome_body": "Firefox यह जगह आपके सर्वाधिक प्रासंगिक पुस्तचिन्ह, लेख, वीडियो और पृष्ठों जिनका आपने हाल ही में दौरा किया है उनको दर्शाने के लिए करेगा, ताकि आप बाद में उन तक आसानी से वापस जा सकें.",
   "welcome_label": "आपके प्रमुखताओं की पहचान की जा रही है",
   "time_label_less_than_minute": "<1मि0",
   "time_label_minute": "{number}मि0",
   "time_label_hour": "{number}मि0",
   "time_label_day": "{number}दिन",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "अपने नए टैब पृष्ठ को अनुकूलित करें",
   "settings_pane_header": "नयी टैब वरीयताएँ",
   "settings_pane_body2": "चुनें कि आप इस पृष्ठ पर क्या देखते हैं.",
   "settings_pane_search_header": "खोज",
   "settings_pane_search_body": "अपने नए टैब से वेब पर खोजें.",
   "settings_pane_topsites_header": "सर्वोच्च साइटें",
   "settings_pane_topsites_body": "आपके द्वारा सबसे ज्यादा खोजी जाने वाली वेबसाइट्स देखें.",
   "settings_pane_topsites_options_showmore": "दो पंक्तियाँ दिखाएँ",
   "settings_pane_bookmarks_header": "आधुनिक पुस्तचिह्न",
-  "settings_pane_bookmarks_body": "आपके नए पुस्तचिह्न एक सुविधाजनक स्थान पर.",
   "settings_pane_visit_again_header": "पुनः पधारें",
-  "settings_pane_visit_again_body": "Firefox आपको याद है या पुन: प्राप्त करने के लिए चाहते हो सकता है आपके ब्राउज़िंग इतिहास के कुछ हिस्सों दिखाएगा.",
   "settings_pane_highlights_header": "झलकियाँ",
   "settings_pane_highlights_body2": "हाल ही में देखी गयी या पुस्तचिंहित की गयी रोचक चीज़ों पर वापस जाएँ.",
   "settings_pane_highlights_options_bookmarks": "पुस्तचिह्न",
   "settings_pane_highlights_options_visited": "देखी गयीं साइटें",
   "settings_pane_snippets_header": "अंश",
   "settings_pane_snippets_body": "Firefox, इंटरनेट संस्कृति और यादृच्छिक मीम के बारे में Mozilla के संक्षिप्त और प्यारे अपडेट पढ़ें.",
   "settings_pane_done_button": "संपन्न",
   "settings_pane_topstories_options_sponsored": "प्रायोजित कहानियाँ दिखाएँ",
   "edit_topsites_button_text": "संपादित करें",
-  "edit_topsites_button_label": "अपने शीर्ष साइट्स अनुभाग को अनुकूलित करें",
-  "edit_topsites_showmore_button": "अधिक दिखाएँ",
-  "edit_topsites_showless_button": "कम दिखाएँ",
-  "edit_topsites_done_button": "पूर्ण",
-  "edit_topsites_pin_button": "इस साइट को पिन करें",
-  "edit_topsites_unpin_button": "इस साइट को पिन मुक्त करें",
   "edit_topsites_edit_button": "इस साइट को संपादित करें",
-  "edit_topsites_dismiss_button": "इस साइट को ख़ारिज करें",
-  "edit_topsites_add_button": "जोड़ें",
   "topsites_form_add_header": "नई शीर्ष साइट",
   "topsites_form_edit_header": "शीर्ष साइट संपादित करें",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "एक शीर्षक दर्ज करें",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "एक URL टाइप करें अथवा पेस्ट करें",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "जोड़ें",
   "topsites_form_save_button": "सहेजें",
   "topsites_form_cancel_button": "रद्द करें",
   "topsites_form_url_validation": "मान्य URL आवश्यक",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "लोकप्रिय विषय:",
   "pocket_read_even_more": "और कहानियाँ देखें",
-  "pocket_feedback_header": "वेब का सबसे बढ़िया हिस्सा, 25 लाख लोगों द्वारा निरीक्षित.",
   "pocket_description": "पॉकेट, जो अब Mozilla का हिस्सा है, की मदद से अन्यथा आपसे छूटने वाली उच्च-गुणवत्ता सामग्रियों को खोजें.",
   "highlights_empty_state": "ब्राउज़िंग प्रारंभ करें, और हम कुछ प्रमुख आलेख, विडियो, तथा अन्य पृष्ठों को प्रदर्शित करेंगे जिन्हें आपने हाल ही में देखा या पुस्तचिन्हित किया है.",
   "topstories_empty_state": "आप अंत तक आ गए हैं. {provider} से और शीर्ष घटनाओं के लिए कुछ समय में पुनः आइए. इंतज़ार नहीं कर सकते? वेब से और प्रमुख घटनाएं ढूंढने के लिए एक लोकप्रिय विषय चुनें.",
   "manual_migration_explanation2": "Firefox को किसी अन्य ब्राउज़र के पुस्तचिह्नों, इतिहास और पासवर्डों के साथ आज़माएं.",
   "manual_migration_cancel_button": "नहीं शुक्रिया",
   "manual_migration_import_button": "अब आयात करें",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "शीर्ष साइट जोड़ें"
+  "section_info_option": "सूचना",
+  "section_info_privacy_notice": "गोपनीयता सूचना",
+  "settings_pane_bookmarks_body": "आपके नए पुस्तचिह्न एक सुविधाजनक स्थान पर.",
+  "settings_pane_visit_again_body": "Firefox आपको याद है या पुन: प्राप्त करने के लिए चाहते हो सकता है आपके ब्राउज़िंग इतिहास के कुछ हिस्सों दिखाएगा.",
+  "edit_topsites_button_label": "अपने शीर्ष साइट्स अनुभाग को अनुकूलित करें",
+  "edit_topsites_showmore_button": "अधिक दिखाएँ",
+  "edit_topsites_showless_button": "कम दिखाएँ",
+  "edit_topsites_done_button": "पूर्ण",
+  "edit_topsites_pin_button": "इस साइट को पिन करें",
+  "edit_topsites_unpin_button": "इस साइट को पिन मुक्त करें",
+  "edit_topsites_dismiss_button": "इस साइट को ख़ारिज करें",
+  "edit_topsites_add_button": "जोड़ें",
+  "edit_topsites_add_button_tooltip": "शीर्ष साइट जोड़ें",
+  "pocket_feedback_header": "वेब का सबसे बढ़िया हिस्सा, 25 लाख लोगों द्वारा निरीक्षित."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nova kartica</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pretraži web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pretraži web" title="Pretraži web"/><button id="searchSubmit" class="search-button" title="Traži"><span class="sr-only"><span>Traži</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Najbolje stranice<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Preporučeno od Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Istaknuto</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pretraži web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pretraži web" title="Pretraži web"/><button id="searchSubmit" class="search-button" title="Traži"><span class="sr-only"><span>Traži</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Najbolje stranice<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Preporučeno od Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Istaknuto</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Spremi u Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Traži {search_term} s:",
   "search_button": "Traži",
   "search_header": "{search_engine_name} pretraživanje",
   "search_web_placeholder": "Pretraži web",
   "search_settings": "Promijeni postavke pretraživanja",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Pošaljite povratnu informaciju",
-  "section_info_privacy_notice": "Politika privatnosti",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "Dobro došli u novu karticu",
   "welcome_body": "Firefox će koristiti ovaj prostor kako bi vam pokazao najbitnije zabilješke, članke, video uratke i stranice koje ste nedavno posjetili, tako da se možete lako vratiti na njih.",
   "welcome_label": "Identificiranje istaknutog",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Prilagodite svoju početnu stranicu nove kartice",
   "settings_pane_header": "Postavke nove kartice",
   "settings_pane_body2": "Odaberite što vidite na ovoj stranici.",
   "settings_pane_search_header": "Traži",
   "settings_pane_search_body": "Pretražite Web iz nove kartice.",
   "settings_pane_topsites_header": "Najbolje stranice",
   "settings_pane_topsites_body": "Pristupite stranicama koje najčešće posjećujete.",
   "settings_pane_topsites_options_showmore": "Prikaži dva reda",
   "settings_pane_bookmarks_header": "Nedavne zabilješke",
-  "settings_pane_bookmarks_body": "Vaše novo stvorene zabilješke na jednom praktičnom mjestu.",
   "settings_pane_visit_again_header": "Posjetite ponovno",
-  "settings_pane_visit_again_body": "Firefox će vam prikazati dijelove vaše povijesti pretraživanja koje možda želite zapamtiti ili posjetiti ponovno.",
   "settings_pane_highlights_header": "Istaknuto",
   "settings_pane_highlights_body2": "Pronađite put natrag do zanimljivih stvari koje ste nedavno posjetili ili zabilježili.",
   "settings_pane_highlights_options_bookmarks": "Zabilješke",
   "settings_pane_highlights_options_visited": "Posjećene stranice",
   "settings_pane_snippets_header": "Isječci",
   "settings_pane_snippets_body": "Pročitajte kratke i slatke obavijesti od Mozille o Firefoxu, internet kulturi i povremenim nasumičnim temama.",
   "settings_pane_done_button": "Gotovo",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "Uredi",
-  "edit_topsites_button_label": "Prilagodite odjel s najboljim stranicama",
-  "edit_topsites_showmore_button": "Prikaži više",
-  "edit_topsites_showless_button": "Prikaži manje",
-  "edit_topsites_done_button": "Gotovo",
-  "edit_topsites_pin_button": "Zakači stranicu",
-  "edit_topsites_unpin_button": "Otkači ovu stranicu",
   "edit_topsites_edit_button": "Uredi ovu stranicu",
-  "edit_topsites_dismiss_button": "Odbaci stranicu",
-  "edit_topsites_add_button": "Dodaj",
   "topsites_form_add_header": "Nova najbolja stranica",
   "topsites_form_edit_header": "Uredi najbolju stranicu",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Unesi naslov",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Utipkajte ili zalijepite URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Dodaj",
   "topsites_form_save_button": "Spremi",
   "topsites_form_cancel_button": "Otkaži",
   "topsites_form_url_validation": "Potrebno je unijeti ispravan URL",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Popularne teme:",
   "pocket_read_even_more": "Prikaži više priča",
-  "pocket_feedback_header": "Najbolje od interneta, birano od preko 25 miliona ljudi.",
   "pocket_description": "Otkrijte visoko kvalitetan sadržaj koji ste možda propustili, uz pomoć Pocketa koji je sada dio Mozille.",
   "highlights_empty_state": "Započnite pretraživati i pokazat ćemo vam neke od izvrsnih članaka, videa i drugih web stranica prema vašim nedavno posjećenim stranicama ili zabilješkama.",
   "topstories_empty_state": "Provjerite kasnije za više najpopularnijih priča od {provider}. Ne možete čekati? Odaberite popularne teme kako biste pronašli više kvalitetnih priča s cijelog weba.",
   "manual_migration_explanation2": "Probajte Firefox s zabilješkama, povijesti i lozinkama iz drugog pretraživača.",
   "manual_migration_cancel_button": "Ne hvala",
   "manual_migration_import_button": "Uvezi sada",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Politika privatnosti",
+  "settings_pane_bookmarks_body": "Vaše novo stvorene zabilješke na jednom praktičnom mjestu.",
+  "settings_pane_visit_again_body": "Firefox će vam prikazati dijelove vaše povijesti pretraživanja koje možda želite zapamtiti ili posjetiti ponovno.",
+  "edit_topsites_button_label": "Prilagodite odjel s najboljim stranicama",
+  "edit_topsites_showmore_button": "Prikaži više",
+  "edit_topsites_showless_button": "Prikaži manje",
+  "edit_topsites_done_button": "Gotovo",
+  "edit_topsites_pin_button": "Zakači stranicu",
+  "edit_topsites_unpin_button": "Otkači ovu stranicu",
+  "edit_topsites_dismiss_button": "Odbaci stranicu",
+  "edit_topsites_add_button": "Dodaj",
+  "pocket_feedback_header": "Najbolje od interneta, birano od preko 25 miliona ljudi."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nowy rajtark</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web přepytać</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web přepytać" title="Web přepytać"/><button id="searchSubmit" class="search-button" title="Pytać"><span class="sr-only"><span>Pytać</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Najhusćišo wopytane sydła<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Wot Pocket doporučeny</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Woblubowane temy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wjerški</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web přepytać</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web přepytać" title="Web přepytać"/><button id="searchSubmit" class="search-button" title="Pytać"><span class="sr-only"><span>Pytać</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Najhusćišo wopytane sydła<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Wot Pocket doporučeny</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Woblubowane temy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wjerški</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pola Pocket składować",
   "menu_action_delete_pocket": "Z Pocket zhašeć",
   "menu_action_archive_pocket": "W Pocket archiwować",
   "search_for_something_with": "Za {search_term} pytać z:",
   "search_button": "Pytać",
   "search_header": "Z {search_engine_name} pytać",
   "search_web_placeholder": "Web přepytać",
   "search_settings": "Pytanske nastajenja změnić",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Komentar pósłać",
-  "section_info_privacy_notice": "Zdźělenka priwatnosće",
   "section_disclaimer_topstories": "Najzajimawše stawizny we webje, wubrane na zakładźe toho, štož sće čitał. Z Pocket, nětko dźěl Mozilla.",
   "section_disclaimer_topstories_linktext": "Zhońće, kak to funguje.",
   "section_disclaimer_topstories_buttontext": "W porjadku, sym zrozumił",
   "welcome_title": "Witajće k nowemu rajtarkej",
   "welcome_body": "Firefox budźe tutón rum wužiwać, zo by waše najwažniše zapołožki, nastawki, wideja a runje wopytane strony pokazał, zo byšće móhł so lochko k nim wróćić.",
   "welcome_label": "Wuběranje wašich najwažnišich stronow",
   "time_label_less_than_minute": "< 1 min",
   "time_label_minute": "{number} m",
   "time_label_hour": "{number} h",
   "time_label_day": "{number} d",
+  "prefs_home_header": "Wobsah startoweje strony Firefox",
+  "prefs_home_description": "Wubjerće, kotry wobsah chceće na swojej startowej wobrazowce Firefox měć.",
+  "prefs_restore_defaults_button": "Standard wobnowić",
+  "prefs_section_rows_option": "{num} linka;{num} lince;{num} linki;{num} linkow",
+  "prefs_search_header": "Webpytanje",
+  "prefs_topsites_description": "Sydła, kotrež najhusćišo wopytujeće",
+  "prefs_topstories_description": "Wobsah wysokeje kwality, kotryž hewak snano zapaseće",
+  "prefs_topstories_show_sponsored_label": "Sponsorowane stawizny wot {provider}",
+  "prefs_topstories_sponsored_learn_more": "Dalše informacije",
+  "prefs_highlights_description": "Wuběr websydłow, kotrež sće składował abo wopytał",
+  "prefs_snippets_description": "Aktualizacije wot Mozilla a Firefox",
   "settings_pane_button_label": "Stronu wašeho noweho rajtarka přiměrić",
   "settings_pane_header": "Nastajenja noweho rajtarka",
   "settings_pane_body2": "Wubjerće, štož so na tutej stronje pokazuje.",
   "settings_pane_search_header": "Pytać",
   "settings_pane_search_body": "Přepytajće web ze swojeho noweho rajtarka.",
   "settings_pane_topsites_header": "Najhusćišo wopytane sydła",
   "settings_pane_topsites_body": "Wočińće websydła, kotrež sće najhusćišo wopytał.",
   "settings_pane_topsites_options_showmore": "Dwaj rjadaj pokazać",
   "settings_pane_bookmarks_header": "Najnowše zapołožki",
-  "settings_pane_bookmarks_body": "Waše nowo załožene zapołožki hnydom k ruce.",
   "settings_pane_visit_again_header": "Hišće raz wopytać",
-  "settings_pane_visit_again_body": "Firefox wam dźěle wašeje přehladowanskeje historije pokazać, kotrež chceće sej snano spomjatkować abo na kotrež chceće wróćo přińć.",
   "settings_pane_highlights_header": "Wjerški",
   "settings_pane_highlights_body2": "Namakajće swój puć wróćo k zajimawym stronam, kotrež sće njedawno wopytał abo jako zapołožki składował.",
   "settings_pane_highlights_options_bookmarks": "Zapołožki",
   "settings_pane_highlights_options_visited": "Wopytane sydła",
   "settings_pane_snippets_header": "Šlipki",
   "settings_pane_snippets_body": "Čitajće krótke aktualizacije wot Mozilla wo Firefox, internetnej kulturje a hdys a hdys meme.",
   "settings_pane_done_button": "Hotowo",
   "settings_pane_topstories_options_sponsored": "Sponsorowane stawizny pokazać",
   "edit_topsites_button_text": "Wobdźěłać",
-  "edit_topsites_button_label": "Přiměrće wotrězk swojich najhusćišo wopytanych sydłow",
-  "edit_topsites_showmore_button": "Wjace pokazać",
-  "edit_topsites_showless_button": "Mjenje pokazać",
-  "edit_topsites_done_button": "Hotowo",
-  "edit_topsites_pin_button": "Tute sydło připjeć",
-  "edit_topsites_unpin_button": "Tute sydło wotpinyć",
   "edit_topsites_edit_button": "Tute sydło wobdźěłać",
-  "edit_topsites_dismiss_button": "Sydło zaćisnyć",
-  "edit_topsites_add_button": "Přidać",
   "topsites_form_add_header": "Nowe najhusćišo wopytane sydło",
   "topsites_form_edit_header": "Najhusćišo wopytane sydło wobdźěłać",
   "topsites_form_title_label": "Titul",
   "topsites_form_title_placeholder": "Titul zapodać",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL swójskeho wobraza",
   "topsites_form_url_placeholder": "URL zapodać abo zasadźić",
+  "topsites_form_use_image_link": "Swójski wobraz wužiwać…",
+  "topsites_form_preview_button": "Přehlad",
   "topsites_form_add_button": "Přidać",
   "topsites_form_save_button": "Składować",
   "topsites_form_cancel_button": "Přetorhnyć",
   "topsites_form_url_validation": "Płaćiwy URL trěbny",
+  "topsites_form_image_validation": "Wobraz njeda so začitać. Spytajće druhi URL.",
   "pocket_read_more": "Woblubowane temy:",
   "pocket_read_even_more": "Dalše zdźělenki sej wobhladać",
-  "pocket_feedback_header": "Najlěpše z weba, zhromadźene wot wjace hač 25 milionow ludźi.",
   "pocket_description": "Wotkryjće wobsah wysokeje kwality, kotryž byšće hewak parował, z pomocu Pocket, kotryž je nětko dźěl Mozilla.",
   "highlights_empty_state": "Započńće přehladować, a pokazamy někotre wulkotne nastawki, wideja a druhe strony, kotrež sće njedawno wopytał abo tu jako zapołožki składował.",
   "topstories_empty_state": "To je nachwilu wšitko. Wróćće so pozdźišo dalšich wulkotnych stawiznow dla wot {provider}. Njemóžeće čakać? Wubjerće woblubowanu temu, zo byšće dalše wulkotne stawizny z weba namakał.",
   "manual_migration_explanation2": "Wupruwujće Firefox ze zapołožkami, historiju a hesłami z druheho wobhladowaka.",
   "manual_migration_cancel_button": "Ně, dźakuju so",
   "manual_migration_import_button": "Nětko importować",
   "error_fallback_default_info": "Hopla, při čitanju tutoho wobsaha je so něšto nimokuliło.",
   "error_fallback_default_refresh_suggestion": "Aktualizujće stronu, zo byšće hišće raz spytał.",
   "section_menu_action_remove_section": "Wotrězk wotstronić",
   "section_menu_action_collapse_section": "Wotrězk schować",
   "section_menu_action_expand_section": "Wotrězk pokazać",
   "section_menu_action_manage_section": "Wotrězk rjadować",
   "section_menu_action_add_topsite": "Woblubowane sydło přidać",
   "section_menu_action_move_up": "Horje",
   "section_menu_action_move_down": "Dele",
-  "section_menu_action_privacy_notice": "Zdźělenka priwatnosće"
+  "section_menu_action_privacy_notice": "Zdźělenka priwatnosće",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Zdźělenka priwatnosće",
+  "settings_pane_bookmarks_body": "Waše nowo załožene zapołožki hnydom k ruce.",
+  "settings_pane_visit_again_body": "Firefox wam dźěle wašeje přehladowanskeje historije pokazać, kotrež chceće sej snano spomjatkować abo na kotrež chceće wróćo přińć.",
+  "edit_topsites_button_label": "Přiměrće wotrězk swojich najhusćišo wopytanych sydłow",
+  "edit_topsites_showmore_button": "Wjace pokazać",
+  "edit_topsites_showless_button": "Mjenje pokazać",
+  "edit_topsites_done_button": "Hotowo",
+  "edit_topsites_pin_button": "Tute sydło připjeć",
+  "edit_topsites_unpin_button": "Tute sydło wotpinyć",
+  "edit_topsites_dismiss_button": "Sydło zaćisnyć",
+  "edit_topsites_add_button": "Přidać",
+  "pocket_feedback_header": "Najlěpše z weba, zhromadźene wot wjace hač 25 milionow ludźi."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Új lap</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Keresés a weben</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Keresés a weben" title="Keresés a weben"/><button id="searchSubmit" class="search-button" title="Keresés"><span class="sr-only"><span>Keresés</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Népszerű oldalak<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>A(z) Pocket ajánlásával</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Népszerű témák:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Kiemelések</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Keresés a weben</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Keresés a weben" title="Keresés a weben"/><button id="searchSubmit" class="search-button" title="Keresés"><span class="sr-only"><span>Keresés</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Népszerű oldalak<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>A(z) Pocket ajánlásával</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Népszerű témák:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Kiemelések</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Mentés a Pocketbe",
   "menu_action_delete_pocket": "Törlés a Pocketből",
   "menu_action_archive_pocket": "Archiválás a Pocketben",
   "search_for_something_with": "„{search_term}” keresése ezzel:",
   "search_button": "Keresés",
   "search_header": "{search_engine_name} keresés",
   "search_web_placeholder": "Keresés a weben",
   "search_settings": "Keresési beállítások módosítása",
-  "section_info_option": "Információ",
   "section_info_send_feedback": "Visszajelzés küldése",
-  "section_info_privacy_notice": "Adatvédelmi nyilatkozat",
   "section_disclaimer_topstories": "A web legérdekesebb történetei, az alapján kiválasztva, hogy mit olvas. A Pockettől, amely már a Mozilla része.",
   "section_disclaimer_topstories_linktext": "Tudja meg hogyan működik.",
   "section_disclaimer_topstories_buttontext": "Rendben, értem",
   "welcome_title": "Üdvözöljük az új lapon",
   "welcome_body": "A Firefox ezt a területet a leginkább releváns könyvjelzők, cikkek, videók és nemrég látogatott oldalak megjelenítésére fogja használni, így könnyedén visszatalálhat hozzájuk.",
   "welcome_label": "A kiemeléseinek azonosítása",
   "time_label_less_than_minute": "<1 p",
   "time_label_minute": "{number} p",
   "time_label_hour": "{number} ó",
   "time_label_day": "{number} n",
+  "prefs_home_header": "Firefox kezdőlap tartalma",
+  "prefs_home_description": "Válassza ki milyen tartalmat szeretne a Firefox kezdőlapon.",
+  "prefs_restore_defaults_button": "Alapértelmezések visszaállítása",
+  "prefs_section_rows_option": "{num} sor;{num} sor",
+  "prefs_search_header": "Webes keresés",
+  "prefs_topsites_description": "A leggyakrabban látogatott oldalak",
+  "prefs_topstories_description": "Jó minőségű tartalmak, amelyek különben elkerülhetik a figyelmét",
+  "prefs_topstories_show_sponsored_label": "{provider} által szponzorált tartalmak",
+  "prefs_topstories_sponsored_learn_more": "További tudnivalók",
+  "prefs_highlights_description": "Válogatás azon oldalakból, amelyeket elmentett vagy felkeresett",
+  "prefs_snippets_description": "Hírek a Mozilláról és a Firefoxról",
   "settings_pane_button_label": "Az Új lap oldal személyre szabása",
   "settings_pane_header": "Új lap beállításai",
   "settings_pane_body2": "Válassza ki, hogy mit akar látni ezen az oldalon.",
   "settings_pane_search_header": "Keresés",
   "settings_pane_search_body": "Keresés a weben az új lapon.",
   "settings_pane_topsites_header": "Népszerű oldalak",
   "settings_pane_topsites_body": "A leggyakrabban látogatott webhelyek elérése.",
   "settings_pane_topsites_options_showmore": "Két sor megjelenítése",
   "settings_pane_bookmarks_header": "Friss könyvjelzők",
-  "settings_pane_bookmarks_body": "A frissen létrehozott könyvjelzői egy praktikus helyen.",
   "settings_pane_visit_again_header": "Látogasson el ismét",
-  "settings_pane_visit_again_body": "A Firefox megjeleníti a böngészési előzményeinek azt a részét, amelyet lehet hogy meg szeretne jegyezni, vagy ahová vissza akar térni.",
   "settings_pane_highlights_header": "Kiemelések",
   "settings_pane_highlights_body2": "Találjon vissza azokhoz az érdekes dolgokhoz, amelyeket meglátogatott vagy könyvjelzőzött.",
   "settings_pane_highlights_options_bookmarks": "Könyvjelzők",
   "settings_pane_highlights_options_visited": "Látogatott helyek",
   "settings_pane_snippets_header": "Töredékek",
   "settings_pane_snippets_body": "Olvasson rövid és érdekes híreket a Mozillától, a Firefoxról, az internetes kultúráról, és időnként kapjon mémeket.",
   "settings_pane_done_button": "Kész",
   "settings_pane_topstories_options_sponsored": "Szponzorált történetek megjelenítése",
   "edit_topsites_button_text": "Szerkesztés",
-  "edit_topsites_button_label": "A Népszerű oldalak rész testreszabása",
-  "edit_topsites_showmore_button": "Több megjelenítése",
-  "edit_topsites_showless_button": "Kevesebb megjelenítése",
-  "edit_topsites_done_button": "Kész",
-  "edit_topsites_pin_button": "Webhely rögzítése",
-  "edit_topsites_unpin_button": "Rögzítés feloldása",
   "edit_topsites_edit_button": "Webhely szerkesztése",
-  "edit_topsites_dismiss_button": "Webhely eltávolítása",
-  "edit_topsites_add_button": "Hozzáadás",
   "topsites_form_add_header": "Új népszerű oldal",
   "topsites_form_edit_header": "Népszerű oldal szerkesztése",
   "topsites_form_title_label": "Cím",
   "topsites_form_title_placeholder": "Cím megadása",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Egyéni kép URL",
   "topsites_form_url_placeholder": "Írjon vagy illesszen be egy URL-t",
+  "topsites_form_use_image_link": "Egyéni kép használata…",
+  "topsites_form_preview_button": "Előnézet",
   "topsites_form_add_button": "Hozzáadás",
   "topsites_form_save_button": "Mentés",
   "topsites_form_cancel_button": "Mégse",
   "topsites_form_url_validation": "Érvényes URL szükséges",
+  "topsites_form_image_validation": "A kép betöltése nem sikerült. Próbáljon meg egy másik URL-t.",
   "pocket_read_more": "Népszerű témák:",
   "pocket_read_even_more": "További történetek",
-  "pocket_feedback_header": "A web legjava, több mint 25 millió ember válogatásában.",
   "pocket_description": "Fedezzen fel olyan, magas minőségű tartalmakat, amelyek egyébként elkerülnék a figyelmét, a Pocket segítségével, amely most már a Mozilla része.",
   "highlights_empty_state": "Kezdjen el böngészni, és itt fognak megjelenni azok a nagyszerű cikkek, videók és más lapok, amelyeket nemrég meglátogatott vagy könyvjelzőzött.",
   "topstories_empty_state": "Már felzárkózott. Nézzen vissza később a legújabb {provider} hírekért. Nem tud várni? Válasszon egy népszerű témát, hogy még több sztorit találjon a weben.",
   "manual_migration_explanation2": "Próbálja ki a Firefoxot másik böngészőből származó könyvjelzőkkel, előzményekkel és jelszavakkal.",
   "manual_migration_cancel_button": "Köszönöm, nem",
   "manual_migration_import_button": "Importálás most",
   "error_fallback_default_info": "Hoppá, valami hiba történt a tartalom betöltésekor.",
   "error_fallback_default_refresh_suggestion": "Az újrapróbálkozáshoz frissítse az oldalt.",
   "section_menu_action_remove_section": "Szakasz eltávolítása",
   "section_menu_action_collapse_section": "Szakasz összecsukása",
   "section_menu_action_expand_section": "Szakasz lenyitása",
   "section_menu_action_manage_section": "Szakasz kezelése",
   "section_menu_action_add_topsite": "Hozzáadás a népszerű oldalakhoz",
   "section_menu_action_move_up": "Mozgatás felfelé",
   "section_menu_action_move_down": "Mozgatás lefelé",
-  "section_menu_action_privacy_notice": "Adatvédelmi nyilatkozat"
+  "section_menu_action_privacy_notice": "Adatvédelmi nyilatkozat",
+  "section_info_option": "Információ",
+  "section_info_privacy_notice": "Adatvédelmi nyilatkozat",
+  "settings_pane_bookmarks_body": "A frissen létrehozott könyvjelzői egy praktikus helyen.",
+  "settings_pane_visit_again_body": "A Firefox megjeleníti a böngészési előzményeinek azt a részét, amelyet lehet hogy meg szeretne jegyezni, vagy ahová vissza akar térni.",
+  "edit_topsites_button_label": "A Népszerű oldalak rész testreszabása",
+  "edit_topsites_showmore_button": "Több megjelenítése",
+  "edit_topsites_showless_button": "Kevesebb megjelenítése",
+  "edit_topsites_done_button": "Kész",
+  "edit_topsites_pin_button": "Webhely rögzítése",
+  "edit_topsites_unpin_button": "Rögzítés feloldása",
+  "edit_topsites_dismiss_button": "Webhely eltávolítása",
+  "edit_topsites_add_button": "Hozzáadás",
+  "pocket_feedback_header": "A web legjava, több mint 25 millió ember válogatásában."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Նոր ներդիր</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Որոնել առցանց</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Որոնել առցանց" title="Որոնել առցանց"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Լավագույն կայքեր<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Գունանշում</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Որոնել առցանց</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Որոնել առցանց" title="Որոնել առցանց"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Լավագույն կայքեր<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Գունանշում</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-strings.js
@@ -35,72 +35,74 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Save to Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Որոնել {search_term}-ը հետևյալով՝",
   "search_button": "Search",
   "search_header": "{search_engine_name}-ի որոնում",
   "search_web_placeholder": "Որոնել առցանց",
   "search_settings": "Փոխել որոնման կարգավորումները",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Send Feedback",
-  "section_info_privacy_notice": "Privacy Notice",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "Բարի գալուստ նոր ներդիր",
   "welcome_body": "Firefox-ը կօգտագործի այս բացատը՝ ցուցադրելու ձեզ համար առավել կարևոր էջանիշերը, հոդվածները և ձեր այցելած վերջին էջերը, որպեսզի հեշտությամբ վերադառնաք դրանց:",
   "welcome_label": "Նույնացնում է ձեր գունանշումը",
   "time_label_less_than_minute": "<1 ր",
   "time_label_minute": "{number} ր",
   "time_label_hour": "{number} ժ",
   "time_label_day": "{number} օր",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Customize your New Tab page",
   "settings_pane_header": "New Tab Preferences",
   "settings_pane_body2": "Choose what you see on this page.",
   "settings_pane_search_header": "Search",
   "settings_pane_search_body": "Search the Web from your new tab.",
   "settings_pane_topsites_header": "Top Sites",
   "settings_pane_topsites_body": "Access the websites you visit most.",
   "settings_pane_topsites_options_showmore": "Show two rows",
   "settings_pane_bookmarks_header": "Recent Bookmarks",
-  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
   "settings_pane_visit_again_header": "Visit Again",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "Highlights",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "Bookmarks",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Done",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "Edit",
-  "edit_topsites_button_label": "Customize your Top Sites section",
-  "edit_topsites_showmore_button": "Show More",
-  "edit_topsites_showless_button": "Show Fewer",
-  "edit_topsites_done_button": "Done",
-  "edit_topsites_pin_button": "Pin this site",
-  "edit_topsites_unpin_button": "Unpin this site",
   "edit_topsites_edit_button": "Edit this site",
-  "edit_topsites_dismiss_button": "Dismiss this site",
-  "edit_topsites_add_button": "Add",
   "topsites_form_add_header": "New Top Site",
   "topsites_form_edit_header": "Edit Top Site",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Enter a title",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Type or paste a URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Add",
   "topsites_form_save_button": "Save",
   "topsites_form_cancel_button": "Cancel",
   "topsites_form_url_validation": "Valid URL required",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Popular Topics:",
   "pocket_read_even_more": "View More Stories",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
--- a/browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nove scheda</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cercar in le Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cercar in le Web" title="Cercar in le Web"/><button id="searchSubmit" class="search-button" title="Cercar"><span class="sr-only"><span>Cercar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sitos popular<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommendate per Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Subjectos popular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidentia</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cercar in le Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cercar in le Web" title="Cercar in le Web"/><button id="searchSubmit" class="search-button" title="Cercar"><span class="sr-only"><span>Cercar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sitos popular<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommendate per Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Subjectos popular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidentia</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Salvar in Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Cercar {search_term} con:",
   "search_button": "Cercar",
   "search_header": "Recerca {search_engine_name}",
   "search_web_placeholder": "Cercar in le Web",
   "search_settings": "Cambiar le parametros de recerca",
-  "section_info_option": "Informationes",
   "section_info_send_feedback": "Inviar feedback",
-  "section_info_privacy_notice": "Advertentia de privacitate",
   "section_disclaimer_topstories": "Le historias plus interessante del web, eligite in base a lo que tu lege. Per Pocket, ora parte de Mozilla.",
   "section_disclaimer_topstories_linktext": "Apprende como illo functiona.",
   "section_disclaimer_topstories_buttontext": "Ok, io comprende",
   "welcome_title": "Benvenite al nove scheda",
   "welcome_body": "Firefox usara iste spatio pro monstrar tu marcapaginas le plus relevante, articulos, videos e paginas que tu ha visitate recentemente, de sorta que tu pote revider los facilemente.",
   "welcome_label": "Identificante tu evidentias",
   "time_label_less_than_minute": "<1 min",
   "time_label_minute": "{number} min",
   "time_label_hour": "{number} h",
   "time_label_day": "{number} d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Personalisar tu pagina de nove scheda",
   "settings_pane_header": "Preferentias de nove scheda",
   "settings_pane_body2": "Selige lo que tu vole vider in iste pagina.",
   "settings_pane_search_header": "Cercar",
   "settings_pane_search_body": "Cercar in le Web ab tu nove scheda.",
   "settings_pane_topsites_header": "Sitos popular",
   "settings_pane_topsites_body": "Acceder al sitos web que tu plus visita.",
   "settings_pane_topsites_options_showmore": "Monstrar duo lineas",
   "settings_pane_bookmarks_header": "Marcapaginas recente",
-  "settings_pane_bookmarks_body": "Tu marcapaginas le plus recente a un sol loco.",
   "settings_pane_visit_again_header": "Visitar de novo",
-  "settings_pane_visit_again_body": "Firefox te monstrara partes de tu chronologia de navigation que tu pote voler rememorar o visitar novemente.",
   "settings_pane_highlights_header": "In evidentia",
   "settings_pane_highlights_body2": "Retrova cosas interessante que tu ha recentemente visitate o addite marcapaginas.",
   "settings_pane_highlights_options_bookmarks": "Marcapaginas",
   "settings_pane_highlights_options_visited": "Sitos visitate",
   "settings_pane_snippets_header": "Breve novas",
   "settings_pane_snippets_body": "Lege breve e legier novas de Mozilla super Firefox, cultura internet e occasionalmente super alcun meme.",
   "settings_pane_done_button": "Facite",
   "settings_pane_topstories_options_sponsored": "Monstrar historias sponsorisate",
   "edit_topsites_button_text": "Editar",
-  "edit_topsites_button_label": "Personalisar tu section de sitos popular",
-  "edit_topsites_showmore_button": "Monstrar plus",
-  "edit_topsites_showless_button": "Monstrar minus",
-  "edit_topsites_done_button": "Facite",
-  "edit_topsites_pin_button": "Clavar iste sito",
-  "edit_topsites_unpin_button": "Disclavar iste sito",
   "edit_topsites_edit_button": "Editar iste sito",
-  "edit_topsites_dismiss_button": "Dimitter iste sito",
-  "edit_topsites_add_button": "Adder",
   "topsites_form_add_header": "Nove sito popular",
   "topsites_form_edit_header": "Editar le sito popular",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Scriber un titulo",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Scriber o collar un URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Adder",
   "topsites_form_save_button": "Salvar",
   "topsites_form_cancel_button": "Cancellar",
   "topsites_form_url_validation": "Il es necessari un URL valide",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Subjectos popular:",
   "pocket_read_even_more": "Vider plus historias",
-  "pocket_feedback_header": "Le melior del web, selectionate per 25 milliones de personas.",
   "pocket_description": "Discoperir contento de alte qualitate que tu poterea alteremente non cognoscer, con le adjuta de Pocket, ora parte de Mozilla.",
   "highlights_empty_state": "Comencia navigar e nos te monstrara alcun del grande articulos, videos e altere paginas que tu ha recentemente visitate o addite marcapaginas hic.",
   "topstories_empty_state": "Tu ja es in die con toto. Reveni plus tarde pro plus historias popular de {provider}. Non vole attender? Selectiona un subjecto popular pro trovar plus altere historias interessante del web.",
   "manual_migration_explanation2": "Essaya Firefox con le marcapaginas, le chronologia e le contrasignos de un altere navigator.",
   "manual_migration_cancel_button": "No, gratias",
   "manual_migration_import_button": "Importar ora",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Adder un sito popular"
+  "section_info_option": "Informationes",
+  "section_info_privacy_notice": "Advertentia de privacitate",
+  "settings_pane_bookmarks_body": "Tu marcapaginas le plus recente a un sol loco.",
+  "settings_pane_visit_again_body": "Firefox te monstrara partes de tu chronologia de navigation que tu pote voler rememorar o visitar novemente.",
+  "edit_topsites_button_label": "Personalisar tu section de sitos popular",
+  "edit_topsites_showmore_button": "Monstrar plus",
+  "edit_topsites_showless_button": "Monstrar minus",
+  "edit_topsites_done_button": "Facite",
+  "edit_topsites_pin_button": "Clavar iste sito",
+  "edit_topsites_unpin_button": "Disclavar iste sito",
+  "edit_topsites_dismiss_button": "Dimitter iste sito",
+  "edit_topsites_add_button": "Adder",
+  "edit_topsites_add_button_tooltip": "Adder un sito popular",
+  "pocket_feedback_header": "Le melior del web, selectionate per 25 milliones de personas."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/id/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/id/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tab Baru</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cari di Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cari di Web" title="Cari di Web"/><button id="searchSubmit" class="search-button" title="Cari"><span class="sr-only"><span>Cari</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Situs Teratas<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Disarankan oleh Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topik Populer:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Sorotan</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cari di Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cari di Web" title="Cari di Web"/><button id="searchSubmit" class="search-button" title="Cari"><span class="sr-only"><span>Cari</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Situs Teratas<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Disarankan oleh Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topik Populer:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Sorotan</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/id/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/id/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Simpan ke Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Cari {search_term} lewat:",
   "search_button": "Cari",
   "search_header": "Pencarian {search_engine_name}",
   "search_web_placeholder": "Cari di Web",
   "search_settings": "Ubah Pengaturan Pencarian",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Kirim Umpan Balik",
-  "section_info_privacy_notice": "Kebijakan Privasi",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "Selamat datang di tab baru",
   "welcome_body": "Firefox akan menggunakan ruang ini untuk menampilkan markah, artikel, video, dan laman yang baru-baru ini dikunjungi, yang paling relevan agar Anda bisa kembali mengunjunginya dengan mudah.",
   "welcome_label": "Mengidentifikasi Sorotan Anda",
   "time_label_less_than_minute": "<1 mnt",
   "time_label_minute": "{number} mnt",
   "time_label_hour": "{number} jam",
   "time_label_day": "{number} hr",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Ubahsuai laman Tab Baru Anda",
   "settings_pane_header": "Preferensi Tab Baru",
   "settings_pane_body2": "Pilih apa yang Anda lihat di halaman ini.",
   "settings_pane_search_header": "Pencarian",
   "settings_pane_search_body": "Cari Web dari tab baru Anda.",
   "settings_pane_topsites_header": "Situs Teratas",
   "settings_pane_topsites_body": "Mengakses situs web yang paling sering Anda kunjungi.",
   "settings_pane_topsites_options_showmore": "Tampilkan dua baris",
   "settings_pane_bookmarks_header": "Markah Terbaru",
-  "settings_pane_bookmarks_body": "Markah Anda dibuat di lokasi yang praktis.",
   "settings_pane_visit_again_header": "Kunjungi Lagi",
-  "settings_pane_visit_again_body": "Firefox akan menunjukkan bagian dari riwayat penjelajahan yang mungkin ingin Anda ingat atau kunjungi lagi.",
   "settings_pane_highlights_header": "Sorotan",
   "settings_pane_highlights_body2": "Temukan jalan kembali ke hal menarik yang baru saja Anda kunjungi atau dimarkah.",
   "settings_pane_highlights_options_bookmarks": "Markah",
   "settings_pane_highlights_options_visited": "Situs Terkunjungi",
   "settings_pane_snippets_header": "Catatan Kecil",
   "settings_pane_snippets_body": "Baca info pendek terbaru dari Mozilla tentang Firefox, budaya internet dan beberapa meme acak.",
   "settings_pane_done_button": "Selesai",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "Sunting",
-  "edit_topsites_button_label": "Ubahsuai bagian Situs Teratas Anda",
-  "edit_topsites_showmore_button": "Tampilkan lainnya",
-  "edit_topsites_showless_button": "Tampilkan lebih sedikit",
-  "edit_topsites_done_button": "Selesai",
-  "edit_topsites_pin_button": "Sematkan situs ini",
-  "edit_topsites_unpin_button": "Lepaskan situs ini",
   "edit_topsites_edit_button": "Sunting situs ini",
-  "edit_topsites_dismiss_button": "Abaikan situs ini",
-  "edit_topsites_add_button": "Tambah",
   "topsites_form_add_header": "Situs Pilihan Baru",
   "topsites_form_edit_header": "Ubah Situs Pilihan",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Masukkan judul",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Ketik atau tempel URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Tambah",
   "topsites_form_save_button": "Simpan",
   "topsites_form_cancel_button": "Batalkan",
   "topsites_form_url_validation": "URL valid diperlukan",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Topik Populer:",
   "pocket_read_even_more": "Lihat Cerita Lainnya",
-  "pocket_feedback_header": "Yang terbaik dari Web, dikurasi lebih dari 25 juta orang.",
   "pocket_description": "Temukan konten berkualitas tinggi yang mungkin Anda lewatkan dengan bantuan Pocket, yang sekarang menjadi bagian dari Mozilla.",
   "highlights_empty_state": "Mulai menjelajah, dan kami akan menampilkan beberapa artikel bagus, video, dan halaman lain yang baru saja Anda kunjungi atau termarkah di sini.",
   "topstories_empty_state": "Maaf Anda tercegat. Periksa lagi nanti untuk lebih banyak cerita terbaik dari {provider}. Tidak mau menunggu? Pilih topik populer untuk menemukan lebih banyak cerita hebat dari seluruh web.",
   "manual_migration_explanation2": "Coba Firefox dengan markah, riwayat, dan sandi dari peramban lain.",
   "manual_migration_cancel_button": "Tidak, Terima kasih",
   "manual_migration_import_button": "Impor Sekarang",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Kebijakan Privasi",
+  "settings_pane_bookmarks_body": "Markah Anda dibuat di lokasi yang praktis.",
+  "settings_pane_visit_again_body": "Firefox akan menunjukkan bagian dari riwayat penjelajahan yang mungkin ingin Anda ingat atau kunjungi lagi.",
+  "edit_topsites_button_label": "Ubahsuai bagian Situs Teratas Anda",
+  "edit_topsites_showmore_button": "Tampilkan lainnya",
+  "edit_topsites_showless_button": "Tampilkan lebih sedikit",
+  "edit_topsites_done_button": "Selesai",
+  "edit_topsites_pin_button": "Sematkan situs ini",
+  "edit_topsites_unpin_button": "Lepaskan situs ini",
+  "edit_topsites_dismiss_button": "Abaikan situs ini",
+  "edit_topsites_add_button": "Tambah",
+  "pocket_feedback_header": "Yang terbaik dari Web, dikurasi lebih dari 25 juta orang."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/it/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/it/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nuova scheda</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cerca sul Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cerca sul Web" title="Cerca sul Web"/><button id="searchSubmit" class="search-button" title="Cerca"><span class="sr-only"><span>Cerca</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Siti principali<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Consigliati da Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Argomenti popolari:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidenza</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cerca sul Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cerca sul Web" title="Cerca sul Web"/><button id="searchSubmit" class="search-button" title="Cerca"><span class="sr-only"><span>Cerca</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Siti principali<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Consigliati da Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Argomenti popolari:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidenza</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/it/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/it/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Salva in Pocket",
   "menu_action_delete_pocket": "Elimina da Pocket",
   "menu_action_archive_pocket": "Archivia in Pocket",
   "search_for_something_with": "Cerca {search_term} con:",
   "search_button": "Cerca",
   "search_header": "Ricerca {search_engine_name}",
   "search_web_placeholder": "Cerca sul Web",
   "search_settings": "Cambia impostazioni di ricerca",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Invia feedback",
-  "section_info_privacy_notice": "Informativa sulla privacy",
   "section_disclaimer_topstories": "Le storie più interessanti del Web, selezionate in base alle tue letture. Direttamente da Pocket, ora parte del gruppo Mozilla.",
   "section_disclaimer_topstories_linktext": "Scopri come funziona.",
   "section_disclaimer_topstories_buttontext": "Ho capito.",
   "welcome_title": "Benvenuto nella nuova scheda",
   "welcome_body": "Firefox utilizzerà questo spazio per visualizzare gli elementi più significativi, come segnalibri, articoli, video e pagine visitate di recente, in modo che siano sempre facili da raggiungere.",
   "welcome_label": "Identificazione elementi in evidenza…",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}g",
+  "prefs_home_header": "Pagina iniziale di Firefox",
+  "prefs_home_description": "Scegli i contenuti da visualizzare nella pagina iniziale di Firefox.",
+  "prefs_restore_defaults_button": "Ripristina valori predefiniti",
+  "prefs_section_rows_option": "{num} riga;{num} righe",
+  "prefs_search_header": "Ricerca sul Web",
+  "prefs_topsites_description": "I siti più visitati",
+  "prefs_topstories_description": "Contenuti di alta qualità che altrimenti potrebbero sfuggirti",
+  "prefs_topstories_show_sponsored_label": "Articoli sponsorizzati da {provider}",
+  "prefs_topstories_sponsored_learn_more": "Ulteriori informazioni",
+  "prefs_highlights_description": "Una selezione di siti che hai salvato o visitato in precedenza",
+  "prefs_snippets_description": "Aggiornamenti da Mozilla e Firefox",
   "settings_pane_button_label": "Personalizza la pagina Nuova scheda",
   "settings_pane_header": "Preferenze Nuova scheda",
   "settings_pane_body2": "Scegli quali elementi visualizzare in questa pagina.",
   "settings_pane_search_header": "Ricerca",
   "settings_pane_search_body": "Avvia ricerche in una nuova scheda.",
   "settings_pane_topsites_header": "Siti principali",
   "settings_pane_topsites_body": "Accedi ai siti che visiti più spesso.",
   "settings_pane_topsites_options_showmore": "Visualizza due righe",
   "settings_pane_bookmarks_header": "Segnalibri recenti",
-  "settings_pane_bookmarks_body": "Tutti i segnalibri appena creati, facilmente accessibili.",
   "settings_pane_visit_again_header": "Visita di nuovo",
-  "settings_pane_visit_again_body": "Firefox mostrerà alcuni elementi, estratti dalla cronologia di navigazione, che potresti voler visitare di nuovo.",
   "settings_pane_highlights_header": "In evidenza",
   "settings_pane_highlights_body2": "Ritrova pagine interessanti che avevi visitato o aggiunto ai segnalibri.",
   "settings_pane_highlights_options_bookmarks": "Segnalibri",
   "settings_pane_highlights_options_visited": "Siti visitati",
   "settings_pane_snippets_header": "Snippet",
   "settings_pane_snippets_body": "Brevi notizie direttamente da Mozilla a proposito di Firefox, Internet, senza dimenticare qualche meme di tanto in tanto.",
   "settings_pane_done_button": "Fatto",
   "settings_pane_topstories_options_sponsored": "Visualizza articoli sponsorizzati",
   "edit_topsites_button_text": "Modifica",
-  "edit_topsites_button_label": "Personalizza la sezione Siti principali",
-  "edit_topsites_showmore_button": "Visualizza altri",
-  "edit_topsites_showless_button": "Nascondi altri",
-  "edit_topsites_done_button": "Fatto",
-  "edit_topsites_pin_button": "Aggiungi sito alla bacheca",
-  "edit_topsites_unpin_button": "Rimuovi sito dalla bacheca",
   "edit_topsites_edit_button": "Modifica questo sito",
-  "edit_topsites_dismiss_button": "Ignora questo sito",
-  "edit_topsites_add_button": "Aggiungi",
   "topsites_form_add_header": "Nuovi sito principale",
   "topsites_form_edit_header": "Modifica sito principale",
   "topsites_form_title_label": "Titolo",
   "topsites_form_title_placeholder": "Inserire un titolo",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Indirizzo immagine personalizzata",
   "topsites_form_url_placeholder": "Digitare o incollare un URL",
+  "topsites_form_use_image_link": "Utilizza un’immagine personalizzata…",
+  "topsites_form_preview_button": "Anteprima",
   "topsites_form_add_button": "Aggiungi",
   "topsites_form_save_button": "Salva",
   "topsites_form_cancel_button": "Annulla",
   "topsites_form_url_validation": "È necessario fornire un URL valido",
+  "topsites_form_image_validation": "Errore durante il caricamento dell’immagine. Prova con un altro indirizzo.",
   "pocket_read_more": "Argomenti popolari:",
   "pocket_read_even_more": "Visualizza altre storie",
-  "pocket_feedback_header": "Il meglio del web, selezionato da 25 milioni di persone.",
   "pocket_description": "Grazie a Pocket, un componente della famiglia Mozilla, scopri contenuti di alta qualità che altrimenti potrebbero sfuggirti.",
   "highlights_empty_state": "Inizia a navigare e, in questa sezione, verranno visualizzati articoli, video e altre pagine visitate di recente o aggiunte ai segnalibri.",
   "topstories_empty_state": "Non c'è altro. Controlla più tardi per altre storie da {provider}. Non vuoi aspettare? Seleziona un argomento tra quelli più popolari per scoprire altre notizie interessanti dal Web.",
   "manual_migration_explanation2": "Prova Firefox con i segnalibri, la cronologia e le password di un altro browser.",
   "manual_migration_cancel_button": "No grazie",
   "manual_migration_import_button": "Importa adesso",
   "error_fallback_default_info": "Oops, qualcosa è andato storto durante il tentativo di caricare questo contenuto.",
   "error_fallback_default_refresh_suggestion": "Aggiornare la pagina per riprovare.",
   "section_menu_action_remove_section": "Rimuovi sezione",
   "section_menu_action_collapse_section": "Comprimi sezione",
   "section_menu_action_expand_section": "Espandi sezione",
   "section_menu_action_manage_section": "Gestisci sezione",
   "section_menu_action_add_topsite": "Aggiungi sito principale",
   "section_menu_action_move_up": "Sposta in alto",
   "section_menu_action_move_down": "Sposta in basso",
-  "section_menu_action_privacy_notice": "Informativa sulla privacy"
+  "section_menu_action_privacy_notice": "Informativa sulla privacy",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Informativa sulla privacy",
+  "settings_pane_bookmarks_body": "Tutti i segnalibri appena creati, facilmente accessibili.",
+  "settings_pane_visit_again_body": "Firefox mostrerà alcuni elementi, estratti dalla cronologia di navigazione, che potresti voler visitare di nuovo.",
+  "edit_topsites_button_label": "Personalizza la sezione Siti principali",
+  "edit_topsites_showmore_button": "Visualizza altri",
+  "edit_topsites_showless_button": "Nascondi altri",
+  "edit_topsites_done_button": "Fatto",
+  "edit_topsites_pin_button": "Aggiungi sito alla bacheca",
+  "edit_topsites_unpin_button": "Rimuovi sito dalla bacheca",
+  "edit_topsites_dismiss_button": "Ignora questo sito",
+  "edit_topsites_add_button": "Aggiungi",
+  "pocket_feedback_header": "Il meglio del web, selezionato da 25 milioni di persone."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>新しいタブ</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ウェブを検索</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ウェブを検索" title="ウェブを検索"/><button id="searchSubmit" class="search-button" title="検索"><span class="sr-only"><span>検索</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>トップサイト<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket のおすすめ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>人気のトピック:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ハイライト</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ウェブを検索</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ウェブを検索" title="ウェブを検索"/><button id="searchSubmit" class="search-button" title="検索"><span class="sr-only"><span>検索</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>トップサイト<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket のおすすめ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>人気のトピック:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ハイライト</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket へ保存",
   "menu_action_delete_pocket": "Pocket から削除",
   "menu_action_archive_pocket": "Pocket にアーカイブ",
   "search_for_something_with": "{search_term} を検索:",
   "search_button": "検索",
   "search_header": "{search_engine_name} 検索",
   "search_web_placeholder": "ウェブを検索",
   "search_settings": "検索設定を変更",
-  "section_info_option": "情報",
   "section_info_send_feedback": "フィードバックを送る",
-  "section_info_privacy_notice": "プライバシー通知",
   "section_disclaimer_topstories": "あなたが読んだページに基づいて選ばれた、ウェブ上で最も興味深い記事。Mozilla の一員となった Pocket がお届けします。",
   "section_disclaimer_topstories_linktext": "詳しくはこちら。",
   "section_disclaimer_topstories_buttontext": "了解しました",
   "welcome_title": "新しいタブへようこそ",
   "welcome_body": "Firefox はこのスペースを使って、関連性の高いブックマーク、記事、動画、最近訪れたページを表示し、それらのコンテンツへ簡単に戻れるようにします。",
   "welcome_label": "あなたのハイライトを確認しています",
   "time_label_less_than_minute": "1 分以内",
   "time_label_minute": "{number} 分",
   "time_label_hour": "{number} 時間",
   "time_label_day": "{number} 日",
+  "prefs_home_header": "Firefox ホームコンテンツ",
+  "prefs_home_description": "Firefox のホーム画面に表示するコンテンツを選びましょう。",
+  "prefs_restore_defaults_button": "初期設定に戻す",
+  "prefs_section_rows_option": "{num} 行;{num} 行",
+  "prefs_search_header": "ウェブ検索",
+  "prefs_topsites_description": "よく訪れるサイト",
+  "prefs_topstories_description": "見逃してしまうかもしれない質の高いコンテンツ",
+  "prefs_topstories_show_sponsored_label": "{provider} のスポンサー記事",
+  "prefs_topstories_sponsored_learn_more": "詳しくはこちら",
+  "prefs_highlights_description": "保存したり訪れたりしたサイトうち主なもの",
+  "prefs_snippets_description": "Mozilla と Firefox に関する最新情報",
   "settings_pane_button_label": "新しいタブページをカスタマイズ",
   "settings_pane_header": "新しいタブの設定",
   "settings_pane_body2": "このページに表示する内容を選択してください。",
   "settings_pane_search_header": "検索",
   "settings_pane_search_body": "新しいタブからウェブを検索します。",
   "settings_pane_topsites_header": "トップサイト",
   "settings_pane_topsites_body": "よく訪れるサイトへアクセス。",
   "settings_pane_topsites_options_showmore": "2 行で表示",
   "settings_pane_bookmarks_header": "最近のブックマーク",
-  "settings_pane_bookmarks_body": "新たに作成されたブックマークをひとつの場所にまとめて使いやすく。",
   "settings_pane_visit_again_header": "再度訪れる",
-  "settings_pane_visit_again_body": "Firefox は、ブラウジング履歴の中から、あなたが覚えておきたい、あるいは後で戻りたいと思われるページの一覧を表示します。",
   "settings_pane_highlights_header": "ハイライト",
   "settings_pane_highlights_body2": "最近訪れたりブックマークしたりした興味のあるページへ戻る方法を見つけましょう。",
   "settings_pane_highlights_options_bookmarks": "ブックマーク",
   "settings_pane_highlights_options_visited": "訪れたサイト",
   "settings_pane_snippets_header": "スニペット",
   "settings_pane_snippets_body": "Firefox、インターネット文化、時々無作為にお届けする小ネタなど、簡潔で役立つ Mozilla からの最新情報を読んでください。",
   "settings_pane_done_button": "完了",
   "settings_pane_topstories_options_sponsored": "広告記事を表示",
   "edit_topsites_button_text": "編集",
-  "edit_topsites_button_label": "トップサイトの項目をカスタマイズ",
-  "edit_topsites_showmore_button": "もっと見る",
-  "edit_topsites_showless_button": "折りたたむ",
-  "edit_topsites_done_button": "完了",
-  "edit_topsites_pin_button": "このサイトをピン留め",
-  "edit_topsites_unpin_button": "このサイトのピン留めを外す",
   "edit_topsites_edit_button": "このサイトを編集",
-  "edit_topsites_dismiss_button": "このサイトを削除",
-  "edit_topsites_add_button": "追加",
   "topsites_form_add_header": "新着トップサイト",
   "topsites_form_edit_header": "トップサイトを編集",
   "topsites_form_title_label": "タイトル",
   "topsites_form_title_placeholder": "タイトルを入力",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "カスタム画像 URL",
   "topsites_form_url_placeholder": "URL を入力するか貼り付け",
+  "topsites_form_use_image_link": "カスタム画像を使用...",
+  "topsites_form_preview_button": "プレビュー",
   "topsites_form_add_button": "追加",
   "topsites_form_save_button": "保存",
   "topsites_form_cancel_button": "キャンセル",
   "topsites_form_url_validation": "正しい URL を入力してください",
+  "topsites_form_image_validation": "画像を読み込めませんでした。別の URL を試してください。",
   "pocket_read_more": "人気のトピック:",
   "pocket_read_even_more": "他の記事を見る",
-  "pocket_feedback_header": "2,500 万人以上の人々によって収集されている、ウェブ上で最も優れたコンテンツ。",
   "pocket_description": "Mozilla の一員となった Pocket の力を借りて、見逃してしまうかもしれない質の高い情報を見つけましょう。",
   "highlights_empty_state": "ブラウジング中にあなたが最近訪れたりブックマークしたりした、優れた記事、動画、その他ページの一部をここに表示します。",
   "topstories_empty_state": "すべて既読です。また後で戻って {provider} からのおすすめ記事をチェックしてください。もし待ちきれないなら、人気のトピックを選択すれば、他にもウェブ上の優れた記事を見つけられます。",
   "manual_migration_explanation2": "他のブラウザーからブックマークや履歴、パスワードを取り込んで Firefox を使ってみましょう。",
   "manual_migration_cancel_button": "今はしない",
   "manual_migration_import_button": "今すぐインポート",
   "error_fallback_default_info": "このコンテンツの読み込み中に何か問題が発生しました。",
   "error_fallback_default_refresh_suggestion": "ページを再読み込みして再確認してください。",
   "section_menu_action_remove_section": "セクションを削除",
   "section_menu_action_collapse_section": "セクションを折りたたむ",
   "section_menu_action_expand_section": "セクションを広げる",
   "section_menu_action_manage_section": "セクションを管理",
   "section_menu_action_add_topsite": "トップサイトを追加",
   "section_menu_action_move_up": "上へ移動",
   "section_menu_action_move_down": "下へ移動",
-  "section_menu_action_privacy_notice": "プライバシー通知"
+  "section_menu_action_privacy_notice": "プライバシー通知",
+  "section_info_option": "情報",
+  "section_info_privacy_notice": "プライバシー通知",
+  "settings_pane_bookmarks_body": "新たに作成されたブックマークをひとつの場所にまとめて使いやすく。",
+  "settings_pane_visit_again_body": "Firefox は、ブラウジング履歴の中から、あなたが覚えておきたい、あるいは後で戻りたいと思われるページの一覧を表示します。",
+  "edit_topsites_button_label": "トップサイトの項目をカスタマイズ",
+  "edit_topsites_showmore_button": "もっと見る",
+  "edit_topsites_showless_button": "折りたたむ",
+  "edit_topsites_done_button": "完了",
+  "edit_topsites_pin_button": "このサイトをピン留め",
+  "edit_topsites_unpin_button": "このサイトのピン留めを外す",
+  "edit_topsites_dismiss_button": "このサイトを削除",
+  "edit_topsites_add_button": "追加",
+  "pocket_feedback_header": "2,500 万人以上の人々によって収集されている、ウェブ上で最も優れたコンテンツ。"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>ახალი ჩანართი</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ინტერნეტში ძიება</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ინტერნეტში ძიება" title="ინტერნეტში ძიება"/><button id="searchSubmit" class="search-button" title="ძიება"><span class="sr-only"><span>ძიება</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>რჩეული საიტები<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>რეკომენდებულია Pocket-ის მიერ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>პოპულარული თემები:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>მნიშვნელოვანი საიტები</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ინტერნეტში ძიება</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ინტერნეტში ძიება" title="ინტერნეტში ძიება"/><button id="searchSubmit" class="search-button" title="ძიება"><span class="sr-only"><span>ძიება</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>რჩეული საიტები<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>რეკომენდებულია Pocket-ის მიერ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>პოპულარული თემები:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>მნიშვნელოვანი საიტები</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket-ში შენახვა",
   "menu_action_delete_pocket": "წაშლა Pocket-იდან",
   "menu_action_archive_pocket": "დაარქივება Pocket-ში",
   "search_for_something_with": "{search_term} ფრაზის ძიება:",
   "search_button": "ძიება",
   "search_header": "{search_engine_name} საძიებოთი ძიება",
   "search_web_placeholder": "ინტერნეტში ძიება",
   "search_settings": "ძიების პარამეტრების შეცვლა",
-  "section_info_option": "ინფორმაცია",
   "section_info_send_feedback": "უკუკავშირი",
-  "section_info_privacy_notice": "პირადი მონაცემების დაცვა",
   "section_disclaimer_topstories": "საუკეთესო და საინტერესო სიახლეები ინტერნეტიდან, შერჩეული თქვენ მიერ მონახულებული გვერდების საფუძველზე. Pocket-იდან, რომელიც უკვე Mozilla-ს ნაწილია.",
   "section_disclaimer_topstories_linktext": "ნახეთ, როგორ მუშაობს.",
   "section_disclaimer_topstories_buttontext": "კარგი, გასაგებია",
   "welcome_title": "მოგესალმებით ახალ ჩანართზე",
   "welcome_body": "Firefox ამ სივრცეს გამოიყენებს თქვენთვის ყველაზე საჭირო სანიშნების, სტატიების, ვიდეოებისა და ბოლოს მონახულებული გვერდებისთვის, რომ ადვილად შეძლოთ მათზე დაბრუნება.",
   "welcome_label": "მნიშვნელოვანი საიტების დადგენა",
   "time_label_less_than_minute": "<1წთ",
   "time_label_minute": "{number}წთ",
   "time_label_hour": "{number}სთ",
   "time_label_day": "{number}დღე",
+  "prefs_home_header": "Firefox მთავარი გვერდი",
+  "prefs_home_description": "აირჩიეთ, თუ რისი გამოჩენა გსურთ Firefox-ის მთავარ გვერდზე.",
+  "prefs_restore_defaults_button": "ნაგულისხმევის აღდგენა",
+  "prefs_section_rows_option": "{num} რიგად;{num} რიგად",
+  "prefs_search_header": "ინტერნეტში ძიება",
+  "prefs_topsites_description": "ხშირად მონახულებული საიტები",
+  "prefs_topstories_description": "მაღალი ხარისხის მასალა, რომელიც შეიძლება გამოგრჩენოდათ",
+  "prefs_topstories_show_sponsored_label": "მასალის მომწოდებელი {provider}",
+  "prefs_topstories_sponsored_learn_more": "იხილეთ ვრცლად",
+  "prefs_highlights_description": "თქვენ მიერ შენახული ან მონახულებული საიტები",
+  "prefs_snippets_description": "განახლებები Mozilla-სა და Firefox-ისგან",
   "settings_pane_button_label": "მოირგეთ ახალი ჩანართის გვერდი",
   "settings_pane_header": "ახალი ჩანართის პარამეტრები",
   "settings_pane_body2": "მიუთითეთ, რისი ხილვა გსურთ ამ გვერდზე.",
   "settings_pane_search_header": "ძიება",
   "settings_pane_search_body": "ძიება ინტერნეტში ახალი ჩანართიდან.",
   "settings_pane_topsites_header": "რჩეული საიტები",
   "settings_pane_topsites_body": "წვდომა ხშირად მონახულებულ საიტებთან.",
   "settings_pane_topsites_options_showmore": "ორ რიგად ჩვენება",
   "settings_pane_bookmarks_header": "ბოლოს ჩანიშნულები",
-  "settings_pane_bookmarks_body": "ახლად შექმნილი სანიშნები, ერთი ხელის გაწვდენაზე.",
   "settings_pane_visit_again_header": "ხელახლა ნახვა",
-  "settings_pane_visit_again_body": "Firefox გაჩვენებთ მონახულებული გვერდების ისტორიიდან იმას, რისი გახსენებაც ან რაზე დაბრუნებაც გენდომებათ.",
   "settings_pane_highlights_header": "მნიშვნელოვანი საიტები",
   "settings_pane_highlights_body2": "მარტივად დაუბრუნდით ბოლოს მონახულებულ, ან ჩანიშნულ გვერდებს.",
   "settings_pane_highlights_options_bookmarks": "სანიშნები",
   "settings_pane_highlights_options_visited": "მონახულებული საიტები",
   "settings_pane_snippets_header": "ცნობები",
   "settings_pane_snippets_body": "გაეცანით მოკლე, საინტერესო სიახლეებს Mozilla-სგან, Firefox-ის, ინტერნეტსამყაროს მიღწევებისა და სხვა დასამახსოვრებელი ფაქტების შესახებ.",
   "settings_pane_done_button": "მზადაა",
   "settings_pane_topstories_options_sponsored": "დარეკლამებული სტატიების ჩვენება",
   "edit_topsites_button_text": "ჩასწორება",
-  "edit_topsites_button_label": "მოირგეთ რჩეული საიტების განყოფილება",
-  "edit_topsites_showmore_button": "მეტის გამოჩენა",
-  "edit_topsites_showless_button": "ნაკლების გამოჩენა",
-  "edit_topsites_done_button": "მზადაა",
-  "edit_topsites_pin_button": "საიტის მიმაგრება",
-  "edit_topsites_unpin_button": "მიმაგრების მოხსნა",
   "edit_topsites_edit_button": "საიტის ჩასწორება",
-  "edit_topsites_dismiss_button": "საიტის დამალვა",
-  "edit_topsites_add_button": "დამატება",
   "topsites_form_add_header": "ახალი საიტი რჩეულებში",
   "topsites_form_edit_header": "რჩეული საიტების ჩასწორება",
   "topsites_form_title_label": "დასახელება",
   "topsites_form_title_placeholder": "სათაურის შეყვანა",
   "topsites_form_url_label": "URL ბმული",
+  "topsites_form_image_url_label": "სასურველი სურათის URL ბმული",
   "topsites_form_url_placeholder": "აკრიფეთ ან ჩასვით URL ბმული",
+  "topsites_form_use_image_link": "სასურველი სურათის გამოყენება…",
+  "topsites_form_preview_button": "შეთვალიერება",
   "topsites_form_add_button": "დამატება",
   "topsites_form_save_button": "შენახვა",
   "topsites_form_cancel_button": "გაუქმება",
   "topsites_form_url_validation": "საჭიროა მართებული URL",
+  "topsites_form_image_validation": "სურათი ვერ ჩაიტვირთა. სცადეთ სხვა URL ბმული.",
   "pocket_read_more": "პოპულარული თემები:",
   "pocket_read_even_more": "მეტი სიახლის ნახვა",
-  "pocket_feedback_header": "საუკეთესოები ინტერნეტიდან, 25 მილიონზე მეტი ადამიანის მიერ არჩეული.",
   "pocket_description": "გაეცანით ინტერნეტში არსებულ მაღალი ხარისხის მასალას Pocket-ის საშუალებით, რომელიც ახლა უკვე Mozilla-ს ნაწილს წარმოადგენს.",
   "highlights_empty_state": "დაიწყეთ გვერდების დათვალიერება და აქ გამოჩნდება თქვენი რჩეული სტატიები, ვიდეოები და ბოლოს მონახულებული, ან ჩანიშნული საიტები.",
   "topstories_empty_state": "უკვე ყველაფერი წაკითხული გაქვთ. {provider}-იდან ახალი რჩეული სტატიების მისაღებად, მოგვიანებით შემოიარეთ. თუ ვერ ითმენთ, აირჩიეთ რომელიმე მოთხოვნადი თემა, ახალი საინტერესო სტატიების მოსაძიებლად.",
   "manual_migration_explanation2": "გადმოიტანეთ სხვა ბრაუზერებიდან თქვენი სანიშნები, ისტორია და პაროლები Firefox-ში.",
   "manual_migration_cancel_button": "არა, გმადლობთ",
   "manual_migration_import_button": "ახლავე გადმოტანა",
   "error_fallback_default_info": "სამწუხაროდ, შიგთავსის ჩატვირთვისას რაღაც ხარვეზი წარმოიქმნა.",
   "error_fallback_default_refresh_suggestion": "განაახლეთ გვერდი და სცადეთ ხელახლა.",
   "section_menu_action_remove_section": "ამ ნაწილის ამოღება",
   "section_menu_action_collapse_section": "ამ ნაწილის აკეცვა",
   "section_menu_action_expand_section": "ამ ნაწილის გაშლა",
   "section_menu_action_manage_section": "გვერდის ნაწილების მართვა",
   "section_menu_action_add_topsite": "რჩეული საიტის დამატება",
   "section_menu_action_move_up": "აწევა",
   "section_menu_action_move_down": "ჩამოწევა",
-  "section_menu_action_privacy_notice": "პირადი მონაცემების დაცვის განაცხადი"
+  "section_menu_action_privacy_notice": "პირადი მონაცემების დაცვის განაცხადი",
+  "section_info_option": "ინფორმაცია",
+  "section_info_privacy_notice": "პირადი მონაცემების დაცვა",
+  "settings_pane_bookmarks_body": "ახლად შექმნილი სანიშნები, ერთი ხელის გაწვდენაზე.",
+  "settings_pane_visit_again_body": "Firefox გაჩვენებთ მონახულებული გვერდების ისტორიიდან იმას, რისი გახსენებაც ან რაზე დაბრუნებაც გენდომებათ.",
+  "edit_topsites_button_label": "მოირგეთ რჩეული საიტების განყოფილება",
+  "edit_topsites_showmore_button": "მეტის გამოჩენა",
+  "edit_topsites_showless_button": "ნაკლების გამოჩენა",
+  "edit_topsites_done_button": "მზადაა",
+  "edit_topsites_pin_button": "საიტის მიმაგრება",
+  "edit_topsites_unpin_button": "მიმაგრების მოხსნა",
+  "edit_topsites_dismiss_button": "საიტის დამალვა",
+  "edit_topsites_add_button": "დამატება",
+  "pocket_feedback_header": "საუკეთესოები ინტერნეტიდან, 25 მილიონზე მეტი ადამიანის მიერ არჩეული."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Iccer amaynut</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Nadi di Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Nadi di Web" title="Nadi di Web"/><button id="searchSubmit" class="search-button" title="Nadi"><span class="sr-only"><span>Nadi</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Ismal ifazen<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Iwelleh-it-id Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Isental ittwasnen aṭas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Asebrureq</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Nadi di Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Nadi di Web" title="Nadi di Web"/><button id="searchSubmit" class="search-button" title="Nadi"><span class="sr-only"><span>Nadi</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Ismal ifazen<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ldi umuɣ n usatal n tgezmi</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Iwelleh-it-id Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ldi umuɣ n usatal n tgezmi</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Isental ittwasnen aṭas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Asebrureq</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ldi umuɣ n usatal n tgezmi</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Tiqsiɣin ifazen",
   "header_highlights": "Asebrureq",
   "header_visit_again": "Rzu tikelt-nniḍen",
   "header_bookmarks": "Ticraḍ n melmi kan",
   "header_recommended_by": "Iwelleh-it-id {provider}",
   "header_bookmarks_placeholder": "Ur ɣur-k ara ticraḍ yakan.",
   "header_stories_from": "seg",
   "context_menu_button_sr": "Ldi umuɣ asatal i {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Ldi umuɣ n usatal n tgezmi",
   "type_label_visited": "Yettwarza",
   "type_label_bookmarked": "Yettwacreḍ",
   "type_label_synced": "Yemtawi seg ibenk-nniḍen",
   "type_label_recommended": "Tiddin",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Yettwakles ɣer Pocket",
   "type_label_open": "Yeldi",
   "type_label_topic": "Asentel",
   "type_label_now": "Tura",
   "menu_action_bookmark": "Creḍ asebter-agi",
   "menu_action_remove_bookmark": "Kkes tacreṭ-agi",
   "menu_action_copy_address": "Nγel tansa",
   "menu_action_email_link": "Azen aseγwen s yimayl…",
   "menu_action_open_new_window": "Ldei deg usfaylu amaynut",
   "menu_action_open_private_window": "Ldi deg usfaylu uslig amaynut",
   "menu_action_dismiss": "Kkes",
   "menu_action_delete": "Kkes seg umazray",
   "menu_action_pin": "Senteḍ",
   "menu_action_unpin": "Serreḥ",
   "confirm_history_delete_p1": "Tebɣiḍ ad tekksed yal tummant n usebter-agi seg umazray-ik?",
   "confirm_history_delete_notice_p2": "Tigawt-agi ur tettuɣal ara ar deffir.",
   "menu_action_save_to_pocket": "Sekles ɣer Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Kkes si Pocket",
+  "menu_action_archive_pocket": "Ḥrez di Pocket",
   "search_for_something_with": "Nadi γef {search_term} s:",
   "search_button": "Nadi",
   "search_header": "Anadi {search_engine_name}",
   "search_web_placeholder": "Nadi di Web",
   "search_settings": "Snifel iγewwaṛen n unadi",
-  "section_info_option": "Talɣut",
   "section_info_send_feedback": "Azen tikti",
-  "section_info_privacy_notice": "Tasertit n tbaḍnit",
   "section_disclaimer_topstories": "Tiqṣiḍin ifazen ak deg Web, ttwafernent ilmend n wayen teqqareḍ. Seg Pocket i yuγal akka d aḥric n Mozilla.",
   "section_disclaimer_topstories_linktext": "Issin amek i teddu.",
   "section_disclaimer_topstories_buttontext": "Ih, awi-t-id",
   "welcome_title": "Ansuf ar yiccer amaynut",
   "welcome_body": "Firefox ad iseqdec tallunt akken ad d-yesken akk ticraḍ n isebtar iwulmen, imagraden, tividyutin, akked isebtar aniɣer terziḍ melmi kan, ihi tzemreḍ ad d-uɣaleḍ ɣer-sen s wudem fessusen.",
   "welcome_label": "Asulu n iferdisen tisura",
   "time_label_less_than_minute": "<1 n tesdat",
   "time_label_minute": "{number} n tesdatin",
   "time_label_hour": "{number} n isragen",
   "time_label_day": "{number}n wussan",
+  "prefs_home_header": "Agbur agejdan Firefox",
+  "prefs_home_description": "Fren agbur i tebɣiḍ deg ugdil agejdan Firefox.",
+  "prefs_restore_defaults_button": "Err-d eɣewwaṛen n tazwara",
+  "prefs_section_rows_option": "{num} izirig;{num} izirigen",
+  "prefs_search_header": "Anadi Web",
+  "prefs_topsites_description": "Ismal i tettwaliḍ aṭas",
+  "prefs_topstories_description": "Agbur n tɣara meqqren i tzegleḍ ahat",
+  "prefs_topstories_show_sponsored_label": "Tiqsiḍin yettwarefden {provider}",
+  "prefs_topstories_sponsored_learn_more": "Issin ugar",
+  "prefs_highlights_description": "Tafrant n yismal i teskelseḍ neɣ i twalaḍ",
+  "prefs_snippets_description": "Ileqman seg Mozilla d Firefox",
   "settings_pane_button_label": "Sagen asebter n yiccer-ik amaynut",
   "settings_pane_header": "Ismenyifen n yiccer amaynut",
   "settings_pane_body2": "Fren ayen ad twaliḍ deg usebter-agi.",
   "settings_pane_search_header": "Nadi",
   "settings_pane_search_body": "Nadi di Web seg iccer-ik amaynut.",
   "settings_pane_topsites_header": "Ismal ifazen",
   "settings_pane_topsites_body": "Kcem ar yesmal web i trezzuḍ s waṭas.",
   "settings_pane_topsites_options_showmore": "Sken sin izirigen",
   "settings_pane_bookmarks_header": "Ticraḍ n melmi kan",
-  "settings_pane_bookmarks_body": "Ticraḍ yettwarnan melmi kan deg iwen n umdiq ɣef afus.",
   "settings_pane_visit_again_header": "Rzu tikelt-nniḍen",
-  "settings_pane_visit_again_body": "Firefox ad d-yesken tukkist n umazray-ik n tunigin i tzemreḍ ad twalid tikelt-nniḍen.",
   "settings_pane_highlights_header": "Asebrureq",
   "settings_pane_highlights_body2": "Aff abrid-ik γer wayen i tḥemmleḍ i γef terziḍ yakan neγ tcerḍeḍ-t.",
   "settings_pane_highlights_options_bookmarks": "Ticraḍ n isebtar",
   "settings_pane_highlights_options_visited": "Ismal yettwarzan",
   "settings_pane_snippets_header": "Tiwzillin",
   "settings_pane_snippets_body": "Wali issalen n Mozilla γef Firefox, adlis internet, akked issalen nniṣen sya γer da.",
   "settings_pane_done_button": "Immed",
   "settings_pane_topstories_options_sponsored": "Sken Imagraden yesɛan imasayen",
   "edit_topsites_button_text": "Ẓreg",
+  "edit_topsites_edit_button": "Ẓreg asmel-agi",
+  "topsites_form_add_header": "Asmel ifazen amaynut",
+  "topsites_form_edit_header": "Ẓreg asmel ifazen",
+  "topsites_form_title_label": "Azwel",
+  "topsites_form_title_placeholder": "Sekcem azwel",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Tugna tudmawant URL",
+  "topsites_form_url_placeholder": "Aru neɣ sekcem tansa URL",
+  "topsites_form_use_image_link": "Seqdec tugna tudmawant…",
+  "topsites_form_preview_button": "Taskant",
+  "topsites_form_add_button": "Rnu",
+  "topsites_form_save_button": "Sekles",
+  "topsites_form_cancel_button": "Sefsex",
+  "topsites_form_url_validation": "Tansa URL tameɣtut tettwasra",
+  "topsites_form_image_validation": "Tugna ur d-uli ara. Ɛreḍ tansa-nniḍen URL.",
+  "pocket_read_more": "Isental ittwasnen aṭas:",
+  "pocket_read_even_more": "Wali ugar n teqsiḍin",
+  "pocket_description": "S lmendad n Pocket n Mozillan wali aqbur ifazen aṭas, s ttawil-a werǧin ad tzegleḍ taγawsa.",
+  "highlights_empty_state": "Bdu tuniginn sakin nekkni ad k-n-sken imagraden, tividyutin, akked isebtar nniḍen i γef terziḍ yakan neγ i tceṛḍeḍ dagi.",
+  "topstories_empty_state": "Ulac wiyaḍ. Uɣal-d ticki s wugar n imagraden seg {provider}. Ur tebɣiḍ ara ad terǧuḍ? Fren asentel seg wid yettwasnen akken ad twaliḍ imagraden yelhan di Web.",
+  "manual_migration_explanation2": "Σreḍ Firefox s ticṛaḍ n isebtar, amazray akked awalen uffiren sγur ilinigen nniḍen.",
+  "manual_migration_cancel_button": "Ala, tanemmirt",
+  "manual_migration_import_button": "Kter tura",
+  "error_fallback_default_info": "Ihuh, yella wayen yeḍran deg usali n ugbur-a.",
+  "error_fallback_default_refresh_suggestion": "Sali-d aseter akken ad talseḍ aɛraḍ.",
+  "section_menu_action_remove_section": "Kkes tigezmi",
+  "section_menu_action_collapse_section": "Fneẓ tigezmi",
+  "section_menu_action_expand_section": "Snefli tigezmi",
+  "section_menu_action_manage_section": "Sefrek tigezmi",
+  "section_menu_action_add_topsite": "Rnu asmel ifazen",
+  "section_menu_action_move_up": "Ali",
+  "section_menu_action_move_down": "Ader",
+  "section_menu_action_privacy_notice": "Tasertit n tbaḍnit",
+  "section_info_option": "Talɣut",
+  "section_info_privacy_notice": "Tasertit n tbaḍnit",
+  "settings_pane_bookmarks_body": "Ticraḍ yettwarnan melmi kan deg iwen n umdiq ɣef afus.",
+  "settings_pane_visit_again_body": "Firefox ad d-yesken tukkist n umazray-ik n tunigin i tzemreḍ ad twalid tikelt-nniḍen.",
   "edit_topsites_button_label": "Sagen tigezmi n ismal ifazen",
   "edit_topsites_showmore_button": "Sken ugar",
   "edit_topsites_showless_button": "Sken qel",
   "edit_topsites_done_button": "Immed",
   "edit_topsites_pin_button": "Ṭṭef asmel-agi",
   "edit_topsites_unpin_button": "Serreḥ asmel-agi",
-  "edit_topsites_edit_button": "Ẓreg asmel-agi",
   "edit_topsites_dismiss_button": "Anef i usmel-agi",
   "edit_topsites_add_button": "Rnu",
-  "topsites_form_add_header": "Asmel ifazen amaynut",
-  "topsites_form_edit_header": "Ẓreg asmel ifazen",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Sekcem azwel",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Aru neɣ sekcem tansa URL",
-  "topsites_form_add_button": "Rnu",
-  "topsites_form_save_button": "Sekles",
-  "topsites_form_cancel_button": "Sefsex",
-  "topsites_form_url_validation": "Tansa URL tameɣtut tettwasra",
-  "pocket_read_more": "Isental ittwasnen aṭas:",
-  "pocket_read_even_more": "Wali ugar n teqsiḍin",
-  "pocket_feedback_header": "D amezwaru n Web, ittwafren sγur ugar 25 imelyan n imdanen.",
-  "pocket_description": "S lmendad n Pocket n Mozillan wali aqbur ifazen aṭas, s ttawil-a werǧin ad tzegleḍ taγawsa.",
-  "highlights_empty_state": "Bdu tuniginn sakin nekkni ad k-n-sken imagraden, tividyutin, akked isebtar nniḍen i γef terziḍ yakan neγ i tceṛḍeḍ dagi.",
-  "topstories_empty_state": "Ulac wiyaḍ. Uɣal-d ticki s wugar n imagraden seg {provider}. Ur tebɣiḍ ara ad terǧuḍ? Fren asentel seg wid yettwasnen akken ad twaliḍ imagraden yelhan di Web.",
-  "manual_migration_explanation2": "Σreḍ Firefox s ticṛaḍ n isebtar, amazray akked awalen uffiren sγur ilinigen nniḍen.",
-  "manual_migration_cancel_button": "Ala, tanemmirt",
-  "manual_migration_import_button": "Kter tura",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Rnu asmel ifazen"
+  "pocket_feedback_header": "D amezwaru n Web, ittwafren sγur ugar 25 imelyan n imdanen."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Жаңа бет</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Интернетте іздеу</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Интернетте іздеу" title="Интернетте іздеу"/><button id="searchSubmit" class="search-button" title="Іздеу"><span class="sr-only"><span>Іздеу</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Үздік сайттар<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Ұсынушы Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Әйгілі тақырыптар:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Ерекше жаңалықтар</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Интернетте іздеу</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Интернетте іздеу" title="Интернетте іздеу"/><button id="searchSubmit" class="search-button" title="Іздеу"><span class="sr-only"><span>Іздеу</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Үздік сайттар<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Санаттың контекст мәзірін ашу</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Ұсынушы Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Санаттың контекст мәзірін ашу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Әйгілі тақырыптар:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Ерекше жаңалықтар</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Санаттың контекст мәзірін ашу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Үздік хикаялар",
   "header_highlights": "Ерекше жаңалықтар",
   "header_visit_again": "Қайтадан шолу",
   "header_bookmarks": "Соңғы бетбелгілер",
   "header_recommended_by": "Ұсынушы {provider}",
   "header_bookmarks_placeholder": "Сізде әлі бетбелгілер жоқ.",
   "header_stories_from": "ұсынған",
   "context_menu_button_sr": "{title} үшін контекст мәзірін ашу",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Санаттың контекст мәзірін ашу",
   "type_label_visited": "Қаралған",
   "type_label_bookmarked": "Бетбелгілерде",
   "type_label_synced": "Басқа құрылғыдан синхрондалған",
   "type_label_recommended": "Әйгілі",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Pocket-ке сақталған",
   "type_label_open": "Ашу",
   "type_label_topic": "Тақырып",
   "type_label_now": "Қазір",
   "menu_action_bookmark": "Бетбелгілерге қосу",
   "menu_action_remove_bookmark": "Бетбелгіні өшіру",
   "menu_action_copy_address": "Адресін көшіріп алу",
   "menu_action_email_link": "Сілтемені эл. поштамен жіберу…",
   "menu_action_open_new_window": "Жаңа терезеде ашу",
   "menu_action_open_private_window": "Жаңа жекелік терезесінде ашу",
   "menu_action_dismiss": "Тайдыру",
   "menu_action_delete": "Тарихтан өшіру",
   "menu_action_pin": "Бекіту",
   "menu_action_unpin": "Бекітуді алып тастау",
   "confirm_history_delete_p1": "Бұл парақтың барлық кездесулерін шолу тарихыңыздан өшіруді қалайсыз ба?",
   "confirm_history_delete_notice_p2": "Бұл әрекетті болдырмау мүмкін болмайды.",
   "menu_action_save_to_pocket": "Pocket ішіне сақтау",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Pocket-тен өшіру",
+  "menu_action_archive_pocket": "Pocket-те архивтеу",
   "search_for_something_with": "{search_term} ұғымын көмегімен іздеу:",
   "search_button": "Іздеу",
   "search_header": "{search_engine_name} іздеуі",
   "search_web_placeholder": "Интернетте іздеу",
   "search_settings": "Іздеу баптауларын өзгерту",
-  "section_info_option": "Ақпарат",
   "section_info_send_feedback": "Кері байланыс хабарламасын жіберу",
-  "section_info_privacy_notice": "Жекелік ескертуі",
   "section_disclaimer_topstories": "Сіз оқитын нәрселерге негізделген интернеттегі ең қызықты хикаялар. Mozilla құрамындағы Pocket ұсынады.",
   "section_disclaimer_topstories_linktext": "Бұл қалай жұмыс жасайтынын білу.",
   "section_disclaimer_topstories_buttontext": "Жақсы, түсіндім",
   "welcome_title": "Жаңа бетке қош келдіңіз",
   "welcome_body": "Firefox бұл орында ең маңызды бетбелгілер, мақалалар, видеолар және жуырда қаралған беттерді көрсетеді, оның көмегімен сіз оларға оңай түрде орала аласыз.",
   "welcome_label": "Ең басты нәрселерді анықтау",
   "time_label_less_than_minute": "<1 минут",
   "time_label_minute": "{number} минут",
   "time_label_hour": "{number} сағат",
   "time_label_day": "{number} күн",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Жаңа бетті баптаңыз",
   "settings_pane_header": "Жаңа бет баптаулары",
   "settings_pane_body2": "Бұл бетте не көргіңіз келетінді таңдаңыз.",
   "settings_pane_search_header": "Іздеу",
   "settings_pane_search_body": "Жаңа беттен интернеттен іздеңіз.",
   "settings_pane_topsites_header": "Үздік сайттар",
   "settings_pane_topsites_body": "Көбірек қаралатын сайттарға қатынау.",
   "settings_pane_topsites_options_showmore": "Екі жолды көрсету",
   "settings_pane_bookmarks_header": "Соңғы бетбелгілер",
-  "settings_pane_bookmarks_body": "Сіздің жаңадан жасалған бетбелгілер бір ыңғайлы жерде.",
   "settings_pane_visit_again_header": "Қайтадан шолу",
-  "settings_pane_visit_again_body": "Firefox сізге есте сақтауды немесе қайта шолуды қалауыңыз мүмкін тарихыңыздың бөліктерін көрсетеді.",
   "settings_pane_highlights_header": "Ерекше жаңалықтар",
   "settings_pane_highlights_body2": "Сіз жақында қараған немесе бетбелгілерге қосқан қызықты нәрселерге қайтатын жолды табыңыз.",
   "settings_pane_highlights_options_bookmarks": "Бетбелгілер",
   "settings_pane_highlights_options_visited": "Ашылған сайттар",
   "settings_pane_snippets_header": "Үзінділер",
   "settings_pane_snippets_body": "Mozilla ұсынған Firefox және интернет мәдениеті туралы қысқа жаңалықтарды, және кездейсоқ мемдерді оқыңыз.",
   "settings_pane_done_button": "Дайын",
   "settings_pane_topstories_options_sponsored": "Демеушілер мақалаларын көрсету",
   "edit_topsites_button_text": "Түзету",
+  "edit_topsites_edit_button": "Бұл сайтты түзету",
+  "topsites_form_add_header": "Жаңа топ сайты",
+  "topsites_form_edit_header": "Топ сайтын түзету",
+  "topsites_form_title_label": "Атауы",
+  "topsites_form_title_placeholder": "Атауын енгізіңіз",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
+  "topsites_form_url_placeholder": "Сілтемені теріңіз немесе кірістіріңіз",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
+  "topsites_form_add_button": "Қосу",
+  "topsites_form_save_button": "Сақтау",
+  "topsites_form_cancel_button": "Бас тарту",
+  "topsites_form_url_validation": "Жарамды сілтеме керек",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
+  "pocket_read_more": "Әйгілі тақырыптар:",
+  "pocket_read_even_more": "Көбірек хикаяларды қарау",
+  "pocket_description": "Ол болмаса, сіз жіберіп алатын мүмкіндігі бар жоғары сапалы құраманы Pocket көмегімен табыңыз, ол енді Mozilla-ның бөлігі болып табылады.",
+  "highlights_empty_state": "Шолуды бастаңыз, сіз жақында шолған немесе бетбелгілерге қосқан тамаша мақалалар, видеолар немесе басқа парақтардың кейбіреулері осында көрсетіледі.",
+  "topstories_empty_state": "Дайын. {provider} ұсынған көбірек мақалаларды алу үшін кейінірек тексеріңіз. Күте алмайсыз ба? Интернеттен көбірек тамаша мақалаларды алу үшін әйгілі теманы таңдаңыз.",
+  "manual_migration_explanation2": "Firefox қолданбасын басқа браузер бетбелгілері, тарихы және парольдерімен қолданып көріңіз.",
+  "manual_migration_cancel_button": "Жоқ, рахмет",
+  "manual_migration_import_button": "Қазір импорттау",
+  "error_fallback_default_info": "Қап, бұл құраманы жүктеу кезінде бірнәрсе қате кетті.",
+  "error_fallback_default_refresh_suggestion": "Қайталап көру үшін, бетті жаңартыңыз.",
+  "section_menu_action_remove_section": "Санатты өшіру",
+  "section_menu_action_collapse_section": "Санатты бүктеу",
+  "section_menu_action_expand_section": "Санатты жазық қылу",
+  "section_menu_action_manage_section": "Санатты басқару",
+  "section_menu_action_add_topsite": "Үздік сайт қосу",
+  "section_menu_action_move_up": "Жоғары жылжыту",
+  "section_menu_action_move_down": "Төмен жылжыту",
+  "section_menu_action_privacy_notice": "Жекелік ескертуі",
+  "section_info_option": "Ақпарат",
+  "section_info_privacy_notice": "Жекелік ескертуі",
+  "settings_pane_bookmarks_body": "Сіздің жаңадан жасалған бетбелгілер бір ыңғайлы жерде.",
+  "settings_pane_visit_again_body": "Firefox сізге есте сақтауды немесе қайта шолуды қалауыңыз мүмкін тарихыңыздың бөліктерін көрсетеді.",
   "edit_topsites_button_label": "Топ сайттар санатын баптау",
   "edit_topsites_showmore_button": "Көбірек көрсету",
   "edit_topsites_showless_button": "Азырақ көрсету",
   "edit_topsites_done_button": "Дайын",
   "edit_topsites_pin_button": "Бұл сайтты жапсыру",
   "edit_topsites_unpin_button": "Бұл сайтты бекітуден алып тастау",
-  "edit_topsites_edit_button": "Бұл сайтты түзету",
   "edit_topsites_dismiss_button": "Бұл сайтты тайдыру",
   "edit_topsites_add_button": "Қосу",
-  "topsites_form_add_header": "Жаңа топ сайты",
-  "topsites_form_edit_header": "Топ сайтын түзету",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Атауын енгізіңіз",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Сілтемені теріңіз немесе кірістіріңіз",
-  "topsites_form_add_button": "Қосу",
-  "topsites_form_save_button": "Сақтау",
-  "topsites_form_cancel_button": "Бас тарту",
-  "topsites_form_url_validation": "Жарамды сілтеме керек",
-  "pocket_read_more": "Әйгілі тақырыптар:",
-  "pocket_read_even_more": "Көбірек хикаяларды қарау",
-  "pocket_feedback_header": "Интернеттің ең жақсысы, 25 миллион адаммен танылған.",
-  "pocket_description": "Ол болмаса, сіз жіберіп алатын мүмкіндігі бар жоғары сапалы құраманы Pocket көмегімен табыңыз, ол енді Mozilla-ның бөлігі болып табылады.",
-  "highlights_empty_state": "Шолуды бастаңыз, сіз жақында шолған немесе бетбелгілерге қосқан тамаша мақалалар, видеолар немесе басқа парақтардың кейбіреулері осында көрсетіледі.",
-  "topstories_empty_state": "Дайын. {provider} ұсынған көбірек мақалаларды алу үшін кейінірек тексеріңіз. Күте алмайсыз ба? Интернеттен көбірек тамаша мақалаларды алу үшін әйгілі теманы таңдаңыз.",
-  "manual_migration_explanation2": "Firefox қолданбасын басқа браузер бетбелгілері, тарихы және парольдерімен қолданып көріңіз.",
-  "manual_migration_cancel_button": "Жоқ, рахмет",
-  "manual_migration_import_button": "Қазір импорттау",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Топ сайт қосу"
+  "pocket_feedback_header": "Интернеттің ең жақсысы, 25 миллион адаммен танылған."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/km/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/km/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>ផ្ទាំង​ថ្មី</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ស្វែងរក​បណ្ដាញ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ស្វែងរក​បណ្ដាញ" title="ស្វែងរក​បណ្ដាញ"/><button id="searchSubmit" class="search-button" title="ស្វែងរក"><span class="sr-only"><span>ស្វែងរក</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>វិបសាយ​លើ​គេ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>បានណែនាំដោយ Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ប្រធានបទកំពុងពេញនិយម៖</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>រឿងសំខាន់ៗ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ស្វែងរក​បណ្ដាញ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ស្វែងរក​បណ្ដាញ" title="ស្វែងរក​បណ្ដាញ"/><button id="searchSubmit" class="search-button" title="ស្វែងរក"><span class="sr-only"><span>ស្វែងរក</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>វិបសាយ​លើ​គេ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>បានណែនាំដោយ Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ប្រធានបទកំពុងពេញនិយម៖</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>រឿងសំខាន់ៗ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/km/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/km/activity-stream-strings.js
@@ -35,81 +35,94 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "រក្សាទុកទៅ Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "ស្វែងរក {search_term} ជាមួយ៖",
   "search_button": "ស្វែងរក",
   "search_header": "{search_engine_name} ស្វែងរក",
   "search_web_placeholder": "ស្វែងរក​បណ្ដាញ",
   "search_settings": "ផ្លាស់ប្ដូរ​ការ​កំណត់​ស្វែងរក",
-  "section_info_option": "ព័ត៌មាន",
   "section_info_send_feedback": "ផ្ញើមតិត្រឡប់",
-  "section_info_privacy_notice": "សេចក្តីជូនដំណឹងអំពីភាពឯកជន",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "យល់​ហើយ",
   "welcome_title": "ស្វាគមន៍​មក​កាន់​ផ្ទាំង​ថ្មី",
   "welcome_body": "Firefox នឹង​ប្រើប្រាស់​កន្លែង​ទំនេរ​នេះ ដើម្បី​បង្ហាញ​ចំណាំ អត្ថបទ វីដេអូ និង​ទំព័រ​ដែល​ទាក់ទង​អ្នក​បំផុត ដែល​អ្នក​បាន​ចូល​មើល​ថ្មីៗ​នេះ ដូច្នេះ​អ្នក​អាច​ត្រឡប់​ទៅ​​កាន់​​វា​​វិញ​បាន​យ៉ាងងាយស្រួល។",
   "welcome_label": "កំពុង​បញ្ជាក់​ការ​រំលេច​របស់​អ្នក",
   "time_label_less_than_minute": "<1 នាទី",
   "time_label_minute": "{number} នាទី",
   "time_label_hour": "{number} ម៉ោង",
   "time_label_day": "{number} ថ្ងៃ",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Customize your New Tab page",
   "settings_pane_header": "ចំណង់ចំណូលចិត្ត ផ្ទាំងថ្មី",
   "settings_pane_body2": "ជ្រើសរើសអ្វីដែលអ្នកឃើញនៅលើទំព័រនេះ។",
   "settings_pane_search_header": "ស្វែងរក",
   "settings_pane_search_body": "ស្វែងរកបណ្តាញពីផ្ទាំងថ្មីរបស់អ្នក។",
   "settings_pane_topsites_header": "សាយកំពូល",
   "settings_pane_topsites_body": "ចូលវេបសាយដែលអ្នកទស្សនាច្រើនបំផុត។",
   "settings_pane_topsites_options_showmore": "បង្ហាញជួរដេកពីរ",
   "settings_pane_bookmarks_header": "ចំណាំថ្មីៗ",
-  "settings_pane_bookmarks_body": "ចំណាំថ្មីៗ ដែលបានបង្កើតរបស់អ្នកនៅក្នុងទីតាំងដែលងាយស្រួល។",
   "settings_pane_visit_again_header": "ទស្សនាម្ដងទៀត",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "រឿងសំខាន់ៗ",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "ចំណាំ",
   "settings_pane_highlights_options_visited": "សាយដែលបានទស្សនា",
   "settings_pane_snippets_header": "អត្ថបទសង្ខេប",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "ធ្វើរួច",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "កែសម្រួល",
-  "edit_topsites_button_label": "Customize your Top Sites section",
-  "edit_topsites_showmore_button": "បង្ហាញច្រើនទៀត",
-  "edit_topsites_showless_button": "បង្ហាញតិចជាង​នេះ",
-  "edit_topsites_done_button": "ធ្វើរួច",
-  "edit_topsites_pin_button": "ខ្ទាស់សាយនេះ",
-  "edit_topsites_unpin_button": "ដកខ្ទាស់សាយនេះ",
   "edit_topsites_edit_button": "កែសម្រួលសាយនេះ",
-  "edit_topsites_dismiss_button": "ច្រានចោលសាយនេះ",
-  "edit_topsites_add_button": "បន្ថែម",
   "topsites_form_add_header": "សាយកំពូលថ្មី",
   "topsites_form_edit_header": "កែសម្រួលសាយកំពូល",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "បញ្ចូលចំណងជើង",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "វាយបញ្ចូល ឬបិទភ្ជាប់ URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "បន្ថែម",
   "topsites_form_save_button": "រក្សាទុក",
   "topsites_form_cancel_button": "បោះបង់",
   "topsites_form_url_validation": "ត្រូវការ URL ដែលត្រឹមត្រូវ",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "ប្រធានបទកំពុងពេញនិយម៖",
   "pocket_read_even_more": "មើលរឿងរ៉ាវច្រើនទៀត",
-  "pocket_feedback_header": "បណ្តាញល្អបំផុត ដែលបានវាយតម្លៃដោយមនុស្សជាង 25 លាននាក់។",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "សាកល្បងប្រើ Firefox ជាមួយចំណាំ ប្រវត្តិ និងពាក្យសម្ងាត់ពីកម្មវិធីរុករកផ្សេងទៀត។",
   "manual_migration_cancel_button": "ទេ អរគុណ",
   "manual_migration_import_button": "នាំចូលឥឡូវនេះ",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "ព័ត៌មាន",
+  "section_info_privacy_notice": "សេចក្តីជូនដំណឹងអំពីភាពឯកជន",
+  "settings_pane_bookmarks_body": "ចំណាំថ្មីៗ ដែលបានបង្កើតរបស់អ្នកនៅក្នុងទីតាំងដែលងាយស្រួល។",
+  "edit_topsites_showmore_button": "បង្ហាញច្រើនទៀត",
+  "edit_topsites_showless_button": "បង្ហាញតិចជាង​នេះ",
+  "edit_topsites_done_button": "ធ្វើរួច",
+  "edit_topsites_pin_button": "ខ្ទាស់សាយនេះ",
+  "edit_topsites_unpin_button": "ដកខ្ទាស់សាយនេះ",
+  "edit_topsites_dismiss_button": "ច្រានចោលសាយនេះ",
+  "edit_topsites_add_button": "បន្ថែម",
+  "pocket_feedback_header": "បណ្តាញល្អបំផុត ដែលបានវាយតម្លៃដោយមនុស្សជាង 25 លាននាក់។"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>ಹೊಸ ಹಾಳೆ</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ" title="ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ"/><button id="searchSubmit" class="search-button" title="ಹುಡುಕು"><span class="sr-only"><span>ಹುಡುಕು</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ಪ್ರಮುಖ ತಾಣಗಳು<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ರಿಂದ ಶಿಫಾರಸುಮಾಡುಲಾಗಿದೆ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ಜನಪ್ರಿಯವಾದ ವಿಷಯಗಳು:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ಮುಖ್ಯಾಂಶಗಳು</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ" title="ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ"/><button id="searchSubmit" class="search-button" title="ಹುಡುಕು"><span class="sr-only"><span>ಹುಡುಕು</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ಪ್ರಮುಖ ತಾಣಗಳು<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ರಿಂದ ಶಿಫಾರಸುಮಾಡುಲಾಗಿದೆ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ಜನಪ್ರಿಯವಾದ ವಿಷಯಗಳು:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ಮುಖ್ಯಾಂಶಗಳು</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-strings.js
@@ -35,81 +35,92 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "ಪಾಕೆಟ್‌ನಲ್ಲಿ ಉಳಿಸಿ‍",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "{search_term} ಅನ್ನು ಇದರಿಂದ ಹುಡುಕಿ:",
   "search_button": "ಹುಡುಕು",
   "search_header": "{search_engine_name} ನಿಂದ ಹುಡುಕಿ",
   "search_web_placeholder": "ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ",
   "search_settings": "ಹುಡುಕು ಸಿದ್ಧತೆಗಳನ್ನು ಬದಲಾಯಿಸು",
-  "section_info_option": "ಮಾಹಿತಿ",
   "section_info_send_feedback": "ಅಭಿಪ್ರಾಯವನ್ನು ಕಳುಹಿಸಿ",
-  "section_info_privacy_notice": "ಗೌಪ್ಯತಾ ಸೂಚನೆ",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "ಹೊಸ ಹಾಳೆಗೆ ಸುಸ್ವಾಗತ",
   "welcome_body": "Firefox will use this space to show your most relevant bookmarks, articles, videos, and pages you’ve recently visited, so you can get back to them easily.",
   "welcome_label": "Identifying your Highlights",
   "time_label_less_than_minute": "<1ನಿ",
   "time_label_minute": "{number}ನಿ",
   "time_label_hour": "{number}ಗ",
   "time_label_day": "{number}ದಿ",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "ಹೊಸ ಹಾಳೆಯ ಪುಟವನ್ನು ಅಗತ್ಯಾನುಗುಣಗೊಳಿಸಿ",
   "settings_pane_header": "ಹೊಸ ಹಾಳೆಯ ಆದ್ಯತೆಗಳು",
   "settings_pane_body2": "ನೀವು ಈ ಪುಟದಲ್ಲಿ ಏನು ನೋಡಿತ್ತೀರೆಂದು ಆಯ್ಕೆಮಾಡಿ.",
   "settings_pane_search_header": "ಹುಡುಕು",
   "settings_pane_search_body": "ಹೊಸ ಹಾಳೆಯಿಂದ ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ.",
   "settings_pane_topsites_header": "ಪ್ರಮುಖ ತಾಣಗಳು",
   "settings_pane_topsites_body": "ನೀವು ಅತಿ ಹೆಚ್ಚು ನೋಡುವ ಜಾಲತಾಣಗಳಿಗೆ ಪ್ರವೇಶದ್ವಾರ.",
   "settings_pane_topsites_options_showmore": "ಎರಡು ಸಾಲುಗಳನ್ನು ಪ್ರದರ್ಶಿಸು",
   "settings_pane_bookmarks_header": "ಇತ್ತೀಚಿನ ಪುಟಗುರುತುಗಳು",
-  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
   "settings_pane_visit_again_header": "ಮತ್ತೆ ಭೇಟಿಕೊಡು",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "ಮುಖ್ಯಾಂಶಗಳು",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "ಪುಟಗುರುತುಗಳು",
   "settings_pane_highlights_options_visited": "ಭೇಟಿ ನೀಡಿದ ತಾಣಗಳು",
   "settings_pane_snippets_header": "ಉಲ್ಲೇಖಗಳು",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "ಆಯಿತು",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "‍ತಿದ್ದು",
-  "edit_topsites_button_label": "Customize your Top Sites section",
-  "edit_topsites_showmore_button": "‍ಹೆಚ್ಚು ತೋರಿಸು",
-  "edit_topsites_showless_button": "ಕೆಲವೊಂದು ತೋರಿಸಿ",
-  "edit_topsites_done_button": "ಆಯಿತು",
-  "edit_topsites_pin_button": "ಈ ತಾಣವನ್ನು ಪಿನ್ ಮಾಡು",
-  "edit_topsites_unpin_button": "ಈ ತಾಣವನ್ನು ಹೊರತೆಗೆ",
   "edit_topsites_edit_button": "ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು",
-  "edit_topsites_dismiss_button": "ಈ ತಾಣವನ್ನು ತೆಗೆದುಹಾಕು",
-  "edit_topsites_add_button": "ಸೇರಿಸು",
   "topsites_form_add_header": "ಹೊಸ ಅಗ್ರ ತಾಣಗಳು",
   "topsites_form_edit_header": "ಅಗ್ರ ತಾಣಗಳನ್ನು ಸಂಪಾದಿಸಿ",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "ಶೀರ್ಷಿಕೆಯನ್ನು ನಮೂದಿಸಿ",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "ಒಂದು URL ಅನ್ನು ಟೈಪಿಸಿ ಅಥವಾ ನಕಲಿಸಿ",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "ಸೇರಿಸು",
   "topsites_form_save_button": "ಉಳಿಸು",
   "topsites_form_cancel_button": "ರದ್ದು ಮಾಡು",
   "topsites_form_url_validation": "ಸರಿಯಾದ URL ಬೇಕಾಗಿದೆ",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "ಜನಪ್ರಿಯವಾದ ವಿಷಯಗಳು:",
   "pocket_read_even_more": "ಹೆಚ್ಚು ಕತೆಗಳನ್ನು ನೋಡಿರಿ",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "ವೀಕ್ಷಣೆ ಮಾಡಲು ಶುರುಮಾಡಿ, ಮತ್ತು ನಾವು ಇತ್ತೀಚೆಗೆ ಭೇಟಿ ನೀಡಿದ ಅಥವಾ ಬುಕ್‌ಮಾರ್ಕ್ ಮಾಡಲಾದ ಕೆಲವು ಶ್ರೇಷ್ಠ ಲೇಖನಗಳು, ವೀಡಿಯೊಗಳು ಮತ್ತು ಇತರ ಪುಟಗಳನ್ನು ನಾವು ತೋರಿಸುತ್ತೇವೆ.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "ಪರವಾಗಿಲ್ಲ",
   "manual_migration_import_button": "ಈಗ ಆಮದು ಮಾಡು",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "ಮಾಹಿತಿ",
+  "section_info_privacy_notice": "ಗೌಪ್ಯತಾ ಸೂಚನೆ",
+  "edit_topsites_showmore_button": "‍ಹೆಚ್ಚು ತೋರಿಸು",
+  "edit_topsites_showless_button": "ಕೆಲವೊಂದು ತೋರಿಸಿ",
+  "edit_topsites_done_button": "ಆಯಿತು",
+  "edit_topsites_pin_button": "ಈ ತಾಣವನ್ನು ಪಿನ್ ಮಾಡು",
+  "edit_topsites_unpin_button": "ಈ ತಾಣವನ್ನು ಹೊರತೆಗೆ",
+  "edit_topsites_dismiss_button": "ಈ ತಾಣವನ್ನು ತೆಗೆದುಹಾಕು",
+  "edit_topsites_add_button": "ಸೇರಿಸು"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>새 탭</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>웹 검색</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="웹 검색" title="웹 검색"/><button id="searchSubmit" class="search-button" title="검색"><span class="sr-only"><span>검색</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>상위 사이트<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 추천</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>인기 주제:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>하이라이트</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>웹 검색</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="웹 검색" title="웹 검색"/><button id="searchSubmit" class="search-button" title="검색"><span class="sr-only"><span>검색</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>상위 사이트<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 추천</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>인기 주제:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>하이라이트</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket에 저장",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "다음에서 {search_term} 검색:",
   "search_button": "검색",
   "search_header": "{search_engine_name} 검색",
   "search_web_placeholder": "웹 검색",
   "search_settings": "검색 설정 바꾸기",
-  "section_info_option": "정보",
   "section_info_send_feedback": "의견 보내기",
-  "section_info_privacy_notice": "개인 정보 보호 정책",
   "section_disclaimer_topstories": "Pocket을 통해서 사용자가 읽은 글을 기반으로 가장 재미있는 글을 찾아주는 글들을 읽어보세요. 이제 Mozilla와 함께 합니다.",
   "section_disclaimer_topstories_linktext": "어떻게 작동 하는지 알아봅시다.",
   "section_disclaimer_topstories_buttontext": "알겠습니다.",
   "welcome_title": "새 탭을 소개합니다",
   "welcome_body": "최근에 방문한 관련있는 즐겨찾기나 글, 동영상, 페이지를 Firefox가 여기에 표시해서 쉽게 다시 찾아볼 수 있게 할 것입니다.",
   "welcome_label": "하이라이트 확인",
   "time_label_less_than_minute": "<1분",
   "time_label_minute": "{number}분",
   "time_label_hour": "{number}시",
   "time_label_day": "{number}일",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "새 탭 페이지 꾸미기",
   "settings_pane_header": "새 탭 설정",
   "settings_pane_body2": "이 페이지에서 볼 것을 선택하세요.",
   "settings_pane_search_header": "검색",
   "settings_pane_search_body": "새 탭에서 웹을 검색하세요.",
   "settings_pane_topsites_header": "상위 사이트",
   "settings_pane_topsites_body": "가장 많이 방문한 웹 사이트에 접근하세요.",
   "settings_pane_topsites_options_showmore": "두 줄로 보기",
   "settings_pane_bookmarks_header": "최근 북마크",
-  "settings_pane_bookmarks_body": "최근 북마크가 편리하게 한 곳에 나타납니다.",
   "settings_pane_visit_again_header": "다시 방문",
-  "settings_pane_visit_again_body": "Firefox가 사용자가 기억하거나 다시 보고 싶어하는 검색 기록의 일부를 보여줍니다.",
   "settings_pane_highlights_header": "하이라이트",
   "settings_pane_highlights_body2": "최근에 방문했거나 북마크한 흥미로운 것들로 돌아갈 수 있는 방법입니다.",
   "settings_pane_highlights_options_bookmarks": "즐겨찾기",
   "settings_pane_highlights_options_visited": "방문한 사이트",
   "settings_pane_snippets_header": "짧은 요약",
   "settings_pane_snippets_body": "Mozilla, Firefox, 인터넷 문화나 가끔 무작위 밈에 대해서 읽어보세요.",
   "settings_pane_done_button": "완료",
   "settings_pane_topstories_options_sponsored": "후원된 스토리",
   "edit_topsites_button_text": "수정",
-  "edit_topsites_button_label": "상위 사이트 영역 꾸미기",
-  "edit_topsites_showmore_button": "더보기",
-  "edit_topsites_showless_button": "줄이기",
-  "edit_topsites_done_button": "완료",
-  "edit_topsites_pin_button": "이 사이트 고정",
-  "edit_topsites_unpin_button": "이 사이트 고정 취소",
   "edit_topsites_edit_button": "이 사이트 수정",
-  "edit_topsites_dismiss_button": "이 사이트 제거",
-  "edit_topsites_add_button": "추가",
   "topsites_form_add_header": "새로운 인기 사이트",
   "topsites_form_edit_header": "인기 사이트 편집",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "제목 입력",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "URL 입력 또는 붙여 넣기",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "추가",
   "topsites_form_save_button": "저장",
   "topsites_form_cancel_button": "취소",
   "topsites_form_url_validation": "유효한 URL이 필요합니다",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "인기 주제:",
   "pocket_read_even_more": "더 많은 이야기 보기",
-  "pocket_feedback_header": "2천 5백만 명에 의해 추천되는 최고의 웹입니다.",
   "pocket_description": "Mozilla와 하나가 된 Pocket의 도움으로 놓칠지도 모르는 고품질의 컨텐츠를 접해보세요.",
   "highlights_empty_state": "브라우징을 시작하면 최근 방문하거나 북마크한 좋은 글이나 영상, 페이지를 여기에 보여줍니다.",
   "topstories_empty_state": "다 왔습니다. {provider}에서 제공하는 주요 기사를 다시 확인해 보세요. 기다릴 수가 없나요? 주제를 선택하면 웹에서 볼 수 있는 가장 재미있는 글을 볼 수 있습니다.",
   "manual_migration_explanation2": "다른 브라우저에 있는 북마크, 기록, 비밀번호를 사용해 Firefox를 이용해 보세요.",
   "manual_migration_cancel_button": "괜찮습니다",
   "manual_migration_import_button": "지금 가져오기",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "정보",
+  "section_info_privacy_notice": "개인 정보 보호 정책",
+  "settings_pane_bookmarks_body": "최근 북마크가 편리하게 한 곳에 나타납니다.",
+  "settings_pane_visit_again_body": "Firefox가 사용자가 기억하거나 다시 보고 싶어하는 검색 기록의 일부를 보여줍니다.",
+  "edit_topsites_button_label": "상위 사이트 영역 꾸미기",
+  "edit_topsites_showmore_button": "더보기",
+  "edit_topsites_showless_button": "줄이기",
+  "edit_topsites_done_button": "완료",
+  "edit_topsites_pin_button": "이 사이트 고정",
+  "edit_topsites_unpin_button": "이 사이트 고정 취소",
+  "edit_topsites_dismiss_button": "이 사이트 제거",
+  "edit_topsites_add_button": "추가",
+  "pocket_feedback_header": "2천 5백만 명에 의해 추천되는 최고의 웹입니다."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Neuvo Feuggio</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Çerca inta Ræ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Çerca inta Ræ" title="Çerca inta Ræ"/><button id="searchSubmit" class="search-button" title="Çerca"><span class="sr-only"><span>Çerca</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>I megio sciti<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidensa</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Çerca inta Ræ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Çerca inta Ræ" title="Çerca inta Ræ"/><button id="searchSubmit" class="search-button" title="Çerca"><span class="sr-only"><span>Çerca</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>I megio sciti<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidensa</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-strings.js
@@ -35,72 +35,74 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Save to Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Çerca {search_term} con:",
   "search_button": "Çerca",
   "search_header": "Riçerca {search_engine_name}",
   "search_web_placeholder": "Çerca inta Ræ",
   "search_settings": "Cangia inpostaçioin de riçerca",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Send Feedback",
-  "section_info_privacy_notice": "Privacy Notice",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "Benvegnuo into neuvo feuggio",
   "welcome_body": "Firefox o deuviâ sto spaçio pe mostrâ i elementi ciù scignificativi, comme segnalibbri, articoli, video e pagine vixitatæ da pöco in sa, in mòddo che segian de longo ciù façili da razonze.",
   "welcome_label": "Identificaçion elementi in evidensa",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Personalizza a teu pagina Neuvo feuggio",
   "settings_pane_header": "Preferense neuvo feuggio",
   "settings_pane_body2": "Choose what you see on this page.",
   "settings_pane_search_header": "Çerca",
   "settings_pane_search_body": "Çerca inta Ræ da-o teu neuvo feuggio.",
   "settings_pane_topsites_header": "I megio sciti",
   "settings_pane_topsites_body": "Acedi a-i sciti che ti vixiti ciù de spesso.",
   "settings_pane_topsites_options_showmore": "Fanni vedde doe righe",
   "settings_pane_bookmarks_header": "Recent Bookmarks",
-  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
   "settings_pane_visit_again_header": "Visit Again",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "In evidensa",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "Bookmarks",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Fæto",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "Cangia",
-  "edit_topsites_button_label": "Personalizza a seçion I Megio Sciti",
-  "edit_topsites_showmore_button": "Fanni vedde de ciù",
-  "edit_topsites_showless_button": "Fanni vedde de meno",
-  "edit_topsites_done_button": "Fæto",
-  "edit_topsites_pin_button": "Azonzi sto scito",
-  "edit_topsites_unpin_button": "Unpin this site",
   "edit_topsites_edit_button": "Cangia sto scito",
-  "edit_topsites_dismiss_button": "Ignòra sto scito",
-  "edit_topsites_add_button": "Add",
   "topsites_form_add_header": "New Top Site",
   "topsites_form_edit_header": "Edit Top Site",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Enter a title",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Type or paste a URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Add",
   "topsites_form_save_button": "Save",
   "topsites_form_cancel_button": "Cancel",
   "topsites_form_url_validation": "Valid URL required",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Popular Topics:",
   "pocket_read_even_more": "View More Stories",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
@@ -108,10 +110,16 @@ window.gActivityStreamStrings = {
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
   "settings_pane_body": "Çerni cöse ti veu vedde quande t'arvi 'n neuvo feuggio.",
-  "settings_pane_highlights_body": "Veddi i elementi ciù neuvi inta stöia e i urtimi segnalibbri creæ."
+  "settings_pane_highlights_body": "Veddi i elementi ciù neuvi inta stöia e i urtimi segnalibbri creæ.",
+  "edit_topsites_button_label": "Personalizza a seçion I Megio Sciti",
+  "edit_topsites_showmore_button": "Fanni vedde de ciù",
+  "edit_topsites_showless_button": "Fanni vedde de meno",
+  "edit_topsites_done_button": "Fæto",
+  "edit_topsites_pin_button": "Azonzi sto scito",
+  "edit_topsites_dismiss_button": "Ignòra sto scito"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>ແທັບໃຫມ່</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ຄົ້ນຫາເວັບ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ຄົ້ນຫາເວັບ" title="ຄົ້ນຫາເວັບ"/><button id="searchSubmit" class="search-button" title="ຊອກ​ຫາ"><span class="sr-only"><span>ຊອກ​ຫາ</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ເວັບໄຊຕ໌ຍອດນິຍົມ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ຫົວຂໍ້ຍອດນິຍົມ:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ລາຍການເດັ່ນ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ຄົ້ນຫາເວັບ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ຄົ້ນຫາເວັບ" title="ຄົ້ນຫາເວັບ"/><button id="searchSubmit" class="search-button" title="ຊອກ​ຫາ"><span class="sr-only"><span>ຊອກ​ຫາ</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ເວັບໄຊຕ໌ຍອດນິຍົມ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ຫົວຂໍ້ຍອດນິຍົມ:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ລາຍການເດັ່ນ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-strings.js
@@ -35,81 +35,89 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "ບັນທືກໄປທີ່ Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "ຄົ້ນຫາສໍາລັບ {search_term} ດ້ວຍ:",
   "search_button": "ຊອກ​ຫາ",
   "search_header": "ຄົ້ນຫາ {search_engine_name}",
   "search_web_placeholder": "ຄົ້ນຫາເວັບ",
   "search_settings": "ປ່ຽນການຕັ້ງຄ່າການຄົ້ນຫາ",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Send Feedback",
-  "section_info_privacy_notice": "Privacy Notice",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "ຍິນດີຕອນຮັບເຂົ້າສູ່ແຖບໃຫມ່",
   "welcome_body": "Firefox ຈະໃຊ້ພື້ນທີ່ນີ້ເພື່ອສະແດງໃຫ້ເຫັນບຸກມາກທີ່ກ່ຽວຂ້ອງທີ່ສຸດຂອງທ່ານ, ບົດຄວາມ, ວິດີໂອ, ແລະ ຫນ້າທີ່ທ່ານຫາກາໄດ້ເຂົ້າໄປເບິງ, ສະນັ້ນທ່ານຈຶ່ງສາມາດກັບໄປເບິງຄືນອີກໄດ້ຢ່າງງ່າຍດາຍ.",
   "welcome_label": "ກໍາລັງລະບຸລາຍການເດັ່ນຂອງທ່ານ",
   "time_label_less_than_minute": "<1 ນາທີ",
   "time_label_minute": "{number} ນາທີ",
   "time_label_hour": "{number} ຊົ່ວໂມງ",
   "time_label_day": "{number} ມື້",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "ປັບແຕ່ງຫນ້າແທັບໃຫມ່ຂອງທ່ານ",
   "settings_pane_header": "ການຕັ້ງຄ່າແທັບໃຫມ່",
   "settings_pane_body2": "Choose what you see on this page.",
   "settings_pane_search_header": "ຊອກຫາ",
   "settings_pane_search_body": "ຊອກຫາເວັບຈາກແທັບໃຫມ່ຂອງທ່ານ.",
   "settings_pane_topsites_header": "ເວັບໄຊທ໌ຍອດນິຍົມ",
   "settings_pane_topsites_body": "ເຂົ້າເວັບໄຊທ໌ທີ່ທ່ານໄດ້ເຂົ້າໄປຫລາຍທີ່ສຸດ.",
   "settings_pane_topsites_options_showmore": "ສະແດງເປັນສອງແຖວ",
   "settings_pane_bookmarks_header": "Recent Bookmarks",
-  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
   "settings_pane_visit_again_header": "Visit Again",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "ຈຸດເດັ່ນ",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "Bookmarks",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_header": "ສ່ວນຍ່ອຍ",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "ສຳເລັດ",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "ແກ້ໄຂ",
-  "edit_topsites_button_label": "ປັບແຕ່ງພາກສ່ວນເວັບໄຊທ໌ຍອດນິຍົມຂອງທ່ານ",
-  "edit_topsites_showmore_button": "ສະແດງເພີ່ມເຕີມ",
-  "edit_topsites_showless_button": "ສະແດງນ້ອຍລົງ",
-  "edit_topsites_done_button": "ສຳເລັດ",
-  "edit_topsites_pin_button": "Pin ເວັບໄຊທ໌ນີ້",
-  "edit_topsites_unpin_button": "Unpin this site",
   "edit_topsites_edit_button": "ແກ້ໄຂເວັບໄຊທ໌ນີ້",
-  "edit_topsites_dismiss_button": "ຍົກເລີກເວັບໄຊທ໌ນີ້",
-  "edit_topsites_add_button": "Add",
   "topsites_form_add_header": "New Top Site",
   "topsites_form_edit_header": "Edit Top Site",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "ປ້ອນຊື່ເລື່ອງ",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Type or paste a URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "ເພີ່ມ",
   "topsites_form_save_button": "ບັນທຶກ",
   "topsites_form_cancel_button": "ຍົກເລີກ",
   "topsites_form_url_validation": "Valid URL required",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "ຫົວຂໍ້ຍອດນິຍົມ:",
   "pocket_read_even_more": "View More Stories",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "ບໍ່, ຂອບໃຈ",
   "manual_migration_import_button": "ນຳເຂົ້າຕອນນີ້",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "edit_topsites_button_label": "ປັບແຕ່ງພາກສ່ວນເວັບໄຊທ໌ຍອດນິຍົມຂອງທ່ານ",
+  "edit_topsites_showmore_button": "ສະແດງເພີ່ມເຕີມ",
+  "edit_topsites_showless_button": "ສະແດງນ້ອຍລົງ",
+  "edit_topsites_done_button": "ສຳເລັດ",
+  "edit_topsites_pin_button": "Pin ເວັບໄຊທ໌ນີ້",
+  "edit_topsites_dismiss_button": "ຍົກເລີກເວັບໄຊທ໌ນີ້"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nauja kortelė</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Ieškokite saityne</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Ieškokite saityne" title="Ieškokite saityne"/><button id="searchSubmit" class="search-button" title="Ieškoti"><span class="sr-only"><span>Ieškoti</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Lankomiausios svetainės<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomendavo „Pocket“</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populiarios temos:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Akcentai</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Ieškokite saityne</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Ieškokite saityne" title="Ieškokite saityne"/><button id="searchSubmit" class="search-button" title="Ieškoti"><span class="sr-only"><span>Ieškoti</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Lankomiausios svetainės<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atverti skilties kontekstinį meniu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomendavo „Pocket“</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atverti skilties kontekstinį meniu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populiarios temos:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Akcentai</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atverti skilties kontekstinį meniu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Populiariausi straipsniai",
   "header_highlights": "Akcentai",
   "header_visit_again": "Aplankykite vėl",
   "header_bookmarks": "Paskiausi adresyno įrašai",
   "header_recommended_by": "Rekomendavo „{provider}“",
   "header_bookmarks_placeholder": "Jūs dar neturite adresyno įrašų.",
   "header_stories_from": "iš",
   "context_menu_button_sr": "Atverti kontekstinį {title} meniu",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Atverti skilties kontekstinį meniu",
   "type_label_visited": "Aplankyti",
   "type_label_bookmarked": "Adresyne",
   "type_label_synced": "Sinchronizuoti iš kito įrenginio",
   "type_label_recommended": "Populiaru",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Įrašyta į „Pocket“",
   "type_label_open": "Atviri",
   "type_label_topic": "Tema",
   "type_label_now": "Dabar",
   "menu_action_bookmark": "Įrašyti į adresyną",
   "menu_action_remove_bookmark": "Pašalinti iš adresyno",
   "menu_action_copy_address": "Kopijuoti adresą",
   "menu_action_email_link": "Siųsti saitą el. paštu…",
   "menu_action_open_new_window": "Atverti naujame lange",
   "menu_action_open_private_window": "Atverti naujame privačiajame lange",
   "menu_action_dismiss": "Paslėpti",
   "menu_action_delete": "Pašalinti iš istorijos",
   "menu_action_pin": "Įsegti",
   "menu_action_unpin": "Išsegti",
   "confirm_history_delete_p1": "Ar tikrai norite pašalinti visus šio tinklalapio įrašus iš savo naršymo žurnalo?",
   "confirm_history_delete_notice_p2": "Atlikus šį veiksmą, jo atšaukti neįmanoma.",
   "menu_action_save_to_pocket": "Įrašyti į „Pocket“",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Trinti iš „Pocket“",
+  "menu_action_archive_pocket": "Archyvuoti per „Pocket“",
   "search_for_something_with": "Ieškoti „{search_term}“ per:",
   "search_button": "Ieškoti",
   "search_header": "{search_engine_name} paieška",
   "search_web_placeholder": "Ieškokite saityne",
   "search_settings": "Keisti paieškos nuostatas",
-  "section_info_option": "Informacija",
   "section_info_send_feedback": "Siųsti atsiliepimą",
-  "section_info_privacy_notice": "Privatumo nuostatai",
   "section_disclaimer_topstories": "Įdomiausi saityno straipsniai, parinkti pagal jūsų skaitymo įpročius. Iš „Pocket“, kuri dabar priklauso „Mozillai“.",
   "section_disclaimer_topstories_linktext": "Sužinokite, kaip tai veikia.",
   "section_disclaimer_topstories_buttontext": "Gerai, supratau",
   "welcome_title": "Sveiki, čia nauja kortelė",
   "welcome_body": "„Firefox“ naudos šią vietą jums aktualiausių adresyno įrašų, straipsnių, vaizdo įrašų bei neseniai lankytų tinklalapių rodymui, kad galėtumėte lengvai į juos sugrįžti.",
   "welcome_label": "Nustatomi jūsų akcentai",
   "time_label_less_than_minute": "<1 min.",
   "time_label_minute": "{number} min.",
   "time_label_hour": "{number} val.",
   "time_label_day": "{number} d.",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Tinkinkite savo naujos kortelės puslapį",
   "settings_pane_header": "Naujos kortelės nuostatos",
   "settings_pane_body2": "Pasirinkite, ką matysite šiame tinklalapyje.",
   "settings_pane_search_header": "Paieška",
   "settings_pane_search_body": "Ieškokite saityne tiesiai iš naujos kortelės.",
   "settings_pane_topsites_header": "Lankomiausios svetainės",
   "settings_pane_topsites_body": "Pasiekite jūsų dažniausiai lankomas svetaines.",
   "settings_pane_topsites_options_showmore": "Rodyti dvi eilutes",
   "settings_pane_bookmarks_header": "Paskiausi adresyno įrašai",
-  "settings_pane_bookmarks_body": "Jūsų naujai sukurti adresyno įrašai vienoje vietoje.",
   "settings_pane_visit_again_header": "Aplankykite vėl",
-  "settings_pane_visit_again_body": "„Firefox“ pateiks ištraukas iš jūsų naršymo žurnalo, kurias galbūt norėtumėte prisiminti.",
   "settings_pane_highlights_header": "Akcentai",
   "settings_pane_highlights_body2": "Sugrįžkite prie įdomių dalykų, kuriuose neseniai lankėtės ar įtraukėte į adresyną.",
   "settings_pane_highlights_options_bookmarks": "Adresynas",
   "settings_pane_highlights_options_visited": "Aplankytos svetainės",
   "settings_pane_snippets_header": "Iškarpos",
   "settings_pane_snippets_body": "Skaitykite trumpas ir mielas naujienas iš „Mozillos“ apie „Firefox“, interneto kultūrą bei atsitiktinį memą.",
   "settings_pane_done_button": "Atlikta",
   "settings_pane_topstories_options_sponsored": "Rodyti rėmėjų straipsnius",
   "edit_topsites_button_text": "Keisti",
+  "edit_topsites_edit_button": "Redaguoti šią svetainę",
+  "topsites_form_add_header": "Nauja mėgstama svetainė",
+  "topsites_form_edit_header": "Redaguoti mėgstamą svetainę",
+  "topsites_form_title_label": "Pavadinimas",
+  "topsites_form_title_placeholder": "Įveskite pavadinimą",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
+  "topsites_form_url_placeholder": "Įveskite arba įklijuokite URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
+  "topsites_form_add_button": "Pridėti",
+  "topsites_form_save_button": "Įrašyti",
+  "topsites_form_cancel_button": "Atsisakyti",
+  "topsites_form_url_validation": "Reikalingas tinkamas URL",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
+  "pocket_read_more": "Populiarios temos:",
+  "pocket_read_even_more": "Rodyti daugiau straipsnių",
+  "pocket_description": "Atraskite kokybišką turinį, kurio kitaip galbūt nerastumėte, su „Pocket“, kuri yra tapusi „Mozillos“ dalimi, pagalba.",
+  "highlights_empty_state": "Pradėkite naršyti, o mes čia pateiksime puikių straipsnių, vaizdo įrašų bei kitų tinklalapių, kuriuose neseniai lankėtės ar įtraukėte į adresyną.",
+  "topstories_empty_state": "Viską perskaitėte. Užsukite vėliau, norėdami rasti daugiau gerų straipsnių iš „{provider}“. Nekantraujate? Pasirinkite populiarią temą, norėdami rasti daugiau puikių straipsnių saityne.",
+  "manual_migration_explanation2": "Išbandykite „Firefox“ su adresynu, žurnalu bei slaptažodžiais iš kitos naršyklės.",
+  "manual_migration_cancel_button": "Ačiū, ne",
+  "manual_migration_import_button": "Importuoti dabar",
+  "error_fallback_default_info": "Ups, įkeliant šį turinį įvyko klaida.",
+  "error_fallback_default_refresh_suggestion": "Pabandykite iš naujo įkelti tinklalapį.",
+  "section_menu_action_remove_section": "Pašalinti skiltį",
+  "section_menu_action_collapse_section": "Suskleisti skiltį",
+  "section_menu_action_expand_section": "Išplėsti skiltį",
+  "section_menu_action_manage_section": "Tvarkyti skiltį",
+  "section_menu_action_add_topsite": "Pridėti lankomą svetainę",
+  "section_menu_action_move_up": "Pakelti",
+  "section_menu_action_move_down": "Nuleisti",
+  "section_menu_action_privacy_notice": "Privatumo nuostatai",
+  "section_info_option": "Informacija",
+  "section_info_privacy_notice": "Privatumo nuostatai",
+  "settings_pane_bookmarks_body": "Jūsų naujai sukurti adresyno įrašai vienoje vietoje.",
+  "settings_pane_visit_again_body": "„Firefox“ pateiks ištraukas iš jūsų naršymo žurnalo, kurias galbūt norėtumėte prisiminti.",
   "edit_topsites_button_label": "Tinkinkite savo lankomiausių svetainių skiltį",
   "edit_topsites_showmore_button": "Rodyti daugiau",
   "edit_topsites_showless_button": "Rodyti mažiau",
   "edit_topsites_done_button": "Atlikta",
   "edit_topsites_pin_button": "Įsegti šią svetainę",
   "edit_topsites_unpin_button": "Išsegti šią svetainę",
-  "edit_topsites_edit_button": "Redaguoti šią svetainę",
   "edit_topsites_dismiss_button": "Paslėpti šią svetainę",
   "edit_topsites_add_button": "Pridėti",
-  "topsites_form_add_header": "Nauja mėgstama svetainė",
-  "topsites_form_edit_header": "Redaguoti mėgstamą svetainę",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Įveskite pavadinimą",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Įveskite arba įklijuokite URL",
-  "topsites_form_add_button": "Pridėti",
-  "topsites_form_save_button": "Įrašyti",
-  "topsites_form_cancel_button": "Atsisakyti",
-  "topsites_form_url_validation": "Reikalingas tinkamas URL",
-  "pocket_read_more": "Populiarios temos:",
-  "pocket_read_even_more": "Rodyti daugiau straipsnių",
-  "pocket_feedback_header": "Geriausi dalykai internete, kuruojami daugiau nei 25 milijonų žmonių.",
-  "pocket_description": "Atraskite kokybišką turinį, kurio kitaip galbūt nerastumėte, su „Pocket“, kuri yra tapusi „Mozillos“ dalimi, pagalba.",
-  "highlights_empty_state": "Pradėkite naršyti, o mes čia pateiksime puikių straipsnių, vaizdo įrašų bei kitų tinklalapių, kuriuose neseniai lankėtės ar įtraukėte į adresyną.",
-  "topstories_empty_state": "Viską perskaitėte. Užsukite vėliau, norėdami rasti daugiau gerų straipsnių iš „{provider}“. Nekantraujate? Pasirinkite populiarią temą, norėdami rasti daugiau puikių straipsnių saityne.",
-  "manual_migration_explanation2": "Išbandykite „Firefox“ su adresynu, žurnalu bei slaptažodžiais iš kitos naršyklės.",
-  "manual_migration_cancel_button": "Ačiū, ne",
-  "manual_migration_import_button": "Importuoti dabar",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Pridėti mėgstamą svetainę"
+  "pocket_feedback_header": "Geriausi dalykai internete, kuruojami daugiau nei 25 milijonų žmonių."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Jauna cilne</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mekleit teiklā</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mekleit teiklā" title="Mekleit teiklā"/><button id="searchSubmit" class="search-button" title="Mekleit"><span class="sr-only"><span>Mekleit</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Popularōkōs lopys<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket īsaceitōs</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularas tēmas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Izraudzeitī</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mekleit teiklā</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mekleit teiklā" title="Mekleit teiklā"/><button id="searchSubmit" class="search-button" title="Mekleit"><span class="sr-only"><span>Mekleit</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Popularōkōs lopys<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket īsaceitōs</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularas tēmas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Izraudzeitī</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Saglobōt Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Mekleit {search_term} ar:",
   "search_button": "Mekleit",
   "search_header": "{search_engine_name} mekliešona",
   "search_web_placeholder": "Mekleit teiklā",
   "search_settings": "Maineit mekliešonys īstatiejumus",
-  "section_info_option": "Informaceja",
   "section_info_send_feedback": "Syutēt atsauksmi",
-  "section_info_privacy_notice": "Privatuma pīzeime",
   "section_disclaimer_topstories": "Pošas interesantōkōs ziņas, kas atlasietas saskaņā ar tū, kū tu esi lasiejs. Nu Poket, kas ņiuļa ir Mozilla daļa.",
   "section_disclaimer_topstories_linktext": "Uzzynoj, kai tys strōdoj.",
   "section_disclaimer_topstories_buttontext": "Skaidrs",
   "welcome_title": "Laipnai lyudzam jaunā cilnē",
   "welcome_body": "Firefox izmontōs itū vītu, kab rōdēt pīmārōtys grōmotzeimes, rokstus, lopys un video, kurys tu naseņ apsavieri, kab tu varātu vīgļi tōs apsavērt nu jauna.",
   "welcome_label": "Tovas izlases identifikaceja",
   "time_label_less_than_minute": "<1min.",
   "time_label_minute": "{number} min.",
   "time_label_hour": "{number} st.",
   "time_label_day": "{number} d.",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Īstateit sovu jaunas cilnes lopu",
   "settings_pane_header": "Jaunas cilnes īstatiejumi",
   "settings_pane_body2": "Izaraugi, kū gribi redzēt itymā lopā.",
   "settings_pane_search_header": "Mekleit",
   "settings_pane_search_body": "Mekleit škārsteiklā nu jaunas cilnes.",
   "settings_pane_topsites_header": "Top lopys",
   "settings_pane_topsites_body": "Sajam pīeju lopom, kuras apskoti vysvaira.",
   "settings_pane_topsites_options_showmore": "Divejōs rindōs",
   "settings_pane_bookmarks_header": "Naseņ saglobōtōs",
-  "settings_pane_bookmarks_body": "Tovas jaunōs grōmotzeimes ārtā vītā.",
   "settings_pane_visit_again_header": "Apsavērt nu jauna",
-  "settings_pane_visit_again_body": "Firefox tev parōdēs porlyukōšonas viestures daļas, kuras, īspiejams, tu gribiesi apsavērt nu jauna.",
   "settings_pane_highlights_header": "Izraudzeitī",
   "settings_pane_highlights_body2": "Atrūņ īspieji acagrīzt pi interesantom lopom, kuras tu apsavieri voi īlyki grōmotzeimēs.",
   "settings_pane_highlights_options_bookmarks": "Grōmotzeimes",
   "settings_pane_highlights_options_visited": "Apsavārtys lopys",
   "settings_pane_snippets_header": "Pīzeimes",
   "settings_pane_snippets_body": "Losi eisas un jaukas ziņas nu Mozilla par Firefox, interneta kulturu un najaušas memes.",
   "settings_pane_done_button": "Gotovs",
   "settings_pane_topstories_options_sponsored": "Rōdēt apmoksōtas ziņas",
   "edit_topsites_button_text": "Redigeit",
-  "edit_topsites_button_label": "Īstoti sovu top lopu sadaļu",
-  "edit_topsites_showmore_button": "Rōdeit vaira",
-  "edit_topsites_showless_button": "Rōdēt mozōk",
-  "edit_topsites_done_button": "Gotovs",
-  "edit_topsites_pin_button": "Daspraust lopu",
-  "edit_topsites_unpin_button": "Atbreivōt lopu",
   "edit_topsites_edit_button": "Maineit lopu",
-  "edit_topsites_dismiss_button": "Paslēpt lopu",
-  "edit_topsites_add_button": "Pīvīnōt",
   "topsites_form_add_header": "Jauna lopa topā",
   "topsites_form_edit_header": "Maineit lopu topā",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Īvodi viersrokstu",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Īroksti voi īleimej lopas URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Pīvīnōt",
   "topsites_form_save_button": "Saglobōt",
   "topsites_form_cancel_button": "Atceļt",
   "topsites_form_url_validation": "Napīcīšams korekts URL",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Popularas tēmas:",
   "pocket_read_even_more": "Vaira rokstu",
-  "pocket_feedback_header": "Lobōkais nu interneta, kū atlasiejuši 25 miljoni ļaužu.",
   "pocket_description": "Atklōj sev kvalitativu , kuru tu cytaižōk palaissi garom, ar Pocket, kurais ņiuļa ir Mozilla sastōvā.",
   "highlights_empty_state": "Sōc porlyukōšonu un mes tev parōdēsim dažus breineigus rokstus, video un cytys lopys, kuras tu naseņ esi skatiejs voi davīnōjs grōmotzeimem.",
   "topstories_empty_state": "Esi vysu izlasiejs. Īej vāļōk, kab redzēt vaira ziņu nu {provider}. Nagribi gaidēt? Izavielej popularu tēmu, kab atrostu vaira interesantu rokstu nu vysa interneta.",
   "manual_migration_explanation2": "Paraugi Firefox ar grōmotzeimem, viesturi un parolem nu cyta porlyuka.",
   "manual_migration_cancel_button": "Nā, paļdis",
   "manual_migration_import_button": "Importeit",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Pīvīnōt pi popularōkōm lopom"
+  "section_info_option": "Informaceja",
+  "section_info_privacy_notice": "Privatuma pīzeime",
+  "settings_pane_bookmarks_body": "Tovas jaunōs grōmotzeimes ārtā vītā.",
+  "settings_pane_visit_again_body": "Firefox tev parōdēs porlyukōšonas viestures daļas, kuras, īspiejams, tu gribiesi apsavērt nu jauna.",
+  "edit_topsites_button_label": "Īstoti sovu top lopu sadaļu",
+  "edit_topsites_showmore_button": "Rōdeit vaira",
+  "edit_topsites_showless_button": "Rōdēt mozōk",
+  "edit_topsites_done_button": "Gotovs",
+  "edit_topsites_pin_button": "Daspraust lopu",
+  "edit_topsites_unpin_button": "Atbreivōt lopu",
+  "edit_topsites_dismiss_button": "Paslēpt lopu",
+  "edit_topsites_add_button": "Pīvīnōt",
+  "edit_topsites_add_button_tooltip": "Pīvīnōt pi popularōkōm lopom",
+  "pocket_feedback_header": "Lobōkais nu interneta, kū atlasiejuši 25 miljoni ļaužu."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Jauna cilne</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Meklēt internetā</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Meklēt internetā" title="Meklēt internetā"/><button id="searchSubmit" class="search-button" title="Meklēt"><span class="sr-only"><span>Meklēt</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Populārākās lapas<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Iesaka Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populārās tēmas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Aktualitātes</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Meklēt internetā</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Meklēt internetā" title="Meklēt internetā"/><button id="searchSubmit" class="search-button" title="Meklēt"><span class="sr-only"><span>Meklēt</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Populārākās lapas<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atvērt sadaļas izvēlni</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Iesaka Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atvērt sadaļas izvēlni</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populārās tēmas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Aktualitātes</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atvērt sadaļas izvēlni</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Populārākie stāsti",
   "header_highlights": "Aktualitātes",
   "header_visit_again": "Apmeklēt vēlreiz",
   "header_bookmarks": "Nesenās grāmatzīmes",
   "header_recommended_by": "Iesaka {provider}",
   "header_bookmarks_placeholder": "Jums vēl nav nevienas grāmatzīmes.",
   "header_stories_from": "no",
   "context_menu_button_sr": "Atvērt izvēlni {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Atvērt sadaļas izvēlni",
   "type_label_visited": "Apmeklēta",
   "type_label_bookmarked": "Grāmatzīmēs",
   "type_label_synced": "Atsūtīta no citas ierīces",
   "type_label_recommended": "Populāri",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Saglabāts Pocket",
   "type_label_open": "Atvērt",
   "type_label_topic": "Tēma",
   "type_label_now": "Tagad",
   "menu_action_bookmark": "Saglabāt",
   "menu_action_remove_bookmark": "Noņemt grāmatzīmi",
   "menu_action_copy_address": "Kopēt adresi",
   "menu_action_email_link": "Nosūtīt saiti…",
   "menu_action_open_new_window": "Atvērt saiti jaunā logā",
   "menu_action_open_private_window": "Atvērt saiti jaunā privātajā logā",
   "menu_action_dismiss": "Noraidīt",
   "menu_action_delete": "Dzēst no vēstures",
   "menu_action_pin": "Piespraust",
   "menu_action_unpin": "Atspraust",
   "confirm_history_delete_p1": "Vai tiešām vēlaties dzēst visas šīs lapas versijas no jūsu vēstures?",
   "confirm_history_delete_notice_p2": "Šī ir neatgriezeniska darbība.",
   "menu_action_save_to_pocket": "Saglabāt Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Dzēst no Pocket",
+  "menu_action_archive_pocket": "Arhivēt Pocket",
   "search_for_something_with": "Meklē {search_term} ar:",
   "search_button": "Meklēt",
   "search_header": "{search_engine_name} meklēšana",
   "search_web_placeholder": "Meklēt internetā",
   "search_settings": "Mainīt meklēšanas iestatījumus",
-  "section_info_option": "Informācija",
   "section_info_send_feedback": "Nosūtīt atsauksmi",
-  "section_info_privacy_notice": "Privātuma piezīme",
   "section_disclaimer_topstories": "Interesantākie stāsti internetā, atkasīti balstoties uz jūsu lasīto. No Pocket, kas tagad ir daļa no Mozilla.",
   "section_disclaimer_topstories_linktext": "Apskatiet kā tas strādā.",
   "section_disclaimer_topstories_buttontext": "Labi, sapratu",
   "welcome_title": "Laipni lūdzam jaunā cilnē",
   "welcome_body": "Firefox izmantos šo vietu, lai rādītu aktuālākās grāmatzīmes, rakstus un video, kā arī lapas, ko esat aplūkojuši iepriekš.",
   "welcome_label": "Meklē jūsu aktualitātes",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Pielāgojiet jaunās cilnes lapu",
   "settings_pane_header": "Jaunas cilnes iestatījumi",
   "settings_pane_body2": "Izvēlieties, ko gribat redzēt šajā lapā.",
   "settings_pane_search_header": "Meklēšana",
   "settings_pane_search_body": "Meklējiet tīmeklī no jaunās cilnes lapas.",
   "settings_pane_topsites_header": "Populārākās lapas",
   "settings_pane_topsites_body": "Ātri nokļūstiet biežāk apmeklētajās lapās.",
   "settings_pane_topsites_options_showmore": "Rādīt divas rindas",
   "settings_pane_bookmarks_header": "Nesenās grāmatzīmes",
-  "settings_pane_bookmarks_body": "Jaunākās grāmatzīmes vienā ērtā vietā.",
   "settings_pane_visit_again_header": "Apmeklēt vēlreiz",
-  "settings_pane_visit_again_body": "Firefox rādīs lapas no jūsu vēstures, ko jūs varētu gribēt apmeklēt vēlreiz.",
   "settings_pane_highlights_header": "Aktualitātes",
   "settings_pane_highlights_body2": "Atgriezieties interesantās vietās, kuras esat nesen apmeklējis vai saglabājis grāmatzīmēs.",
   "settings_pane_highlights_options_bookmarks": "Grāmatzīmes",
   "settings_pane_highlights_options_visited": "Apmeklētās lapas",
   "settings_pane_snippets_header": "Fragmenti",
   "settings_pane_snippets_body": "Lasiet īsas ziņas no Mozilla par Firefox, internetu un reizēm kādu memi.",
   "settings_pane_done_button": "Gatavs",
   "settings_pane_topstories_options_sponsored": "Rādīt sponsoru stāstus",
   "edit_topsites_button_text": "Rediģēt",
+  "edit_topsites_edit_button": "Rediģēt šo lapu",
+  "topsites_form_add_header": "Jauna populārā lapa",
+  "topsites_form_edit_header": "Rediģēt populārās lapas",
+  "topsites_form_title_label": "Virsraksts",
+  "topsites_form_title_placeholder": "Ievadiet nosaukumu",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
+  "topsites_form_url_placeholder": "Ievadiet vai iekopējiet adresi",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
+  "topsites_form_add_button": "Pievienot",
+  "topsites_form_save_button": "Saglabāt",
+  "topsites_form_cancel_button": "Atcelt",
+  "topsites_form_url_validation": "Nepieciešama derīga adrese",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
+  "pocket_read_more": "Populārās tēmas:",
+  "pocket_read_even_more": "Parādīt vairāk lapas",
+  "pocket_description": "Atklājiet augstas kvalitātes saturu, kas citādi paskrietu garām. Pakalpojumu nodrošina Pocket, kas tagad ir daļa no Mozilla.",
+  "highlights_empty_state": "Sāciet pārlūkošanu un mēs šeit parādīsim lieliskus rakstus, video un citas apmeklētās lapas.",
+  "topstories_empty_state": "Viss ir apskatīts! Atnāciet atpakaļ nedaudz vēlāk, lai redzētu populāros stāstus no {provider}. Nevarat sagaidīt? Izvēlieties kādu no tēmām jau tagad.",
+  "manual_migration_explanation2": "Izmēģiniet Firefox ar grāmatzīmēm, vēsturi un parolēm no cita pārlūka.",
+  "manual_migration_cancel_button": "Nē, paldies",
+  "manual_migration_import_button": "Importē tagad",
+  "error_fallback_default_info": "Ak vai, ielādējot saturu kaut kas nogājis greizi.",
+  "error_fallback_default_refresh_suggestion": "Pārlādējiet lapu, lai mēģinātu vēlreiz.",
+  "section_menu_action_remove_section": "Aizvākt sadaļu",
+  "section_menu_action_collapse_section": "Sakļaut sadaļu",
+  "section_menu_action_expand_section": "Izvērst sadaļu",
+  "section_menu_action_manage_section": "Pārvaldīt sadaļu",
+  "section_menu_action_add_topsite": "Pievienot populāru lapu",
+  "section_menu_action_move_up": "Pārvietot augšup",
+  "section_menu_action_move_down": "Pārvietot lejup",
+  "section_menu_action_privacy_notice": "Privātuma politika",
+  "section_info_option": "Informācija",
+  "section_info_privacy_notice": "Privātuma piezīme",
+  "settings_pane_bookmarks_body": "Jaunākās grāmatzīmes vienā ērtā vietā.",
+  "settings_pane_visit_again_body": "Firefox rādīs lapas no jūsu vēstures, ko jūs varētu gribēt apmeklēt vēlreiz.",
   "edit_topsites_button_label": "Pielāgot populārāko lapu sadaļu",
   "edit_topsites_showmore_button": "Rādīt vairāk",
   "edit_topsites_showless_button": "Rādīt mazāk",
   "edit_topsites_done_button": "Gatavs",
   "edit_topsites_pin_button": "Piespraust šo lapu",
   "edit_topsites_unpin_button": "Atbrīvot šo lapu",
-  "edit_topsites_edit_button": "Rediģēt šo lapu",
   "edit_topsites_dismiss_button": "Noraidīt šo lapu",
   "edit_topsites_add_button": "Pievienot",
-  "topsites_form_add_header": "Jauna populārā lapa",
-  "topsites_form_edit_header": "Rediģēt populārās lapas",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Ievadiet nosaukumu",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Ievadiet vai iekopējiet adresi",
-  "topsites_form_add_button": "Pievienot",
-  "topsites_form_save_button": "Saglabāt",
-  "topsites_form_cancel_button": "Atcelt",
-  "topsites_form_url_validation": "Nepieciešama derīga adrese",
-  "pocket_read_more": "Populārās tēmas:",
-  "pocket_read_even_more": "Parādīt vairāk lapas",
-  "pocket_feedback_header": "Labākais internetā, ko apkopo 25 miljoni cilvēku.",
-  "pocket_description": "Atklājiet augstas kvalitātes saturu, kas citādi paskrietu garām. Pakalpojumu nodrošina Pocket, kas tagad ir daļa no Mozilla.",
-  "highlights_empty_state": "Sāciet pārlūkošanu un mēs šeit parādīsim lieliskus rakstus, video un citas apmeklētās lapas.",
-  "topstories_empty_state": "Viss ir apskatīts! Atnāciet atpakaļ nedaudz vēlāk, lai redzētu populāros stāstus no {provider}. Nevarat sagaidīt? Izvēlieties kādu no tēmām jau tagad.",
-  "manual_migration_explanation2": "Izmēģiniet Firefox ar grāmatzīmēm, vēsturi un parolēm no cita pārlūka.",
-  "manual_migration_cancel_button": "Nē, paldies",
-  "manual_migration_import_button": "Importē tagad",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Pievienot populāru lapu"
+  "pocket_feedback_header": "Labākais internetā, ko apkopo 25 miljoni cilvēku."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Ново јазиче</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пребарајте на Интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пребарајте на Интернет" title="Пребарајте на Интернет"/><button id="searchSubmit" class="search-button" title="Барај"><span class="sr-only"><span>Барај</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Популарни мрежни места<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Препорачано од Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популарни теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Интереси</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пребарајте на Интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пребарајте на Интернет" title="Пребарајте на Интернет"/><button id="searchSubmit" class="search-button" title="Барај"><span class="sr-only"><span>Барај</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Популарни мрежни места<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Препорачано од Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популарни теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Интереси</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-strings.js
@@ -11,105 +11,120 @@ window.gActivityStreamStrings = {
   "header_bookmarks_placeholder": "Сѐ уште немате обележувачи.",
   "header_stories_from": "од",
   "context_menu_button_sr": "Open context menu for {title}",
   "section_context_menu_button_sr": "Open the section context menu",
   "type_label_visited": "Посетени",
   "type_label_bookmarked": "Обележани",
   "type_label_synced": "Синхронизирани од други уреди",
   "type_label_recommended": "Во тренд",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Снимено во Pocket",
   "type_label_open": "Отворени",
   "type_label_topic": "Тема",
   "type_label_now": "Сега",
   "menu_action_bookmark": "Обележувач",
   "menu_action_remove_bookmark": "Отстрани обележувач",
   "menu_action_copy_address": "Копирај адреса",
   "menu_action_email_link": "Испрати врска…",
   "menu_action_open_new_window": "Отвори во нов прозорец",
   "menu_action_open_private_window": "Отвори во нов приватен прозорец",
   "menu_action_dismiss": "Откажи",
   "menu_action_delete": "Избриши од историја",
   "menu_action_pin": "Прикачи",
   "menu_action_unpin": "Откачи",
   "confirm_history_delete_p1": "Дали сте сигурни дека сакате да ја избришете оваа страница отсекаде во вашата историја на прелистување?",
   "confirm_history_delete_notice_p2": "Ова дејство не може да се одврати.",
   "menu_action_save_to_pocket": "Зачувај во Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Избриши од Pocket",
+  "menu_action_archive_pocket": "Архивирај во Pocket",
   "search_for_something_with": "Пребарај за {search_term} со:",
   "search_button": "Барај",
   "search_header": "Пребарување со {search_engine_name}",
   "search_web_placeholder": "Пребарајте на Интернет",
   "search_settings": "Промени поставувања за пребарување",
-  "section_info_option": "Инфо",
   "section_info_send_feedback": "Испрати мислење",
-  "section_info_privacy_notice": "Белешка за приватност",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "Добредојдовте во новото јазиче",
   "welcome_body": "Firefox ќе го искористи овој простор за да Ви ги прикаже најрелевантните обележувачи, написи, видеа и страници што сте ги посетиле, за да можете лесно да им се навратите.",
   "welcome_label": "Ги откривам вашите Интереси",
   "time_label_less_than_minute": "< 1 м",
   "time_label_minute": "{number} м",
   "time_label_hour": "{number} ч",
   "time_label_day": "{number} д",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Прилагодете ја страницата на вашето Ново јазиче",
   "settings_pane_header": "Преференци за Ново јазиче",
   "settings_pane_body2": "Изберете што ќе гледате на оваа страница.",
   "settings_pane_search_header": "Пребарување",
   "settings_pane_search_body": "Пребарајте низ Интернет од вашето ново јазиче.",
   "settings_pane_topsites_header": "Популарни мрежни места",
   "settings_pane_topsites_body": "Пристапете до мрежните места што ги посетувате најмногу.",
   "settings_pane_topsites_options_showmore": "Прикажи два реда",
   "settings_pane_bookmarks_header": "Скорешни обележувачи",
-  "settings_pane_bookmarks_body": "Вашите нови обележувачи во едно згодно место.",
   "settings_pane_visit_again_header": "Посети повторно",
-  "settings_pane_visit_again_body": "Firefox ќе прикаже делови од вашата историја на прелистување кои можеби би сакале да ги запомните или пак да им се навратите.",
   "settings_pane_highlights_header": "Интереси",
   "settings_pane_highlights_body2": "Навратете се на интересни места што неодамна сте ги посетиле или обележале.",
   "settings_pane_highlights_options_bookmarks": "Обележувачи",
   "settings_pane_highlights_options_visited": "Посетени мрежни места",
   "settings_pane_snippets_header": "Исечоци",
   "settings_pane_snippets_body": "Прочитајте кратки и слатки новости од Mozilla во врска со Firefox, Интернет-културата и повремените случајни меми.",
   "settings_pane_done_button": "Готово",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "Уреди",
-  "edit_topsites_button_label": "Прилагодете ги вашите Популарни мрежни места",
-  "edit_topsites_showmore_button": "Прикажи повеќе",
-  "edit_topsites_showless_button": "Прикажи помалку",
-  "edit_topsites_done_button": "Готово",
-  "edit_topsites_pin_button": "Прикачи го ова мрежно место",
-  "edit_topsites_unpin_button": "Откачи го ова мрежно место",
   "edit_topsites_edit_button": "Уреди го ова место",
-  "edit_topsites_dismiss_button": "Отфрли го ова место",
-  "edit_topsites_add_button": "Додај",
   "topsites_form_add_header": "Ново врвно мрежно место",
   "topsites_form_edit_header": "Уреди врвно мрежно место",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Внесете наслов",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Внесете или вметнете URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Додај",
   "topsites_form_save_button": "Сними",
   "topsites_form_cancel_button": "Откажи",
   "topsites_form_url_validation": "Потребен е валиден URL",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Популарни теми:",
   "pocket_read_even_more": "Види повеќе написи",
-  "pocket_feedback_header": "Најдоброто од Интернет, одбрано од повеќе од 25 милиони луѓе.",
   "pocket_description": "Откријте високо-квалитетни содржини, коишто инаку би можеле да ги пропуштите, со помош на Pocket, кој сега е дел од Mozilla.",
   "highlights_empty_state": "Започнете со прелистување и ние овде ќе ви прикажеме некои од одличните написи, видеа и други страници што неодамна сте ги поселите или обележале.",
   "topstories_empty_state": "Имате видено сѐ! Навратете се подоцна за нови содржини од {provider}. Не можете да чекате? Изберете популарна тема и откријте уште одлични содржини ширум Интернет.",
   "manual_migration_explanation2": "Пробајте го Firefox со обележувачите, историјата и лозинките на друг прелистувач.",
   "manual_migration_cancel_button": "Не, благодарам",
   "manual_migration_import_button": "Увези сега",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Инфо",
+  "section_info_privacy_notice": "Белешка за приватност",
+  "settings_pane_bookmarks_body": "Вашите нови обележувачи во едно згодно место.",
+  "settings_pane_visit_again_body": "Firefox ќе прикаже делови од вашата историја на прелистување кои можеби би сакале да ги запомните или пак да им се навратите.",
+  "edit_topsites_button_label": "Прилагодете ги вашите Популарни мрежни места",
+  "edit_topsites_showmore_button": "Прикажи повеќе",
+  "edit_topsites_showless_button": "Прикажи помалку",
+  "edit_topsites_done_button": "Готово",
+  "edit_topsites_pin_button": "Прикачи го ова мрежно место",
+  "edit_topsites_unpin_button": "Откачи го ова мрежно место",
+  "edit_topsites_dismiss_button": "Отфрли го ова место",
+  "edit_topsites_add_button": "Додај",
+  "pocket_feedback_header": "Најдоброто од Интернет, одбрано од повеќе од 25 милиони луѓе."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>പുതിയ ടാബ്</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ഇൻറർനെറ്റിൽ തിരയുക</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ഇൻറർനെറ്റിൽ തിരയുക" title="ഇൻറർനെറ്റിൽ തിരയുക"/><button id="searchSubmit" class="search-button" title="തിരയുക"><span class="sr-only"><span>തിരയുക</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>മികച്ച സൈറ്റുകൾ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ശുപാർശ ചെയ്തത്</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ജനപ്രിയ വിഷയങ്ങൾ:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ഹൈലൈറ്റുകൾ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ഇൻറർനെറ്റിൽ തിരയുക</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ഇൻറർനെറ്റിൽ തിരയുക" title="ഇൻറർനെറ്റിൽ തിരയുക"/><button id="searchSubmit" class="search-button" title="തിരയുക"><span class="sr-only"><span>തിരയുക</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>മികച്ച സൈറ്റുകൾ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ശുപാർശ ചെയ്തത്</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ജനപ്രിയ വിഷയങ്ങൾ:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ഹൈലൈറ്റുകൾ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "പോക്കറ്റിലേയ്ക്ക് സംരക്ഷിയ്ക്കുക",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "തിരയാൻ {search_term} : എന്നത് ഉപയോഗിയ്ക്കുക",
   "search_button": "തിരയുക",
   "search_header": "{search_engine_name} തിരയുക",
   "search_web_placeholder": "ഇൻറർനെറ്റിൽ തിരയുക",
   "search_settings": "തിരയാനുള്ള രീതികൾ മാറ്റുക",
-  "section_info_option": "വിവരം",
   "section_info_send_feedback": "ഫീഡ്ബാക്ക് അയയ്ക്കുക",
-  "section_info_privacy_notice": "സ്വകാര്യതാ അറിയിപ്പ്",
   "section_disclaimer_topstories": "വെബിലെ ഏറ്റവും രസകരമായ അറിവുകൾ, നിങ്ങൾ വായിച്ചവ അടിസ്ഥാനമാക്കി തിരഞ്ഞെടുത്തത്. ഇപ്പോൾ മോസില്ലയുടെ ഭാഗമായ പോക്കറ്റിൽ നിന്നും.",
   "section_disclaimer_topstories_linktext": "എങ്ങനെ പ്രവര്‍ത്തിക്കുന്നു എന്ന് കാണുക.",
   "section_disclaimer_topstories_buttontext": "ശരി, മനസ്സിലായി",
   "welcome_title": "പുതിയ ജാലകത്തിലേക്കു സ്വാഗതം",
   "welcome_body": "നിങ്ങളുടെ ഏറ്റവും ശ്രദ്ധേയമായ അടയാളങ്ങൾ, ലേഖനങ്ങൾ, വീഡിയോകൾ, കൂടാതെ നിങ്ങൾ സമീപകാലത്ത് സന്ദർശിച്ച താളുകൾ എന്നിവ കാണിക്കുന്നതിനായി ഫയർഫോക്സ് ഈ ഇടം ഉപയോഗിക്കും, അതിനാൽ നിങ്ങൾക്ക് എളുപ്പത്തിൽ അവയിലേക്ക് തിരിച്ചു പോകാം.",
   "welcome_label": "താങ്കളുടെ ഹൈലൈറ്റ്സ് തിരിച്ചറിയുന്നു",
   "time_label_less_than_minute": "<1 മിനിറ്റ്",
   "time_label_minute": "{number} മിനിറ്റ്",
   "time_label_hour": "{number} മിനിറ്റ്",
   "time_label_day": "{number} മിനിറ്റ്",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "നിങ്ങളുടെ പുതിയ ടാബ് താള് ഇഷ്ടാനുസൃതമാക്കുക",
   "settings_pane_header": "പുതിയ ടാബിന്റെ മുൻഗണനകൾ",
   "settings_pane_body2": "നിങ്ങൾ ഈ താളിൽ കാണുന്നത് തിരഞ്ഞെടുക്കുക.",
   "settings_pane_search_header": "തിരയുക",
   "settings_pane_search_body": "പുതിയ ടാബിൽ നിന്ന് ഇന്റർനെറ്റിൽ തിരയുക.",
   "settings_pane_topsites_header": "മുന്നേറിയ സൈറ്റുകൾ",
   "settings_pane_topsites_body": "നിങ്ങൾ കൂടുതൽ സന്ദർശിക്കുന്ന വെബ്‌സൈറ്റുകളിൽ പ്രവേശിക്കുക.",
   "settings_pane_topsites_options_showmore": "രണ്ടു വരികൾ കാണിയ്ക്കുക",
   "settings_pane_bookmarks_header": "അടുത്തിടെയുള്ള ബുക്ക്മാർക്കുകൾ",
-  "settings_pane_bookmarks_body": "നിങ്ങളുടെ പുതിയതായി സൃഷ്ടിച്ച ബുക്ക്മാർക്കുകൾ ഒരു സ്ഥലത്ത്.",
   "settings_pane_visit_again_header": "വീണ്ടും സന്ദർശിക്കുക",
-  "settings_pane_visit_again_body": "നിങ്ങൾ ഓർത്തുവയ്ക്കാനോ അല്ലെങ്കിൽ തിരികെ ചെല്ലാനോ ആഗ്രഹിക്കുന്ന ബ്രൌസിംഗ് ചരിത്രത്തിന്റെ ഭാഗങ്ങൾ നിങ്ങൾക്ക് ഫയർഫോക്സ് കാണിച്ച് തരും.",
   "settings_pane_highlights_header": "ഹൈലൈറ്റുകൾ",
   "settings_pane_highlights_body2": "നിങ്ങൾ സമീപകാലത്ത് സന്ദർശിച്ചതോ അല്ലെങ്കിൽ ബുക്ക്മാർക്ക് ചെയ്തതോ ആയ രസകരമായ കാര്യങ്ങളിലേക്ക് വഴി കണ്ടെത്തുക.",
   "settings_pane_highlights_options_bookmarks": "ബുക്ക്മാർക്കുകൾ",
   "settings_pane_highlights_options_visited": "സന്ദർശിച്ച സൈറ്റുകൾ",
   "settings_pane_snippets_header": "ലഘു കുറിപ്പുകൾ",
   "settings_pane_snippets_body": "മോസില്ലയിൽ നിന്നും ഫയർഫോക്സ്, ഇന്റർനെറ്റ് സംസ്കാരം, വല്ലപ്പോഴുമുള്ള ക്രമമില്ലാത്ത മെമെ, എന്നിവയിൽ ചെറുതും മധുരവുമായ പരിഷ്കരണങ്ങൾ വായിക്കുക.",
   "settings_pane_done_button": "തീർന്നു",
   "settings_pane_topstories_options_sponsored": "സ്പോൺസർ ചെയ്തവ കാണിക്കുക",
   "edit_topsites_button_text": "തിരുത്തുക",
-  "edit_topsites_button_label": "നിങ്ങളുടെ മുന്നേറിയ സൈറ്റുകളുടെ വിഭാഗം ഇഷ്ടാനുസൃതമാക്കുക",
-  "edit_topsites_showmore_button": "കൂടുതൽ കാണിക്കുക",
-  "edit_topsites_showless_button": "കുറച്ച് കാണിക്കുക",
-  "edit_topsites_done_button": "തീർന്നു",
-  "edit_topsites_pin_button": "ഈ സൈറ്റ് പിൻ ചെയ്യുക",
-  "edit_topsites_unpin_button": "ഈ സൈറ്റ് അണ്‍പിന്‍ ചെയ്യുക",
   "edit_topsites_edit_button": "ഈ സൈറ്റ് തിരുത്തുക",
-  "edit_topsites_dismiss_button": "ഈ സൈറ്റ് പുറത്താക്കുക",
-  "edit_topsites_add_button": "ചേര്‍ക്കുക",
   "topsites_form_add_header": "പുതിയ മികച്ച സൈറ്റുകൾ",
   "topsites_form_edit_header": "മികച്ച സൈറ്റ് ലിസ്റ്റ് തിരുത്തൂ",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "തലക്കെട്ട് നൽകൂ",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "വെബ്URLനൽകൂ",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "ചേർക്കൂ",
   "topsites_form_save_button": "സംരക്ഷിയ്ക്കൂ",
   "topsites_form_cancel_button": "ഒഴിവാക്കൂ",
   "topsites_form_url_validation": "പ്രവർത്തിയ്ക്കുന്ന URL ആവശ്യമാണ്",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "ജനപ്രിയ വിഷയങ്ങൾ:",
   "pocket_read_even_more": "കൂടുതൽ ലേഖനങ്ങൾ കാണുക",
-  "pocket_feedback_header": "250 ലക്ഷം പേരാൽ തെരഞ്ഞെടുക്കപ്പെട്ട വെബിലെ ഏറ്റവും മികച്ചവയാണിവ.",
   "pocket_description": "മോസില്ലയുടെ ഭാഗമായ, പോക്കറ്റിന്റെ സഹായം കൊണ്ട്, നിങ്ങൾക്ക് കണ്ടെത്താനാവാത്ത ഉയർന്ന നിലവാരമുള്ള ഉള്ളടക്കം കണ്ടെത്തുക.",
   "highlights_empty_state": "ബ്രൗസിംഗ് ആരംഭിക്കുക, നിങ്ങൾ സമീപകാലത്ത് സന്ദർശിച്ചതോ ബുക്ക്മാർക്ക് ചെയ്തതോ ആയ മികച്ച ലേഖനങ്ങളിൽ നിന്നോ, വീഡിയോകളിൽ നിന്നോ, മറ്റു പേജുകളിൽ നിന്നോ ചിലത് ഞങ്ങൾ ഇവിടെ കാണിക്കും.",
   "topstories_empty_state": "നിങ്ങൾ ഇവിടെ വരെ എത്തി. {Provider}ൽ നിന്നുള്ള കൂടുതൽ പ്രധാന വാർത്തകൾക്കായി പിന്നീട് വീണ്ടും പരിശോധിക്കുക. കാത്തിരിക്കാൻ പറ്റില്ലേ? വെബിൽ നിന്ന് കൂടുതൽ മികച്ച കഥകൾ കണ്ടെത്തുന്നതിന് ഒരു ജനപ്രിയ വിഷയം തിരഞ്ഞെടുക്കുക.",
   "manual_migration_explanation2": "മറ്റൊരു ബ്രൗസറിൽ നിന്നുള്ള ബുക്ക്മാർക്കുകൾ, ചരിത്രം, പാസ്വേഡുകൾ എന്നിവ ഉപയോഗിച്ച് ഫയർഫോക്സ് പരീക്ഷിക്കുക.",
   "manual_migration_cancel_button": "വേണ്ട, നന്ദി",
   "manual_migration_import_button": "ഇപ്പോൾ ഇറക്കുമതി ചെയ്യുക",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "വിവരം",
+  "section_info_privacy_notice": "സ്വകാര്യതാ അറിയിപ്പ്",
+  "settings_pane_bookmarks_body": "നിങ്ങളുടെ പുതിയതായി സൃഷ്ടിച്ച ബുക്ക്മാർക്കുകൾ ഒരു സ്ഥലത്ത്.",
+  "settings_pane_visit_again_body": "നിങ്ങൾ ഓർത്തുവയ്ക്കാനോ അല്ലെങ്കിൽ തിരികെ ചെല്ലാനോ ആഗ്രഹിക്കുന്ന ബ്രൌസിംഗ് ചരിത്രത്തിന്റെ ഭാഗങ്ങൾ നിങ്ങൾക്ക് ഫയർഫോക്സ് കാണിച്ച് തരും.",
+  "edit_topsites_button_label": "നിങ്ങളുടെ മുന്നേറിയ സൈറ്റുകളുടെ വിഭാഗം ഇഷ്ടാനുസൃതമാക്കുക",
+  "edit_topsites_showmore_button": "കൂടുതൽ കാണിക്കുക",
+  "edit_topsites_showless_button": "കുറച്ച് കാണിക്കുക",
+  "edit_topsites_done_button": "തീർന്നു",
+  "edit_topsites_pin_button": "ഈ സൈറ്റ് പിൻ ചെയ്യുക",
+  "edit_topsites_unpin_button": "ഈ സൈറ്റ് അണ്‍പിന്‍ ചെയ്യുക",
+  "edit_topsites_dismiss_button": "ഈ സൈറ്റ് പുറത്താക്കുക",
+  "edit_topsites_add_button": "ചേര്‍ക്കുക",
+  "pocket_feedback_header": "250 ലക്ഷം പേരാൽ തെരഞ്ഞെടുക്കപ്പെട്ട വെബിലെ ഏറ്റവും മികച്ചവയാണിവ."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>नवीन टॅब</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेबवर शोधा</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेबवर शोधा" title="वेबवर शोधा"/><button id="searchSubmit" class="search-button" title="शोधा"><span class="sr-only"><span>शोधा</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>खास साईट्स<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ठळक</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेबवर शोधा</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेबवर शोधा" title="वेबवर शोधा"/><button id="searchSubmit" class="search-button" title="शोधा"><span class="sr-only"><span>शोधा</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>खास साईट्स<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ठळक</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-strings.js
@@ -35,72 +35,74 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket मध्ये जतन करा",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "शोधा {search_term} सोबत:",
   "search_button": "शोधा",
   "search_header": "{search_engine_name} शोध",
   "search_web_placeholder": "वेबवर शोधा",
   "search_settings": "शोध सेटिंग बदला",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Send Feedback",
-  "section_info_privacy_notice": "Privacy Notice",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "नवीन टॅबवर स्वागत आहे",
   "welcome_body": "Firefox will use this space to show your most relevant bookmarks, articles, videos, and pages you’ve recently visited, so you can get back to them easily.",
   "welcome_label": "Identifying your Highlights",
   "time_label_less_than_minute": "<1मि",
   "time_label_minute": "{number}मि",
   "time_label_hour": "{number}ता",
   "time_label_day": "{number}दि",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "आपले नवीन टॅब पृष्ठ सानुकूलित करा",
   "settings_pane_header": "नवीन टॅब प्राधान्ये",
   "settings_pane_body2": "Choose what you see on this page.",
   "settings_pane_search_header": "शोध",
   "settings_pane_search_body": "आपल्या नवीन टॅब वरून वेबवर शोधा.",
   "settings_pane_topsites_header": "Top Sites",
   "settings_pane_topsites_body": "Access the websites you visit most.",
   "settings_pane_topsites_options_showmore": "Show two rows",
   "settings_pane_bookmarks_header": "Recent Bookmarks",
-  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
   "settings_pane_visit_again_header": "Visit Again",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "Highlights",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "Bookmarks",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Done",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "Edit",
-  "edit_topsites_button_label": "Customize your Top Sites section",
-  "edit_topsites_showmore_button": "Show More",
-  "edit_topsites_showless_button": "Show Fewer",
-  "edit_topsites_done_button": "Done",
-  "edit_topsites_pin_button": "Pin this site",
-  "edit_topsites_unpin_button": "Unpin this site",
   "edit_topsites_edit_button": "Edit this site",
-  "edit_topsites_dismiss_button": "Dismiss this site",
-  "edit_topsites_add_button": "Add",
   "topsites_form_add_header": "New Top Site",
   "topsites_form_edit_header": "Edit Top Site",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Enter a title",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Type or paste a URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Add",
   "topsites_form_save_button": "Save",
   "topsites_form_cancel_button": "Cancel",
   "topsites_form_url_validation": "Valid URL required",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Popular Topics:",
   "pocket_read_even_more": "View More Stories",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
--- a/browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tab Baru</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cari dalam Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cari dalam Web" title="Cari dalam Web"/><button id="searchSubmit" class="search-button" title="Cari"><span class="sr-only"><span>Cari</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Laman Teratas<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Disyorkan oleh Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topik Popular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Serlahan</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cari dalam Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cari dalam Web" title="Cari dalam Web"/><button id="searchSubmit" class="search-button" title="Cari"><span class="sr-only"><span>Cari</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Laman Teratas<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Disyorkan oleh Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topik Popular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Serlahan</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Simpan ke Pocket",
   "menu_action_delete_pocket": "Buang dari Pocket",
   "menu_action_archive_pocket": "Arkib dalam Pocket",
   "search_for_something_with": "Cari {search_term} dengan:",
   "search_button": "Cari",
   "search_header": "{search_engine_name} Cari",
   "search_web_placeholder": "Cari dalam Web",
   "search_settings": "Ubah Tetapan Carian",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Hantar Maklum balas",
-  "section_info_privacy_notice": "Notis Privasi",
   "section_disclaimer_topstories": "Kisah paling menarik dalam web yang dipilih berdasarkan yang anda baca. Dari Pocket, kini sebahagian daripada Mozilla.",
   "section_disclaimer_topstories_linktext": "Ketahui fungsi ciri ini.",
   "section_disclaimer_topstories_buttontext": "Ok, faham",
   "welcome_title": "Selamat Datang ke tab baru",
   "welcome_body": "Firefox akan menggunakan ruang ini untuk mempamerkan tandabuku, artikel, video dan halaman yang paling berkaitan dan terkini anda lawati supaya anda boleh mendapatkannya semula dengan mudah.",
   "welcome_label": "Mengenalpasti Serlahan anda",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Kandungan Halaman Utama Firefox",
+  "prefs_home_description": "Pilih kandungan yang mahu dalam skrin Halaman Utama Firefox.",
+  "prefs_restore_defaults_button": "Pulih Piawai",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Carian Web",
+  "prefs_topsites_description": "Laman yang anda kerap lawati",
+  "prefs_topstories_description": "Kandungan berkualiti yang mungkin anda terlepas",
+  "prefs_topstories_show_sponsored_label": "Kisah Tajaan {provider}",
+  "prefs_topstories_sponsored_learn_more": "Ketahui selanjutnya",
+  "prefs_highlights_description": "Pilihan laman yang anda sudah simpan atau lawati",
+  "prefs_snippets_description": "Kemas kini daripada Mozilla dan Firefox",
   "settings_pane_button_label": "Sesuaikan halaman Tab Baru anda",
   "settings_pane_header": "Keutamaan Tab Baru",
   "settings_pane_body2": "Pilih apa yang mahu anda paparkan dalam halaman ini.",
   "settings_pane_search_header": "Cari",
   "settings_pane_search_body": "Carian Web dari tab baru anda.",
   "settings_pane_topsites_header": "Laman Teratas",
   "settings_pane_topsites_body": "Akses laman web yang paling banyak dilawati.",
   "settings_pane_topsites_options_showmore": "Papar dua baris",
   "settings_pane_bookmarks_header": "Tandabuku Terkini",
-  "settings_pane_bookmarks_body": "Tandabuku baru yang anda cipta terletak di lokasi yang mudah dicapai.",
   "settings_pane_visit_again_header": "Lawat Semula",
-  "settings_pane_visit_again_body": "Firefox akan mempamerkan kepada anda sebahagian sejarah pelayaran anda yang mungkin anda mahu mengingatinya atau kembali semula.",
   "settings_pane_highlights_header": "Serlahan",
   "settings_pane_highlights_body2": "Dapatkan semula perkara menarik yang sudah dilayari atau ditandabuku.",
   "settings_pane_highlights_options_bookmarks": "Tandabuku",
   "settings_pane_highlights_options_visited": "Laman Dilawati",
   "settings_pane_snippets_header": "Cebisan",
   "settings_pane_snippets_body": "Baca ringkasan berita terbaru daripada Mozilla berkaitan Firefox, budaya internet dan ikutan rambang semasa.",
   "settings_pane_done_button": "Siap",
   "settings_pane_topstories_options_sponsored": "Papar Kisah Tajaan",
   "edit_topsites_button_text": "Edit",
-  "edit_topsites_button_label": "Sesuaikan bahagian Laman Teratas anda",
-  "edit_topsites_showmore_button": "Papar selanjutnya",
-  "edit_topsites_showless_button": "Papar minima",
-  "edit_topsites_done_button": "Siap",
-  "edit_topsites_pin_button": "Pin laman ini",
-  "edit_topsites_unpin_button": "Nyahpin laman ini",
   "edit_topsites_edit_button": "Edit laman ini",
-  "edit_topsites_dismiss_button": "Buang laman ini",
-  "edit_topsites_add_button": "Tambah",
   "topsites_form_add_header": "Laman Teratas Baru",
   "topsites_form_edit_header": "Edit Laman Teratas",
   "topsites_form_title_label": "Tajuk",
   "topsites_form_title_placeholder": "Masukkan tajuk",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL Imej Penyesuaian",
   "topsites_form_url_placeholder": "Taip atau tampal URL",
+  "topsites_form_use_image_link": "Guna imej penyesuaian…",
+  "topsites_form_preview_button": "Previu",
   "topsites_form_add_button": "Tambah",
   "topsites_form_save_button": "Simpan",
   "topsites_form_cancel_button": "Batal",
   "topsites_form_url_validation": "Perlukan URL yang sah",
+  "topsites_form_image_validation": "Imej gagal dimuatkan. Cuba URL lain.",
   "pocket_read_more": "Topik Popular:",
   "pocket_read_even_more": "Papar Kisah Selanjutnya",
-  "pocket_feedback_header": "Terbaik daripada web, disokong oleh lebih 25 juta pengguna.",
   "pocket_description": "Teroka kandungan berkualiti tinggi yang mungkin ada tertinggal, menggunakan bantuan Pocket, yang menjadi sebahagian daripada Mozilla.",
   "highlights_empty_state": "Mulakan melayar dan kami akan paparkan beberapa artikel, video dan halaman menarik lain yang sudah anda layari dan tandabuku di sini.",
   "topstories_empty_state": "Anda sudah di sini. Tapi sila datang lagi untuk mendapatkan lebih banyak berita hangat daripada {provider}. Tidak boleh tunggu? Pilih topik untuk mendapatkannya dari serata dunia.",
   "manual_migration_explanation2": "Cuba Firefox dengan tandabuku, sejarah dan kata laluan yang disimpan dalam pelayar lain.",
   "manual_migration_cancel_button": "Tidak, Terima kasih",
   "manual_migration_import_button": "Import Sekarang",
   "error_fallback_default_info": "Ooops, ada kesilapan memuatkan kandungan ini.",
   "error_fallback_default_refresh_suggestion": "Muat semula halaman untuk cuba lagi.",
   "section_menu_action_remove_section": "Buang Seksyen",
   "section_menu_action_collapse_section": "Runtuhkan Seksyen",
   "section_menu_action_expand_section": "Kembangkan Seksyen",
   "section_menu_action_manage_section": "Urus Seksyen",
   "section_menu_action_add_topsite": "Tambah Laman Teratas",
   "section_menu_action_move_up": "Pindah Atas",
   "section_menu_action_move_down": "Pindah Bawah",
-  "section_menu_action_privacy_notice": "Notis Privasi"
+  "section_menu_action_privacy_notice": "Notis Privasi",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Notis Privasi",
+  "settings_pane_bookmarks_body": "Tandabuku baru yang anda cipta terletak di lokasi yang mudah dicapai.",
+  "settings_pane_visit_again_body": "Firefox akan mempamerkan kepada anda sebahagian sejarah pelayaran anda yang mungkin anda mahu mengingatinya atau kembali semula.",
+  "edit_topsites_button_label": "Sesuaikan bahagian Laman Teratas anda",
+  "edit_topsites_showmore_button": "Papar selanjutnya",
+  "edit_topsites_showless_button": "Papar minima",
+  "edit_topsites_done_button": "Siap",
+  "edit_topsites_pin_button": "Pin laman ini",
+  "edit_topsites_unpin_button": "Nyahpin laman ini",
+  "edit_topsites_dismiss_button": "Buang laman ini",
+  "edit_topsites_add_button": "Tambah",
+  "pocket_feedback_header": "Terbaik daripada web, disokong oleh lebih 25 juta pengguna."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/my/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/my/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>တပ်ဗ်အသစ်ဖွင့်</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း" title="ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း"/><button id="searchSubmit" class="search-button" title="ရှာ"><span class="sr-only"><span>ရှာ</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>အများဆုံးသုံးဆိုက်များ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket က အကြံပြုထားသည်</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>လူကြိုက်များခေါင်းစဉ်များ</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ဦးစားပေးအကြောင်းအရာများ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း" title="ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း"/><button id="searchSubmit" class="search-button" title="ရှာ"><span class="sr-only"><span>ရှာ</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>အများဆုံးသုံးဆိုက်များ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket က အကြံပြုထားသည်</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>လူကြိုက်များခေါင်းစဉ်များ</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ဦးစားပေးအကြောင်းအရာများ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/my/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/my/activity-stream-strings.js
@@ -35,81 +35,95 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket သို့ သိမ်းရန်",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "{search_term} အားရှာပါ -",
   "search_button": "ရှာ",
   "search_header": "{search_engine_name} ရှာဖွေမှု",
   "search_web_placeholder": "ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း",
   "search_settings": "ရှာဖွေမှုအပြင်အဆင်အားပြောင်းလဲပါ",
-  "section_info_option": "အချက်အလက်",
   "section_info_send_feedback": "အကြံပေးချက် ပေးပို့ရန်",
-  "section_info_privacy_notice": "ကိုယ်ရေးကာကွယ်မှု သတိပေးချက်",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "တပ်ဗ်အသစ်တစ်ခုမှကြိုဆိုပါတယ်",
   "welcome_body": "ယခုနေရာအား Firefox မှ အသင့်လျော်ဆုံး သင်သွားလည်ခဲ့ဖူးသော စာအမှတ်များ၊ ဆောင်းပါးများ၊ ရုပ်ရှင်များ နှင့် စာမျက်နှာများအား ပြသဖို့အသုံးပြုမည်ဖြစ်ပါတယ်။",
   "welcome_label": "သင့် အသားပေးဖော်ပြချက်များကိုသတိထားမည်",
   "time_label_less_than_minute": "<1မီတာ",
   "time_label_minute": "{number}မီတာ",
   "time_label_hour": "{number}အမြင့်",
   "time_label_day": "{number}နေ့",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "သင့်တပ်ဗ်အသစ်စာမျက်နှာအား ပြင်ဆင်မည်",
   "settings_pane_header": "စာတပ်ဗ်အသစ်အပြင်အဆင်များ",
   "settings_pane_body2": "ယခုစာမျက်နှာတွင် ကြည့်လိုသည်များကို ရွေးပါ။",
   "settings_pane_search_header": "ရှာဖွေပါ",
   "settings_pane_search_body": "ဝက်ဘ်ပေါ်တွင် သင့်တပ်ဗ်အသစ်မှရှာဖွေပါ",
   "settings_pane_topsites_header": "ထိပ်တန်းဝတ်ဘ်ဆိုက်များ",
   "settings_pane_topsites_body": "သင်အများဆုံးသွားလည်သော ဝတ်ဘ်ဆိုက်များကို ရယူပါ",
   "settings_pane_topsites_options_showmore": "အတန်းနှစ်တန်းနှင့်ပြပါ",
   "settings_pane_bookmarks_header": "လတ်တလော စာမှတ်များ",
-  "settings_pane_bookmarks_body": "အသစ်မှတ်သားထားသော စာမှတ်များကို တစ်နေရာတည်းတွင် စုစည်းထားသည်။",
   "settings_pane_visit_again_header": "ထပ်မံလည်ပတ်ရန်",
-  "settings_pane_visit_again_body": "မှတ်ထားလိုသော သို့မဟုတ် ပြန်ဖွင့်လိုသော လည်ပတ်မှတ်တမ်းထဲမှ တချို့ကို Firefox က ပြပါမည်။",
   "settings_pane_highlights_header": "ဦးစားပေးအကြောင်းအရာများ",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "စာမှတ်များ",
   "settings_pane_highlights_options_visited": "လည်ပတ်ထားသော ဆိုက်များ",
   "settings_pane_snippets_header": "မှတ်စုတိုများ",
   "settings_pane_snippets_body": "Mozilla မှ Firefox အကြောင်း၊ အင်တာနက်ယဉ်ကျေးမှုနှင့် အခါအားလျော်စွာ ဖြစ်ပေါ်လာသော ကျပန်း meme စသည့် နောက်ဆုံးရသတင်းများကို ဖတ်ရှုပါ။",
   "settings_pane_done_button": "ပြီးပြီ",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "ပြင်ဆင်မည်",
-  "edit_topsites_button_label": "သင့်ထိပ်တန်းဆိုက် အမြင်အားပြင်ဆင်ပါ",
-  "edit_topsites_showmore_button": "ထပ်ပြပါ",
-  "edit_topsites_showless_button": "ချုံ့ပြရန်",
-  "edit_topsites_done_button": "ပြီးပြီ",
-  "edit_topsites_pin_button": "ဝတ်ဆိုဒ်အားpinလုပ်ထားမည်",
-  "edit_topsites_unpin_button": "ယခုဆိုက်ကို တွယ်ဖြုတ်ရန်",
   "edit_topsites_edit_button": "ဆိုက်အားပြင်မည်",
-  "edit_topsites_dismiss_button": "ဆိုက်အားဖျက်လိုက်မည်",
-  "edit_topsites_add_button": "ထည့်ရန်",
   "topsites_form_add_header": "ထိပ်တန်းဆိုက် အသစ်",
   "topsites_form_edit_header": "ထိပ်တန်းဆိုက်ကို တည်းဖြတ်ရန်",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "ခေါင်းစဉ် ရေးပါ",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "URL ကို ရိုက်ပါ သို့မဟုတ် ပွားထည့်ပါ",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "ထည့်ရန်",
   "topsites_form_save_button": "သိမ်းရန်",
   "topsites_form_cancel_button": "မလုပ်တော့ပါ",
   "topsites_form_url_validation": "URL အမှန် လိုအပ်သည်",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "လူကြိုက်များခေါင်းစဉ်များ",
   "pocket_read_even_more": "နောက်ထပ်သတင်းများ ကြည့်ရန်",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "အခြားဘရောင်ဇာမှ စာမှတ်များ၊ မှတ်တမ်းများ၊ စကားဝှက်များနှင့်အတူ Firefox တွင် စမ်းသုံးကြည့်ပါ။",
   "manual_migration_cancel_button": "မလိုတော့ပါ၊ ကျေးဇူးတင်ပါသည်။",
   "manual_migration_import_button": "ထည့်သွင်းရန်",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "အချက်အလက်",
+  "section_info_privacy_notice": "ကိုယ်ရေးကာကွယ်မှု သတိပေးချက်",
+  "settings_pane_bookmarks_body": "အသစ်မှတ်သားထားသော စာမှတ်များကို တစ်နေရာတည်းတွင် စုစည်းထားသည်။",
+  "settings_pane_visit_again_body": "မှတ်ထားလိုသော သို့မဟုတ် ပြန်ဖွင့်လိုသော လည်ပတ်မှတ်တမ်းထဲမှ တချို့ကို Firefox က ပြပါမည်။",
+  "edit_topsites_button_label": "သင့်ထိပ်တန်းဆိုက် အမြင်အားပြင်ဆင်ပါ",
+  "edit_topsites_showmore_button": "ထပ်ပြပါ",
+  "edit_topsites_showless_button": "ချုံ့ပြရန်",
+  "edit_topsites_done_button": "ပြီးပြီ",
+  "edit_topsites_pin_button": "ဝတ်ဆိုဒ်အားpinလုပ်ထားမည်",
+  "edit_topsites_unpin_button": "ယခုဆိုက်ကို တွယ်ဖြုတ်ရန်",
+  "edit_topsites_dismiss_button": "ဆိုက်အားဖျက်လိုက်မည်",
+  "edit_topsites_add_button": "ထည့်ရန်"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Ny fane</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søk på nettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søk på nettet" title="Søk på nettet"/><button id="searchSubmit" class="search-button" title="Søk"><span class="sr-only"><span>Søk</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Mest besøkte nettsider<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Anbefalt av Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emner:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Høydepunkter</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søk på nettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søk på nettet" title="Søk på nettet"/><button id="searchSubmit" class="search-button" title="Søk"><span class="sr-only"><span>Søk</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Mest besøkte nettsider<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Anbefalt av Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emner:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Høydepunkter</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-strings.js
@@ -11,106 +11,120 @@ window.gActivityStreamStrings = {
   "header_bookmarks_placeholder": "Du har ingen bokmerker enda.",
   "header_stories_from": "fra",
   "context_menu_button_sr": "Åpne kontekstmeny for {title}",
   "section_context_menu_button_sr": "Open the section context menu",
   "type_label_visited": "Besøkt",
   "type_label_bookmarked": "Bokmerket",
   "type_label_synced": "Synkronisert fra annen enhet",
   "type_label_recommended": "Trender",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Lagret til Pocket",
   "type_label_open": "Åpne",
   "type_label_topic": "Emne",
   "type_label_now": "Nå",
   "menu_action_bookmark": "Bokmerke",
   "menu_action_remove_bookmark": "Fjern bokmerke",
   "menu_action_copy_address": "Kopier adresse",
   "menu_action_email_link": "Send lenke på e-post …",
   "menu_action_open_new_window": "Åpne i nytt vindu",
   "menu_action_open_private_window": "Åpne i nytt privat vindu",
   "menu_action_dismiss": "Avslå",
   "menu_action_delete": "Slett fra historikk",
   "menu_action_pin": "Fest",
   "menu_action_unpin": "Løsne",
   "confirm_history_delete_p1": "Er du sikker på at du vil slette alle forekomster av denne siden fra historikken?",
   "confirm_history_delete_notice_p2": "Denne handlingen kan ikke angres.",
   "menu_action_save_to_pocket": "Lagre til Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Slett fra Pocket",
+  "menu_action_archive_pocket": "Arkiver i Pocket",
   "search_for_something_with": "Søk etter {search_term} med:",
   "search_button": "Søk",
   "search_header": "{search_engine_name}-søk",
   "search_web_placeholder": "Søk på nettet",
   "search_settings": "Endre søkeinnstillinger",
-  "section_info_option": "Informasjon",
   "section_info_send_feedback": "Send tilbakemelding",
-  "section_info_privacy_notice": "Personvernbestemmelser",
   "section_disclaimer_topstories": "De mest interessante historiene på nettet, utvalgt basert på hva du leser. Fra Pocket, nå en del av Mozilla.",
   "section_disclaimer_topstories_linktext": "Se hvordan det fungerer.",
   "section_disclaimer_topstories_buttontext": "OK, jeg forstår det",
   "welcome_title": "Velkommen til ny fane",
   "welcome_body": "Firefox vil bruke denne plassen til å vise deg de mest relevante bokmerkene, artiklene, videoene og sidene du nettopp har besøkt, slik at du enkelt kan finne tilbake til de.",
   "welcome_label": "Identifiserer dine høydepunkter",
   "time_label_less_than_minute": "<1 m",
   "time_label_minute": "{number} m",
   "time_label_hour": "{number} t",
   "time_label_day": "{number} d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Gjenopprett standard",
+  "prefs_section_rows_option": "{num} rekke;{num} rekker",
+  "prefs_search_header": "Nettsøk",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Les mer",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Tilpass siden for Ny fane",
   "settings_pane_header": "Innstillinger for Ny fane",
   "settings_pane_body2": "Velg hva du ser på denne siden.",
   "settings_pane_search_header": "Søk",
   "settings_pane_search_body": "Søk på nettet fra din nye fane.",
   "settings_pane_topsites_header": "Mest besøkte",
   "settings_pane_topsites_body": "Tilgang til nettsidene du besøker mest.",
   "settings_pane_topsites_options_showmore": "Vis to rader",
   "settings_pane_bookmarks_header": "Nylige bokmerker",
-  "settings_pane_bookmarks_body": "De nyeste bokmerkene dine på en plass.",
   "settings_pane_visit_again_header": "Besøk igjen",
-  "settings_pane_visit_again_body": "Firefox viser deg deler av din surfehistorikk som du kanskje ønsker å huske eller komme tilbake til.",
   "settings_pane_highlights_header": "Høydepunkter",
   "settings_pane_highlights_body2": "Finn veien tilbake til interessante ting du nylig har besøkt eller bokmerket.",
   "settings_pane_highlights_options_bookmarks": "Bokmerker",
   "settings_pane_highlights_options_visited": "Besøkte nettsteder",
   "settings_pane_snippets_header": "Snutter",
   "settings_pane_snippets_body": "Les korte nyheter fra Mozilla om Firefox, internettkultur og fra tid til annen en tilfeldig meme.",
   "settings_pane_done_button": "Ferdig",
   "settings_pane_topstories_options_sponsored": "Vis sponsede historier",
   "edit_topsites_button_text": "Rediger",
-  "edit_topsites_button_label": "Tilpass seksjonen Mest besøkte",
-  "edit_topsites_showmore_button": "Vis mer",
-  "edit_topsites_showless_button": "Vis mindre",
-  "edit_topsites_done_button": "Ferdig",
-  "edit_topsites_pin_button": "Fest nettsiden",
-  "edit_topsites_unpin_button": "Frigjør denne nettsiden",
   "edit_topsites_edit_button": "Rediger denne nettsiden",
-  "edit_topsites_dismiss_button": "Avvis denne nettsiden",
-  "edit_topsites_add_button": "Legg til",
   "topsites_form_add_header": "Nytt toppsted",
   "topsites_form_edit_header": "Rediger toppsted",
-  "topsites_form_title_label": "Title",
+  "topsites_form_title_label": "Tittel",
   "topsites_form_title_placeholder": "Oppgi en tittel",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Egendefinert bilde-URL",
   "topsites_form_url_placeholder": "Skriv eller lim inn en URL",
+  "topsites_form_use_image_link": "Bruk et egendefinert bilde…",
+  "topsites_form_preview_button": "Forhåndsvis",
   "topsites_form_add_button": "Legg til",
   "topsites_form_save_button": "Lagre",
   "topsites_form_cancel_button": "Avbryt",
   "topsites_form_url_validation": "Gyldig URL er nødvendig",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Populære emner:",
   "pocket_read_even_more": "Vis flere saker",
-  "pocket_feedback_header": "Det beste av nettet, kurert av over 25 millioner mennesker.",
   "pocket_description": "Oppdag høykvalitetsinnhold som du ellers ville gå glipp av, ved hjelp av Pocket, som nå er en del av Mozilla.",
   "highlights_empty_state": "Begynn å surfe, og vi viser noen av de beste artiklene, videoer og andre sider du nylig har besøkt eller bokmerket her.",
   "topstories_empty_state": "Du har tatt igjen. Kom tilbake senere for flere topphistorier fra {provider}. Kan du ikke vente? Velg et populært emne for å finne flere gode artikler fra hele Internett.",
   "manual_migration_explanation2": "Prøv Firefox med bokmerkene, historikk og passord fra en annen nettleser.",
   "manual_migration_cancel_button": "Nei takk",
   "manual_migration_import_button": "Importer nå",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Legg til toppsted"
+  "section_info_option": "Informasjon",
+  "section_info_privacy_notice": "Personvernbestemmelser",
+  "settings_pane_bookmarks_body": "De nyeste bokmerkene dine på en plass.",
+  "settings_pane_visit_again_body": "Firefox viser deg deler av din surfehistorikk som du kanskje ønsker å huske eller komme tilbake til.",
+  "edit_topsites_button_label": "Tilpass seksjonen Mest besøkte",
+  "edit_topsites_showmore_button": "Vis mer",
+  "edit_topsites_showless_button": "Vis mindre",
+  "edit_topsites_done_button": "Ferdig",
+  "edit_topsites_pin_button": "Fest nettsiden",
+  "edit_topsites_unpin_button": "Frigjør denne nettsiden",
+  "edit_topsites_dismiss_button": "Avvis denne nettsiden",
+  "edit_topsites_add_button": "Legg til",
+  "pocket_feedback_header": "Det beste av nettet, kurert av over 25 millioner mennesker."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>नयाँ ट्याब</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेबमा खोज्नुहोस्</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेबमा खोज्नुहोस्" title="वेबमा खोज्नुहोस्"/><button id="searchSubmit" class="search-button" title="खोजी गर्नुहोस्"><span class="sr-only"><span>खोजी गर्नुहोस्</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>शीर्ष साइटहरु<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket द्वारा सिफारिस गरिएको</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>लोकप्रिय शीर्षकहरू:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>विशेषताहरू</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेबमा खोज्नुहोस्</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेबमा खोज्नुहोस्" title="वेबमा खोज्नुहोस्"/><button id="searchSubmit" class="search-button" title="खोजी गर्नुहोस्"><span class="sr-only"><span>खोजी गर्नुहोस्</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>शीर्ष साइटहरु<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket द्वारा सिफारिस गरिएको</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>लोकप्रिय शीर्षकहरू:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>विशेषताहरू</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-strings.js
@@ -35,81 +35,95 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocketमा बचत गर्नुहोस्",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "{search_term} खोज्न प्रयोग गर्नुहोस्:",
   "search_button": "खोजी गर्नुहोस्",
   "search_header": "{search_engine_name} खोजी",
   "search_web_placeholder": "वेबमा खोज्नुहोस्",
   "search_settings": "खोजी सेटिङ परिवर्तन गर्नुहोस्",
-  "section_info_option": "जानकारी",
   "section_info_send_feedback": "प्रतिक्रिया पठाउनुहोस्",
-  "section_info_privacy_notice": "गोपनीयता नीति",
   "section_disclaimer_topstories": "वेबमा सबैभन्दा रोचक कथाहरू, तपाईंले पढ्नु भएको आधारमा Pocket बाट चयन गर्नुभएको छ।",
   "section_disclaimer_topstories_linktext": "कसरी काम गर्छ हेर्नुहोस्।",
   "section_disclaimer_topstories_buttontext": "बुझेँ",
   "welcome_title": "नयाँ ट्याबमा स्वागत छ",
   "welcome_body": "Firefoxले यस ठाउँको प्रयोग तपाईंको सबैभन्दा सान्दर्भिक पुस्तकचिनो, लेखहरू, भिडियोहरू, र तपाईंले हालै भ्रमण गर्नु भएको पृष्ठहरूलाई राख्न प्रयोग गर्दछ, जसले गर्दा तपाइँ तिनीहरूलाई सजिलै भेटाउन सक्नुहुनेछ ।",
   "welcome_label": "तपाईँका विशेषताहरु पत्ता लगाउँदै",
   "time_label_less_than_minute": "< १ मिनेट",
   "time_label_minute": "{number} मिनेट",
   "time_label_hour": "{number} घण्टा",
   "time_label_day": "{number} दिन",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "तपाईंको नयाँ ट्याब पृष्ठ अनुकूलन गर्नुहोस्",
   "settings_pane_header": "नयाँ ट्याब प्राथमिकताहरू",
   "settings_pane_body2": "तपाईँले यो पृष्ठमा के देख्नुभयो छनौट गर्नुहोस् ।",
   "settings_pane_search_header": "खोजी गर्नुहोस्",
   "settings_pane_search_body": "तपाईंको नयाँ ट्याबबाट वेबमा खोज्नुहोस् ।",
   "settings_pane_topsites_header": "शीर्ष साइटहरू",
   "settings_pane_topsites_body": "तपाईले धेरै भ्रमण गर्नुभएका वेबसाइटहरूमा पहुँच गर्नुहोस् ।",
   "settings_pane_topsites_options_showmore": "दुई पङ्क्तिहरू देखाउनुहोस्",
   "settings_pane_bookmarks_header": "भर्खरैका पुस्तकचिनोहरु",
-  "settings_pane_bookmarks_body": "तपाईंको नयाँ सिर्जना गरिएको पुस्तकचिनोहरुहरू एउटा सजिलो स्थानमा ।",
   "settings_pane_visit_again_header": "फेरि भ्रमण गर्नुहोस्",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "विशेषताहरू",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "पुस्तकचिनोहरू",
   "settings_pane_highlights_options_visited": "भ्रमण गरिएका साईटहरु",
   "settings_pane_snippets_header": "स्निप्पेटस्",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "सम्पन्न भयो",
   "settings_pane_topstories_options_sponsored": "प्रायोजित गरिएको कथाहरू देखाउनुहोस्",
   "edit_topsites_button_text": "सम्पादन गर्नुहोस्",
-  "edit_topsites_button_label": "तपाईंको शीर्ष साइट खण्ड अनुकूलन गर्नुहोस्",
-  "edit_topsites_showmore_button": "थप देखाउनुहोस्",
-  "edit_topsites_showless_button": "थोरै देखाउनुहोस्",
-  "edit_topsites_done_button": "सम्पन्न भयो",
-  "edit_topsites_pin_button": "यस साइटलाई पिन गर्नुहोस्",
-  "edit_topsites_unpin_button": "यस साइटलाई अनपिन गर्नुहोस्",
   "edit_topsites_edit_button": "यस साइटलाई सम्पादन गर्नुहोस्",
-  "edit_topsites_dismiss_button": "यस साइटलाई खारेज गर्नुहोस्",
-  "edit_topsites_add_button": "थप्नुहोस्",
   "topsites_form_add_header": "नयाँ शीर्ष साइट",
   "topsites_form_edit_header": "शीर्ष साइट सम्पादन गर्नुहोस्",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "शीर्षक प्रविष्ट गर्नुहोस्",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "URL लेख्नुहोस् ",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "थप्नुहोस्",
   "topsites_form_save_button": "सङ्ग्रह गर्नुहोस्",
   "topsites_form_cancel_button": "रद्द गर्नुहोस्",
   "topsites_form_url_validation": "मान्य URL चाहिन्छ",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "लोकप्रिय शीर्षकहरू:",
   "pocket_read_even_more": "अरू कथा देखाउनुहोस्",
-  "pocket_feedback_header": "वेबको सर्वोत्तम, 25 मिलियन भन्दा बढी व्यक्तिहरू द्वारा लिपिबद्ध।",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "पर्दैन, धन्यबाद",
   "manual_migration_import_button": "अहिले आयात गर्नुहोस्",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "जानकारी",
+  "section_info_privacy_notice": "गोपनीयता नीति",
+  "settings_pane_bookmarks_body": "तपाईंको नयाँ सिर्जना गरिएको पुस्तकचिनोहरुहरू एउटा सजिलो स्थानमा ।",
+  "edit_topsites_button_label": "तपाईंको शीर्ष साइट खण्ड अनुकूलन गर्नुहोस्",
+  "edit_topsites_showmore_button": "थप देखाउनुहोस्",
+  "edit_topsites_showless_button": "थोरै देखाउनुहोस्",
+  "edit_topsites_done_button": "सम्पन्न भयो",
+  "edit_topsites_pin_button": "यस साइटलाई पिन गर्नुहोस्",
+  "edit_topsites_unpin_button": "यस साइटलाई अनपिन गर्नुहोस्",
+  "edit_topsites_dismiss_button": "यस साइटलाई खारेज गर्नुहोस्",
+  "edit_topsites_add_button": "थप्नुहोस्",
+  "pocket_feedback_header": "वेबको सर्वोत्तम, 25 मिलियन भन्दा बढी व्यक्तिहरू द्वारा लिपिबद्ध।"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nieuw tabblad</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Zoeken op het web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Zoeken op het web" title="Zoeken op het web"/><button id="searchSubmit" class="search-button" title="Zoeken"><span class="sr-only"><span>Zoeken</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Topwebsites<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Aanbevolen door Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populaire onderwerpen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Zoeken op het web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Zoeken op het web" title="Zoeken op het web"/><button id="searchSubmit" class="search-button" title="Zoeken"><span class="sr-only"><span>Zoeken</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Topwebsites<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Aanbevolen door Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populaire onderwerpen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Opslaan naar Pocket",
   "menu_action_delete_pocket": "Verwijderen uit Pocket",
   "menu_action_archive_pocket": "Archiveren in Pocket",
   "search_for_something_with": "Zoeken naar {search_term} met:",
   "search_button": "Zoeken",
   "search_header": "{search_engine_name} doorzoeken",
   "search_web_placeholder": "Zoeken op het web",
   "search_settings": "Zoekinstellingen wijzigen",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Feedback verzenden",
-  "section_info_privacy_notice": "Privacyverklaring",
   "section_disclaimer_topstories": "De meest interessante verhalen op het web, geselecteerd op basis van wat u hebt gelezen. Van Pocket, nu onderdeel van Mozilla.",
   "section_disclaimer_topstories_linktext": "Lees hoe het werkt.",
   "section_disclaimer_topstories_buttontext": "Oké, begrepen",
   "welcome_title": "Welkom bij het nieuwe tabblad",
   "welcome_body": "Firefox gebruikt deze ruimte om uw meest relevante bladwijzers, artikelen, video’s en pagina’s die u onlangs hebt bezocht weer te geven, zodat u deze eenvoudig kunt terugvinden.",
   "welcome_label": "Uw highlights aanduiden",
   "time_label_less_than_minute": "< 1 m",
   "time_label_minute": "{number} m",
   "time_label_hour": "{number} u",
   "time_label_day": "{number} d",
+  "prefs_home_header": "Inhoud van Firefox-startpagina",
+  "prefs_home_description": "Kies welke inhoud u op uw Firefox-startpagina wilt weergeven.",
+  "prefs_restore_defaults_button": "Standaardwaarden herstellen",
+  "prefs_section_rows_option": "{num} rij;{num} rijen",
+  "prefs_search_header": "Zoeken op het web",
+  "prefs_topsites_description": "De door u meest bezochte websites",
+  "prefs_topstories_description": "Inhoud van hoge kwaliteit die u anders mogelijk mist",
+  "prefs_topstories_show_sponsored_label": "Gesponsorde verhalen van {provider}",
+  "prefs_topstories_sponsored_learn_more": "Meer info",
+  "prefs_highlights_description": "Een selectie van websites die u hebt opgeslagen of bezocht",
+  "prefs_snippets_description": "Updates van Mozilla en Firefox",
   "settings_pane_button_label": "Uw Nieuw-tabbladpagina aanpassen",
   "settings_pane_header": "Nieuw-tabbladvoorkeuren",
   "settings_pane_body2": "Kies wat u op deze pagina ziet.",
   "settings_pane_search_header": "Zoeken",
   "settings_pane_search_body": "Het web doorzoeken vanaf uw nieuwe tabblad.",
   "settings_pane_topsites_header": "Topwebsites",
   "settings_pane_topsites_body": "De websites benaderen die u het vaakst bezoekt.",
   "settings_pane_topsites_options_showmore": "Twee rijen tonen",
   "settings_pane_bookmarks_header": "Recente bladwijzers",
-  "settings_pane_bookmarks_body": "Uw nieuw aangemaakte bladwijzers op één handige plek.",
   "settings_pane_visit_again_header": "Nogmaals bezoeken",
-  "settings_pane_visit_again_body": "Firefox toont delen van uw navigatiegeschiedenis die u wellicht wilt onthouden of opnieuw wilt bezoeken.",
   "settings_pane_highlights_header": "Highlights",
   "settings_pane_highlights_body2": "Vind uw weg terug naar interessante dingen die u onlangs hebt bezocht of waarvoor u een bladwijzer hebt gemaakt.",
   "settings_pane_highlights_options_bookmarks": "Bladwijzers",
   "settings_pane_highlights_options_visited": "Bezochte websites",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Lees korte updates van Mozilla over Firefox, internetcultuur, en af en toe een willekeurige meme.",
   "settings_pane_done_button": "Gereed",
   "settings_pane_topstories_options_sponsored": "Gesponsorde verhalen tonen",
   "edit_topsites_button_text": "Bewerken",
-  "edit_topsites_button_label": "Uw sectie Topwebsites aanpassen",
-  "edit_topsites_showmore_button": "Meer tonen",
-  "edit_topsites_showless_button": "Minder tonen",
-  "edit_topsites_done_button": "Gereed",
-  "edit_topsites_pin_button": "Deze website vastmaken",
-  "edit_topsites_unpin_button": "Deze website losmaken",
   "edit_topsites_edit_button": "Deze website bewerken",
-  "edit_topsites_dismiss_button": "Deze website verwijderen",
-  "edit_topsites_add_button": "Toevoegen",
   "topsites_form_add_header": "Nieuwe topwebsite",
   "topsites_form_edit_header": "Topwebsite bewerken",
   "topsites_form_title_label": "Titel",
   "topsites_form_title_placeholder": "Voer een titel in",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL van aangepaste afbeelding",
   "topsites_form_url_placeholder": "Typ of plak een URL",
+  "topsites_form_use_image_link": "Een aangepaste afbeelding gebruiken…",
+  "topsites_form_preview_button": "Voorbeeld",
   "topsites_form_add_button": "Toevoegen",
   "topsites_form_save_button": "Opslaan",
   "topsites_form_cancel_button": "Annuleren",
   "topsites_form_url_validation": "Geldige URL vereist",
+  "topsites_form_image_validation": "Afbeelding kon niet worden geladen. Probeer een andere URL.",
   "pocket_read_more": "Populaire onderwerpen:",
   "pocket_read_even_more": "Meer verhalen bekijken",
-  "pocket_feedback_header": "Het beste van het web, geselecteerd door meer dan 25 miljoen mensen.",
   "pocket_description": "Ontdek inhoud van hoge kwaliteit die u anders zou missen met behulp van Pocket, nu onderdeel van Mozilla.",
   "highlights_empty_state": "Begin met surfen, en we tonen hier een aantal geweldige artikelen, video’s en andere pagina’s die u onlangs hebt bezocht of waarvoor u een bladwijzer hebt gemaakt.",
   "topstories_empty_state": "U bent weer bij. Kijk later nog eens voor meer topverhalen van {provider}. Kunt u niet wachten? Selecteer een populair onderwerp voor meer geweldige verhalen van het hele web.",
   "manual_migration_explanation2": "Probeer Firefox met de bladwijzers, geschiedenis en wachtwoorden van een andere browser.",
   "manual_migration_cancel_button": "Nee bedankt",
   "manual_migration_import_button": "Nu importeren",
   "error_fallback_default_info": "Oeps, er is iets misgegaan bij het laden van deze inhoud.",
   "error_fallback_default_refresh_suggestion": "Vernieuw de pagina om het opnieuw te proberen.",
   "section_menu_action_remove_section": "Sectie verwijderen",
   "section_menu_action_collapse_section": "Sectie samenvouwen",
   "section_menu_action_expand_section": "Sectie uitvouwen",
   "section_menu_action_manage_section": "Sectie beheren",
   "section_menu_action_add_topsite": "Topwebsite toevoegen",
   "section_menu_action_move_up": "Omhoog verplaatsen",
   "section_menu_action_move_down": "Omlaag verplaatsen",
-  "section_menu_action_privacy_notice": "Privacyverklaring"
+  "section_menu_action_privacy_notice": "Privacyverklaring",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Privacyverklaring",
+  "settings_pane_bookmarks_body": "Uw nieuw aangemaakte bladwijzers op één handige plek.",
+  "settings_pane_visit_again_body": "Firefox toont delen van uw navigatiegeschiedenis die u wellicht wilt onthouden of opnieuw wilt bezoeken.",
+  "edit_topsites_button_label": "Uw sectie Topwebsites aanpassen",
+  "edit_topsites_showmore_button": "Meer tonen",
+  "edit_topsites_showless_button": "Minder tonen",
+  "edit_topsites_done_button": "Gereed",
+  "edit_topsites_pin_button": "Deze website vastmaken",
+  "edit_topsites_unpin_button": "Deze website losmaken",
+  "edit_topsites_dismiss_button": "Deze website verwijderen",
+  "edit_topsites_add_button": "Toevoegen",
+  "pocket_feedback_header": "Het beste van het web, geselecteerd door meer dan 25 miljoen mensen."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Ny fane</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søk på nettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søk på nettet" title="Søk på nettet"/><button id="searchSubmit" class="search-button" title="Søk"><span class="sr-only"><span>Søk</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Mest besøkte nettsider<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Tilrådd av Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emne:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Høgdepunkt</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søk på nettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søk på nettet" title="Søk på nettet"/><button id="searchSubmit" class="search-button" title="Søk"><span class="sr-only"><span>Søk</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Mest besøkte nettsider<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Tilrådd av Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emne:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Høgdepunkt</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-strings.js
@@ -11,106 +11,120 @@ window.gActivityStreamStrings = {
   "header_bookmarks_placeholder": "Du har ingen bokmerke enno.",
   "header_stories_from": "frå",
   "context_menu_button_sr": "Opne kontekstmeny for {title}",
   "section_context_menu_button_sr": "Open the section context menu",
   "type_label_visited": "Besøkt",
   "type_label_bookmarked": "Bokmerkte",
   "type_label_synced": "Synkronisert frå ei anna eining",
   "type_label_recommended": "Trendar",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Lagra til Pocket",
   "type_label_open": "Opne",
   "type_label_topic": "Emne",
   "type_label_now": "No",
   "menu_action_bookmark": "Bokmerke",
   "menu_action_remove_bookmark": "Fjern bokmerke",
   "menu_action_copy_address": "Kopier adresse",
   "menu_action_email_link": "E-postlenke…",
   "menu_action_open_new_window": "Opne i nytt vindauge",
   "menu_action_open_private_window": "Opne i eit nytt privat vindauge",
   "menu_action_dismiss": "Avvis",
   "menu_action_delete": "Slett frå historikk",
   "menu_action_pin": "Fest",
   "menu_action_unpin": "L:ys",
   "confirm_history_delete_p1": "Er du sikker på at du vil slette alle førekomstar av denne sida frå historikken din?",
   "confirm_history_delete_notice_p2": "Denne handlinga kan ikkje angrast.",
   "menu_action_save_to_pocket": "Lagre til Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Slett frå Pocket",
+  "menu_action_archive_pocket": "Arkiver i Pocket",
   "search_for_something_with": "Søk etter {search_term} med:",
   "search_button": "Søk",
   "search_header": "{search_engine_name}",
   "search_web_placeholder": "Søk på nettet",
   "search_settings": "Endra søkjeinnstillingar",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Send tilbakemelding",
-  "section_info_privacy_notice": "Personvernerklæring",
   "section_disclaimer_topstories": "Dei mest interessante historiane på nettet, utvalde basert på kva du les. Frå Pocket, no ein del av Mozilla.",
   "section_disclaimer_topstories_linktext": "Sjå korleis det fungerar.",
   "section_disclaimer_topstories_buttontext": "OK, eg forstår det!",
   "welcome_title": "Velkomen til ny fane",
   "welcome_body": "Firefox vil bruke denne plassen til å vise deg dei mest relevante bokmerka, artiklane, videoane og sidene du nettopp har vitja, slik at du enkelt kan finne tilbake til dei.",
   "welcome_label": "Identifiserer høgdepunkta dine",
   "time_label_less_than_minute": "<1 min.",
   "time_label_minute": "{number} m",
   "time_label_hour": "{number} t",
   "time_label_day": "{number} d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Tilpass sida for Ny fane",
   "settings_pane_header": "Innstillingar for Ny fane",
   "settings_pane_body2": "Vel kva du skal vise på denne sida.",
   "settings_pane_search_header": "Søk",
   "settings_pane_search_body": "Søk på nettet frå den nye fana di.",
   "settings_pane_topsites_header": "Mest besøkte",
   "settings_pane_topsites_body": "Tilgang til nettsidene du besøkjer mest.",
   "settings_pane_topsites_options_showmore": "Vis to rader",
   "settings_pane_bookmarks_header": "Nylege bokmerke",
-  "settings_pane_bookmarks_body": "Dei nyaste bokmerka dine på ein plass.",
   "settings_pane_visit_again_header": "Besøk igjen",
-  "settings_pane_visit_again_body": "Firefox viser deg delar av surfehistorikken din som du kanskje ønskjer å hugse eller kome tilbake til.",
   "settings_pane_highlights_header": "Høgdepunkt",
   "settings_pane_highlights_body2": "Finn vegen tilbake til interessante ting du nyleg har besøkt eller bokmerka.",
   "settings_pane_highlights_options_bookmarks": "Bokmerke",
   "settings_pane_highlights_options_visited": "Besøkte nettsteder",
   "settings_pane_snippets_header": "Snuttar",
   "settings_pane_snippets_body": "Les korte nyheiter frå Mozilla om Firefox, internettkultur og frå tid til annan ein tilfeldig meme.",
   "settings_pane_done_button": "Ferdig",
   "settings_pane_topstories_options_sponsored": "Vis sponsa historiar",
   "edit_topsites_button_text": "Rediger",
-  "edit_topsites_button_label": "Tilpass seksjonen Mest besøkte",
-  "edit_topsites_showmore_button": "Vis meir",
-  "edit_topsites_showless_button": "Vis mindre",
-  "edit_topsites_done_button": "Ferdig",
-  "edit_topsites_pin_button": "Fest sida",
-  "edit_topsites_unpin_button": "Løys frå denne nettsida",
   "edit_topsites_edit_button": "Rediger denne nettsida",
-  "edit_topsites_dismiss_button": "Avvis denne nettsida",
-  "edit_topsites_add_button": "Legg til",
   "topsites_form_add_header": "Ny Mest besøkt",
   "topsites_form_edit_header": "Rediger Mest besøkt",
-  "topsites_form_title_label": "Title",
+  "topsites_form_title_label": "Tittel",
   "topsites_form_title_placeholder": "Skriv inn ein tittel",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Skriv eller lim inn ein URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Legg til",
   "topsites_form_save_button": "Lagre",
   "topsites_form_cancel_button": "Avbryt",
   "topsites_form_url_validation": "Gyldig URL er påkravd",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Populære emne:",
   "pocket_read_even_more": "Vis fleire saker",
-  "pocket_feedback_header": "Det beste av nettet, sett saman av over 25 millioner menneske.",
   "pocket_description": "Oppdag høgkvalitetsinnhald som du elles ville gå glipp av, ved hjelp av Pocket, som no er ein del av Mozilla.",
   "highlights_empty_state": "Begynn å surfe, og vi vil vise deg nokre av dei beste artiklane, videoane og andre sider du nyleg har besøkt eller bokmerka her.",
   "topstories_empty_state": "Det finst ikkje fleire. Kom tilbake seinare for fleire topphistoriar frå {provider}. Kan du ikkje vente? Vel eit populært emne for å finne fleire gode artiklar frå heile nettet.",
   "manual_migration_explanation2": "Prøv Firefox med bokmerka, historikk og passord frå ein annan nettlesar.",
   "manual_migration_cancel_button": "Nei takk",
   "manual_migration_import_button": "Importer no",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Legg til mest besøkt"
+  "section_menu_action_move_up": "Flytt opp",
+  "section_menu_action_move_down": "Flytt ned",
+  "section_menu_action_privacy_notice": "Personvernmerknad",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Personvernerklæring",
+  "settings_pane_bookmarks_body": "Dei nyaste bokmerka dine på ein plass.",
+  "settings_pane_visit_again_body": "Firefox viser deg delar av surfehistorikken din som du kanskje ønskjer å hugse eller kome tilbake til.",
+  "edit_topsites_button_label": "Tilpass seksjonen Mest besøkte",
+  "edit_topsites_showmore_button": "Vis meir",
+  "edit_topsites_showless_button": "Vis mindre",
+  "edit_topsites_done_button": "Ferdig",
+  "edit_topsites_pin_button": "Fest sida",
+  "edit_topsites_unpin_button": "Løys frå denne nettsida",
+  "edit_topsites_dismiss_button": "Avvis denne nettsida",
+  "edit_topsites_add_button": "Legg til",
+  "pocket_feedback_header": "Det beste av nettet, sett saman av over 25 millioner menneske."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>ਨਵੀਂ ਟੈਬ</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ਵੈੱਬ ਨੂੰ ਖੋਜੋ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ਵੈੱਬ ਨੂੰ ਖੋਜੋ" title="ਵੈੱਬ ਨੂੰ ਖੋਜੋ"/><button id="searchSubmit" class="search-button" title="ਖੋਜੋ"><span class="sr-only"><span>ਖੋਜੋ</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ਸਿਖਰਲੀਆਂ ਸਾਈਟਾਂ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ਵਲੋਂ ਸਿਫਾਰਸ਼ੀ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ਸੁਰਖੀਆਂ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ਵੈੱਬ ਨੂੰ ਖੋਜੋ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ਵੈੱਬ ਨੂੰ ਖੋਜੋ" title="ਵੈੱਬ ਨੂੰ ਖੋਜੋ"/><button id="searchSubmit" class="search-button" title="ਖੋਜੋ"><span class="sr-only"><span>ਖੋਜੋ</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ਸਿਖਰਲੀਆਂ ਸਾਈਟਾਂ<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ਵਲੋਂ ਸਿਫਾਰਸ਼ੀ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ਸੁਰਖੀਆਂ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-strings.js
@@ -35,81 +35,92 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Save to Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "{search_term} ਨੂੰ ਇਸ ਨਾਲ ਖੋਜੋ:",
   "search_button": "ਖੋਜੋ",
   "search_header": "{search_engine_name} ਖੋਜ",
   "search_web_placeholder": "ਵੈੱਬ ਨੂੰ ਖੋਜੋ",
   "search_settings": "ਖੋਜ ਸੈਟਿੰਗਾਂ ਨੂੰ ਬਦਲੋ",
-  "section_info_option": "ਜਾਣਕਾਰੀ",
   "section_info_send_feedback": "ਫੀਡਬੈਕ ਭੇਜੋ",
-  "section_info_privacy_notice": "ਪਰਦੇਦਾਰੀ ਨੋਟਿਸ",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "ਨਵੀਂ ਟੈਬ ਉੱਤੇ ਜੀ ਆਇਆਂ ਨੂੰ",
   "welcome_body": "ਫਾਇਰਫਾਕਸ ਇਸ ਥਾਂ ਨੂੰ ਤੁਹਾਡੇ ਲਈ ਸਭ ਤੋਂ ਵੱਧ ਢੁੱਕਵੇਂ ਬੁੱਕਮਾਰਕ, ਲੇਖ, ਵੀਡੀਓ ਅਤੇ ਸਫ਼ੇ ਵਿਖਾਉਣ ਲਈ ਵਰਤੇਗਾ, ਜਿਹਨਾਂ ਨੂੰ ਤੁਸੀਂ ਹਾਲ ਵਿੱਚ ਹੀ ਖੋਲ੍ਹਿਆ ਹੈ ਤਾਂ ਕਿ ਤੁਸੀਂ ਉਹਨਾਂ ਉੱਤੇ ਸੌਖੀ ਤਰ੍ਹਾਂ ਵਾਪਸ ਜਾ ਸਕੋ।",
   "welcome_label": "ਤੁਹਾਡੇ ਹਾਈਲਾਈਟ ਨੂੰ ਪਛਾਣਿਆ ਜਾ ਰਿਹਾ ਹੈ",
   "time_label_less_than_minute": "<1ਮਿੰ",
   "time_label_minute": "{number}ਮਿੰ",
   "time_label_hour": "{number}ਘੰ",
   "time_label_day": "{number}ਦਿ",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "ਆਪਣੇ ਨਵੀਂ ਟੈਬ ਸਫ਼ੇ ਨੂੰ ਆਪਣੇ ਮੁਤਾਬਕ ਢਾਲੋ",
   "settings_pane_header": "ਨਵੀਂ ਟੈਬ ਲਈ ਪਸੰਦਾਂ",
   "settings_pane_body2": "Choose what you see on this page.",
   "settings_pane_search_header": "ਖੋਜੋ",
   "settings_pane_search_body": "ਆਪਣੀ ਨਵੀਂ ਟੈਬ ਤੋਂ ਵੈੱਬ ਨੂੰ ਖੋਜੋ।",
   "settings_pane_topsites_header": "ਸਿਖਰਲੀਆਂ ਸਾਈਟਾਂ",
   "settings_pane_topsites_body": "ਵੈੱਬਸਾਈਟਾਂ, ਜਿਹਨਾਂ ਨੂੰ ਤੁਸੀਂ ਸਭ ਤੋਂ ਵੱਧ ਖੋਲ੍ਹਿਆ ਹੈ, ਲਈ ਪਹੁੰਚ।",
   "settings_pane_topsites_options_showmore": "ਦੋ ਕਤਾਰਾਂ ਵੇਖਾਓ",
   "settings_pane_bookmarks_header": "Recent Bookmarks",
-  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
   "settings_pane_visit_again_header": "Visit Again",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "ਹਾਈਲਾਈਟ",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "ਬੁੱਕਮਾਰਕ",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "ਮੁਕੰਮਲ",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "ਸੋਧੋ",
-  "edit_topsites_button_label": "ਆਪਣੇ ਸਿਖਰਲੀਆਂ ਸਾਈਟਾਂ ਭਾਗ ਨੂੰ ਲੋੜ ਮੁਤਾਬਕ ਢਾਲੋ",
-  "edit_topsites_showmore_button": "ਹੋਰ ਵੇਖਾਓ",
-  "edit_topsites_showless_button": "ਘੱਟ ਵੇਖਾਓ",
-  "edit_topsites_done_button": "ਮੁਕੰਮਲ",
-  "edit_topsites_pin_button": "ਇਸ ਸਾਈਟ ਨੂੰ ਟੰਗੋ",
-  "edit_topsites_unpin_button": "Unpin this site",
   "edit_topsites_edit_button": "ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ",
-  "edit_topsites_dismiss_button": "ਇਸ ਸਾਈਟ ਰੱਦ ਕਰੋ",
-  "edit_topsites_add_button": "ਜੋੜੋ",
   "topsites_form_add_header": "New Top Site",
   "topsites_form_edit_header": "Edit Top Site",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Enter a title",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Type or paste a URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "ਜੋੜੋ",
   "topsites_form_save_button": "ਸੰਭਾਲੋ",
   "topsites_form_cancel_button": "ਰੱਦ ਕਰੋ",
   "topsites_form_url_validation": "Valid URL required",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Popular Topics:",
   "pocket_read_even_more": "View More Stories",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "ਨਹੀਂ, ਧੰਨਵਾਦ",
   "manual_migration_import_button": "ਹੁਣੇ ਇੰਪੋਰਟ ਕਰੋ",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "ਜਾਣਕਾਰੀ",
+  "section_info_privacy_notice": "ਪਰਦੇਦਾਰੀ ਨੋਟਿਸ",
+  "edit_topsites_button_label": "ਆਪਣੇ ਸਿਖਰਲੀਆਂ ਸਾਈਟਾਂ ਭਾਗ ਨੂੰ ਲੋੜ ਮੁਤਾਬਕ ਢਾਲੋ",
+  "edit_topsites_showmore_button": "ਹੋਰ ਵੇਖਾਓ",
+  "edit_topsites_showless_button": "ਘੱਟ ਵੇਖਾਓ",
+  "edit_topsites_done_button": "ਮੁਕੰਮਲ",
+  "edit_topsites_pin_button": "ਇਸ ਸਾਈਟ ਨੂੰ ਟੰਗੋ",
+  "edit_topsites_dismiss_button": "ਇਸ ਸਾਈਟ ਰੱਦ ਕਰੋ",
+  "edit_topsites_add_button": "ਜੋੜੋ"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nowa karta</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Szukaj</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Szukaj" title="Szukaj"/><button id="searchSubmit" class="search-button" title="Szukaj"><span class="sr-only"><span>Szukaj</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Popularne<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Poleca: Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne tematy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wyróżnione</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Szukaj</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Szukaj" title="Szukaj"/><button id="searchSubmit" class="search-button" title="Szukaj"><span class="sr-only"><span>Szukaj</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Popularne<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Poleca: Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne tematy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wyróżnione</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-strings.js
@@ -11,105 +11,120 @@ window.gActivityStreamStrings = {
   "header_bookmarks_placeholder": "Nie ma jeszcze żadnych zakładek.",
   "header_stories_from": "od:",
   "context_menu_button_sr": "Otwórz menu kontekstowe dla „{title}”",
   "section_context_menu_button_sr": "Otwórz menu kontekstowe sekcji",
   "type_label_visited": "Odwiedzone",
   "type_label_bookmarked": "Zakładka",
   "type_label_synced": "Z innego urządzenia",
   "type_label_recommended": "Na czasie",
-  "type_label_pocket": "Zapisane w Pocket",
+  "type_label_pocket": "Zachowane w Pocket",
   "type_label_open": "Otwarte",
   "type_label_topic": "Temat",
   "type_label_now": "Teraz",
   "menu_action_bookmark": "Dodaj zakładkę",
   "menu_action_remove_bookmark": "Usuń zakładkę",
   "menu_action_copy_address": "Kopiuj adres",
   "menu_action_email_link": "Wyślij odnośnik…",
   "menu_action_open_new_window": "Otwórz w nowym oknie",
   "menu_action_open_private_window": "Otwórz w nowym oknie prywatnym",
   "menu_action_dismiss": "Odrzuć",
   "menu_action_delete": "Usuń z historii",
   "menu_action_pin": "Przypnij",
   "menu_action_unpin": "Odepnij",
   "confirm_history_delete_p1": "Czy na pewno usunąć każde wystąpienie tej strony z historii?",
   "confirm_history_delete_notice_p2": "Nie można tego cofnąć.",
-  "menu_action_save_to_pocket": "Zapisz w Pocket",
+  "menu_action_save_to_pocket": "Zachowaj w Pocket",
   "menu_action_delete_pocket": "Usuń z Pocket",
   "menu_action_archive_pocket": "Archiwizuj w Pocket",
   "search_for_something_with": "Szukaj „{search_term}” w:",
   "search_button": "Szukaj",
   "search_header": "Wyszukiwanie w {search_engine_name}",
   "search_web_placeholder": "Szukaj",
   "search_settings": "Zmień ustawienia wyszukiwania",
-  "section_info_option": "Informacja",
   "section_info_send_feedback": "Wyślij opinię",
-  "section_info_privacy_notice": "Prywatność",
   "section_disclaimer_topstories": "Najciekawsze artykuły w Internecie, wybierane na podstawie już przeczytanych. Od serwisu Pocket, będącego teraz częścią Mozilli.",
   "section_disclaimer_topstories_linktext": "Zobacz, jak to działa.",
   "section_disclaimer_topstories_buttontext": "OK!",
   "welcome_title": "Witamy w nowej karcie",
   "welcome_body": "W tym miejscu Firefox będzie wyświetlał najciekawsze zakładki, artykuły, filmy i niedawno odwiedzone strony, aby można było do nich łatwo wrócić.",
   "welcome_label": "Wykrywanie ulubionych treści użytkownika",
   "time_label_less_than_minute": "<1 min",
   "time_label_minute": "{number} min",
   "time_label_hour": "{number} godz.",
   "time_label_day": "{number} d.",
+  "prefs_home_header": "Strona startowa Firefoksa",
+  "prefs_home_description": "Wybierz, co wyświetlać na stronie startowej Firefoksa.",
+  "prefs_restore_defaults_button": "Przywróć domyślne",
+  "prefs_section_rows_option": "{num} rząd;{num} rzędy;{num} rzędów",
+  "prefs_search_header": "Wyszukiwanie",
+  "prefs_topsites_description": "Najczęściej odwiedzane strony",
+  "prefs_topstories_description": "Wysokiej jakości treści, aby nic nie przegapić",
+  "prefs_topstories_show_sponsored_label": "Artykuły sponsorowane przez {provider}",
+  "prefs_topstories_sponsored_learn_more": "Więcej informacji",
+  "prefs_highlights_description": "Wybór zachowanych i odwiedzonych stron",
+  "prefs_snippets_description": "Informacje od Mozilli i Firefoksa",
   "settings_pane_button_label": "Dostosuj stronę nowej karty",
   "settings_pane_header": "Preferencje nowej karty",
   "settings_pane_body2": "Wybierz, co wyświetlać na tej stronie.",
   "settings_pane_search_header": "Wyszukiwanie",
   "settings_pane_search_body": "Szukaj w Internecie na nowej karcie.",
   "settings_pane_topsites_header": "Popularne",
   "settings_pane_topsites_body": "Otwieraj najczęściej odwiedzane strony.",
   "settings_pane_topsites_options_showmore": "Dwa rzędy",
   "settings_pane_bookmarks_header": "Najnowsze zakładki",
-  "settings_pane_bookmarks_body": "Nowo utworzone zakładki w jednym miejscu.",
   "settings_pane_visit_again_header": "Odwiedź ponownie",
-  "settings_pane_visit_again_body": "Firefox pokaże strony z historii, do których warto wrócić.",
   "settings_pane_highlights_header": "Wyróżnione",
   "settings_pane_highlights_body2": "Szybko wracaj do niedawno odwiedzonych stron i dodanych zakładek.",
   "settings_pane_highlights_options_bookmarks": "Zakładki",
   "settings_pane_highlights_options_visited": "Odwiedzone",
   "settings_pane_snippets_header": "Notki",
   "settings_pane_snippets_body": "Krótkie informacje od Mozilli o Firefoksie i kulturze internetowej, a od czasu do czasu także jakiś żart.",
   "settings_pane_done_button": "Gotowe",
   "settings_pane_topstories_options_sponsored": "Sponsorowane artykuły",
   "edit_topsites_button_text": "Edytuj",
-  "edit_topsites_button_label": "Dostosuj popularne strony",
-  "edit_topsites_showmore_button": "Więcej",
-  "edit_topsites_showless_button": "Mniej",
-  "edit_topsites_done_button": "Gotowe",
-  "edit_topsites_pin_button": "Przypnij tę stronę",
-  "edit_topsites_unpin_button": "Odepnij tę stronę",
   "edit_topsites_edit_button": "Edytuj tę stronę",
-  "edit_topsites_dismiss_button": "Odrzuć tę stronę",
-  "edit_topsites_add_button": "Dodaj",
   "topsites_form_add_header": "Nowa popularna strona",
   "topsites_form_edit_header": "Edytuj popularną stronę",
   "topsites_form_title_label": "Tytuł",
   "topsites_form_title_placeholder": "Wpisz tytuł",
   "topsites_form_url_label": "Adres",
+  "topsites_form_image_url_label": "Adres niestandardowego obrazu",
   "topsites_form_url_placeholder": "Wpisz lub wklej adres",
+  "topsites_form_use_image_link": "Użyj niestandardowego obrazu…",
+  "topsites_form_preview_button": "Podgląd",
   "topsites_form_add_button": "Dodaj",
   "topsites_form_save_button": "Zapisz",
   "topsites_form_cancel_button": "Anuluj",
   "topsites_form_url_validation": "Wymagany jest prawidłowy adres",
+  "topsites_form_image_validation": "Wczytanie obrazu się nie powiodło. Spróbuj innego adresu.",
   "pocket_read_more": "Popularne tematy:",
   "pocket_read_even_more": "Więcej artykułów",
-  "pocket_feedback_header": "Najlepsze, co oferuje Internet, wybrane przez ponad 25 milionów osób.",
   "pocket_description": "Odkrywaj wysokiej jakości treści dzięki serwisowi Pocket, będącego teraz częścią Mozilli.",
   "highlights_empty_state": "Zacznij przeglądać Internet, a pojawią się tutaj niedawno dodane zakładki i odwiedzone artykuły, filmy i inne strony.",
   "topstories_empty_state": "To na razie wszystko. {provider} później będzie mieć więcej popularnych artykułów. Nie możesz się doczekać? Wybierz popularny temat, aby znaleźć więcej artykułów z całego Internetu.",
   "manual_migration_explanation2": "Używaj Firefoksa z zakładkami, historią i hasłami z innej przeglądarki.",
   "manual_migration_cancel_button": "Nie, dziękuję",
   "manual_migration_import_button": "Importuj teraz",
   "error_fallback_default_info": "Coś się nie powiodło podczas wczytywania tej treści.",
   "error_fallback_default_refresh_suggestion": "Odśwież stronę, aby spróbować ponownie.",
   "section_menu_action_remove_section": "Usuń sekcję",
   "section_menu_action_collapse_section": "Zwiń sekcję",
   "section_menu_action_expand_section": "Rozwiń sekcję",
   "section_menu_action_manage_section": "Zarządzaj sekcją",
   "section_menu_action_add_topsite": "Dodaj popularną stronę",
   "section_menu_action_move_up": "Przenieś w górę",
   "section_menu_action_move_down": "Przenieś w dół",
-  "section_menu_action_privacy_notice": "Prywatność"
+  "section_menu_action_privacy_notice": "Prywatność",
+  "section_info_option": "Informacja",
+  "section_info_privacy_notice": "Prywatność",
+  "settings_pane_bookmarks_body": "Nowo utworzone zakładki w jednym miejscu.",
+  "settings_pane_visit_again_body": "Firefox pokaże strony z historii, do których warto wrócić.",
+  "edit_topsites_button_label": "Dostosuj popularne strony",
+  "edit_topsites_showmore_button": "Więcej",
+  "edit_topsites_showless_button": "Mniej",
+  "edit_topsites_done_button": "Gotowe",
+  "edit_topsites_pin_button": "Przypnij tę stronę",
+  "edit_topsites_unpin_button": "Odepnij tę stronę",
+  "edit_topsites_dismiss_button": "Odrzuć tę stronę",
+  "edit_topsites_add_button": "Dodaj",
+  "pocket_feedback_header": "Najlepsze, co oferuje Internet, wybrane przez ponad 25 milionów osób."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nova aba</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pesquisar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pesquisar na Web" title="Pesquisar na Web"/><button id="searchSubmit" class="search-button" title="Pesquisar"><span class="sr-only"><span>Pesquisar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sites preferidos<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destaques</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pesquisar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pesquisar na Web" title="Pesquisar na Web"/><button id="searchSubmit" class="search-button" title="Pesquisar"><span class="sr-only"><span>Pesquisar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sites preferidos<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destaques</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Salvar no Pocket",
   "menu_action_delete_pocket": "Excluir do Pocket",
   "menu_action_archive_pocket": "Arquivar no Pocket",
   "search_for_something_with": "Pesquisar por {search_term} com:",
   "search_button": "Pesquisar",
   "search_header": "Pesquisa {search_engine_name}",
   "search_web_placeholder": "Pesquisar na Web",
   "search_settings": "Alterar configurações de pesquisa",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Enviar feedback",
-  "section_info_privacy_notice": "Política de Privacidade",
   "section_disclaimer_topstories": "As histórias mais interessantes na web, selecionadas baseadas no que você lê. Do Pocket, agora parte da Mozilla.",
   "section_disclaimer_topstories_linktext": "Saiba como funciona.",
   "section_disclaimer_topstories_buttontext": "Ok, entendi",
   "welcome_title": "Bem-vindo a nova aba",
   "welcome_body": "O Firefox usará este espaço para mostrar seus favoritos, artigos, vídeos e páginas que você visitou recentemente, assim você pode voltar mais facilmente.",
   "welcome_label": "Identificando seus destaques",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Conteúdo do ecrã inicial do Firefox",
+  "prefs_home_description": "Escolha que conteúdo deseja no seu ecrã inicial do Firefox.",
+  "prefs_restore_defaults_button": "Restaurar predefinições",
+  "prefs_section_rows_option": "{num} linha;{num} linhas",
+  "prefs_search_header": "Pesquisa Web",
+  "prefs_topsites_description": "Os sites que mais visita",
+  "prefs_topstories_description": "Conteúdo de alta-qualidade que poderia de outra maneira, perder",
+  "prefs_topstories_show_sponsored_label": "Histórias patrocinadas do {provider}",
+  "prefs_topstories_sponsored_learn_more": "Saber mais",
+  "prefs_highlights_description": "Uma seleção de sites que guardou ou visitou",
+  "prefs_snippets_description": "Atualizações da Mozilla e do Firefox",
   "settings_pane_button_label": "Personalizar sua página de nova aba",
   "settings_pane_header": "Preferências de novas abas",
   "settings_pane_body2": "Escolha o que verá nessa página.",
   "settings_pane_search_header": "Pesquisar",
   "settings_pane_search_body": "Pesquise na Web a partir da sua nova aba.",
   "settings_pane_topsites_header": "Sites preferidos",
   "settings_pane_topsites_body": "Acesse os sites que você mais visita.",
   "settings_pane_topsites_options_showmore": "Mostrar duas linhas",
   "settings_pane_bookmarks_header": "Favoritos recentes",
-  "settings_pane_bookmarks_body": "Seus favoritos recém criados em uma posição acessível.",
   "settings_pane_visit_again_header": "Visite novamente",
-  "settings_pane_visit_again_body": "Firefox irá exibir a você partes do seu histórico de navegação que você pode querer relembrar ou acessar novamente.",
   "settings_pane_highlights_header": "Destaques",
   "settings_pane_highlights_body2": "Encontre o caminho de volta para as coisas interessantes que você favoritou ou viu recentemente.",
   "settings_pane_highlights_options_bookmarks": "Favoritos",
   "settings_pane_highlights_options_visited": "Sites visitados",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Saiba das notícias e novidades da Mozilla sobre o Firefox, Internet e às vezes alguns memes.",
   "settings_pane_done_button": "Concluído",
   "settings_pane_topstories_options_sponsored": "Mostrar histórias patrocinadas",
   "edit_topsites_button_text": "Editar",
-  "edit_topsites_button_label": "Personalizar a sua seção de sites preferidos",
-  "edit_topsites_showmore_button": "Mostrar mais",
-  "edit_topsites_showless_button": "Mostrar menos",
-  "edit_topsites_done_button": "Concluído",
-  "edit_topsites_pin_button": "Fixar este site",
-  "edit_topsites_unpin_button": "Desafixar este site",
   "edit_topsites_edit_button": "Editar este site",
-  "edit_topsites_dismiss_button": "Descartar este site",
-  "edit_topsites_add_button": "Adicionar",
   "topsites_form_add_header": "Novo site popular",
   "topsites_form_edit_header": "Editar site popular",
   "topsites_form_title_label": "Título",
   "topsites_form_title_placeholder": "Digite um título",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL de imagem personalizada",
   "topsites_form_url_placeholder": "Digite ou cole um URL",
+  "topsites_form_use_image_link": "Utilizar uma imagem personalizada…",
+  "topsites_form_preview_button": "Pré-visualizar",
   "topsites_form_add_button": "Adicionar",
   "topsites_form_save_button": "Salvar",
   "topsites_form_cancel_button": "Cancelar",
   "topsites_form_url_validation": "É necessário um URL válido",
+  "topsites_form_image_validation": "A imagem falhou o carregamento. Tente um URL diferente.",
   "pocket_read_more": "Tópicos populares:",
   "pocket_read_even_more": "Ver mais histórias",
-  "pocket_feedback_header": "O melhor da web, com curadoria de mais de 25 milhões de pessoas.",
   "pocket_description": "Descubra conteúdo de alta qualidade que você poderia ter perdido, com a ajuda do Pocket, agora parte da Mozilla.",
   "highlights_empty_state": "Comece a navegar e nós mostraremos aqui alguns ótimos artigos, vídeos e outras páginas que você favoritou ou visitou recentemente.",
   "topstories_empty_state": "Você já viu tudo. Volte mais tarde para mais histórias do {provider}. Não consegue esperar? Escolha um assunto popular para encontrar mais grandes histórias através da web.",
   "manual_migration_explanation2": "Experimente o Firefox com os favoritos, histórico e senhas salvas em outro navegador.",
   "manual_migration_cancel_button": "Não, obrigado",
   "manual_migration_import_button": "Importar agora",
   "error_fallback_default_info": "Opa, algo deu errado ao carregar esse conteúdo.",
   "error_fallback_default_refresh_suggestion": "Atualize a página para tentar novamente.",
   "section_menu_action_remove_section": "Remover seção",
   "section_menu_action_collapse_section": "Recolher seção",
   "section_menu_action_expand_section": "Expandir seção",
   "section_menu_action_manage_section": "Gerenciar seção",
   "section_menu_action_add_topsite": "Adicionar ao sites preferidos",
   "section_menu_action_move_up": "Mover para cima",
   "section_menu_action_move_down": "Mover para baixo",
-  "section_menu_action_privacy_notice": "Política de privacidade"
+  "section_menu_action_privacy_notice": "Política de privacidade",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Política de Privacidade",
+  "settings_pane_bookmarks_body": "Seus favoritos recém criados em uma posição acessível.",
+  "settings_pane_visit_again_body": "Firefox irá exibir a você partes do seu histórico de navegação que você pode querer relembrar ou acessar novamente.",
+  "edit_topsites_button_label": "Personalizar a sua seção de sites preferidos",
+  "edit_topsites_showmore_button": "Mostrar mais",
+  "edit_topsites_showless_button": "Mostrar menos",
+  "edit_topsites_done_button": "Concluído",
+  "edit_topsites_pin_button": "Fixar este site",
+  "edit_topsites_unpin_button": "Desafixar este site",
+  "edit_topsites_dismiss_button": "Descartar este site",
+  "edit_topsites_add_button": "Adicionar",
+  "pocket_feedback_header": "O melhor da web, com curadoria de mais de 25 milhões de pessoas."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Novo separador</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pesquisar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pesquisar na Web" title="Pesquisar na Web"/><button id="searchSubmit" class="search-button" title="Pesquisar"><span class="sr-only"><span>Pesquisar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sites mais visitados<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destaques</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pesquisar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pesquisar na Web" title="Pesquisar na Web"/><button id="searchSubmit" class="search-button" title="Pesquisar"><span class="sr-only"><span>Pesquisar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sites mais visitados<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destaques</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Guardar no Pocket",
   "menu_action_delete_pocket": "Apagar do Pocket",
   "menu_action_archive_pocket": "Arquivar no Pocket",
   "search_for_something_with": "Pesquisar por {search_term} com:",
   "search_button": "Pesquisar",
   "search_header": "Pesquisa {search_engine_name}",
   "search_web_placeholder": "Pesquisar na Web",
   "search_settings": "Alterar definições de pesquisa",
-  "section_info_option": "Informação",
   "section_info_send_feedback": "Enviar feedback",
-  "section_info_privacy_notice": "Aviso de privacidade",
   "section_disclaimer_topstories": "As histórias mais interessantes na web, selecionadas baseadas no que você lê. Do Pocket, agora parte da Mozilla.",
   "section_disclaimer_topstories_linktext": "Saiba como funciona.",
   "section_disclaimer_topstories_buttontext": "Ok, entendi",
   "welcome_title": "Bem-vindo(a) ao novo separador",
   "welcome_body": "O Firefox irá utilizar este espaço para lhe mostrar os seus marcadores, artigos, vídeos, e páginas mais relevantes que visitou recentemente, para que possa regressar a estes mais facilmente.",
   "welcome_label": "A identificar os seus destaques",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Conteúdo do ecrã inicial do Firefox",
+  "prefs_home_description": "Escolha que conteúdo deseja no seu ecrã inicial do Firefox.",
+  "prefs_restore_defaults_button": "Restaurar predefinições",
+  "prefs_section_rows_option": "{num} linha;{num} linhas",
+  "prefs_search_header": "Pesquisa Web",
+  "prefs_topsites_description": "Os sites que mais visita",
+  "prefs_topstories_description": "Conteúdo de alta-qualidade que poderia de outra maneira, perder",
+  "prefs_topstories_show_sponsored_label": "Histórias patrocinadas do {provider}",
+  "prefs_topstories_sponsored_learn_more": "Saber mais",
+  "prefs_highlights_description": "Uma seleção de sites que guardou ou visitou",
+  "prefs_snippets_description": "Atualizações da Mozilla e do Firefox",
   "settings_pane_button_label": "Personalizar a sua página de novo separador",
   "settings_pane_header": "Preferências de novo separador",
   "settings_pane_body2": "Escolha o que vê nesta página.",
   "settings_pane_search_header": "Pesquisa",
   "settings_pane_search_body": "Pesquise na Web a partir do seu novo separador.",
   "settings_pane_topsites_header": "Sites mais visitados",
   "settings_pane_topsites_body": "Aceda aos websites que mais visita.",
   "settings_pane_topsites_options_showmore": "Mostrar duas linhas",
   "settings_pane_bookmarks_header": "Marcadores recentes",
-  "settings_pane_bookmarks_body": "Os seus marcadores recém-criados num único local acessível.",
   "settings_pane_visit_again_header": "Visitar novamente",
-  "settings_pane_visit_again_body": "O Firefox irá mostrar-lhe partes do seu histórico de navegação que pode querer relembrar ou voltar a aceder.",
   "settings_pane_highlights_header": "Destaques",
   "settings_pane_highlights_body2": "Encontre o seu caminho de volta a coisas interessantes que visitou recentemente ou adicionou aos marcadores.",
   "settings_pane_highlights_options_bookmarks": "Marcadores",
   "settings_pane_highlights_options_visited": "Sites visitados",
   "settings_pane_snippets_header": "Excertos",
   "settings_pane_snippets_body": "Leia atualizações curtas da Mozilla acerca do Firefox, cultura da internet, e o ocasional meme aleatório.",
   "settings_pane_done_button": "Feito",
   "settings_pane_topstories_options_sponsored": "Mostrar histórias patrocinadas",
   "edit_topsites_button_text": "Editar",
-  "edit_topsites_button_label": "Personalizar a sua secção de sites mais visitados",
-  "edit_topsites_showmore_button": "Mostrar mais",
-  "edit_topsites_showless_button": "Mostrar menos",
-  "edit_topsites_done_button": "Feito",
-  "edit_topsites_pin_button": "Afixar este site",
-  "edit_topsites_unpin_button": "Desafixar este site",
   "edit_topsites_edit_button": "Editar este site",
-  "edit_topsites_dismiss_button": "Descartar este site",
-  "edit_topsites_add_button": "Adicionar",
   "topsites_form_add_header": "Novo site mais visitado",
   "topsites_form_edit_header": "Editar site mais visitado",
   "topsites_form_title_label": "Título",
   "topsites_form_title_placeholder": "Digite um título",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL de imagem personalizada",
   "topsites_form_url_placeholder": "Digite ou cole um URL",
+  "topsites_form_use_image_link": "Utilizar uma imagem personalizada…",
+  "topsites_form_preview_button": "Pré-visualizar",
   "topsites_form_add_button": "Adicionar",
   "topsites_form_save_button": "Guardar",
   "topsites_form_cancel_button": "Cancelar",
   "topsites_form_url_validation": "URL válido requerido",
+  "topsites_form_image_validation": "A imagem falhou o carregamento. Tente um URL diferente.",
   "pocket_read_more": "Tópicos populares:",
   "pocket_read_even_more": "Ver mais histórias",
-  "pocket_feedback_header": "O melhor da web, com curadoria de mais de 25 milhões de pessoas.",
   "pocket_description": "Descubra conteúdo de alta qualidade que podia de outra maneira perder, com a ajuda do Pocket, agora parte da Mozilla.",
   "highlights_empty_state": "Comece a navegar, e iremos mostrar-lhe alguns dos ótimos artigos, vídeos, e outras páginas que visitou recentemente ou adicionou aos marcadores aqui.",
   "topstories_empty_state": "Já apanhou tudo. Verifique mais tarde para mais histórias principais de {provider}. Não pode esperar? Selecione um tópico popular para encontrar mais boas histórias de toda a web.",
   "manual_migration_explanation2": "Experimente o Firefox com marcadores, histórico e palavras-passe de outro navegador.",
   "manual_migration_cancel_button": "Não, obrigado",
   "manual_migration_import_button": "Importar agora",
   "error_fallback_default_info": "Oops, algo correu mal ao carregar este conteúdo.",
   "error_fallback_default_refresh_suggestion": "Atualize a página para tentar novamente.",
   "section_menu_action_remove_section": "Remover secção",
   "section_menu_action_collapse_section": "Colapsar secção",
   "section_menu_action_expand_section": "Expandir secção",
   "section_menu_action_manage_section": "Gerir secção",
   "section_menu_action_add_topsite": "Adicionar site mais visitado",
   "section_menu_action_move_up": "Mover para cima",
   "section_menu_action_move_down": "Mover para baixo",
-  "section_menu_action_privacy_notice": "Aviso de privacidade"
+  "section_menu_action_privacy_notice": "Aviso de privacidade",
+  "section_info_option": "Informação",
+  "section_info_privacy_notice": "Aviso de privacidade",
+  "settings_pane_bookmarks_body": "Os seus marcadores recém-criados num único local acessível.",
+  "settings_pane_visit_again_body": "O Firefox irá mostrar-lhe partes do seu histórico de navegação que pode querer relembrar ou voltar a aceder.",
+  "edit_topsites_button_label": "Personalizar a sua secção de sites mais visitados",
+  "edit_topsites_showmore_button": "Mostrar mais",
+  "edit_topsites_showless_button": "Mostrar menos",
+  "edit_topsites_done_button": "Feito",
+  "edit_topsites_pin_button": "Afixar este site",
+  "edit_topsites_unpin_button": "Desafixar este site",
+  "edit_topsites_dismiss_button": "Descartar este site",
+  "edit_topsites_add_button": "Adicionar",
+  "pocket_feedback_header": "O melhor da web, com curadoria de mais de 25 milhões de pessoas."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nov tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tschertgar en il Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tschertgar en il Web" title="Tschertgar en il Web"/><button id="searchSubmit" class="search-button" title="Tschertgar"><span class="sr-only"><span>Tschertgar</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Paginas preferidas<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recumandà da Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Accents</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tschertgar en il Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tschertgar en il Web" title="Tschertgar en il Web"/><button id="searchSubmit" class="search-button" title="Tschertgar"><span class="sr-only"><span>Tschertgar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Paginas preferidas<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recumandà da Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Accents</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Memorisar en Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Tschertgar {search_term} cun:",
   "search_button": "Tschertgar",
   "search_header": "Tschertga da {search_engine_name}",
   "search_web_placeholder": "Tschertgar en il Web",
   "search_settings": "Midar las preferenzas per tschertgar",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Trametter in resun",
-  "section_info_privacy_notice": "Infurmaziuns davart la protecziun da datas",
   "section_disclaimer_topstories": "Las istorgias las pli interessantas en il web, tschernidas a basa da quai che ti legias. Da Pocket che fa ussa part da Mozilla.",
   "section_disclaimer_topstories_linktext": "Ve a savair co quai funcziuna.",
   "section_disclaimer_topstories_buttontext": "Ok, chapì",
   "welcome_title": "Bainvegni sin in nov tab",
   "welcome_body": "Firefox utilisescha quest plaz per ta mussar ils segnapaginas, ils artitgels, ils videos e las paginas las pli relevantas che ti has visità dacurt, uschè che ti pos turnar a moda simpla tar quellas.",
   "welcome_label": "Identifitgar tes accents",
   "time_label_less_than_minute": "< 1 min",
   "time_label_minute": "{number} min",
   "time_label_hour": "{number} uras",
   "time_label_day": "{number} dis",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Persunalisar tia pagina per novs tabs",
   "settings_pane_header": "Preferenzas per novs tabs",
   "settings_pane_body2": "Tscherna tge che vegn mussà sin questa pagina.",
   "settings_pane_search_header": "Tschertgar",
   "settings_pane_search_body": "Tschertgar en l'internet da tes nov tab.",
   "settings_pane_topsites_header": "Paginas preferidas",
   "settings_pane_topsites_body": "Acceder las websites che ti visitas il pli savens.",
   "settings_pane_topsites_options_showmore": "Mussar duas colonnas",
   "settings_pane_bookmarks_header": "Novs segnapaginas",
-  "settings_pane_bookmarks_body": "Tes novs segnapaginas en in lieu pratic.",
   "settings_pane_visit_again_header": "Turnar a visitar",
-  "settings_pane_visit_again_body": "Firefox ta mussa parts da tia cronologia da navigaziun che pudessan esser interessantas per turnar.",
   "settings_pane_highlights_header": "Accents",
   "settings_pane_highlights_body2": "Chatta svelt puspè paginas interessantas che ti has visità u marcà sco segnapagina.",
   "settings_pane_highlights_options_bookmarks": "Segnapaginas",
   "settings_pane_highlights_options_visited": "Paginas visitadas",
   "settings_pane_snippets_header": "Zinslas",
   "settings_pane_snippets_body": "Legia infurmaziuns curtas da Mozilla davart Firefox, la cultura da l'internet e da temp en temp in meme.",
   "settings_pane_done_button": "Finì",
   "settings_pane_topstories_options_sponsored": "Mussar istorgias sponsorisadas",
   "edit_topsites_button_text": "Modifitgar",
-  "edit_topsites_button_label": "Persunalisar la secziun da paginas preferidas",
-  "edit_topsites_showmore_button": "Mussar dapli",
-  "edit_topsites_showless_button": "Mussar pli pauc",
-  "edit_topsites_done_button": "Finì",
-  "edit_topsites_pin_button": "Fixar questa pagina",
-  "edit_topsites_unpin_button": "Betg pli fixar questa pagina",
   "edit_topsites_edit_button": "Modifitgar questa pagina",
-  "edit_topsites_dismiss_button": "Allontanar questa pagina",
-  "edit_topsites_add_button": "Agiuntar",
   "topsites_form_add_header": "Nova pagina populara",
   "topsites_form_edit_header": "Modifitgar la pagina populara",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Endatar in titel",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Tippar u encollar ina URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Agiuntar",
   "topsites_form_save_button": "Memorisar",
   "topsites_form_cancel_button": "Interrumper",
   "topsites_form_url_validation": "In URL valid è necessari",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Temas populars:",
   "pocket_read_even_more": "Mussar dapli artitgels",
-  "pocket_feedback_header": "Il meglier ord il web, selecziunà da dapli che 25 milliuns umans.",
   "pocket_description": "Scuvra cuntegn dad auta qualitad cun agid da Pocket che fa ussa part da Mozilla.",
   "highlights_empty_state": "Cumenza a navigar e nus ta mussain qua artitgels, videos ed autras paginas che ti has visità dacurt u che ti has agiuntà dacurt sco segnapagina.",
   "topstories_empty_state": "Ussa has ti legì tut las novitads. Turna pli tard per ulteriuras novitads da {provider}. Na pos betg spetgar? Tscherna in tema popular per chattar ulteriuras istorgias ord il web.",
   "manual_migration_explanation2": "Emprova Firefox cun ils segnapaginas, la cronologia ed ils pleds-clav importads d'in auter navigatur.",
   "manual_migration_cancel_button": "Na, grazia",
   "manual_migration_import_button": "Importar ussa",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Infurmaziuns davart la protecziun da datas",
+  "settings_pane_bookmarks_body": "Tes novs segnapaginas en in lieu pratic.",
+  "settings_pane_visit_again_body": "Firefox ta mussa parts da tia cronologia da navigaziun che pudessan esser interessantas per turnar.",
+  "edit_topsites_button_label": "Persunalisar la secziun da paginas preferidas",
+  "edit_topsites_showmore_button": "Mussar dapli",
+  "edit_topsites_showless_button": "Mussar pli pauc",
+  "edit_topsites_done_button": "Finì",
+  "edit_topsites_pin_button": "Fixar questa pagina",
+  "edit_topsites_unpin_button": "Betg pli fixar questa pagina",
+  "edit_topsites_dismiss_button": "Allontanar questa pagina",
+  "edit_topsites_add_button": "Agiuntar",
+  "pocket_feedback_header": "Il meglier ord il web, selecziunà da dapli che 25 milliuns umans."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Filă nouă</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Caută pe web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Caută pe web" title="Caută pe web"/><button id="searchSubmit" class="search-button" title="Caută"><span class="sr-only"><span>Caută</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Site-uri de top<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomandat de Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Subiecte populare:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Evidențieri</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Caută pe web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Caută pe web" title="Caută pe web"/><button id="searchSubmit" class="search-button" title="Caută"><span class="sr-only"><span>Caută</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Site-uri de top<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomandat de Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Subiecte populare:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Evidențieri</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Salvează în Pocket",
   "menu_action_delete_pocket": "Şterge din Pocket",
   "menu_action_archive_pocket": "Arhivează în Pocket",
   "search_for_something_with": "Caută {search_term} cu: ",
   "search_button": "Caută",
   "search_header": "Căutare {search_engine_name}",
   "search_web_placeholder": "Caută pe web",
   "search_settings": "Schimbă setările de căutare",
-  "section_info_option": "Informații",
   "section_info_send_feedback": "Trimite feedback",
-  "section_info_privacy_notice": "Politica de confidențialitate",
   "section_disclaimer_topstories": "Cele mai interesante articole de pe web, alese pe baza lucrurilor pe care le citești. De la Pocket, acum parte din Mozilla.",
   "section_disclaimer_topstories_linktext": "Află cum funcționează.",
   "section_disclaimer_topstories_buttontext": "Ok, am înțeles",
   "welcome_title": "Bun venit în noua filă",
   "welcome_body": "Firefox va folosi acest spațiu pentru a arăta cele mai relevante semne de carte, articole, videouri și pagini vizitate recent pentru a reveni la acestea ușor.",
   "welcome_label": "Se identifică evidențierile tale",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Particularizează pagina de filă nouă",
   "settings_pane_header": "Preferințe pentru filă nouă",
   "settings_pane_body2": "Alege ceea ce vezi pe această pagină.",
   "settings_pane_search_header": "Caută",
   "settings_pane_search_body": "Caută pe web din noua filă.",
   "settings_pane_topsites_header": "Site-uri de top",
   "settings_pane_topsites_body": "Accesează site-urile pe care le vizitezi mai des.",
   "settings_pane_topsites_options_showmore": "Arată două rânduri",
   "settings_pane_bookmarks_header": "Marcaje recente",
-  "settings_pane_bookmarks_body": "Marcajele create recent, organizate și accesibile într-un singur loc.",
   "settings_pane_visit_again_header": "Vizitează din nou",
-  "settings_pane_visit_again_body": "Firefox îți va arăta părți din istoricul navigării tale la care ai vrea să revii mai târziu.",
   "settings_pane_highlights_header": "Evidențieri",
   "settings_pane_highlights_body2": "Regăsește lucrurile interesante pe care le-ai vizitat sau marcat recent.",
   "settings_pane_highlights_options_bookmarks": "Marcaje",
   "settings_pane_highlights_options_visited": "Site-uri vizitate",
   "settings_pane_snippets_header": "Fragmente",
   "settings_pane_snippets_body": "Citește actualizări scurte de la Mozilla despre Firefox, cultura internetului și meme-ul ocazional aleatoriu.",
   "settings_pane_done_button": "Gata",
   "settings_pane_topstories_options_sponsored": "Arată articolele sponsorizate",
   "edit_topsites_button_text": "Editează",
-  "edit_topsites_button_label": "Particularizează secțiunea site-urilor de top",
-  "edit_topsites_showmore_button": "Arată mai mult",
-  "edit_topsites_showless_button": "Arată mai puțin",
-  "edit_topsites_done_button": "Gata",
-  "edit_topsites_pin_button": "Fixează acest site",
-  "edit_topsites_unpin_button": "Anulează fixarea acestui site",
   "edit_topsites_edit_button": "Editează acest site",
-  "edit_topsites_dismiss_button": "Înlătură acest site",
-  "edit_topsites_add_button": "Adaugă",
   "topsites_form_add_header": "Site de top nou",
   "topsites_form_edit_header": "Editează site-ul de top",
   "topsites_form_title_label": "Titlu",
   "topsites_form_title_placeholder": "Introdu un titlu",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Tastează sau lipește un URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Adaugă",
   "topsites_form_save_button": "Salvează",
   "topsites_form_cancel_button": "Renunță",
   "topsites_form_url_validation": "URL valid necesar",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Subiecte populare:",
   "pocket_read_even_more": "Vezi mai multe articole",
-  "pocket_feedback_header": "Cel mai bun de pe web, întreţinut de peste 25 de milioane de oameni.",
   "pocket_description": "Descoperă conținut de calitate pe care l-ai putea rata, cu ajutorul Pocket, acum parte din Mozilla.",
   "highlights_empty_state": "Începe să navighezi și noi îți vom arăta articole interesante, videouri sau alte pagini pe care le-ai vizitat sau marcat recent.",
   "topstories_empty_state": "Ai ajuns la capăt. Revino mai târziu pentru alte articole de la {provider}. Nu mai vrei să aștepți? Selectează un subiect popular și găsește alte articole interesante de pe web.",
   "manual_migration_explanation2": "Încearcă Firefox cu marcajele, istoricul și parolele din alt browser.",
   "manual_migration_cancel_button": "Nu, mulțumesc",
   "manual_migration_import_button": "Importă acum",
   "error_fallback_default_info": "Ups, ceva a mers prost la încărcarea acestui conținut.",
   "error_fallback_default_refresh_suggestion": "Reîmprospătează pagina pentru a încerca din nou.",
   "section_menu_action_remove_section": "Elimină secțiunea",
   "section_menu_action_collapse_section": "Restrânge secțiunea",
   "section_menu_action_expand_section": "Extinde secțiunea",
   "section_menu_action_manage_section": "Gestionează secțiunea",
   "section_menu_action_add_topsite": "Adaugă site de top",
   "section_menu_action_move_up": "Mută în sus",
   "section_menu_action_move_down": "Mută în jos",
-  "section_menu_action_privacy_notice": "Politica de confidențialitate"
+  "section_menu_action_privacy_notice": "Politica de confidențialitate",
+  "section_info_option": "Informații",
+  "section_info_privacy_notice": "Politica de confidențialitate",
+  "settings_pane_bookmarks_body": "Marcajele create recent, organizate și accesibile într-un singur loc.",
+  "settings_pane_visit_again_body": "Firefox îți va arăta părți din istoricul navigării tale la care ai vrea să revii mai târziu.",
+  "edit_topsites_button_label": "Particularizează secțiunea site-urilor de top",
+  "edit_topsites_showmore_button": "Arată mai mult",
+  "edit_topsites_showless_button": "Arată mai puțin",
+  "edit_topsites_done_button": "Gata",
+  "edit_topsites_pin_button": "Fixează acest site",
+  "edit_topsites_unpin_button": "Anulează fixarea acestui site",
+  "edit_topsites_dismiss_button": "Înlătură acest site",
+  "edit_topsites_add_button": "Adaugă",
+  "pocket_feedback_header": "Cel mai bun de pe web, întreţinut de peste 25 de milioane de oameni."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Новая вкладка</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Искать в Интернете</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Искать в Интернете" title="Искать в Интернете"/><button id="searchSubmit" class="search-button" title="Искать"><span class="sr-only"><span>Искать</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Топ сайтов<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рекомендовано Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярные темы:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Избранное</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Искать в Интернете</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Искать в Интернете" title="Искать в Интернете"/><button id="searchSubmit" class="search-button" title="Искать"><span class="sr-only"><span>Искать</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Топ сайтов<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рекомендовано Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярные темы:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Избранное</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Сохранить в Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Искать {search_term} в:",
   "search_button": "Искать",
   "search_header": "Искать в {search_engine_name}",
   "search_web_placeholder": "Искать в Интернете",
   "search_settings": "Изменить настройки поиска",
-  "section_info_option": "Информация",
   "section_info_send_feedback": "Отправить отзыв",
-  "section_info_privacy_notice": "Уведомление о приватности",
   "section_disclaimer_topstories": "Самые интересные статьи со всего Интернета, выбираемые на основе ваших интересов. От Pocket, который теперь является частью Mozilla.",
   "section_disclaimer_topstories_linktext": "Узнайте, как это работает.",
   "section_disclaimer_topstories_buttontext": "Ок, понятно",
   "welcome_title": "Добро пожаловать на новую вкладку",
   "welcome_body": "Firefox будет использовать это место, чтобы отображать самые актуальные закладки, статьи, видео и страницы, которые вы недавно посетили, чтобы вы смогли легко попасть на них снова.",
   "welcome_label": "Определение вашего избранного",
   "time_label_less_than_minute": "<1 мин.",
   "time_label_minute": "{number} мин.",
   "time_label_hour": "{number} ч.",
   "time_label_day": "{number} д.",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Настроить свою страницу новой вкладки",
   "settings_pane_header": "Настройки новой вкладки",
   "settings_pane_body2": "Выберите, что вы увидите на этой странице.",
   "settings_pane_search_header": "Поиск",
   "settings_pane_search_body": "Поиск в Интернете с вашей новой вкладки.",
   "settings_pane_topsites_header": "Топ сайтов",
   "settings_pane_topsites_body": "Получите доступ к сайтам, которые вы посещаете чаще всего.",
   "settings_pane_topsites_options_showmore": "Показать в два ряда",
   "settings_pane_bookmarks_header": "Недавние закладки",
-  "settings_pane_bookmarks_body": "Ваши новые закладки в одном удобном расположении.",
   "settings_pane_visit_again_header": "Посетить снова",
-  "settings_pane_visit_again_body": "Firefox покажет вам элементы вашей истории просмотра, которые вы, возможно, захотите вспомнить или посетить снова.",
   "settings_pane_highlights_header": "Избранное",
   "settings_pane_highlights_body2": "Найдите способ вернуться к интересным страницам, которые вы недавно посетили или добавили в закладки.",
   "settings_pane_highlights_options_bookmarks": "Закладки",
   "settings_pane_highlights_options_visited": "Посещённые сайты",
   "settings_pane_snippets_header": "Заметки",
   "settings_pane_snippets_body": "Читайте короткие и радостные новости от Mozilla о Firefox, интернет-культуру и случайные мемы.",
   "settings_pane_done_button": "Готово",
   "settings_pane_topstories_options_sponsored": "Показывать статьи спонсоров",
   "edit_topsites_button_text": "Изменить",
-  "edit_topsites_button_label": "Настроить свой топ сайтов",
-  "edit_topsites_showmore_button": "Показать больше",
-  "edit_topsites_showless_button": "Показать меньше",
-  "edit_topsites_done_button": "Готово",
-  "edit_topsites_pin_button": "Закрепить этот сайт",
-  "edit_topsites_unpin_button": "Открепить этот сайт",
   "edit_topsites_edit_button": "Изменить этот сайт",
-  "edit_topsites_dismiss_button": "Скрыть этот сайт",
-  "edit_topsites_add_button": "Добавить",
   "topsites_form_add_header": "Новый сайт в топе",
   "topsites_form_edit_header": "Изменить сайт из топа",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Введите название",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Введите или вставьте URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Добавить",
   "topsites_form_save_button": "Сохранить",
   "topsites_form_cancel_button": "Отмена",
   "topsites_form_url_validation": "Введите корректный URL",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Популярные темы:",
   "pocket_read_even_more": "Больше статей",
-  "pocket_feedback_header": "Лучшее из Интернета, отобранное более чем 25 миллионами людей.",
   "pocket_description": "Откройте для себя высококачественный контент, который вы могли бы пропустить, с помощью Pocket, теперь ставшего частью Mozilla.",
   "highlights_empty_state": "Начните веб-сёрфинг, и мы покажем вам здесь некоторые из интересных статей, видеороликов и других страниц, которые вы недавно посетили или добавили в закладки.",
   "topstories_empty_state": "Вы всё прочитали. Зайдите попозже, чтобы увидеть больше лучших статей от {provider}. Не можете ждать? Выберите популярную тему, чтобы найти больше интересных статей со всего Интернета.",
   "manual_migration_explanation2": "Попробуйте Firefox с закладками, историей и паролями из другого браузера.",
   "manual_migration_cancel_button": "Нет, спасибо",
   "manual_migration_import_button": "Импортировать сейчас",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Добавить в топ сайтов"
+  "section_info_option": "Информация",
+  "section_info_privacy_notice": "Уведомление о приватности",
+  "settings_pane_bookmarks_body": "Ваши новые закладки в одном удобном расположении.",
+  "settings_pane_visit_again_body": "Firefox покажет вам элементы вашей истории просмотра, которые вы, возможно, захотите вспомнить или посетить снова.",
+  "edit_topsites_button_label": "Настроить свой топ сайтов",
+  "edit_topsites_showmore_button": "Показать больше",
+  "edit_topsites_showless_button": "Показать меньше",
+  "edit_topsites_done_button": "Готово",
+  "edit_topsites_pin_button": "Закрепить этот сайт",
+  "edit_topsites_unpin_button": "Открепить этот сайт",
+  "edit_topsites_dismiss_button": "Скрыть этот сайт",
+  "edit_topsites_add_button": "Добавить",
+  "edit_topsites_add_button_tooltip": "Добавить в топ сайтов",
+  "pocket_feedback_header": "Лучшее из Интернета, отобранное более чем 25 миллионами людей."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/si/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/si/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>නව ටැබය</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ජාලය තුළ සොයන්න</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ජාලය තුළ සොයන්න" title="ජාලය තුළ සොයන්න"/><button id="searchSubmit" class="search-button" title="සොයන්න"><span class="sr-only"><span>සොයන්න</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ප්‍රමුඛ අඩවි<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket විසින් නිර්දේශිතයි</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ජනප්‍රිය මාතෘකා:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ඉස්මතු කිරීම්</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ජාලය තුළ සොයන්න</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ජාලය තුළ සොයන්න" title="ජාලය තුළ සොයන්න"/><button id="searchSubmit" class="search-button" title="සොයන්න"><span class="sr-only"><span>සොයන්න</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ප්‍රමුඛ අඩවි<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket විසින් නිර්දේශිතයි</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ජනප්‍රිය මාතෘකා:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ඉස්මතු කිරීම්</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/si/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/si/activity-stream-strings.js
@@ -35,81 +35,91 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Save to Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "{search_term} සදහා සෙවීමට භාවිත කළ යුත්තේ:",
   "search_button": "සොයන්න",
   "search_header": "{search_engine_name} ෙසවුම",
   "search_web_placeholder": "ජාලය තුළ සොයන්න",
   "search_settings": "සෙවුම් සැකසුම් වෙනස් කරන්න",
-  "section_info_option": "තොරතුරු",
   "section_info_send_feedback": "ප්‍රතිචාරය යවන්න",
-  "section_info_privacy_notice": "පෞද්ගලිකත්ව දැනුම්දීම්",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "එය ක්‍රියාකරන්නේ කෙසේදැයි අධ්‍යපනය කරන්න.",
   "section_disclaimer_topstories_buttontext": "හරි, තේරුණා",
   "welcome_title": "නව ටැබයට සාදරයෙන් පිළිගනිමු",
   "welcome_body": "ඔබට පහසුවෙන් යළි භාවිතයට පහසු කරවීමට, Firefox මෙම ඉඩ ඔබට වඩාත් අදාල පිටු සළකුණු, ලිපි, විඩියෝ සහ ඔබ මෑතකදී පිවිසි පිටු පෙන්වීම සදහා භාවිත කරයි.",
   "welcome_label": "ඔබේ ඉස්මතු කිරීම් හදුනාගනිමින්",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number} මිනිත්තු",
   "time_label_hour": "{number}පැය",
   "time_label_day": "{number}දින",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "ඔබේ නව ටැබ පිටුව රුචිකරණය කරන්න",
   "settings_pane_header": "නව ටැබ අභිප්‍රේත",
   "settings_pane_body2": "මෙම පිටුවේ ඔබ දැකිය යුතු දේ තෝරන්න.",
   "settings_pane_search_header": "සොයන්න",
   "settings_pane_search_body": "ඔබේ නව ටැබයෙන් වෙබ් සෙවීම.",
   "settings_pane_topsites_header": "ප්‍රමුඛ අඩවි",
   "settings_pane_topsites_body": "ඔබ නිරතුරුව පිවිසෙන වෙබ් අඩවි වෙත ප්‍රවේශය.",
   "settings_pane_topsites_options_showmore": "පේළි දෙකක් පෙන්වන්න",
   "settings_pane_bookmarks_header": "නැවුම් පිටු සලකුණු",
-  "settings_pane_bookmarks_body": "ඔබේ නැවුම් පිටු සලකුණු එක් ස්ථානයක.",
   "settings_pane_visit_again_header": "යළි පිවිසෙන්න",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "ඉස්මතු කිරීම්",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "පිටු සලකුණු",
   "settings_pane_highlights_options_visited": "පිවිසුණු අඩවි",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Done",
   "settings_pane_topstories_options_sponsored": "අනුග්‍රහක පුවත් පෙන්වන්න",
   "edit_topsites_button_text": "සැකසුම්",
-  "edit_topsites_button_label": "Customize your Top Sites section",
-  "edit_topsites_showmore_button": "තවත් පෙන්වන්න",
-  "edit_topsites_showless_button": "අඩුවෙන් පෙන්වන්න",
-  "edit_topsites_done_button": "කළා",
-  "edit_topsites_pin_button": "Pin this site",
-  "edit_topsites_unpin_button": "Unpin this site",
   "edit_topsites_edit_button": "මෙම අඩවිය සකසන්න",
-  "edit_topsites_dismiss_button": "මෙම අඩවිය ඉවත ලන්න",
-  "edit_topsites_add_button": "එක් කරන්න",
   "topsites_form_add_header": "නව ප්‍රමුඛ අඩවියක්",
   "topsites_form_edit_header": "ප්‍රමුඛ අඩවිය සකසන්න",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "සිරස්තල එක් කරන්න",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "URL එකක් ඇතුළත් කරන්න",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "එක් කරන්න",
   "topsites_form_save_button": "සුරකින්න",
   "topsites_form_cancel_button": "අවලංගු කරන්න",
   "topsites_form_url_validation": "වලංගු URL එකක් අවශ්‍ය වේ",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "ජනප්‍රිය මාතෘකා:",
   "pocket_read_even_more": "තවත් බොහෝ දැ",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Firefox වෙනත් ගවේශයකය පිටය සලකුණු, අතීතය සහ මුරපද සමග උත්සාහ කර බලන්න.",
   "manual_migration_cancel_button": "එපා, ස්තුතියි",
   "manual_migration_import_button": "දැන් ආයාත කරන්න",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "තොරතුරු",
+  "section_info_privacy_notice": "පෞද්ගලිකත්ව දැනුම්දීම්",
+  "settings_pane_bookmarks_body": "ඔබේ නැවුම් පිටු සලකුණු එක් ස්ථානයක.",
+  "edit_topsites_showmore_button": "තවත් පෙන්වන්න",
+  "edit_topsites_showless_button": "අඩුවෙන් පෙන්වන්න",
+  "edit_topsites_done_button": "කළා",
+  "edit_topsites_dismiss_button": "මෙම අඩවිය ඉවත ලන්න",
+  "edit_topsites_add_button": "එක් කරන්න"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nová karta</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Vyhľadávanie na webe</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Vyhľadávanie na webe" title="Vyhľadávanie na webe"/><button id="searchSubmit" class="search-button" title="Hľadať"><span class="sr-only"><span>Hľadať</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top stránky<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Odporúča Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populárne témy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Vybrané stránky</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Vyhľadávanie na webe</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Vyhľadávanie na webe" title="Vyhľadávanie na webe"/><button id="searchSubmit" class="search-button" title="Hľadať"><span class="sr-only"><span>Hľadať</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top stránky<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Odporúča Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populárne témy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Vybrané stránky</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-strings.js
@@ -11,106 +11,120 @@ window.gActivityStreamStrings = {
   "header_bookmarks_placeholder": "Zatiaľ nemáte žiadne záložky.",
   "header_stories_from": "zo služby",
   "context_menu_button_sr": "Otvorí kontextovú ponuku pre {title}",
   "section_context_menu_button_sr": "Open the section context menu",
   "type_label_visited": "Navštívené",
   "type_label_bookmarked": "V záložkách",
   "type_label_synced": "Synchronizované z ďalšieho zariadenia",
   "type_label_recommended": "Trendy",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Uložené do služby Pocket",
   "type_label_open": "Otvorené",
   "type_label_topic": "Téma",
   "type_label_now": "Teraz",
   "menu_action_bookmark": "Pridať medzi záložky",
   "menu_action_remove_bookmark": "Odstrániť záložku",
   "menu_action_copy_address": "Kopírovať adresu",
   "menu_action_email_link": "Odoslať odkaz e-mailom…",
   "menu_action_open_new_window": "Otvoriť v novom okne",
   "menu_action_open_private_window": "Otvoriť v novom okne režimu Súkromné prehliadanie",
   "menu_action_dismiss": "Skryť",
   "menu_action_delete": "Odstrániť z histórie",
   "menu_action_pin": "Pripnúť",
   "menu_action_unpin": "Odopnúť",
   "confirm_history_delete_p1": "Ste si istí, že chcete odstrániť všetky výskyty tejto stránky zo svojej histórie prehliadania?",
   "confirm_history_delete_notice_p2": "Túto akciu nie je možné vrátiť späť.",
   "menu_action_save_to_pocket": "Uložiť do služby Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Odstrániť zo služby Pocket",
+  "menu_action_archive_pocket": "Archivovať v službe Pocket",
   "search_for_something_with": "Hľadať {search_term} pomocou:",
   "search_button": "Hľadať",
   "search_header": "Vyhľadávanie pomocou {search_engine_name}",
   "search_web_placeholder": "Vyhľadávanie na webe",
   "search_settings": "Zmeniť nastavenia vyhľadávania",
-  "section_info_option": "Informácie",
   "section_info_send_feedback": "Odoslať spätnú väzbu",
-  "section_info_privacy_notice": "Zásady ochrany súkromia",
   "section_disclaimer_topstories": "Najzaujímavejšie príbehy na webe, vybrané na základe toho, čo čítate. Od Pocketu, súčasti Mozilly.",
   "section_disclaimer_topstories_linktext": "Pozrite sa, ako to funguje.",
   "section_disclaimer_topstories_buttontext": "Ok, rozumiem",
   "welcome_title": "Vitajte na stránke novej karty",
   "welcome_body": "Firefox bude na tomto mieste zobrazovať často zobrazované záložky, články, videá a stránky, ktoré ste nedávno navštívili. Váš prístup k nim je tak omnoho ľahší.",
   "welcome_label": "Identifikácia vybraných stránok",
   "time_label_less_than_minute": "< 1 min",
   "time_label_minute": "{number} min",
   "time_label_hour": "{number} hod",
   "time_label_day": "{number} d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Ďalšie informácie",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Prispôsobte si svoju stránku Nová karta",
   "settings_pane_header": "Nastavenia Novej karty",
   "settings_pane_body2": "Vyberte si, čo chcete na tejto stránke vidieť.",
   "settings_pane_search_header": "Vyhľadávanie",
   "settings_pane_search_body": "Vyhľadávanie zo stránky novej karty.",
   "settings_pane_topsites_header": "Top stránky",
   "settings_pane_topsites_body": "Prístup k webovým stránkam, ktoré navštevujete najčastejšie.",
   "settings_pane_topsites_options_showmore": "Zobraziť dva riadky",
   "settings_pane_bookmarks_header": "Nedávno pridané záložky",
-  "settings_pane_bookmarks_body": "Vaše nedávno pridané záložky na jednom mieste.",
   "settings_pane_visit_again_header": "Navštívte znova",
-  "settings_pane_visit_again_body": "Firefox vám ukáže niektoré časti vašej histórie prehliadania, ktoré by ste si mohli chcieť pripomenúť alebo sa k nim vrátiť.",
   "settings_pane_highlights_header": "Vybrané stránky",
   "settings_pane_highlights_body2": "Pozrite sa na zaujímavé stránky, ktoré ste nedávno navštívili alebo pridali do záložiek.",
   "settings_pane_highlights_options_bookmarks": "Záložky",
   "settings_pane_highlights_options_visited": "Navštívené stránky",
   "settings_pane_snippets_header": "Snippety",
   "settings_pane_snippets_body": "Prečítajte si krátke správy od Mozilly o Firefoxe či internetovej kultúre. Občas uvidíte aj náhodné meme.",
   "settings_pane_done_button": "Hotovo",
   "settings_pane_topstories_options_sponsored": "Zobraziť sponzorované stránky",
   "edit_topsites_button_text": "Upraviť",
-  "edit_topsites_button_label": "Upravte sekciu Top stránky",
-  "edit_topsites_showmore_button": "Zobraziť viac",
-  "edit_topsites_showless_button": "Zobraziť menej",
-  "edit_topsites_done_button": "Hotovo",
-  "edit_topsites_pin_button": "Pripnúť túto stránku",
-  "edit_topsites_unpin_button": "Zrušiť pripnutie tejto stránky",
   "edit_topsites_edit_button": "Upraviť túto stránku",
-  "edit_topsites_dismiss_button": "Odstrániť túto stránku",
-  "edit_topsites_add_button": "Pridať",
   "topsites_form_add_header": "Nová top stránka",
   "topsites_form_edit_header": "Upraviť top stránku",
-  "topsites_form_title_label": "Title",
+  "topsites_form_title_label": "Názov",
   "topsites_form_title_placeholder": "Zadajte názov",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Zadajte alebo prilepte URL",
+  "topsites_form_use_image_link": "Použiť vlastný obrázok…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Pridať",
   "topsites_form_save_button": "Uložiť",
   "topsites_form_cancel_button": "Zrušiť",
   "topsites_form_url_validation": "Vyžaduje sa platná URL",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Populárne témy:",
   "pocket_read_even_more": "Zobraziť ďalšie príbehy",
-  "pocket_feedback_header": "To najlepšie z webu - podľa názoru 25 miliónov ľudí.",
   "pocket_description": "Objavte vysokokvalitný obsah, ktorý by ste inak prepásli. Pomôže vám s tým Pocket, súčasť Mozilly.",
   "highlights_empty_state": "Začnite s prehliadaním a my vám na tomto mieste ukážeme skvelé články, videá a ostatné stránky, ktoré ste nedávno navštívili alebo pridali medzi záložky.",
   "topstories_empty_state": "Už ste prečítali všetko. Ďalšie príbehy zo služby {provider} tu nájdete opäť neskôr. Nemôžete sa dočkať? Vyberte si populárnu tému a pozrite sa na ďalšie skvelé príbehy z celého webu.",
   "manual_migration_explanation2": "Vyskúšajte Firefox so záložkami, históriou prehliadania a heslami s iných prehliadačov.",
   "manual_migration_cancel_button": "Nie, ďakujem",
   "manual_migration_import_button": "Importovať teraz",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
+  "section_menu_action_remove_section": "Odstrániť sekciu",
+  "section_menu_action_collapse_section": "Zbaliť sekciu",
+  "section_menu_action_expand_section": "Rozbaliť sekciu",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Pridať top stránku"
+  "section_menu_action_privacy_notice": "Zásady ochrany súkromia",
+  "section_info_option": "Informácie",
+  "section_info_privacy_notice": "Zásady ochrany súkromia",
+  "settings_pane_bookmarks_body": "Vaše nedávno pridané záložky na jednom mieste.",
+  "settings_pane_visit_again_body": "Firefox vám ukáže niektoré časti vašej histórie prehliadania, ktoré by ste si mohli chcieť pripomenúť alebo sa k nim vrátiť.",
+  "edit_topsites_button_label": "Upravte sekciu Top stránky",
+  "edit_topsites_showmore_button": "Zobraziť viac",
+  "edit_topsites_showless_button": "Zobraziť menej",
+  "edit_topsites_done_button": "Hotovo",
+  "edit_topsites_pin_button": "Pripnúť túto stránku",
+  "edit_topsites_unpin_button": "Zrušiť pripnutie tejto stránky",
+  "edit_topsites_dismiss_button": "Odstrániť túto stránku",
+  "edit_topsites_add_button": "Pridať",
+  "pocket_feedback_header": "To najlepšie z webu - podľa názoru 25 miliónov ľudí."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nov zavihek</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Iskanje po spletu</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Iskanje po spletu" title="Iskanje po spletu"/><button id="searchSubmit" class="search-button" title="Iskanje"><span class="sr-only"><span>Iskanje</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Glavne strani<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Priporoča Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Priljubljene teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Poudarki</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Iskanje po spletu</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Iskanje po spletu" title="Iskanje po spletu"/><button id="searchSubmit" class="search-button" title="Iskanje"><span class="sr-only"><span>Iskanje</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Glavne strani<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Priporoča Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Priljubljene teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Poudarki</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Shrani v Pocket",
   "menu_action_delete_pocket": "Izbriši iz Pocketa",
   "menu_action_archive_pocket": "Arhiviraj v Pocket",
   "search_for_something_with": "Išči \"{search_term}\" z iskalnikom:",
   "search_button": "Iskanje",
   "search_header": "Iskanje {search_engine_name}",
   "search_web_placeholder": "Iskanje po spletu",
   "search_settings": "Spremeni nastavitve iskanja",
-  "section_info_option": "Informacije",
   "section_info_send_feedback": "Pošlji povratne informacije",
-  "section_info_privacy_notice": "Obvestilo o zasebnosti",
   "section_disclaimer_topstories": "Najbolj zanimive zgodbe na spletu, izbrane na podlagi vašega branja. Iz Pocketa, ki je zdaj del Mozille.",
   "section_disclaimer_topstories_linktext": "Spoznajte, kako deluje.",
   "section_disclaimer_topstories_buttontext": "Razumem",
   "welcome_title": "Dobrodošli v novem zavihku",
   "welcome_body": "Na tem prostoru bo Firefox prikazoval najustreznejše zaznamke, članke, videoposnetke in nedavno obiskane strani, tako da jih lahko pozneje znova hitro najdete.",
   "welcome_label": "Zbiranje poudarkov",
   "time_label_less_than_minute": "<1 min",
   "time_label_minute": "{number} min",
   "time_label_hour": "{number} ur",
   "time_label_day": "{number} dni",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Več o tem",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Prilagodite stran novega zavihka",
   "settings_pane_header": "Nastavitve novega zavihka",
   "settings_pane_body2": "Izberite, kaj želite videti na tej strani.",
   "settings_pane_search_header": "Iskanje",
   "settings_pane_search_body": "Iščite po spletu z novega zavihka.",
   "settings_pane_topsites_header": "Glavne strani",
   "settings_pane_topsites_body": "Priročen dostop do najbolj obiskanih strani.",
   "settings_pane_topsites_options_showmore": "Prikaži dve vrsti",
   "settings_pane_bookmarks_header": "Nedavni zaznamki",
-  "settings_pane_bookmarks_body": "Vaši novo ustvarjeni zaznamki na enem mestu.",
   "settings_pane_visit_again_header": "Obiščite znova",
-  "settings_pane_visit_again_body": "Firefox vam bo prikazoval dele zgodovine brskanja, ki bi se jih morda želeli spomniti ali se nanje vrniti.",
   "settings_pane_highlights_header": "Poudarki",
   "settings_pane_highlights_body2": "Najdite pot nazaj do zanimivih strani, ki ste jih nedavno obiskali ali dodali med zaznamke.",
   "settings_pane_highlights_options_bookmarks": "Zaznamki",
   "settings_pane_highlights_options_visited": "Obiskane strani",
   "settings_pane_snippets_header": "Izrezki",
   "settings_pane_snippets_body": "Spremljajte kratke novice o Mozilli in Firefoxu, kulturi interneta in si občasno oglejte kak meme.",
   "settings_pane_done_button": "Končano",
   "settings_pane_topstories_options_sponsored": "Prikaži zgodbe oglaševalcev",
   "edit_topsites_button_text": "Uredi",
-  "edit_topsites_button_label": "Prilagodite odsek Glavne strani",
-  "edit_topsites_showmore_button": "Prikaži več",
-  "edit_topsites_showless_button": "Prikaži manj",
-  "edit_topsites_done_button": "Končano",
-  "edit_topsites_pin_button": "Pripni to stran",
-  "edit_topsites_unpin_button": "Odpni to stran",
   "edit_topsites_edit_button": "Uredi to stran",
-  "edit_topsites_dismiss_button": "Odstrani to stran",
-  "edit_topsites_add_button": "Dodaj",
   "topsites_form_add_header": "Nova glavna stran",
   "topsites_form_edit_header": "Uredi glavno stran",
   "topsites_form_title_label": "Naslov",
   "topsites_form_title_placeholder": "Vnesite ime",
-  "topsites_form_url_label": "URL",
+  "topsites_form_url_label": "Spletni naslov",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Vnesite ali prilepite spletni naslov",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Dodaj",
   "topsites_form_save_button": "Shrani",
   "topsites_form_cancel_button": "Prekliči",
   "topsites_form_url_validation": "Vnesite veljaven spletni naslov",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Priljubljene teme:",
   "pocket_read_even_more": "Prikaži več vesti",
-  "pocket_feedback_header": "Najboljše s spleta, kar je izbralo več kot 25 milijonov ljudi.",
   "pocket_description": "Odkrijte kakovostno vsebino, ki bi jo sicer spregledali, s pomočjo Pocketa (zdaj dela Mozille).",
   "highlights_empty_state": "Začnite z brskanjem, mi pa vam bomo tu prikazovali odlične članke, videoposnetke ter druge strani, ki ste jih nedavno obiskali ali shranili med zaznamke.",
   "topstories_empty_state": "Zdaj ste seznanjeni z novicami. Vrnite se pozneje in si oglejte nove prispevke iz {provider}. Komaj čakate? Izberite priljubljeno temo in odkrijte več velikih zgodb na spletu.",
   "manual_migration_explanation2": "Preskusite Firefox z zaznamki, zgodovino in gesli iz drugega brskalnika.",
   "manual_migration_cancel_button": "Ne, hvala",
   "manual_migration_import_button": "Uvozi zdaj",
   "error_fallback_default_info": "Ojoj, pri nalaganju te vsebine je šlo nekaj narobe.",
   "error_fallback_default_refresh_suggestion": "Osvežite stran za ponoven poskus.",
   "section_menu_action_remove_section": "Odstrani odsek",
   "section_menu_action_collapse_section": "Strni odsek",
   "section_menu_action_expand_section": "Razširi odsek",
   "section_menu_action_manage_section": "Upravljanje odseka",
   "section_menu_action_add_topsite": "Dodaj glavno stran",
   "section_menu_action_move_up": "Premakni gor",
   "section_menu_action_move_down": "Premakni dol",
-  "section_menu_action_privacy_notice": "Obvestilo o zasebnosti"
+  "section_menu_action_privacy_notice": "Obvestilo o zasebnosti",
+  "section_info_option": "Informacije",
+  "section_info_privacy_notice": "Obvestilo o zasebnosti",
+  "settings_pane_bookmarks_body": "Vaši novo ustvarjeni zaznamki na enem mestu.",
+  "settings_pane_visit_again_body": "Firefox vam bo prikazoval dele zgodovine brskanja, ki bi se jih morda želeli spomniti ali se nanje vrniti.",
+  "edit_topsites_button_label": "Prilagodite odsek Glavne strani",
+  "edit_topsites_showmore_button": "Prikaži več",
+  "edit_topsites_showless_button": "Prikaži manj",
+  "edit_topsites_done_button": "Končano",
+  "edit_topsites_pin_button": "Pripni to stran",
+  "edit_topsites_unpin_button": "Odpni to stran",
+  "edit_topsites_dismiss_button": "Odstrani to stran",
+  "edit_topsites_add_button": "Dodaj",
+  "pocket_feedback_header": "Najboljše s spleta, kar je izbralo več kot 25 milijonov ljudi."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Skedë e Re</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Kërkoni në Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Kërkoni në Web" title="Kërkoni në Web"/><button id="searchSubmit" class="search-button" title="Kërko"><span class="sr-only"><span>Kërko</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sajte Kryesues<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomanduar nga Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tema Popullore:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Kërkoni në Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Kërkoni në Web" title="Kërkoni në Web"/><button id="searchSubmit" class="search-button" title="Kërko"><span class="sr-only"><span>Kërko</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sajte Kryesues<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomanduar nga Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tema Popullore:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Ruaje te Pocket",
   "menu_action_delete_pocket": "Fshije nga Pocket",
   "menu_action_archive_pocket": "Arkivoje në Pocket",
   "search_for_something_with": "Kërko për {search_term} me:",
   "search_button": "Kërko",
   "search_header": "Kërkim me {search_engine_name}",
   "search_web_placeholder": "Kërkoni në Web",
   "search_settings": "Ndryshoji Rregullimet e Kërkimit",
-  "section_info_option": "Të dhëna",
   "section_info_send_feedback": "Dërgoji Përshtypjet",
-  "section_info_privacy_notice": "Shënim Mbi Privatësinë",
   "section_disclaimer_topstories": "Historitë më interesante në internet, të përzgjedhura mbi bazën e çka lexoni. Nga Pocket-i, tani pjesë e Mozilla-.",
   "section_disclaimer_topstories_linktext": "Mësoni se si funksionon.",
   "section_disclaimer_topstories_buttontext": "OK, e mora vesh",
   "welcome_title": "Mirë se vini te skedë e re",
   "welcome_body": "Firefox-i do ta përdorë këtë hapësirë për t’ju shfaqur faqerojtësit, artikujt, videot dhe faqet më me peshë që keni vizituar së fundi, që kështu të mund të ktheheni lehtë në to.",
   "welcome_label": "Po identifikohen Highlights tuaj",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Lëndë Firefox Home",
+  "prefs_home_description": "Zgjidhni ç’lëndë doni në skenën tuaj Firefox.",
+  "prefs_restore_defaults_button": "Rikthe Parazgjedhjet",
+  "prefs_section_rows_option": "{num} rresht;{num} rreshta",
+  "prefs_search_header": "Kërkim Web",
+  "prefs_topsites_description": "Sajtet që vizitoni më tepër",
+  "prefs_topstories_description": "Lëndë cilësore që përndryshe mund ta hmbni",
+  "prefs_topstories_show_sponsored_label": "Histori të Sponsorizura nga {provider}",
+  "prefs_topstories_sponsored_learn_more": "Mësoni më tepër",
+  "prefs_highlights_description": "Një përzgjedhje të sajteve që keni ruajtur ose vizituar",
+  "prefs_snippets_description": "Përditësime nga Mozilla dhe Firefox-i",
   "settings_pane_button_label": "Personalizoni faqen tuaj Skedë e Re",
   "settings_pane_header": "Parapëlqime për Skedë të Re",
   "settings_pane_body2": "Zgjidhni ç’të shihni në këtë faqe.",
   "settings_pane_search_header": "Kërko",
   "settings_pane_search_body": "Kërkoni në Web prej skedës tuaj të re.",
   "settings_pane_topsites_header": "Sajte Kryesues",
   "settings_pane_topsites_body": "Hyni te sajtet që vizitoni më shpesh.",
   "settings_pane_topsites_options_showmore": "Shfaq dy rreshta",
   "settings_pane_bookmarks_header": "Faqerojtës Së Fundi",
-  "settings_pane_bookmarks_body": "Faqerojtësit tuaj të krijuar së fundi, në një vend të volitshëm.",
   "settings_pane_visit_again_header": "Rivizitojeni",
-  "settings_pane_visit_again_body": "Firefox-i do t’ju shfaqë pjesë të historikut tuaj të shfletimeve që mund të doni ta mbani mend ose ku të riktheheni.",
   "settings_pane_highlights_header": "Highlights",
   "settings_pane_highlights_body2": "Gjeni rrugën për t’u rikthyer te gjëra interesante që keni vizituar apo faqerojtur së fundi.",
   "settings_pane_highlights_options_bookmarks": "Faqerojtës",
   "settings_pane_highlights_options_visited": "Sajte të Vizituar",
   "settings_pane_snippets_header": "Copëza",
   "settings_pane_snippets_body": "Lexoni rreth Firefox-it përditësime të shkurtra dhe të ngrohta nga Mozilla, kulturën e internetit, dhe memes kutur të rastësishme.",
   "settings_pane_done_button": "U bë",
   "settings_pane_topstories_options_sponsored": "Shfaq Histori të Sponsorizuara",
   "edit_topsites_button_text": "Përpunoni",
-  "edit_topsites_button_label": "Personalizoni ndarjen tuaj Sajte Kryesues",
-  "edit_topsites_showmore_button": "Shfaq më tepër",
-  "edit_topsites_showless_button": "Shfaq më pak",
-  "edit_topsites_done_button": "U bë",
-  "edit_topsites_pin_button": "Fiksoje këtë sajt",
-  "edit_topsites_unpin_button": "Hiqe fiksimin e këtij sajti",
   "edit_topsites_edit_button": "Përpunoni këtë sajt",
-  "edit_topsites_dismiss_button": "Hidhe tej këtë sajt",
-  "edit_topsites_add_button": "Shtoni",
   "topsites_form_add_header": "Sajt i Ri Kryesues",
   "topsites_form_edit_header": "Përpunoni Sajtin Kryesues",
   "topsites_form_title_label": "Titull",
   "topsites_form_title_placeholder": "Jepni një titull",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL Figure Vetjake",
   "topsites_form_url_placeholder": "Shtypni ose hidhni një URL",
+  "topsites_form_use_image_link": "Përdorni një figurë vetjake…",
+  "topsites_form_preview_button": "Paraparje",
   "topsites_form_add_button": "Shtoje",
   "topsites_form_save_button": "Ruaje",
   "topsites_form_cancel_button": "Anuloje",
   "topsites_form_url_validation": "Lypset URL e vlefshme",
+  "topsites_form_image_validation": "Dështoi ngarkimi i figurës. Provoni një URL tjetër.",
   "pocket_read_more": "Tema Popullore:",
   "pocket_read_even_more": "Shihni Më Tepër Histori",
-  "pocket_feedback_header": "Ajka e web-it, nën kujdesin e mbi 25 milionë vetëve.",
   "pocket_description": "Zbuloni lëndë të cilësisë së lartë që ndryshe mund ta humbnit, me ndihmën e Pocket-it, tani pjesë e Mozilla-s.",
   "highlights_empty_state": "Filloni shfletimin, dhe do t'ju shfaqim disa nga artikujt, videot dhe të tjera faqe interesante që keni vizituar apo faqerojtur këtu kohët e fundit.",
   "topstories_empty_state": "Gjithë ç’kish, e dini. Rikontrolloni më vonë për më tepër histori nga {provider}. S’pritni dot? Përzgjidhni një temë popullore që të gjenden në internet më tepër histori të goditura.",
   "manual_migration_explanation2": "Provojeni Firefox-in me faqerojtës, historik dhe fjalëkalime nga një tjetër shfletues.",
   "manual_migration_cancel_button": "Jo, Faleminderit",
   "manual_migration_import_button": "Importoje Tani",
   "error_fallback_default_info": "Hëm, diç shkoi ters në ngarkimin e kësaj lënde.",
   "error_fallback_default_refresh_suggestion": "Rifreskoni faqen që të riprovohet.",
   "section_menu_action_remove_section": "Hiqe Ndarjen",
   "section_menu_action_collapse_section": "Tkurre Ndarjen",
   "section_menu_action_expand_section": "Zgjeroje Ndarjen",
   "section_menu_action_manage_section": "Administroni Ndarjen",
   "section_menu_action_add_topsite": "Shtoni Sajt Kryesues",
   "section_menu_action_move_up": "Ngjite",
   "section_menu_action_move_down": "Zbrite",
-  "section_menu_action_privacy_notice": "Shënim Mbi Privatësinë"
+  "section_menu_action_privacy_notice": "Shënim Mbi Privatësinë",
+  "section_info_option": "Të dhëna",
+  "section_info_privacy_notice": "Shënim Mbi Privatësinë",
+  "settings_pane_bookmarks_body": "Faqerojtësit tuaj të krijuar së fundi, në një vend të volitshëm.",
+  "settings_pane_visit_again_body": "Firefox-i do t’ju shfaqë pjesë të historikut tuaj të shfletimeve që mund të doni ta mbani mend ose ku të riktheheni.",
+  "edit_topsites_button_label": "Personalizoni ndarjen tuaj Sajte Kryesues",
+  "edit_topsites_showmore_button": "Shfaq më tepër",
+  "edit_topsites_showless_button": "Shfaq më pak",
+  "edit_topsites_done_button": "U bë",
+  "edit_topsites_pin_button": "Fiksoje këtë sajt",
+  "edit_topsites_unpin_button": "Hiqe fiksimin e këtij sajti",
+  "edit_topsites_dismiss_button": "Hidhe tej këtë sajt",
+  "edit_topsites_add_button": "Shtoni",
+  "pocket_feedback_header": "Ajka e web-it, nën kujdesin e mbi 25 milionë vetëve."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Нови језичак</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Претражи веб</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Претражи веб" title="Претражи веб"/><button id="searchSubmit" class="search-button" title="Претражи"><span class="sr-only"><span>Претражи</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Омиљени сајтови<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Предложио Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популарне теме:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Истакнуто</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Претражи веб</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Претражи веб" title="Претражи веб"/><button id="searchSubmit" class="search-button" title="Претражи"><span class="sr-only"><span>Претражи</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Омиљени сајтови<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Отворите секцију контекст менија</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Предложио Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Отворите секцију контекст менија</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популарне теме:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Истакнуто</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Отворите секцију контекст менија</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Популарне приче",
   "header_highlights": "Истакнуто",
   "header_visit_again": "Посетите поново",
   "header_bookmarks": "Недавне забелешке",
   "header_recommended_by": "Предложио {provider}",
   "header_bookmarks_placeholder": "Још увек немате забелешке.",
   "header_stories_from": "од",
   "context_menu_button_sr": "Отвори мени поља за {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Отворите секцију контекст менија",
   "type_label_visited": "Посећено",
   "type_label_bookmarked": "Забележено",
   "type_label_synced": "Синхронизовано са другог уређаја",
   "type_label_recommended": "У тренду",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Сачувано у Pocket",
   "type_label_open": "Отвори",
   "type_label_topic": "Тема",
   "type_label_now": "Сада",
   "menu_action_bookmark": "Забележи",
   "menu_action_remove_bookmark": "Уклони забелешку",
   "menu_action_copy_address": "Копирај адресу",
   "menu_action_email_link": "Веза е-поште…",
   "menu_action_open_new_window": "Отвори у новом прозору",
   "menu_action_open_private_window": "Отвори у новом приватном прозору",
   "menu_action_dismiss": "Уклони",
   "menu_action_delete": "Уклони из историјата",
   "menu_action_pin": "Закачи",
   "menu_action_unpin": "Откачи",
   "confirm_history_delete_p1": "Да ли сте сигурни да желите да обришете све посете ове странице из ваше историје?",
   "confirm_history_delete_notice_p2": "Ова радња се не може опозвати.",
   "menu_action_save_to_pocket": "Сачувај на Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Обриши из Pocket-а",
+  "menu_action_archive_pocket": "Архивирај у Pocket",
   "search_for_something_with": "Претражите {search_term} са:",
   "search_button": "Претражи",
   "search_header": "{search_engine_name} претрага",
   "search_web_placeholder": "Претражи веб",
   "search_settings": "Измените подешавања претраге",
-  "section_info_option": "Инфо",
   "section_info_send_feedback": "Пошаљите повратне податке",
-  "section_info_privacy_notice": "Обавештење о приватности",
   "section_disclaimer_topstories": "Најинтересантније приче на вебу, изабране на основу онога што читате. Од Pocket-а, који је сада део Mozilla-е.",
   "section_disclaimer_topstories_linktext": "Сазнајте како ради.",
   "section_disclaimer_topstories_buttontext": "У реду",
   "welcome_title": "Добродошли на нови језичак",
   "welcome_body": "Firefox ће користити овај простор да вам приказује најрелевантне језичке, чланке, видео клипове и странице које сте недавно посетили, како бисте им се лако могли вратити.",
   "welcome_label": "Учитавам ваше истакнуте ставке",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Садржај Firefox почетне странице",
+  "prefs_home_description": "Изаберите садржај који желите видети на вашој Firefox почетној страници.",
+  "prefs_restore_defaults_button": "Врати подразумевано",
+  "prefs_section_rows_option": "{num} ред;{num} реда;{num} редова",
+  "prefs_search_header": "Веб претрага",
+  "prefs_topsites_description": "Сајтови које сте највише посетили",
+  "prefs_topstories_description": "Веома квалитетан садржај који би вам можда промакао",
+  "prefs_topstories_show_sponsored_label": "Чланци од спонзора {provider}",
+  "prefs_topstories_sponsored_learn_more": "Сазнајте више",
+  "prefs_highlights_description": "Изабрани сајтови које сте сачували или посетили",
+  "prefs_snippets_description": "Новости од Mozilla-е и Firefox-а",
   "settings_pane_button_label": "Прилагодите страницу новог језичка",
   "settings_pane_header": "Поставке новог језичка",
   "settings_pane_body2": "Изаберите шта желите видети на овој страници.",
   "settings_pane_search_header": "Претрага",
   "settings_pane_search_body": "Претражујте веб из вашег новог језичка.",
   "settings_pane_topsites_header": "Омиљени сајтови",
   "settings_pane_topsites_body": "Приступите најпосећенијим веб сајтовима.",
   "settings_pane_topsites_options_showmore": "Прикажи у два реда",
   "settings_pane_bookmarks_header": "Недавне забелешке",
-  "settings_pane_bookmarks_body": "Ваша нова забелешка на јединственом месту.",
   "settings_pane_visit_again_header": "Посетите поново",
-  "settings_pane_visit_again_body": "Firefox ће вам приказивати делове ваше историје прегледања коју можда желите да запамтите или да им се вратите.",
   "settings_pane_highlights_header": "Истакнуто",
   "settings_pane_highlights_body2": "Поново погледајте занимљиве ствари које сте скоро посетили или забележили.",
   "settings_pane_highlights_options_bookmarks": "Забелешке",
   "settings_pane_highlights_options_visited": "Посећени сајтови",
   "settings_pane_snippets_header": "Исечци",
   "settings_pane_snippets_body": "Читајте кратке новости од Mozilla-е о Firefox-у, интернет култури и погледајте понеки насумични мем.",
   "settings_pane_done_button": "Готово",
   "settings_pane_topstories_options_sponsored": "Прикажи промовисане приче",
   "edit_topsites_button_text": "Уреди",
+  "edit_topsites_edit_button": "Уреди овај сајт",
+  "topsites_form_add_header": "Нови омиљени сајт",
+  "topsites_form_edit_header": "Уреди популарне сајтове",
+  "topsites_form_title_label": "Наслов",
+  "topsites_form_title_placeholder": "Унесите наслов",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL прилагођене слике",
+  "topsites_form_url_placeholder": "Унесите или налепите URL",
+  "topsites_form_use_image_link": "Користи прилагођену слику…",
+  "topsites_form_preview_button": "Преглед",
+  "topsites_form_add_button": "Додај",
+  "topsites_form_save_button": "Сачувај",
+  "topsites_form_cancel_button": "Откажи",
+  "topsites_form_url_validation": "Исправан URL се захтева",
+  "topsites_form_image_validation": "Нисам успео да учитам слику. Пробајте са другим URL-ом.",
+  "pocket_read_more": "Популарне теме:",
+  "pocket_read_even_more": "Погледајте још прича",
+  "pocket_description": "Откријте високо квалитетан садржај који можда не бисте видели, уз помоћ Pocket-а који је сада део Mozilla-е.",
+  "highlights_empty_state": "Почните са коришћењем веба а ми ћемо вам овде приказивати неке од одличних чланака, видео записа и других страница које сте скоро посетили.",
+  "topstories_empty_state": "Вратите се касније за нове вести {provider}. Не можете дочекати? Изаберите популарну тему да пронађете још занимљивих вести из света.",
+  "manual_migration_explanation2": "Пробајте FIrefox са коришћењем забелешки, историјата и лозинки из другог прегледача.",
+  "manual_migration_cancel_button": "Не, хвала",
+  "manual_migration_import_button": "Увези сада",
+  "error_fallback_default_info": "Упс, дошло је до грешке приликом учитавања овог садржаја.",
+  "error_fallback_default_refresh_suggestion": "Освежите страницу да покушате поново.",
+  "section_menu_action_remove_section": "Уклони секцију",
+  "section_menu_action_collapse_section": "Скупи секцију",
+  "section_menu_action_expand_section": "Прошири секцију",
+  "section_menu_action_manage_section": "Управљај секцијом",
+  "section_menu_action_add_topsite": "Додај омиљени сајт",
+  "section_menu_action_move_up": "Помери горе",
+  "section_menu_action_move_down": "Помери доле",
+  "section_menu_action_privacy_notice": "Обавештење о приватности",
+  "section_info_option": "Инфо",
+  "section_info_privacy_notice": "Обавештење о приватности",
+  "settings_pane_bookmarks_body": "Ваша нова забелешка на јединственом месту.",
+  "settings_pane_visit_again_body": "Firefox ће вам приказивати делове ваше историје прегледања коју можда желите да запамтите или да им се вратите.",
   "edit_topsites_button_label": "Прилагодите секцију омиљених сајтова",
   "edit_topsites_showmore_button": "Прикажи више",
   "edit_topsites_showless_button": "Прикажи мање",
   "edit_topsites_done_button": "Готово",
   "edit_topsites_pin_button": "Закачи овај сајт",
   "edit_topsites_unpin_button": "Откачи овај сајт",
-  "edit_topsites_edit_button": "Уреди овај сајт",
   "edit_topsites_dismiss_button": "Уклони овај сајт",
   "edit_topsites_add_button": "Додај",
-  "topsites_form_add_header": "Нови омиљени сајт",
-  "topsites_form_edit_header": "Уреди популарне сајтове",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Унесите наслов",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Унесите или налепите URL",
-  "topsites_form_add_button": "Додај",
-  "topsites_form_save_button": "Сачувај",
-  "topsites_form_cancel_button": "Откажи",
-  "topsites_form_url_validation": "Исправан URL се захтева",
-  "pocket_read_more": "Популарне теме:",
-  "pocket_read_even_more": "Погледајте још прича",
-  "pocket_feedback_header": "Најбоље од веба од преко 25 милиона кустоса.",
-  "pocket_description": "Откријте високо квалитетан садржај који можда не бисте видели, уз помоћ Pocket-а који је сада део Mozilla-е.",
-  "highlights_empty_state": "Почните са коришћењем веба а ми ћемо вам овде приказивати неке од одличних чланака, видео записа и других страница које сте скоро посетили.",
-  "topstories_empty_state": "Вратите се касније за нове вести {provider}. Не можете дочекати? Изаберите популарну тему да пронађете још занимљивих вести из света.",
-  "manual_migration_explanation2": "Пробајте FIrefox са коришћењем забелешки, историјата и лозинки из другог прегледача.",
-  "manual_migration_cancel_button": "Не, хвала",
-  "manual_migration_import_button": "Увези сада",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Додај омиљени сајт"
+  "pocket_feedback_header": "Најбоље од веба од преко 25 милиона кустоса."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Ny flik</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Sök på webben</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Sök på webben" title="Sök på webben"/><button id="searchSubmit" class="search-button" title="Sök"><span class="sr-only"><span>Sök</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Mest besökta<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekommenderas av Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populära ämnen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Höjdpunkter</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Sök på webben</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Sök på webben" title="Sök på webben"/><button id="searchSubmit" class="search-button" title="Sök"><span class="sr-only"><span>Sök</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Mest besökta<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekommenderas av Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populära ämnen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Höjdpunkter</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Spara till Pocket",
   "menu_action_delete_pocket": "Ta bort från Pocket",
   "menu_action_archive_pocket": "Arkivera i Pocket",
   "search_for_something_with": "Sök efter {search_term} med:",
   "search_button": "Sök",
   "search_header": "{search_engine_name}",
   "search_web_placeholder": "Sök på webben",
   "search_settings": "Ändra sökinställningar",
-  "section_info_option": "Info",
   "section_info_send_feedback": "Skicka återkoppling",
-  "section_info_privacy_notice": "Sekretesspolicy",
   "section_disclaimer_topstories": "De mest intressanta nyheterna på webben, utvalda baserat på vad du läser. Från Pocket, nu en del av Mozilla.",
   "section_disclaimer_topstories_linktext": "Lär dig hur det fungerar.",
   "section_disclaimer_topstories_buttontext": "Ok, jag förstår",
   "welcome_title": "Välkommen till ny flik",
   "welcome_body": "Firefox kommer att använda detta utrymme för att visa dina mest relevanta bokmärken, artiklar, videor och sidor du nyligen besökt, så du kan hitta dem lätt.",
   "welcome_label": "Identifierar dina höjdpunkter",
   "time_label_less_than_minute": "<1 min",
   "time_label_minute": "{number} min",
   "time_label_hour": "{number} h",
   "time_label_day": "{number} d",
+  "prefs_home_header": "Innehåll Firefox-startskärm",
+  "prefs_home_description": "Välj vilket innehåll du vill ha på din startskärm i Firefox.",
+  "prefs_restore_defaults_button": "Återställ standard",
+  "prefs_section_rows_option": "{num} rad;{num} rader",
+  "prefs_search_header": "Webbsök",
+  "prefs_topsites_description": "Sidorna du besöker mest",
+  "prefs_topstories_description": "Högkvalitativt innehåll som du annars kanske skulle missat",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsrade nyheter",
+  "prefs_topstories_sponsored_learn_more": "Läs mer",
+  "prefs_highlights_description": "Ett urval av sidor du har sparat eller besökt",
+  "prefs_snippets_description": "Uppdateringar från Mozilla och Firefox",
   "settings_pane_button_label": "Anpassa sidan för Ny flik",
   "settings_pane_header": "Inställningar Ny flik",
   "settings_pane_body2": "Välj vad du vill se på denna sida.",
   "settings_pane_search_header": "Sök",
   "settings_pane_search_body": "Sök på webben från din nya flik.",
   "settings_pane_topsites_header": "Mest besökta",
   "settings_pane_topsites_body": "Åtkomst till de webbplatser du besökt mest.",
   "settings_pane_topsites_options_showmore": "Visa två rader",
   "settings_pane_bookmarks_header": "Senaste bokmärken",
-  "settings_pane_bookmarks_body": "Dina nyskapade bokmärken på ett bra ställe.",
   "settings_pane_visit_again_header": "Besökt igen",
-  "settings_pane_visit_again_body": "Firefox visar dig delar av din surfhistorik som du kanske vill komma ihåg eller återkomma till.",
   "settings_pane_highlights_header": "Höjdpunkter",
   "settings_pane_highlights_body2": "Hitta tillbaka till intressanta saker som du nyligen har besökt eller bokmärkt.",
   "settings_pane_highlights_options_bookmarks": "Bokmärken",
   "settings_pane_highlights_options_visited": "Besökta sidor",
   "settings_pane_snippets_header": "Kort information",
   "settings_pane_snippets_body": "Läs korta nyheter från Mozilla om Firefox, internetkultur och från tid till annan en meme.",
   "settings_pane_done_button": "Klar",
   "settings_pane_topstories_options_sponsored": "Visa sponsrade nyheter",
   "edit_topsites_button_text": "Redigera",
-  "edit_topsites_button_label": "Anpassa avsnittet Mest besökta",
-  "edit_topsites_showmore_button": "Visa mer",
-  "edit_topsites_showless_button": "Visa mindre",
-  "edit_topsites_done_button": "Klar",
-  "edit_topsites_pin_button": "Fäst denna webbplats",
-  "edit_topsites_unpin_button": "Lösgör webbplatsen",
   "edit_topsites_edit_button": "Redigera denna webbplats",
-  "edit_topsites_dismiss_button": "Avfärda denna webbplats",
-  "edit_topsites_add_button": "Lägg till",
   "topsites_form_add_header": "Ny mest besökt",
   "topsites_form_edit_header": "Redigera mest besökta",
   "topsites_form_title_label": "Titel",
   "topsites_form_title_placeholder": "Ange en titel",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Anpassad bild URL",
   "topsites_form_url_placeholder": "Skriv eller klistra in en URL",
+  "topsites_form_use_image_link": "Använd en anpassad bild…",
+  "topsites_form_preview_button": "Förhandsvisa",
   "topsites_form_add_button": "Lägg till",
   "topsites_form_save_button": "Spara",
   "topsites_form_cancel_button": "Avbryt",
   "topsites_form_url_validation": "Giltig URL krävs",
+  "topsites_form_image_validation": "Bilden misslyckades att ladda. Prova en annan URL.",
   "pocket_read_more": "Populära ämnen:",
   "pocket_read_even_more": "Visa fler nyheter",
-  "pocket_feedback_header": "Det bästa av webben, sammanställt av över 25 miljoner människor.",
   "pocket_description": "Upptäck högkvalitativt innehåll som du annars skulle missa, med hjälp av Pocket, nu en del av Mozilla.",
   "highlights_empty_state": "Börja surfa, och vi visar några av de bästa artiklarna, videoklippen och andra sidor du nyligen har besökt eller bokmärkt här.",
   "topstories_empty_state": "Det finns inte fler. Kom tillbaka senare för fler huvudnyheter från {provider}. Kan du inte vänta? Välj ett populärt ämne för att hitta fler bra nyheter från hela världen.",
   "manual_migration_explanation2": "Testa Firefox med bokmärken, historik och lösenord från en annan webbläsare.",
   "manual_migration_cancel_button": "Nej tack",
   "manual_migration_import_button": "Importera nu",
   "error_fallback_default_info": "Oj, något gick fel när innehållet skulle laddas.",
   "error_fallback_default_refresh_suggestion": "Uppdatera sidan för att försöka igen.",
   "section_menu_action_remove_section": "Ta bort sektion",
   "section_menu_action_collapse_section": "Fäll ihop sektion",
   "section_menu_action_expand_section": "Expandera sektion",
   "section_menu_action_manage_section": "Hantera sektion",
   "section_menu_action_add_topsite": "Lägg till mest besökta",
   "section_menu_action_move_up": "Flytta upp",
   "section_menu_action_move_down": "Flytta ner",
-  "section_menu_action_privacy_notice": "Sekretesspolicy"
+  "section_menu_action_privacy_notice": "Sekretesspolicy",
+  "section_info_option": "Info",
+  "section_info_privacy_notice": "Sekretesspolicy",
+  "settings_pane_bookmarks_body": "Dina nyskapade bokmärken på ett bra ställe.",
+  "settings_pane_visit_again_body": "Firefox visar dig delar av din surfhistorik som du kanske vill komma ihåg eller återkomma till.",
+  "edit_topsites_button_label": "Anpassa avsnittet Mest besökta",
+  "edit_topsites_showmore_button": "Visa mer",
+  "edit_topsites_showless_button": "Visa mindre",
+  "edit_topsites_done_button": "Klar",
+  "edit_topsites_pin_button": "Fäst denna webbplats",
+  "edit_topsites_unpin_button": "Lösgör webbplatsen",
+  "edit_topsites_dismiss_button": "Avfärda denna webbplats",
+  "edit_topsites_add_button": "Lägg till",
+  "pocket_feedback_header": "Det bästa av webben, sammanställt av över 25 miljoner människor."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>புதிய கீற்று</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>இணையத்தில் தேடு</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="இணையத்தில் தேடு" title="இணையத்தில் தேடு"/><button id="searchSubmit" class="search-button" title="தேடு"><span class="sr-only"><span>தேடு</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>சிறந்த தளங்கள்<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket என்பவரால் பரிந்துரைக்கப்பட்டது</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>பிரபலமான தலைப்புகள்:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>மிளிர்ப்புகள்</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>இணையத்தில் தேடு</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="இணையத்தில் தேடு" title="இணையத்தில் தேடு"/><button id="searchSubmit" class="search-button" title="தேடு"><span class="sr-only"><span>தேடு</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>சிறந்த தளங்கள்<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket என்பவரால் பரிந்துரைக்கப்பட்டது</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>பிரபலமான தலைப்புகள்:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>மிளிர்ப்புகள்</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "பாக்கட்டில் சேமி",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "{search_term} சொல்லிற்காகத் தேடு:",
   "search_button": "தேடு",
   "search_header": "{search_engine_name} தேடுபொறியில் தேடு",
   "search_web_placeholder": "இணையத்தில் தேடு",
   "search_settings": "தேடல் அமைவுகளை மாற்று",
-  "section_info_option": "தகவல்",
   "section_info_send_feedback": "பின்னூட்டம் அனுப்பு",
-  "section_info_privacy_notice": "தனியுரிம கொள்கை",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "இது எப்படி வேலை செய்கிறது என்று தெரிந்துகொள்ளவும்.",
   "section_disclaimer_topstories_buttontext": "சரி, புரிந்தது",
   "welcome_title": "புதிய கீற்றுக்கு வருக",
   "welcome_body": "உங்களுக்கு மிகவும் பொருத்தமான புத்தகக்குறிகள், கட்டுரைகள், காணொளிகள் மற்றும் சமீபத்தில் பார்வையிட்ட பக்கங்களைக் காண்பிக்க பயர்பாக்ஸ் இந்த இடத்தைப் பயன்படுத்தும், எனவே நீங்கள் அவற்றை எளிதாகத் திரும்பப் பெறலாம்.",
   "welcome_label": "உங்களின் முக்கியம்சங்களை அடையாளம் காண்கிறோம்",
   "time_label_less_than_minute": "<1நி",
   "time_label_minute": "{number}நி",
   "time_label_hour": "{number}ம",
   "time_label_day": "{number}நா",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "உங்கள் புதிய கீற்றுப் பக்கத்தை விருப்பமை",
   "settings_pane_header": "புதிய கீற்றின் முன்னுரிமைகள்",
   "settings_pane_body2": "இந்த பக்கத்தில் நீங்கள் பார்ப்பதை தேர்வு செய்யவும்.",
   "settings_pane_search_header": "தேடல்",
   "settings_pane_search_body": "புதிய கீற்றிலீருந்து இணையத்தை தேடு.",
   "settings_pane_topsites_header": "சிறந்த தளங்கள்",
   "settings_pane_topsites_body": "நீங்கள் அடிக்கடி பார்க்கும் தளங்களை அணுகவும்.",
   "settings_pane_topsites_options_showmore": "இரு வரிசைகளைக் காண்பி",
   "settings_pane_bookmarks_header": "சமீபத்திய புத்தகக்குறிகள்",
-  "settings_pane_bookmarks_body": "ஒரு வசதியான இடத்தில் உங்கள் புதிதாக உருவாக்கப்பட்ட புத்தகக்குறிகள்.",
   "settings_pane_visit_again_header": "மீண்டும் வருக",
-  "settings_pane_visit_again_body": "பயர்பாக்ஸ் நீங்கள் நினைவுப்படுத்த (அ) திரும்பப் பெற விரும்பும் உங்கள் உலாவல் வரலாற்றின் சில பகுதிகளைக் காட்டும்.",
   "settings_pane_highlights_header": "மிளிர்ப்புகள்",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "புத்தகக்குறிகள்",
   "settings_pane_highlights_options_visited": "பார்வையிடப்பட்ட தளம்",
   "settings_pane_snippets_header": "துணுக்குகள்",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "முடிந்தது",
   "settings_pane_topstories_options_sponsored": "விளம்பரங்களைக் காட்டு",
   "edit_topsites_button_text": "தொகு",
-  "edit_topsites_button_label": "உங்களின் சிறந்த தளங்களுக்கான தொகுதியை விருப்பமை",
-  "edit_topsites_showmore_button": "கூடுதலாகக் காட்டுக",
-  "edit_topsites_showless_button": "குறைவாகக் காண்பி",
-  "edit_topsites_done_button": "முடிந்தது",
-  "edit_topsites_pin_button": "இத்தளத்தை இடமுனையில் வை",
-  "edit_topsites_unpin_button": "முனையிலிருந்து நீக்கு",
   "edit_topsites_edit_button": "இத்தளத்தை தொகு",
-  "edit_topsites_dismiss_button": "இந்த தளத்தை வெளியேற்று",
-  "edit_topsites_add_button": "சேர்",
   "topsites_form_add_header": "புதிய முக்கிய தளம்",
   "topsites_form_edit_header": "முக்கிய தளத்தை தொகு",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "தலைப்பை இடு",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "உள்ளிடு (அ) ஒரு URL ஒட்டு",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "சேர்",
   "topsites_form_save_button": "சேமி",
   "topsites_form_cancel_button": "தவிர்",
   "topsites_form_url_validation": "சரியான URL தேவை",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "பிரபலமான தலைப்புகள்:",
   "pocket_read_even_more": "இன்னும் கதைகளைப் பார்க்கவும்",
-  "pocket_feedback_header": "இணையத்தின் சிறந்த செயலி, 250 இலட்ச மக்களால் தேர்ந்தெடுக்கப்பட்டது.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "உலாவலைத் தொடங்கவும், மேலும் நாங்கள் சில சிறந்த கட்டுரைகள், காணொளிகள், மற்றும் நீங்கள் சமீபத்தில் பார்த்த பிற பக்கங்கள் அல்லது இங்கே புத்தகக்குறியிட்டவற்றைக் காட்டுவோம்.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "பரவாயில்லை",
   "manual_migration_import_button": "இப்போது இறக்கு",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "முதன்மைத் தளத்தைச் சேர்"
+  "section_info_option": "தகவல்",
+  "section_info_privacy_notice": "தனியுரிம கொள்கை",
+  "settings_pane_bookmarks_body": "ஒரு வசதியான இடத்தில் உங்கள் புதிதாக உருவாக்கப்பட்ட புத்தகக்குறிகள்.",
+  "settings_pane_visit_again_body": "பயர்பாக்ஸ் நீங்கள் நினைவுப்படுத்த (அ) திரும்பப் பெற விரும்பும் உங்கள் உலாவல் வரலாற்றின் சில பகுதிகளைக் காட்டும்.",
+  "edit_topsites_button_label": "உங்களின் சிறந்த தளங்களுக்கான தொகுதியை விருப்பமை",
+  "edit_topsites_showmore_button": "கூடுதலாகக் காட்டுக",
+  "edit_topsites_showless_button": "குறைவாகக் காண்பி",
+  "edit_topsites_done_button": "முடிந்தது",
+  "edit_topsites_pin_button": "இத்தளத்தை இடமுனையில் வை",
+  "edit_topsites_unpin_button": "முனையிலிருந்து நீக்கு",
+  "edit_topsites_dismiss_button": "இந்த தளத்தை வெளியேற்று",
+  "edit_topsites_add_button": "சேர்",
+  "edit_topsites_add_button_tooltip": "முதன்மைத் தளத்தைச் சேர்",
+  "pocket_feedback_header": "இணையத்தின் சிறந்த செயலி, 250 இலட்ச மக்களால் தேர்ந்தெடுக்கப்பட்டது."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/te/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/te/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>కొత్త ట్యాబు</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>జాలంలో వెతకండి</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="జాలంలో వెతకండి" title="జాలంలో వెతకండి"/><button id="searchSubmit" class="search-button" title="వెతకండి"><span class="sr-only"><span>వెతకండి</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>మేటి సైట్లు<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocketచే సిఫార్సు చేయబడినది</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ప్రముఖ అంశాలు:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>విశేషాలు</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>జాలంలో వెతకండి</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="జాలంలో వెతకండి" title="జాలంలో వెతకండి"/><button id="searchSubmit" class="search-button" title="వెతకండి"><span class="sr-only"><span>వెతకండి</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>మేటి సైట్లు<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocketచే సిఫార్సు చేయబడినది</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ప్రముఖ అంశాలు:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>విశేషాలు</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/te/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/te/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket కి సేవ్ చేయండి",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "{search_term} కోసం దీని సాయంతో వెతుకు:",
   "search_button": "వెతకండి",
   "search_header": "{search_engine_name} శోధన",
   "search_web_placeholder": "జాలంలో వెతకండి",
   "search_settings": "శోధన అమరికలు మార్చు",
-  "section_info_option": "సమాచారం",
   "section_info_send_feedback": "అభిప్రాయాన్ని పంపండి",
-  "section_info_privacy_notice": "గోప్యతా విధానం",
   "section_disclaimer_topstories": "జాలంలో అత్యంత ఆసక్తికరమైన కథనాలు, మీరు చదివేవాటి ఆధారంగా ఎంచుకున్నవి. ఇప్పుడు Mozillaలో భాగమైన Pocket నుండి.",
   "section_disclaimer_topstories_linktext": "ఇది ఎలా పనిచేస్తుందో తెలుసుకోండి.",
   "section_disclaimer_topstories_buttontext": "సరే, అర్థమయ్యింది",
   "welcome_title": "కొత్త ట్యాబుకు స్వాగతం",
   "welcome_body": "సముచితమైన మీ ఇష్టాంశాలను, వ్యాసాలను, వీడియోలను, ఇంకా మీరు ఇటీవలే చూసిన పేజీలను మీకు తేలిగ్గా అందుబాటులో ఉంచేందుకు Firefox ఈ జాగాని వాడుకుంటుంది.",
   "welcome_label": "మీ ముఖ్యాంశాలను గుర్తిస్తున్నది",
   "time_label_less_than_minute": "<1ని",
   "time_label_minute": "{number}ని",
   "time_label_hour": "{number}గం",
   "time_label_day": "{number}రో",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "మీ కొత్త ట్యాబు పేజీని మలచుకోండి",
   "settings_pane_header": "కొత్త ట్యాబు అభిరుచులు",
   "settings_pane_body2": "ఈ పేజీలో ఏమేం చూడాలో ఎంచుకోండి.",
   "settings_pane_search_header": "వెతకడం",
   "settings_pane_search_body": "కొత్త ట్యాబు నుండే జాలంలో వెతకండి.",
   "settings_pane_topsites_header": "మేటి సైట్లు",
   "settings_pane_topsites_body": "మీరు ఎక్కువగా చూసే వెబ్‌సైట్లకు ఇట్టే వెళ్ళండి.",
   "settings_pane_topsites_options_showmore": "రెండు వరుసలు చూపించు",
   "settings_pane_bookmarks_header": "ఇటీవలి బుక్మార్క్లు",
-  "settings_pane_bookmarks_body": "ఒక సులభ స్థానంలో మీ క్రొత్తగా సృష్టించిన బుక్మార్క్లు.",
   "settings_pane_visit_again_header": "మళ్లీ సందర్శించండి",
-  "settings_pane_visit_again_body": "మీరు బ్రౌజింగ్ చరిత్రలో గుర్తుంచుకోవాల్సిన  లేదా తిరిగి పొందవలసిన భాగాలను చూపిస్తుంది.",
   "settings_pane_highlights_header": "విశేషాలు",
   "settings_pane_highlights_body2": "ఇటీవలే మీరు చూసిన లేదా ఇష్టపడిన ఆసక్తికరమైన విషయాలు మళ్ళీ మీ ముందుకొస్తాయి.",
   "settings_pane_highlights_options_bookmarks": "ఇష్టాంశాలు",
   "settings_pane_highlights_options_visited": "చూసిన సైట్లు",
   "settings_pane_snippets_header": "సంగతులు",
   "settings_pane_snippets_body": "Firefox గురించి, అంతర్జాల సంస్కృతి గురించి, ఏదో ఒక సరదా పుకారు గురించి Mozilla వారు చెప్పే చిట్టి పొట్టి సంగతులు చదవండి.",
   "settings_pane_done_button": "పూర్తయింది",
   "settings_pane_topstories_options_sponsored": "ప్రాయోజిత కథనాలను చూపించు",
   "edit_topsites_button_text": "మార్చు",
-  "edit_topsites_button_label": "మీ మేటి సైట్ల విభాగాన్ని మలచుకోండి",
-  "edit_topsites_showmore_button": "ఇంకా చూపించు",
-  "edit_topsites_showless_button": "కొన్నే చూపించు",
-  "edit_topsites_done_button": "పూర్తయింది",
-  "edit_topsites_pin_button": "ఈ సైటును ఇక్కడ గుచ్చు",
-  "edit_topsites_unpin_button": "ఈ సైటుకి పిన్నుని తీసివేయండి",
   "edit_topsites_edit_button": "ఈ సైటును మార్చు",
-  "edit_topsites_dismiss_button": "ఈ సైటుని తీసివేయి",
-  "edit_topsites_add_button": "జోడించు",
   "topsites_form_add_header": "కొత్త మేటి సైటు",
   "topsites_form_edit_header": "టాప్ సైట్ను సవరించండి",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "శీర్షికను నమోదు చేయండి",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "URL ను టైప్ చేయండి లేదా అతికించండి",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "చేర్చు",
   "topsites_form_save_button": "భద్రపరచు",
   "topsites_form_cancel_button": "రద్దుచేయి",
   "topsites_form_url_validation": "చెల్లుబాటు అయ్యే URL అవసరం",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "ప్రముఖ అంశాలు:",
   "pocket_read_even_more": "మరిన్ని కథలను వీక్షించండి",
-  "pocket_feedback_header": "వెబ్లో అత్యుత్తమమైనది, 25 మిలియన్లకు పైగా ప్రజలు పర్యవేక్షించినవి.",
   "pocket_description": "తప్పక చూడాల్సిన మిక్కిలి-నాణ్యమైన విషయం పాకెట్ సహాయంతో. పాకెట్ ఇప్పుడు మొజిల్లాలో భాగం.",
   "highlights_empty_state": "విహారించడం మొదలుపెట్టండి, మీరు ఈమధ్య చూసిన లేదా ఇష్టపడిన గొప్ప వ్యాసాలను, వీడియోలను, ఇతర పేజీలను ఇక్కడ చూపిస్తాం.",
   "topstories_empty_state": "మీరు పట్టుబడ్డారు. {provider} నుండి మరింత అగ్ర కథనాల కోసం తరువాత తనిఖీ చేయండి. వేచి ఉండలేరా? జాలములోని అంతటి నుండి మరింత గొప్ప కథనాలను కనుగొనడానికి ప్రసిద్ధ అంశం ఎంచుకోండి.",
   "manual_migration_explanation2": "మరొక విహారిణి లోని ఇష్టాంశాలు, చరిత్ర, సంకేతపదాలతో Firefoxను ప్రయత్నించండి.",
   "manual_migration_cancel_button": "అడిగినందుకు ధన్యవాదాలు, వద్దు",
   "manual_migration_import_button": "ఇప్పుడే దిగుమతి చేయండి",
   "error_fallback_default_info": "అయ్యో, ఈ విషయం తేవడంలో ఏదో తప్పు దొర్లింది.",
   "error_fallback_default_refresh_suggestion": "మళ్ళీ ప్రయత్నించడానికి పేజీని రీఫ్రెష్ చెయ్యండి.",
   "section_menu_action_remove_section": "విభాగాన్ని తీసివేయి",
   "section_menu_action_collapse_section": "విభాగాన్ని ముడిచివేయి",
   "section_menu_action_expand_section": "విభాగాన్ని విస్తరించు",
   "section_menu_action_manage_section": "విభాగ నిర్వహణ",
   "section_menu_action_add_topsite": "మేటి సైటును చేర్చు",
   "section_menu_action_move_up": "పైకి జరుపు",
   "section_menu_action_move_down": "కిందకి జరుపు",
-  "section_menu_action_privacy_notice": "అంతరంగికత గమనిక"
+  "section_menu_action_privacy_notice": "అంతరంగికత గమనిక",
+  "section_info_option": "సమాచారం",
+  "section_info_privacy_notice": "గోప్యతా విధానం",
+  "settings_pane_bookmarks_body": "ఒక సులభ స్థానంలో మీ క్రొత్తగా సృష్టించిన బుక్మార్క్లు.",
+  "settings_pane_visit_again_body": "మీరు బ్రౌజింగ్ చరిత్రలో గుర్తుంచుకోవాల్సిన  లేదా తిరిగి పొందవలసిన భాగాలను చూపిస్తుంది.",
+  "edit_topsites_button_label": "మీ మేటి సైట్ల విభాగాన్ని మలచుకోండి",
+  "edit_topsites_showmore_button": "ఇంకా చూపించు",
+  "edit_topsites_showless_button": "కొన్నే చూపించు",
+  "edit_topsites_done_button": "పూర్తయింది",
+  "edit_topsites_pin_button": "ఈ సైటును ఇక్కడ గుచ్చు",
+  "edit_topsites_unpin_button": "ఈ సైటుకి పిన్నుని తీసివేయండి",
+  "edit_topsites_dismiss_button": "ఈ సైటుని తీసివేయి",
+  "edit_topsites_add_button": "జోడించు",
+  "pocket_feedback_header": "వెబ్లో అత్యుత్తమమైనది, 25 మిలియన్లకు పైగా ప్రజలు పర్యవేక్షించినవి."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/th/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/th/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>แท็บใหม่</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ค้นหาเว็บ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ค้นหาเว็บ" title="ค้นหาเว็บ"/><button id="searchSubmit" class="search-button" title="ค้นหา"><span class="sr-only"><span>ค้นหา</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ไซต์เด่น<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>แนะนำโดย Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>หัวข้อยอดนิยม:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>รายการเด่น</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ค้นหาเว็บ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ค้นหาเว็บ" title="ค้นหาเว็บ"/><button id="searchSubmit" class="search-button" title="ค้นหา"><span class="sr-only"><span>ค้นหา</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>ไซต์เด่น<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>เปิดเมนูบริบทของส่วน</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>แนะนำโดย Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>เปิดเมนูบริบทของส่วน</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>หัวข้อยอดนิยม:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>รายการเด่น</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>เปิดเมนูบริบทของส่วน</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/th/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/th/activity-stream-strings.js
@@ -5,23 +5,23 @@ window.gActivityStreamStrings = {
   "header_top_sites": "ไซต์เด่น",
   "header_stories": "เรื่องราวเด่น",
   "header_highlights": "รายการเด่น",
   "header_visit_again": "เยี่ยมชมอีกครั้ง",
   "header_bookmarks": "ที่คั่นหน้าล่าสุด",
   "header_recommended_by": "แนะนำโดย {provider}",
   "header_bookmarks_placeholder": "คุณยังไม่มีที่คั่นหน้าใด ๆ",
   "header_stories_from": "จาก",
-  "context_menu_button_sr": "Open context menu for {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "context_menu_button_sr": "เปิดเมนูบริบทสำหรับ {title}",
+  "section_context_menu_button_sr": "เปิดเมนูบริบทของส่วน",
   "type_label_visited": "เยี่ยมชมแล้ว",
   "type_label_bookmarked": "เพิ่มที่คั่นหน้าแล้ว",
   "type_label_synced": "ซิงค์จากอุปกรณ์อื่น",
   "type_label_recommended": "กำลังนิยม",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "บันทึกไปยัง Pocket แล้ว",
   "type_label_open": "เปิด",
   "type_label_topic": "หัวข้อ",
   "type_label_now": "ตอนนี้",
   "menu_action_bookmark": "เพิ่มที่คั่นหน้า",
   "menu_action_remove_bookmark": "เอาที่คั่นหน้าออก",
   "menu_action_copy_address": "คัดลอกที่อยู่",
   "menu_action_email_link": "ส่งอีเมลลิงก์…",
   "menu_action_open_new_window": "เปิดในหน้าต่างใหม่",
@@ -29,87 +29,102 @@ window.gActivityStreamStrings = {
   "menu_action_dismiss": "ยกเลิก",
   "menu_action_delete": "ลบออกจากประวัติ",
   "menu_action_pin": "ปักหมุด",
   "menu_action_unpin": "ถอนหมุด",
   "confirm_history_delete_p1": "คุณแน่ใจหรือไม่ว่าต้องการลบทุกอินสแตนซ์ของหน้านี้ออกจากประวัติของคุณ?",
   "confirm_history_delete_notice_p2": "การกระทำนี้ไม่สามารถเลิกทำได้",
   "menu_action_save_to_pocket": "บันทึกไปยัง Pocket",
   "menu_action_delete_pocket": "ลบจาก Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_archive_pocket": "เก็บถาวรใน Pocket",
   "search_for_something_with": "ค้นหา {search_term} ด้วย:",
   "search_button": "ค้นหา",
   "search_header": "ค้นหา {search_engine_name}",
   "search_web_placeholder": "ค้นหาเว็บ",
   "search_settings": "เปลี่ยนการตั้งค่าการค้นหา",
-  "section_info_option": "ข้อมูล",
   "section_info_send_feedback": "ส่งข้อคิดเห็น",
-  "section_info_privacy_notice": "ประกาศความเป็นส่วนตัว",
   "section_disclaimer_topstories": "เรื่องราวที่น่าสนใจที่สุดบนเว็บ เลือกตามสิ่งที่คุณอ่าน จาก Pocket ซึ่งขณะนี้เป็นส่วนหนึ่งของ Mozilla",
   "section_disclaimer_topstories_linktext": "เรียนรู้วิธีการทำงาน",
   "section_disclaimer_topstories_buttontext": "ตกลง เข้าใจแล้ว",
   "welcome_title": "ยินดีต้อนรับสู่แท็บใหม่",
   "welcome_body": "Firefox จะใช้พื้นที่นี้เพื่อแสดงที่คั่นหน้า, บทความ, วิดีโอ และหน้าที่คุณได้เยี่ยมชมล่าสุดที่เกี่ยวข้องกับคุณมากที่สุด เพื่อให้คุณสามารถกลับมาชมได้อย่างง่ายดาย",
   "welcome_label": "กำลังระบุรายการเด่นของคุณ",
   "time_label_less_than_minute": "<1 นาที",
   "time_label_minute": "{number} นาที",
   "time_label_hour": "{number} ชั่วโมง",
   "time_label_day": "{number} วัน",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "เรียกคืนค่าเริ่มต้น",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "การค้นหาเว็บ",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "เรียนรู้เพิ่มเติม",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "ปรับแต่งหน้าแท็บใหม่ของคุณ",
   "settings_pane_header": "ค่ากำหนดแท็บใหม่",
   "settings_pane_body2": "เลือกสิ่งที่คุณเห็นในหน้านี้",
   "settings_pane_search_header": "ค้นหา",
   "settings_pane_search_body": "ค้นหาเว็บจากแท็บใหม่ของคุณ",
   "settings_pane_topsites_header": "ไซต์เด่น",
   "settings_pane_topsites_body": "เข้าถึงเว็บไซต์ที่คุณเยี่ยมชมมากที่สุด",
   "settings_pane_topsites_options_showmore": "แสดงสองแถว",
   "settings_pane_bookmarks_header": "ที่คั่นหน้าล่าสุด",
-  "settings_pane_bookmarks_body": "ที่คั่นหน้าที่สร้างใหม่ของคุณในตำแหน่งที่ตั้งเดียวที่สะดวก",
   "settings_pane_visit_again_header": "เยี่ยมชมอีกครั้ง",
-  "settings_pane_visit_again_body": "Firefox จะแสดงประวัติการท่องเว็บที่คุณอาจต้องการให้จดจำหรือกลับไปเยี่ยมชมอีกครั้งที่นี่",
   "settings_pane_highlights_header": "รายการเด่น",
   "settings_pane_highlights_body2": "ค้นหาทางของคุณกลับไปยังสิ่งที่น่าสนใจที่คุณได้เยี่ยมชมหรือเพิ่มที่คั่นหน้าไว้ล่าสุด",
   "settings_pane_highlights_options_bookmarks": "ที่คั่นหน้า",
   "settings_pane_highlights_options_visited": "ไซต์ที่เยี่ยมชมแล้ว",
   "settings_pane_snippets_header": "ส่วนย่อย",
   "settings_pane_snippets_body": "อ่านข้อมูลอัปเดตที่สั้นและไพเราะจาก Mozilla เกี่ยวกับ Firefox, วัฒนธรรมอินเทอร์เน็ต และมีมแบบสุ่มเป็นครั้งคราว",
   "settings_pane_done_button": "เสร็จสิ้น",
   "settings_pane_topstories_options_sponsored": "แสดงเรื่องราวที่ได้รับการสนับสนุน",
   "edit_topsites_button_text": "แก้ไข",
+  "edit_topsites_edit_button": "แก้ไขไซต์นี้",
+  "topsites_form_add_header": "ไซต์เด่นใหม่",
+  "topsites_form_edit_header": "แก้ไขไซต์เด่น",
+  "topsites_form_title_label": "ชื่อเรื่อง",
+  "topsites_form_title_placeholder": "ป้อนชื่อเรื่อง",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
+  "topsites_form_url_placeholder": "พิมพ์หรือวาง URL",
+  "topsites_form_use_image_link": "ใช้ภาพที่กำหนดเอง…",
+  "topsites_form_preview_button": "แสดงตัวอย่าง",
+  "topsites_form_add_button": "เพิ่ม",
+  "topsites_form_save_button": "บันทึก",
+  "topsites_form_cancel_button": "ยกเลิก",
+  "topsites_form_url_validation": "ต้องการ URL ที่ถูกต้อง",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
+  "pocket_read_more": "หัวข้อยอดนิยม:",
+  "pocket_read_even_more": "ดูเรื่องราวเพิ่มเติม",
+  "pocket_description": "ค้นพบเนื้อหาคุณภาพสูงที่คุณอาจจะพลาดไปด้วยความช่วยเหลือจาก Pocket ซึ่งขณะนี้เป็นส่วนหนึ่งของ Mozilla",
+  "highlights_empty_state": "เริ่มการท่องเว็บและเราจะแสดงบทความ, วิดีโอ และหน้าอื่น ๆ บางส่วนที่ยอดเยี่ยมที่คุณได้เยี่ยมชมหรือเพิ่มที่คั่นหน้าไว้ล่าสุดที่นี่",
+  "topstories_empty_state": "คุณได้อ่านเรื่องราวครบทั้งหมดแล้ว คุณสามารถกลับมาตรวจดูเรื่องราวเด่นจาก {provider} ได้ภายหลัง อดใจรอไม่ได้งั้นหรือ? เลือกหัวข้อยอดนิยมเพื่อค้นหาเรื่องราวที่ยอดเยี่ยมจากเว็บต่าง ๆ",
+  "manual_migration_explanation2": "ลอง Firefox ด้วยที่คั่นหน้า, ประวัติ และรหัสผ่านจากเบราว์เซอร์อื่น",
+  "manual_migration_cancel_button": "ไม่ ขอบคุณ",
+  "manual_migration_import_button": "นำเข้าตอนนี้",
+  "error_fallback_default_info": "อุปส์ มีบางอย่างผิดพลาดในการโหลดเนื้อหานี้",
+  "error_fallback_default_refresh_suggestion": "เรียกหน้าใหม่เพื่อลองอีกครั้ง",
+  "section_menu_action_remove_section": "เอาส่วนออก",
+  "section_menu_action_collapse_section": "ยุบส่วน",
+  "section_menu_action_expand_section": "ขยายส่วน",
+  "section_menu_action_manage_section": "จัดการส่วน",
+  "section_menu_action_add_topsite": "เพิ่มไซต์เด่น",
+  "section_menu_action_move_up": "ย้ายขึ้น",
+  "section_menu_action_move_down": "ย้ายลง",
+  "section_menu_action_privacy_notice": "ประกาศความเป็นส่วนตัว",
+  "section_info_option": "ข้อมูล",
+  "section_info_privacy_notice": "ประกาศความเป็นส่วนตัว",
+  "settings_pane_bookmarks_body": "ที่คั่นหน้าที่สร้างใหม่ของคุณในตำแหน่งที่ตั้งเดียวที่สะดวก",
+  "settings_pane_visit_again_body": "Firefox จะแสดงประวัติการท่องเว็บที่คุณอาจต้องการให้จดจำหรือกลับไปเยี่ยมชมอีกครั้งที่นี่",
   "edit_topsites_button_label": "ปรับแต่งส่วนไซต์เด่นของคุณ",
   "edit_topsites_showmore_button": "แสดงเพิ่มเติม",
   "edit_topsites_showless_button": "แสดงน้อยลง",
   "edit_topsites_done_button": "เสร็จสิ้น",
   "edit_topsites_pin_button": "ปักหมุดไซต์นี้",
   "edit_topsites_unpin_button": "ถอนหมุดไซต์นี้",
-  "edit_topsites_edit_button": "แก้ไขไซต์นี้",
   "edit_topsites_dismiss_button": "ไม่สนใจไซต์นี้",
   "edit_topsites_add_button": "เพิ่ม",
-  "topsites_form_add_header": "ไซต์เด่นใหม่",
-  "topsites_form_edit_header": "แก้ไขไซต์เด่น",
-  "topsites_form_title_label": "ชื่อเรื่อง",
-  "topsites_form_title_placeholder": "ป้อนชื่อเรื่อง",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "พิมพ์หรือวาง URL",
-  "topsites_form_add_button": "เพิ่ม",
-  "topsites_form_save_button": "บันทึก",
-  "topsites_form_cancel_button": "ยกเลิก",
-  "topsites_form_url_validation": "ต้องการ URL ที่ถูกต้อง",
-  "pocket_read_more": "หัวข้อยอดนิยม:",
-  "pocket_read_even_more": "ดูเรื่องราวเพิ่มเติม",
-  "pocket_feedback_header": "ที่สุดของเว็บ จัดรายการโดยผู้คนกว่า 25 ล้านคน",
-  "pocket_description": "ค้นพบเนื้อหาคุณภาพสูงที่คุณอาจจะพลาดไปด้วยความช่วยเหลือจาก Pocket ซึ่งขณะนี้เป็นส่วนหนึ่งของ Mozilla",
-  "highlights_empty_state": "เริ่มการท่องเว็บและเราจะแสดงบทความ, วิดีโอ และหน้าอื่น ๆ บางส่วนที่ยอดเยี่ยมที่คุณได้เยี่ยมชมหรือเพิ่มที่คั่นหน้าไว้ล่าสุดที่นี่",
-  "topstories_empty_state": "คุณได้อ่านเรื่องราวครบทั้งหมดแล้ว คุณสามารถกลับมาตรวจดูเรื่องราวเด่นจาก {provider} ได้ภายหลัง อดใจรอไม่ได้งั้นหรือ? เลือกหัวข้อยอดนิยมเพื่อค้นหาเรื่องราวที่ยอดเยี่ยมจากเว็บต่าง ๆ",
-  "manual_migration_explanation2": "ลอง Firefox ด้วยที่คั่นหน้า, ประวัติ และรหัสผ่านจากเบราว์เซอร์อื่น",
-  "manual_migration_cancel_button": "ไม่ ขอบคุณ",
-  "manual_migration_import_button": "นำเข้าตอนนี้",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "เพิ่มไซต์เด่น",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "ประกาศความเป็นส่วนตัว"
+  "pocket_feedback_header": "ที่สุดของเว็บ จัดรายการโดยผู้คนกว่า 25 ล้านคน"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Bagong Tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Hanapin sa Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Hanapin sa Web" title="Hanapin sa Web"/><button id="searchSubmit" class="search-button" title="Hanapin"><span class="sr-only"><span>Hanapin</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Tuktok na mga Site<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Inirekomenda ni Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tanyag na mga paksa:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Naka-highlight</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Hanapin sa Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Hanapin sa Web" title="Hanapin sa Web"/><button id="searchSubmit" class="search-button" title="Hanapin"><span class="sr-only"><span>Hanapin</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Tuktok na mga Site<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Inirekomenda ni Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tanyag na mga paksa:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Naka-highlight</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "I-save sa Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Maghanap ng mga {search_term} na may:",
   "search_button": "Hanapin",
   "search_header": "{search_engine_name} Hanapin",
   "search_web_placeholder": "Hanapin sa Web",
   "search_settings": "Baguhin ang mga Setting ng Paghahanap",
-  "section_info_option": "Impormasyon",
   "section_info_send_feedback": "Magbigay ng Feedback",
-  "section_info_privacy_notice": "Abiso sa Privacy",
   "section_disclaimer_topstories": "Ang pinaka-kagiliw-giliw na mga kwento sa web, pinili batay sa kung ano ang iyong nabasa. Mula sa Pocket, bahagi na ngayon ng Mozilla.",
   "section_disclaimer_topstories_linktext": "Alamin kung paano ito gumagana.",
   "section_disclaimer_topstories_buttontext": "Sige, nakuha ko",
   "welcome_title": "Maligayang pagdating sa bagong tab",
   "welcome_body": "Firefox ay gagamit ng puwang upang ipakita ang iyong mga pinaka-kaugnay na bookmark, artikulo, video, at mga pahina ng kamakailan na iyong binisita, kaya maaari kang bumalik sa mga ito ng madali.",
   "welcome_label": "Ang pagkilala sa iyong Highlights",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "I-customize ang iyong pahina ng Bagong Tab",
   "settings_pane_header": "Bagong Kagustuhan na Tab",
   "settings_pane_body2": "Piliin kung ano ang gusto mong makita sa pahinang ito.",
   "settings_pane_search_header": "Paghahanap",
   "settings_pane_search_body": "Hanapin sa Web mula sa iyong bagong tab.",
   "settings_pane_topsites_header": "Tuktok na mga Site",
   "settings_pane_topsites_body": "Ma-access ang mga website na karamihang binibisita.",
   "settings_pane_topsites_options_showmore": "Ipakita ang dalawang mga hanay",
   "settings_pane_bookmarks_header": "Kamakailang mga Bookmark",
-  "settings_pane_bookmarks_body": "Ang iyong mga bagong gawang bookmark ay nsa isang madaling gamiting lokasyon.",
   "settings_pane_visit_again_header": "Bisitahin Muli",
-  "settings_pane_visit_again_body": "Ipapakita sa iyo ng Firefox ang mga bahagi ng iyong kasaysayan ng pagba-browse na maaaring gusto mong matandaan o makabalik.",
   "settings_pane_highlights_header": "Mga highlight",
   "settings_pane_highlights_body2": "Hanapin ang iyong daan pabalik sa mga kagiliw-giliw na bagay na kamakailan mong binisita o na-bookmark.",
   "settings_pane_highlights_options_bookmarks": "Mga bookmark",
   "settings_pane_highlights_options_visited": "Mga binisitang site",
   "settings_pane_snippets_header": "Mga snippet",
   "settings_pane_snippets_body": "Magbasa ng maikli at matamis na mga update mula sa Mozilla tungkol sa Firefox, kultura sa internet, at paminsan-minsang random na meme.",
   "settings_pane_done_button": "Tapos",
   "settings_pane_topstories_options_sponsored": "Ipakita ang Mga Na-sponsor na Kuwento",
   "edit_topsites_button_text": "I-edit",
-  "edit_topsites_button_label": "I-customize ang iyong Tuktok na mga seksyon ng Sites",
-  "edit_topsites_showmore_button": "Magpakita ng higit pa",
-  "edit_topsites_showless_button": "Magpakita ng mas kaunti",
-  "edit_topsites_done_button": "Tapos",
-  "edit_topsites_pin_button": "I-pin sa site na ito",
-  "edit_topsites_unpin_button": "I-unpin ang site na ito",
   "edit_topsites_edit_button": "I-edit ang site na ito",
-  "edit_topsites_dismiss_button": "I-dismiss sa site na ito",
-  "edit_topsites_add_button": "Idagdag",
   "topsites_form_add_header": "Bagong nangungunang site",
   "topsites_form_edit_header": "I-edit ang nangungunang site",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Magpasok ng isang pamagat",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "I-type o i-paste ang URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Idagdag",
   "topsites_form_save_button": "I-save",
   "topsites_form_cancel_button": "Kanselahin",
   "topsites_form_url_validation": "Wastong URL ang kinakailangan",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Tanyag na mga paksa:",
   "pocket_read_even_more": "Tignan ang higit pang mga kuwento",
-  "pocket_feedback_header": "Ang pinakamahusay sa web, na gawa ng higit sa 25 milyong tao.",
   "pocket_description": "Tuklasin ang mataas na kalidad na nilalaman na maaari mong makaligtaan, sa tulong ng Pocket, ay bahagi na ngayon ng Mozilla.",
   "highlights_empty_state": "Magsimulang mag-browse, at ipapakita namin ang ilan sa mga magagandang artikulo, video, at iba pang mga pahina na kamakailan mong binisita o na-bookmark dito.",
   "topstories_empty_state": "Nakahabol ka na. Bumalik sa ibang pagkakataon para sa higit pang mga nangungunang kuwento mula sa {provider}. Hindi makapaghintay? Pumili ng isang tanyag na paksa upang makahanap ng higit pang mahusay na mga kuwento mula sa buong web.",
   "manual_migration_explanation2": "Subukan ang Firefox gamit ang mga bookmark, kasaysayan at mga password mula sa isa pang browser.",
   "manual_migration_cancel_button": "Salamat na lang",
   "manual_migration_import_button": "Angkatin Ngayon",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Magdagdag ng Nangungunang Site"
+  "section_info_option": "Impormasyon",
+  "section_info_privacy_notice": "Abiso sa Privacy",
+  "settings_pane_bookmarks_body": "Ang iyong mga bagong gawang bookmark ay nsa isang madaling gamiting lokasyon.",
+  "settings_pane_visit_again_body": "Ipapakita sa iyo ng Firefox ang mga bahagi ng iyong kasaysayan ng pagba-browse na maaaring gusto mong matandaan o makabalik.",
+  "edit_topsites_button_label": "I-customize ang iyong Tuktok na mga seksyon ng Sites",
+  "edit_topsites_showmore_button": "Magpakita ng higit pa",
+  "edit_topsites_showless_button": "Magpakita ng mas kaunti",
+  "edit_topsites_done_button": "Tapos",
+  "edit_topsites_pin_button": "I-pin sa site na ito",
+  "edit_topsites_unpin_button": "I-unpin ang site na ito",
+  "edit_topsites_dismiss_button": "I-dismiss sa site na ito",
+  "edit_topsites_add_button": "Idagdag",
+  "edit_topsites_add_button_tooltip": "Magdagdag ng Nangungunang Site",
+  "pocket_feedback_header": "Ang pinakamahusay sa web, na gawa ng higit sa 25 milyong tao."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Yeni Sekme</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web’de ara</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web’de ara" title="Web’de ara"/><button id="searchSubmit" class="search-button" title="Ara"><span class="sr-only"><span>Ara</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sık Kullanılan Siteler<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket öneriyor</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popüler konular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Öne Çıkanlar</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web’de ara</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web’de ara" title="Web’de ara"/><button id="searchSubmit" class="search-button" title="Ara"><span class="sr-only"><span>Ara</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Sık Kullanılan Siteler<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket öneriyor</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popüler konular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Öne Çıkanlar</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket’a kaydet",
   "menu_action_delete_pocket": "Pocket’tan sil",
   "menu_action_archive_pocket": "Pocket’ta arşivle",
   "search_for_something_with": "{search_term} terimini şununla ara:",
   "search_button": "Ara",
   "search_header": "{search_engine_name} Araması",
   "search_web_placeholder": "Web’de ara",
   "search_settings": "Arama ayarlarını değiştir",
-  "section_info_option": "Bilgi",
   "section_info_send_feedback": "Görüş gönder",
-  "section_info_privacy_notice": "Gizlilik bildirimi",
   "section_disclaimer_topstories": "Daha önce okuduklarınıza dayanarak seçtiğimiz en ilginç yazılar. Mozilla ailesinin yeni üyesi Pocket’tan.",
   "section_disclaimer_topstories_linktext": "Nasıl çalıştığını görün.",
   "section_disclaimer_topstories_buttontext": "Tamam, anladım",
   "welcome_title": "Yeni sekmeye hoş geldiniz",
   "welcome_body": "Firefox son zamanlarda ziyaret ettiğiniz ve sık kullandığınız yer imlerini, makaleleri, videoları ve sayfaları onlara tekrar kolayca geri dönebilmeniz için bu alanda gösterecektir.",
   "welcome_label": "Öne Çıkanlar'ınızı tanıyın",
   "time_label_less_than_minute": "<1 dk",
   "time_label_minute": "{number} dk",
   "time_label_hour": "{number} sa",
   "time_label_day": "{number} g",
+  "prefs_home_header": "Firefox giriş sayfası içeriği",
+  "prefs_home_description": "Firefox giriş sayfasında görmek istediğiniz içerikleri seçin.",
+  "prefs_restore_defaults_button": "Varsayılanları geri yükle",
+  "prefs_section_rows_option": "{num} satır;{num} satır",
+  "prefs_search_header": "Web araması",
+  "prefs_topsites_description": "En çok ziyaret ettiğiniz siteler",
+  "prefs_topstories_description": "İlginizi çekebilecek, kaliteli içerikler",
+  "prefs_topstories_show_sponsored_label": "{provider} sponsorlu yazılar",
+  "prefs_topstories_sponsored_learn_more": "Daha fazla bilgi al",
+  "prefs_highlights_description": "Kaydettiğiniz ve ziyaret ettiğiniz sitelerin bir seçkisi",
+  "prefs_snippets_description": "Mozilla ve Firefox’tan haberler",
   "settings_pane_button_label": "Yeni Sekme sayfanızı özelleştirin",
   "settings_pane_header": "Yeni Sekme Tercihleri",
   "settings_pane_body2": "Bu sayfada görmek istediklerinizi seçin.",
   "settings_pane_search_header": "Arama",
   "settings_pane_search_body": "Yeni sekme üzerinden web’de arama yapın.",
   "settings_pane_topsites_header": "Sık kullanılan siteler",
   "settings_pane_topsites_body": "En sık ziyaret ettiğiniz web sitelerine erişin.",
   "settings_pane_topsites_options_showmore": "İki satır göster",
   "settings_pane_bookmarks_header": "Son Yer İmleri",
-  "settings_pane_bookmarks_body": "Yeni eklediğiniz yer imlerini bir araya topladık.",
   "settings_pane_visit_again_header": "Yeniden Ziyaret Edin",
-  "settings_pane_visit_again_body": "Firefox, gezinti geçmişinizden hatırlamak veya yeniden ziyaret etmek isteyebileceğiniz sayfaları burada gösterecek.",
   "settings_pane_highlights_header": "Öne çıkanlar",
   "settings_pane_highlights_body2": "Son zamanlarda baktığınız veya yer imlerinize eklediğiniz ilginç şeyleri yeniden keşfedin.",
   "settings_pane_highlights_options_bookmarks": "Yer imleri",
   "settings_pane_highlights_options_visited": "Ziyaret ettiğim siteler",
   "settings_pane_snippets_header": "Duyurular",
   "settings_pane_snippets_body": "Firefox, internet kültürü ve önemli gelişmeler hakkında Mozilla’dan gelen kısa güncelleme notlarını okuyun.",
   "settings_pane_done_button": "Tamam",
   "settings_pane_topstories_options_sponsored": "Sponsorlu haberleri göster",
   "edit_topsites_button_text": "Düzenle",
-  "edit_topsites_button_label": "Sık Kullanılan Siteler bölümünü özelleştirin",
-  "edit_topsites_showmore_button": "Daha fazla göster",
-  "edit_topsites_showless_button": "Daha az göster",
-  "edit_topsites_done_button": "Tamam",
-  "edit_topsites_pin_button": "Bu siteyi sabitle",
-  "edit_topsites_unpin_button": "Siteyi sabitlikten çıkar",
   "edit_topsites_edit_button": "Bu siteyi düzenle",
-  "edit_topsites_dismiss_button": "Bu siteyi görmezden gel",
-  "edit_topsites_add_button": "Ekle",
   "topsites_form_add_header": "Yeni sık kullanılan site",
   "topsites_form_edit_header": "Sık kullanılan siteyi düzenle",
   "topsites_form_title_label": "Başlık",
   "topsites_form_title_placeholder": "Başlık yazın",
   "topsites_form_url_label": "Adres",
+  "topsites_form_image_url_label": "Özel resim adresi",
   "topsites_form_url_placeholder": "Adres yazın ve yapıştırın",
+  "topsites_form_use_image_link": "Özel resim kullan…",
+  "topsites_form_preview_button": "Ön izleme yap",
   "topsites_form_add_button": "Ekle",
   "topsites_form_save_button": "Kaydet",
   "topsites_form_cancel_button": "İptal",
   "topsites_form_url_validation": "Geçerli bir adres gerekli",
+  "topsites_form_image_validation": "Resim yüklenemedi. Başka bir adres deneyin.",
   "pocket_read_more": "Popüler konular:",
   "pocket_read_even_more": "Daha fazla yazı göster",
-  "pocket_feedback_header": "25 milyon kişinin katkılarıyla, web’in en iyileri.",
   "pocket_description": "Mozilla ailesinin yeni üyesi Pocket’ın yardımıyla, gözünüzden kaçabilecek kaliteli içerikleri keşfedin.",
   "highlights_empty_state": "Gezinmeye başlayın. Son zamanlarda baktığınız veya yer imlerinize eklediğiniz bazı güzel makaleleri, videoları ve diğer sayfaları burada göstereceğiz.",
   "topstories_empty_state": "Hepsini bitirdiniz. Yeni {provider} haberleri için daha fazla yine gelin. Beklemek istemiyor musunuz? İlginç yazılara ulaşmak için popüler konulardan birini seçebilirsiniz.",
   "manual_migration_explanation2": "Öteki tarayıcılarınızdaki yer imlerinizi, geçmişinizi ve parolalarınızı Firefox’a aktarabilirsiniz.",
   "manual_migration_cancel_button": "Gerek yok",
   "manual_migration_import_button": "Olur, aktaralım",
   "error_fallback_default_info": "Bu içerik yüklenirken bir hata oluştu.",
   "error_fallback_default_refresh_suggestion": "Yeniden denemek için sayfayı tazeleyin.",
   "section_menu_action_remove_section": "Bölümü sil",
   "section_menu_action_collapse_section": "Bölümü daralt",
   "section_menu_action_expand_section": "Bölümü genişlet",
   "section_menu_action_manage_section": "Bölümü yönet",
   "section_menu_action_add_topsite": "Sık kullanılan site ekle",
   "section_menu_action_move_up": "Yukarı taşı",
   "section_menu_action_move_down": "Aşağı taşı",
-  "section_menu_action_privacy_notice": "Gizlilik bildirimi"
+  "section_menu_action_privacy_notice": "Gizlilik bildirimi",
+  "section_info_option": "Bilgi",
+  "section_info_privacy_notice": "Gizlilik bildirimi",
+  "settings_pane_bookmarks_body": "Yeni eklediğiniz yer imlerini bir araya topladık.",
+  "settings_pane_visit_again_body": "Firefox, gezinti geçmişinizden hatırlamak veya yeniden ziyaret etmek isteyebileceğiniz sayfaları burada gösterecek.",
+  "edit_topsites_button_label": "Sık Kullanılan Siteler bölümünü özelleştirin",
+  "edit_topsites_showmore_button": "Daha fazla göster",
+  "edit_topsites_showless_button": "Daha az göster",
+  "edit_topsites_done_button": "Tamam",
+  "edit_topsites_pin_button": "Bu siteyi sabitle",
+  "edit_topsites_unpin_button": "Siteyi sabitlikten çıkar",
+  "edit_topsites_dismiss_button": "Bu siteyi görmezden gel",
+  "edit_topsites_add_button": "Ekle",
+  "pocket_feedback_header": "25 milyon kişinin katkılarıyla, web’in en iyileri."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Нова вкладка</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук в Інтернеті</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук в Інтернеті" title="Пошук в Інтернеті"/><button id="searchSubmit" class="search-button" title="Пошук"><span class="sr-only"><span>Пошук</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Популярні сайти<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рекомендовано Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярні теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Обране</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук в Інтернеті</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук в Інтернеті" title="Пошук в Інтернеті"/><button id="searchSubmit" class="search-button" title="Пошук"><span class="sr-only"><span>Пошук</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Популярні сайти<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Відкрити контекстне меню розділу</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рекомендовано Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Відкрити контекстне меню розділу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярні теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Обране</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Відкрити контекстне меню розділу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-strings.js
@@ -6,111 +6,125 @@ window.gActivityStreamStrings = {
   "header_stories": "Головні новини",
   "header_highlights": "Обране",
   "header_visit_again": "Відвідати знову",
   "header_bookmarks": "Недавно закладені",
   "header_recommended_by": "Рекомендовано {provider}",
   "header_bookmarks_placeholder": "У вас ще немає закладок.",
   "header_stories_from": "від",
   "context_menu_button_sr": "Відкрити контекстне меню для {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "Відкрити контекстне меню розділу",
   "type_label_visited": "Відвідано",
   "type_label_bookmarked": "Закладено",
   "type_label_synced": "Синхронізовано з іншого пристрою",
   "type_label_recommended": "Популярне",
-  "type_label_pocket": "Saved to Pocket",
+  "type_label_pocket": "Збережено в Pocket",
   "type_label_open": "Відкрито",
   "type_label_topic": "Тема",
   "type_label_now": "Зараз",
   "menu_action_bookmark": "Додати до закладок",
   "menu_action_remove_bookmark": "Вилучити закладку",
   "menu_action_copy_address": "Копіювати адресу",
   "menu_action_email_link": "Надіслати посилання…",
   "menu_action_open_new_window": "Відкрити в новому вікні",
   "menu_action_open_private_window": "Відкрити в приватному вікні",
   "menu_action_dismiss": "Сховати",
   "menu_action_delete": "Видалити з історії",
   "menu_action_pin": "Прикріпити",
   "menu_action_unpin": "Відкріпити",
   "confirm_history_delete_p1": "Ви справді хочете видалити всі записи про цю сторінку з історії?",
   "confirm_history_delete_notice_p2": "Цю дію неможливо скасувати.",
   "menu_action_save_to_pocket": "Зберегти в Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
+  "menu_action_delete_pocket": "Видалити з Pocket",
+  "menu_action_archive_pocket": "Архівувати в Pocket",
   "search_for_something_with": "Шукати {search_term} з:",
   "search_button": "Пошук",
   "search_header": "Шукати з {search_engine_name}",
   "search_web_placeholder": "Пошук в Інтернеті",
   "search_settings": "Змінити налаштування пошуку",
-  "section_info_option": "Інфо",
   "section_info_send_feedback": "Надіслати відгук",
-  "section_info_privacy_notice": "Повідомлення про приватність",
   "section_disclaimer_topstories": "Найцікавіші матеріали в Інтернеті, обрані на основі того, що ви читаєте. З Pocket, який тепер входить до складу Mozilla.",
   "section_disclaimer_topstories_linktext": "Дізнайтеся, як це працює.",
   "section_disclaimer_topstories_buttontext": "Гаразд, зрозуміло",
   "welcome_title": "Вітаємо на новій вкладці",
   "welcome_body": "Firefox буде використовувати її для показу найважливіших закладок, статей, відео, а також нещодавно відвіданих сторінок, щоб ви могли з легкістю повернутися до них.",
   "welcome_label": "Визначення обраного",
   "time_label_less_than_minute": "<1 хв",
   "time_label_minute": "{number} хв",
   "time_label_hour": "{number} г",
   "time_label_day": "{number} д",
+  "prefs_home_header": "Домівка Firefox",
+  "prefs_home_description": "Оберіть бажаний вміст для показу в домівці Firefox.",
+  "prefs_restore_defaults_button": "Відновити типові",
+  "prefs_section_rows_option": "{num} рядок;{num} рядки;{num} рядків",
+  "prefs_search_header": "Веб пошук",
+  "prefs_topsites_description": "Сайти, які ви відвідуєте найчастіше",
+  "prefs_topstories_description": "Якісний вміст, який ви могли пропустити",
+  "prefs_topstories_show_sponsored_label": "Матеріали від {provider}",
+  "prefs_topstories_sponsored_learn_more": "Докладніше",
+  "prefs_highlights_description": "Відібрані веб-сайти, які ви зберегли чи відвідали",
+  "prefs_snippets_description": "Оновлення від Mozilla та Firefox",
   "settings_pane_button_label": "Налаштуйте свою сторінку нової вкладки",
   "settings_pane_header": "Налаштування нової вкладки",
   "settings_pane_body2": "Оберіть, що ви побачите на цій сторінці.",
   "settings_pane_search_header": "Пошук",
   "settings_pane_search_body": "Пошук в Інтернеті з нової вкладки.",
   "settings_pane_topsites_header": "Популярні сайти",
   "settings_pane_topsites_body": "Доступ до найчастіше відвідуваних веб-сайтів.",
   "settings_pane_topsites_options_showmore": "Показувати два рядки",
   "settings_pane_bookmarks_header": "Недавно закладені",
-  "settings_pane_bookmarks_body": "Ваші нові закладки в одному зручному розташуванні.",
   "settings_pane_visit_again_header": "Відвідати знову",
-  "settings_pane_visit_again_body": "Firefox покаже вам елементи історії перегляду, які ви, можливо, захочете запам'ятати чи відвідати знову.",
   "settings_pane_highlights_header": "Обране",
   "settings_pane_highlights_body2": "Визначте свій спосіб, як повернутися до цікавих матеріалів, які ви нещодавно переглядали чи зберігали.",
   "settings_pane_highlights_options_bookmarks": "Закладки",
   "settings_pane_highlights_options_visited": "Відвідані сайти",
   "settings_pane_snippets_header": "Фрагменти",
   "settings_pane_snippets_body": "Читайте короткі й цікаві новини від Mozilla про Firefox, культуру інтернету, а також випадкові меми.",
   "settings_pane_done_button": "Готово",
   "settings_pane_topstories_options_sponsored": "Показувати матеріали від спонсорів",
   "edit_topsites_button_text": "Змінити",
+  "edit_topsites_edit_button": "Змінити цей сайт",
+  "topsites_form_add_header": "Новий популярний сайт",
+  "topsites_form_edit_header": "Редагувати популярний сайт",
+  "topsites_form_title_label": "Заголовок",
+  "topsites_form_title_placeholder": "Введіть назву",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "URL власного зображення",
+  "topsites_form_url_placeholder": "Введіть або вставте URL-адресу",
+  "topsites_form_use_image_link": "Використати власне зображення…",
+  "topsites_form_preview_button": "Попередній перегляд",
+  "topsites_form_add_button": "Додати",
+  "topsites_form_save_button": "Зберегти",
+  "topsites_form_cancel_button": "Скасувати",
+  "topsites_form_url_validation": "Необхідна дійсна адреса URL",
+  "topsites_form_image_validation": "Не вдалося завантажити зображення. Спробуйте інший URL.",
+  "pocket_read_more": "Популярні теми:",
+  "pocket_read_even_more": "Переглянути більше історій",
+  "pocket_description": "Відкривайте високоякісні матеріали, які ви могли не побачити, завдяки Pocket, що тепер входить до складу Mozilla.",
+  "highlights_empty_state": "Почніть перегляд і ми покажемо вам деякі чудові статті, відео та інші сторінки, нещодавно відвідані чи збережені вами до закладок тут.",
+  "topstories_empty_state": "Готово. Перевірте згодом, щоб побачити більше матеріалів від {provider}. Не хочете чекати? Оберіть популярну тему, щоб знайти більше цікавих матеріалів з усього Інтернету.",
+  "manual_migration_explanation2": "Спробуйте Firefox із закладками, історією та паролями з іншого браузера.",
+  "manual_migration_cancel_button": "Ні, дякую",
+  "manual_migration_import_button": "Імпортувати зараз",
+  "error_fallback_default_info": "Ой, при завантаженні цього вмісту щось пішло не так.",
+  "error_fallback_default_refresh_suggestion": "Оновіть сторінку, щоб спробувати знову.",
+  "section_menu_action_remove_section": "Вилучити розділ",
+  "section_menu_action_collapse_section": "Згорнути розділ",
+  "section_menu_action_expand_section": "Розгорнути розділ",
+  "section_menu_action_manage_section": "Керувати розділом",
+  "section_menu_action_add_topsite": "Додати до популярних сайтів",
+  "section_menu_action_move_up": "Вгору",
+  "section_menu_action_move_down": "Вниз",
+  "section_menu_action_privacy_notice": "Повідомлення про приватність",
+  "section_info_option": "Інфо",
+  "section_info_privacy_notice": "Повідомлення про приватність",
+  "settings_pane_bookmarks_body": "Ваші нові закладки в одному зручному розташуванні.",
+  "settings_pane_visit_again_body": "Firefox покаже вам елементи історії перегляду, які ви, можливо, захочете запам'ятати чи відвідати знову.",
   "edit_topsites_button_label": "Налаштувати розділ популярних сайтів",
   "edit_topsites_showmore_button": "Показати більше",
   "edit_topsites_showless_button": "Показати менше",
   "edit_topsites_done_button": "Готово",
   "edit_topsites_pin_button": "Закріпити цей сайт",
   "edit_topsites_unpin_button": "Відкріпити цей сайт",
-  "edit_topsites_edit_button": "Змінити цей сайт",
   "edit_topsites_dismiss_button": "Сховати цей сайт",
   "edit_topsites_add_button": "Додати",
-  "topsites_form_add_header": "Новий популярний сайт",
-  "topsites_form_edit_header": "Редагувати популярний сайт",
-  "topsites_form_title_label": "Title",
-  "topsites_form_title_placeholder": "Введіть назву",
-  "topsites_form_url_label": "URL",
-  "topsites_form_url_placeholder": "Введіть або вставте URL-адресу",
-  "topsites_form_add_button": "Додати",
-  "topsites_form_save_button": "Зберегти",
-  "topsites_form_cancel_button": "Скасувати",
-  "topsites_form_url_validation": "Необхідна дійсна адреса URL",
-  "pocket_read_more": "Популярні теми:",
-  "pocket_read_even_more": "Переглянути більше історій",
-  "pocket_feedback_header": "Найкраще з Інтернету, відібрано понад 25 мільйонами людей.",
-  "pocket_description": "Відкривайте високоякісні матеріали, які ви могли не побачити, завдяки Pocket, що тепер входить до складу Mozilla.",
-  "highlights_empty_state": "Почніть перегляд і ми покажемо вам деякі чудові статті, відео та інші сторінки, нещодавно відвідані чи збережені вами до закладок тут.",
-  "topstories_empty_state": "Готово. Перевірте згодом, щоб побачити більше матеріалів від {provider}. Не хочете чекати? Оберіть популярну тему, щоб знайти більше цікавих матеріалів з усього Інтернету.",
-  "manual_migration_explanation2": "Спробуйте Firefox із закладками, історією та паролями з іншого браузера.",
-  "manual_migration_cancel_button": "Ні, дякую",
-  "manual_migration_import_button": "Імпортувати зараз",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Додати до популярних сайтів"
+  "pocket_feedback_header": "Найкраще з Інтернету, відібрано понад 25 мільйонами людей."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>نیا ٹیب</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ويب پر تلاش کريں</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ويب پر تلاش کريں" title="ويب پر تلاش کريں"/><button id="searchSubmit" class="search-button" title="تلاش"><span class="sr-only"><span>تلاش</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>بہترین سائٹیں<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket کی جانب سے تجویز کردہ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>مشہور مضامین:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>شہ سرخياں</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ويب پر تلاش کريں</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ويب پر تلاش کريں" title="ويب پر تلاش کريں"/><button id="searchSubmit" class="search-button" title="تلاش"><span class="sr-only"><span>تلاش</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>بہترین سائٹیں<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket کی جانب سے تجویز کردہ</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>مشہور مضامین:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>شہ سرخياں</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-strings.js
@@ -35,81 +35,93 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket میں محفوظ کریں",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "ساتھ {search_term} کے لئے تلاش کریں:",
   "search_button": "تلاش",
   "search_header": "{search_engine_name} پر تلاش کریں",
   "search_web_placeholder": "ويب پر تلاش کريں",
   "search_settings": "تلاش  کی سیٹکگیں تبدیل کریں",
-  "section_info_option": "معلومات",
   "section_info_send_feedback": "جواب الجواب ارسال کریں",
-  "section_info_privacy_notice": "رازداری کا نوٹس",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Okay, got it",
   "welcome_title": "نئے ٹیب میں خوش آمدید",
   "welcome_body": "اس جگہ کا استعمال کرنے ہوئے Firefox آپکی متعلقہ نشانیاں، عبارات، وڈیوز اور صفحات جن کا حال ہی میں ص آُپ نے دورہ کیا ہے دکھائے گا۔ تاکہ آپ ان تک واپس آسانی سے پہنچ سکیں۔",
   "welcome_label": "آپکی جھلکیوں کی نشاندہی کر رہا ہے",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}h",
   "time_label_day": "{number}d",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "اپنے نئے ٹیب کہ صفحہ کی تخصیص کریں",
   "settings_pane_header": "نئے َٹیب کی ترجیحات",
   "settings_pane_body2": "انتخاب کریں آپ اس صفحہ پر کیا دیکھنا چاہیں گے۔",
   "settings_pane_search_header": "تلاش",
   "settings_pane_search_body": "اپنے نئے ٹیب سے وہب پر تلاش کریں۔",
   "settings_pane_topsites_header": "بہترین سائٹیں",
   "settings_pane_topsites_body": "اپنی سب سے زیادہ دورہ کردہ ویب سائٹ تک رسائی حاصل کریں۔",
   "settings_pane_topsites_options_showmore": "دو قطاریں دکھائیں",
   "settings_pane_bookmarks_header": "حالیہ نشانیاں",
-  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
   "settings_pane_visit_again_header": "دوبارہ دورہ کریں",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "شہ سرخياں",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "نشانیاں",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_header": "سنپیٹ",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "ہوگیا",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "تدوین",
-  "edit_topsites_button_label": "اپنی بہترین سائٹس والے حصے کی تخصیص کریں",
-  "edit_topsites_showmore_button": "مزید دکھائیں",
-  "edit_topsites_showless_button": "کم دکھائیں",
-  "edit_topsites_done_button": "ہوگیا",
-  "edit_topsites_pin_button": "اس سائَٹ کو پن کریں",
-  "edit_topsites_unpin_button": "اس سائٹ کو انپن کریں",
   "edit_topsites_edit_button": "اس سائٹ کی تدوین کریں",
-  "edit_topsites_dismiss_button": "اس سائٹ کو برخاست کریں",
-  "edit_topsites_add_button": "آظافہ کریں",
   "topsites_form_add_header": "نئی بہترین سائٹ",
   "topsites_form_edit_header": "بہترین سائٹٹ کیی تدوین کریں",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "ایک عنوان داخل کریں",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "ٹائپ کریں یا ایک URL چسباں کریں",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "اظافہ کریں",
   "topsites_form_save_button": "محفوظ کریں",
   "topsites_form_cancel_button": "منسوخ کریں",
   "topsites_form_url_validation": "جائز URL درکار ہے",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "مشہور مضامین:",
   "pocket_read_even_more": "مزید کہانیاں دیکھیں",
-  "pocket_feedback_header": "The best of the web, curated by over 25 million people.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "نہیں شکریہ",
   "manual_migration_import_button": "ابھی درآمد کری",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "معلومات",
+  "section_info_privacy_notice": "رازداری کا نوٹس",
+  "edit_topsites_button_label": "اپنی بہترین سائٹس والے حصے کی تخصیص کریں",
+  "edit_topsites_showmore_button": "مزید دکھائیں",
+  "edit_topsites_showless_button": "کم دکھائیں",
+  "edit_topsites_done_button": "ہوگیا",
+  "edit_topsites_pin_button": "اس سائَٹ کو پن کریں",
+  "edit_topsites_unpin_button": "اس سائٹ کو انپن کریں",
+  "edit_topsites_dismiss_button": "اس سائٹ کو برخاست کریں",
+  "edit_topsites_add_button": "آظافہ کریں"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Yangi ichki oyna</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Internetda izlash</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Internetda izlash" title="Internetda izlash"/><button id="searchSubmit" class="search-button" title="Qidiruv"><span class="sr-only"><span>Qidiruv</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Ommabop saytlar<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket tomonidan tavsiya qilingan</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Mashhur mavzular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Ajratilgan saytlar</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Internetda izlash</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Internetda izlash" title="Internetda izlash"/><button id="searchSubmit" class="search-button" title="Qidiruv"><span class="sr-only"><span>Qidiruv</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Ommabop saytlar<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket tomonidan tavsiya qilingan</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Mashhur mavzular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Ajratilgan saytlar</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-strings.js
@@ -35,82 +35,97 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Pocket xizmatiga saqlash",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "{search_term}ni",
   "search_button": "Qidiruv",
   "search_header": "{search_engine_name} Qidiruv bilan izlash",
   "search_web_placeholder": "Internetda izlash",
   "search_settings": "Qidiruv sozlamalarini o‘zgartrirish",
-  "section_info_option": "Ma’lumot",
   "section_info_send_feedback": "Fikr-mulohaza yuborish",
-  "section_info_privacy_notice": "Maxfiylik qaydlari",
   "section_disclaimer_topstories": "Internetdagi eng qiziqarli maqolalar siz o‘qiyotgan ma’lumotlar asosida. Hozirda Mozillaning qismiga aylangan Pocket xizmatidan.",
   "section_disclaimer_topstories_linktext": "Uning qanday ishlashini o‘rganing.",
   "section_disclaimer_topstories_buttontext": "Ok, tushundim",
   "welcome_title": "Yangi ichki oynaga xush kelibsiz",
   "welcome_body": "Firefox bu maydondan so‘nggi tegishli xatcho‘plar, maqolalar, videolar va siz kirgan oxirgi saytlarni ko‘rsatish uchun foydalanadi. Demak, ularga kirish yanada osonlashadi.",
   "welcome_label": "Ajratib ko‘rsatilgan saytlar aniqlanmoqda",
   "time_label_less_than_minute": "<1m",
   "time_label_minute": "{number}m",
   "time_label_hour": "{number}s",
   "time_label_day": "{number}k",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Yangi ichki oyna sahifasini sozlash",
   "settings_pane_header": "Yangi ichki oyna parametrlari",
   "settings_pane_body2": "Bu sahifada nimani ko‘rishni xohlasangiz, o‘shani tanlang.",
   "settings_pane_search_header": "Izlash",
   "settings_pane_search_body": "Yangi ichki oynada internetdan izlash.",
   "settings_pane_topsites_header": "Ommabop saytlar",
   "settings_pane_topsites_body": "Eng ko‘p kirilgan saytlarga kirish.",
   "settings_pane_topsites_options_showmore": "Ikki qatorda ko‘rsatish",
   "settings_pane_bookmarks_header": "So‘nggi xatcho‘plar",
-  "settings_pane_bookmarks_body": "Yangi yaratilgan xatcho‘plar yagona qo‘l uzatsa yetadigan joyda.",
   "settings_pane_visit_again_header": "Yana tashrif buyuring",
-  "settings_pane_visit_again_body": "Firefox siz esalb qolmoqchi yoki yana kirmoqchi bo‘lgan brauzer tarixi qismini ko‘rsatadi.",
   "settings_pane_highlights_header": "Ajratilgan saytlar",
   "settings_pane_highlights_body2": "So‘nggi kirilgan qiziqarli saytlar yoki xatcho‘plarga qaytish yo‘lini toping.",
   "settings_pane_highlights_options_bookmarks": "Xatcho‘plar",
   "settings_pane_highlights_options_visited": "Kirilgan saytlar",
   "settings_pane_snippets_header": "Parchalar",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Tayyor",
   "settings_pane_topstories_options_sponsored": "Homiylik maqolalarini ko‘rsatish",
   "edit_topsites_button_text": "Tahrirlash",
-  "edit_topsites_button_label": "Ommabop saytlar bo‘limini sozlash",
-  "edit_topsites_showmore_button": "Ko‘proq",
-  "edit_topsites_showless_button": "Kamroq",
-  "edit_topsites_done_button": "Tayyor",
-  "edit_topsites_pin_button": "Saytni qistirish",
-  "edit_topsites_unpin_button": "Saytni ajratish",
   "edit_topsites_edit_button": "Bu saytni tahrirlash",
-  "edit_topsites_dismiss_button": "Bu saytni bekor qilish",
-  "edit_topsites_add_button": "Qo‘shish",
   "topsites_form_add_header": "Yangi ommabop sayt",
   "topsites_form_edit_header": "Ommabop saytni tahrirlash",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Nomini kiriting",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "URL manzilini kiriting",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Qo‘shish",
   "topsites_form_save_button": "Saqlash",
   "topsites_form_cancel_button": "Bekor qilish",
   "topsites_form_url_validation": "URL manzilini bexato kiriting",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Mashhur mavzular:",
   "pocket_read_even_more": "Yana maqolalar ko‘rish",
-  "pocket_feedback_header": "25 million odam tomonidan boshqariladigan eng zo‘r veb.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
   "manual_migration_cancel_button": "Yoʻq, kerak emas",
   "manual_migration_import_button": "Hozir import qilish",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
-  "edit_topsites_add_button_tooltip": "Ommabop saytga qo‘shish"
+  "section_info_option": "Ma’lumot",
+  "section_info_privacy_notice": "Maxfiylik qaydlari",
+  "settings_pane_bookmarks_body": "Yangi yaratilgan xatcho‘plar yagona qo‘l uzatsa yetadigan joyda.",
+  "settings_pane_visit_again_body": "Firefox siz esalb qolmoqchi yoki yana kirmoqchi bo‘lgan brauzer tarixi qismini ko‘rsatadi.",
+  "edit_topsites_button_label": "Ommabop saytlar bo‘limini sozlash",
+  "edit_topsites_showmore_button": "Ko‘proq",
+  "edit_topsites_showless_button": "Kamroq",
+  "edit_topsites_done_button": "Tayyor",
+  "edit_topsites_pin_button": "Saytni qistirish",
+  "edit_topsites_unpin_button": "Saytni ajratish",
+  "edit_topsites_dismiss_button": "Bu saytni bekor qilish",
+  "edit_topsites_add_button": "Qo‘shish",
+  "edit_topsites_add_button_tooltip": "Ommabop saytga qo‘shish",
+  "pocket_feedback_header": "25 million odam tomonidan boshqariladigan eng zo‘r veb."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tab mới</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tìm trên mạng</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tìm trên mạng" title="Tìm trên mạng"/><button id="searchSubmit" class="search-button" title="Tìm kiếm"><span class="sr-only"><span>Tìm kiếm</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Trang web hàng đầu<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Được đề nghị bởi Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Các chủ đề phổ biến:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nổi bật</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tìm trên mạng</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tìm trên mạng" title="Tìm trên mạng"/><button id="searchSubmit" class="search-button" title="Tìm kiếm"><span class="sr-only"><span>Tìm kiếm</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Trang web hàng đầu<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Được đề nghị bởi Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Các chủ đề phổ biến:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nổi bật</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-strings.js
@@ -35,81 +35,93 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "Lưu vào Pocket",
   "menu_action_delete_pocket": "Delete from Pocket",
   "menu_action_archive_pocket": "Archive in Pocket",
   "search_for_something_with": "Tìm {search_term} với:",
   "search_button": "Tìm kiếm",
   "search_header": "Công cụ tìm kiếm {search_engine_name}",
   "search_web_placeholder": "Tìm trên mạng",
   "search_settings": "Thay đổi thiết lập tìm kiếm",
-  "section_info_option": "Thông tin",
   "section_info_send_feedback": "Gửi phản hồi",
-  "section_info_privacy_notice": "Chính sách riêng tư",
   "section_disclaimer_topstories": "The most interesting stories on the web, selected based on what you read. From Pocket, now part of Mozilla.",
   "section_disclaimer_topstories_linktext": "Learn how it works.",
   "section_disclaimer_topstories_buttontext": "Ok, đã hiểu",
   "welcome_title": "Chào mừng đến với tab mới",
   "welcome_body": "Firefox sẽ sử dụng không gian này để hiển thị của bạn có liên quan nhất đánh dấu, bài viết, video và các trang bạn đã truy cập gần đây, do đó, bạn có thể quay lại công việc một cách dễ dàng.",
   "welcome_label": "Đang xác định phần nổi bật của bạn",
   "time_label_less_than_minute": "<1phút",
   "time_label_minute": "{number}phút",
   "time_label_hour": "{number}giờ",
   "time_label_day": "{number}ngày",
+  "prefs_home_header": "Firefox Home Content",
+  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
+  "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_section_rows_option": "{num} row;{num} rows",
+  "prefs_search_header": "Web Search",
+  "prefs_topsites_description": "The sites you visit most",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
+  "prefs_topstories_sponsored_learn_more": "Learn more",
+  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
+  "prefs_snippets_description": "Updates from Mozilla and Firefox",
   "settings_pane_button_label": "Tùy biến trang Tab mới",
   "settings_pane_header": "Tùy chỉnh cho tab mới",
   "settings_pane_body2": "Chọn những gì bạn thấy trên trang này.",
   "settings_pane_search_header": "Tìm kiếm",
   "settings_pane_search_body": "Tìm kiếm Web từ thẻ mới của bạn.",
   "settings_pane_topsites_header": "Các trang Web hàng đầu",
   "settings_pane_topsites_body": "Truy cập vào các trang web mà bạn truy cập vào nhiều nhất.",
   "settings_pane_topsites_options_showmore": "Hiển thị hai hàng",
   "settings_pane_bookmarks_header": "Trang đánh dấu gần đây",
-  "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
   "settings_pane_visit_again_header": "Truy cập lại",
-  "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
   "settings_pane_highlights_header": "Nổi bật",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_bookmarks": "Trang đánh dấu",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_header": "Snippets",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Xong",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
   "edit_topsites_button_text": "Chỉnh sửa",
-  "edit_topsites_button_label": "Customize your Top Sites section",
-  "edit_topsites_showmore_button": "Xem thêm",
-  "edit_topsites_showless_button": "Hiển thị ngắn gọn lại",
-  "edit_topsites_done_button": "Xong",
-  "edit_topsites_pin_button": "Ghim trang này",
-  "edit_topsites_unpin_button": "Bỏ ghim trang này",
   "edit_topsites_edit_button": "Chỉnh sửa trang web này",
-  "edit_topsites_dismiss_button": "Bỏ qua trang này",
-  "edit_topsites_add_button": "Thêm",
   "topsites_form_add_header": "New Top Site",
   "topsites_form_edit_header": "Edit Top Site",
   "topsites_form_title_label": "Title",
   "topsites_form_title_placeholder": "Enter a title",
   "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "Custom Image URL",
   "topsites_form_url_placeholder": "Nhập hoặc dán URL",
+  "topsites_form_use_image_link": "Use a custom image…",
+  "topsites_form_preview_button": "Preview",
   "topsites_form_add_button": "Thêm",
   "topsites_form_save_button": "Lưu lại",
   "topsites_form_cancel_button": "Hủy bỏ",
   "topsites_form_url_validation": "Yêu cầu URL hợp lệ",
+  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
   "pocket_read_more": "Các chủ đề phổ biến:",
   "pocket_read_even_more": "Xem nhiều câu chuyện hơn",
-  "pocket_feedback_header": "Tốt nhất của web, được quản lý bởi hơn 25 triệu người.",
   "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
   "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
   "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
   "manual_migration_explanation2": "Thử Firefox với trang đánh dấu, lịch sử và mật khẩu từ trình duyệt khác.",
   "manual_migration_cancel_button": "Không, cảm ơn",
   "manual_migration_import_button": "Nhập ngay bây giờ",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice"
+  "section_menu_action_privacy_notice": "Privacy Notice",
+  "section_info_option": "Thông tin",
+  "section_info_privacy_notice": "Chính sách riêng tư",
+  "edit_topsites_showmore_button": "Xem thêm",
+  "edit_topsites_showless_button": "Hiển thị ngắn gọn lại",
+  "edit_topsites_done_button": "Xong",
+  "edit_topsites_pin_button": "Ghim trang này",
+  "edit_topsites_unpin_button": "Bỏ ghim trang này",
+  "edit_topsites_dismiss_button": "Bỏ qua trang này",
+  "edit_topsites_add_button": "Thêm",
+  "pocket_feedback_header": "Tốt nhất của web, được quản lý bởi hơn 25 triệu người."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>新标签页</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>在网络上搜索</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="在网络上搜索" title="在网络上搜索"/><button id="searchSubmit" class="search-button" title="搜索"><span class="sr-only"><span>搜索</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>常用网站<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开此章节的上下文菜单</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 推荐</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开此章节的上下文菜单</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>热门主题:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>集锦</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开此章节的上下文菜单</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>在网络上搜索</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="在网络上搜索" title="在网络上搜索"/><button id="searchSubmit" class="search-button" title="搜索"><span class="sr-only"><span>搜索</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>常用网站<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开板块快捷菜单</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 推荐</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开板块快捷菜单</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>热门主题:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>集锦</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开板块快捷菜单</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-strings.js
@@ -6,17 +6,17 @@ window.gActivityStreamStrings = {
   "header_stories": "热门文章",
   "header_highlights": "集锦",
   "header_visit_again": "再次访问",
   "header_bookmarks": "最近的书签",
   "header_recommended_by": "{provider} 推荐",
   "header_bookmarks_placeholder": "您还没有最近的书签。",
   "header_stories_from": "出自",
   "context_menu_button_sr": "打开 {title} 的上下文菜单",
-  "section_context_menu_button_sr": "打开此章节的上下文菜单",
+  "section_context_menu_button_sr": "打开板块快捷菜单",
   "type_label_visited": "曾经访问",
   "type_label_bookmarked": "已加书签",
   "type_label_synced": "从其他设备同步而来",
   "type_label_recommended": "趋势",
   "type_label_pocket": "已保存到 Pocket",
   "type_label_open": "打开",
   "type_label_topic": "主题",
   "type_label_now": "现在",
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "保存到 Pocket",
   "menu_action_delete_pocket": "从 Pocket 删除",
   "menu_action_archive_pocket": "在 Pocket 中存档",
   "search_for_something_with": "搜索 {search_term},使用:",
   "search_button": "搜索",
   "search_header": "{search_engine_name} 搜索",
   "search_web_placeholder": "在网络上搜索",
   "search_settings": "更改搜索设置",
-  "section_info_option": "信息",
   "section_info_send_feedback": "提交反馈",
-  "section_info_privacy_notice": "隐私声明",
   "section_disclaimer_topstories": "根据您的阅读喜好推荐网上的有趣报道。出自 Pocket,现在是 Mozilla 的一部分。",
   "section_disclaimer_topstories_linktext": "了解它的工作原理。",
   "section_disclaimer_topstories_buttontext": "我明白了",
   "welcome_title": "欢迎使用新标签页",
   "welcome_body": "Firefox 会在这里显示对您最有用的书签、文章、视频和访问过的页面,便于您回到这些网站。",
   "welcome_label": "正在为您准备集锦",
   "time_label_less_than_minute": "1 分钟内",
   "time_label_minute": "{number} 分钟前",
   "time_label_hour": "{number} 小时前",
   "time_label_day": "{number} 天前",
+  "prefs_home_header": "Firefox 主页内容",
+  "prefs_home_description": "选择您想在 Firefox 主页画面上看到哪些内容。",
+  "prefs_restore_defaults_button": "恢复默认设置",
+  "prefs_section_rows_option": "{num} 行",
+  "prefs_search_header": "网络搜索",
+  "prefs_topsites_description": "您经常访问的网站",
+  "prefs_topstories_description": "您可能感兴趣的高质量内容",
+  "prefs_topstories_show_sponsored_label": "{provider} 赞助的故事",
+  "prefs_topstories_sponsored_learn_more": "详细了解",
+  "prefs_highlights_description": "您已保存或访问过的部分网站",
+  "prefs_snippets_description": "来自 Mozilla 和 Firefox 的新消息",
   "settings_pane_button_label": "定制您的新标签页",
   "settings_pane_header": "新标签页选项",
   "settings_pane_body2": "选择您在此页面上想看到什么。",
   "settings_pane_search_header": "搜索",
   "settings_pane_search_body": "直接在您的新标签页搜遍网络。",
   "settings_pane_topsites_header": "常用网站",
   "settings_pane_topsites_body": "显示您经常访问的网站。",
   "settings_pane_topsites_options_showmore": "双行显示",
   "settings_pane_bookmarks_header": "最近的书签",
-  "settings_pane_bookmarks_body": "您最近创建的书签将在此显示。",
   "settings_pane_visit_again_header": "再次访问",
-  "settings_pane_visit_again_body": "Firefox 在此显示您可能想记住或将再次访问的浏览记录。",
   "settings_pane_highlights_header": "集锦",
   "settings_pane_highlights_body2": "根据您最近访问的页面和添加的书签推荐您感兴趣的东西。",
   "settings_pane_highlights_options_bookmarks": "书签",
   "settings_pane_highlights_options_visited": "访问过的网站",
   "settings_pane_snippets_header": "只言片语",
   "settings_pane_snippets_body": "阅读 Mozilla 就 Firefox 与互联网文化提供的简短有趣的小文章,偶尔还会介绍有关模因的小知识。",
   "settings_pane_done_button": "完成",
   "settings_pane_topstories_options_sponsored": "显示赞助报道",
   "edit_topsites_button_text": "编辑",
-  "edit_topsites_button_label": "定制您的“常用网站”区域",
-  "edit_topsites_showmore_button": "显示更多",
-  "edit_topsites_showless_button": "显示更少",
-  "edit_topsites_done_button": "完成",
-  "edit_topsites_pin_button": "固定此网站",
-  "edit_topsites_unpin_button": "取消固定此网站",
   "edit_topsites_edit_button": "编辑此网站",
-  "edit_topsites_dismiss_button": "隐藏此网站",
-  "edit_topsites_add_button": "添加",
   "topsites_form_add_header": "新建常用网站",
   "topsites_form_edit_header": "编辑常用网站",
   "topsites_form_title_label": "标题",
   "topsites_form_title_placeholder": "输入标题",
   "topsites_form_url_label": "网址",
+  "topsites_form_image_url_label": "自定义图像网址",
   "topsites_form_url_placeholder": "输入或粘贴网址",
+  "topsites_form_use_image_link": "使用自定义图像…",
+  "topsites_form_preview_button": "预览",
   "topsites_form_add_button": "添加",
   "topsites_form_save_button": "保存",
   "topsites_form_cancel_button": "取消",
   "topsites_form_url_validation": "需要有效的网址",
+  "topsites_form_image_validation": "图像加载失败。请尝试其他网址。",
   "pocket_read_more": "热门主题:",
   "pocket_read_even_more": "查看更多文章",
-  "pocket_feedback_header": "由超过 2500 万人挑选出来的网上精华内容。",
   "pocket_description": "借助 Pocket(目前属 Mozilla 旗下)发现您不容错过的高品质内容。",
   "highlights_empty_state": "开始浏览旅程吧,之后这里会显示您最近看过或加了书签的精彩文章、视频以及其他页面。",
   "topstories_empty_state": "所有文章都读完啦!晚点再来,{provider} 将推荐更多热门文章。等不及了?选择一个热门话题,找到更多网上的好文章。",
   "manual_migration_explanation2": "把在其他浏览器中保存的书签、历史记录和密码带到 Firefox 吧。",
   "manual_migration_cancel_button": "不用了",
   "manual_migration_import_button": "立即导入",
   "error_fallback_default_info": "哎呀,加载此内容出错了。",
   "error_fallback_default_refresh_suggestion": "刷新页面以重试。",
-  "section_menu_action_remove_section": "移除章节",
-  "section_menu_action_collapse_section": "折叠章节",
-  "section_menu_action_expand_section": "展开章节",
-  "section_menu_action_manage_section": "管理章节",
+  "section_menu_action_remove_section": "移除板块",
+  "section_menu_action_collapse_section": "折叠板块",
+  "section_menu_action_expand_section": "展开板块",
+  "section_menu_action_manage_section": "管理板块",
   "section_menu_action_add_topsite": "添加常用网站",
   "section_menu_action_move_up": "上移",
   "section_menu_action_move_down": "下移",
-  "section_menu_action_privacy_notice": "隐私声明"
+  "section_menu_action_privacy_notice": "隐私声明",
+  "section_info_option": "信息",
+  "section_info_privacy_notice": "隐私声明",
+  "settings_pane_bookmarks_body": "您最近创建的书签将在此显示。",
+  "settings_pane_visit_again_body": "Firefox 在此显示您可能想记住或将再次访问的浏览记录。",
+  "edit_topsites_button_label": "定制您的“常用网站”区域",
+  "edit_topsites_showmore_button": "显示更多",
+  "edit_topsites_showless_button": "显示更少",
+  "edit_topsites_done_button": "完成",
+  "edit_topsites_pin_button": "固定此网站",
+  "edit_topsites_unpin_button": "取消固定此网站",
+  "edit_topsites_dismiss_button": "隐藏此网站",
+  "edit_topsites_add_button": "添加",
+  "pocket_feedback_header": "由超过 2500 万人挑选出来的网上精华内容。"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>新分頁</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>搜尋 Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="搜尋 Web" title="搜尋 Web"/><button id="searchSubmit" class="search-button" title="搜尋"><span class="sr-only"><span>搜尋</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>熱門網站<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 推薦</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>熱門主題:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>精選網站</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>搜尋 Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="搜尋 Web" title="搜尋 Web"/><button id="searchSubmit" class="search-button" title="搜尋"><span class="sr-only"><span>搜尋</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>熱門網站<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 推薦</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>熱門主題:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>精選網站</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-strings.js
@@ -35,81 +35,96 @@ window.gActivityStreamStrings = {
   "menu_action_save_to_pocket": "儲存至 Pocket",
   "menu_action_delete_pocket": "從 Pocket 刪除",
   "menu_action_archive_pocket": "在 Pocket 裡封存",
   "search_for_something_with": "搜尋 {search_term} 使用:",
   "search_button": "搜尋",
   "search_header": "{search_engine_name} 搜尋",
   "search_web_placeholder": "搜尋 Web",
   "search_settings": "變更搜尋選項",
-  "section_info_option": "更多資訊",
   "section_info_send_feedback": "傳送意見回饋",
-  "section_info_privacy_notice": "隱私權公告",
   "section_disclaimer_topstories": "依照您閱讀過的內容,向您推薦網路上最有趣的內容。本功能由 Pocket(Mozilla 的一員)提供。",
   "section_disclaimer_topstories_linktext": "了解運作原理。",
   "section_disclaimer_topstories_buttontext": "好的,知道了",
   "welcome_title": "歡迎來到新分頁",
   "welcome_body": "Firefox 會使用此空間來顯示與您最相關的書籤、文章、影片以及您最近造訪的頁面,這樣您就可以快速回到這些網站。",
   "welcome_label": "找出您的精選網站",
   "time_label_less_than_minute": "不到 1 分鐘內",
   "time_label_minute": "{number} 分鐘",
   "time_label_hour": "{number} 小時",
   "time_label_day": "{number} 天",
+  "prefs_home_header": "Firefox 首頁內容",
+  "prefs_home_description": "選擇要在您的 Firefox 首頁顯示哪些內容。",
+  "prefs_restore_defaults_button": "回復為預設值",
+  "prefs_section_rows_option": "{num} 行",
+  "prefs_search_header": "網頁搜尋",
+  "prefs_topsites_description": "最常造訪的網站",
+  "prefs_topstories_description": "您可能不想錯過的高品質內容",
+  "prefs_topstories_show_sponsored_label": "{provider} 推薦內容",
+  "prefs_topstories_sponsored_learn_more": "了解更多",
+  "prefs_highlights_description": "您儲存或造訪過的網站精選",
+  "prefs_snippets_description": "來自 Mozilla 及 Firefox 的大小事",
   "settings_pane_button_label": "自訂您的新分頁頁面",
   "settings_pane_header": "新分頁偏好設定",
   "settings_pane_body2": "選擇要在此頁面看到哪些東西。",
   "settings_pane_search_header": "搜尋",
   "settings_pane_search_body": "直接在新分頁頁面搜尋網頁。",
   "settings_pane_topsites_header": "熱門網站",
   "settings_pane_topsites_body": "前往您最常造訪的網站。",
   "settings_pane_topsites_options_showmore": "顯示兩行",
   "settings_pane_bookmarks_header": "近期新增的書籤",
-  "settings_pane_bookmarks_body": "將您新建立的書籤,放在隨手可得的地方。",
   "settings_pane_visit_again_header": "再次造訪",
-  "settings_pane_visit_again_body": "Firefox 將顯示您一部份可能想要再次開啟的瀏覽紀錄。",
   "settings_pane_highlights_header": "精選網站",
   "settings_pane_highlights_body2": "快速回到您最近在網站發現的有趣事物,或是剛加入書籤的頁面。",
   "settings_pane_highlights_options_bookmarks": "書籤",
   "settings_pane_highlights_options_visited": "造訪過的網站",
   "settings_pane_snippets_header": "隻字片語",
   "settings_pane_snippets_body": "閱讀來自 Mozilla,關於 Firefox、網路文化、偶而還有一些不同 meme 的最新消息。",
   "settings_pane_done_button": "完成",
   "settings_pane_topstories_options_sponsored": "顯示贊助內容",
   "edit_topsites_button_text": "編輯",
-  "edit_topsites_button_label": "自訂您的「熱門網站」區塊",
-  "edit_topsites_showmore_button": "顯示更多",
-  "edit_topsites_showless_button": "顯示更少",
-  "edit_topsites_done_button": "完成",
-  "edit_topsites_pin_button": "釘選此網站",
-  "edit_topsites_unpin_button": "取消釘選此網站",
   "edit_topsites_edit_button": "編輯此網站",
-  "edit_topsites_dismiss_button": "忽略此網站",
-  "edit_topsites_add_button": "新增",
   "topsites_form_add_header": "新增熱門網站",
   "topsites_form_edit_header": "編輯熱門網站",
   "topsites_form_title_label": "標題",
   "topsites_form_title_placeholder": "輸入標題",
   "topsites_form_url_label": "網址",
+  "topsites_form_image_url_label": "自訂圖片網址",
   "topsites_form_url_placeholder": "輸入或貼上網址",
+  "topsites_form_use_image_link": "使用自訂圖片…",
+  "topsites_form_preview_button": "預覽",
   "topsites_form_add_button": "新增",
   "topsites_form_save_button": "儲存",
   "topsites_form_cancel_button": "取消",
   "topsites_form_url_validation": "請輸入有效的網址",
+  "topsites_form_image_validation": "圖片載入失敗,請改用不同網址。",
   "pocket_read_more": "熱門主題:",
   "pocket_read_even_more": "檢視更多文章",
-  "pocket_feedback_header": "超過兩千五百萬人共同探索出的 Web 最佳內容。",
   "pocket_description": "透過 Mozilla 旗下的 Pocket 服務,發現您可能錯過的優質內容。",
   "highlights_empty_state": "開始上網,我們就會把您在網路上發現的好文章、影片、剛加入書籤的頁面顯示於此。",
   "topstories_empty_state": "所有文章都讀完啦!晚點再來,{provider} 將提供更多推薦故事。等不及了?選擇熱門主題,看看 Web 上各式精采資訊。",
   "manual_migration_explanation2": "試試將其他瀏覽器的書籤、瀏覽記錄與密碼匯入 Firefox。",
   "manual_migration_cancel_button": "不必了",
   "manual_migration_import_button": "立即匯入",
   "error_fallback_default_info": "唉唷,載入內容時發生錯誤。",
   "error_fallback_default_refresh_suggestion": "請重新整理頁面再試一次。",
   "section_menu_action_remove_section": "移除段落",
   "section_menu_action_collapse_section": "摺疊段落",
   "section_menu_action_expand_section": "展開段落",
   "section_menu_action_manage_section": "管理段落",
   "section_menu_action_add_topsite": "新增熱門網站",
   "section_menu_action_move_up": "上移",
   "section_menu_action_move_down": "下移",
-  "section_menu_action_privacy_notice": "隱私權公告"
+  "section_menu_action_privacy_notice": "隱私權公告",
+  "section_info_option": "更多資訊",
+  "section_info_privacy_notice": "隱私權公告",
+  "settings_pane_bookmarks_body": "將您新建立的書籤,放在隨手可得的地方。",
+  "settings_pane_visit_again_body": "Firefox 將顯示您一部份可能想要再次開啟的瀏覽紀錄。",
+  "edit_topsites_button_label": "自訂您的「熱門網站」區塊",
+  "edit_topsites_showmore_button": "顯示更多",
+  "edit_topsites_showless_button": "顯示更少",
+  "edit_topsites_done_button": "完成",
+  "edit_topsites_pin_button": "釘選此網站",
+  "edit_topsites_unpin_button": "取消釘選此網站",
+  "edit_topsites_dismiss_button": "忽略此網站",
+  "edit_topsites_add_button": "新增",
+  "pocket_feedback_header": "超過兩千五百萬人共同探索出的 Web 最佳內容。"
 };
--- a/browser/extensions/activity-stream/prerendered/static/activity-stream-initial-state.js
+++ b/browser/extensions/activity-stream/prerendered/static/activity-stream-initial-state.js
@@ -19,46 +19,47 @@ window.gActivityStreamPrerenderedState =
       "showTopSites": true,
       "showSearch": true,
       "topSitesRows": 1,
       "collapseTopSites": false,
       "section.highlights.collapsed": false,
       "section.topstories.collapsed": false,
       "feeds.section.topstories": true,
       "feeds.section.highlights": true,
-      "enableWideLayout": true
+      "enableWideLayout": true,
+      "sectionOrder": "topsites,topstories,highlights"
     }
   },
   "Dialog": {
     "visible": false,
     "data": {}
   },
   "Sections": [
     {
       "title": {
         "id": "header_recommended_by",
         "values": {
           "provider": "Pocket"
         }
       },
       "rows": [],
-      "order": 1,
       "enabled": true,
       "icon": "pocket",
       "id": "topstories",
+      "order": 1,
       "initialized": false
     },
     {
       "title": {
         "id": "header_highlights"
       },
       "rows": [],
-      "order": 2,
       "enabled": true,
       "id": "highlights",
       "icon": "highlights",
+      "order": 2,
       "initialized": false
     }
   ],
   "PreferencesPane": {
     "visible": false
   }
 };
--- a/browser/extensions/activity-stream/prerendered/static/activity-stream-prerendered-debug.html
+++ b/browser/extensions/activity-stream/prerendered/static/activity-stream-prerendered-debug.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>New Tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top Sites<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><div class="sections-list"><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top wide-layout-enabled" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span>Top Sites<span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span><span class="collapsible-arrow icon icon-arrowhead-down-small"></span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div></div></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/test/schemas/pings.js
+++ b/browser/extensions/activity-stream/test/schemas/pings.js
@@ -73,27 +73,33 @@ export const UserEventAction = Joi.objec
       "OPEN_PRIVATE_WINDOW",
       "OPEN_NEWTAB_PREFS",
       "CLOSE_NEWTAB_PREFS",
       "BOOKMARK_DELETE",
       "BOOKMARK_ADD",
       "PIN",
       "UNPIN",
       "SAVE_TO_POCKET",
+      "SECTION_MENU_MOVE_UP",
+      "SECTION_MENU_MOVE_DOWN",
       "SECTION_MENU_REMOVE",
       "SECTION_MENU_COLLAPSE",
       "SECTION_MENU_EXPAND",
       "SECTION_MENU_MANAGE",
       "SECTION_MENU_ADD_TOPSITE",
       "SECTION_MENU_PRIVACY_NOTICE",
       "DELETE_FROM_POCKET",
       "ARCHIVE_FROM_POCKET"
     ]).required(),
     source: Joi.valid(["TOP_SITES", "TOP_STORIES", "HIGHLIGHTS"]),
-    action_position: Joi.number().integer()
+    action_position: Joi.number().integer(),
+    value: Joi.object().keys({
+      icon_type: Joi.valid(["tippytop", "rich_icon", "screenshot_with_icon", "screenshot", "no_image"]),
+      card_type: Joi.valid(["bookmark", "trending", "pinned", "pocket"])
+    })
   }).required(),
   meta: Joi.object().keys({
     to: Joi.valid(MAIN_MESSAGE_TYPE).required(),
     from: Joi.valid(CONTENT_MESSAGE_TYPE).required()
   }).required()
 });
 
 export const UndesiredPing = Joi.object().keys(Object.assign({}, baseKeys, {
--- a/browser/extensions/activity-stream/test/unit/common/Reducers.test.js
+++ b/browser/extensions/activity-stream/test/unit/common/Reducers.test.js
@@ -198,57 +198,16 @@ describe("Reducers", () => {
     });
     it("should add a section on SECTION_REGISTER if it doesn't already exist", () => {
       const action = {type: at.SECTION_REGISTER, data: {id: "foo_bar_5", title: "Foo Bar 5"}};
       const newState = Sections(oldState, action);
       assert.lengthOf(newState, 6);
       const insertedSection = newState.find(section => section.id === "foo_bar_5");
       assert.propertyVal(insertedSection, "title", action.data.title);
     });
-    it("should ensure sections are sorted by property `order` (increasing) on SECTION_REGISTER", () => {
-      let newState = [];
-      const state = Object.assign([], oldState);
-      state.forEach(section => {
-        Object.assign(section, {order: 5 - section.order});
-        const action = {type: at.SECTION_REGISTER, data: section};
-        newState = Sections(newState, action);
-      });
-      // Should have been inserted into newState in reverse order
-      assert.deepEqual(newState.map(section => section.id), state.map(section => section.id).reverse());
-      const newSection = {id: "new_section", order: 2.5};
-      const action = {type: at.SECTION_REGISTER, data: newSection};
-      newState = Sections(newState, action);
-      // Should have been inserted at index 2, between second and third section
-      assert.equal(newState[2].id, newSection.id);
-    });
-    it("should insert sections without an `order` at the top on SECTION_REGISTER", () => {
-      const newSection = {id: "new_section"};
-      const action = {type: at.SECTION_REGISTER, data: newSection};
-      const newState = Sections(oldState, action);
-      assert.equal(newState[0].id, newSection.id);
-      assert.ok(newState[0].order < newState[1].order);
-    });
-    it("should insert sections with a 0 `order` at the top on SECTION_REGISTER", () => {
-      const newSection = {id: "new_section", order: 0};
-      const action = {type: at.SECTION_REGISTER, data: newSection};
-      const newState = Sections(oldState, action);
-      assert.equal(newState[0].id, newSection.id);
-    });
-    it("should insert sections with a 1 `order` in the right spot on SECTION_REGISTER", () => {
-      const newSection = {id: "new_section", order: 1};
-      const action = {type: at.SECTION_REGISTER, data: newSection};
-      const newState = Sections(oldState, action);
-      assert.equal(newState[1].id, newSection.id);
-    });
-    it("should insert sections with higher `order` than any existing at the bottom on SECTION_REGISTER", () => {
-      const newSection = {id: "new_section", order: 10000};
-      const action = {type: at.SECTION_REGISTER, data: newSection};
-      const newState = Sections(oldState, action);
-      assert.equal(newState[newState.length - 1].id, newSection.id);
-    });
     it("should set newSection.rows === [] if no rows are provided on SECTION_REGISTER", () => {
       const action = {type: at.SECTION_REGISTER, data: {id: "foo_bar_5", title: "Foo Bar 5"}};
       const newState = Sections(oldState, action);
       const insertedSection = newState.find(section => section.id === "foo_bar_5");
       assert.deepEqual(insertedSection.rows, []);
     });
     it("should update a section on SECTION_REGISTER if it already exists", () => {
       const NEW_TITLE = "New Title";
@@ -556,16 +515,24 @@ describe("Reducers", () => {
       const state = Snippets(undefined, {type: at.SNIPPETS_DATA, data});
       assert.propertyVal(state, "snippetsURL", data.snippetsURL);
       assert.propertyVal(state, "version", data.version);
     });
     it("should reset to the initial state on a SNIPPETS_RESET action", () => {
       const state = Snippets({initalized: true, foo: "bar"}, {type: at.SNIPPETS_RESET});
       assert.equal(state, INITIAL_STATE.Snippets);
     });
+    it("should set the new blocklist on SNIPPET_BLOCKED", () => {
+      const state = Snippets({blockList: []}, {type: at.SNIPPET_BLOCKED, data: 1});
+      assert.deepEqual(state.blockList, [1]);
+    });
+    it("should clear the blocklist on SNIPPETS_BLOCKLIST_CLEARED", () => {
+      const state = Snippets({blockList: [1, 2]}, {type: at.SNIPPETS_BLOCKLIST_CLEARED});
+      assert.deepEqual(state.blockList, []);
+    });
   });
   describe("PreferencesPane", () => {
     it("should return INITIAL_STATE by default", () => {
       assert.equal(INITIAL_STATE.PreferencesPane, PreferencesPane(undefined, {type: "non_existent"}));
     });
     it("should toggle visible to true on SETTINGS_OPEN", () => {
       const action = {type: at.SETTINGS_OPEN};
       const nextState = PreferencesPane(INITIAL_STATE.PreferencesPane, action);
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/test/unit/lib/ActivityStreamStorage.test.js
@@ -0,0 +1,41 @@
+import {ActivityStreamStorage} from "lib/ActivityStreamStorage.jsm";
+import {GlobalOverrider} from "test/unit/utils";
+
+let overrider = new GlobalOverrider();
+
+describe("ActivityStreamStorage", () => {
+  let sandbox;
+  let indexedDB;
+  let storage;
+  beforeEach(() => {
+    sandbox = sinon.sandbox.create();
+    indexedDB = {open: sandbox.stub().returns(Promise.resolve())};
+    overrider.set({IndexedDB: indexedDB});
+    storage = new ActivityStreamStorage("storage_test");
+  });
+  afterEach(() => {
+    sandbox.restore();
+  });
+  it("should throw an error if you try to use it without init", () => {
+    assert.throws(() => storage.db);
+  });
+  it("should revert key value parameters for put", () => {
+    const stub = sandbox.stub();
+    sandbox.stub(storage, "getStore").returns({put: stub});
+
+    storage.set("key", "value");
+
+    assert.calledOnce(stub);
+    assert.calledWith(stub, "value", "key");
+  });
+  it("should create a db with the correct store name", async () => {
+    const dbStub = {createObjectStore: sandbox.stub()};
+    await storage.init();
+
+    // call the cb with a stub
+    indexedDB.open.args[0][2](dbStub);
+
+    assert.calledOnce(dbStub.createObjectStore);
+    assert.calledWithExactly(dbStub.createObjectStore, "storage_test");
+  });
+});
--- a/browser/extensions/activity-stream/test/unit/lib/HighlightsFeed.test.js
+++ b/browser/extensions/activity-stream/test/unit/lib/HighlightsFeed.test.js
@@ -35,17 +35,17 @@ describe("Highlights Feed", () => {
       }
     };
     sectionsManagerStub = {
       onceInitialized: sinon.stub().callsFake(callback => callback()),
       enableSection: sinon.spy(),
       disableSection: sinon.spy(),
       updateSection: sinon.spy(),
       updateSectionCard: sinon.spy(),
-      sections: new Map([["highlights", {order: 0}]])
+      sections: new Map([["highlights", {id: "highlights"}]])
     };
     fakeScreenshot = {
       getScreenshotForURL: sandbox.spy(() => Promise.resolve(FAKE_IMAGE)),
       maybeCacheScreenshot: Screenshots.maybeCacheScreenshot,
       _shouldGetScreenshots: sinon.stub().returns(true)
     };
     filterAdultStub = sinon.stub().returns([]);
     shortURLStub = sinon.stub().callsFake(site => site.url.match(/\/([^/]+)/)[1]);
@@ -68,17 +68,17 @@ describe("Highlights Feed", () => {
       dispatch: sinon.spy(),
       getState() { return this.state; },
       state: {
         Prefs: {values: {"filterAdult": false, "section.highlights.includePocket": false}},
         TopSites: {
           initialized: true,
           rows: Array(12).fill(null).map((v, i) => ({url: `http://www.topsite${i}.com`}))
         },
-        Sections: [{initialized: false}]
+        Sections: [{id: "highlights", initialized: false}]
       },
       subscribe: sinon.stub().callsFake(cb => { cb(); return () => {}; })
     };
     links = FAKE_LINKS;
   });
   afterEach(() => {
     globals.restore();
   });
@@ -103,27 +103,27 @@ describe("Highlights Feed", () => {
       feed.fetchHighlights = sinon.spy();
       feed.postInit();
       assert.calledOnce(feed.fetchHighlights);
     });
   });
   describe("#filterForThumbnailExpiration", () => {
     it("should pass rows.urls to the callback provided", () => {
       const rows = [{url: "foo.com"}, {"url": "bar.com"}];
-      feed.store.state.Sections = [{rows, initialized: true}];
+      feed.store.state.Sections = [{id: "highlights", rows, initialized: true}];
       const stub = sinon.stub();
 
       feed.filterForThumbnailExpiration(stub);
 
       assert.calledOnce(stub);
       assert.calledWithExactly(stub, rows.map(r => r.url));
     });
     it("should include preview_image_url (if present) in the callback results", () => {
       const rows = [{url: "foo.com"}, {"url": "bar.com", "preview_image_url": "bar.jpg"}];
-      feed.store.state.Sections = [{rows, initialized: true}];
+      feed.store.state.Sections = [{id: "highlights", rows, initialized: true}];
       const stub = sinon.stub();
 
       feed.filterForThumbnailExpiration(stub);
 
       assert.calledOnce(stub);
       assert.calledWithExactly(stub, ["foo.com", "bar.com", "bar.jpg"]);
     });
     it("should pass an empty array if not initialized", () => {
--- a/browser/extensions/activity-stream/test/unit/lib/SectionsManager.test.js
+++ b/browser/extensions/activity-stream/test/unit/lib/SectionsManager.test.js
@@ -281,16 +281,29 @@ describe("SectionsManager", () => {
 describe("SectionsFeed", () => {
   let feed;
 
   beforeEach(() => {
     SectionsManager.sections.clear();
     SectionsManager.initialized = false;
     feed = new SectionsFeed();
     feed.store = {dispatch: sinon.spy()};
+    feed.store = {
+      dispatch: sinon.spy(),
+      getState() { return this.state; },
+      state: {
+        Prefs: {
+          values: {
+            sectionOrder: "topsites,topstories,highlights",
+            showTopSites: true
+          }
+        },
+        Sections: [{initialized: false}]
+      }
+    };
   });
   afterEach(() => {
     feed.uninit();
   });
   describe("#init", () => {
     it("should create a SectionsFeed", () => {
       assert.instanceOf(feed, SectionsFeed);
     });
@@ -348,16 +361,25 @@ describe("SectionsFeed", () => {
     it("should broadcast a SECTION_REGISTER action with the correct data", () => {
       feed.onAddSection(null, FAKE_ID, FAKE_OPTIONS);
       const [action] = feed.store.dispatch.firstCall.args;
       assert.equal(action.type, "SECTION_REGISTER");
       assert.deepEqual(action.data, Object.assign({id: FAKE_ID}, FAKE_OPTIONS));
       assert.equal(action.meta.from, MAIN_MESSAGE_TYPE);
       assert.equal(action.meta.to, CONTENT_MESSAGE_TYPE);
     });
+    it("should prepend id to sectionOrder pref if not already included", () => {
+      feed.store.state.Sections = [{id: "topstories", enabled: true}, {id: "highlights", enabled: true}];
+      feed.onAddSection(null, FAKE_ID, FAKE_OPTIONS);
+      assert.calledWith(feed.store.dispatch, {
+        data: {name: "sectionOrder", value: `${FAKE_ID},topsites,topstories,highlights`},
+        meta: {from: "ActivityStream:Content", to: "ActivityStream:Main"},
+        type: "SET_PREF"
+      });
+    });
   });
   describe("#onRemoveSection", () => {
     it("should broadcast a SECTION_DEREGISTER action with the correct data", () => {
       feed.onRemoveSection(null, FAKE_ID);
       const [action] = feed.store.dispatch.firstCall.args;
       assert.equal(action.type, "SECTION_DEREGISTER");
       assert.deepEqual(action.data, FAKE_ID);
       // Should be broadcast
@@ -488,10 +510,75 @@ describe("SectionsFeed", () => {
     it("should call SectionManager.removeSectionCard on WEBEXT_DISMISS", () => {
       const stub = sinon.stub(SectionsManager, "removeSectionCard");
 
       feed.onAction(ac.WebExtEvent(at.WEBEXT_DISMISS, {source: "Foo", url: "bar.com"}));
 
       assert.calledOnce(stub);
       assert.calledWith(stub, "Foo", "bar.com");
     });
+    it("should call the feed's moveSection on SECTION_MOVE", () => {
+      sinon.stub(feed, "moveSection");
+      const id = "topsites";
+      const direction = +1;
+      feed.onAction({type: "SECTION_MOVE", data: {id, direction}});
+
+      assert.calledOnce(feed.moveSection);
+      assert.calledWith(feed.moveSection, id, direction);
+    });
+  });
+  describe("#moveSection", () => {
+    it("should Move Down correctly", () => {
+      feed.store.state.Sections = [{id: "topstories", enabled: true}, {id: "highlights", enabled: true}];
+      feed.moveSection("topsites", +1);
+      assert.calledOnce(feed.store.dispatch);
+      assert.calledWith(feed.store.dispatch, {
+        data: {name: "sectionOrder", value: "topstories,topsites,highlights"},
+        meta: {from: "ActivityStream:Content", to: "ActivityStream:Main"},
+        type: "SET_PREF"
+      });
+      feed.store.dispatch.reset();
+      feed.moveSection("topstories", +1);
+      assert.calledOnce(feed.store.dispatch);
+      assert.calledWith(feed.store.dispatch, {
+        data: {name: "sectionOrder", value: "topsites,highlights,topstories"},
+        meta: {from: "ActivityStream:Content", to: "ActivityStream:Main"},
+        type: "SET_PREF"
+      });
+    });
+    it("should Move Up correctly", () => {
+      feed.store.state.Sections = [{id: "topstories", enabled: true}, {id: "highlights", enabled: true}];
+      feed.moveSection("topstories", -1);
+      assert.calledOnce(feed.store.dispatch);
+      assert.calledWith(feed.store.dispatch, {
+        data: {name: "sectionOrder", value: "topstories,topsites,highlights"},
+        meta: {from: "ActivityStream:Content", to: "ActivityStream:Main"},
+        type: "SET_PREF"
+      });
+      feed.store.dispatch.reset();
+      feed.moveSection("highlights", -1);
+      assert.calledOnce(feed.store.dispatch);
+      assert.calledWith(feed.store.dispatch, {
+        data: {name: "sectionOrder", value: "topsites,highlights,topstories"},
+        meta: {from: "ActivityStream:Content", to: "ActivityStream:Main"},
+        type: "SET_PREF"
+      });
+    });
+    it("should skip over sections that aren't enabled", () => {
+      feed.store.state.Sections = [{id: "topstories", enabled: false}, {id: "highlights", enabled: true}];
+      feed.moveSection("highlights", -1);
+      assert.calledOnce(feed.store.dispatch);
+      assert.calledWith(feed.store.dispatch, {
+        data: {name: "sectionOrder", value: "highlights,topsites,topstories"},
+        meta: {from: "ActivityStream:Content", to: "ActivityStream:Main"},
+        type: "SET_PREF"
+      });
+      feed.store.dispatch.reset();
+      feed.moveSection("topsites", +1);
+      assert.calledOnce(feed.store.dispatch);
+      assert.calledWith(feed.store.dispatch, {
+        data: {name: "sectionOrder", value: "topstories,highlights,topsites"},
+        meta: {from: "ActivityStream:Content", to: "ActivityStream:Main"},
+        type: "SET_PREF"
+      });
+    });
   });
 });
--- a/browser/extensions/activity-stream/test/unit/lib/SnippetsFeed.test.js
+++ b/browser/extensions/activity-stream/test/unit/lib/SnippetsFeed.test.js
@@ -26,28 +26,44 @@ const FAKE_ADDONS = {
   }
 };
 
 let overrider = new GlobalOverrider();
 
 describe("SnippetsFeed", () => {
   let sandbox;
   let clock;
+  let fakeDB;
   beforeEach(() => {
     clock = sinon.useFakeTimers();
     sandbox = sinon.sandbox.create();
+    fakeDB = {
+      objectStore: sandbox.stub().returns({
+        get: sandbox.stub().returns(Promise.resolve()),
+        set: sandbox.stub().returns(Promise.resolve())
+      })
+    };
     overrider.set({
       ProfileAge: class ProfileAge {
         constructor() {
           this.created = Promise.resolve(0);
           this.reset = Promise.resolve(WEEK_IN_MS);
         }
       },
       FxAccounts: {config: {promiseSignUpURI: sandbox.stub().returns(Promise.resolve(signUpUrl))}},
-      NewTabUtils: {activityStreamProvider: {getTotalBookmarksCount: () => Promise.resolve(42)}}
+      NewTabUtils: {activityStreamProvider: {getTotalBookmarksCount: () => Promise.resolve(42)}},
+      ActivityStreamStorage: class ActivityStreamStorage {
+        constructor() {
+          this.init = sandbox.stub.callsFake(Promise.resolve());
+        }
+        init() {
+          return Promise.resolve();
+        }
+      },
+      IndexedDB: {open: () => Promise.resolve(fakeDB)}
     });
   });
   afterEach(() => {
     clock.restore();
     overrider.restore();
     sandbox.restore();
   });
   it("should dispatch a SNIPPETS_DATA action with the right data on INIT", async () => {
@@ -117,24 +133,52 @@ describe("SnippetsFeed", () => {
   it("should broadcast a SNIPPETS_RESET on uninit", () => {
     const feed = new SnippetsFeed();
     feed.store = {dispatch: sandbox.stub()};
 
     feed.uninit();
 
     assert.calledWith(feed.store.dispatch, ac.BroadcastToContent({type: at.SNIPPETS_RESET}));
   });
+  it("should update the blocklist on SNIPPETS_BLOCKLIST_UPDATED", async () => {
+    const feed = new SnippetsFeed();
+    const saveBlockList = sandbox.stub(feed._storage, "set");
+    sandbox.stub(feed._storage, "get").returns(["bar"]);
+    feed.store = {dispatch: sandbox.stub()};
+
+    await feed._saveBlockedSnippet("foo");
+
+    assert.calledOnce(saveBlockList);
+    assert.equal(saveBlockList.args[0][0], "blockList");
+    assert.deepEqual(saveBlockList.args[0][1], ["bar", "foo"]);
+  });
   it("should broadcast a SNIPPET_BLOCKED when a SNIPPETS_BLOCKLIST_UPDATED is received", () => {
     const feed = new SnippetsFeed();
     feed.store = {dispatch: sandbox.stub()};
-    const blockList = ["foo", "bar", "baz"];
+
+    feed.onAction({type: at.SNIPPETS_BLOCKLIST_UPDATED, data: "foo"});
+
+    assert.calledWith(feed.store.dispatch, ac.BroadcastToContent({type: at.SNIPPET_BLOCKED, data: "foo"}));
+  });
+  it("should call _clearBlockList on SNIPPETS_BLOCKLIST_CLEARED", () => {
+    const feed = new SnippetsFeed();
+    const stub = sandbox.stub(feed, "_clearBlockList");
+
+    feed.onAction({type: at.SNIPPETS_BLOCKLIST_CLEARED});
 
-    feed.onAction({type: at.SNIPPETS_BLOCKLIST_UPDATED, data: blockList});
+    assert.calledOnce(stub);
+  });
+  it("should set blockList to [] on SNIPPETS_BLOCKLIST_CLEARED", async () => {
+    const feed = new SnippetsFeed();
+    const stub = sandbox.stub(feed._storage, "set");
 
-    assert.calledWith(feed.store.dispatch, ac.BroadcastToContent({type: at.SNIPPET_BLOCKED, data: blockList}));
+    await feed._clearBlockList();
+
+    assert.calledOnce(stub);
+    assert.calledWithExactly(stub, "blockList", []);
   });
   it("should dispatch an update event when the Search observer is called", async () => {
     const feed = new SnippetsFeed();
     feed.store = {dispatch: sandbox.stub()};
     sandbox.stub(feed, "getSelectedSearchEngine")
       .returns(Promise.resolve(searchData));
 
     await feed.observe(null, "browser-search-engine-modified");
--- a/browser/extensions/activity-stream/test/unit/lib/TelemetryFeed.test.js
+++ b/browser/extensions/activity-stream/test/unit/lib/TelemetryFeed.test.js
@@ -473,16 +473,17 @@ describe("TelemetryFeed", () => {
 
       await instance.sendEvent(event);
 
       assert.calledWith(instance.pingCentre.sendPing, event);
     });
   });
   describe("#sendUTEvent", () => {
     it("should call the UT event function passed in", async () => {
+      FakePrefs.prototype.prefs[TELEMETRY_PREF] = true;
       FakePrefs.prototype.prefs[EVENTS_TELEMETRY_PREF] = true;
       const event = {};
       instance = new TelemetryFeed();
       sandbox.stub(instance.utEvents, "sendUserEvent");
 
       await instance.sendUTEvent(event, instance.utEvents.sendUserEvent);
 
       assert.calledWith(instance.utEvents.sendUserEvent, event);