merge mozilla-inbound to mozilla-central. r=merge a=merge
authorSebastian Hengst <archaeopteryx@coole-files.de>
Thu, 07 Sep 2017 12:39:12 +0200
changeset 428911 37b95547f0d27565452136d16b2df2857be840f6
parent 428771 6469a2cb7df662afb23493b5566f99b6802fcb5a (current diff)
parent 428910 0338f82cf70e5071b6de29c0b3360ab840fc532f (diff)
child 428912 0385d0611002619e1474e05748341110a50ae846
child 428932 bd0ce93776feb070b1e48a98200782bc32a20e5a
child 429010 ebe28677bef891e5c9c188a08a63288917b20477
push id7761
push userjlund@mozilla.com
push dateFri, 15 Sep 2017 00:19:52 +0000
treeherdermozilla-beta@c38455951db4 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge, merge
milestone57.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
merge mozilla-inbound to mozilla-central. r=merge a=merge MozReview-Commit-ID: JSRVc5yW6Kx
browser/base/content/browser.js
browser/base/content/browser.xul
browser/components/customizableui/CustomizableUI.jsm
browser/components/customizableui/content/panelUI.inc.xul
browser/locales/en-US/chrome/browser/browser.dtd
docshell/base/nsDocShell.cpp
dom/html/HTMLInputElement.cpp
dom/media/webspeech/recognition/PocketSphinxSpeechRecognitionService.cpp
dom/media/webspeech/recognition/PocketSphinxSpeechRecognitionService.h
dom/media/webspeech/recognition/models/dict/en-US.dic
dom/media/webspeech/recognition/models/dict/en-US.dic.dmp
dom/media/webspeech/recognition/models/en-US/README
dom/media/webspeech/recognition/models/en-US/feat.params
dom/media/webspeech/recognition/models/en-US/mdef
dom/media/webspeech/recognition/models/en-US/means
dom/media/webspeech/recognition/models/en-US/mixture_weights
dom/media/webspeech/recognition/models/en-US/noisedict
dom/media/webspeech/recognition/models/en-US/sendump
dom/media/webspeech/recognition/models/en-US/transition_matrices
dom/media/webspeech/recognition/models/en-US/variances
dom/payments/test/test_validate_decimal_value.html
gfx/webrender/res/cs_blur.fs.glsl
gfx/webrender/res/cs_blur.vs.glsl
gfx/webrender/res/ps_angle_gradient.fs.glsl
gfx/webrender/res/ps_angle_gradient.vs.glsl
gfx/webrender/res/ps_clear.fs.glsl
gfx/webrender/res/ps_clear.glsl
gfx/webrender/res/ps_clear.vs.glsl
gfx/webrender/res/ps_composite.fs.glsl
gfx/webrender/res/ps_composite.vs.glsl
gfx/webrender/res/ps_gradient.fs.glsl
gfx/webrender/res/ps_gradient.vs.glsl
gfx/webrender/res/ps_line.fs.glsl
gfx/webrender/res/ps_line.vs.glsl
gfx/webrender/res/ps_radial_gradient.fs.glsl
gfx/webrender/res/ps_radial_gradient.vs.glsl
gfx/webrender/res/ps_split_composite.fs.glsl
gfx/webrender/res/ps_split_composite.vs.glsl
js/src/vm/Runtime.h
layout/base/GeckoRestyleManager.cpp
layout/tools/reftest/reftest.jsm
media/pocketsphinx/cmdln_macro.h
media/pocketsphinx/moz.build
media/pocketsphinx/pocketsphinx-COPYING.txt
media/pocketsphinx/pocketsphinx.h
media/pocketsphinx/pocketsphinx_export.h
media/pocketsphinx/ps_lattice.h
media/pocketsphinx/ps_mllr.h
media/pocketsphinx/ps_search.h
media/pocketsphinx/src/acmod.c
media/pocketsphinx/src/acmod.h
media/pocketsphinx/src/allphone_search.c
media/pocketsphinx/src/allphone_search.h
media/pocketsphinx/src/bin_mdef.c
media/pocketsphinx/src/bin_mdef.h
media/pocketsphinx/src/blkarray_list.c
media/pocketsphinx/src/blkarray_list.h
media/pocketsphinx/src/dict.c
media/pocketsphinx/src/dict.h
media/pocketsphinx/src/dict2pid.c
media/pocketsphinx/src/dict2pid.h
media/pocketsphinx/src/fsg_history.c
media/pocketsphinx/src/fsg_history.h
media/pocketsphinx/src/fsg_lextree.c
media/pocketsphinx/src/fsg_lextree.h
media/pocketsphinx/src/fsg_search.c
media/pocketsphinx/src/fsg_search_internal.h
media/pocketsphinx/src/hmm.c
media/pocketsphinx/src/hmm.h
media/pocketsphinx/src/kws_detections.c
media/pocketsphinx/src/kws_detections.h
media/pocketsphinx/src/kws_search.c
media/pocketsphinx/src/kws_search.h
media/pocketsphinx/src/mdef.c
media/pocketsphinx/src/mdef.h
media/pocketsphinx/src/ms_gauden.c
media/pocketsphinx/src/ms_gauden.h
media/pocketsphinx/src/ms_mgau.c
media/pocketsphinx/src/ms_mgau.h
media/pocketsphinx/src/ms_senone.c
media/pocketsphinx/src/ms_senone.h
media/pocketsphinx/src/ngram_search.c
media/pocketsphinx/src/ngram_search.h
media/pocketsphinx/src/ngram_search_fwdflat.c
media/pocketsphinx/src/ngram_search_fwdflat.h
media/pocketsphinx/src/ngram_search_fwdtree.c
media/pocketsphinx/src/ngram_search_fwdtree.h
media/pocketsphinx/src/phone_loop_search.c
media/pocketsphinx/src/phone_loop_search.h
media/pocketsphinx/src/pocketsphinx.c
media/pocketsphinx/src/pocketsphinx_internal.h
media/pocketsphinx/src/ps_alignment.c
media/pocketsphinx/src/ps_alignment.h
media/pocketsphinx/src/ps_lattice.c
media/pocketsphinx/src/ps_lattice_internal.h
media/pocketsphinx/src/ps_mllr.c
media/pocketsphinx/src/ptm_mgau.c
media/pocketsphinx/src/ptm_mgau.h
media/pocketsphinx/src/s2_semi_mgau.c
media/pocketsphinx/src/s2_semi_mgau.h
media/pocketsphinx/src/s3types.h
media/pocketsphinx/src/state_align_search.c
media/pocketsphinx/src/state_align_search.h
media/pocketsphinx/src/tied_mgau_common.h
media/pocketsphinx/src/tmat.c
media/pocketsphinx/src/tmat.h
media/pocketsphinx/src/vector.c
media/pocketsphinx/src/vector.h
media/pocketsphinx/update.sh
modules/libpref/init/all.js
python/mozbuild/mozbuild/frontend/mach_commands.py
taskcluster/taskgraph/test/test_try_option_syntax.py
taskcluster/taskgraph/try_option_syntax.py
toolkit/components/telemetry/Histograms.json
xpcom/ds/nsIAtom.idl
--- a/accessible/generic/DocAccessible.cpp
+++ b/accessible/generic/DocAccessible.cpp
@@ -1498,16 +1498,17 @@ DocAccessible::DoInitialUpdate()
         DocAccessibleChild* ipcDoc = new DocAccessibleChild(this, tabChild);
         SetIPCDoc(ipcDoc);
         if (IsRoot()) {
           tabChild->SetTopLevelDocAccessibleChild(ipcDoc);
         }
 
 #if defined(XP_WIN)
         IAccessibleHolder holder(CreateHolderFromAccessible(this));
+        MOZ_DIAGNOSTIC_ASSERT(!holder.IsNull());
         int32_t childID = AccessibleWrap::GetChildIDFor(this);
 #else
         int32_t holder = 0, childID = 0;
 #endif
         tabChild->SendPDocAccessibleConstructor(ipcDoc, nullptr, 0, childID,
                                                 holder);
       }
     }
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -404,21 +404,18 @@ pref("browser.search.order.US.3",       
 pref("browser.search.openintab", false);
 
 // context menu searches open in the foreground
 pref("browser.search.context.loadInBackground", false);
 
 // comma seperated list of of engines to hide in the search panel.
 pref("browser.search.hiddenOneOffs", "");
 
-// Mirrors whether the search-container widget is in the navigation toolbar. The
-// default value of this preference must match the DEFAULT_AREA_PLACEMENTS of
-// UITelemetry.jsm, the navbarPlacements of CustomizableUI.jsm, and the
-// position and attributes of the search-container element in browser.xul.
-pref("browser.search.widget.inNavBar", true);
+// Mirrors whether the search-container widget is in the navigation toolbar.
+pref("browser.search.widget.inNavBar", false);
 
 #ifndef RELEASE_OR_BETA
 pref("browser.search.reset.enabled", true);
 #endif
 
 pref("browser.sessionhistory.max_entries", 50);
 
 // Built-in default permissions.
--- a/browser/base/content/browser.css
+++ b/browser/base/content/browser.css
@@ -1,15 +1,14 @@
 /* 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/. */
 
 @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
 @namespace html url("http://www.w3.org/1999/xhtml");
-@namespace svg url("http://www.w3.org/2000/svg");
 
 :root {
   --panelui-subview-transition-duration: 150ms;
   --lwt-additional-images: none;
   --lwt-background-alignment: right top;
   --lwt-background-tiling: no-repeat;
 }
 
--- a/browser/base/content/browser.xul
+++ b/browser/base/content/browser.xul
@@ -432,19 +432,19 @@
            role="group"
            type="arrow"
            hidden="true"
            flip="slide"
            photon="true"
            position="bottomcenter topright"
            tabspecific="true"
            noautofocus="true"
-           copyURL-title="&copyURLCmd.label;"
+           copyURL-title="&pageAction.copyLink.label;"
            emailLink-title="&emailPageCmd.label;"
-           sendToDevice-title="&sendToDevice.label3;"
+           sendToDevice-title="&pageAction.sendTabToDevice.label;"
            sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;">
       <photonpanelmultiview id="pageActionPanelMultiView"
                             mainViewId="pageActionPanelMainView"
                             viewCacheId="appMenu-viewCache">
         <panelview id="pageActionPanelMainView"
                    context="pageActionPanelContextMenu"
                    oncontextmenu="BrowserPageActions.onContextMenu(event);"
                    class="PanelUI-subView">
@@ -905,17 +905,17 @@
                        onclick="FullZoom.reset();"
                        tooltip="dynamic-shortcut-tooltip"
                        hidden="true"/>
                 <box id="pageActionSeparator" class="urlbar-page-action"/>
                 <image id="pageActionButton"
                        class="urlbar-icon urlbar-page-action"
                        role="button"
                        tooltiptext="&pageActionButton.tooltip;"
-                       onclick="BrowserPageActions.mainButtonClicked(event);"/>
+                       onmousedown="BrowserPageActions.mainButtonClicked(event);"/>
                 <hbox id="star-button-box"
                       hidden="true"
                       class="urlbar-icon-wrapper urlbar-page-action"
                       role="button"
                       context="pageActionPanelContextMenu"
                       oncontextmenu="BrowserPageActions.onContextMenu(event);"
                       onclick="BrowserPageActions.bookmark.onUrlbarNodeClicked(event);">
                   <image id="star-button"
@@ -927,42 +927,36 @@
                            role="button"
                            observes="bookmarkThisPageBroadcaster"/>
                   </hbox>
                 </hbox>
               </hbox>
             </textbox>
         </toolbaritem>
 
-        <toolbaritem id="search-container" title="&searchItem.title;"
-                     align="center" class="chromeclass-toolbar-additional panel-wide-item"
-                     cui-areatype="toolbar"
-                     flex="100" persist="width" removable="true">
-          <searchbar id="searchbar" flex="1"/>
-        </toolbaritem>
         <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
 
         <!-- This is a placeholder for the Downloads Indicator.  It is visible
              during the customization of the toolbar, in the palette, and before
              the Downloads Indicator overlay is loaded. -->
         <toolbarbutton id="downloads-button"
                        class="toolbarbutton-1 chromeclass-toolbar-additional badged-button"
                        key="key_openDownloads"
-                       oncommand="DownloadsIndicatorView.onCommand(event);"
+                       onmousedown="DownloadsIndicatorView.onCommand(event);"
                        ondrop="DownloadsIndicatorView.onDrop(event);"
                        ondragover="DownloadsIndicatorView.onDragOver(event);"
                        ondragenter="DownloadsIndicatorView.onDragOver(event);"
                        label="&downloads.label;"
                        removable="true"
                        cui-areatype="toolbar"
                        tooltip="dynamic-shortcut-tooltip"/>
 
         <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
                        removable="true"
-                       oncommand="PanelUI.showSubView('appMenu-libraryView', this, null, event);"
+                       onmousedown="PanelUI.showSubView('appMenu-libraryView', this, null, event);"
                        closemenu="none"
                        cui-areatype="toolbar"
                        tooltiptext="&libraryButton.tooltip;"
                        label="&places.library.title;"/>
 
       </hbox>
 
       <toolbarbutton id="nav-bar-overflow-button"
@@ -1084,26 +1078,24 @@
       <toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
                      observes="View:FullScreen"
                      type="checkbox"
                      label="&fullScreenCmd.label;"
                      tooltip="dynamic-shortcut-tooltip"/>
 
       <toolbarbutton id="bookmarks-menu-button"
                      class="toolbarbutton-1 chromeclass-toolbar-additional"
-                     removable="true"
                      type="menu"
                      label="&bookmarksMenuButton2.label;"
                      tooltip="dynamic-shortcut-tooltip"
                      anchor="dropmarker"
                      ondragenter="PlacesMenuDNDHandler.onDragEnter(event);"
                      ondragover="PlacesMenuDNDHandler.onDragOver(event);"
                      ondragleave="PlacesMenuDNDHandler.onDragLeave(event);"
                      ondrop="PlacesMenuDNDHandler.onDrop(event);"
-                     cui-areatype="toolbar"
                      oncommand="BookmarkingUI.onCommand(event);">
         <observes element="bookmarkThisPageBroadcaster" attribute="starred"/>
         <observes element="bookmarkThisPageBroadcaster" attribute="buttontooltiptext"/>
         <menupopup id="BMB_bookmarksPopup"
                    class="cui-widget-panel cui-widget-panelview cui-widget-panelWithFooter PanelUI-subView"
                    placespopup="true"
                    context="placesContext"
                    openInTabs="children"
@@ -1179,16 +1171,25 @@
           <!-- Bookmarks menu items will go here -->
           <menuitem id="BMB_bookmarksShowAll"
                     class="subviewbutton panel-subview-footer"
                     label="&showAllBookmarks2.label;"
                     command="Browser:ShowAllBookmarks"
                     key="manBookmarkKb"/>
         </menupopup>
       </toolbarbutton>
+
+      <toolbaritem id="search-container"
+                   class="chromeclass-toolbar-additional panel-wide-item"
+                   title="&searchItem.title;"
+                   align="center"
+                   flex="100"
+                   persist="width">
+        <searchbar id="searchbar" flex="1"/>
+      </toolbaritem>
     </toolbarpalette>
     <box id="library-animatable-box" class="toolbarbutton-animatable-box">
       <image class="toolbarbutton-animatable-image"/>
     </box>
   </toolbox>
 
   <hbox id="fullscr-toggler" hidden="true"/>
 
--- a/browser/base/content/test/about/browser_aboutHome.js
+++ b/browser/base/content/test/about/browser_aboutHome.js
@@ -478,27 +478,31 @@ add_task(async function() {
       is(searchInput.value, "a", "Search input should be 'a'.");
     });
   });
 });
 
 add_task(async function() {
   info("Cmd+k should focus the search box in the toolbar when it's present");
 
+  Services.prefs.setBoolPref("browser.search.widget.inNavBar", true);
+
   await BrowserTestUtils.withNewTab({ gBrowser, url: "about:home" }, async function(browser) {
     await BrowserTestUtils.synthesizeMouseAtCenter("#brandLogo", {}, browser);
 
     let doc = window.document;
     let searchInput = doc.getElementById("searchbar").textbox.inputField;
     isnot(searchInput, doc.activeElement, "Search bar should not be the active element.");
 
     EventUtils.synthesizeKey("k", { accelKey: true });
     await promiseWaitForCondition(() => doc.activeElement === searchInput);
     is(searchInput, doc.activeElement, "Search bar should be the active element.");
   });
+
+  Services.prefs.clearUserPref("browser.search.widget.inNavBar");
 });
 
 add_task(async function() {
   info("Sync button should open about:preferences#sync");
 
   await BrowserTestUtils.withNewTab({ gBrowser, url: "about:home" }, async function(browser) {
     let oldOpenPrefs = window.openPreferences;
     let openPrefsPromise = new Promise(resolve => {
--- a/browser/base/content/test/general/browser.ini
+++ b/browser/base/content/test/general/browser.ini
@@ -392,16 +392,17 @@ support-files = test_offline_gzip.html g
 # DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
 [browser_page_style_menu_update.js]
 # DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
 [browser_pinnedTabs.js]
 # DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
 [browser_plainTextLinks.js]
 # DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
 [browser_printpreview.js]
+skip-if = os == 'win' # Bug 1384127
 # DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
 [browser_private_browsing_window.js]
 # DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
 [browser_private_no_prompt.js]
 # DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
 [browser_purgehistory_clears_sh.js]
 # DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
 [browser_PageMetaData_pushstate.js]
--- a/browser/base/content/test/urlbar/browser_urlbarFocusedCmdK.js
+++ b/browser/base/content/test/urlbar/browser_urlbarFocusedCmdK.js
@@ -1,17 +1,11 @@
 /* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 add_task(async function() {
-  // Remove the search bar from toolbar
-  CustomizableUI.removeWidgetFromArea("search-container");
-
   // Test that Ctrl/Cmd + K will focus the url bar
   let focusPromise = BrowserTestUtils.waitForEvent(gURLBar, "focus");
   EventUtils.synthesizeKey("k", { accelKey: true });
   await focusPromise;
   Assert.equal(document.activeElement, gURLBar.inputField, "URL Bar should be focused");
-
-  // Reset changes made to toolbar
-  CustomizableUI.reset();
 });
 
--- a/browser/components/customizableui/CustomizableUI.jsm
+++ b/browser/components/customizableui/CustomizableUI.jsm
@@ -188,17 +188,16 @@ var CustomizableUIInternal = {
 
     let navbarPlacements = [
       "back-button",
       "forward-button",
       "stop-reload-button",
       "home-button",
       "spring",
       "urlbar-container",
-      "search-container",
       "spring",
       "downloads-button",
       "library-button",
       "sidebar-button",
     ];
 
     if (AppConstants.MOZ_DEV_EDITION) {
       navbarPlacements.splice(2, 0, "developer-button");
@@ -4176,17 +4175,17 @@ OverflowableToolbar.prototype = {
     let doc = this._toolbar.ownerDocument;
     let window = doc.defaultView;
     window.addEventListener("resize", this);
     window.gNavToolbox.addEventListener("customizationstarting", this);
     window.gNavToolbox.addEventListener("aftercustomization", this);
 
     let chevronId = this._toolbar.getAttribute("overflowbutton");
     this._chevron = doc.getElementById(chevronId);
-    this._chevron.addEventListener("command", this);
+    this._chevron.addEventListener("mousedown", this);
     this._chevron.addEventListener("dragover", this);
     this._chevron.addEventListener("dragend", this);
 
     let panelId = this._toolbar.getAttribute("overflowpanel");
     this._panel = doc.getElementById(panelId);
     this._panel.addEventListener("popuphiding", this);
     CustomizableUIInternal.addPanelCloseListeners(this._panel);
 
@@ -4225,17 +4224,17 @@ OverflowableToolbar.prototype = {
     CustomizableUIInternal.removePanelCloseListeners(this._panel);
   },
 
   handleEvent(aEvent) {
     switch (aEvent.type) {
       case "aftercustomization":
         this._enable();
         break;
-      case "command":
+      case "mousedown":
         if (aEvent.target == this._chevron) {
           this._onClickChevron(aEvent);
         } else {
           this._panel.hidePopup();
         }
         break;
       case "customizationstarting":
         this._disable();
--- a/browser/components/customizableui/SearchWidgetTracker.jsm
+++ b/browser/components/customizableui/SearchWidgetTracker.jsm
@@ -31,16 +31,20 @@ const SearchWidgetTracker = {
     this.onWidgetReset = this.onWidgetUndoMove = node => {
       if (node.id == WIDGET_ID) {
         this.syncPreferenceWithWidget();
       }
     };
     CustomizableUI.addListener(this);
     Services.prefs.addObserver(PREF_NAME,
                                () => this.syncWidgetWithPreference());
+
+    // The placement of the widget always takes priority, and the preference
+    // should always match the actual placement when the browser starts up.
+    this.syncPreferenceWithWidget();
   },
 
   onCustomizeEnd() {
     // onWidgetUndoMove does not fire when the search container is moved back to
     // the customization palette as a result of an undo, so we sync again here.
     this.syncPreferenceWithWidget();
   },
 
--- a/browser/components/customizableui/content/panelUI.inc.xul
+++ b/browser/components/customizableui/content/panelUI.inc.xul
@@ -470,17 +470,17 @@
                      buttonaccesskey="&updateRestart.acceptButton.accesskey;"
                      closebuttonhidden="true"
                      secondarybuttonlabel="&updateRestart.cancelButton.label;"
                      secondarybuttonaccesskey="&updateRestart.cancelButton.accesskey;"
                      dropmarkerhidden="true"
                      checkboxhidden="true"
                      hidden="true">
     <popupnotificationcontent id="update-restart-notification-content" orient="vertical">
-      <description id="update-restart-description">&updateRestart.message;</description>
+      <description id="update-restart-description">&updateRestart.message2;</description>
     </popupnotificationcontent>
   </popupnotification>
 </panel>
 
 <menupopup id="customizationPaletteItemContextMenu">
   <menuitem oncommand="gCustomizeMode.addToToolbar(document.popupNode)"
             class="customize-context-addToToolbar"
             accesskey="&customizeMenu.addToToolbar.accesskey;"
--- a/browser/components/customizableui/test/browser_694291_searchbar_preference.js
+++ b/browser/components/customizableui/test/browser_694291_searchbar_preference.js
@@ -2,45 +2,42 @@
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 const WIDGET_ID = "search-container";
 const PREF_NAME = "browser.search.widget.inNavBar";
 
 function checkDefaults() {
-  // If the following defaults change, then the DEFAULT_AREA_PLACEMENTS of
-  // UITelemetry.jsm, the navbarPlacements of CustomizableUI.jsm, and the
-  // position and attributes of the search-container element in browser.xul
-  // should also change at the same time.
-  ok(Services.prefs.getBoolPref(PREF_NAME));
-  let placement = CustomizableUI.getPlacementOfWidget(WIDGET_ID);
-  is(placement.area, CustomizableUI.AREA_NAVBAR);
-  is(placement.position,
-     CustomizableUI.getPlacementOfWidget("urlbar-container").position + 1);
+  ok(!Services.prefs.getBoolPref(PREF_NAME));
+  is(CustomizableUI.getPlacementOfWidget(WIDGET_ID), null);
 }
 
 add_task(async function test_defaults() {
   // Verify the default state before the first test.
   checkDefaults();
 });
 
 add_task(async function test_syncPreferenceWithWidget() {
+  // Moving the widget to any position in the navigation toolbar should turn the
+  // preference to true.
+  CustomizableUI.addWidgetToArea(WIDGET_ID, CustomizableUI.AREA_NAVBAR);
+  ok(Services.prefs.getBoolPref(PREF_NAME));
+
   // Moving the widget to any position outside of the navigation toolbar should
-  // turn the preference to false.
+  // turn the preference back to false.
   CustomizableUI.addWidgetToArea(WIDGET_ID, CustomizableUI.AREA_FIXED_OVERFLOW_PANEL);
   ok(!Services.prefs.getBoolPref(PREF_NAME));
-
-  // Moving the widget back to any position in the navigation toolbar should
-  // turn the preference to true again.
-  CustomizableUI.addWidgetToArea(WIDGET_ID, CustomizableUI.AREA_NAVBAR);
-  ok(Services.prefs.getBoolPref(PREF_NAME));
 });
 
 add_task(async function test_syncWidgetWithPreference() {
-  // This should move the widget the customization palette.
+  // setting the preference should move the widget to the navigation toolbar and
+  // place it right after the location bar.
+  Services.prefs.setBoolPref(PREF_NAME, true);
+  let placement = CustomizableUI.getPlacementOfWidget(WIDGET_ID);
+  is(placement.area, CustomizableUI.AREA_NAVBAR);
+  is(placement.position,
+     CustomizableUI.getPlacementOfWidget("urlbar-container").position + 1);
+
+  // This should move the widget back to the customization palette.
   Services.prefs.setBoolPref(PREF_NAME, false);
-  is(CustomizableUI.getPlacementOfWidget(WIDGET_ID), null);
-
-  // This should return the widget to its default placement.
-  Services.prefs.setBoolPref(PREF_NAME, true);
   checkDefaults();
 });
--- a/browser/components/customizableui/test/browser_901207_searchbar_in_panel.js
+++ b/browser/components/customizableui/test/browser_901207_searchbar_in_panel.js
@@ -11,39 +11,35 @@ async function waitForSearchBarFocus() {
   await waitForCondition(function() {
     logActiveElement();
     return document.activeElement === searchbar.textbox.inputField;
   });
 }
 
 // Ctrl+K should open the menu panel and focus the search bar if the search bar is in the panel.
 add_task(async function() {
-  let searchbar = document.getElementById("searchbar");
-  gCustomizeMode.addToPanel(searchbar);
-  let placement = CustomizableUI.getPlacementOfWidget("search-container");
-  is(placement.area, CustomizableUI.AREA_FIXED_OVERFLOW_PANEL, "Should be in panel");
+  CustomizableUI.addWidgetToArea("search-container",
+                                 CustomizableUI.AREA_FIXED_OVERFLOW_PANEL);
 
   let shownPanelPromise = promiseOverflowShown(window);
   sendWebSearchKeyCommand();
   await shownPanelPromise;
 
   await waitForSearchBarFocus();
 
   let hiddenPanelPromise = promiseOverflowHidden(window);
   EventUtils.synthesizeKey("VK_ESCAPE", {});
   await hiddenPanelPromise;
   CustomizableUI.reset();
 });
 
 // Ctrl+K should give focus to the searchbar when the searchbar is in the menupanel and the panel is already opened.
 add_task(async function() {
-  let searchbar = document.getElementById("searchbar");
-  gCustomizeMode.addToPanel(searchbar);
-  let placement = CustomizableUI.getPlacementOfWidget("search-container");
-  is(placement.area, CustomizableUI.AREA_FIXED_OVERFLOW_PANEL, "Should be in panel");
+  CustomizableUI.addWidgetToArea("search-container",
+                                 CustomizableUI.AREA_FIXED_OVERFLOW_PANEL);
 
   await document.getElementById("nav-bar").overflowable.show();
 
   sendWebSearchKeyCommand();
 
   await waitForSearchBarFocus();
 
   let hiddenPanelPromise = promiseOverflowHidden(window);
@@ -54,46 +50,54 @@ add_task(async function() {
 
 // Ctrl+K should open the overflow panel and focus the search bar if the search bar is overflowed.
 add_task(async function() {
   this.originalWindowWidth = window.outerWidth;
   let navbar = document.getElementById(CustomizableUI.AREA_NAVBAR);
   ok(!navbar.hasAttribute("overflowing"), "Should start with a non-overflowing toolbar.");
   ok(CustomizableUI.inDefaultState, "Should start in default state.");
 
-  window.resizeTo(360, window.outerHeight);
+  Services.prefs.setBoolPref("browser.search.widget.inNavBar", true);
+
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.getAttribute("overflowing") == "true");
   ok(!navbar.querySelector("#search-container"), "Search container should be overflowing");
 
   let shownPanelPromise = promiseOverflowShown(window);
   sendWebSearchKeyCommand();
   await shownPanelPromise;
 
   let chevron = document.getElementById("nav-bar-overflow-button");
   await waitForCondition(() => chevron.open);
 
   await waitForSearchBarFocus();
 
   let hiddenPanelPromise = promiseOverflowHidden(window);
   EventUtils.synthesizeKey("VK_ESCAPE", {});
   await hiddenPanelPromise;
+
+  Services.prefs.setBoolPref("browser.search.widget.inNavBar", false);
+
   navbar = document.getElementById(CustomizableUI.AREA_NAVBAR);
   window.resizeTo(this.originalWindowWidth, window.outerHeight);
   await waitForCondition(() => !navbar.hasAttribute("overflowing"));
   ok(!navbar.hasAttribute("overflowing"), "Should not have an overflowing toolbar.");
 });
 
 // Ctrl+K should focus the search bar if it is in the navbar and not overflowing.
 add_task(async function() {
+  Services.prefs.setBoolPref("browser.search.widget.inNavBar", true);
   let placement = CustomizableUI.getPlacementOfWidget("search-container");
   is(placement.area, CustomizableUI.AREA_NAVBAR, "Should be in nav-bar");
 
   sendWebSearchKeyCommand();
 
   await waitForSearchBarFocus();
+
+  Services.prefs.setBoolPref("browser.search.widget.inNavBar", false);
 });
 
 
 function sendWebSearchKeyCommand() {
   if (Services.appinfo.OS === "Darwin")
     EventUtils.synthesizeKey("k", { accelKey: true });
   else
     EventUtils.synthesizeKey("k", { ctrlKey: true });
--- a/browser/components/customizableui/test/browser_909779_overflow_toolbars_new_window.js
+++ b/browser/components/customizableui/test/browser_909779_overflow_toolbars_new_window.js
@@ -5,17 +5,17 @@
 "use strict";
 
 // Resize to a small window, open a new window, check that new window handles overflow properly
 add_task(async function() {
   let originalWindowWidth = window.outerWidth;
   let navbar = document.getElementById(CustomizableUI.AREA_NAVBAR);
   ok(!navbar.hasAttribute("overflowing"), "Should start with a non-overflowing toolbar.");
   let oldChildCount = navbar.customizationTarget.childElementCount;
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
   ok(navbar.hasAttribute("overflowing"), "Should have an overflowing toolbar.");
 
   ok(navbar.customizationTarget.childElementCount < oldChildCount, "Should have fewer children.");
   let newWindow = await openAndLoadWindow();
   let otherNavBar = newWindow.document.getElementById(CustomizableUI.AREA_NAVBAR);
   await waitForCondition(() => otherNavBar.hasAttribute("overflowing"));
   ok(otherNavBar.hasAttribute("overflowing"), "Other window should have an overflowing toolbar.");
--- a/browser/components/customizableui/test/browser_913972_currentset_overflow.js
+++ b/browser/components/customizableui/test/browser_913972_currentset_overflow.js
@@ -8,17 +8,17 @@ var navbar = document.getElementById(Cus
 
 // Resize to a small window, resize back, shouldn't affect currentSet
 add_task(async function() {
   let originalWindowWidth = window.outerWidth;
   let oldCurrentSet = navbar.currentSet;
   ok(!navbar.hasAttribute("overflowing"), "Should start with a non-overflowing toolbar.");
   ok(CustomizableUI.inDefaultState, "Should start in default state.");
   let oldChildCount = navbar.customizationTarget.childElementCount;
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
   ok(navbar.hasAttribute("overflowing"), "Should have an overflowing toolbar.");
   is(navbar.currentSet, oldCurrentSet, "Currentset should be the same when overflowing.");
   ok(CustomizableUI.inDefaultState, "Should still be in default state when overflowing.");
   ok(navbar.customizationTarget.childElementCount < oldChildCount, "Should have fewer children.");
   window.resizeTo(originalWindowWidth, window.outerHeight);
   await waitForCondition(() => !navbar.hasAttribute("overflowing"));
   ok(!navbar.hasAttribute("overflowing"), "Should no longer have an overflowing toolbar.");
--- a/browser/components/customizableui/test/browser_914138_widget_API_overflowable_toolbar.js
+++ b/browser/components/customizableui/test/browser_914138_widget_API_overflowable_toolbar.js
@@ -18,17 +18,17 @@ var originalWindowWidth;
 
 // Adding a widget should add it next to the widget it's being inserted next to.
 add_task(async function() {
   originalWindowWidth = window.outerWidth;
   createDummyXULButton(kTestBtn1, "Test");
   ok(!navbar.hasAttribute("overflowing"), "Should start with a non-overflowing toolbar.");
   ok(CustomizableUI.inDefaultState, "Should start in default state.");
 
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
   ok(navbar.hasAttribute("overflowing"), "Should have an overflowing toolbar.");
   ok(!navbar.querySelector("#" + kSidebarBtn), "Sidebar button should no longer be in the navbar");
   let sidebarBtnNode = overflowList.querySelector("#" + kSidebarBtn);
   ok(sidebarBtnNode, "Sidebar button should be overflowing");
   ok(sidebarBtnNode && sidebarBtnNode.getAttribute("overflowedItem") == "true", "Sidebar button should have overflowedItem attribute");
 
   let placementOfSidebarButton = CustomizableUI.getWidgetIdsInArea(navbar.id).indexOf(kSidebarBtn);
@@ -60,17 +60,17 @@ add_task(async function() {
 // Removing a widget should remove it from the overflow list if that is where it is, and update it accordingly.
 add_task(async function() {
   createDummyXULButton(kTestBtn2, "Test");
   ok(!navbar.hasAttribute("overflowing"), "Should start with a non-overflowing toolbar.");
   ok(CustomizableUI.inDefaultState, "Should start in default state.");
   CustomizableUI.addWidgetToArea(kTestBtn2, navbar.id);
   ok(!navbar.hasAttribute("overflowing"), "Should still have a non-overflowing toolbar.");
 
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
   ok(navbar.hasAttribute("overflowing"), "Should have an overflowing toolbar.");
   ok(!navbar.querySelector("#" + kTestBtn2), "Test button should not be in the navbar");
   ok(overflowList.querySelector("#" + kTestBtn2), "Test button should be overflowing");
 
   CustomizableUI.removeWidgetFromArea(kTestBtn2);
 
   ok(!overflowList.querySelector("#" + kTestBtn2), "Test button should not be overflowing.");
@@ -89,17 +89,17 @@ add_task(async function() {
 });
 
 // Constructing a widget while overflown should set the right class on it.
 add_task(async function() {
   originalWindowWidth = window.outerWidth;
   ok(!navbar.hasAttribute("overflowing"), "Should start with a non-overflowing toolbar.");
   ok(CustomizableUI.inDefaultState, "Should start in default state.");
 
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
   ok(navbar.hasAttribute("overflowing"), "Should have an overflowing toolbar.");
   ok(!navbar.querySelector("#" + kSidebarBtn), "Sidebar button should no longer be in the navbar");
   let sidebarBtnNode = overflowList.querySelector("#" + kSidebarBtn);
   ok(sidebarBtnNode, "Sidebar button should be overflowing");
   ok(sidebarBtnNode && sidebarBtnNode.getAttribute("overflowedItem") == "true", "Sidebar button should have overflowedItem class");
 
   let testBtnSpec = {id: kTestBtn3, label: "Overflowable widget test", defaultArea: "nav-bar"};
--- a/browser/components/customizableui/test/browser_923857_customize_mode_event_wrapping_during_reset.js
+++ b/browser/components/customizableui/test/browser_923857_customize_mode_event_wrapping_during_reset.js
@@ -4,21 +4,21 @@
 
 "use strict";
 
 // Customize mode reset button should revert correctly
 add_task(async function() {
   await startCustomizing();
   let devButton = document.getElementById("developer-button");
   let downloadsButton = document.getElementById("downloads-button");
-  let searchBox = document.getElementById("search-container");
+  let homeButton = document.getElementById("home-button");
   let palette = document.getElementById("customization-palette");
-  ok(devButton && downloadsButton && searchBox && palette, "Stuff should exist");
+  ok(devButton && downloadsButton && homeButton && palette, "Stuff should exist");
   simulateItemDrag(devButton, downloadsButton);
-  simulateItemDrag(searchBox, palette);
+  simulateItemDrag(homeButton, palette);
   await gCustomizeMode.reset();
   ok(CustomizableUI.inDefaultState, "Should be back in default state");
   await endCustomizing();
 });
 
 add_task(async function asyncCleanup() {
   await resetCustomization();
 });
--- a/browser/components/customizableui/test/browser_940307_panel_click_closure_handling.js
+++ b/browser/components/customizableui/test/browser_940307_panel_click_closure_handling.js
@@ -64,24 +64,24 @@ add_task(async function menu_button_popu
   EventUtils.synthesizeMouseAtCenter(menuItem, {});
   await menuHidden;
   await hiddenAgain;
   CustomizableUI.removeWidgetFromArea(menuButton.id);
   menuButton.remove();
 });
 
 add_task(async function searchbar_in_panel() {
-  let searchbar = document.getElementById("searchbar");
-  gCustomizeMode.addToPanel(searchbar);
-  let placement = CustomizableUI.getPlacementOfWidget("search-container");
-  is(placement.area, CustomizableUI.AREA_FIXED_OVERFLOW_PANEL, "Should be in panel");
+  CustomizableUI.addWidgetToArea("search-container",
+                                 CustomizableUI.AREA_FIXED_OVERFLOW_PANEL);
 
   await waitForOverflowButtonShown();
 
   await document.getElementById("nav-bar").overflowable.show();
+
+  let searchbar = document.getElementById("searchbar");
   await waitForCondition(() => "value" in searchbar && searchbar.value === "");
 
   // Focusing a non-empty searchbox will cause us to open the
   // autocomplete panel and search for suggestions, which would
   // trigger network requests. Temporarily disable suggestions.
   await SpecialPowers.pushPrefEnv({set: [["browser.search.suggest.enabled", false]]});
 
   searchbar.value = "foo";
--- a/browser/components/customizableui/test/browser_962069_drag_to_overflow_chevron.js
+++ b/browser/components/customizableui/test/browser_962069_drag_to_overflow_chevron.js
@@ -7,17 +7,17 @@
 var originalWindowWidth;
 
 // Drag to overflow chevron should open the overflow panel.
 add_task(async function() {
   originalWindowWidth = window.outerWidth;
   let navbar = document.getElementById(CustomizableUI.AREA_NAVBAR);
   ok(!navbar.hasAttribute("overflowing"), "Should start with a non-overflowing toolbar.");
   ok(CustomizableUI.inDefaultState, "Should start in default state.");
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
   ok(navbar.hasAttribute("overflowing"), "Should have an overflowing toolbar.");
 
   let widgetOverflowPanel = document.getElementById("widget-overflow");
   let panelShownPromise = promisePanelElementShown(window, widgetOverflowPanel);
   let identityBox = document.getElementById("identity-box");
   let overflowChevron = document.getElementById("nav-bar-overflow-button");
 
--- a/browser/components/customizableui/test/browser_976792_insertNodeInWindow.js
+++ b/browser/components/customizableui/test/browser_976792_insertNodeInWindow.js
@@ -62,17 +62,17 @@ add_task(async function() {
     CustomizableUI.addWidgetToArea(id, "nav-bar");
   }
 
   for (let id of widgetIds) {
     document.getElementById(id).style.minWidth = "200px";
   }
 
   let originalWindowWidth = window.outerWidth;
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
 
   let testWidgetId = kTestWidgetPrefix + 3;
 
   CustomizableUI.destroyWidget(testWidgetId);
 
   let btn = createDummyXULButton(testWidgetId, "test");
   CustomizableUI.ensureWidgetPlacedInWindow(testWidgetId, window);
@@ -111,17 +111,17 @@ add_task(async function() {
     CustomizableUI.addWidgetToArea(id, "nav-bar");
   }
 
   for (let id of widgetIds) {
     document.getElementById(id).style.minWidth = "200px";
   }
 
   let originalWindowWidth = window.outerWidth;
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
 
   let testWidgetId = kTestWidgetPrefix + 3;
 
   CustomizableUI.destroyWidget(kTestWidgetPrefix + 2);
   CustomizableUI.destroyWidget(testWidgetId);
 
   let btn = createDummyXULButton(testWidgetId, "test");
@@ -161,17 +161,17 @@ add_task(async function() {
     CustomizableUI.addWidgetToArea(id, "nav-bar");
   }
 
   for (let id of widgetIds) {
     document.getElementById(id).style.minWidth = "200px";
   }
 
   let originalWindowWidth = window.outerWidth;
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
 
   let testWidgetId = kTestWidgetPrefix + 3;
 
   CustomizableUI.destroyWidget(kTestWidgetPrefix + 2);
   CustomizableUI.destroyWidget(testWidgetId);
   CustomizableUI.destroyWidget(kTestWidgetPrefix + 4);
 
@@ -220,17 +220,17 @@ add_task(async function() {
     CustomizableUI.addWidgetToArea(id, "nav-bar");
   }
 
   for (let id of widgetIds) {
     document.getElementById(id).style.minWidth = "200px";
   }
 
   let originalWindowWidth = window.outerWidth;
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
 
   // Find last widget that doesn't allow overflowing
   let nonOverflowing = navbar.customizationTarget.lastChild;
   is(nonOverflowing.getAttribute("overflows"), "false", "Last child is expected to not allow overflowing");
   isnot(nonOverflowing.getAttribute("skipintoolbarset"), "true", "Last child is expected to not be skipintoolbarset");
 
   let testWidgetId = kTestWidgetPrefix + 10;
@@ -281,17 +281,17 @@ add_task(async function() {
     }
   }
 
   let toolbarNode = createOverflowableToolbarWithPlacements(kToolbarName, widgetIds);
   assertAreaPlacements(kToolbarName, widgetIds);
   ok(!toolbarNode.hasAttribute("overflowing"), "Toolbar shouldn't overflow to start with.");
 
   let originalWindowWidth = window.outerWidth;
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => toolbarNode.hasAttribute("overflowing"));
   ok(toolbarNode.hasAttribute("overflowing"), "Should have an overflowing toolbar.");
 
   let btnId = kTestWidgetPrefix + missingId;
   let btn = createDummyXULButton(btnId, "test");
   CustomizableUI.ensureWidgetPlacedInWindow(btnId, window);
 
   is(btn.parentNode.id, kToolbarName + "-overflow-list", "New XUL widget should be placed inside new toolbar's overflow");
@@ -332,17 +332,17 @@ add_task(async function() {
     }
   }
 
   let toolbarNode = createOverflowableToolbarWithPlacements(kToolbarName, widgetIds);
   assertAreaPlacements(kToolbarName, widgetIds);
   ok(!toolbarNode.hasAttribute("overflowing"), "Toolbar shouldn't overflow to start with.");
 
   let originalWindowWidth = window.outerWidth;
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => toolbarNode.hasAttribute("overflowing"));
   ok(toolbarNode.hasAttribute("overflowing"), "Should have an overflowing toolbar.");
 
   let btnId = kTestWidgetPrefix + missingId;
   let btn = createDummyXULButton(btnId, "test");
   CustomizableUI.ensureWidgetPlacedInWindow(btnId, window);
 
   is(btn.parentNode.id, kToolbarName + "-target", "New XUL widget should be placed inside new toolbar");
@@ -381,17 +381,17 @@ add_task(async function() {
     }
   }
 
   let toolbarNode = createOverflowableToolbarWithPlacements(kToolbarName, widgetIds);
   assertAreaPlacements(kToolbarName, widgetIds);
   ok(!toolbarNode.hasAttribute("overflowing"), "Toolbar shouldn't overflow to start with.");
 
   let originalWindowWidth = window.outerWidth;
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => toolbarNode.hasAttribute("overflowing"));
   ok(toolbarNode.hasAttribute("overflowing"), "Should have an overflowing toolbar.");
 
   let btnId = kTestWidgetPrefix + missingId;
   let btn = createDummyXULButton(btnId, "test");
   btn.setAttribute("overflows", false);
   CustomizableUI.ensureWidgetPlacedInWindow(btnId, window);
 
--- a/browser/components/customizableui/test/browser_980155_add_overflow_toolbar.js
+++ b/browser/components/customizableui/test/browser_980155_add_overflow_toolbar.js
@@ -30,17 +30,17 @@ add_task(async function addOverflowingTo
   isnot(toolbarNode.customizationTarget, toolbarNode, "Customization target should not be toolbar node");
 
   let oldChildCount = toolbarNode.customizationTarget.childElementCount;
   let overflowableList = document.getElementById(kToolbarName + "-overflow-list");
   let oldOverflowCount = overflowableList.childElementCount;
 
   isnot(oldChildCount, 0, "Toolbar should have non-overflowing widgets");
 
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => toolbarNode.hasAttribute("overflowing"));
   ok(toolbarNode.hasAttribute("overflowing"), "Should have an overflowing toolbar.");
   ok(toolbarNode.customizationTarget.childElementCount < oldChildCount, "Should have fewer children.");
   ok(overflowableList.childElementCount > oldOverflowCount, "Should have more overflowed widgets.");
 
   window.resizeTo(originalWindowWidth, window.outerHeight);
 });
 
--- a/browser/components/customizableui/test/browser_984455_bookmarks_items_reparenting.js
+++ b/browser/components/customizableui/test/browser_984455_bookmarks_items_reparenting.js
@@ -5,17 +5,16 @@
 "use strict";
 
 var gNavBar = document.getElementById(CustomizableUI.AREA_NAVBAR);
 var gOverflowList = document.getElementById(gNavBar.getAttribute("overflowtarget"));
 
 const kBookmarksButton = "bookmarks-menu-button";
 const kBookmarksItems = "personal-bookmarks";
 const kOriginalWindowWidth = window.outerWidth;
-const kSmallWidth = 400;
 
 /**
  * Helper function that opens the bookmarks menu, and returns a Promise that
  * resolves as soon as the menu is ready for interaction.
  */
 function bookmarksMenuPanelShown() {
   return new Promise(resolve => {
     let bookmarksMenuPopup = document.getElementById("BMB_bookmarksPopup");
@@ -136,17 +135,17 @@ function checkBookmarksItemsChevronConte
 
 /**
  * Forces the window to a width that causes the nav-bar to overflow
  * its contents. Returns a Promise that resolves as soon as the
  * overflowable nav-bar is showing its chevron.
  */
 function overflowEverything() {
   info("Waiting for overflow");
-  window.resizeTo(kSmallWidth, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   return waitForCondition(() => gNavBar.hasAttribute("overflowing"));
 }
 
 /**
  * Returns the window to its original size from the start of the test,
  * and returns a Promise that resolves when the nav-bar is no longer
  * overflowing.
  */
--- a/browser/components/customizableui/test/browser_customization_context_menus.js
+++ b/browser/components/customizableui/test/browser_customization_context_menus.js
@@ -140,16 +140,21 @@ add_task(async function urlbar_context()
   let hiddenPromise = popupHidden(contextMenu);
   contextMenu.hidePopup();
   await hiddenPromise;
 });
 
 // Right-click on the searchbar and moving it to the menu
 // and back should move the search-container instead.
 add_task(async function searchbar_context_move_to_panel_and_back() {
+  // This is specifically testing the addToPanel function for the search bar, so
+  // we have to move it to its correct position in the navigation toolbar first.
+  // The preference will be restored when the customizations are reset later.
+  Services.prefs.setBoolPref("browser.search.widget.inNavBar", true);
+
   let searchbar = document.getElementById("searchbar");
   gCustomizeMode.addToPanel(searchbar);
   let placement = CustomizableUI.getPlacementOfWidget("search-container");
   is(placement.area, CustomizableUI.AREA_FIXED_OVERFLOW_PANEL, "Should be in panel");
 
   await waitForOverflowButtonShown();
 
   let shownPanelPromise = popupShown(overflowPanel);
@@ -162,17 +167,17 @@ add_task(async function searchbar_contex
   gCustomizeMode.addToToolbar(searchbar);
   placement = CustomizableUI.getPlacementOfWidget("search-container");
   is(placement.area, CustomizableUI.AREA_NAVBAR, "Should be in navbar");
   gCustomizeMode.removeFromArea(searchbar);
   placement = CustomizableUI.getPlacementOfWidget("search-container");
   is(placement, null, "Should be in palette");
   CustomizableUI.reset();
   placement = CustomizableUI.getPlacementOfWidget("search-container");
-  is(placement.area, CustomizableUI.AREA_NAVBAR, "Should be in navbar");
+  is(placement, null, "Should be in palette");
 });
 
 // Right-click on an item within the panel should
 // show a context menu with options to move it.
 add_task(async function context_within_panel() {
   CustomizableUI.addWidgetToArea("new-window-button", CustomizableUI.AREA_FIXED_OVERFLOW_PANEL);
 
   await waitForOverflowButtonShown();
--- a/browser/components/customizableui/test/browser_editcontrols_update.js
+++ b/browser/components/customizableui/test/browser_editcontrols_update.js
@@ -123,17 +123,17 @@ add_task(async function test_panelui_cus
   let originalWidth = window.outerWidth;
   registerCleanupFunction(async function() {
     kOverflowPanel.removeAttribute("animate");
     window.resizeTo(originalWidth, window.outerHeight);
     await waitForCondition(() => !navbar.hasAttribute("overflowing"));
     CustomizableUI.reset();
   });
 
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
 
   // Mac will update the enabled state even when the buttons are overflowing,
   // so main menubar shortcuts will work properly.
   overridePromise = expectCommandUpdate(isMac ? 1 : 0);
   gURLBar.select();
   await overridePromise;
   checkState(true, "Update when edit-controls is on overflow panel, hidden and selection changed");
--- a/browser/components/customizableui/test/browser_overflow_use_subviews.js
+++ b/browser/components/customizableui/test/browser_overflow_use_subviews.js
@@ -18,17 +18,17 @@ registerCleanupFunction(async function()
 add_task(async function check_developer_subview_in_overflow() {
   kOverflowPanel.setAttribute("animate", "false");
   gOriginalWidth = window.outerWidth;
 
   CustomizableUI.addWidgetToArea("developer-button", CustomizableUI.AREA_NAVBAR);
 
   let navbar = document.getElementById(CustomizableUI.AREA_NAVBAR);
   ok(!navbar.hasAttribute("overflowing"), "Should start with a non-overflowing toolbar.");
-  window.resizeTo(400, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
 
   await waitForCondition(() => navbar.hasAttribute("overflowing"));
 
   let chevron = document.getElementById("nav-bar-overflow-button");
   let shownPanelPromise = promisePanelElementShown(window, kOverflowPanel);
   chevron.click();
   await shownPanelPromise;
 
--- a/browser/components/customizableui/test/head.js
+++ b/browser/components/customizableui/test/head.js
@@ -22,16 +22,18 @@ registerCleanupFunction(() => Services.p
 CustomizableUI.destroyWidget("e10s-button");
 CustomizableUI.removeWidgetFromArea("e10s-button");
 
 var {synthesizeDragStart, synthesizeDrop} = EventUtils;
 
 const kNSXUL = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
 const kTabEventFailureTimeoutInMs = 20000;
 
+const kForceOverflowWidthPx = 300;
+
 function createDummyXULButton(id, label, win = window) {
   let btn = document.createElementNS(kNSXUL, "toolbarbutton");
   btn.id = id;
   btn.setAttribute("label", label || id);
   btn.className = "toolbarbutton-1 chromeclass-toolbar-additional";
   win.gNavToolbox.palette.appendChild(btn);
   return btn;
 }
--- a/browser/components/downloads/test/browser/browser_overflow_anchor.js
+++ b/browser/components/downloads/test/browser/browser_overflow_anchor.js
@@ -1,11 +1,14 @@
 /* Any copyright is dedicated to the Public Domain.
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
+// This is the same value used by CustomizableUI tests.
+const kForceOverflowWidthPx = 200;
+
 registerCleanupFunction(async function() {
   // Clean up when the test finishes.
   await task_resetState();
 });
 
 /**
  * Make sure the downloads button and indicator overflows into the nav-bar
  * chevron properly, and then when those buttons are clicked in the overflow
@@ -19,30 +22,28 @@ add_task(async function test_overflow_an
   // this test finishes.
   let oldWidth = window.outerWidth;
 
   // The downloads button should not be overflowed to begin with.
   let button = CustomizableUI.getWidget("downloads-button")
                              .forWindow(window);
   ok(!button.overflowed, "Downloads button should not be overflowed.");
 
-  // Hack - we lock the size of the default flex-y items in the nav-bar,
-  // namely, the URL and search inputs. That way we can resize the
-  // window without worrying about them flexing.
-  const kFlexyItems = ["urlbar-container", "search-container"];
+  // Hack - we lock the size of the default flex-y items in the nav-bar, namely,
+  // the URL input. That way we can resize the window without worrying about it
+  // flexing.
+  const kFlexyItems = ["urlbar-container"];
   registerCleanupFunction(() => unlockWidth(kFlexyItems));
   lockWidth(kFlexyItems);
 
-  // Resize the window to half of its original size. That should
-  // be enough to overflow the downloads button.
-  window.resizeTo(oldWidth / 2, window.outerHeight);
+  window.resizeTo(kForceOverflowWidthPx, window.outerHeight);
   await waitForOverflowed(button, true);
 
   let promise = promisePanelOpened();
-  button.node.doCommand();
+  button.node.dispatchEvent(new Event("mousedown"));
   await promise;
 
   let panel = DownloadsPanel.panel;
   let chevron = document.getElementById("nav-bar-overflow-button");
   is(panel.anchorNode, chevron, "Panel should be anchored to the chevron.");
 
   DownloadsPanel.hidePanel();
 
@@ -52,17 +53,17 @@ add_task(async function test_overflow_an
   // Put the window back to its original dimensions.
   window.resizeTo(oldWidth, window.outerHeight);
 
   // The downloads button should eventually be un-overflowed.
   await waitForOverflowed(button, false);
 
   // Now try opening the panel again.
   promise = promisePanelOpened();
-  button.node.doCommand();
+  button.node.dispatchEvent(new Event("mousedown"));
   await promise;
 
   is(panel.anchorNode.id, "downloads-indicator-anchor");
 
   DownloadsPanel.hidePanel();
 });
 
 /**
--- a/browser/components/search/content/search.xml
+++ b/browser/components/search/content/search.xml
@@ -544,17 +544,17 @@
 
       <handler event="mousedown" phase="capturing">
       <![CDATA[
         if (event.originalTarget.getAttribute("anonid") == "searchbar-search-button") {
           this._clickClosedPopup = this._textbox.popup._isHiding;
         }
       ]]></handler>
 
-      <handler event="click" button="0">
+      <handler event="mousedown" button="0">
       <![CDATA[
         // Ignore clicks on the search go button.
         if (event.originalTarget.getAttribute("anonid") == "search-go-button") {
           return;
         }
 
         let isIconClick = event.originalTarget.getAttribute("anonid") == "searchbar-search-button";
 
--- a/browser/components/search/test/browser_426329.js
+++ b/browser/components/search/test/browser_426329.js
@@ -126,16 +126,22 @@ async function prepareTest() {
     return;
 
   let focusPromise = BrowserTestUtils.waitForEvent(searchBar, "focus");
   gURLBar.focus();
   searchBar.focus();
   await focusPromise;
 }
 
+add_task(async function testSetup() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+});
+
 add_task(async function testSetupEngine() {
   await promiseSetEngine();
 });
 
 add_task(async function testReturn() {
   await prepareTest();
   EventUtils.synthesizeKey("VK_RETURN", {});
   await BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
--- a/browser/components/search/test/browser_google_behavior.js
+++ b/browser/components/search/test/browser_google_behavior.js
@@ -118,23 +118,25 @@ async function testSearchEngine(engineDe
         gURLBar.focus();
         EventUtils.synthesizeKey("VK_RETURN", {});
       }
     },
     {
       name: "search bar search",
       searchURL: base + engineDetails.codes.submission,
       run() {
+        Services.prefs.setBoolPref("browser.search.widget.inNavBar", true);
         let sb = BrowserSearch.searchBar;
         sb.focus();
         sb.value = "foo";
-        registerCleanupFunction(function() {
-          sb.value = "";
-        });
         EventUtils.synthesizeKey("VK_RETURN", {});
+      },
+      postTest() {
+        BrowserSearch.searchBar.value = "";
+        Services.prefs.setBoolPref("browser.search.widget.inNavBar", false);
       }
     },
     {
       name: "new tab search",
       searchURL: base + engineDetails.codes.newTab,
       async preTest(tab) {
         let browser = tab.linkedBrowser
         await BrowserTestUtils.loadURI(browser, "about:newtab");
@@ -164,13 +166,17 @@ async function testSearchEngine(engineDe
 
     let stateChangePromise = promiseStateChangeURI();
 
     await test.run(tab);
 
     let receivedURI = await stateChangePromise;
 
     Assert.equal(receivedURI, test.searchURL);
+
+    if (test.postTest) {
+      await test.postTest(tab);
+    }
   }
 
   engine.alias = undefined;
   await BrowserTestUtils.removeTab(tab);
 }
--- a/browser/components/search/test/browser_google_codes.js
+++ b/browser/components/search/test/browser_google_codes.js
@@ -115,16 +115,22 @@ add_task(async function preparation() {
     waitForSearchNotification("write-cache-to-disk-complete", resolve);
   });
 });
 
 add_task(async function tests() {
   let engine = Services.search.getEngineByName("Google");
   ok(engine, "Google");
 
+  // Show the search bar after initializing the search service, to avoid the
+  // synchronous initialization to interfere.
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
   let base = "https://www.google.com/search?q=foo&ie=utf-8&oe=utf-8&client=firefox-b";
 
   // Keyword uses a slightly different code
   let keywordBase = base + "-ab";
 
   let url;
 
   // Test search URLs (including purposes).
--- a/browser/components/search/test/browser_google_nocodes.js
+++ b/browser/components/search/test/browser_google_nocodes.js
@@ -115,16 +115,22 @@ add_task(async function preparation() {
     waitForSearchNotification("write-cache-to-disk-complete", resolve);
   });
 });
 
 add_task(async function tests() {
   let engine = Services.search.getEngineByName("Google");
   ok(engine, "Google");
 
+  // Show the search bar after initializing the search service, to avoid the
+  // synchronous initialization to interfere.
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
   let base = "https://www.google.com/search?q=foo&ie=utf-8&oe=utf-8";
 
   let url;
 
   // Test search URLs (including purposes).
   url = engine.getSubmission("foo", null, "contextmenu").uri.spec;
   is(url, base, "Check context menu search URL for 'foo'");
   url = engine.getSubmission("foo", null, "keyword").uri.spec;
--- a/browser/components/search/test/browser_healthreport.js
+++ b/browser/components/search/test/browser_healthreport.js
@@ -4,17 +4,19 @@
 "use strict";
 
 var Preferences = Cu.import("resource://gre/modules/Preferences.jsm", {}).Preferences;
 
 function test() {
   waitForExplicitFinish();
   resetPreferences();
 
+  let calledTestTelemetry = false;
   function testTelemetry() {
+    calledTestTelemetry = true;
     // Find the right bucket for the "Foo" engine.
     let engine = Services.search.getEngineByName("Foo");
     let histogramKey = (engine.identifier || "other-Foo") + ".searchbar";
     let numSearchesBefore = 0;
     try {
       let hs = Services.telemetry.getKeyedHistogramById("SEARCH_COUNTS").snapshot();
       if (histogramKey in hs) {
         numSearchesBefore = hs[histogramKey].sum;
@@ -53,29 +55,35 @@ function test() {
     switch (data) {
       case "engine-added":
         let engine = Services.search.getEngineByName("Foo");
         ok(engine, "Engine was added.");
         Services.search.currentEngine = engine;
         break;
 
       case "engine-current":
-        is(Services.search.currentEngine.name, "Foo", "Current engine is Foo");
-        testTelemetry();
+        // We may be called again when resetting the engine at the end.
+        if (!calledTestTelemetry) {
+          is(Services.search.currentEngine.name, "Foo", "Current engine is Foo");
+          testTelemetry();
+        }
         break;
 
       case "engine-removed":
         Services.obs.removeObserver(observer, "browser-search-engine-modified");
         finish();
         break;
     }
   }
 
   Services.obs.addObserver(observer, "browser-search-engine-modified");
-  SpecialPowers.pushPrefEnv({set: [["toolkit.telemetry.enabled", true]]}).then(function() {
+  SpecialPowers.pushPrefEnv({set: [
+    ["toolkit.telemetry.enabled", true],
+    ["browser.search.widget.inNavBar", true],
+  ]}).then(function() {
     Services.search.addEngine("http://mochi.test:8888/browser/browser/components/search/test/testEngine.xml",
                               null, "data:image/x-icon,%00", false);
   });
 }
 
 function resetPreferences() {
   Preferences.resetBranch("datareporting.policy.");
   Preferences.set("datareporting.policy.dataSubmissionPolicyBypassNotification", true);
--- a/browser/components/search/test/browser_hiddenOneOffs_diacritics.js
+++ b/browser/components/search/test/browser_hiddenOneOffs_diacritics.js
@@ -1,25 +1,33 @@
 /* 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/. */
 // Tests that keyboard navigation in the search panel works as designed.
 
-const searchbar = document.getElementById("searchbar");
-const textbox = searchbar._textbox;
 const searchPopup = document.getElementById("PopupSearchAutoComplete");
-const searchIcon = document.getAnonymousElementByAttribute(searchbar, "anonid",
-                                                           "searchbar-search-button");
 
 const diacritic_engine = "Foo \u2661";
 
 var Preferences =
   Cu.import("resource://gre/modules/Preferences.jsm", {}).Preferences;
 
+let searchbar;
+let searchIcon;
+
 add_task(async function init() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
+  searchbar = document.getElementById("searchbar");
+  searchIcon = document.getAnonymousElementByAttribute(
+    searchbar, "anonid", "searchbar-search-button"
+  );
+
   let currentEngine = Services.search.currentEngine;
   await promiseNewEngine("testEngine_diacritics.xml", {setAsCurrent: false});
   registerCleanupFunction(() => {
     Services.search.currentEngine = currentEngine;
     Services.prefs.clearUserPref("browser.search.hiddenOneOffs");
   });
 });
 
--- a/browser/components/search/test/browser_oneOffContextMenu.js
+++ b/browser/components/search/test/browser_oneOffContextMenu.js
@@ -1,32 +1,40 @@
 "use strict";
 
 const TEST_ENGINE_NAME = "Foo";
 const TEST_ENGINE_BASENAME = "testEngine.xml";
 
-const searchbar = document.getElementById("searchbar");
 const searchPopup = document.getElementById("PopupSearchAutoComplete");
-const searchIcon = document.getAnonymousElementByAttribute(
-  searchbar, "anonid", "searchbar-search-button"
-);
 const oneOffBinding = document.getAnonymousElementByAttribute(
   searchPopup, "anonid", "search-one-off-buttons"
 );
 const contextMenu = document.getAnonymousElementByAttribute(
   oneOffBinding, "anonid", "search-one-offs-context-menu"
 );
 const oneOffButtons = document.getAnonymousElementByAttribute(
   oneOffBinding, "anonid", "search-panel-one-offs"
 );
 const searchInNewTabMenuItem = document.getAnonymousElementByAttribute(
   oneOffBinding, "anonid", "search-one-offs-context-open-in-new-tab"
 );
 
+let searchbar;
+let searchIcon;
+
 add_task(async function init() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
+  searchbar = document.getElementById("searchbar");
+  searchIcon = document.getAnonymousElementByAttribute(
+    searchbar, "anonid", "searchbar-search-button"
+  );
+
   await promiseNewEngine(TEST_ENGINE_BASENAME, {
     setAsCurrent: false,
   });
 });
 
 add_task(async function extendedTelemetryDisabled() {
   await SpecialPowers.pushPrefEnv({set: [["toolkit.telemetry.enabled", false]]});
   await doTest();
--- a/browser/components/search/test/browser_oneOffContextMenu_setDefault.js
+++ b/browser/components/search/test/browser_oneOffContextMenu_setDefault.js
@@ -1,39 +1,47 @@
 "use strict";
 
 const TEST_ENGINE_NAME = "Foo";
 const TEST_ENGINE_BASENAME = "testEngine.xml";
 const SEARCHBAR_BASE_ID = "searchbar-engine-one-off-item-";
 const URLBAR_BASE_ID = "urlbar-engine-one-off-item-";
 const ONEOFF_URLBAR_PREF = "browser.urlbar.oneOffSearches";
 
-const searchbar = document.getElementById("searchbar");
 const urlbar = document.getElementById("urlbar");
 const searchPopup = document.getElementById("PopupSearchAutoComplete");
 const urlbarPopup = document.getElementById("PopupAutoCompleteRichResult");
-const searchIcon = document.getAnonymousElementByAttribute(
-  searchbar, "anonid", "searchbar-search-button"
-);
 const searchOneOffBinding = document.getAnonymousElementByAttribute(
   searchPopup, "anonid", "search-one-off-buttons"
 );
 const urlBarOneOffBinding = document.getAnonymousElementByAttribute(
   urlbarPopup, "anonid", "one-off-search-buttons"
 );
 
 let originalEngine = Services.search.currentEngine;
 
 function resetEngine() {
   Services.search.currentEngine = originalEngine;
 }
 
 registerCleanupFunction(resetEngine);
 
+let searchbar;
+let searchIcon;
+
 add_task(async function init() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
+  searchbar = document.getElementById("searchbar");
+  searchIcon = document.getAnonymousElementByAttribute(
+    searchbar, "anonid", "searchbar-search-button"
+  );
+
   await promiseNewEngine(TEST_ENGINE_BASENAME, {
     setAsCurrent: false,
   });
 });
 
 add_task(async function test_searchBarChangeEngine() {
   let oneOffButton = await openPopupAndGetEngineButton(true, searchPopup,
                                                        searchOneOffBinding,
--- a/browser/components/search/test/browser_oneOffHeader.js
+++ b/browser/components/search/test/browser_oneOffHeader.js
@@ -1,20 +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/. */
 // Tests that keyboard navigation in the search panel works as designed.
 
 const isMac = ("nsILocalFileMac" in Ci);
 
-const searchbar = document.getElementById("searchbar");
-const textbox = searchbar._textbox;
 const searchPopup = document.getElementById("PopupSearchAutoComplete");
-const searchIcon = document.getAnonymousElementByAttribute(searchbar, "anonid",
-                                                           "searchbar-search-button");
 
 const oneOffsContainer =
   document.getAnonymousElementByAttribute(searchPopup, "anonid",
                                           "search-one-off-buttons");
 const searchSettings =
   document.getAnonymousElementByAttribute(oneOffsContainer, "anonid",
                                           "search-settings");
 var header =
@@ -50,18 +46,29 @@ function synthesizeNativeMouseMove(aElem
     }
 
     aElement.addEventListener("mouseover", eventOccurred, true);
 
     utils.sendNativeMouseEvent(x * scale, y * scale, msg, 0, null);
   });
 }
 
+let searchbar;
+let searchIcon;
 
 add_task(async function init() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
+  searchbar = document.getElementById("searchbar");
+  searchIcon = document.getAnonymousElementByAttribute(
+    searchbar, "anonid", "searchbar-search-button"
+  );
+
   await promiseNewEngine("testEngine.xml");
 });
 
 add_task(async function test_notext() {
   let promise = promiseEvent(searchPopup, "popupshown");
   info("Opening search panel");
   EventUtils.synthesizeMouseAtCenter(searchIcon, {});
   await promise;
@@ -87,19 +94,19 @@ add_task(async function test_notext() {
 
   promise = promiseEvent(searchPopup, "popuphidden");
   info("Closing search panel");
   EventUtils.synthesizeKey("VK_ESCAPE", {});
   await promise;
 });
 
 add_task(async function test_text() {
-  textbox.value = "foo";
+  searchbar._textbox.value = "foo";
   registerCleanupFunction(() => {
-    textbox.value = "";
+    searchbar._textbox.value = "";
   });
 
   let promise = promiseEvent(searchPopup, "popupshown");
   info("Opening search panel");
   SimpleTest.executeSoon(() => {
     EventUtils.synthesizeMouseAtCenter(searchIcon, {});
   });
   await promise;
@@ -128,14 +135,15 @@ add_task(async function test_text() {
     document.getAnonymousElementByAttribute(searchPopup, "anonid",
                                             "searchbar-engine");
 
   await synthesizeNativeMouseMove(searchbarEngine);
   SimpleTest.executeSoon(() => {
     EventUtils.synthesizeMouseAtCenter(searchbarEngine, {});
   });
 
-  let url = Services.search.currentEngine.getSubmission(textbox.value).uri.spec;
+  let url = Services.search.currentEngine
+                           .getSubmission(searchbar._textbox.value).uri.spec;
   await promiseTabLoadEvent(gBrowser.selectedTab, url);
 
   // Move the cursor out of the panel area to avoid messing with other tests.
   await synthesizeNativeMouseMove(searchbar);
 });
--- a/browser/components/search/test/browser_private_search_perwindowpb.js
+++ b/browser/components/search/test/browser_private_search_perwindowpb.js
@@ -1,16 +1,16 @@
 // This test performs a search in a public window, then a different
 // search in a private window, and then checks in the public window
 // whether there is an autocomplete entry for the private search.
 
 add_task(async function() {
-  // Don't use about:home as the homepage for new windows
-  Services.prefs.setIntPref("browser.startup.page", 0);
-  registerCleanupFunction(() => Services.prefs.clearUserPref("browser.startup.page"));
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
 
   let windowsToClose = [];
 
   function performSearch(aWin, aIsPrivate) {
     let searchBar = aWin.BrowserSearch.searchBar;
     ok(searchBar, "got search bar");
 
     let loadPromise = BrowserTestUtils.browserLoaded(aWin.gBrowser.selectedBrowser);
--- a/browser/components/search/test/browser_searchEngine_behaviors.js
+++ b/browser/components/search/test/browser_searchEngine_behaviors.js
@@ -101,16 +101,22 @@ function promiseContentSearchReady(brows
           content.removeEventListener("ContentSearchService", listener);
           resolve();
         }
       });
     });
   });
 }
 
+add_task(async function() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+});
+
 for (let engine of SEARCH_ENGINE_DETAILS) {
   add_task(async function() {
     let previouslySelectedEngine = Services.search.currentEngine;
 
     registerCleanupFunction(function() {
       Services.search.currentEngine = previouslySelectedEngine;
     });
 
--- a/browser/components/search/test/browser_searchbar_keyboard_navigation.js
+++ b/browser/components/search/test/browser_searchbar_keyboard_navigation.js
@@ -1,12 +1,10 @@
 // Tests that keyboard navigation in the search panel works as designed.
 
-const searchbar = document.getElementById("searchbar");
-const textbox = searchbar._textbox;
 const searchPopup = document.getElementById("PopupSearchAutoComplete");
 const oneOffsContainer =
   document.getAnonymousElementByAttribute(searchPopup, "anonid",
                                           "search-one-off-buttons");
 
 const kValues = ["foo1", "foo2", "foo3"];
 const kUserValue = "foo";
 
@@ -17,17 +15,27 @@ function getOpenSearchItems() {
     document.getAnonymousElementByAttribute(oneOffsContainer, "anonid",
                                             "add-engines");
   for (let item = addEngineList.firstChild; item; item = item.nextSibling)
     os.push(item);
 
   return os;
 }
 
+let searchbar;
+let textbox;
+
 add_task(async function init() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
+  searchbar = document.getElementById("searchbar");
+  textbox = searchbar._textbox;
+
   await promiseNewEngine("testEngine.xml");
 
   // First cleanup the form history in case other tests left things there.
   await new Promise((resolve, reject) => {
     info("cleanup the search history");
     searchbar.FormHistory.update({op: "remove", fieldname: "searchbar-history"},
                                  {handleCompletion: resolve,
                                   handleError: reject});
--- a/browser/components/search/test/browser_searchbar_openpopup.js
+++ b/browser/components/search/test/browser_searchbar_openpopup.js
@@ -3,20 +3,16 @@
 
 // Instead of loading EventUtils.js into the test scope in browser-test.js for all tests,
 // we only need EventUtils.js for a few files which is why we are using loadSubScript.
 var EventUtils = {};
 this._scriptLoader = Cc["@mozilla.org/moz/jssubscript-loader;1"].
                      getService(Ci.mozIJSSubScriptLoader);
 this._scriptLoader.loadSubScript("chrome://mochikit/content/tests/SimpleTest/EventUtils.js", EventUtils);
 
-const searchbar = document.getElementById("searchbar");
-const searchIcon = document.getAnonymousElementByAttribute(searchbar, "anonid", "searchbar-search-button");
-const goButton = document.getAnonymousElementByAttribute(searchbar, "anonid", "search-go-button");
-const textbox = searchbar._textbox;
 const searchPopup = document.getElementById("PopupSearchAutoComplete");
 const kValues = ["long text", "long text 2", "long text 3"];
 
 const isWindows = Services.appinfo.OS == "WINNT";
 const mouseDown = isWindows ? 2 : 1;
 const mouseUp = isWindows ? 4 : 2;
 const utils = window.QueryInterface(Ci.nsIInterfaceRequestor)
                     .getInterface(Ci.nsIDOMWindowUtils);
@@ -57,17 +53,35 @@ async function startCustomizing(aWindow 
     return true;
   }
   await SpecialPowers.pushPrefEnv({set: [["browser.uiCustomization.disableAnimation", true]]});
   let eventPromise = BrowserTestUtils.waitForEvent(aWindow.gNavToolbox, "customizationready");
   aWindow.gCustomizeMode.enter();
   return eventPromise;
 }
 
+let searchbar;
+let textbox;
+let searchIcon;
+let goButton;
+
 add_task(async function init() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
+  searchbar = document.getElementById("searchbar");
+  textbox = searchbar._textbox;
+  searchIcon = document.getAnonymousElementByAttribute(
+    searchbar, "anonid", "searchbar-search-button"
+  );
+  goButton = document.getAnonymousElementByAttribute(
+    searchbar, "anonid", "search-go-button"
+  );
+
   await promiseNewEngine("testEngine.xml");
 
   // First cleanup the form history in case other tests left things there.
   await new Promise((resolve, reject) => {
     info("cleanup the search history");
     searchbar.FormHistory.update({op: "remove", fieldname: "searchbar-history"},
                                  {handleCompletion: resolve,
                                   handleError: reject});
--- a/browser/components/search/test/browser_searchbar_smallpanel_keyboard_navigation.js
+++ b/browser/components/search/test/browser_searchbar_smallpanel_keyboard_navigation.js
@@ -1,34 +1,44 @@
 // Tests that keyboard navigation in the search panel works as designed.
 
-const searchbar = document.getElementById("searchbar");
-const textbox = searchbar._textbox;
 const searchPopup = document.getElementById("PopupSearchAutoComplete");
 const oneOffsContainer =
   document.getAnonymousElementByAttribute(searchPopup, "anonid",
                                           "search-one-off-buttons");
-const searchIcon = document.getAnonymousElementByAttribute(searchbar, "anonid",
-                                                           "searchbar-search-button");
 
 const kValues = ["foo1", "foo2", "foo3"];
 
 function getOpenSearchItems() {
   let os = [];
 
   let addEngineList =
     document.getAnonymousElementByAttribute(oneOffsContainer, "anonid",
                                             "add-engines");
   for (let item = addEngineList.firstChild; item; item = item.nextSibling)
     os.push(item);
 
   return os;
 }
 
+let searchbar;
+let textbox;
+let searchIcon;
+
 add_task(async function init() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
+  searchbar = document.getElementById("searchbar");
+  textbox = searchbar._textbox;
+  searchIcon = document.getAnonymousElementByAttribute(
+    searchbar, "anonid", "searchbar-search-button"
+  );
+
   await promiseNewEngine("testEngine.xml");
 
   // First cleanup the form history in case other tests left things there.
   await new Promise((resolve, reject) => {
     info("cleanup the search history");
     searchbar.FormHistory.update({op: "remove", fieldname: "searchbar-history"},
                                  {handleCompletion: resolve,
                                   handleError: reject});
--- a/browser/components/search/test/browser_tooManyEnginesOffered.js
+++ b/browser/components/search/test/browser_tooManyEnginesOffered.js
@@ -1,21 +1,26 @@
 "use strict";
 
 // This test makes sure that when a page offers many search engines, the search
 // popup shows a submenu that lists them instead of showing them in the popup
 // itself.
 
-const searchbar = document.getElementById("searchbar");
 const searchPopup = document.getElementById("PopupSearchAutoComplete");
 const oneOffsContainer =
   document.getAnonymousElementByAttribute(searchPopup, "anonid",
                                           "search-one-off-buttons");
 
 add_task(async function test() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
+  let searchbar = document.getElementById("searchbar");
+
   let rootDir = getRootDirectory(gTestPath);
   let url = rootDir + "tooManyEnginesOffered.html";
   await BrowserTestUtils.openNewForegroundTab(gBrowser, url);
 
   // Open the search popup.
   let promise = promiseEvent(searchPopup, "popupshown");
   info("Opening search panel");
   searchbar.focus();
--- a/browser/components/search/test/browser_yahoo.js
+++ b/browser/components/search/test/browser_yahoo.js
@@ -4,17 +4,21 @@
 /*
  * Test Yahoo search plugin URLs
  */
 
 "use strict";
 
 const BROWSER_SEARCH_PREF = "browser.search.";
 
-function test() {
+add_task(async function test() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
   let engine = Services.search.getEngineByName("Yahoo");
   ok(engine, "Yahoo");
 
   let base = "https://search.yahoo.com/yhs/search?p=foo&ei=UTF-8&hspart=mozilla";
   let url;
 
   // Test search URLs (including purposes).
   url = engine.getSubmission("foo").uri.spec;
@@ -124,9 +128,9 @@ function test() {
           ],
           mozparams: {},
         },
       ],
     },
   };
 
   isSubObjectOf(EXPECTED_ENGINE, engine, "Yahoo");
-}
+});
--- a/browser/components/uitour/test/browser_UITour.js
+++ b/browser/components/uitour/test/browser_UITour.js
@@ -268,21 +268,28 @@ var tests = [
     await showInfoPromise("urlbar", "urlbar title", "urlbar text");
 
     is(popup.popupBoxObject.anchorNode, document.getElementById("urlbar"), "Popup should be anchored to the urlbar");
     is(title.textContent, "urlbar title", "Popup should have correct title");
     is(desc.textContent, "urlbar text", "Popup should have correct description text");
     is(icon.src, "", "Popup should have no icon");
     is(buttons.hasChildNodes(), false, "Popup should have no buttons");
 
+    // Place the search bar in the navigation toolbar temporarily.
+    await SpecialPowers.pushPrefEnv({ set: [
+      ["browser.search.widget.inNavBar", true],
+    ]});
+
     await showInfoPromise("search", "search title", "search text");
 
     is(popup.popupBoxObject.anchorNode, document.getElementById("searchbar"), "Popup should be anchored to the searchbar");
     is(title.textContent, "search title", "Popup should have correct title");
     is(desc.textContent, "search text", "Popup should have correct description text");
+
+    await SpecialPowers.popPrefEnv();
   }),
   function test_getConfigurationVersion(done) {
     function callback(result) {
       let props = ["defaultUpdateChannel", "version"];
       for (let property of props) {
         ok(typeof(result[property]) !== "undefined", "Check " + property + " isn't undefined.");
         is(result[property], Services.appinfo[property], "Should have the same " + property + " property.");
       }
--- a/browser/components/uitour/test/browser_UITour3.js
+++ b/browser/components/uitour/test/browser_UITour3.js
@@ -157,25 +157,39 @@ add_UITour_task(async function test_getC
       let data = await getConfigurationPromise("selectedSearchEngine");
       is(data.searchEngineIdentifier, engine.identifier, "Correct engine identifier");
       resolve();
     });
   });
 });
 
 add_UITour_task(async function test_setSearchTerm() {
+  // Place the search bar in the navigation toolbar temporarily.
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
   const TERM = "UITour Search Term";
   await gContentAPI.setSearchTerm(TERM);
 
   let searchbar = document.getElementById("searchbar");
   // The UITour gets to the searchbar element through a promise, so the value setting
   // only happens after a tick.
   await waitForConditionPromise(() => searchbar.value == TERM, "Correct term set");
+
+  await SpecialPowers.popPrefEnv();
 });
 
 add_UITour_task(async function test_clearSearchTerm() {
+  // Place the search bar in the navigation toolbar temporarily.
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
   await gContentAPI.setSearchTerm("");
 
   let searchbar = document.getElementById("searchbar");
   // The UITour gets to the searchbar element through a promise, so the value setting
   // only happens after a tick.
   await waitForConditionPromise(() => searchbar.value == "", "Search term cleared");
+
+  await SpecialPowers.popPrefEnv();
 });
--- a/browser/components/uitour/test/browser_UITour_availableTargets.js
+++ b/browser/components/uitour/test/browser_UITour_availableTargets.js
@@ -24,18 +24,16 @@ function getExpectedTargets() {
     "pageAction-bookmark",
     "pageAction-copyURL",
     "pageAction-emailLink",
     "pageAction-sendToDevice",
       ...(hasPocket ? ["pocket"] : []),
     "privateWindow",
       ...(hasQuit ? ["quit"] : []),
     "readerMode-urlBar",
-    "search",
-    "searchIcon",
     "trackingProtection",
     "urlbar",
   ];
 }
 
 add_task(setup_UITourTest);
 
 add_UITour_task(async function test_availableTargets() {
@@ -57,27 +55,26 @@ add_UITour_task(async function test_avai
 
   ok(UITour.availableTargetsCache.has(window),
      "Targets should now be cached again");
   CustomizableUI.reset();
   ok(!UITour.availableTargetsCache.has(window),
      "Targets should not be cached after reset");
 });
 
-add_UITour_task(async function test_availableTargets_exceptionFromGetTarget() {
-  // The query function for the "search" target will throw if it's not found.
-  // Make sure the callback still fires with the other available targets.
-  CustomizableUI.removeWidgetFromArea("search-container");
-  let data = await getConfigurationPromise("availableTargets");
-  let expecteds = getExpectedTargets();
-  // Default minus "search" and "searchIcon"
-  expecteds = expecteds.filter(target => target != "search" && target != "searchIcon");
-  ok_targets(data, expecteds);
-
-  CustomizableUI.reset();
+add_UITour_task(async function test_availableTargets_search() {
+  Services.prefs.setBoolPref("browser.search.widget.inNavBar", true);
+  try {
+    let data = await getConfigurationPromise("availableTargets");
+    let expecteds = getExpectedTargets();
+    expecteds = ["search", "searchIcon", ...expecteds];
+    ok_targets(data, expecteds);
+  } finally {
+    Services.prefs.clearUserPref("browser.search.widget.inNavBar");
+  }
 });
 
 add_UITour_task(async function test_availableTargets_removeUrlbarPageActionsAll() {
   pageActionsHelper.setActionsUrlbarState(false);
   UITour.clearAvailableTargetsCache();
   let data = await getConfigurationPromise("availableTargets");
   let expecteds = getExpectedTargets();
   ok_targets(data, expecteds);
--- a/browser/components/uitour/test/browser_openSearchPanel.js
+++ b/browser/components/uitour/test/browser_openSearchPanel.js
@@ -8,25 +8,27 @@ var gContentAPI;
 var gContentWindow;
 
 function test() {
   UITourTest();
 }
 
 var tests = [
   function test_openSearchPanel(done) {
-    let searchbar = document.getElementById("searchbar");
-
-    // If suggestions are enabled, the panel will attempt to use the network to connect
-    // to the suggestions provider, causing the test suite to fail.
+    // If suggestions are enabled, the panel will attempt to use the network to
+    // connect to the suggestions provider, causing the test suite to fail. We
+    // also change the preference to display the search bar during the test.
+    Services.prefs.setBoolPref("browser.search.widget.inNavBar", true);
     Services.prefs.setBoolPref("browser.search.suggest.enabled", false);
     registerCleanupFunction(() => {
+      Services.prefs.clearUserPref("browser.search.widget.inNavBar");
       Services.prefs.clearUserPref("browser.search.suggest.enabled");
     });
 
+    let searchbar = document.getElementById("searchbar");
     ok(!searchbar.textbox.open, "Popup starts as closed");
     gContentAPI.openSearchPanel(() => {
       ok(searchbar.textbox.open, "Popup was opened");
       searchbar.textbox.closePopup();
       ok(!searchbar.textbox.open, "Popup was closed");
       done();
     });
   },
--- a/browser/locales/en-US/chrome/browser/browser.dtd
+++ b/browser/locales/en-US/chrome/browser/browser.dtd
@@ -551,17 +551,17 @@ These should match what Safari and other
 <!ENTITY viewBGImageCmd.accesskey     "w">
 <!ENTITY setDesktopBackgroundCmd.label      "Set As Desktop Background…">
 <!ENTITY setDesktopBackgroundCmd.accesskey  "S">
 <!ENTITY bookmarkPageCmd2.label       "Bookmark This Page">
 <!ENTITY bookmarkThisLinkCmd.label      "Bookmark This Link">
 <!ENTITY bookmarkThisLinkCmd.accesskey  "L">
 <!ENTITY bookmarkThisFrameCmd.label      "Bookmark This Frame">
 <!ENTITY bookmarkThisFrameCmd.accesskey  "m">
-<!ENTITY copyURLCmd.label             "Copy URL">
+<!ENTITY pageAction.copyLink.label    "Copy Link">
 <!ENTITY copyURLFeedback.label        "Copied!">
 <!ENTITY emailPageCmd.label           "Email Link…">
 <!ENTITY emailPageCmd.accesskey       "E">
 <!ENTITY savePageCmd.label            "Save Page As…">
 <!ENTITY savePageCmd.accesskey        "A">
 <!-- alternate for content area context menu -->
 <!ENTITY savePageCmd.accesskey2       "P">
 <!ENTITY savePageCmd.commandkey       "s">
@@ -960,29 +960,29 @@ you can use these alternative items. Oth
 <!ENTITY updateManual.whatsnew.label "See what’s new.">
 <!ENTITY updateManual.header.message "&brandShorterName; can’t update to the latest version.">
 <!ENTITY updateManual.acceptButton.label "Download &brandShorterName;">
 <!ENTITY updateManual.acceptButton.accesskey "D">
 <!ENTITY updateManual.cancelButton.label "Not Now">
 <!ENTITY updateManual.cancelButton.accesskey "N">
 <!ENTITY updateManual.panelUI.label "Download a fresh copy of &brandShorterName;">
 
-<!ENTITY updateRestart.message "After a quick restart, &brandShorterName; will restore all your open tabs and windows.">
+<!ENTITY updateRestart.message2 "After a quick restart, &brandShorterName; will restore all your open tabs and windows that are not in Private Browsing mode.">
 <!ENTITY updateRestart.header.message2 "Restart to update &brandShorterName;.">
 <!ENTITY updateRestart.acceptButton.label "Restart and Restore">
 <!ENTITY updateRestart.acceptButton.accesskey "R">
 <!ENTITY updateRestart.cancelButton.label "Not Now">
 <!ENTITY updateRestart.cancelButton.accesskey "N">
 <!ENTITY updateRestart.panelUI.label2 "Restart to update &brandShorterName;">
 
 <!ENTITY pageActionButton.tooltip "Page actions">
 <!ENTITY pageAction.addToUrlbar.label "Add to Address Bar">
 <!ENTITY pageAction.removeFromUrlbar.label "Remove from Address Bar">
 
-<!ENTITY sendToDevice.label3 "Send Page to Device">
+<!ENTITY pageAction.sendTabToDevice.label "Send Tab to Device">
 <!ENTITY sendToDevice.syncNotReady.label "Syncing Devices…">
 
 <!ENTITY libraryButton.tooltip "View history, saved bookmarks, and more">
 
 <!-- LOCALIZATION NOTE: (accessibilityIndicator.tooltip): This is used to
      display a tooltip for accessibility indicator in toolbar/tabbar. It is also
      used as a textual label for the indicator used by assistive technology
      users. -->
--- a/browser/modules/BrowserUITelemetry.jsm
+++ b/browser/modules/BrowserUITelemetry.jsm
@@ -50,17 +50,16 @@ const LEGACY_PANEL_PLACEMENTS = [
 XPCOMUtils.defineLazyGetter(this, "DEFAULT_AREA_PLACEMENTS", function() {
   let result = {
     "nav-bar": [
       "back-button",
       "forward-button",
       "stop-reload-button",
       "home-button",
       "urlbar-container",
-      "search-container",
       "downloads-button",
       "library-button",
       "sidebar-button",
     ],
     // It's true that toolbar-menubar is not visible
     // on OS X, but the XUL node is definitely present
     // in the document.
     "toolbar-menubar": [
@@ -83,16 +82,17 @@ XPCOMUtils.defineLazyGetter(this, "DEFAU
 
 XPCOMUtils.defineLazyGetter(this, "DEFAULT_AREAS", function() {
   return Object.keys(DEFAULT_AREA_PLACEMENTS);
 });
 
 XPCOMUtils.defineLazyGetter(this, "PALETTE_ITEMS", function() {
   let result = [
     "bookmarks-menu-button",
+    "search-container",
     "open-file-button",
     "developer-button",
     "feed-button",
     "email-link-button",
     "containers-panelmenu",
     ...LEGACY_PANEL_PLACEMENTS,
     "characterencoding-button",
   ];
--- a/browser/modules/test/browser/browser_UsageTelemetry_searchbar.js
+++ b/browser/modules/test/browser/browser_UsageTelemetry_searchbar.js
@@ -59,16 +59,20 @@ function clickSearchbarSuggestion(entryN
     // Simulate the click.
     EventUtils.synthesizeMouse(popup.tree.body, x, y, {},
                                popup.tree.ownerGlobal);
     break;
   }
 }
 
 add_task(async function setup() {
+  await SpecialPowers.pushPrefEnv({ set: [
+    ["browser.search.widget.inNavBar", true],
+  ]});
+
   // Create two new search engines. Mark one as the default engine, so
   // the test don't crash. We need to engines for this test as the searchbar
   // doesn't display the default search engine among the one-off engines.
   Services.search.addEngineWithDetails("MozSearch", "", "mozalias", "", "GET",
                                        "http://example.com/?q={searchTerms}");
 
   Services.search.addEngineWithDetails("MozSearch2", "", "mozalias2", "", "GET",
                                        "http://example.com/?q={searchTerms}");
--- a/browser/themes/linux/browser.css
+++ b/browser/themes/linux/browser.css
@@ -3,17 +3,16 @@
  * 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/. */
 %endif
 
 @import url("chrome://global/skin/");
 
 @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
 @namespace html url("http://www.w3.org/1999/xhtml");
-@namespace svg url("http://www.w3.org/2000/svg");
 
 %include ../shared/browser.inc.css
 
 :root {
   --tabs-border: rgba(0,0,0,.3);
 
   --toolbar-non-lwt-bgcolor: -moz-dialog;
   --toolbar-non-lwt-textcolor: -moz-dialogtext;
--- a/browser/themes/osx/browser.css
+++ b/browser/themes/osx/browser.css
@@ -4,17 +4,16 @@
 
 @import url("chrome://global/skin/");
 
 %include shared.inc
 %define toolbarButtonPressed :hover:active:not([disabled="true"]):not([cui-areatype="menu-panel"])
 
 @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
 @namespace html url("http://www.w3.org/1999/xhtml");
-@namespace svg url("http://www.w3.org/2000/svg");
 
 %include ../shared/browser.inc.css
 
 :root {
   --tabs-border: rgba(0,0,0,.3);
 
   --toolbar-non-lwt-bgcolor: #f9f9fa;
   --toolbar-non-lwt-textcolor: #0c0c0d;
--- a/browser/themes/windows/browser.css
+++ b/browser/themes/windows/browser.css
@@ -1,17 +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/. */
 
 @import url("chrome://global/skin/");
 
 @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
 @namespace html url("http://www.w3.org/1999/xhtml");
-@namespace svg url("http://www.w3.org/2000/svg");
 
 %include ../shared/browser.inc.css
 
 :root {
   --titlebar-text-color: currentColor;
 
   --tabs-border: threedshadow;
 
--- a/config/external/moz.build
+++ b/config/external/moz.build
@@ -39,22 +39,16 @@ if CONFIG['MOZ_AV1']:
     external_dirs += ['media/libaom']
 
 if not CONFIG['MOZ_SYSTEM_PNG']:
     external_dirs += ['media/libpng']
 
 if CONFIG['CPU_ARCH'] == 'arm':
     external_dirs += ['media/openmax_dl']
 
-if CONFIG['MOZ_WEBSPEECH_POCKETSPHINX']:
-    external_dirs += [
-        'media/sphinxbase',
-        'media/pocketsphinx',
-    ]
-
 if CONFIG['MOZ_FFVPX']:
     external_dirs += ['media/ffvpx']
 
 external_dirs += [
     'media/kiss_fft',
     'media/libcubeb',
     'media/libnestegg',
     'media/libogg',
--- a/devtools/client/inspector/layout/components/Accordion.css
+++ b/devtools/client/inspector/layout/components/Accordion.css
@@ -1,24 +1,35 @@
 /* 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/. */
 
 /**
- * This file should not be modified and is a duplicate from the debugger.html project.
- * Any changes to this file should be imported from the upstream debugger.html project.
+ * This file is a duplicate from the debugger.html project and has diverged in terms of
+ * some of styles that are kept. Any changes to the styles in this file should be synced
+ * back to the appropriate styles in the debugger.html project.
+ * Create a pull request at https://github.com/devtools-html/debugger.html to sync
+ * any changes to the existing styles.
  */
 
+:root {
+  --accordion-header-background: var(--theme-toolbar-background);
+}
+
+:root.theme-dark {
+  --accordion-header-background: #141416;
+}
+
 .accordion {
-  background-color: var(--theme-body-background);
+  background-color: var(--theme-sidebar-background);
   width: 100%;
 }
 
 .accordion ._header {
-  background-color: var(--theme-toolbar-background);
+  background-color: var(--accordion-header-background);
   border-bottom: 1px solid var(--theme-splitter-color);
   cursor: pointer;
   font-size: 12px;
   padding: 4px;
   transition: all 0.25s ease;
   width: 100%;
   align-items: center;
   display: flex;
--- a/devtools/client/netmonitor/index.html
+++ b/devtools/client/netmonitor/index.html
@@ -4,17 +4,17 @@
 <!DOCTYPE html>
 <html dir="">
   <head>
     <link rel="stylesheet" href="chrome://devtools/content/shared/widgets/widgets.css"/>
     <link rel="stylesheet" href="chrome://devtools/skin/widgets.css"/>
     <link rel="stylesheet" href="chrome://devtools/content/netmonitor/src/assets/styles/netmonitor.css"/>
     <script src="chrome://devtools/content/shared/theme-switching.js"></script>
   </head>
-  <body class="theme-sidebar" role="application">
+  <body class="theme-body" role="application">
     <div id="mount"></div>
     <script>
       "use strict";
 
       const { BrowserLoader } = Components.utils.import("resource://devtools/client/shared/browser-loader.js", {});
       const require = window.windowRequire = BrowserLoader({
         baseURI: "resource://devtools/client/netmonitor/",
         window,
@@ -33,43 +33,55 @@
       // Inject EventEmitter into global window.
       EventEmitter.decorate(window);
       // Inject to global window for testing
       window.store = store;
 
       window.Netmonitor = {
         bootstrap({ toolbox }) {
           this.mount = document.querySelector("#mount");
+
           const connection = {
             tabConnection: {
               tabTarget: toolbox.target,
             },
             toolbox,
           };
+
+          const openLink = (link) => {
+            let parentDoc = toolbox.doc;
+            let iframe = parentDoc.getElementById("toolbox-panel-iframe-netmonitor");
+            let top = iframe.ownerDocument.defaultView.top;
+            top.openUILinkIn(link, "tab");
+          };
+
           const App = createFactory(require("./src/components/app"));
           const sourceMapService = toolbox.sourceMapURLService;
-          render(Provider({ store }, App({ sourceMapService })), this.mount);
+          const app = App({ sourceMapService, openLink });
+          render(Provider({ store }, app), this.mount);
           return onFirefoxConnect(connection, actions, store.getState);
         },
 
         destroy() {
           unmountComponentAtNode(this.mount);
           return onDisconnect();
-        }
+        },
       };
 
-      // Implement support for chrome://devtools/content/netmonitor/index.html?type=tab&id=1234 URLs
+      // Implement support for:
+      // chrome://devtools/content/netmonitor/index.html?type=tab&id=1234 URLs
       // where 1234 is the tab id, you can retrieve from about:debugging#tabs links.
       // Simply copy the id from about:devtools-toolbox?type=tab&id=1234 URLs.
 
       // URL constructor doesn't support chrome: scheme
       let href = window.location.href.replace(/chrome:/, "http://");
       let url = new window.URL(href);
 
-      // If query parameters are given in a chrome tab, the inspector is running in standalone.
+      // If query parameters are given in a chrome tab, the inspector
+      // is running in standalone.
       if (window.location.protocol === "chrome:" && url.search.length > 1) {
         const { targetFromURL } = require("devtools/client/framework/target-from-url");
 
         (async function () {
           let target = await targetFromURL(url);
           // Start the network event listening as it is done in the toolbox code
           await target.activeConsole.startListeners([
             "NetworkActivity",
@@ -78,14 +90,15 @@
           let toolbox = {
             target,
             viewSourceInDebugger() {
               throw new Error("toolbox.viewSourceInDebugger is not implement from a tab");
             }
           };
           window.Netmonitor.bootstrap({ toolbox });
         })().catch(e => {
-          window.alert("Unable to start the network monitor:" + e.message + "\n" + e.stack);
+          window.alert("Unable to start the network monitor:" +
+            e.message + "\n" + e.stack);
         });
       }
     </script>
   </body>
 </html>
--- a/devtools/client/netmonitor/src/components/app.js
+++ b/devtools/client/netmonitor/src/components/app.js
@@ -16,27 +16,32 @@ const MonitorPanel = createFactory(requi
 const StatisticsPanel = createFactory(require("./statistics-panel"));
 
 const { div } = DOM;
 
 /*
  * App component
  * The top level component for representing main panel
  */
-function App({ statisticsOpen, sourceMapService }) {
+function App({
+  openLink,
+  sourceMapService,
+  statisticsOpen,
+}) {
   return (
     div({ className: "network-monitor" },
-      !statisticsOpen ? MonitorPanel({sourceMapService}) : StatisticsPanel()
+      !statisticsOpen ? MonitorPanel({ openLink, sourceMapService }) : StatisticsPanel()
     )
   );
 }
 
 App.displayName = "App";
 
 App.propTypes = {
-  statisticsOpen: PropTypes.bool.isRequired,
+  openLink: PropTypes.func,
   // Service to enable the source map feature.
   sourceMapService: PropTypes.object,
+  statisticsOpen: PropTypes.bool.isRequired,
 };
 
 module.exports = connect(
   (state) => ({ statisticsOpen: state.ui.statisticsOpen }),
 )(App);
--- a/devtools/client/netmonitor/src/components/cookies-panel.js
+++ b/devtools/client/netmonitor/src/components/cookies-panel.js
@@ -26,16 +26,17 @@ const SECTION_NAMES = [
 ];
 
 /*
  * Cookies panel component
  * This tab lists full details of any cookies sent with the request or response
  */
 function CookiesPanel({
   request,
+  openLink,
 }) {
   let {
     requestCookies = { cookies: [] },
     responseCookies = { cookies: [] },
   } = request;
 
   requestCookies = requestCookies.cookies || requestCookies;
   responseCookies = responseCookies.cookies || responseCookies;
@@ -57,25 +58,27 @@ function CookiesPanel({
   }
 
   return (
     div({ className: "panel-container" },
       PropertiesView({
         object,
         filterPlaceHolder: COOKIES_FILTER_TEXT,
         sectionNames: SECTION_NAMES,
+        openLink,
       })
     )
   );
 }
 
 CookiesPanel.displayName = "CookiesPanel";
 
 CookiesPanel.propTypes = {
   request: PropTypes.object.isRequired,
+  openLink: PropTypes.func,
 };
 
 /**
  * Mapping array to dict for TreeView usage.
  * Since TreeView only support Object(dict) format.
  *
  * @param {Object[]} arr - key-value pair array like cookies or params
  * @returns {Object}
--- a/devtools/client/netmonitor/src/components/headers-panel.js
+++ b/devtools/client/netmonitor/src/components/headers-panel.js
@@ -49,17 +49,18 @@ const SUMMARY_VERSION = L10N.getStr("net
  * Lists basic information about the request
  */
 const HeadersPanel = createClass({
   displayName: "HeadersPanel",
 
   propTypes: {
     cloneSelectedRequest: PropTypes.func.isRequired,
     request: PropTypes.object.isRequired,
-    renderValue: PropTypes.func
+    renderValue: PropTypes.func,
+    openLink: PropTypes.func,
   },
 
   getInitialState() {
     return {
       rawHeadersOpened: false,
     };
   },
 
@@ -120,16 +121,17 @@ const HeadersPanel = createClass({
           url: headerDocURL,
         }) : null
       )
     );
   },
 
   render() {
     const {
+      openLink,
       cloneSelectedRequest,
       request: {
         fromCache,
         fromServiceWorker,
         httpVersion,
         method,
         remoteAddress,
         remotePort,
@@ -251,15 +253,16 @@ const HeadersPanel = createClass({
           summaryVersion,
           summaryRawHeaders,
         ),
         PropertiesView({
           object,
           filterPlaceHolder: HEADERS_FILTER_TEXT,
           sectionNames: Object.keys(object),
           renderValue: this.renderValue,
+          openLink,
         }),
       )
     );
   }
 });
 
 module.exports = HeadersPanel;
--- a/devtools/client/netmonitor/src/components/monitor-panel.js
+++ b/devtools/client/netmonitor/src/components/monitor-panel.js
@@ -35,16 +35,17 @@ const MonitorPanel = createClass({
 
   propTypes: {
     isEmpty: PropTypes.bool.isRequired,
     networkDetailsOpen: PropTypes.bool.isRequired,
     openNetworkDetails: PropTypes.func.isRequired,
     request: PropTypes.object,
     // Service to enable the source map feature.
     sourceMapService: PropTypes.object,
+    openLink: PropTypes.func,
     updateRequest: PropTypes.func.isRequired,
   },
 
   getInitialState() {
     return {
       isVerticalSpliter: MediaQueryList.matches,
     };
   },
@@ -99,17 +100,23 @@ const MonitorPanel = createClass({
 
   onLayoutChange() {
     this.setState({
       isVerticalSpliter: MediaQueryList.matches,
     });
   },
 
   render() {
-    let { isEmpty, networkDetailsOpen, sourceMapService } = this.props;
+    let {
+      isEmpty,
+      networkDetailsOpen,
+      sourceMapService,
+      openLink
+    } = this.props;
+
     let initialWidth = Services.prefs.getIntPref(
         "devtools.netmonitor.panes-network-details-width");
     let initialHeight = Services.prefs.getIntPref(
         "devtools.netmonitor.panes-network-details-height");
     return (
       div({ className: "monitor-panel" },
         Toolbar(),
         SplitBox({
@@ -118,16 +125,17 @@ const MonitorPanel = createClass({
           initialHeight: `${initialHeight}px`,
           minSize: "50px",
           maxSize: "80%",
           splitterSize: "1px",
           startPanel: RequestList({ isEmpty }),
           endPanel: networkDetailsOpen && NetworkDetailsPanel({
             ref: "endPanel",
             sourceMapService,
+            openLink,
           }),
           endPanelCollapsed: !networkDetailsOpen,
           endPanelControl: true,
           vert: this.state.isVerticalSpliter,
         }),
       )
     );
   }
--- a/devtools/client/netmonitor/src/components/network-details-panel.js
+++ b/devtools/client/netmonitor/src/components/network-details-panel.js
@@ -23,30 +23,32 @@ const { div } = DOM;
  * Network details panel component
  */
 function NetworkDetailsPanel({
   activeTabId,
   cloneSelectedRequest,
   request,
   selectTab,
   sourceMapService,
+  openLink,
 }) {
   if (!request) {
     return null;
   }
 
   return (
     div({ className: "network-details-panel" },
       !request.isCustom ?
         TabboxPanel({
           activeTabId,
+          cloneSelectedRequest,
           request,
           selectTab,
           sourceMapService,
-          cloneSelectedRequest,
+          openLink,
         }) :
         CustomRequestPanel({
           request,
         })
     )
   );
 }
 
@@ -55,16 +57,17 @@ NetworkDetailsPanel.displayName = "Netwo
 NetworkDetailsPanel.propTypes = {
   activeTabId: PropTypes.string,
   cloneSelectedRequest: PropTypes.func.isRequired,
   open: PropTypes.bool,
   request: PropTypes.object,
   selectTab: PropTypes.func.isRequired,
   // Service to enable the source map feature.
   sourceMapService: PropTypes.object,
+  openLink: PropTypes.func,
 };
 
 module.exports = connect(
   (state) => ({
     activeTabId: state.ui.detailsPanelSelectedTab,
     request: getSelectedRequest(state),
   }),
   (dispatch) => ({
--- a/devtools/client/netmonitor/src/components/params-panel.js
+++ b/devtools/client/netmonitor/src/components/params-panel.js
@@ -29,17 +29,20 @@ const SECTION_NAMES = [
   PARAMS_POST_PAYLOAD,
   PARAMS_QUERY_STRING,
 ];
 
 /*
  * Params panel component
  * Displays the GET parameters and POST data of a request
  */
-function ParamsPanel({ request }) {
+function ParamsPanel({
+  openLink,
+  request,
+}) {
   let {
     formDataSections,
     mimeType,
     requestPostData,
     url,
   } = request;
   let postData = requestPostData ? requestPostData.postData.text : null;
   let query = getUrlQuery(url);
@@ -87,25 +90,27 @@ function ParamsPanel({ request }) {
   }
 
   return (
     div({ className: "panel-container" },
       PropertiesView({
         object,
         filterPlaceHolder: PARAMS_FILTER_TEXT,
         sectionNames: SECTION_NAMES,
+        openLink,
       })
     )
   );
 }
 
 ParamsPanel.displayName = "ParamsPanel";
 
 ParamsPanel.propTypes = {
   request: PropTypes.object.isRequired,
+  openLink: PropTypes.func,
 };
 
 /**
  * Mapping array to dict for TreeView usage.
  * Since TreeView only support Object(dict) format.
  * This function also deal with duplicate key case
  * (for multiple selection and query params with same keys)
  *
--- a/devtools/client/netmonitor/src/components/properties-view.js
+++ b/devtools/client/netmonitor/src/components/properties-view.js
@@ -44,16 +44,17 @@ const PropertiesView = createClass({
   displayName: "PropertiesView",
 
   propTypes: {
     object: PropTypes.object,
     enableInput: PropTypes.bool,
     expandableStrings: PropTypes.bool,
     filterPlaceHolder: PropTypes.string,
     sectionNames: PropTypes.array,
+    openLink: PropTypes.func,
   },
 
   getDefaultProps() {
     return {
       enableInput: true,
       enableFilter: true,
       expandableStrings: false,
       filterPlaceHolder: "",
@@ -143,16 +144,17 @@ const PropertiesView = createClass({
       decorator,
       enableInput,
       expandableStrings,
       filterPlaceHolder,
       object,
       renderRow,
       renderValue,
       sectionNames,
+      openLink,
     } = this.props;
 
     return (
       div({ className: "properties-view" },
         this.shouldRenderSearchBox(object) &&
           div({ className: "searchbox-section" },
             SearchBox({
               delay: FILTER_SEARCH_DELAY,
@@ -176,16 +178,17 @@ const PropertiesView = createClass({
             useQuotes: false,
             expandedNodes: TreeViewClass.getExpandedNodes(
               object,
               {maxLevel: AUTO_EXPAND_MAX_LEVEL, maxNodes: AUTO_EXPAND_MAX_NODES}
             ),
             onFilter: (props) => this.onFilter(props, sectionNames),
             renderRow: renderRow || this.renderRowWithEditor,
             renderValue: renderValue || this.renderValueWithRep,
+            openLink,
           }),
         ),
       )
     );
   }
 });
 
 module.exports = PropertiesView;
--- a/devtools/client/netmonitor/src/components/response-panel.js
+++ b/devtools/client/netmonitor/src/components/response-panel.js
@@ -28,16 +28,17 @@ const RESPONSE_PAYLOAD = L10N.getStr("re
  * Response panel component
  * Displays the GET parameters and POST data of a request
  */
 const ResponsePanel = createClass({
   displayName: "ResponsePanel",
 
   propTypes: {
     request: PropTypes.object.isRequired,
+    openLink: PropTypes.func,
   },
 
   getInitialState() {
     return {
       imageDimensions: {
         width: 0,
         height: 0,
       },
@@ -105,17 +106,18 @@ const ResponsePanel = createClass({
 
       return result;
     }
 
     return null;
   },
 
   render() {
-    let { responseContent, url } = this.props.request;
+    let { openLink, request } = this.props;
+    let { responseContent, url } = request;
 
     if (!responseContent || typeof responseContent.content.text !== "string") {
       return null;
     }
 
     let { encoding, mimeType, text } = responseContent.content;
 
     if (mimeType.includes("image/")) {
@@ -170,15 +172,16 @@ const ResponsePanel = createClass({
       div({ className: "panel-container" },
         error && div({ className: "response-error-header", title: error },
           error
         ),
         PropertiesView({
           object,
           filterPlaceHolder: JSON_FILTER_TEXT,
           sectionNames: Object.keys(object),
+          openLink,
         }),
       )
     );
   }
 });
 
 module.exports = ResponsePanel;
--- a/devtools/client/netmonitor/src/components/security-panel.js
+++ b/devtools/client/netmonitor/src/components/security-panel.js
@@ -19,17 +19,20 @@ const PropertiesView = createFactory(req
 const { div, input, span } = DOM;
 
 /*
  * Security panel component
  * If the site is being served over HTTPS, you get an extra tab labeled "Security".
  * This contains details about the secure connection used including the protocol,
  * the cipher suite, and certificate details
  */
-function SecurityPanel({ request }) {
+function SecurityPanel({
+  openLink,
+  request,
+}) {
   const { securityInfo, url } = request;
 
   if (!securityInfo || !url) {
     return null;
   }
 
   const notAvailable = L10N.getStr("netmonitor.security.notAvailable");
   let object;
@@ -96,24 +99,26 @@ function SecurityPanel({ request }) {
   }
 
   return div({ className: "panel-container security-panel" },
     PropertiesView({
       object,
       renderValue: (props) => renderValue(props, securityInfo.weaknessReasons),
       enableFilter: false,
       expandedNodes: TreeViewClass.getExpandedNodes(object),
+      openLink,
     })
   );
 }
 
 SecurityPanel.displayName = "SecurityPanel";
 
 SecurityPanel.propTypes = {
   request: PropTypes.object.isRequired,
+  openLink: PropTypes.func,
 };
 
 function renderValue(props, weaknessReasons = []) {
   const { member, value } = props;
 
   // Hide object summary
   if (typeof member.value === "object") {
     return null;
--- a/devtools/client/netmonitor/src/components/stack-trace-panel.js
+++ b/devtools/client/netmonitor/src/components/stack-trace-panel.js
@@ -11,31 +11,37 @@ const {
 } = require("devtools/client/shared/vendor/react");
 const { viewSourceInDebugger } = require("../connector/index");
 
 const { div } = DOM;
 
 // Components
 const StackTrace = createFactory(require("devtools/client/shared/components/stack-trace"));
 
-function StackTracePanel({ request, sourceMapService }) {
+function StackTracePanel({
+  openLink,
+  request,
+  sourceMapService,
+}) {
   let { stacktrace } = request.cause;
 
   return (
     div({ className: "panel-container" },
       StackTrace({
         stacktrace,
         onViewSourceInDebugger: ({ url, line }) => viewSourceInDebugger(url, line),
         sourceMapService,
+        openLink,
       }),
     )
   );
 }
 
 StackTracePanel.displayName = "StackTracePanel";
 
 StackTracePanel.propTypes = {
   request: PropTypes.object.isRequired,
   // Service to enable the source map feature.
   sourceMapService: PropTypes.object,
+  openLink: PropTypes.func,
 };
 
 module.exports = StackTracePanel;
--- a/devtools/client/netmonitor/src/components/tabbox-panel.js
+++ b/devtools/client/netmonitor/src/components/tabbox-panel.js
@@ -36,16 +36,17 @@ const TIMINGS_TITLE = L10N.getStr("netmo
  * Display the network request details
  */
 function TabboxPanel({
   activeTabId,
   cloneSelectedRequest = ()=>{},
   request,
   selectTab,
   sourceMapService,
+  openLink,
 }) {
   if (!request) {
     return null;
   }
 
   return (
     Tabbar({
       activeTabId,
@@ -53,64 +54,65 @@ function TabboxPanel({
       onSelect: selectTab,
       renderOnlySelected: true,
       showAllTabsMenu: true,
     },
       TabPanel({
         id: PANELS.HEADERS,
         title: HEADERS_TITLE,
       },
-        HeadersPanel({ request, cloneSelectedRequest }),
+        HeadersPanel({ request, cloneSelectedRequest, openLink }),
       ),
       TabPanel({
         id: PANELS.COOKIES,
         title: COOKIES_TITLE,
       },
-        CookiesPanel({ request }),
+        CookiesPanel({ request, openLink }),
       ),
       TabPanel({
         id: PANELS.PARAMS,
         title: PARAMS_TITLE,
       },
-        ParamsPanel({ request }),
+        ParamsPanel({ request, openLink }),
       ),
       TabPanel({
         id: PANELS.RESPONSE,
         title: RESPONSE_TITLE,
       },
-        ResponsePanel({ request }),
+        ResponsePanel({ request, openLink }),
       ),
       TabPanel({
         id: PANELS.TIMINGS,
         title: TIMINGS_TITLE,
       },
         TimingsPanel({ request }),
       ),
       request.cause && request.cause.stacktrace && request.cause.stacktrace.length > 0 &&
       TabPanel({
         id: PANELS.STACK_TRACE,
         title: STACK_TRACE_TITLE,
       },
-        StackTracePanel({ request, sourceMapService }),
+        StackTracePanel({ request, sourceMapService, openLink }),
       ),
       request.securityState && request.securityState !== "insecure" &&
       TabPanel({
         id: PANELS.SECURITY,
         title: SECURITY_TITLE,
       },
-        SecurityPanel({ request }),
+        SecurityPanel({ request, openLink }),
       ),
     )
   );
 }
 
 TabboxPanel.displayName = "TabboxPanel";
 
 TabboxPanel.propTypes = {
   activeTabId: PropTypes.string,
   cloneSelectedRequest: PropTypes.func,
   request: PropTypes.object,
   selectTab: PropTypes.func.isRequired,
   // Service to enable the source map feature.
   sourceMapService: PropTypes.object,
+  openLink: PropTypes.func,
 };
 
 module.exports = connect()(TabboxPanel);
--- a/devtools/client/shared/components/tabs/tabs.css
+++ b/devtools/client/shared/components/tabs/tabs.css
@@ -2,17 +2,17 @@
 /* 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/. */
 
 /* Tabs General Styles */
 
 .tabs {
   height: 100%;
-  background: var(--theme-body-background);
+  background: var(--theme-sidebar-background);
   display: flex;
   flex-direction: column;
 }
 
 .tabs .tabs-menu {
   list-style: none;
   padding: 0;
   margin: 0;
--- a/devtools/client/themes/inspector.css
+++ b/devtools/client/themes/inspector.css
@@ -112,17 +112,19 @@ window {
   line-height: initial;
 }
 
 #inspector-breadcrumbs-toolbar {
   padding: 0px;
   border-bottom-width: 0px;
   border-top-width: 1px;
   border-top-color: var(--theme-splitter-color);
-  background-color: var(--theme-toolbar-background);
+  /* Bug 1262668 - Use the same background as the body so the breadcrumbs toolbar doesn't
+     get mistaken as a splitter */
+  background-color: var(--theme-body-background);
   display: block;
   position: relative;
 }
 
 #inspector-breadcrumbs-toolbar,
 #inspector-breadcrumbs-toolbar * {
   box-sizing: border-box;
 }
--- a/devtools/client/themes/rules.css
+++ b/devtools/client/themes/rules.css
@@ -1,28 +1,31 @@
 /* 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/. */
 
 /* CSS Variables specific to this panel that aren't defined by the themes */
 .theme-light {
   --rule-highlight-background-color: #ffee99;
   --rule-overridden-item-border-color: var(--theme-content-color3);
+  --rule-header-background-color: var(--theme-toolbar-background);
 }
 
 .theme-dark {
   --rule-highlight-background-color: #594724;
   --rule-overridden-item-border-color: var(--theme-content-color1);
+  --rule-header-background-color: #141416;
 }
 
 .theme-firebug {
   --rule-highlight-background-color: #ffee99;
   --rule-property-name: darkgreen;
   --rule-property-value: darkblue;
   --rule-overridden-item-border-color: var(--theme-content-color2);
+  --rule-header-background-color: var(--theme-header-background);
 }
 
 /* Rule View Tabpanel */
 
 #sidebar-panel-ruleview {
   margin: 0;
   display: flex;
   flex-direction: column;
@@ -214,17 +217,17 @@
   color: #0000FF;
 }
 
 .ruleview-rule-source:not([unselectable]):hover {
   text-decoration: underline;
 }
 
 .ruleview-header {
-  background-color: var(--theme-toolbar-background);
+  background-color: var(--rule-header-background-color);
   border-bottom: 1px solid var(--theme-splitter-color);
   font-size: 12px;
   padding: 4px;
   width: 100%;
   align-items: center;
   display: flex;
 
   -moz-user-select: none;
@@ -234,17 +237,16 @@
   font-family: var(--proportional-font-family);
   font-weight: bold;
   color: inherit;
   border: none;
   margin: 4px 0;
   padding: 3px 4px 2px 4px;
   line-height: inherit;
   min-height: 0;
-  background: var(--theme-header-background);
 }
 
 :root[platform="win"] .ruleview-header,
 :root[platform="linux"] .ruleview-header {
   margin-top: 4px;
 }
 
 .ruleview-expandable-header {
--- a/devtools/client/themes/variables.css
+++ b/devtools/client/themes/variables.css
@@ -88,17 +88,17 @@
   --theme-command-line-image: url(chrome://devtools/skin/images/commandline-icon.svg#light-theme);
   --theme-command-line-image-focus: url(chrome://devtools/skin/images/commandline-icon.svg#light-theme-focus);
 
   --theme-codemirror-gutter-background: #f4f4f4;
 }
 
 :root.theme-dark {
   --theme-body-background: var(--grey-80);
-  --theme-sidebar-background: var(--grey-80);
+  --theme-sidebar-background: var(--grey-90);
   --theme-contrast-background: #ffb35b;
 
   /* Toolbar */
   --theme-tab-toolbar-background: var(--grey-90);
   --theme-toolbar-background: var(--grey-90);
   --theme-toolbar-background-hover: #20232B;
   --theme-toolbar-background-alt: #2F343E;
   --theme-toolbar-hover: rgba(110, 120, 130, 0.1);
--- a/devtools/client/themes/widgets.css
+++ b/devtools/client/themes/widgets.css
@@ -228,17 +228,17 @@
   background-repeat: no-repeat;
   /* Given the 1/2 aspect ratio of the separator pseudo-element and the 45deg angle of
      the arrow shape, we need the arrow edges to be at this position from the start of
      the gradient line. */
   --position: 66.5%;
   /* The color of the thin line in the arrow-shaped separator between 2 unselected
      crumbs. There is no theme variable for this, this used to be an image. */
   --line-color: #ACACAC;
-  --background-color: var(--theme-toolbar-background);
+  --background-color: var(--theme-body-background);
 }
 
 #debugger-toolbar .breadcrumbs-widget-item::before {
   --background-color: var(--theme-toolbar-background);
 }
 
 .theme-dark .breadcrumbs-widget-item::before {
   --line-color: #6E6E6E;
--- a/devtools/client/webconsole/new-console-output/components/message-types/network-event-message.js
+++ b/devtools/client/webconsole/new-console-output/components/message-types/network-event-message.js
@@ -102,16 +102,17 @@ function NetworkEventMessage({
 
   // Only render the attachment if the network-event is
   // actually opened (performance optimization).
   const attachment = open && dom.div({className: "network-info devtools-monospace"},
     TabboxPanel({
       activeTabId: networkMessageActiveTabId,
       request: networkMessageUpdate,
       sourceMapService: serviceContainer.sourceMapService,
+      openLink: serviceContainer.openLink,
       selectTab: (tabId) => {
         dispatch(actions.selectNetworkMessageTab(tabId));
       },
     })
   );
 
   return Message({
     dispatch,
--- a/devtools/client/webconsole/new-console-output/new-console-output-wrapper.js
+++ b/devtools/client/webconsole/new-console-output/new-console-output-wrapper.js
@@ -75,17 +75,19 @@ NewConsoleOutputWrapper.prototype = {
       attachRefToHud,
       emitNewMessage: (node, messageId) => {
         this.jsterm.hud.emit("new-messages", new Set([{
           node,
           messageId,
         }]));
       },
       hudProxyClient: this.jsterm.hud.proxy.client,
-      openLink: url => this.jsterm.hud.owner.openLink(url),
+      openLink: url => {
+        this.jsterm.hud.owner.openLink(url);
+      },
       createElement: nodename => {
         return this.document.createElementNS("http://www.w3.org/1999/xhtml", nodename);
       },
     };
 
     // Set `openContextMenu` this way so, `serviceContainer` variable
     // is available in the current scope and we can pass it into
     // `createContextMenu` method.
--- a/devtools/server/css-logic.js
+++ b/devtools/server/css-logic.js
@@ -910,16 +910,17 @@ function CssRule(cssSheet, domRule, elem
   if (parentRule && parentRule.type == CSSRule.MEDIA_RULE) {
     this.mediaText = parentRule.media.mediaText;
   }
 
   if (this._cssSheet) {
     // parse domRule.selectorText on call to this.selectors
     this._selectors = null;
     this.line = domUtils.getRuleLine(this.domRule);
+    this.column = domUtils.getRuleColumn(this.domRule);
     this.source = this._cssSheet.shortSource + ":" + this.line;
     if (this.mediaText) {
       this.source += " @media " + this.mediaText;
     }
     this.href = this._cssSheet.href;
     this.contentRule = this._cssSheet.contentSheet;
   } else if (element) {
     this._selectors = [ new CssSelector(this, "@element.style", 0) ];
@@ -1103,16 +1104,26 @@ CssSelector.prototype = {
    * @return {number} the line of the parent CSSStyleRule in the parent
    * stylesheet.
    */
   get ruleLine() {
     return this.cssRule.line;
   },
 
   /**
+   * Retrieve the column of the parent CSSStyleRule in the parent CSSStyleSheet.
+   *
+   * @return {number} the column of the parent CSSStyleRule in the parent
+   * stylesheet.
+   */
+  get ruleColumn() {
+    return this.cssRule.column;
+  },
+
+  /**
    * Retrieve specificity information for the current selector.
    *
    * @see http://www.w3.org/TR/css3-selectors/#specificity
    * @see http://www.w3.org/TR/CSS2/selector.html
    *
    * @return {Number} The selector's specificity.
    */
   get specificity() {
@@ -1387,16 +1398,26 @@ CssSelectorInfo.prototype = {
    * @return {number} the line of the parent CSSStyleRule in the parent
    * stylesheet.
    */
   get ruleLine() {
     return this.selector.ruleLine;
   },
 
   /**
+   * Retrieve the column of the parent CSSStyleRule in the parent CSSStyleSheet.
+   *
+   * @return {number} the column of the parent CSSStyleRule in the parent
+   * stylesheet.
+   */
+  get ruleColumn() {
+    return this.selector.ruleColumn;
+  },
+
+  /**
    * Check if the selector comes from a browser-provided stylesheet.
    *
    * @return {boolean} true if the selector comes from a browser-provided
    * stylesheet, or false otherwise.
    */
   get contentRule() {
     return this.selector.contentRule;
   },
@@ -1453,16 +1474,23 @@ CssSelectorInfo.prototype = {
 
     if (this.ruleLine > that.ruleLine) {
       return -1;
     }
     if (that.ruleLine > this.ruleLine) {
       return 1;
     }
 
+    if (this.ruleColumn > that.ruleColumn) {
+      return -1;
+    }
+    if (that.ruleColumn > this.ruleColumn) {
+      return 1;
+    }
+
     return 0;
   },
 
   toString: function () {
     return this.selector + " -> " + this.value;
   },
 };
 
--- a/devtools/server/tests/mochitest/inspector-styles-data.html
+++ b/devtools/server/tests/mochitest/inspector-styles-data.html
@@ -5,16 +5,18 @@
   window.onload = () => {
     window.opener.postMessage("ready", "*");
   };
 </script>
 <style>
   .inheritable-rule {
     font-size: 15px;
   }
+  /* Has to be on one line, is such for test */
+  .column-rule { font-size: 20px; } .column-rule { font-size: 25px; }
   .uninheritable-rule {
     background-color: #f06;
   }
   @media screen {
     #mediaqueried {
       background-color: #f06;
     }
   }
@@ -57,17 +59,17 @@
   <!-- Computed checks -->
   <div id="computed-parent" class="external-rule inheritable-rule uninheritable-rule" style="color: red;">
     <div id="computed-test-node" class="external-rule">
       Here is the test node.
     </div>
   </div>
 
   <!-- Matched checks -->
-  <div id="matched-parent" class="external-rule inheritable-rule uninheritable-rule" style="color: red;">
+  <div id="matched-parent" class="external-rule inheritable-rule column-rule uninheritable-rule" style="color: red;">
     <div id="matched-test-node" style="font-size: 10px" class="external-rule">
       Here is the test node.
     </div>
   </div>
 
   <div id="mediaqueried">
     Screen mediaqueried.
   </div>
--- a/devtools/server/tests/mochitest/test_styles-matched.html
+++ b/devtools/server/tests/mochitest/test_styles-matched.html
@@ -47,27 +47,33 @@ addTest(function testMatchedStyles() {
     is(matched[0].sourceText, "this.style", "First match comes from the element style");
     is(matched[0].selector, "@element.style", "Element style has a special selector");
     is(matched[0].value, "10px", "First match has the expected value");
     is(matched[0].status, CssLogic.STATUS.BEST, "First match is the best match");
     is(matched[0].rule.type, 100, "First match is an element style");
     is(matched[0].rule.href, gInspectee.defaultView.location.href,
        "Node style comes from this document");
 
-    is(matched[1].sourceText, ".inheritable-rule", "Second match comes from a rule");
-    is(matched[1].selector, ".inheritable-rule", "Second style has a selector");
-    is(matched[1].value, "15px", "Second match has the expected value");
+    is(matched[1].sourceText, ".column-rule",
+      "Second match comes from a rule");
+    is(matched[1].selector, ".column-rule",
+      "Second match comes from highest line number");
+    is(matched[1].value, "25px", "Second match comes from highest column");
     is(matched[1].status, CssLogic.STATUS.PARENT_MATCH,
-       "Second match is from the parent");
+      "Second match is from the parent");
     is(matched[1].rule.parentStyleSheet.href, null,
-       "Inline stylesheet shouldn't have an href");
+      "Inline stylesheet shouldn't have an href");
     is(matched[1].rule.parentStyleSheet.nodeHref, gInspectee.defaultView.location.href,
-       "Inline stylesheet's nodeHref should match the current document");
+      "Inline stylesheet's nodeHref should match the current document");
     ok(!matched[1].rule.parentStyleSheet.system,
-       "Inline stylesheet shouldn't be a system stylesheet.");
+      "Inline stylesheet shouldn't be a system stylesheet.");
+
+    // matched[2] is only there to test matched[1]; do not need to test
+
+    is(matched[3].value, "15px", "Third match has the expected value");
   }).then(runNextTest));
 });
 
 addTest(function testSystemStyles() {
   let testNode = null;
 
   promiseDone(gWalker.querySelector(gWalker.rootNode, "#matched-test-node").then(node => {
     testNode = node;
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -38,16 +38,17 @@
 #include "nsIContent.h"
 #include "nsIContentInlines.h"
 #include "nsIDocument.h"
 #include "nsIDOMDocument.h"
 #include "nsIDOMElement.h"
 
 #include "nsArray.h"
 #include "nsArrayUtils.h"
+#include "nsContentSecurityManager.h"
 #include "nsICaptivePortalService.h"
 #include "nsIDOMStorage.h"
 #include "nsIContentViewer.h"
 #include "nsIDocumentLoaderFactory.h"
 #include "nsCURILoader.h"
 #include "nsContentDLF.h"
 #include "nsDocShellCID.h"
 #include "nsDOMCID.h"
@@ -216,16 +217,17 @@
 #include "nsIURIFixup.h"
 #include "nsIURILoader.h"
 #include "nsIURL.h"
 #include "nsIWebBrowserFind.h"
 #include "nsIWidget.h"
 #include "mozilla/dom/PerformanceNavigation.h"
 #include "mozilla/dom/ScriptSettings.h"
 #include "mozilla/Encoding.h"
+#include "nsJSEnvironment.h"
 #include "IUrlClassifierUITelemetry.h"
 
 #ifdef MOZ_TOOLKIT_SEARCH
 #include "nsIBrowserSearchService.h"
 #endif
 
 #include "mozIThirdPartyUtil.h"
 
@@ -9937,46 +9939,23 @@ nsDocShell::InternalLoad(nsIURI* aURI,
       // an iframe since that's more common.
       contentType = nsIContentPolicy::TYPE_INTERNAL_IFRAME;
     }
   } else {
     contentType = nsIContentPolicy::TYPE_DOCUMENT;
     isTargetTopLevelDocShell = true;
   }
 
-  if (contentType == nsIContentPolicy::TYPE_DOCUMENT &&
-      nsIOService::BlockToplevelDataUriNavigations()) {
-    bool isDataURI =
-      (NS_SUCCEEDED(aURI->SchemeIs("data", &isDataURI)) && isDataURI);
-    // Let's block all toplevel document navigations to a data: URI.
-    // In all cases where the toplevel document is navigated to a
-    // data: URI the triggeringPrincipal is a codeBasePrincipal, or
-    // a NullPrincipal. In other cases, e.g. typing a data: URL into
-    // the URL-Bar, the triggeringPrincipal is a SystemPrincipal;
-    // we don't want to block those loads. Only exception, loads coming
-    // from an external applicaton (e.g. Thunderbird) don't load
-    // using a codeBasePrincipal, but we want to block those loads.
-    bool loadFromExternal = (aLoadType == LOAD_NORMAL_EXTERNAL);
-    if (isDataURI && (loadFromExternal || 
-        !nsContentUtils::IsSystemPrincipal(aTriggeringPrincipal))) {
-      NS_ConvertUTF8toUTF16 specUTF16(aURI->GetSpecOrDefault());
-      if (specUTF16.Length() > 50) {
-        specUTF16.Truncate(50);
-        specUTF16.AppendLiteral("...");
-      }
-      const char16_t* params[] = { specUTF16.get() };
-      nsContentUtils::ReportToConsole(nsIScriptError::warningFlag,
-                                      NS_LITERAL_CSTRING("DATA_URI_BLOCKED"),
-                                      // no doc available, log to browser console
-                                      nullptr,
-                                      nsContentUtils::eSECURITY_PROPERTIES,
-                                      "BlockTopLevelDataURINavigation",
-                                      params, ArrayLength(params));
-      return NS_OK;
-    }
+  if (!nsContentSecurityManager::AllowTopLevelNavigationToDataURI(
+        aURI,
+        contentType,
+        aTriggeringPrincipal,
+        (aLoadType == LOAD_NORMAL_EXTERNAL))) {
+    // logging to console happens within AllowTopLevelNavigationToDataURI
+    return NS_OK;
   }
 
   // If there's no targetDocShell, that means we are about to create a new
   // window (or aWindowTarget is empty). Perform a content policy check before
   // creating the window. Please note for all other docshell loads
   // content policy checks are performed within the contentSecurityManager
   // when the channel is about to be openend.
   if (!targetDocShell && !aWindowTarget.IsEmpty()) {
@@ -11721,16 +11700,21 @@ nsDocShell::DoChannelLoad(nsIChannel* aC
     openFlags |= nsIURILoader::IS_CONTENT_PREFERRED;
   }
   if (!mAllowContentRetargeting) {
     openFlags |= nsIURILoader::DONT_RETARGET;
   }
   rv = aURILoader->OpenURI(aChannel, openFlags, this);
   NS_ENSURE_SUCCESS(rv, rv);
 
+  // We're about to load a new page and it may take time before necko
+  // gives back any data, so main thread might have a chance to process a
+  // collector slice
+  nsJSContext::MaybeRunNextCollectorSlice(this, JS::gcreason::DOCSHELL);
+
   return NS_OK;
 }
 
 nsresult
 nsDocShell::ScrollToAnchor(bool aCurHasRef, bool aNewHasRef,
                            nsACString& aNewHash, uint32_t aLoadType)
 {
   if (!mCurrentURI) {
--- a/dom/base/DocumentFragment.cpp
+++ b/dom/base/DocumentFragment.cpp
@@ -106,16 +106,20 @@ DocumentFragment::Constructor(const Glob
   if (!window || !window->GetDoc()) {
     aRv.Throw(NS_ERROR_FAILURE);
     return nullptr;
   }
 
   return window->GetDoc()->CreateDocumentFragment();
 }
 
+NS_IMPL_CYCLE_COLLECTION_INHERITED(DocumentFragment,
+                                   FragmentOrElement,
+                                   mHost)
+
 // QueryInterface implementation for DocumentFragment
 NS_INTERFACE_MAP_BEGIN(DocumentFragment)
   NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
   NS_INTERFACE_MAP_ENTRIES_CYCLE_COLLECTION(DocumentFragment)
   NS_INTERFACE_MAP_ENTRY(nsIContent)
   NS_INTERFACE_MAP_ENTRY(nsINode)
   NS_INTERFACE_MAP_ENTRY(nsIDOMDocumentFragment)
   NS_INTERFACE_MAP_ENTRY(nsIDOMNode)
--- a/dom/base/DocumentFragment.h
+++ b/dom/base/DocumentFragment.h
@@ -38,16 +38,18 @@ public:
   using FragmentOrElement::GetFirstChild;
   using nsINode::QuerySelector;
   using nsINode::QuerySelectorAll;
   // Make sure bindings can see our superclass' protected GetElementById method.
   using nsINode::GetElementById;
 
   // nsISupports
   NS_DECL_ISUPPORTS_INHERITED
+  NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(DocumentFragment,
+                                           FragmentOrElement)
 
   // interface nsIDOMNode
   NS_FORWARD_NSIDOMNODE_TO_NSINODE
 
   // interface nsIDOMDocumentFragment
   NS_DECL_NSIDOMDOCUMENTFRAGMENT
 
   explicit DocumentFragment(already_AddRefed<mozilla::dom::NodeInfo>& aNodeInfo)
@@ -115,22 +117,22 @@ public:
     NS_ASSERTION(false, "Trying to unbind a fragment from a tree");
   }
 
   virtual Element* GetNameSpaceElement() override
   {
     return nullptr;
   }
 
-  nsIContent* GetHost() const
+  Element* GetHost() const
   {
     return mHost;
   }
 
-  void SetHost(nsIContent* aHost)
+  void SetHost(Element* aHost)
   {
     mHost = aHost;
   }
 
   static already_AddRefed<DocumentFragment>
   Constructor(const GlobalObject& aGlobal, ErrorResult& aRv);
 
 #ifdef DEBUG
@@ -140,16 +142,16 @@ public:
 
 protected:
   virtual ~DocumentFragment()
   {
   }
 
   nsresult Clone(mozilla::dom::NodeInfo *aNodeInfo, nsINode **aResult,
                  bool aPreallocateChildren) const override;
-  nsIContent* mHost; // Weak
+  nsCOMPtr<Element> mHost;
 };
 
 } // namespace dom
 } // namespace mozilla
 
 
 #endif // mozilla_dom_DocumentFragment_h__
--- a/dom/base/ShadowRoot.cpp
+++ b/dom/base/ShadowRoot.cpp
@@ -54,33 +54,33 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_END
 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ShadowRoot)
   NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIContent)
   NS_INTERFACE_MAP_ENTRY(nsIMutationObserver)
 NS_INTERFACE_MAP_END_INHERITING(DocumentFragment)
 
 NS_IMPL_ADDREF_INHERITED(ShadowRoot, DocumentFragment)
 NS_IMPL_RELEASE_INHERITED(ShadowRoot, DocumentFragment)
 
-ShadowRoot::ShadowRoot(nsIContent* aContent,
+ShadowRoot::ShadowRoot(Element* aElement,
                        already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
                        nsXBLPrototypeBinding* aProtoBinding)
-  : DocumentFragment(aNodeInfo), mPoolHost(aContent),
+  : DocumentFragment(aNodeInfo), mPoolHost(aElement),
     mProtoBinding(aProtoBinding), mShadowElement(nullptr),
     mInsertionPointChanged(false), mIsComposedDocParticipant(false)
 {
-  SetHost(aContent);
+  SetHost(aElement);
 
   // Nodes in a shadow tree should never store a value
   // in the subtree root pointer, nodes in the shadow tree
   // track the subtree root using GetContainingShadow().
   ClearSubtreeRootPointer();
 
   SetFlags(NODE_IS_IN_SHADOW_TREE);
 
-  ExtendedDOMSlots()->mBindingParent = aContent;
+  ExtendedDOMSlots()->mBindingParent = aElement;
   ExtendedDOMSlots()->mContainingShadow = this;
 
   // Add the ShadowRoot as a mutation observer on the host to watch
   // for mutations because the insertion points in this ShadowRoot
   // may need to be updated when the host children are modified.
   mPoolHost->AddMutationObserver(this);
 }
 
--- a/dom/base/ShadowRoot.h
+++ b/dom/base/ShadowRoot.h
@@ -37,17 +37,17 @@ public:
                                            DocumentFragment)
   NS_DECL_ISUPPORTS_INHERITED
 
   NS_DECL_NSIMUTATIONOBSERVER_ATTRIBUTECHANGED
   NS_DECL_NSIMUTATIONOBSERVER_CONTENTAPPENDED
   NS_DECL_NSIMUTATIONOBSERVER_CONTENTINSERTED
   NS_DECL_NSIMUTATIONOBSERVER_CONTENTREMOVED
 
-  ShadowRoot(nsIContent* aContent, already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
+  ShadowRoot(Element* aElement, already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo,
              nsXBLPrototypeBinding* aProtoBinding);
 
   void AddToIdTable(Element* aElement, nsIAtom* aId);
   void RemoveFromIdTable(Element* aElement, nsIAtom* aId);
   void InsertSheet(StyleSheet* aSheet, nsIContent* aLinkingContent);
   void RemoveSheet(StyleSheet* aSheet);
   bool ApplyAuthorStyles();
   void SetApplyAuthorStyles(bool aApplyAuthorStyles);
--- a/dom/base/nsDOMWindowUtils.cpp
+++ b/dom/base/nsDOMWindowUtils.cpp
@@ -1433,17 +1433,17 @@ nsDOMWindowUtils::CycleCollect(nsICycleC
 {
   nsJSContext::CycleCollectNow(aListener);
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsDOMWindowUtils::RunNextCollectorTimer()
 {
-  nsJSContext::RunNextCollectorTimer();
+  nsJSContext::RunNextCollectorTimer(JS::gcreason::DOM_WINDOW_UTILS);
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsDOMWindowUtils::SendSimpleGestureEvent(const nsAString& aType,
                                          float aX,
                                          float aY,
--- a/dom/base/nsDocument.cpp
+++ b/dom/base/nsDocument.cpp
@@ -12766,33 +12766,33 @@ nsDocument::DocAddSizeOfExcludingThis(ns
   // ComputedValues accessible from DOM elements before ComputedValues not
   // accessible from DOM elements (i.e. accessible only from the frame tree).
   //
   // Therefore, the measurement of the nsIDocument superclass must happen after
   // the measurement of DOM nodes (above), because nsIDocument contains the
   // PresShell, which contains the frame tree.
   nsIDocument::DocAddSizeOfExcludingThis(aWindowSizes);
 
-  aWindowSizes.mStyleSheetsSize +=
+  aWindowSizes.mLayoutStyleSheetsSize +=
     SizeOfOwnedSheetArrayExcludingThis(mStyleSheets,
                                        aWindowSizes.mState.mMallocSizeOf);
   // Note that we do not own the sheets pointed to by mOnDemandBuiltInUASheets
   // (the nsLayoutStyleSheetCache singleton does).
-  aWindowSizes.mStyleSheetsSize +=
+  aWindowSizes.mLayoutStyleSheetsSize +=
     mOnDemandBuiltInUASheets.ShallowSizeOfExcludingThis(
       aWindowSizes.mState.mMallocSizeOf);
   for (auto& sheetArray : mAdditionalSheets) {
-    aWindowSizes.mStyleSheetsSize +=
+    aWindowSizes.mLayoutStyleSheetsSize +=
       SizeOfOwnedSheetArrayExcludingThis(sheetArray,
                                          aWindowSizes.mState.mMallocSizeOf);
   }
   // Lumping in the loader with the style-sheets size is not ideal,
   // but most of the things in there are in fact stylesheets, so it
   // doesn't seem worthwhile to separate it out.
-  aWindowSizes.mStyleSheetsSize +=
+  aWindowSizes.mLayoutStyleSheetsSize +=
     CSSLoader()->SizeOfIncludingThis(aWindowSizes.mState.mMallocSizeOf);
 
   aWindowSizes.mDOMOtherSize += mAttrStyleSheet
                               ? mAttrStyleSheet->DOMSizeOfIncludingThis(
                                   aWindowSizes.mState.mMallocSizeOf)
                               : 0;
 
   aWindowSizes.mDOMOtherSize +=
--- a/dom/base/nsIContentPolicy.idl
+++ b/dom/base/nsIContentPolicy.idl
@@ -335,18 +335,18 @@ interface nsIContentPolicy : nsISupports
    * This will be mapped to TYPE_SCRIPT before being passed to content policy
    * implementations.
    */
   const nsContentPolicyType TYPE_INTERNAL_WORKER_IMPORT_SCRIPTS = 42;
 
   /* When adding new content types, please update nsContentBlocker,
    * NS_CP_ContentTypeName, nsCSPContext, all nsIContentPolicy
    * implementations, the static_assert in dom/cache/DBSchema.cpp,
-   * and other things that are not listed here that are related to
-   * nsIContentPolicy. */
+   * ChannelWrapper.webidl, ChannelWrapper.cpp, and other things that
+   * are not listed here that are related to nsIContentPolicy. */
 
   //////////////////////////////////////////////////////////////////////
 
   /**
    * Returned from shouldLoad or shouldProcess if the load or process request
    * is rejected based on details of the request.
    */
   const short REJECT_REQUEST = -1;
--- a/dom/base/nsJSEnvironment.cpp
+++ b/dom/base/nsJSEnvironment.cpp
@@ -78,20 +78,24 @@
 
 #include "mozilla/Preferences.h"
 #include "mozilla/Telemetry.h"
 #include "mozilla/dom/BindingUtils.h"
 #include "mozilla/Attributes.h"
 #include "mozilla/dom/asmjscache/AsmJSCache.h"
 #include "mozilla/dom/CanvasRenderingContext2DBinding.h"
 #include "mozilla/ContentEvents.h"
-
+#include "mozilla/CycleCollectedJSContext.h"
 #include "nsCycleCollectionNoteRootCallback.h"
 #include "GeckoProfiler.h"
 #include "mozilla/IdleTaskRunner.h"
+#include "nsIDocShell.h"
+#include "nsIPresShell.h"
+#include "nsViewManager.h"
+#include "mozilla/EventStateManager.h"
 
 using namespace mozilla;
 using namespace mozilla::dom;
 
 const size_t gStackSize = 8192;
 
 // Thank you Microsoft!
 #ifdef CompareString
@@ -211,22 +215,16 @@ static bool sGCOnMemoryPressure;
 // nsJSEnvironmentObserver observes the user-interaction-inactive notifications
 // and triggers a shrinking a garbage collection if the user is still inactive
 // after NS_SHRINKING_GC_DELAY ms later, if the appropriate pref is set.
 
 static bool sCompactOnUserInactive;
 static uint32_t sCompactOnUserInactiveDelay = NS_DEAULT_INACTIVE_GC_DELAY;
 static bool sIsCompactingOnUserInactive = false;
 
-// In testing, we call RunNextCollectorTimer() to ensure that the collectors are run more
-// aggressively than they would be in regular browsing. sExpensiveCollectorPokes keeps
-// us from triggering expensive full collections too frequently.
-static int32_t sExpensiveCollectorPokes = 0;
-static const int32_t kPokesBetweenExpensiveCollectorTriggers = 5;
-
 static TimeDuration sGCUnnotifiedTotalTime;
 
 static const char*
 ProcessNameForCollectorLog()
 {
   return XRE_GetProcessType() == GeckoProcessType_Default ?
     "default" : "content";
 }
@@ -1975,72 +1973,108 @@ nsJSContext::LoadEnd()
   if (sPendingLoadCount > 0) {
     --sPendingLoadCount;
     return;
   }
 
   sLoadingInProgress = false;
 }
 
-// Only trigger expensive timers when they have been checked a number of times.
-static bool
-ReadyToTriggerExpensiveCollectorTimer()
-{
-  bool ready = kPokesBetweenExpensiveCollectorTriggers < ++sExpensiveCollectorPokes;
-  if (ready) {
-    sExpensiveCollectorPokes = 0;
-  }
-  return ready;
-}
-
-
 // Check all of the various collector timers/runners and see if they are waiting to fire.
-// For the synchronous collector timers/runners, sGCTimer and sCCRunner, we only want to
-// trigger the collection occasionally, because they are expensive.  The incremental collector
-// timers, sInterSliceGCRunner and sICCRunner, are fast and need to be run many times, so
-// always run their corresponding timer.
-
 // This does not check sFullGCTimer, as that's a more expensive collection we run
 // on a long timer.
 
 // static
 void
-nsJSContext::RunNextCollectorTimer()
+nsJSContext::RunNextCollectorTimer(JS::gcreason::Reason aReason,
+                                   mozilla::TimeStamp aDeadline)
 {
   if (sShuttingDown) {
     return;
   }
 
   if (sGCTimer) {
-    if (ReadyToTriggerExpensiveCollectorTimer()) {
-      GCTimerFired(nullptr, reinterpret_cast<void *>(JS::gcreason::DOM_WINDOW_UTILS));
-    }
-    return;
-  }
-
-  if (sInterSliceGCRunner) {
-    InterSliceGCRunnerFired(TimeStamp(), nullptr);
+    GCTimerFired(nullptr, reinterpret_cast<void*>(aReason));
     return;
   }
 
-  // Check the CC timers after the GC timers, because the CC timers won't do
-  // anything if a GC is in progress.
-  MOZ_ASSERT(!sCCLockedOut, "Don't check the CC timers if the CC is locked out.");
+  nsCOMPtr<nsIRunnable> runnable;
+  if (sInterSliceGCRunner) {
+    sInterSliceGCRunner->SetDeadline(aDeadline);
+    runnable = sInterSliceGCRunner;
+  } else {
+    // Check the CC timers after the GC timers, because the CC timers won't do
+    // anything if a GC is in progress.
+    MOZ_ASSERT(!sCCLockedOut, "Don't check the CC timers if the CC is locked out.");
+  }
 
   if (sCCRunner) {
-    if (ReadyToTriggerExpensiveCollectorTimer()) {
-      CCRunnerFired(TimeStamp());
-    }
-    return;
+    sCCRunner->SetDeadline(aDeadline);
+    runnable = sCCRunner;
   }
 
   if (sICCRunner) {
-    ICCRunnerFired(TimeStamp());
+    sICCRunner->SetDeadline(aDeadline);
+    runnable = sICCRunner;
+  }
+
+  if (runnable) {
+    runnable->Run();
+  }
+}
+
+// static
+void
+nsJSContext::MaybeRunNextCollectorSlice(nsIDocShell* aDocShell,
+                                        JS::gcreason::Reason aReason)
+{
+  if (!aDocShell || !XRE_IsContentProcess()) {
+    return;
+  }
+
+  nsCOMPtr<nsIDocShellTreeItem> root;
+  aDocShell->GetSameTypeRootTreeItem(getter_AddRefs(root));
+  if (root == aDocShell) {
+    // We don't want to run collectors when loading the top level page.
     return;
   }
+
+  nsIDocument* rootDocument = root->GetDocument();
+  if (!rootDocument ||
+      rootDocument->GetReadyStateEnum() != nsIDocument::READYSTATE_COMPLETE ||
+      rootDocument->IsInBackgroundWindow()) {
+    return;
+  }
+
+  nsIPresShell* presShell = rootDocument->GetShell();
+  if (!presShell) {
+    return;
+  }
+
+  nsViewManager* vm = presShell->GetViewManager();
+  if (!vm) {
+    return;
+  }
+
+  // GetLastUserEventTime returns microseconds.
+  uint32_t lastEventTime = 0;
+  vm->GetLastUserEventTime(lastEventTime);
+  uint32_t currentTime =
+    PR_IntervalToMicroseconds(PR_IntervalNow());
+  // Only try to trigger collectors more often if user hasn't interacted with
+  // the page for awhile.
+  if ((currentTime - lastEventTime) >
+      (NS_USER_INTERACTION_INTERVAL * PR_USEC_PER_MSEC)) {
+    Maybe<TimeStamp> next = nsRefreshDriver::GetNextTickHint();
+    // Try to not delay the next RefreshDriver tick, so give a reasonable
+    // deadline for collectors.
+    if (next.isSome()) {
+      nsJSContext::RunNextCollectorTimer(aReason, next.value());
+    }
+  }
 }
 
 // static
 void
 nsJSContext::PokeGC(JS::gcreason::Reason aReason,
                     JSObject* aObj,
                     int aDelay)
 {
@@ -2404,17 +2438,16 @@ mozilla::dom::StartupJSEnvironment()
   sNeedsFullCC = false;
   sNeedsFullGC = true;
   sNeedsGCAfterCC = false;
   gNameSpaceManager = nullptr;
   sIsInitialized = false;
   sDidShutdown = false;
   sShuttingDown = false;
   gCCStats.Init();
-  sExpensiveCollectorPokes = 0;
 }
 
 static void
 SetGCParameter(JSGCParamKey aParam, uint32_t aValue)
 {
   AutoJSAPI jsapi;
   jsapi.Init();
   JS_SetGCParameter(jsapi.cx(), aParam, aValue);
--- a/dom/base/nsJSEnvironment.h
+++ b/dom/base/nsJSEnvironment.h
@@ -16,16 +16,17 @@
 #include "nsIArray.h"
 #include "mozilla/Attributes.h"
 #include "mozilla/TimeStamp.h"
 #include "nsThreadUtils.h"
 #include "xpcpublic.h"
 
 class nsICycleCollectorListener;
 class nsScriptNameSpaceManager;
+class nsIDocShell;
 
 namespace JS {
 class AutoValueVector;
 } // namespace JS
 
 namespace mozilla {
 template <class> class Maybe;
 struct CycleCollectorResults;
@@ -96,17 +97,24 @@ public:
 
   static void BeginCycleCollectionCallback();
   static void EndCycleCollectionCallback(mozilla::CycleCollectorResults &aResults);
 
   // Return the longest CC slice time since ClearMaxCCSliceTime() was last called.
   static uint32_t GetMaxCCSliceTimeSinceClear();
   static void ClearMaxCCSliceTime();
 
-  static void RunNextCollectorTimer();
+  // If there is some pending CC or GC timer/runner, this will run it.
+  static void RunNextCollectorTimer(JS::gcreason::Reason aReason,
+                                    mozilla::TimeStamp aDeadline = mozilla::TimeStamp());
+  // If user has been idle and aDocShell is for an iframe being loaded in an
+  // already loaded top level docshell, this will run a CC or GC
+  // timer/runner if there is such pending.
+  static void MaybeRunNextCollectorSlice(nsIDocShell* aDocShell,
+                                         JS::gcreason::Reason aReason);
 
   // The GC should probably run soon, in the zone of object aObj (if given).
   static void PokeGC(JS::gcreason::Reason aReason, JSObject* aObj, int aDelay = 0);
   static void KillGCTimer();
 
   static void PokeShrinkingGC();
   static void KillShrinkingGCTimer();
 
--- a/dom/base/nsNodeInfoManager.cpp
+++ b/dom/base/nsNodeInfoManager.cpp
@@ -6,17 +6,16 @@
 
 /*
  * A class for handing out nodeinfos and ensuring sharing of them as needed.
  */
 
 #include "nsNodeInfoManager.h"
 
 #include "mozilla/DebugOnly.h"
-#include "mozilla/Telemetry.h"
 #include "mozilla/dom/NodeInfo.h"
 #include "mozilla/dom/NodeInfoInlines.h"
 #include "nsCOMPtr.h"
 #include "nsString.h"
 #include "nsIAtom.h"
 #include "nsIDocument.h"
 #include "nsIPrincipal.h"
 #include "nsIURI.h"
@@ -415,19 +414,16 @@ nsNodeInfoManager::SetDocumentPrincipal(
   mPrincipal = nullptr;
   if (!aPrincipal) {
     aPrincipal = mDefaultPrincipal;
   }
 
   NS_ASSERTION(aPrincipal, "Must have principal by this point!");
   MOZ_DIAGNOSTIC_ASSERT(!nsContentUtils::IsExpandedPrincipal(aPrincipal),
                         "Documents shouldn't have an expanded principal");
-  if (nsContentUtils::IsExpandedPrincipal(aPrincipal)) {
-    Telemetry::Accumulate(Telemetry::DOCUMENT_WITH_EXPANDED_PRINCIPAL, 1);
-  }
 
   mPrincipal = aPrincipal;
 }
 
 void
 nsNodeInfoManager::RemoveNodeInfo(NodeInfo *aNodeInfo)
 {
   NS_PRECONDITION(aNodeInfo, "Trying to remove null nodeinfo from manager!");
--- a/dom/base/nsRange.cpp
+++ b/dom/base/nsRange.cpp
@@ -1482,16 +1482,37 @@ nsRange::SetEnd(nsINode* aContainer, uin
   }
 
   RawRangeBoundary newEnd(aContainer, aOffset);
   DoSetRange(mStart.AsRaw(), newEnd, mRoot);
 
   return NS_OK;
 }
 
+void
+nsRange::SelectNodesInContainer(nsINode* aContainer,
+                                nsIContent* aStartContent,
+                                nsIContent* aEndContent)
+{
+  MOZ_ASSERT(aContainer);
+  MOZ_ASSERT(aContainer->IndexOf(aStartContent) <= aContainer->IndexOf(aEndContent));
+  MOZ_ASSERT(aStartContent && aContainer->IndexOf(aStartContent) != -1);
+  MOZ_ASSERT(aEndContent && aContainer->IndexOf(aEndContent) != -1);
+
+  nsINode* newRoot = ComputeRootNode(aContainer, mMaySpanAnonymousSubtrees);
+  MOZ_ASSERT(newRoot);
+  if (!newRoot) {
+    return;
+  }
+
+  RawRangeBoundary start(aContainer, aStartContent->GetPreviousSibling());
+  RawRangeBoundary end(aContainer, aEndContent);
+  DoSetRange(start, end, newRoot);
+}
+
 nsresult
 nsRange::SetStartAndEnd(nsINode* aStartContainer, uint32_t aStartOffset,
                         nsINode* aEndContainer, uint32_t aEndOffset)
 {
   if (NS_WARN_IF(!aStartContainer) || NS_WARN_IF(!aEndContainer)) {
     return NS_ERROR_INVALID_ARG;
   }
 
--- a/dom/base/nsRange.h
+++ b/dom/base/nsRange.h
@@ -168,16 +168,29 @@ public:
    * If the specified start point is after the end point, the range will be
    * collapsed at the end point.  Similarly, if they are in different root,
    * the range will be collapsed at the end point.
    */
   nsresult SetStartAndEnd(nsINode* aStartContainer, uint32_t aStartOffset,
                           nsINode* aEndContainer, uint32_t aEndOffset);
 
   /**
+   * Adds all nodes between |aStartContent| and |aEndContent| to the range.
+   * The start offset will be set before |aStartContent|,
+   * while the end offset will be set immediately after |aEndContent|.
+   *
+   * Caller must guarantee both nodes are non null and
+   * children of |aContainer| and that |aEndContent| is after |aStartContent|.
+   */
+  void
+  SelectNodesInContainer(nsINode* aContainer,
+                         nsIContent* aStartContent,
+                         nsIContent* aEndContent);
+
+  /**
    * CollapseTo() works similar to call both SetStart() and SetEnd() with
    * same node and offset.  This just calls SetStartAndParent() to set
    * collapsed range at aContainer and aOffset.
    */
   nsresult CollapseTo(nsINode* aContainer, uint32_t aOffset)
   {
     return SetStartAndEnd(aContainer, aOffset, aContainer, aOffset);
   }
--- a/dom/base/nsWindowMemoryReporter.cpp
+++ b/dom/base/nsWindowMemoryReporter.cpp
@@ -30,17 +30,18 @@ StaticRefPtr<nsWindowMemoryReporter> sWi
  * Don't trigger a ghost window check when a DOM window is detached if we've
  * run it this recently.
  */
 const int32_t kTimeBetweenChecks = 45; /* seconds */
 
 nsWindowMemoryReporter::nsWindowMemoryReporter()
   : mLastCheckForGhostWindows(TimeStamp::NowLoRes()),
     mCycleCollectorIsRunning(false),
-    mCheckTimerWaitingForCCEnd(false)
+    mCheckTimerWaitingForCCEnd(false),
+    mGhostWindowCount(0)
 {
 }
 
 nsWindowMemoryReporter::~nsWindowMemoryReporter()
 {
   KillCheckTimer();
 }
 
@@ -115,18 +116,17 @@ nsWindowMemoryReporter::Init()
     os->AddObserver(sWindowReporter, "after-minimize-memory-usage",
                     /* weakRef = */ true);
     os->AddObserver(sWindowReporter, "cycle-collector-begin",
                     /* weakRef = */ true);
     os->AddObserver(sWindowReporter, "cycle-collector-end",
                     /* weakRef = */ true);
   }
 
-  RegisterStrongMemoryReporter(new GhostWindowsReporter());
-  RegisterGhostWindowsDistinguishedAmount(GhostWindowsReporter::DistinguishedAmount);
+  RegisterGhostWindowsDistinguishedAmount(GhostWindowsDistinguishedAmount);
 }
 
 /* static */ nsWindowMemoryReporter*
 nsWindowMemoryReporter::Get()
 {
   return sWindowReporter;
 }
 
@@ -349,19 +349,20 @@ CollectWindowReports(nsGlobalWindow *aWi
   aWindowTotalSizes->mDOMPerformanceResourceEntries +=
     windowSizes.mDOMPerformanceResourceEntries;
 
   REPORT_SIZE("/dom/other", windowSizes.mDOMOtherSize,
               "Memory used by a window's DOM that isn't measured by the "
               "other 'dom/' numbers.");
   aWindowTotalSizes->mDOMOtherSize += windowSizes.mDOMOtherSize;
 
-  REPORT_SIZE("/style-sheets", windowSizes.mStyleSheetsSize,
+  REPORT_SIZE("/layout/style-sheets", windowSizes.mLayoutStyleSheetsSize,
               "Memory used by style sheets within a window.");
-  aWindowTotalSizes->mStyleSheetsSize += windowSizes.mStyleSheetsSize;
+  aWindowTotalSizes->mLayoutStyleSheetsSize +=
+    windowSizes.mLayoutStyleSheetsSize;
 
   REPORT_SIZE("/layout/pres-shell", windowSizes.mLayoutPresShellSize,
               "Memory used by layout's PresShell, along with any structures "
               "allocated in its arena and not measured elsewhere, "
               "within a window.");
   aWindowTotalSizes->mLayoutPresShellSize += windowSizes.mLayoutPresShellSize;
 
   REPORT_SIZE("/layout/gecko-style-sets", windowSizes.mLayoutGeckoStyleSets,
@@ -623,16 +624,27 @@ nsWindowMemoryReporter::CollectReports(n
       path,
       nsIMemoryReporter::KIND_OTHER,
       nsIMemoryReporter::UNITS_COUNT,
       /* amount = */ 1,
       /* description = */ NS_LITERAL_CSTRING("A ghost window."),
       aData);
   }
 
+  MOZ_COLLECT_REPORT(
+    "ghost-windows", KIND_OTHER, UNITS_COUNT, ghostWindows.Count(),
+"The number of ghost windows present (the number of nodes underneath "
+"explicit/window-objects/top(none)/ghost, modulo race conditions).  A ghost "
+"window is not shown in any tab, does not share a domain with any non-detached "
+"windows, and has met these criteria for at least "
+"memory.ghost_window_timeout_seconds, or has survived a round of "
+"about:memory's minimize memory usage button.\n\n"
+"Ghost windows can happen legitimately, but they are often indicative of "
+"leaks in the browser or add-ons.");
+
   WindowPaths windowPaths;
   WindowPaths topWindowPaths;
 
   // Collect window memory usage.
   SizeOfState fakeState(nullptr);   // this won't be used
   nsWindowSizes windowTotalSizes(fakeState);
   nsCOMPtr<amIAddonManager> addonManager;
   if (XRE_IsParentProcess()) {
@@ -675,18 +687,19 @@ nsWindowMemoryReporter::CollectReports(n
   REPORT("window-objects/dom/performance",
          windowTotalSizes.mDOMPerformanceUserEntries +
          windowTotalSizes.mDOMPerformanceResourceEntries,
          "This is the sum of all windows' 'dom/performance/' numbers.");
 
   REPORT("window-objects/dom/other", windowTotalSizes.mDOMOtherSize,
          "This is the sum of all windows' 'dom/other' numbers.");
 
-  REPORT("window-objects/style-sheets", windowTotalSizes.mStyleSheetsSize,
-         "This is the sum of all windows' 'style-sheets' numbers.");
+  REPORT("window-objects/layout/style-sheets",
+         windowTotalSizes.mLayoutStyleSheetsSize,
+         "This is the sum of all windows' 'layout/style-sheets' numbers.");
 
   REPORT("window-objects/layout/pres-shell",
          windowTotalSizes.mLayoutPresShellSize,
          "This is the sum of all windows' 'layout/arenas' numbers.");
 
   REPORT("window-objects/layout/gecko-style-sets",
          windowTotalSizes.mLayoutGeckoStyleSets,
          "This is the sum of all windows' 'layout/gecko-style-sets' numbers.");
@@ -916,39 +929,46 @@ nsWindowMemoryReporter::CheckForGhostWin
     NS_WARNING("GetWindowsTable returned null");
     return;
   }
 
   mLastCheckForGhostWindows = TimeStamp::NowLoRes();
   KillCheckTimer();
 
   nsTHashtable<nsCStringHashKey> nonDetachedWindowDomains;
+  nsDataHashtable<nsISupportsHashKey, nsCString> domainMap;
 
   // Populate nonDetachedWindowDomains.
   for (auto iter = windowsById->Iter(); !iter.Done(); iter.Next()) {
     // Null outer window implies null top, but calling GetTop() when there's no
     // outer window causes us to spew debug warnings.
     nsGlobalWindow* window = iter.UserData();
     if (!window->GetOuterWindow() || !window->GetTopInternal()) {
       // This window is detached, so we don't care about its domain.
       continue;
     }
 
     nsCOMPtr<nsIURI> uri = GetWindowURI(window);
     nsAutoCString domain;
     if (uri) {
-      tldService->GetBaseDomain(uri, 0, domain);
+      domain = domainMap.LookupForAdd(uri).OrInsert([&]() {
+        nsCString d;
+        tldService->GetBaseDomain(uri, 0, d);
+        return d;
+      });
     }
+
     nonDetachedWindowDomains.PutEntry(domain);
   }
 
   // Update mDetachedWindows and write the ghost window IDs into aOutGhostIDs,
   // if it's not null.
   uint32_t ghostTimeout = GetGhostTimeout();
   TimeStamp now = mLastCheckForGhostWindows;
+  mGhostWindowCount = 0;
   for (auto iter = mDetachedWindows.Iter(); !iter.Done(); iter.Next()) {
     nsWeakPtr weakKey = do_QueryInterface(iter.Key());
     nsCOMPtr<mozIDOMWindow> iwindow = do_QueryReferent(weakKey);
     if (!iwindow) {
       // The window object has been destroyed.  Stop tracking its weak ref in
       // our hashtable.
       iter.Remove();
       continue;
@@ -989,33 +1009,29 @@ nsWindowMemoryReporter::CheckForGhostWin
       // This window does not share a domain with a non-detached window, so it
       // meets ghost criterion (2).
       if (timeStamp.IsNull()) {
         // This may become a ghost window later; start its clock.
         timeStamp = now;
       } else if ((now - timeStamp).ToSeconds() > ghostTimeout) {
         // This definitely is a ghost window, so add it to aOutGhostIDs, if
         // that is not null.
+        mGhostWindowCount++;
         if (aOutGhostIDs && window) {
           aOutGhostIDs->PutEntry(window->WindowID());
         }
       }
     }
   }
 }
 
-NS_IMPL_ISUPPORTS(nsWindowMemoryReporter::GhostWindowsReporter,
-                  nsIMemoryReporter)
-
 /* static */ int64_t
-nsWindowMemoryReporter::GhostWindowsReporter::DistinguishedAmount()
+nsWindowMemoryReporter::GhostWindowsDistinguishedAmount()
 {
-  nsTHashtable<nsUint64HashKey> ghostWindows;
-  sWindowReporter->CheckForGhostWindows(&ghostWindows);
-  return ghostWindows.Count();
+  return sWindowReporter->mGhostWindowCount;
 }
 
 void
 nsWindowMemoryReporter::KillCheckTimer()
 {
   if (mCheckTimer) {
     mCheckTimer->Cancel();
     mCheckTimer = nullptr;
--- a/dom/base/nsWindowMemoryReporter.h
+++ b/dom/base/nsWindowMemoryReporter.h
@@ -98,50 +98,21 @@ public:
    * to become ghost windows in the first place.
    */
   static void UnlinkGhostWindows();
 #endif
 
   static nsWindowMemoryReporter* Get();
   void ObserveDOMWindowDetached(nsGlobalWindow* aWindow);
 
+  static int64_t GhostWindowsDistinguishedAmount();
+
 private:
   ~nsWindowMemoryReporter();
 
-  /**
-   * nsGhostWindowReporter generates the "ghost-windows" report, which counts
-   * the number of ghost windows present.
-   */
-  class GhostWindowsReporter final : public nsIMemoryReporter
-  {
-    ~GhostWindowsReporter() {}
-  public:
-    NS_DECL_ISUPPORTS
-
-    static int64_t DistinguishedAmount();
-
-    NS_IMETHOD
-    CollectReports(nsIHandleReportCallback* aHandleReport, nsISupports* aData,
-                   bool aAnonymize) override
-    {
-      MOZ_COLLECT_REPORT(
-        "ghost-windows", KIND_OTHER, UNITS_COUNT, DistinguishedAmount(),
-"The number of ghost windows present (the number of nodes underneath "
-"explicit/window-objects/top(none)/ghost, modulo race conditions).  A ghost "
-"window is not shown in any tab, does not share a domain with any non-detached "
-"windows, and has met these criteria for at least "
-"memory.ghost_window_timeout_seconds, or has survived a round of "
-"about:memory's minimize memory usage button.\n\n"
-"Ghost windows can happen legitimately, but they are often indicative of "
-"leaks in the browser or add-ons.");
-
-      return NS_OK;
-    }
-  };
-
   // Protect ctor, use Init() instead.
   nsWindowMemoryReporter();
 
   /**
    * Get the number of seconds for which a window must satisfy ghost criteria
    * (1) and (2) before we deem that it satisfies criterion (3).
    */
   uint32_t GetGhostTimeout();
@@ -194,12 +165,14 @@ private:
    */
   mozilla::TimeStamp mLastCheckForGhostWindows;
 
   nsCOMPtr<nsITimer> mCheckTimer;
 
   bool mCycleCollectorIsRunning;
 
   bool mCheckTimerWaitingForCCEnd;
+
+  int64_t mGhostWindowCount;
 };
 
 #endif // nsWindowMemoryReporter_h__
 
--- a/dom/base/nsWindowSizes.h
+++ b/dom/base/nsWindowSizes.h
@@ -168,17 +168,17 @@ class nsWindowSizes
   macro(DOM,   mDOMElementNodesSize) \
   macro(DOM,   mDOMTextNodesSize) \
   macro(DOM,   mDOMCDATANodesSize) \
   macro(DOM,   mDOMCommentNodesSize) \
   macro(DOM,   mDOMEventTargetsSize) \
   macro(DOM,   mDOMPerformanceUserEntries) \
   macro(DOM,   mDOMPerformanceResourceEntries) \
   macro(DOM,   mDOMOtherSize) \
-  macro(Style, mStyleSheetsSize) \
+  macro(Style, mLayoutStyleSheetsSize) \
   macro(Other, mLayoutPresShellSize) \
   macro(Style, mLayoutGeckoStyleSets) \
   macro(Style, mLayoutServoStyleSetsStylistRuleTree) \
   macro(Style, mLayoutServoStyleSetsStylistPrecomputedPseudos) \
   macro(Style, mLayoutServoStyleSetsStylistElementAndPseudosMaps) \
   macro(Style, mLayoutServoStyleSetsStylistInvalidationMap) \
   macro(Style, mLayoutServoStyleSetsStylistRevalidationSelectors) \
   macro(Style, mLayoutServoStyleSetsStylistOther) \
--- a/dom/bindings/Bindings.conf
+++ b/dom/bindings/Bindings.conf
@@ -130,16 +130,20 @@ DOMInterfaces = {
         'mozImageSmoothingEnabled': 'imageSmoothingEnabled'
     }
 },
 
 'CaretPosition' : {
     'nativeType': 'nsDOMCaretPosition',
 },
 
+'ChannelWrapper': {
+    'nativeType': 'mozilla::extensions::ChannelWrapper',
+},
+
 'CharacterData': {
     'nativeType': 'nsGenericDOMDataNode',
     'concrete': False
 },
 
 'ChromeUtils': {
     # The codegen is dumb, and doesn't understand that this interface is only a
     # collection of static methods, so we have this `concrete: False` hack.
--- a/dom/bindings/Errors.msg
+++ b/dom/bindings/Errors.msg
@@ -28,17 +28,18 @@ MSG_DEF(MSG_NOT_OBJECT, 1, JSEXN_TYPEERR
 MSG_DEF(MSG_NOT_CALLABLE, 1, JSEXN_TYPEERR, "{0} is not callable.")
 MSG_DEF(MSG_NOT_CONSTRUCTOR, 1, JSEXN_TYPEERR, "{0} is not a constructor.")
 MSG_DEF(MSG_DOES_NOT_IMPLEMENT_INTERFACE, 2, JSEXN_TYPEERR, "{0} does not implement interface {1}.")
 MSG_DEF(MSG_METHOD_THIS_DOES_NOT_IMPLEMENT_INTERFACE, 2, JSEXN_TYPEERR, "'{0}' called on an object that does not implement interface {1}.")
 MSG_DEF(MSG_METHOD_THIS_UNWRAPPING_DENIED, 1, JSEXN_TYPEERR, "Permission to call '{0}' denied.")
 MSG_DEF(MSG_THIS_DOES_NOT_IMPLEMENT_INTERFACE, 1, JSEXN_TYPEERR, "\"this\" object does not implement interface {0}.")
 MSG_DEF(MSG_NOT_IN_UNION, 2, JSEXN_TYPEERR, "{0} could not be converted to any of: {1}.")
 MSG_DEF(MSG_ILLEGAL_CONSTRUCTOR, 0, JSEXN_TYPEERR, "Illegal constructor.")
-MSG_DEF(MSG_ILLEGAL_PR_CONSTRUCTOR, 1, JSEXN_TYPEERR, "TypeError:{0}")
+MSG_DEF(MSG_ILLEGAL_TYPE_PR_CONSTRUCTOR, 1, JSEXN_TYPEERR, "TypeError:{0}")
+MSG_DEF(MSG_ILLEGAL_RANGE_PR_CONSTRUCTOR, 1, JSEXN_RANGEERR, "RangeError:{0}")
 MSG_DEF(MSG_CONSTRUCTOR_WITHOUT_NEW, 1, JSEXN_TYPEERR, "Constructor {0} requires 'new'")
 MSG_DEF(MSG_ENFORCE_RANGE_NON_FINITE, 1, JSEXN_TYPEERR, "Non-finite value is out of range for {0}.")
 MSG_DEF(MSG_ENFORCE_RANGE_OUT_OF_RANGE, 1, JSEXN_TYPEERR, "Value is out of range for {0}.")
 MSG_DEF(MSG_NOT_SEQUENCE, 1, JSEXN_TYPEERR, "{0} can't be converted to a sequence.")
 MSG_DEF(MSG_NOT_DICTIONARY, 1, JSEXN_TYPEERR, "{0} can't be converted to a dictionary.")
 MSG_DEF(MSG_OVERLOAD_RESOLUTION_FAILED, 3, JSEXN_TYPEERR, "Argument {0} is not valid for any of the {1}-argument overloads of {2}.")
 MSG_DEF(MSG_GLOBAL_NOT_NATIVE, 0, JSEXN_TYPEERR, "Global is not a native object.")
 MSG_DEF(MSG_ENCODING_NOT_SUPPORTED, 1, JSEXN_RANGEERR, "The given encoding '{0}' is not supported.")
--- a/dom/events/EventStateManager.cpp
+++ b/dom/events/EventStateManager.cpp
@@ -102,18 +102,16 @@
 #endif
 
 namespace mozilla {
 
 using namespace dom;
 
 //#define DEBUG_DOCSHELL_FOCUS
 
-#define NS_USER_INTERACTION_INTERVAL 5000 // ms
-
 static const LayoutDeviceIntPoint kInvalidRefPoint = LayoutDeviceIntPoint(-1,-1);
 
 static uint32_t gMouseOrKeyboardEventCounter = 0;
 static nsITimer* gUserInteractionTimer = nullptr;
 static nsITimerCallback* gUserInteractionTimerCallback = nullptr;
 
 static const double kCursorLoadingTimeout = 1000; // ms
 static AutoWeakFrame gLastCursorSourceFrame;
--- a/dom/events/EventStateManager.h
+++ b/dom/events/EventStateManager.h
@@ -13,16 +13,18 @@
 #include "nsWeakReference.h"
 #include "nsCOMPtr.h"
 #include "nsCOMArray.h"
 #include "nsCycleCollectionParticipant.h"
 #include "mozilla/TimeStamp.h"
 #include "nsIFrame.h"
 #include "Units.h"
 
+#define NS_USER_INTERACTION_INTERVAL 5000 // ms
+
 class nsFrameLoader;
 class nsIContent;
 class nsIDocument;
 class nsIDocShell;
 class nsIDocShellTreeItem;
 class imgIContainer;
 class EnterLeaveDispatcher;
 class nsIContentViewer;
--- a/dom/events/nsIEventListenerService.idl
+++ b/dom/events/nsIEventListenerService.idl
@@ -12,17 +12,17 @@ interface nsIArray;
 /**
  * Contains an event target along with an array of nsIAtom in form "oneventname"
  * representing changed event listener names.
  */
 [scriptable, uuid(07222b02-da12-4cf4-b2f7-761da007a8d8)]
 interface nsIEventListenerChange : nsISupports
 {
   readonly attribute nsIDOMEventTarget target;
-  readonly attribute nsIArray changedListenerNames;
+  [noscript] readonly attribute nsIArray changedListenerNames;
 };
 
 [scriptable, function, uuid(aa7c95f6-d3b5-44b3-9597-1d9f19b9c5f2)]
 interface nsIListenerChangeListener : nsISupports
 {
   void listenersChanged(in nsIArray aEventListenerChanges);
 };
 
--- a/dom/events/test/test_bug524674.xul
+++ b/dom/events/test/test_bug524674.xul
@@ -103,32 +103,17 @@ https://bugzilla.mozilla.org/show_bug.cg
     var i = 0;
     while (eventChanges.hasMoreElements() && i < expectedEventChanges.length) {
       var current;
       try {
         current = eventChanges.getNext().QueryInterface(Ci.nsIEventListenerChange);
         var expected = expectedEventChanges[i];
 
         if (current.target == expected.target) {
-          // expected.target.listeners should be a subset of
-          // current.changedListenerNames if all expected listener changes were
-          // sent. We may get random other event listener changes here too, not
-          // just the one from the test.
           is(current.target, expected.target, current.target + " = " + expected.target);
-
-          var eNames = current.changedListenerNames.enumerate();
-          var listeners = [];
-          while (eNames.hasMoreElements()) {
-            var listenerName = eNames.getNext().QueryInterface(Ci.nsIAtom).toString();
-            listeners.push(listenerName);
-          }
-          var matchAll = expected.listeners.every(function(val)
-                                                { return listeners.indexOf(val) >= 0; });
-          if (!matchAll)
-            return;
           ++i;
         }
       } catch(ex) {
         continue;
       }
     }
     if (expectedEventChanges.length != i) {
       return;
--- a/dom/html/HTMLInputElement.cpp
+++ b/dom/html/HTMLInputElement.cpp
@@ -3562,23 +3562,27 @@ HTMLInputElement::SelectAll(nsPresContex
 bool
 HTMLInputElement::NeedToInitializeEditorForEvent(
                     EventChainPreVisitor& aVisitor) const
 {
   // We only need to initialize the editor for single line input controls because they
   // are lazily initialized.  We don't need to initialize the control for
   // certain types of events, because we know that those events are safe to be
   // handled without the editor being initialized.  These events include:
-  // mousein/move/out, overflow/underflow, and DOM mutation events.
+  // mousein/move/out, overflow/underflow, DOM mutation, and void events. Void
+  // events are dispatched frequently by async keyboard scrolling to focused
+  // elements, so it's important to handle them to prevent excessive DOM
+  // mutations.
   if (!IsSingleLineTextControl(false) ||
       aVisitor.mEvent->mClass == eMutationEventClass) {
     return false;
   }
 
   switch (aVisitor.mEvent->mMessage) {
+  case eVoidEvent:
   case eMouseMove:
   case eMouseEnterIntoWidget:
   case eMouseExitFromWidget:
   case eMouseOver:
   case eMouseOut:
   case eScrollPortUnderflow:
   case eScrollPortOverflow:
     return false;
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -1441,16 +1441,17 @@ NS_IMPL_RELEASE_INHERITED(HTMLMediaEleme
 
 NS_IMPL_CYCLE_COLLECTION_CLASS(HTMLMediaElement)
 
 NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(HTMLMediaElement, nsGenericHTMLElement)
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mMediaSource)
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mSrcMediaSource)
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mSrcStream)
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mSrcAttrStream)
+  NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mSourcePointer)
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mLoadBlockedDoc)
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mSourceLoadCandidate)
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mAudioChannelWrapper)
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mErrorSink->mError)
   for (uint32_t i = 0; i < tmp->mOutputStreams.Length(); ++i) {
     NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mOutputStreams[i].mStream);
   }
   NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mPlayed);
@@ -1468,16 +1469,17 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_IN
   if (tmp->mSrcStream) {
     // Need to EndMediaStreamPlayback to clear mSrcStream and make sure everything
     // gets unhooked correctly.
     tmp->EndSrcMediaStreamPlayback();
   }
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mSrcAttrStream)
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mMediaSource)
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mSrcMediaSource)
+  NS_IMPL_CYCLE_COLLECTION_UNLINK(mSourcePointer)
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mLoadBlockedDoc)
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mSourceLoadCandidate)
   if (tmp->mAudioChannelWrapper) {
     tmp->mAudioChannelWrapper->Shutdown();
   }
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mAudioChannelWrapper)
   NS_IMPL_CYCLE_COLLECTION_UNLINK(mErrorSink->mError)
   for (uint32_t i = 0; i < tmp->mOutputStreams.Length(); ++i) {
@@ -1501,42 +1503,25 @@ NS_INTERFACE_MAP_END_INHERITING(nsGeneri
 NS_IMPL_URI_ATTR(HTMLMediaElement, Src, src)
 NS_IMPL_BOOL_ATTR(HTMLMediaElement, Controls, controls)
 NS_IMPL_BOOL_ATTR(HTMLMediaElement, Autoplay, autoplay)
 NS_IMPL_BOOL_ATTR(HTMLMediaElement, Loop, loop)
 NS_IMPL_BOOL_ATTR(HTMLMediaElement, DefaultMuted, muted)
 NS_IMPL_ENUM_ATTR_DEFAULT_VALUE(HTMLMediaElement, Preload, preload, nullptr)
 
 void
-HTMLMediaElement::ContentInserted(nsIDocument* aDocument,
-                                  nsIContent*  aContainer,
-                                  nsIContent*  aChild,
-                                  int32_t      aIndexInContainer)
-{
-  if (aContainer != this ||
-      aIndexInContainer >= int32_t(mSourcePointer) ||
-      aIndexInContainer < 0) {
-    return;
-  }
-  ++mSourcePointer;
-}
-
-void
 HTMLMediaElement::ContentRemoved(nsIDocument* aDocument,
                                  nsIContent*  aContainer,
                                  nsIContent*  aChild,
-                                 int32_t      aIndexInContainer,
+                                 int32_t /* aIndexInContainer */,
                                  nsIContent*  aPreviousSibling)
 {
-  if (aContainer != this ||
-      aIndexInContainer >= int32_t(mSourcePointer) ||
-      aIndexInContainer < 0) {
-    return;
-  }
-  --mSourcePointer;
+  if (aChild == mSourcePointer) {
+    mSourcePointer = aPreviousSibling;
+  }
 }
 
 NS_IMETHODIMP_(bool)
 HTMLMediaElement::IsVideo()
 {
   return false;
 }
 
@@ -1807,17 +1792,17 @@ void HTMLMediaElement::AbortExistingLoad
   mAllowSuspendAfterFirstFrame = true;
   mHaveQueuedSelectResource = false;
   mSuspendedForPreloadNone = false;
   mDownloadSuspendedByCache = false;
   mMediaInfo = MediaInfo();
   mIsEncrypted = false;
   mPendingEncryptedInitData.Reset();
   mWaitingForKey = NOT_WAITING_FOR_KEY;
-  mSourcePointer = 0;
+  mSourcePointer = nullptr;
 
   mTags = nullptr;
 
   if (mNetworkState != nsIDOMHTMLMediaElement::NETWORK_EMPTY) {
     NS_ASSERTION(!mDecoder && !mSrcStream, "How did someone setup a new stream/decoder already?");
     // ChangeNetworkState() will call UpdateAudioChannelPlayingState()
     // indirectly which depends on mPaused. So we need to update mPaused first.
     if (!mPaused) {
@@ -3826,20 +3811,20 @@ NS_IMPL_ISUPPORTS(HTMLMediaElement::Shut
 HTMLMediaElement::HTMLMediaElement(already_AddRefed<mozilla::dom::NodeInfo>& aNodeInfo)
   : nsGenericHTMLElement(aNodeInfo),
     mMainThreadEventTarget(OwnerDoc()->EventTargetFor(TaskCategory::Other)),
     mAbstractMainThread(OwnerDoc()->AbstractMainThreadFor(TaskCategory::Other)),
     mWatchManager(this, mAbstractMainThread),
     mSrcStreamTracksAvailable(false),
     mSrcStreamPausedCurrentTime(-1),
     mShutdownObserver(new ShutdownObserver),
-    mCurrentLoadID(0),
-    mSourcePointer(0),
+    mSourcePointer(nullptr),
     mNetworkState(nsIDOMHTMLMediaElement::NETWORK_EMPTY),
     mReadyState(nsIDOMHTMLMediaElement::HAVE_NOTHING, "HTMLMediaElement::mReadyState"),
+    mCurrentLoadID(0),
     mLoadWaitStatus(NOT_WAITING),
     mVolume(1.0),
     mIsAudioTrackAudible(false),
     mMuted(0),
     mPreloadAction(PRELOAD_UNDEFINED),
     mLastCurrentTime(0.0),
     mFragmentStart(-1.0),
     mFragmentEnd(-1.0),
@@ -6454,23 +6439,26 @@ void HTMLMediaElement::NotifyAddedSource
   }
 }
 
 nsIContent* HTMLMediaElement::GetNextSource()
 {
   mSourceLoadCandidate = nullptr;
 
   while (true) {
-    if (mSourcePointer >= GetChildCount())
-      return nullptr; // No more children.
-
-    nsIContent* child = GetChildAt(mSourcePointer);
-
-    // Advance to the next child.
-    ++mSourcePointer;
+    if (mSourcePointer == nsINode::GetLastChild()) {
+      return nullptr; // no more children
+    }
+
+    if (!mSourcePointer) {
+      mSourcePointer = nsINode::GetFirstChild();
+    } else {
+      mSourcePointer = mSourcePointer->GetNextSibling();
+    }
+    nsIContent* child = mSourcePointer;
 
     // If child is a <source> element, it is the next candidate.
     if (child && child->IsHTMLElement(nsGkAtoms::source)) {
       mSourceLoadCandidate = child;
       return child;
     }
   }
   NS_NOTREACHED("Execution should not reach here!");
--- a/dom/html/HTMLMediaElement.h
+++ b/dom/html/HTMLMediaElement.h
@@ -111,17 +111,16 @@ public:
   typedef mozilla::layers::ImageContainer ImageContainer;
   typedef mozilla::VideoFrameContainer VideoFrameContainer;
   typedef mozilla::MediaStream MediaStream;
   typedef mozilla::MediaResource MediaResource;
   typedef mozilla::MediaDecoderOwner MediaDecoderOwner;
   typedef mozilla::MetadataTags MetadataTags;
 
   MOZ_DECLARE_WEAKREFERENCE_TYPENAME(HTMLMediaElement)
-  NS_DECL_NSIMUTATIONOBSERVER_CONTENTINSERTED
   NS_DECL_NSIMUTATIONOBSERVER_CONTENTREMOVED
 
   CORSMode GetCORSMode() {
     return mCORSMode;
   }
 
   explicit HTMLMediaElement(already_AddRefed<mozilla::dom::NodeInfo>& aNodeInfo);
 
@@ -1400,26 +1399,25 @@ protected:
   // Holds a reference to the MediaSource supplying data for playback.  This
   // may either match mSrcMediaSource or come from Source element children.
   // This is set when and only when mLoadingSrc corresponds to an object url
   // that resolved to a MediaSource.
   RefPtr<MediaSource> mMediaSource;
 
   RefPtr<ChannelLoader> mChannelLoader;
 
-  // The current media load ID. This is incremented every time we start a
-  // new load. Async events note the ID when they're first sent, and only fire
-  // if the ID is unchanged when they come to fire.
-  uint32_t mCurrentLoadID;
-
   // Points to the child source elements, used to iterate through the children
-  // when selecting a resource to load.  This is the index of the child element
-  // that is the current 'candidate' in:
+  // when selecting a resource to load.  This is the previous sibling of the
+  // child considered the current 'candidate' in:
   // https://html.spec.whatwg.org/multipage/media.html#concept-media-load-algorithm
-  uint32_t mSourcePointer;
+  //
+  // mSourcePointer == nullptr, we will next try to load |GetFirstChild()|.
+  // mSourcePointer == GetLastChild(), we've exhausted all sources, waiting
+  // for new elements to be appended.
+  nsCOMPtr<nsIContent> mSourcePointer;
 
   // Points to the document whose load we're blocking. This is the document
   // we're bound to when loading starts.
   nsCOMPtr<nsIDocument> mLoadBlockedDoc;
 
   // Contains names of events that have been raised while in the bfcache.
   // These events get re-dispatched when the bfcache is exited.
   nsTArray<nsString> mPendingEvents;
@@ -1435,16 +1433,21 @@ protected:
     NOT_WAITING,
     // We've run the load algorithm, and we tried all source children of the
     // media element, and failed to load any successfully. We're waiting for
     // another source element to be added to the media element, and will try
     // to load any such element when its added.
     WAITING_FOR_SOURCE
   };
 
+  // The current media load ID. This is incremented every time we start a
+  // new load. Async events note the ID when they're first sent, and only fire
+  // if the ID is unchanged when they come to fire.
+  uint32_t mCurrentLoadID;
+
   // Denotes the waiting state of a load algorithm instance. When the load
   // algorithm is waiting for a source element child to be added, this is set
   // to WAITING_FOR_SOURCE, otherwise it's NOT_WAITING.
   LoadAlgorithmState mLoadWaitStatus;
 
   // Current audio volume
   double mVolume;
 
--- a/dom/ipc/TabParent.cpp
+++ b/dom/ipc/TabParent.cpp
@@ -1138,17 +1138,16 @@ TabParent::SendRealMouseEvent(WidgetMous
       mTabSetsCursor = false;
     }
   }
   if (!mIsReadyToHandleInputEvents) {
     if (eMouseEnterIntoWidget == aEvent.mMessage) {
       MOZ_ASSERT(!mIsMouseEnterIntoWidgetEventSuppressed);
       mIsMouseEnterIntoWidgetEventSuppressed = true;
     } else if (eMouseExitFromWidget == aEvent.mMessage) {
-      MOZ_ASSERT(mIsMouseEnterIntoWidgetEventSuppressed);
       mIsMouseEnterIntoWidgetEventSuppressed = false;
     }
     return;
   }
 
   ScrollableLayerGuid guid;
   uint64_t blockId;
   ApzAwareEventRoutingToChild(&guid, &blockId, nullptr);
--- a/dom/media/platforms/android/RemoteDataDecoder.cpp
+++ b/dom/media/platforms/android/RemoteDataDecoder.cpp
@@ -162,21 +162,19 @@ public:
     friend class RemoteDataDecoder;
 
   private:
     RemoteVideoDecoder* mDecoder;
   };
 
   RemoteVideoDecoder(const VideoInfo& aConfig,
                      MediaFormat::Param aFormat,
-                     layers::ImageContainer* aImageContainer,
                      const nsString& aDrmStubId, TaskQueue* aTaskQueue)
     : RemoteDataDecoder(MediaData::Type::VIDEO_DATA, aConfig.mMimeType,
                         aFormat, aDrmStubId, aTaskQueue)
-    , mImageContainer(aImageContainer)
     , mConfig(aConfig)
   {
   }
 
   ~RemoteVideoDecoder() {
     if (mSurface) {
       SurfaceAllocator::DisposeSurface(mSurface);
     }
@@ -233,17 +231,16 @@ public:
   }
 
   bool SupportDecoderRecycling() const override
   {
     return mIsCodecSupportAdaptivePlayback;
   }
 
 private:
-  layers::ImageContainer* mImageContainer;
   const VideoInfo mConfig;
   GeckoSurface::GlobalRef mSurface;
   AndroidSurfaceTextureHandle mSurfaceHandle;
   SimpleMap<InputInfo> mInputInfos;
   bool mIsCodecSupportAdaptivePlayback = false;
 };
 
 class RemoteAudioDecoder : public RemoteDataDecoder
@@ -418,17 +415,17 @@ RemoteDataDecoder::CreateVideoDecoder(co
   NS_ENSURE_SUCCESS(
     MediaFormat::CreateVideoFormat(TranslateMimeType(config.mMimeType),
                                    config.mDisplay.width,
                                    config.mDisplay.height,
                                    &format),
     nullptr);
 
   RefPtr<MediaDataDecoder> decoder = new RemoteVideoDecoder(
-    config, format, aParams.mImageContainer, aDrmStubId, aParams.mTaskQueue);
+    config, format, aDrmStubId, aParams.mTaskQueue);
   if (aProxy) {
     decoder = new EMEMediaDataDecoderProxy(aParams, decoder.forget(), aProxy);
   }
   return decoder.forget();
 }
 
 RemoteDataDecoder::RemoteDataDecoder(MediaData::Type aType,
                                      const nsACString& aMimeType,
deleted file mode 100644
--- a/dom/media/webspeech/recognition/PocketSphinxSpeechRecognitionService.cpp
+++ /dev/null
@@ -1,357 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim:set ts=2 sw=2 sts=2 et cindent: */
-/* 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/. */
-
-#include "nsThreadUtils.h"
-#include "nsXPCOMCIDInternal.h"
-#include "PocketSphinxSpeechRecognitionService.h"
-#include "nsIFile.h"
-#include "SpeechGrammar.h"
-#include "SpeechRecognition.h"
-#include "SpeechRecognitionAlternative.h"
-#include "SpeechRecognitionResult.h"
-#include "SpeechRecognitionResultList.h"
-#include "nsIObserverService.h"
-#include "MediaPrefs.h"
-#include "mozilla/Services.h"
-#include "nsDirectoryServiceDefs.h"
-#include "nsDirectoryServiceUtils.h"
-#include "nsMemory.h"
-
-extern "C" {
-#include "pocketsphinx/pocketsphinx.h"
-#include "sphinxbase/logmath.h"
-#include "sphinxbase/sphinx_config.h"
-#include "sphinxbase/jsgf.h"
-}
-
-namespace mozilla {
-
-using namespace dom;
-
-class DecodeResultTask : public Runnable
-{
-public:
-  DecodeResultTask(const nsString& hypstring,
-                   float64 confidence,
-                   WeakPtr<dom::SpeechRecognition> recognition)
-      : mResult(hypstring),
-        mConfidence(confidence),
-        mRecognition(recognition),
-        mWorkerThread(do_GetCurrentThread())
-  {
-    MOZ_ASSERT(
-      !NS_IsMainThread()); // This should be running on the worker thread
-  }
-
-  NS_IMETHOD
-  Run() override
-  {
-    MOZ_ASSERT(NS_IsMainThread()); // This method is supposed to run on the main
-                                   // thread!
-
-    // Declare javascript result events
-    RefPtr<SpeechEvent> event = new SpeechEvent(
-      mRecognition, SpeechRecognition::EVENT_RECOGNITIONSERVICE_FINAL_RESULT);
-    SpeechRecognitionResultList* resultList =
-      new SpeechRecognitionResultList(mRecognition);
-    SpeechRecognitionResult* result = new SpeechRecognitionResult(mRecognition);
-    if (0 < mRecognition->MaxAlternatives()) {
-      SpeechRecognitionAlternative* alternative =
-        new SpeechRecognitionAlternative(mRecognition);
-
-      alternative->mTranscript = mResult;
-      alternative->mConfidence = mConfidence;
-
-      result->mItems.AppendElement(alternative);
-    }
-    resultList->mItems.AppendElement(result);
-
-    event->mRecognitionResultList = resultList;
-    NS_DispatchToMainThread(event);
-
-    // If we don't destroy the thread when we're done with it, it will hang
-    // around forever... bad!
-    // But thread->Shutdown must be called from the main thread, not from the
-    // thread itself.
-    return mWorkerThread->Shutdown();
-  }
-
-private:
-  nsString mResult;
-  float64 mConfidence;
-  WeakPtr<dom::SpeechRecognition> mRecognition;
-  nsCOMPtr<nsIThread> mWorkerThread;
-};
-
-class DecodeTask : public Runnable
-{
-public:
-  DecodeTask(WeakPtr<dom::SpeechRecognition> recogntion,
-             const nsTArray<int16_t>& audiovector, ps_decoder_t* ps)
-      : mRecognition(recogntion), mAudiovector(audiovector), mPs(ps)
-  {
-  }
-
-  NS_IMETHOD
-  Run() override
-  {
-    char const* hyp;
-    int rv;
-    int32 final;
-    int32 logprob;
-    float64 confidence;
-    nsAutoCString hypoValue;
-
-    rv = ps_start_utt(mPs);
-    rv = ps_process_raw(mPs, &mAudiovector[0], mAudiovector.Length(), FALSE,
-                        FALSE);
-
-    rv = ps_end_utt(mPs);
-    confidence = 0;
-    if (rv >= 0) {
-      hyp = ps_get_hyp_final(mPs, &final);
-      if (hyp && final) {
-        logprob = ps_get_prob(mPs);
-        confidence = logmath_exp(ps_get_logmath(mPs), logprob);
-        hypoValue.Assign(hyp);
-      }
-    }
-
-    nsCOMPtr<nsIRunnable> resultrunnable =
-      new DecodeResultTask(NS_ConvertUTF8toUTF16(hypoValue), confidence, mRecognition);
-    return NS_DispatchToMainThread(resultrunnable);
-  }
-
-private:
-  WeakPtr<dom::SpeechRecognition> mRecognition;
-  nsTArray<int16_t> mAudiovector;
-  ps_decoder_t* mPs;
-};
-
-NS_IMPL_ISUPPORTS(PocketSphinxSpeechRecognitionService,
-                  nsISpeechRecognitionService, nsIObserver)
-
-PocketSphinxSpeechRecognitionService::PocketSphinxSpeechRecognitionService()
-{
-  mSpeexState = nullptr;
-
-  // get root folder
-  nsCOMPtr<nsIFile> tmpFile;
-  nsAutoString aStringAMPath;   // am folder
-  nsAutoString aStringDictPath; // dict folder
-
-  NS_GetSpecialDirectory(NS_GRE_DIR, getter_AddRefs(tmpFile));
-#if defined(XP_WIN) // for some reason, on windows NS_GRE_DIR is not bin root,
-                    // but bin/browser
-  tmpFile->AppendRelativePath(NS_LITERAL_STRING(".."));
-#endif
-  tmpFile->AppendRelativePath(NS_LITERAL_STRING("models"));
-  tmpFile->AppendRelativePath(NS_LITERAL_STRING("en-US"));
-  tmpFile->GetPath(aStringAMPath);
-
-  NS_GetSpecialDirectory(NS_GRE_DIR, getter_AddRefs(tmpFile));
-#if defined(XP_WIN) // for some reason, on windows NS_GRE_DIR is not bin root,
-                    // but bin/browser
-  tmpFile->AppendRelativePath(NS_LITERAL_STRING(".."));
-#endif
-  tmpFile->AppendRelativePath(NS_LITERAL_STRING("models"));     //
-  tmpFile->AppendRelativePath(NS_LITERAL_STRING("dict"));       //
-  tmpFile->AppendRelativePath(NS_LITERAL_STRING("en-US.dic")); //
-  tmpFile->GetPath(aStringDictPath);
-
-  // FOR B2G PATHS HARDCODED (APPEND /DATA ON THE BEGINING, FOR DESKTOP, ONLY
-  // MODELS/ RELATIVE TO ROOT
-  mPSConfig = cmd_ln_init(nullptr, ps_args(), TRUE, "-bestpath", "yes", "-hmm",
-                          ToNewUTF8String(aStringAMPath), // acoustic model
-                          "-dict", ToNewUTF8String(aStringDictPath), nullptr);
-  if (mPSConfig == nullptr) {
-    ISDecoderCreated = false;
-  } else {
-    mPSHandle = ps_init(mPSConfig);
-    if (mPSHandle == nullptr) {
-      ISDecoderCreated = false;
-    } else {
-      ISDecoderCreated = true;
-    }
-  }
-
-  ISGrammarCompiled = false;
-}
-
-PocketSphinxSpeechRecognitionService::~PocketSphinxSpeechRecognitionService()
-{
-  if (mPSConfig) {
-    free(mPSConfig);
-  }
-  if (mPSHandle) {
-    free(mPSHandle);
-  }
-
-  mSpeexState = nullptr;
-}
-
-// CALL START IN JS FALLS HERE
-NS_IMETHODIMP
-PocketSphinxSpeechRecognitionService::Initialize(
-    WeakPtr<SpeechRecognition> aSpeechRecognition)
-{
-  if (!ISDecoderCreated || !ISGrammarCompiled) {
-    return NS_ERROR_NOT_INITIALIZED;
-  } else {
-    mAudioVector.Clear();
-
-    if (mSpeexState) {
-      mSpeexState = nullptr;
-    }
-
-    mRecognition = aSpeechRecognition;
-    nsCOMPtr<nsIObserverService> obs = services::GetObserverService();
-    obs->AddObserver(this, SPEECH_RECOGNITION_TEST_EVENT_REQUEST_TOPIC, false);
-    obs->AddObserver(this, SPEECH_RECOGNITION_TEST_END_TOPIC, false);
-    return NS_OK;
-  }
-}
-
-NS_IMETHODIMP
-PocketSphinxSpeechRecognitionService::ProcessAudioSegment(
-  AudioSegment* aAudioSegment, int32_t aSampleRate)
-{
-  if (!mSpeexState) {
-    mSpeexState = speex_resampler_init(1, aSampleRate, 16000,
-                                       SPEEX_RESAMPLER_QUALITY_MAX, nullptr);
-  }
-  aAudioSegment->ResampleChunks(mSpeexState, aSampleRate, 16000);
-
-  AudioSegment::ChunkIterator iterator(*aAudioSegment);
-
-  while (!iterator.IsEnded()) {
-    mozilla::AudioChunk& chunk = *(iterator);
-    MOZ_ASSERT(chunk.mBuffer);
-    const int16_t* buf = static_cast<const int16_t*>(chunk.mChannelData[0]);
-
-    for (int i = 0; i < iterator->mDuration; i++) {
-      mAudioVector.AppendElement((int16_t)buf[i]);
-    }
-    iterator.Next();
-  }
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-PocketSphinxSpeechRecognitionService::SoundEnd()
-{
-  speex_resampler_destroy(mSpeexState);
-  mSpeexState = nullptr;
-
-  // To create a new thread, get the thread manager
-  nsCOMPtr<nsIThreadManager> tm = do_GetService(NS_THREADMANAGER_CONTRACTID);
-  nsCOMPtr<nsIThread> decodethread;
-  nsresult rv = tm->NewThread(0, 0, getter_AddRefs(decodethread));
-  if (NS_FAILED(rv)) {
-    // In case of failure, call back immediately with an empty string which
-    // indicates failure
-    return NS_OK;
-  }
-
-  nsCOMPtr<nsIRunnable> r =
-    new DecodeTask(mRecognition, mAudioVector, mPSHandle);
-  decodethread->Dispatch(r, nsIEventTarget::DISPATCH_NORMAL);
-
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-PocketSphinxSpeechRecognitionService::ValidateAndSetGrammarList(
-  SpeechGrammar* aSpeechGrammar,
-  nsISpeechGrammarCompilationCallback* aCallback)
-{
-  if (!ISDecoderCreated) {
-    ISGrammarCompiled = false;
-  } else if (aSpeechGrammar) {
-    nsAutoString grammar;
-    ErrorResult rv;
-    aSpeechGrammar->GetSrc(grammar, rv);
-
-    int result = ps_set_jsgf_string(mPSHandle, "name",
-                                    NS_ConvertUTF16toUTF8(grammar).get());
-
-    if (result != 0) {
-      ISGrammarCompiled = false;
-    } else {
-      ps_set_search(mPSHandle, "name");
-
-      ISGrammarCompiled = true;
-    }
-  } else {
-    ISGrammarCompiled = false;
-  }
-
-  return ISGrammarCompiled ? NS_OK : NS_ERROR_NOT_INITIALIZED;
-}
-
-NS_IMETHODIMP
-PocketSphinxSpeechRecognitionService::Abort()
-{
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-PocketSphinxSpeechRecognitionService::Observe(nsISupports* aSubject,
-                                              const char* aTopic,
-                                              const char16_t* aData)
-{
-  MOZ_ASSERT(MediaPrefs::WebSpeechFakeRecognitionService(),
-             "Got request to fake recognition service event, "
-             "but " TEST_PREFERENCE_FAKE_RECOGNITION_SERVICE " is not set");
-
-  if (!strcmp(aTopic, SPEECH_RECOGNITION_TEST_END_TOPIC)) {
-    nsCOMPtr<nsIObserverService> obs = services::GetObserverService();
-    obs->RemoveObserver(this, SPEECH_RECOGNITION_TEST_EVENT_REQUEST_TOPIC);
-    obs->RemoveObserver(this, SPEECH_RECOGNITION_TEST_END_TOPIC);
-
-    return NS_OK;
-  }
-
-  const nsDependentString eventName = nsDependentString(aData);
-
-  if (eventName.EqualsLiteral("EVENT_RECOGNITIONSERVICE_ERROR")) {
-    mRecognition->DispatchError(
-      SpeechRecognition::EVENT_RECOGNITIONSERVICE_ERROR,
-      SpeechRecognitionErrorCode::Network, // TODO different codes?
-      NS_LITERAL_STRING("RECOGNITIONSERVICE_ERROR test event"));
-
-  } else if (eventName.EqualsLiteral("EVENT_RECOGNITIONSERVICE_FINAL_RESULT")) {
-    RefPtr<SpeechEvent> event = new SpeechEvent(
-      mRecognition, SpeechRecognition::EVENT_RECOGNITIONSERVICE_FINAL_RESULT);
-
-    event->mRecognitionResultList = BuildMockResultList();
-    NS_DispatchToMainThread(event);
-  }
-
-  return NS_OK;
-}
-
-SpeechRecognitionResultList*
-PocketSphinxSpeechRecognitionService::BuildMockResultList()
-{
-  SpeechRecognitionResultList* resultList =
-    new SpeechRecognitionResultList(mRecognition);
-  SpeechRecognitionResult* result = new SpeechRecognitionResult(mRecognition);
-  if (0 < mRecognition->MaxAlternatives()) {
-    SpeechRecognitionAlternative* alternative =
-      new SpeechRecognitionAlternative(mRecognition);
-
-    alternative->mTranscript = NS_LITERAL_STRING("Mock final result");
-    alternative->mConfidence = 0.0f;
-
-    result->mItems.AppendElement(alternative);
-  }
-  resultList->mItems.AppendElement(result);
-
-  return resultList;
-}
-
-} // namespace mozilla
deleted file mode 100644
--- a/dom/media/webspeech/recognition/PocketSphinxSpeechRecognitionService.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim:set ts=2 sw=2 sts=2 et cindent: */
-/* 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/. */
-
-#ifndef mozilla_dom_PocketSphinxRecognitionService_h
-#define mozilla_dom_PocketSphinxRecognitionService_h
-
-#include "nsCOMPtr.h"
-#include "nsTArray.h"
-#include "nsIObserver.h"
-#include "nsISpeechRecognitionService.h"
-#include "speex/speex_resampler.h"
-
-extern "C" {
-#include <pocketsphinx/pocketsphinx.h>
-#include <sphinxbase/sphinx_config.h>
-}
-
-#define NS_POCKETSPHINX_SPEECH_RECOGNITION_SERVICE_CID                         \
-  {                                                                            \
-    0x0ff5ce56, 0x5b09, 0x4db8, {                                              \
-      0xad, 0xc6, 0x82, 0x66, 0xaf, 0x95, 0xf8, 0x64                           \
-    }                                                                          \
-  };
-
-namespace mozilla {
-
-/**
- * Pocketsphix implementation of the nsISpeechRecognitionService interface
- */
-class PocketSphinxSpeechRecognitionService : public nsISpeechRecognitionService,
-                                             public nsIObserver
-{
-public:
-  // Add XPCOM glue code
-  NS_DECL_ISUPPORTS
-  NS_DECL_NSISPEECHRECOGNITIONSERVICE
-
-  // Add nsIObserver code
-  NS_DECL_NSIOBSERVER
-
-  /**
-   * Default constructs a PocketSphinxSpeechRecognitionService loading default
-   * files
-   */
-  PocketSphinxSpeechRecognitionService();
-
-private:
-  /**
-   * Private destructor to prevent bypassing of reference counting
-   */
-  virtual ~PocketSphinxSpeechRecognitionService();
-
-  /** The associated SpeechRecognition */
-  WeakPtr<dom::SpeechRecognition> mRecognition;
-
-  /**
-   * Builds a mock SpeechRecognitionResultList
-   */
-  dom::SpeechRecognitionResultList* BuildMockResultList();
-
-  /** Speex state */
-  SpeexResamplerState* mSpeexState;
-
-  /** Pocksphix decoder */
-  ps_decoder_t* mPSHandle;
-
-  /** Sphinxbase parsed command line arguments */
-  cmd_ln_t* mPSConfig;
-
-  /** Flag to verify if decoder was created */
-  bool ISDecoderCreated;
-
-  /** Flag to verify if grammar was compiled */
-  bool ISGrammarCompiled;
-
-  /** Audio data */
-  nsTArray<int16_t> mAudioVector;
-};
-
-} // namespace mozilla
-
-#endif
deleted file mode 100644
--- a/dom/media/webspeech/recognition/models/dict/en-US.dic
+++ /dev/null
@@ -1,133449 +0,0 @@
-firefox	F AY ER F AA K S
-!exclamation-point	EH K S K L AH M EY SH AH N P OY N T
-"close-quote	K L OW Z K W OW T
-"double-quote	D AH B AH L K W OW T
-"end-of-quote	EH N D AH V K W OW T
-"end-quote	EH N D K W OW T
-"in-quotes	IH N K W OW T S
-"quote	K W OW T
-"unquote	AH N K W OW T
-#sharp-sign	SH AA R P S AY N
-%percent	P ER S EH N T
-&ampersand	AE M P ER S AE N D
-'bout	B AW T
-'cause	K AH Z
-'course	K AO R S
-'cuse	K Y UW Z
-'em	AH M
-'end-inner-quote	EH N D IH N ER K W OW T
-'end-quote	EH N D K W OW T
-'frisco	F R IH S K OW
-'gain	G EH N
-'inner-quote	IH N ER K W OW T
-'kay	K EY
-'m	AH M
-'n	AH N
-'quote	K W OW T
-'round	R AW N D
-'s	EH S
-'single-quote	S IH NG G AH L K W OW T
-'til	T IH L
-'tis	T IH Z
-'twas	T W AH Z
-(begin-parens	B IH G IH N P ER EH N Z
-(in-parentheses	IH N P ER EH N TH AH S IY Z
-(left-paren	L EH F T P ER EH N
-(open-parentheses	OW P AH N P ER EH N TH AH S IY Z
-(paren	P ER EH N
-(parens	P ER EH N Z
-(parentheses	P ER EH N TH AH S IY Z
-)close-paren	K L OW Z P ER EH N
-)close-parentheses	K L OW Z P ER EH N TH AH S IY Z
-)end-paren	EH N D P ER EH N
-)end-parens	EH N D P ER EH N Z
-)end-parentheses	EH N D P ER EH N TH AH S IY Z
-)end-the-paren	EH N D DH AH P ER EH N
-)paren	P ER EH N
-)parens	P ER EH N Z
-)right-paren	R AY T P ER EH N
-)right-paren(2)	R AY T P EH R AH N
-)un-parentheses	AH N P ER EH N TH AH S IY Z
-,comma	K AA M AH
--dash	D AE SH
--hyphen	HH AY F AH N
-...ellipsis	IH L IH P S IH S
-.decimal	D EH S AH M AH L
-.dot	D AA T
-.full-stop	F UH L S T AA P
-.period	P IH R IY AH D
-.point	P OY N T
-/slash	S L AE SH
-:colon	K OW L AH N
-;semi-colon	S EH M IY K OW L AH N
-;semi-colon(2)	S EH M IH K OW L AH N
-?question-mark	K W EH S CH AH N M AA R K
-a	AH
-a's	EY Z
-a(2)	EY
-a.	EY
-a.'s	EY Z
-a.s	EY Z
-a42128	EY F AO R T UW W AH N T UW EY T
-aaa	T R IH P AH L EY
-aaberg	AA B ER G
-aachen	AA K AH N
-aachener	AA K AH N ER
-aaker	AA K ER
-aalseth	AA L S EH TH
-aamodt	AA M AH T
-aancor	AA N K AO R
-aardema	AA R D EH M AH
-aardvark	AA R D V AA R K
-aaron	EH R AH N
-aaron's	EH R AH N Z
-aarons	EH R AH N Z
-aaronson	EH R AH N S AH N
-aaronson's	EH R AH N S AH N Z
-aaronson's(2)	AA R AH N S AH N Z
-aaronson(2)	AA R AH N S AH N
-aarti	AA R T IY
-aase	AA S
-aasen	AA S AH N
-ab	AE B
-ab(2)	EY B IY
-ababa	AH B AA B AH
-ababa(2)	AA B AH B AH
-abacha	AE B AH K AH
-aback	AH B AE K
-abaco	AE B AH K OW
-abacus	AE B AH K AH S
-abad	AH B AA D
-abadaka	AH B AE D AH K AH
-abadi	AH B AE D IY
-abadie	AH B AE D IY
-abair	AH B EH R
-abalkin	AH B AA L K IH N
-abalone	AE B AH L OW N IY
-abalos	AA B AA L OW Z
-abandon	AH B AE N D AH N
-abandoned	AH B AE N D AH N D
-abandoning	AH B AE N D AH N IH NG
-abandonment	AH B AE N D AH N M AH N T
-abandonments	AH B AE N D AH N M AH N T S
-abandons	AH B AE N D AH N Z
-abanto	AH B AE N T OW
-abarca	AH B AA R K AH
-abare	AA B AA R IY
-abascal	AE B AH S K AH L
-abash	AH B AE SH
-abashed	AH B AE SH T
-abate	AH B EY T
-abated	AH B EY T IH D
-abatement	AH B EY T M AH N T
-abatements	AH B EY T M AH N T S
-abates	AH B EY T S
-abating	AH B EY T IH NG
-abba	AE B AH
-abbado	AH B AA D OW
-abbas	AH B AA S
-abbasi	AA B AA S IY
-abbate	AA B EY T
-abbatiello	AA B AA T IY EH L OW
-abbe	AE B IY
-abbe(2)	AE B EY
-abbenhaus	AE B AH N HH AW S
-abbett	AH B EH T
-abbeville	AE B V IH L
-abbey	AE B IY
-abbey's	AE B IY Z
-abbie	AE B IY
-abbitt	AE B IH T
-abbot	AE B AH T
-abbotstown	AE B AH T S T AW N
-abbott	AE B AH T
-abbott's	AE B AH T S
-abbottstown	AE B AH T S T AW N
-abboud	AH B UW D
-abboud(2)	AH B AW D
-abbreviate	AH B R IY V IY EY T
-abbreviated	AH B R IY V IY EY T AH D
-abbreviated(2)	AH B R IY V IY EY T IH D
-abbreviates	AH B R IY V IY EY T S
-abbreviating	AH B R IY V IY EY T IH NG
-abbreviation	AH B R IY V IY EY SH AH N
-abbreviations	AH B R IY V IY EY SH AH N Z
-abbruzzese	AA B R UW T S EY Z IY
-abbs	AE B Z
-abby	AE B IY
-abco	AE B K OW
-abcotek	AE B K OW T EH K
-abdalla	AE B D AE L AH
-abdallah	AE B D AE L AH
-abdel	AE B D EH L
-abdella	AE B D EH L AH
-abdicate	AE B D AH K EY T
-abdicated	AE B D AH K EY T AH D
-abdicates	AE B D AH K EY T S
-abdicating	AE B D IH K EY T IH NG
-abdication	AE B D IH K EY SH AH N
-abdnor	AE B D N ER
-abdo	AE B D OW
-abdollah	AE B D AA L AH
-abdomen	AE B D OW M AH N
-abdomen(2)	AE B D AH M AH N
-abdominal	AE B D AA M AH N AH L
-abdominal(2)	AH B D AA M AH N AH L
-abduct	AE B D AH K T
-abducted	AE B D AH K T IH D
-abducted(2)	AH B D AH K T IH D
-abductee	AE B D AH K T IY
-abductees	AE B D AH K T IY Z
-abducting	AE B D AH K T IH NG
-abducting(2)	AH B D AH K T IH NG
-abduction	AE B D AH K SH AH N
-abduction(2)	AH B D AH K SH AH N
-abductions	AE B D AH K SH AH N Z
-abductions(2)	AH B D AH K SH AH N Z
-abductor	AE B D AH K T ER
-abductor(2)	AH B D AH K T ER
-abductors	AE B D AH K T ER Z
-abductors(2)	AH B D AH K T ER Z
-abducts	AE B D AH K T S
-abdul	AE B D UW L
-abdulaziz	AE B D UW L AH Z IY Z
-abdulla	AA B D UW L AH
-abdullah	AE B D AH L AH
-abe	EY B
-abed	AH B EH D
-abedi	AH B EH D IY
-abee	AH B IY
-abel	EY B AH L
-abela	AA B EH L AH
-abelard	AE B IH L ER D
-abele	AH B IY L
-abeles	AH B IY L Z
-abeles(2)	EY B AH L IY Z
-abell	EY B AH L
-abella	AH B EH L AH
-abeln	AE B IH L N
-abelow	AE B AH L OW
-abels	EY B AH L Z
-abelson	AE B IH L S AH N
-abend	AE B EH N D
-abend(2)	AH B EH N D
-abendroth	AE B IH N D R AO TH
-aber	EY B ER
-abercrombie	AE B ER K R AA M B IY
-aberdeen	AE B ER D IY N
-aberford	EY B ER F ER D
-aberg	AE B ER G
-aberle	AE B ER AH L
-aberle(2)	AE B ER L
-abermin	AE B ER M IH N
-abernathy	AE B ER N AE TH IY
-abernethy	AE B ER N EH TH IY
-aberrant	AE B EH R AH N T
-aberration	AE B ER EY SH AH N
-aberrational	AE B ER EY SH AH N AH L
-aberrations	AE B ER EY SH AH N Z
-abert	AE B ER T
-abet	AH B EH T
-abetted	AH B EH T IH D
-abetting	AH B EH T IH NG
-abex	EY B EH K S
-abeyance	AH B EY AH N S
-abeyta	AA B EY T AH
-abhor	AE B HH AO R
-abhorred	AH B HH AO R D
-abhorrence	AH B HH AO R AH N S
-abhorrent	AE B HH AO R AH N T
-abhors	AH B HH AO R Z
-abiam	EY B IY AH M
-abiam's	EY B IY AH M Z
-abid	EY B IH D
-abide	AH B AY D
-abided	AH B AY D IH D
-abides	AH B AY D Z
-abiding	AH B AY D IH NG
-abidjan	AE B IH JH AA N
-abie	AE B IY
-abigail	AE B AH G EY L
-abila	AA B IY L AH
-abilene	AE B IH L IY N
-abilities	AH B IH L AH T IY Z
-ability	AH B IH L AH T IY
-abimael	AE B IH M EY L
-abimaels	AE B IH M EY L Z
-abingdon	AE B IH NG D AH N
-abington	AE B IH NG T AH N
-abio	AA B IY OW
-abiola	AA B IY OW L AH
-abiola's	AA B IY OW L AH Z
-abiomed	EY B IY AH M EH D
-abiquiu	AH B IH K Y UW
-abitibi	AE B IH T IY B IY
-abitz	AE B IH T S
-abject	AE B JH EH K T
-abkhazia	AE B K HH AA Z Y AH
-abkhazia(2)	AE B K HH AE Z Y AH
-abkhazian	AE B K HH AA Z IY AH N
-abkhazian(2)	AE B K HH AE Z IY AH N
-abkhazian(3)	AE B K HH AA Z Y AH N
-abkhazian(4)	AE B K HH AE Z Y AH N
-abkhazians	AE B K HH AA Z IY AH N Z
-abkhazians(2)	AE B K HH AE Z IY AH N Z
-ablaze	AH B L EY Z
-able	EY B AH L
-able-bodied	EY B AH L B AA D IY D
-abled	EY B AH L D
-abler	EY B AH L ER
-abler(2)	EY B L ER
-ables	EY B AH L Z
-ablest	EY B AH L S T
-ablest(2)	EY B L AH S T
-abloom	AH B L UW M
-ably	EY B L IY
-abner	AE B N ER
-abney	AE B N IY
-abnormal	AE B N AO R M AH L
-abnormalities	AE B N AO R M AE L AH T IY Z
-abnormality	AE B N AO R M AE L AH T IY
-abnormally	AE B N AO R M AH L IY
-abo	AA B OW
-abo's	AA B OW Z
-aboard	AH B AO R D
-abode	AH B OW D
-abohalima	AE B AH HH AH L IY M AH
-abolish	AH B AA L IH SH
-abolished	AH B AA L IH SH T
-abolishes	AH B AA L IH SH IH Z
-abolishing	AH B AA L IH SH IH NG
-abolition	AE B AH L IH SH AH N
-abolitionism	AE B AH L IH SH AH N IH Z AH M
-abolitionist	AE B AH L IH SH AH N AH S T
-abolitionists	AE B AH L IH SH AH N AH S T S
-abolitionists(2)	AE B AH L IH SH AH N AH S
-abominable	AH B AA M AH N AH B AH L
-abomination	AH B AA M AH N EY SH AH N
-abood	AH B UW D
-aboodi	AH B UW D IY
-abor	AH B AO R
-aboriginal	AE B ER IH JH AH N AH L
-aborigine	AE B ER IH JH AH N IY
-aborigines	AE B ER IH JH AH N IY Z
-aborn	AH B AO R N
-abort	AH B AO R T
-aborted	AH B AO R T IH D
-abortifacient	AH B AO R T AH F EY SH AH N T
-abortifacients	AH B AO R T AH F EY SH AH N T S
-aborting	AH B AO R T IH NG
-abortion	AH B AO R SH AH N
-abortionist	AH B AO R SH AH N IH S T
-abortionists	AH B AO R SH AH N IH S T S
-abortionists(2)	AH B AO R SH AH N IH S
-abortions	AH B AO R SH AH N Z
-abortive	AH B AO R T IH V
-aborts	AH B AO R T S
-abott	AH B AA T
-abou	AH B UW
-aboud	AA B UW D
-abouhalima	AA B UW HH AA L IY M AH
-abouhalima's	AA B UW HH AA L IY M AH Z
-abound	AH B AW N D
-abounded	AH B AW N D IH D
-abounding	AH B AW N D IH NG
-abounds	AH B AW N D Z
-about	AH B AW T
-about's	AH B AW T S
-above	AH B AH V
-above's	AH B AH V Z
-aboveboard	AH B AH V B AO R D
-abplanalp	AE B P L AH N AE L P
-abra	AA B R AH
-abracadabra	AE B R AH K AH D AE B R AH
-abraham	EY B R AH HH AE M
-abrahamian	AE B R AH HH EY M IY AH N
-abrahams	EY B R AH HH AE M Z
-abrahamsen	AE B R AH HH AE M S AH N
-abrahamson	AH B R AE HH AH M S AH N
-abram	AH B R AE M
-abram's	EY B R AH M Z
-abramczyk	AA B R AH M CH IH K
-abramo	AA B R AA M OW
-abramovitz	AH B R AA M AH V IH T S
-abramowicz	AH B R AA M AH V IH CH
-abramowitz	AH B R AA M AH W IH T S
-abrams	EY B R AH M Z
-abrams's	EY B R AH M Z IH Z
-abramson	EY B R AH M S AH N
-abrasion	AH B R EY ZH AH N
-abrasions	AH B R EY ZH AH N Z
-abrasive	AH B R EY S IH V
-abrasives	AH B R EY S IH V Z
-abraxa	AH B R AE K S AH
-abraxa's	AH B R AE K S AH Z
-abraxas	AH B R AE K S AH Z
-abreast	AH B R EH S T
-abrego	AA B R EH G OW
-abreu	AH B R UW
-abridge	AH B R IH JH
-abridged	AH B R IH JH D
-abridgement	AH B R IH JH M AH N T
-abridges	AH B R IH JH AH Z
-abridging	AH B R IH JH IH NG
-abril	AH B R IH L
-abroad	AH B R AO D
-abrogate	AE B R AH G EY T
-abrogated	AE B R AH G EY T IH D
-abrogating	AE B R AH G EY T IH NG
-abrogation	AE B R AH G EY SH AH N
-abrol	AH B R OW L
-abron	AH B R AA N
-abrupt	AH B R AH P T
-abruptly	AH B R AH P T L IY
-abruptness	AH B R AH P T N AH S
-abrutyn	EY B R UW T IH N
-abruzzese	AA B R UW T S EY Z IY
-abruzzo	AA B R UW Z OW
-abs	EY B IY EH S
-abs(2)	AE B Z
-absalom	AE B S AH L AH M
-absaraka	AE B S AA R AH K AH
-abscam	AE B S K AE M
-abscess	AE B S EH S
-abscond	AE B S K AA N D
-absconded	AE B S K AA N D AH D
-absconding	AE B S K AA N D IH NG
-absconds	AE B S K AA N D Z
-absecon	AE B S AH K AO N
-absence	AE B S AH N S
-absences	AE B S AH N S IH Z
-absent	AE B S AH N T
-absentee	AE B S AH N T IY
-absenteeism	AE B S AH N T IY IH Z AH M
-absentees	AE B S AH N T IY Z
-absentia	AE B S EH N SH AH
-absher	AE B SH ER
-abshier	AE B SH IY ER
-abshire	AE B SH AY R
-absinthe	AE B S IH N TH
-abso	AE B S OW
-absolom	AE B S AH L AH M
-absolut	AE B S AH L UW T
-absolut's	AE B S AH L UW T S
-absolute	AE B S AH L UW T
-absolutely	AE B S AH L UW T L IY
-absoluteness	AE B S AH L UW T N AH S
-absolutes	AE B S AH L UW T S
-absolution	AE B S AH L UW SH AH N
-absolutism	AE B S AH L UW T IH Z AH M
-absolutist	AE B S IH L UW T IH S T
-absolve	AH B Z AA L V
-absolve(2)	AE B Z AA L V
-absolved	AH B Z AA L V D
-absolved(2)	AE B Z AA L V D
-absolves	AH B Z AA L V Z
-absolves(2)	AE B Z AA L V Z
-absolving	AH B Z AA L V IH NG
-absolving(2)	AE B Z AA L V IH NG
-absorb	AH B Z AO R B
-absorbed	AH B Z AO R B D
-absorbency	AH B Z AO R B AH N S IY
-absorbent	AH B Z AO R B AH N T
-absorber	AH B Z AO R B ER
-absorbers	AH B Z AO R B ER Z
-absorbing	AH B Z AO R B IH NG
-absorbs	AH B Z AO R B Z
-absorption	AH B Z AO R P SH AH N
-absorption(2)	AH B S AO R P SH AH N
-abstain	AH B S T EY N
-abstain(2)	AE B S T EY N
-abstained	AH B S T EY N D
-abstained(2)	AE B S T EY N D
-abstaining	AH B S T EY N IH NG
-abstaining(2)	AE B S T EY N IH NG
-abstention	AH B S T EH N CH AH N
-abstention(2)	AE B S T EH N CH AH N
-abstentions	AH B S T EH N CH AH N Z
-abstentions(2)	AE B S T EH N CH AH N Z
-abstinence	AE B S T AH N AH N S
-abstinent	AE B S T AH N AH N T
-abston	AE B S T AH N
-abstract	AE B S T R AE K T
-abstracted	AE B S T R AE K T IH D
-abstraction	AE B S T R AE K SH AH N
-abstractions	AE B S T R AE K SH AH N Z
-abstracts	AE B S T R AE K T S
-abstruse	AH B S T R UW S
-absurd	AH B S ER D
-absurdist	AH B S ER D IH S T
-absurdities	AH B S ER D AH T IY Z
-absurdity	AH B S ER D AH T IY
-absurdly	AH B S ER D L IY
-abt	AE B T
-abt(2)	EY B IY T IY
-abts	AE B T S
-abts(2)	EY B IY T IY Z
-abts(3)	EY B IY T IY EH S
-abu	AE B UW
-abudrahm	AH B AH D R AH M
-abuellah	AH B W EH L AH
-abuellah's	AH B W EH L AH Z
-abuladze	AE B Y UW L AE D Z IY
-abundance	AH B AH N D AH N S
-abundant	AH B AH N D AH N T
-abundantly	AH B AH N D AH N T L IY
-aburto	AH B UH R T OW
-aburto's	AH B UH R T OW Z
-abuse	AH B Y UW S
-abuse(2)	AH B Y UW Z
-abused	AH B Y UW Z D
-abuser	AH B Y UW Z ER
-abusers	AH B Y UW Z ER Z
-abuses	AH B Y UW S IH Z
-abuses(2)	AH B Y UW Z IH Z
-abusing	AH B Y UW Z IH NG
-abusive	AH B Y UW S IH V
-abut	AH B AH T
-abuts	AH B AH T S
-abutted	AH B AH T AH D
-abutting	AH B AH T IH NG
-abuzz	AH B AH Z
-abysmal	AH B IH Z M AH L
-abysmally	AH B IH Z M AH L IY
-abyss	AH B IH S
-abyssinia	AE B S IH N IY AH
-abyssinian	AE B S IH N IY AH N
-abzug	AE B Z AH G
-abzug(2)	AE B Z UH G
-ac	EY S IY
-aca	AE K AH
-acacia	AH K EY SH AH
-academe	AE K AH D IY M
-academia	AE K AH D IY M IY AH
-academic	AE K AH D EH M IH K
-academically	AE K AH D EH M IH K L IY
-academician	AE K AH D AH M IH SH AH N
-academicians	AE K AH D AH M IH SH AH N Z
-academicians(2)	AH K AE D AH M IH SH AH N Z
-academics	AE K AH D EH M IH K S
-academies	AH K AE D AH M IY Z
-academy	AH K AE D AH M IY
-academy's	AH K AE D AH M IY Z
-acadia	AH K EY D IY AH
-acampo	AH K AA M P OW
-acampora	AH K AE M P ER AH
-acantha	AA K AA N DH AH
-acapulco	AE K AH P UH L K OW
-acary	AE K ER IY
-accardi	AA K AA R D IY
-accardo	AA K AA R D OW
-accede	AE K S IY D
-acceded	AE K S IY D IH D
-accedes	AE K S IY D Z
-acceding	AE K S IY D IH NG
-accel	AH K S EH L
-accelerant	AE K S EH L ER AH N T
-accelerants	AE K S EH L ER AH N T S
-accelerate	AE K S EH L ER EY T
-accelerated	AE K S EH L ER EY T IH D
-accelerates	AE K S EH L ER EY T S
-accelerating	AE K S EH L ER EY T IH NG
-acceleration	AE K S EH L ER EY SH AH N
-accelerator	AE K S EH L ER EY T ER
-accelerators	AE K S EH L ER EY T ER Z
-accelerometer	AE K S EH L ER AA M AH T ER
-accelerometers	AE K S EH L ER AA M AH T ER Z
-accent	AH K S EH N T
-accent(2)	AE K S EH N T
-accented	AE K S EH N T IH D
-accenting	AE K S EH N T IH NG
-accents	AE K S EH N T S
-accentuate	AE K S EH N CH UW EY T
-accentuated	AE K S EH N CH AH W EY T IH D
-accentuates	AE K S EH N CH UW EY T S
-accentuating	AE K S EH N CH AH W EY T IH NG
-accept	AE K S EH P T
-accept(2)	AH K S EH P T
-acceptability	AH K S EH P T AH B IH L AH T IY
-acceptable	AE K S EH P T AH B AH L
-acceptable(2)	AH K S EH P T AH B AH L
-acceptably	AE K S EH P T AH B L IY
-acceptably(2)	AH K S EH P T AH B L IY
-acceptance	AE K S EH P T AH N S
-acceptance(2)	AH K S EH P T AH N S
-acceptances	AE K S EH P T AH N S IH Z
-accepted	AE K S EH P T IH D
-accepted(2)	AH K S EH P T AH D
-accepting	AE K S EH P T IH NG
-accepting(2)	AH K S EH P T IH NG
-accepts	AE K S EH P T S
-access	AE K S EH S
-accessed	AE K S EH S T
-accessibility	AE K S EH S AH B IH L IH T IY
-accessible	AE K S EH S AH B AH L
-accessing	AE K S EH S IH NG
-accession	AH K S EH SH AH N
-accessories	AE K S EH S ER IY Z
-accessorize	AE K S EH S ER AY Z
-accessorized	AE K S EH S ER AY Z D
-accessory	AE K S EH S ER IY
-accetta	AA CH EH T AH
-accident	AE K S AH D AH N T
-accident's	AE K S AH D AH N T S
-accidental	AE K S AH D EH N T AH L
-accidental(2)	AE K S AH D EH N AH L
-accidentally	AE K S AH D EH N T AH L IY
-accidentally(2)	AE K S AH D EH N AH L IY
-accidently	AE K S AH D AH N T L IY
-accidents	AE K S AH D AH N T S
-accion	AE CH IY AH N
-accival	AE S IH V AA L
-acclaim	AH K L EY M
-acclaim's	AH K L EY M Z
-acclaimed	AH K L EY M D
-acclaiming	AH K L EY M IH NG
-acclaims	AH K L EY M Z
-acclamation	AE K L AH M EY SH AH N
-acclimate	AE K L AH M EY T
-acclimated	AE K L AH M EY T IH D
-acclimation	AE K L AH M EY SH AH N
-acco	AE K OW
-accokeek	AE K OW K IY K
-accola	AA K OW L AH
-accolade	AE K AH L EY D
-accolades	AE K AH L EY D Z
-accomando	AA K OW M AA N D OW
-accommodate	AH K AA M AH D EY T
-accommodated	AH K AA M AH D EY T AH D
-accommodates	AH K AA M AH D EY T S
-accommodating	AH K AA M AH D EY T IH NG
-accommodation	AH K AA M AH D EY SH AH N
-accommodations	AH K AA M AH D EY SH AH N Z
-accommodative	AH K AA M AH D EY T IH V
-accompanied	AH K AH M P AH N IY D
-accompanies	AH K AH M P AH N IY Z
-accompaniment	AH K AH M P N IH M AH N T
-accompaniment(2)	AH K AH M P N IY M AH N T
-accompaniments	AH K AH M P N IH M AH N T S
-accompaniments(2)	AH K AH M P N IY M AH N T S
-accompanist	AH K AH M P AH N AH S T
-accompany	AH K AH M P AH N IY
-accompanying	AH K AH M P AH N IY IH NG
-accompli	AA K AA M P L IY
-accompli(2)	AH K AA M P L IY
-accomplice	AH K AA M P L AH S
-accomplices	AH K AA M P L AH S AH Z
-accomplish	AH K AA M P L IH SH
-accomplished	AH K AA M P L IH SH T
-accomplishes	AH K AA M P L IH SH IH Z
-accomplishing	AH K AA M P L IH SH IH NG
-accomplishment	AH K AA M P L IH SH M AH N T
-accomplishments	AH K AA M P L IH SH M AH N T S
-accor	AE K AO R
-accor's	AE K ER Z
-accord	AH K AO R D
-accord's	AH K AO R D Z
-accordance	AH K AO R D AH N S
-accorded	AH K AO R D IH D
-according	AH K AO R D IH NG
-accordingly	AH K AO R D IH NG L IY
-accordion	AH K AO R D IY AH N
-accordions	AH K AO R D IY AH N Z
-accords	AH K AO R D Z
-accost	AH K AO S T
-accosted	AH K AA S T AH D
-accosting	AH K AA S T IH NG
-account	AH K AW N T
-account's	AH K AW N T S
-accountability	AH K AW N T AH B IH L IH T IY
-accountability(2)	AH K AW N AH B IH L IH T IY
-accountable	AH K AW N T AH B AH L
-accountable(2)	AH K AW N AH B AH L
-accountancy	AH K AW N T AH N S IY
-accountant	AH K AW N T AH N T
-accountant's	AH K AW N T AH N T S
-accountants	AH K AW N T AH N T S
-accountants'	AH K AW N T AH N T S
-accounted	AH K AW N T AH D
-accounted(2)	AH K AW N AH D
-accountemp	AH K AW N T EH M P
-accountemps	AH K AW N T EH M P S
-accounting	AH K AW N T IH NG
-accounting(2)	AH K AW N IH NG
-accounts	AH K AW N T S
-accouterment	AH K UW T ER M AH N T
-accouterments	AH K UW T ER M AH N T S
-accoutrement	AH K UW T ER M AH N T
-accoutrements	AH K UW T ER M AH N T S
-accredit	AH K R EH D AH T
-accreditation	AH K R EH D AH T EY SH AH N
-accreditations	AH K R EH D AH D EY SH AH N Z
-accredited	AH K R EH D IH T IH D
-accrediting	AH K R EH D AH T IH NG
-accreted	AH K R IY T IH D
-accretion	AH K R IY SH AH N
-accrual	AH K R UW AH L
-accruals	AH K R UW AH L Z
-accrue	AH K R UW
-accrued	AH K R UW D
-accrues	AH K R UW Z
-accruing	AH K R UW IH NG
-accu	AE K Y UW
-accuhealth	AE K Y UW HH EH L TH
-accumulate	AH K Y UW M Y AH L EY T
-accumulated	AH K Y UW M Y AH L EY T IH D
-accumulates	AH K Y UW M Y AH L EY T S
-accumulating	AH K Y UW M Y AH L EY T IH NG
-accumulation	AH K Y UW M Y AH L EY SH AH N
-accumulations	AH K Y UW M Y AH L EY SH AH N Z
-accumulative	AH K Y UW M Y AH L EY T IH V
-accumulatively	AH K Y UW M Y AH L EY T IH V L IY
-accumulatively(2)	AH K Y UW M Y AH L AH T IH V L IY
-accumulator	AH K Y UW M Y AH L EY T ER
-accumulators	AH K Y UW M Y AH L EY T ER Z
-accuracies	AE K Y ER AH S IY Z
-accuracy	AE K Y ER AH S IY
-accurate	AE K Y ER AH T
-accurately	AE K Y ER AH T L IY
-accuray	AE K Y ER EY
-accuray's	AE K Y ER EY Z
-accuride	AE K Y ER AY D
-accurso	AA K UH R S OW
-accusation	AE K Y AH Z EY SH AH N
-accusation(2)	AE K Y UW Z EY SH AH N
-accusations	AE K Y AH Z EY SH AH N Z
-accusations(2)	AE K Y UW Z EY SH AH N Z
-accusative	AH K Y UW Z AH T IH V
-accusatory	AH K Y UW Z AH T AO R IY
-accuse	AH K Y UW Z
-accused	AH K Y UW Z D
-accuser	AH K Y UW Z ER
-accusers	AH K Y UW Z ER Z
-accuses	AH K Y UW Z IH Z
-accusing	AH K Y UW Z IH NG
-accusingly	AH K Y UW Z IH NG L IY
-accustom	AH K AH S T AH M
-accustomed	AH K AH S T AH M D
-accutane	AE K Y UW T EY N
-ace	EY S
-acecomm	EY S K AA M
-aced	EY S T
-acer	EY S ER
-acerbic	AH S EH R B IH K
-acero	AH S EH R OW
-acero(2)	AH S Y EH R OW
-acero(3)	AH TH EH R OW
-acerra	AH S EH R AH
-aces	EY S IH Z
-acetaminophen	AH S IY T AH M IH N AH F AH N
-acetate	AE S AH T EY T
-acetic	AH S EH T IH K
-acetic(2)	AH S IY T IH K
-aceto	AA S EH T OW
-acetochlor	AA S EH T OW K L AO R
-acetone	AE S AH T OW N
-acetosyringone	AH S EH T OW S IH R IH NG G AO N
-acetylcholine	AH S EH T AH L K OW L IY N
-acetylcholine(2)	AH S IY T AH L K OW L IY N
-acetylene	AH S EH T AH L IY N
-acevedo	AE S AH V EY D OW
-aceves	AA S EY V EH S
-acey	EY S IY
-achaean	AH CH IY AH N
-achatz	AE K AH T S
-ache	EY K
-achebe	AA CH EY B IY
-ached	EY K T
-achee	AH CH IY
-achenbach	AE K IH N B AA K
-achenbaum	AE K AH N B AW M
-aches	EY K S
-acheson	AE CH AH S AH N
-acheson's	AE CH AH S AH N Z
-achesons	AE CH AH S AH N Z
-achey	AE CH IY
-achieva	AH CH IY V AH
-achievable	AH CH IY V AH B AH L
-achieve	AH CH IY V
-achieved	AH CH IY V D
-achievement	AH CH IY V M AH N T
-achievements	AH CH IY V M AH N T S
-achiever	AH CH IY V ER
-achievers	AH CH IY V ER Z
-achieves	AH CH IY V Z
-achieving	AH CH IY V IH NG
-achille	AH K IH L IY
-achilles	AH K IH L IY Z
-achilles'	AH K IH L IY Z
-aching	EY K IH NG
-achingly	EY K IH NG L IY
-achmed	AA HH M EH D
-achoa	AH CH OW AH
-achoa's	AH CH OW AH Z
-achor	EY K ER
-achord	AE K AO R D
-achorn	AE K ER N
-achtenberg	AE K T EH N B ER G
-achterberg	AE K T ER B ER G
-achy	EY K IY
-acid	AE S AH D
-acidic	AH S IH D IH K
-acidification	AH S IH D AH F AH K EY SH AH N
-acidified	AH S IH D AH F AY D
-acidifies	AH S IH D AH F AY Z
-acidify	AH S IH D AH F AY
-acidity	AH S IH D AH T IY
-acidly	AE S AH D L IY
-acidosis	AE S AH D OW S AH S
-acids	AE S AH D Z
-aciduria	AE S AH D UH R IY AH
-acierno	AA S IH R N OW
-ack	AE K
-acker	AE K ER
-acker's	AE K ER Z
-ackerley	AE K ER L IY
-ackerly	AE K ER L IY
-ackerman	AE K ER M AH N
-ackermann	AE K ER M AH N
-ackermanville	AE K ER M AH N V IH L
-ackerson	AE K ER S AH N
-ackert	AE K ER T
-ackhouse	AE K HH AW S
-ackland	AE K L AH N D
-ackles	AE K AH L Z
-ackley	AE K L IY
-acklin	AE K L IH N
-ackman	AE K M AH N
-acknowledge	AE K N AA L IH JH
-acknowledge(2)	IH K N AA L IH JH
-acknowledgeable	AE K N AA L IH JH AH B AH L
-acknowledgeable(2)	IH K N AA L IH JH AH B AH L
-acknowledged	AE K N AA L IH JH D
-acknowledged(2)	IH K N AA L IH JH D
-acknowledgement	AE K N AA L IH JH M AH N T
-acknowledgement(2)	IH K N AA L IH JH M AH N T
-acknowledgements	AE K N AA L IH JH M AH N T S
-acknowledgements(2)	IH K N AA L IH JH M AH N T S
-acknowledges	AE K N AA L IH JH IH Z
-acknowledges(2)	IH K N AA L IH JH IH Z
-acknowledging	AE K N AA L IH JH IH NG
-acknowledging(2)	IH K N AA L IH JH IH NG
-acknowledgment	AE K N AA L IH JH M AH N T
-acknowledgment(2)	IH K N AA L IH JH M AH N T
-ackroyd	AE K R OY D
-ackroyd's	AE K R OY D Z
-acmat	AE K M AE T
-acmat's	AE K M AE T S
-acme	AE K M IY
-acme's	AE K M IY Z
-acne	AE K N IY
-acocella	AA K OW CH EH L AH
-acoff	AE K AO F
-acog	AH K AO G
-acolyte	AE K AH L AY T
-acolytes	AE K AH L AY T S
-acord	AH K AO R D
-acordia	AH K AO R D IY AH
-acorn	EY K AO R N
-acorn's	EY K AO R N Z
-acorns	EY K AO R N Z
-acosta	AH K AO S T AH
-acott	EY K AO T
-acoustic	AH K UW S T IH K
-acoustical	AH K UW S T IH K AH L
-acoustically	AH K UW S T IH K L IY
-acoustics	AH K UW S T IH K S
-acquaint	AH K W EY N T
-acquaintance	AH K W EY N T AH N S
-acquaintances	AH K W EY N T AH N S IH Z
-acquaintanceship	AH K W EY N T AH N S SH IH P
-acquainted	AH K W EY N T IH D
-acquainted(2)	AH K W EY N IH D
-acquaviva	AA K W AA V IY V AH
-acquiesce	AE K W IY EH S
-acquiesced	AE K W IY EH S T
-acquiescence	AE K W IY EH S AH N S
-acquiescing	AE K W IY EH S IH NG
-acquire	AH K W AY ER
-acquired	AH K W AY ER D
-acquirer	AH K W AY ER ER
-acquirer's	AH K W AY ER ER Z
-acquirers	AH K W AY ER ER Z
-acquires	AH K W AY ER Z
-acquiring	AH K W AY R IH NG
-acquiring(2)	AH K W AY ER IH NG
-acquisition	AE K W AH Z IH SH AH N
-acquisition's	AE K W AH Z IH SH AH N Z
-acquisitions	AE K W AH Z IH SH AH N Z
-acquisitive	AH K W IH Z AH T IH V
-acquit	AH K W IH T
-acquitaine	AE K W IH T EY N
-acquits	AH K W IH T S
-acquittal	AH K W IH T AH L
-acquittals	AH K W IH T AH L Z
-acquitted	AH K W IH T AH D
-acquitted(2)	AH K W IH T IH D
-acquitting	AH K W IH T IH NG
-acre	EY K ER
-acreage	EY K ER IH JH
-acreage(2)	EY K R AH JH
-acree	AH K R IY
-acres	EY K ER Z
-acrey	AE K R IY
-acri	AA K R IY
-acrid	AE K R IH D
-acrimonious	AE K R AH M OW N IY AH S
-acrimony	AE K R IH M OW N IY
-acro	AE K R OW
-acrobat	AE K R AH B AE T
-acrobatic	AE K R AH B AE T IH K
-acrobatics	AE K R AH B AE T IH K S
-acrobats	AE K R AH B AE T S
-acrolein	AE K R OW L IY N
-acronym	AE K R AH N IH M
-acronyms	AE K R AH N IH M Z
-acropolis	AH K R AA P AH L AH S
-across	AH K R AO S
-acrylic	AH K R IH L IH K
-acrylics	AH K R IH L IH K S
-act	AE K T
-act's	AE K T S
-actava	AE K T AA V AH
-actava's	AE K T AA V AH Z
-actavas	AE K T AA V AH Z
-acted	AE K T AH D
-acted(2)	AE K T IH D
-actel	AE K T EH L
-actigall	AE K T IH G AO L
-actin	AE K T AH N
-acting	AE K T IH NG
-actinide	AE K T IH N AY D
-actinidia	AE K T IH N IH D IY AH
-actinomycosis	AE K T IH N OW M AY K OW S IH S
-action	AE K SH AH N
-action's	AE K SH AH N Z
-actionable	AE K SH AH N AH B AH L
-actions	AE K SH AH N Z
-activase	AE K T IH V EY Z
-activate	AE K T AH V EY T
-activated	AE K T AH V EY T AH D
-activated(2)	AE K T IH V EY T IH D
-activates	AE K T AH V EY T S
-activating	AE K T AH V EY T IH NG
-activation	AE K T AH V EY SH AH N
-activator	AE K T AH V EY T ER
-active	AE K T IH V
-active's	AE K T IH V Z
-actively	AE K T IH V L IY
-actives	AE K T IH V Z
-activision	AE K T IH V IH ZH AH N
-activism	AE K T IH V IH Z AH M
-activist	AE K T AH V AH S T
-activist(2)	AE K T IH V IH S T
-activists	AE K T AH V AH S T S
-activists'	AE K T IH V IH S T S
-activists'(2)	AE K T IH V IH S
-activists(2)	AE K T IH V IH S T S
-activists(3)	AE K T AH V AH S
-activists(4)	AE K T IH V IH S
-activities	AE K T IH V AH T IY Z
-activities(2)	AE K T IH V IH T IY Z
-activity	AE K T IH V AH T IY
-activity(2)	AE K T IH V IH T IY
-actmedia	AE K T M IY D IY AH
-actodine	AE K T OW D AY N
-acton	AE K T AH N
-actor	AE K T ER
-actor's	AE K T ER Z
-actors	AE K T ER Z
-actors'	AE K T ER Z
-actress	AE K T R AH S
-actress's	AE K T R AH S IH Z
-actresses	AE K T R AH S IH Z
-acts	AE K T S
-acts(2)	AE K S
-actual	AE K CH AH W AH L
-actual(2)	AE K SH AH L
-actuality	AE K CH AH W AE L AH T IY
-actualize	AE K CH AH W AH L AY Z
-actually	AE K CH AH W AH L IY
-actually(2)	AE K SH L IY
-actually(3)	AE K CH L IY
-actually(4)	AE K SH AH L IY
-actuarial	AE K CH AH W EH R IY AH L
-actuaries	AE K CH AH W EH R IY Z
-actuary	AE K CH AH W EH R IY
-actuate	AE K CH UW W EY T
-actuator	AE K T Y UW EY T ER
-actuator(2)	AE K CH UW EY T ER
-actuators	AE K T Y UW EY T ER Z
-actuators(2)	AE K CH UW EY T ER Z
-actus	AE K T AH S
-acuff	AH K AH F
-acuity	AH K Y UW AH T IY
-acumen	AH K Y UW M AH N
-acuna	AA K UW N AH
-acupuncture	AE K Y UW P AH NG K CH ER
-acura	AE K Y ER AH
-acura's	AE K Y ER AH Z
-acuras	AE K Y ER AH Z
-acuson	AE K Y UW S AH N
-acustar	AE K Y UW S T AA R
-acusyst	AE K Y UW S IH S T
-acute	AH K Y UW T
-acutely	AH K Y UW T L IY
-acuteness	AH K Y UW T N AH S
-acyclovir	AH S IH K L OW V IH R
-ad	AE D
-ad's	AE D Z
-ad-hoc	AE D HH AA K
-ad-lib	AE D L IH B
-ad-nauseum	AE D N AO Z IY AH M
-ada	EY D AH
-ada's	EY D AH Z
-adabel	AE D AH B EH L
-adabelle	AE D AH B AH L
-adachi	AA D AA K IY
-adage	AE D AH JH
-adage(2)	AE D IH JH
-adagio	AH D AA ZH IY OW
-adah	AE D AA
-adair	AH D EH R
-adaire	AA D EH R
-adak	AH D AE K
-adalah	AA D AA L AH
-adalia	AA D AA L IY AH
-adam	AE D AH M
-adam's	AE D AH M Z
-adamant	AE D AH M AH N T
-adamantly	AE D AH M AH N T L IY
-adamcik	AA D AH M CH IH K
-adamczak	AA D AH M CH AE K
-adamczyk	AA D AH M CH IH K
-adame	AA D AA M IY
-adamec	AH D AA M IH K
-adamek	AH D AA M EH K
-adames	AH D EY M Z
-adami	AA D AA M IY
-adamik	AH D AA M IH K
-adamina	AA D AA M IY N AH
-adamkus	AE D AH M K AH S
-adamo	AA D AA M OW
-adamowicz	AH D AA M AH V IH CH
-adams	AE D AH M Z
-adams'	AE D AH M Z
-adams's	AE D AH M Z IH Z
-adamski	AH D AE M S K IY
-adamson	AE D AH M S AH N
-adamstown	AE D AH M S T AW N
-adan	EY D AH N
-adapso	AH D AE P S OW
-adapt	AH D AE P T
-adaptability	AH D AE P T AH B IH L AH T IY
-adaptable	AH D AE P T AH B AH L
-adaptaplex	AH D AE P T AH P L EH K S
-adaptation	AE D AH P T EY SH AH N
-adaptations	AE D AE P T EY SH AH N Z
-adaptations(2)	AE D AH P T EY SH AH N Z
-adaptec	AH D AE P T EH K
-adaptec's	AH D AE P T EH K S
-adapted	AH D AE P T AH D
-adapted(2)	AH D AE P T IH D
-adapter	AH D AE P T ER
-adapters	AH D AE P T ER Z
-adapting	AH D AE P T IH NG
-adaptive	AH D AE P T IH V
-adaptor	AH D AE P T ER
-adaptors	AH D AE P T ER Z
-adapts	AH D AE P T S
-adar	AH D AA R
-adarand	AE D AH R AE N D
-adas	EY D AH Z
-aday	AH D EY
-adaza	AH D AA Z AH
-adcock	AH D K AA K
-adcox	AH D K AA K S
-add	AE D
-addair	AH D EH R
-addams	AE D AH M Z
-added	AE D AH D
-added(2)	AE D IH D
-addendum	AH D EH D AH M
-addendums	AH D EH D AH M Z
-addeo	AA D IY OW
-adder	AE D ER
-adderley	AH D ER L IY
-addicks	AE D IH K S
-addict	AH D IH K T
-addict(2)	AE D IH K T
-addicted	AH D IH K T AH D
-addicted(2)	AH D IH K T IH D
-addicting	AH D IH K T IH NG
-addiction	AH D IH K SH AH N
-addictions	AH D IH K SH AH N Z
-addictive	AH D IH K T IH V
-addicts	AH D IH K T S
-addicts(2)	AE D IH K T S
-addidas	AH D IY D AH S
-addidas'	AH D IY D AH S
-addidas's	AH D IY D AH S IH Z
-addidases	AH D IY D AH S IH Z
-addie	AE D IY
-adding	AE D IH NG
-addington	AE D IH NG T AH N
-addis	AA D IH S
-addis-ababa	AA D IH S AH B AA B AH
-addis-ababa(2)	AA D IY S AH B AA B AH
-addison	AE D AH S AH N
-addison's	AE D IH S AH N Z
-addison(2)	AE D IH S AH N
-addition	AH D IH SH AH N
-additional	AH D IH SH AH N AH L
-additional(2)	AH D IH SH N AH L
-additionally	AH D IH SH AH N AH L IY
-additionally(2)	AH D IH SH N AH L IY
-additions	AH D IH SH AH N Z
-additive	AE D AH T IH V
-additive(2)	AE D IH T IH V
-additives	AE D AH T IH V Z
-additives(2)	AE D IH T IH V Z
-addle	AE D AH L
-addled	AE D AH L D
-addleman	AE D AH L M AH N
-address	AE D R EH S
-address(2)	AH D R EH S
-addressable	AH D R EH S AH B AH L
-addressed	AH D R EH S T
-addressee	AE D R EH S IY
-addresses	AE D R EH S IH Z
-addresses(2)	AH D R EH S IH Z
-addressing	AH D R EH S IH NG
-adds	AE D Z
-adduci	AA D UW CH IY
-adduct	AE D AH K T
-addwest	AE D W EH S T
-addy	AE D IY
-addyston	AE D IY S T AH N
-ade	EY D
-adee	AH D IY
-adel	AH D EH L
-adela	AH D EH L AH
-adelaar	AE D AH L AA R
-adelaide	AE D AH L EY D
-adelanto	AE D AH L AA N T OW
-adelbert	AH D EH L B ER T
-adele	AH D EH L
-adele's	AH D EH L Z
-adeline	AE D AH L AY N
-adelizzi	AE D AH L IY Z IY
-adell	AH D EH L
-adell's	AH D EH L Z
-adelle	AH D EH L
-adelman	AE D AH L M AH N
-adelman(2)	EH D AH L M AH N
-adelmann	AE D AH L M AH N
-adelpha	AH D EH L F AH
-adelphi	AH D EH L F IY
-adelphia	AH D EH L F IY AH
-adelphia's	AH D EH L F IY AH Z
-adelsberger	AE D IH L Z B ER G ER
-adelson	AE D AH L S AH N
-adelstein	AE D AH L S T AY N
-adelstein(2)	AE D AH L S T IY N
-aden	EY D AH N
-adena	AE D IH N AH
-adenauer	EY D AH N AW R
-adenauer(2)	AE D AH N AW R
-adenine	AE D AH N IY N
-adenoid	AE D AH N OY D
-adenoids	AE D AH N OY D Z
-adenoscan	AH D EH N AH S K AE N
-adenosine	AH D EH N AH S IY N
-adenovirus	AH D EH N AH V AY R AH S
-adept	AH D EH P T
-adequacy	AE D AH K W AH S IY
-adequate	AE D AH K W AH T
-adequate(2)	AE D AH K W EY T
-adequately	AE D AH K W AH T L IY
-adequately(2)	AE D AH K W IH T L IY
-ader	EY D ER
-aderhold	AE D ER HH OW L D
-aderholt	AE D ER HH OW L T
-aderman	AE D ER M AH N
-ades	EY D Z
-adey	EY D IY
-adger	AE JH ER
-adham	AE D HH AE M
-adhere	AH D HH IH R
-adhered	AE D HH IH R D
-adherence	AH D HH IH R AH N S
-adherent	AH D HH IH R AH N T
-adherents	AE D HH IH R AH N T S
-adheres	AH D HH IH R Z
-adhering	AH D HH IH R IH NG
-adhesion	AE D HH IY ZH AH N
-adhesive	AE D HH IY S IH V
-adhesive(2)	AH D HH IY S IH V
-adhesives	AE D HH IY S IH V Z
-adhesives(2)	AH D HH IY S IH V Z
-adia	AA D IY AH
-adid	AH D IH D
-adidas	AH D IY D AH S
-adidas's	AH D IY D AH S IH Z
-adieu	AH D UW
-adin	AH D IH N
-adina	AA D IY N AH
-adine	AA D IY N IY
-adinolfi	AA D IY N OW L F IY
-adios	AA D IY OW S
-adipose	AE D AH P OW S
-adirondack	AE D ER AA N D AE K
-adisq	AH D IH S K
-adisq(2)	EY D IH S K
-adjacent	AH JH EY S AH N T
-adjani	AE D JH AA N IY
-adjective	AE JH IH K T IH V
-adjectives	AE JH IH K T IH V Z
-adjoin	AH JH OY N
-adjoining	AH JH OY N IH NG
-adjoins	AH JH OY N Z
-adjourn	AH JH ER N
-adjourned	AH JH ER N D
-adjourning	AH JH ER N IH NG
-adjournment	AH JH ER N M AH N T
-adjourns	AH JH ER N Z
-adjudge	AH JH AH JH
-adjudged	AH JH AH JH D
-adjudicate	AH JH UW D IH K EY T
-adjudicated	AH JH UW D AH K EY T IH D
-adjudicating	AH JH UW D IH K EY T IH NG
-adjudication	AH JH UW D AH K EY SH AH N
-adjunct	AE JH AH NG K T
-adjuncts	AE JH AH NG K T S
-adjust	AH JH AH S T
-adjustable	AH JH AH S T AH B AH L
-adjustables	AH JH AH S T AH B AH L Z
-adjusted	AH JH AH S T AH D
-adjusted(2)	AH JH AH S T IH D
-adjuster	AH JH AH S T ER
-adjusters	AH JH AH S T ER Z
-adjusting	AH JH AH S T IH NG
-adjustment	AH JH AH S T M AH N T
-adjustments	AH JH AH S T M AH N T S
-adjusts	AH JH AH S T S
-adjusts(2)	AH JH AH S
-adjutant	AE JH AH T AH N T
-adkins	AE D K IH N Z
-adkinson	AE D K IH N S AH N
-adkison	AE D K IH S AH N
-adkisson	AE D K IH S AH N
-adl-tabataba	AA D AH L T AA B AH T AA B AH
-adl-tabatabai	AA D AH L T AA B AH T AH B AY
-adlai	AA D L AA IY
-adler	AE D L ER
-adler's	AE D L ER Z
-adlers	AE D L ER Z
-adley	AE D L IY
-adlon	AE D L AA N
-adlong	AE D L AO NG
-adman	AE D M AH N
-admen	AE D M AH N
-administer	AH D M IH N AH S T ER
-administered	AH D M IH N AH S T ER D
-administering	AE D M IH N IH S T ER IH NG
-administers	AE D M IH N IH S T ER Z
-administrate	AE D M IH N IH S T R EY T
-administrating	AH D M IH N AH S T R EY T IH NG
-administration	AE D M IH N IH S T R EY SH AH N
-administration's	AE D M IH N IH S T R EY SH AH N Z
-administrations	AE D M IH N IH S T R EY SH AH N Z
-administrations'	AE D M IH N IH S T R EY SH AH N Z
-administrative	AH D M IH N AH S T R EY T IH V
-administratively	AE D M IH N AH S T R EY T IH V L IY
-administrator	AH D M IH N AH S T R EY T ER
-administrator's	AE D M IH N IH S T R EY T ER Z
-administrators	AE D M IH N IH S T R EY T ER Z
-administrators'	AE D M IH N AH S T R EY T ER Z
-admira	AE D M AY R AH
-admira's	AE D M AY R AH Z
-admirable	AE D M ER AH B AH L
-admirable(2)	AE D M R AH B AH L
-admirably	AE D M ER AH B L IY
-admiral	AE D M ER AH L
-admiral's	AE D M ER AH L Z
-admirals	AE D M ER AH L Z
-admiralty	AE D M ER AH L T IY
-admiration	AE D M ER EY SH AH N
-admirations	AE D M ER EY SH AH N Z
-admire	AE D M AY R
-admired	AH D M AY ER D
-admirer	AE D M AY R ER
-admirers	AH D M AY R ER Z
-admires	AE D M AY R Z
-admiring	AE D M AY R IH NG
-admiringly	AE D M AY R IH NG L IY
-admissibility	AH D M IH S AH B IH L AH T IY
-admissible	AH D M IH S AH B AH L
-admission	AE D M IH SH AH N
-admission(2)	AH D M IH SH AH N
-admissions	AE D M IH SH AH N Z
-admissions(2)	AH D M IH SH AH N Z
-admit	AH D M IH T
-admits	AH D M IH T S
-admittance	AH D M IH T AH N S
-admitted	AH D M IH T AH D
-admittedly	AE D M IH T IH D L IY
-admitting	AE D M IH T IH NG
-admitting(2)	AH D M IH T IH NG
-admonish	AE D M AA N IH SH
-admonished	AH D M AA N IH SH T
-admonishes	AE D M AA N IH SH IH Z
-admonishing	AE D M AA N IH SH IH NG
-admonishment	AE D M AA N IH SH M EH N T
-admonition	AE D M AH N IH SH AH N
-admonitions	AE D M AH N IH SH AH N Z
-adnan	AE D N AH N
-adney	AE D N IY
-ado	AH D UW
-adobe	AH D OW B IY
-adobe's	AH D OW B IY Z
-adolescence	AE D AH L EH S AH N S
-adolescence(2)	AE D OW L EH S AH N S
-adolescent	AE D AH L EH S AH N T
-adolescent(2)	AE D OW L EH S AH N T
-adolescents	AE D AH L EH S AH N T S
-adolescents(2)	AE D OW L EH S AH N T S
-adolf	EY D AA L F
-adolf's	EY D AA L F S
-adolfo	AH D AA L F OW
-adolph	EY D AO L F
-adolpha	AA D OW L F AH
-adolphson	AE D OW L F S AH N
-adolphus	AH D AO L F AH S
-adon	AA D AO N
-adonia	AA D OW N IY AH
-adonis	AH D AA N AH S
-adopt	AH D AA P T
-adoptable	AH D AA P T AH B AH L
-adopted	AH D AA P T AH D
-adoptee	AH D AA P T IY
-adoptees	AH D AA P T IY Z
-adopter	AH D AA P T ER
-adopters	AH D AA P T ER Z
-adopting	AH D AA P T IH NG
-adoption	AH D AA P SH AH N
-adoptions	AH D AA P SH AH N Z
-adoptive	AH D AA P T IH V
-adopts	AH D AA P T S
-ador	AA D AO R
-adora	AA D AO R AH
-adorabelle	AE D ER AH B AH L
-adorable	AH D AO R AH B AH L
-adoration	AE D ER EY SH AH N
-adore	AH D AO R
-adored	AH D AO R D
-adoree	AE D ER IY
-adorees	AE D ER IY Z
-adores	AH D AO R Z
-adoring	AH D AO R IH NG
-adorn	AH D AO R N
-adorna	AA D AO R N AH
-adorned	AH D AO R N D
-adorning	AH D AO R N IH NG
-adornment	AH D AO R N M AH N T
-adorno	AA D AO R N OW
-adorns	AH D AO R N Z
-adra	EY D R AH
-adragna	AA D R AA G N AH
-adrda	EY D ER D AH
-adrea	AA D R IY AH
-adrenal	AH D R IY N AH L
-adrenalin	AH D R EH N AH L IH N
-adrenaline	AH D R EH N AH L AH N
-adria	AA D R IY AH
-adrian	EY D R IY AH N
-adriana	EY D R IY AE N AH
-adriance	AA D R IY AH N S
-adriano	AA D R IY AA N OW
-adriatic	EY D R IY AE T IH K
-adriel	AH D R IY L
-adrienne	AA D R IY EH N
-adrift	AH D R IH F T
-adroit	AH D R OY T
-adroitly	AH D R OY T L IY
-ads	AE D Z
-ads'	AE D Z
-adsit	AE D S IH T
-adss	AE D S
-adss(2)	EY D IY EH S EH S
-adstar	AE D S T AA R
-adsteam	AE D S T IY M
-adtec	AE D T EH K
-adulate	AE JH AH L EY T
-adulation	AE JH AH L EY SH AH N
-aduliadae	AH D UW L IY AA D EY
-adult	AH D AH L T
-adult(2)	AE D AH L T
-adulterate	AH D AH L T ER EY T
-adulterated	AH D AH L T ER EY T IH D
-adulterates	AH D AH L T ER EY T S
-adulteration	AH D AH L T ER EY SH AH N
-adulterer	AH D AH L T ER ER
-adulterers	AH D AH L T ER ER Z
-adulterous	AH D AH L T ER AH S
-adultery	AH D AH L T ER IY
-adulthood	AH D AH L T HH UH D
-adults	AH D AH L T S
-adults'	AH D AH L T S
-adults'(2)	AE D AH L T S
-adults(2)	AE D AH L T S
-adusdur	AE D AH S D ER
-advacare	AE D V AH K EH R
-advalue	AE D V AH L UW
-advance	AH D V AE N S
-advance's	AH D V AE N S AH Z
-advance's(2)	AH D V AE N S IH Z
-advanced	AH D V AE N S T
-advancement	AH D V AE N S M AH N T
-advancements	AH D V AE N S M AH N T S
-advancer	AH D V AE N S ER
-advancers	AH D V AE N S ER Z
-advances	AH D V AE N S AH Z
-advances(2)	AH D V AE N S IH Z
-advancing	AH D V AE N S IH NG
-advani	AE D V AA N IY
-advanta	AE D V AE N T AH
-advanta's	AE D V AE N T AH Z
-advanta's(2)	AH D V AE N T AH Z
-advanta(2)	AH D V AE N T AH
-advantage	AE D V AE N T IH JH
-advantage(2)	AH D V AE N T IH JH
-advantage(3)	AE D V AE N IH JH
-advantage(4)	AH D V AE N AH JH
-advantaged	AE D V AE N T IH JH D
-advantaged(2)	AH D V AE N T IH JH D
-advantaged(3)	AE D V AE N IH JH D
-advantaged(4)	AH D V AE N IH JH D
-advantageous	AE D V AH N T EY JH AH S
-advantages	AE D V AE N T IH JH IH Z
-advantages(2)	AH D V AE N T IH JH IH Z
-advantages(3)	AE D V AE N IH JH IH Z
-advantages(4)	AH D V AE N IH JH IH Z
-advantest	AE D V AE N T AH S T
-advantest(2)	AH D V AE N T AH S T
-advection	AE D V EH K SH AH N
-advent	AE D V EH N T
-adventist	AE D V EH N T IH S T
-adventists	AE D V EH N T IH S T S
-adventists(2)	AE D V EH N T IH S
-adventure	AE D V EH N CH ER
-adventure(2)	AH D V EH N CH ER
-adventurer	AE D V EH N CH ER ER
-adventurer(2)	AH D V EH N CH ER ER
-adventurers	AE D V EH N CH ER ER Z
-adventurers(2)	AH D V EH N CH ER ER Z
-adventures	AE D V EH N CH ER Z
-adventures(2)	AH D V EH N CH ER Z
-adventuresome	AE D V EH N CH ER S AH M
-adventuresome(2)	AH D V EH N CH ER S AH M
-adventurism	AE D V EH N CH ER IH Z AH M
-adventurism(2)	AH D V EH N CH ER IH Z AH M
-adventurous	AE D V EH N CH ER AH S
-adventurous(2)	AH D V EH N CH ER AH S
-adverb	AE D V ER B
-adverbial	AE D V ER B IY AH L
-adverbs	AE D V ER B Z
-adversarial	AE D V ER S EH R IY AH L
-adversaries	AE D V ER S EH R IY Z
-adversary	AE D V ER S EH R IY
-adverse	AE D V ER S
-adverse(2)	AH D V ER S
-adversely	AE D V ER S L IY
-adversity	AE D V ER S IH T IY
-adversity(2)	AH D V ER S IH T IY
-advertise	AE D V ER T AY Z
-advertised	AE D V ER T AY Z D
-advertisement	AH D V ER T AH Z M AH N T
-advertisement(2)	AE D V ER T AY Z M AH N T
-advertisements	AE D V ER T AY Z M AH N T S
-advertiser	AE D V ER T AY Z ER
-advertiser's	AE D V ER T AY Z ER Z
-advertisers	AE D V ER T AY Z ER Z
-advertisers'	AE D V ER T AY Z ER Z
-advertises	AE D V ER T AY Z IH Z
-advertising	AE D V ER T AY Z IH NG
-advertising's	AE D V ER T AY Z IH NG Z
-advertorial	AE D V ER T AO R IY AH L
-advertorials	AE D V ER T AO R IY AH L Z
-advest	AE D V EH S T
-advice	AE D V AY S
-advice(2)	AH D V AY S
-advil	AE D V IH L
-advil's	AE D V IH L Z
-advisability	AE D V AY Z AH B IH L IH T IY
-advisable	AH D V AY Z AH B AH L
-advise	AE D V AY Z
-advise(2)	AH D V AY Z
-advised	AE D V AY Z D
-advised(2)	AH D V AY Z D
-advisedly	AE D V AY Z AH D L IY
-advisedly(2)	AH D V AY Z AH D L IY
-advisement	AH D V AY Z M AH N T
-adviser	AE D V AY Z ER
-adviser's	AH D V AY Z ER Z
-advisers	AE D V AY Z ER Z
-advisers'	AE D V AY Z ER Z
-advises	AE D V AY Z IH Z
-advising	AE D V AY Z IH NG
-advisor	AE D V AY Z ER
-advisor(2)	AH D V AY Z ER
-advisories	AH D V AY Z ER IY Z
-advisors	AE D V AY Z ER Z
-advisors(2)	AH D V AY Z ER Z
-advisory	AE D V AY Z ER IY
-advisory(2)	AH D V AY Z ER IY
-advo	AE D V OW
-advocacy	AE D V AH K AH S IY
-advocate	AE D V AH K AH T
-advocate's	AE D V AH K AH T S
-advocate(2)	AE D V AH K EY T
-advocated	AE D V AH K EY T AH D
-advocated(2)	AE D V AH K EY T IH D
-advocates	AE D V AH K AH T S
-advocates(2)	AE D V AH K EY T S
-advocating	AE D V AH K EY T IH NG
-advocation	AE D V AH K EY SH AH N
-adweek	AE D W IY K
-adwell	AH D W EH L
-ady	EY D IY
-adz	AE D Z
-ae	EY
-aegean	IH JH IY AH N
-aegerter	EH G ER T ER
-aegis	IY JH AH S
-aegon	EY G AA N
-aeltus	AE L T AH S
-aeneas	AE N IY AH S
-aeneid	AH N IY IH D
-aequitron	EY K W IH T R AA N
-aer	EH R
-aer(2)	EY IY AA R
-aerial	EH R IY AH L
-aerials	EH R IY AH L Z
-aerie	EH R IY
-aerien	EH R IY AH N
-aeriens	EH R IY AH N Z
-aeritalia	EH R IH T AE L Y AH
-aero	EH R OW
-aerobatic	EH R AH B AE T IH K
-aerobatics	EH R AH B AE T IH K S
-aerobic	EH R OW B IH K
-aerobically	EH R OW B IH K L IY
-aerobics	ER OW B IH K S
-aerodrome	EH R AH D R OW M
-aerodromes	EH R AH D R OW M Z
-aerodynamic	EH R OW D AY N AE M IH K
-aerodynamically	EH R OW D AY N AE M IH K L IY
-aerodynamicist	EH R OW D AY N AE M IH S IH S T
-aerodynamicists	EH R OW D AY N AE M IH S IH S T S
-aerodynamicists(2)	EH R OW D AY N AE M IH S IH S
-aerodynamics	EH R OW D AY N AE M IH K S
-aerodyne	EH R AH D AY N
-aerodyne's	EH R AH D AY N Z
-aeroflot	EH R OW F L AA T
-aeroflot's	EH R OW F L AA T S
-aerogenosa	EH R AH JH AH N OW S AH
-aerojet	EH R OW JH EH T
-aerojets	EH R OW JH EH T S
-aerolift	EH R OW L IH F T
-aerolifts	EH R OW L IH F T S
-aerolineas	EH R OW L IH N IY AH S
-aeromar	EH R AH M AA R
-aeromar(2)	EH R OW M AA R
-aeromexico	EH R OW M EH K S IH K OW
-aeromexico's	EH R OW M EH K S IH K OW Z
-aeronautic	EH R OW N AA T AH K
-aeronautical	EH R OW N AA T AH K AH L
-aeronautical(2)	EH R AH N AA T AH K AH L
-aeronauticas	EH R OW N AO T IH K AH S
-aeronautics	EH R AH N AO T IH K S
-aeroperu	EH R OW P EY R UW
-aeroperu's	EH R OW P EY R UW Z
-aeroquip	EH R AH K W IH P
-aerosmith	EH R OW S M IH TH
-aerosmith's	EH R OW S M IH TH S
-aerosol	EH R AH S AA L
-aerosols	EH R AH S AA L Z
-aerospace	EH R OW S P EY S
-aerospace's	EH R OW S P EY S IH Z
-aerospatiale	EH R OW S P AA S IY AA L
-aerospatiale's	EH R OW S P AA S IY AA L Z
-aerostar	EH R OW S T AA R
-aerostar's	EH R OW S T AA R Z
-aerostars	EH R OW S T AA R Z
-aerostat	EH R OW S T AE T
-aerostat's	EH R OW S T AE T S
-aerostats	EH R OW S T AE T S
-aerotech	EH R OW T EH K
-aerovias	EH R OW V IY AH Z
-aerts	EH R T S
-aeschelus	EH S K AH L AH S
-aeschliman	EH SH L IY M AH N
-aesop	IY S AA P
-aesop's	IY S AA P S
-aesthenopia	AE S TH AH N AO P Y AH
-aesthete	EH S TH IY T
-aesthete's	EH S TH IY T S
-aesthetes	EH S TH IY T S
-aesthetic	EH S TH EH T IH K
-aesthetically	EH S TH EH T IH K L IY
-aesthetics	EH S TH EH T IH K S
-aetna	EH T N AH
-aetna's	EH T N AH Z
-afanasyev	AE F AH N EY S IY EH V
-afar	AH F AA R
-affable	AE F AH B AH L
-affably	AE F AH B L IY
-affair	AH F EH R
-affair's	AH F EH R Z
-affairs	AH F EH R Z
-affect	AH F EH K T
-affectation	AE F EH K T EY SH AH N
-affected	AH F EH K T AH D
-affected(2)	AH F EH K T IH D
-affecting	AH F EH K T IH NG
-affection	AH F EH K SH AH N
-affectionate	AH F EH K SH AH N AH T
-affectionate(2)	AH F EH K SH AH N IH T
-affectionately	AH F EH K SH AH N AH T L IY
-affections	AH F EH K SH AH N Z
-affective	AH F EH K T IH V
-affectively	AH F EH K T IH V L IY
-affects	AH F EH K T S
-affeldt	AE F IH L T
-afferent	AE F ER AH N T
-affiant	AE F IY AH N T
-affidavit	AE F AH D EY V AH T
-affidavits	AE F IH D EY V IH T S
-affiliate	AH F IH L IY EY T
-affiliate's	AH F IH L IY EY T S
-affiliate(2)	AH F IH L IY AH T
-affiliated	AH F IH L IY EY T AH D
-affiliated's	AH F IH L IY EY T IH D Z
-affiliated(2)	AH F IH L IY EY T IH D
-affiliates	AH F IH L IY AH T S
-affiliates'	AH F IH L IY IH T S
-affiliates(2)	AH F IH L IY EY T S
-affiliating	AH F IH L IY EY T IH NG
-affiliation	AH F IH L IY EY SH AH N
-affiliations	AH F IH L IY EY SH AH N Z
-affine	AH F AY N
-affined	AH F AY N D
-affines	AH F AY N Z
-affining	AH F AY N IH NG
-affinities	AH F IH N AH T IY Z
-affinity	AH F IH N AH T IY
-affinity(2)	AH F IH N IH T IY
-affirm	AH F ER M
-affirmation	AE F ER M EY SH AH N
-affirmations	AE F ER M EY SH AH N Z
-affirmative	AH F ER M AH T IH V
-affirmatively	AH F ER M AH T IH V L IY
-affirmed	AH F ER M D
-affirming	AH F ER M IH NG
-affirms	AH F ER M Z
-affix	AE F IH K S
-affix(2)	AH F IH K S
-affixed	AH F IH K S T
-affixes	AE F IH K S IH Z
-affixes(2)	AH F IH K S IH Z
-affixing	AH F IH K S IH NG
-affleck	AE F L IH K
-afflerbach	AE F L ER B AA K
-afflict	AH F L IH K T
-afflicted	AH F L IH K T AH D
-afflicted(2)	AH F L IH K T IH D
-afflicting	AH F L IH K T IH NG
-affliction	AH F L IH K SH AH N
-afflictions	AH F L IH K SH AH N Z
-afflicts	AH F L IH K T S
-afflik	AE F L IH K
-affluence	AE F L UW AH N S
-affluent	AE F L UW AH N T
-affolter	AE F OW L T ER
-afford	AH F AO R D
-affordability	AH F AO R D AH B IH L AH T IY
-affordable	AH F AO R D AH B AH L
-affordably	AH F AO R D AH B L IY
-afforded	AH F AO R D AH D
-affording	AH F AO R D IH NG
-affords	AH F AO R D Z
-affricate	AE F R AH K AH T
-affricates	AE F R AH K AH T S
-affrication	AE F R AH K EY SH AH N
-affront	AH F R AH N T
-affronted	AH F R AH N T IH D
-affronting	AH F R AH N T IH NG
-affronts	AH F R AH N T S
-affymax	AE F IY M AE K S
-afghan	AE F G AE N
-afghani	AE F G AA N IY
-afghani's	AE F G AE N IY Z
-afghanis	AE F G AE N IY Z
-afghanistan	AE F G AE N AH S T AE N
-afghanistan's	AE F G AE N AH S T AE N Z
-afghanistans	AE F G AE N AH S T AE N Z
-afghans	AE F G AE N Z
-afheldt	AE F EH L T
-aficionado	AH F IY SH Y AH N AA D OW
-aficionados	AH F IH SH AH N AA D OW Z
-afield	AH F IY L D
-afire	AH F AY R
-aflame	AH F L EY M
-aflatoxin	AE F L AH T AA K S IH N
-afloat	AH F L OW T
-aflutter	AH F L AH T ER
-afmed	AE F M EH D
-afonso	AH F AA N S OW
-afoot	AH F UH T
-aforementioned	AH F AO R M EH N SH AH N D
-aforesaid	AH F AO R S EH D
-aforethought	AH F AO R TH AA T
-afoul	AH F AW L
-afraid	AH F R EY D
-afresh	AH F R EH SH
-africa	AE F R AH K AH
-africa's	AE F R AH K AH Z
-africa's(2)	AE F R IH K AH Z
-africa(2)	AE F R IH K AH
-africa(3)	AE F ER K AH
-african	AE F R AH K AH N
-african(2)	AE F R IH K AH N
-africanist	AE F R IH K AH N IH S T
-africanize	AE F R AH K AH N AY Z
-africanized	AE F R AH K AH N AY Z D
-africans	AE F R AH K AH N Z
-africans(2)	AE F R IH K AH N Z
-afridi	AH F R IY D IY
-afrikaans	AE F R AH K AA N Z
-afrikaner	AE F R AH K AA N ER
-afrikanerdom	AE F R AH K AA N ER D AH M
-afrikaners	AE F R IH K AA N ER Z
-afro	AE F R OW
-afroamerican	AE F R OW AH M EH R AH K AH N
-afroamericans	AE F R OW AH M EH R AH K AH N Z
-afrocentric	AE F R OW S EH N T R IH K
-afsane	AA F S AA N EY
-afsane's	AA F S AA N EY Z
-afshar	AE F SH ER
-afshar's	AE F SH ER Z
-aft	AE F T
-after	AE F T ER
-afterall	AE F T ER AA L
-afterburner	AE F T ER B ER N ER
-afterburners	AE F T ER B ER N ER Z
-aftereffect	AE F T ER AH F EH K T
-aftereffects	AE F T ER AH F EH K T S
-afterglow	AE F T ER G L OW
-afterglows	AE F T ER G L OW Z
-afterhours	AE F T ER HH AW ER Z
-afterimage	AE F T ER IH M IH JH
-afterimages	AE F T ER IH M IH JH AH Z
-afterlife	AE F T ER L AY F
-afterlives	AE F T ER L AY V Z
-aftermarket	AE F T ER M AA R K IH T
-aftermarkets	AE F T ER M AA R K IH T S
-aftermath	AE F T ER M AE TH
-aftermaths	AE F T ER M AE TH S
-afternoon	AE F T ER N UW N
-afternoon's	AE F T ER N UW N Z
-afternoons	AE F T ER N UW N Z
-aftershave	AE F T ER SH EY V
-aftershaves	AE F T ER SH EY V Z
-aftershock	AE F T ER SH AA K
-aftershocks	AE F T ER SH AA K S
-aftertaste	AE F T ER T EY S T
-aftertastes	AE F T ER T EY S T S
-aftertastes(2)	AE F T ER T EY S
-aftertax	AE F T ER T AE K S
-afterthought	AE F T ER TH AA T
-afterthought(2)	AE F T ER TH AO T
-afterthoughts	AE F T ER TH AA T S
-afterthoughts(2)	AE F T ER TH AO T S
-afterward	AE F T ER W ER D
-afterwards	AE F T ER W ER D Z
-afula	AH F UW L AH
-afula's	AH F UW L AH Z
-ag	AE G
-ag's	AE G Z
-ag(2)	EY G IY
-aga	AA G AH
-agache	AE G AE CH
-agache's	AE G AE CH AH Z
-agaches	AE G AE CH AH Z
-again	AH G EH N
-again(2)	AH G EY N
-against	AH G EH N S T
-against(2)	AH G EY N S T
-agamemnon	AE G AH M EH M N AA N
-agamemnon's	AE G AH M EH M N AA N Z
-agan	EY G AH N
-agana	AH G AA N AH
-aganbegyan	AE G AH N B EH G Y AH N
-agans	AA G AA N Z
-agape	AH G EY P
-agar	EY G ER
-agard	AE G ER D
-agarwal	AA G AA R W AA L
-agasp	AH G AE S P
-agassi	AE G AH S IY
-agassiz	AH G AE S IH Z
-agate	AE G AH T
-agates	AE G AH T S
-agatha	AE G AH TH AH
-agawam	AE G AH W AA M
-agco	AE G K OW
-age	EY JH
-age's	EY JH IH Z
-aged	EY JH D
-aged(2)	EY JH IH D
-agee	EY JH IY
-agee's	EY JH IY Z
-ageless	EY JH L AH S
-agematsu	AE G AH M AE T S UW
-agence	AE JH AH N S
-agencies	EY JH AH N S IY Z
-agencies'	EY JH AH N S IY Z
-agency	EY JH AH N S IY
-agency's	EY JH AH N S IY Z
-agenda	AH JH EH N D AH
-agendas	AH JH EH N D AH Z
-agent	EY JH AH N T
-agent's	EY JH AH N T S
-agents	EY JH AH N T S
-agents'	EY JH AH N T S
-ager	EY JH ER
-ageratum	AH JH EH R AH T AH M
-ageratums	AH JH EH R AH T AH M Z
-agers	EY JH ER Z
-agers'	EY JH ER Z
-agerton	EY G ER T AH N
-ages	EY JH AH Z
-ages(2)	EY JH IH Z
-agfa	AE G F AH
-aggarwal	AH G AA R W AH L
-aggie	AE G IY
-aggies	AE G IY Z
-agglomerate	AH G L AA M ER EY T
-agglomeration	AH G L AA M ER EY SH AH N
-agglutinate	AH G L UW T IH N EY T
-aggrandize	AH G R AE N D AY Z
-aggrandizement	AE G R AH N D AY Z M AH N T
-aggrandizement(2)	AH G R AE N D AY Z M AH N T
-aggrandizing	AE G R AH N D AY Z IH NG
-aggrandizing(2)	AH G R AE N D AY Z IH NG
-aggravate	AE G R AH V EY T
-aggravated	AE G R AH V EY T AH D
-aggravated(2)	AE G R AH V EY T IH D
-aggravates	AE G R AH V EY T S
-aggravating	AE G R AH V EY T IH NG
-aggravation	AE G R AH V EY SH AH N
-aggregate	AE G R AH G AH T
-aggregate(2)	AE G R AH G IH T
-aggregate(3)	AE G R AH G EY T
-aggregated	AE G R AH G EY T AH D
-aggregates	AE G R AH G IH T S
-aggregates(2)	AE G R AH G EY T S
-aggress	AH G R EH S
-aggression	AH G R EH SH AH N
-aggressions	AH G R EH SH AH N Z
-aggressive	AH G R EH S IH V
-aggressively	AH G R EH S IH V L IY
-aggressiveness	AH G R EH S IH V N AH S
-aggressivity	AH G R EH S IH V IH T IY
-aggressor	AH G R EH S ER
-aggressors	AH G R EH S ER Z
-aggrey	AE G R EY
-aggrieve	AH G R IY V
-aggrieved	AH G R IY V D
-aggy	AE G IY
-aghast	AH G AE S T
-aghazadeh	AE G AH Z AA D EH
-agie	AE G IY
-agildo	AH G IH L D OW
-agile	AE JH AH L
-agilis	AH JH IH L AH S
-agility	AH JH IH L AH T IY
-agin	AA JH IY N
-agincourt	AE JH AH N K AO R T
-aging	EY JH IH NG
-agins	EY G IH N Z
-agip	EY G IH P
-agitate	AE JH AH T EY T
-agitated	AE JH AH T EY T AH D
-agitating	AE JH AH T EY T IH NG
-agitation	AE JH AH T EY SH AH N
-agitator	AE JH AH T EY T ER
-agitators	AE JH IH T EY T ER Z
-agitprop	AE JH AH T P R AO P
-agius	EY JH IY IH S
-agleam	AH G L IY M
-agler	AE G L ER
-aglitter	AH G L IH T ER
-aglo	AH G L OW
-aglow	AH G L OW
-agna	AE G N AA
-agne	AE G N IH
-agnella	AE G N EH L AH
-agnelli	AE G N EH L IY
-agnelli's	AE G N EH L IY Z
-agnellis	AE G N EH L IY Z
-agnello	AE G N EH L OW
-agner	AE G N ER
-agnes	AE G N IH S
-agneta	AA G N EH T AH
-agnew	AE G N UW
-agnew(2)	AE G N Y UW
-agnico	AE G N IH K OW
-agnor	AE G N ER
-agnos	AE G N OW S
-agnosio	AE G N OW S IY OW
-agnostic	AE G N AA S T IH K
-agnostics	AE G N AA S T IH K S
-ago	AH G OW
-agog	AH G AA G
-agoglia	AH G AA G L IY AH
-agonies	AE G AH N IY Z
-agonist	AE G AH N IH S T
-agonists	AE G AH N IH S T S
-agonists(2)	AE G AH N IH S
-agonize	AE G AH N AY Z
-agonized	AE G AH N AY Z D
-agonizes	AE G AH N AY Z IH Z
-agonizing	AE G AH N AY Z IH NG
-agonizingly	AE G AH N AY Z IH NG L IY
-agony	AE G AH N IY
-agora	AE G ER AH
-agoraphobia	AH G AO R AH F OW B IY AH
-agosta	AA G OW S T AH
-agostinelli	AA G OW S T IY N EH L IY
-agostini	AA G OW S T IY N IY
-agostino	AA G AO S T IY N OW
-agosto	AA G OW S T OW
-agoura	AH G UW R AH
-agouron	AH G UW R AA N
-agra	AE G R AH
-agrarian	AH G R EH R IY AH N
-agrarianism	AH G R EH R IY AH N IH Z AH M
-agrawal	AH G R AE W AH L
-agree	AH G R IY
-agreeable	AH G R IY AH B AH L
-agreed	AH G R IY D
-agreeing	AH G R IY IH NG
-agreement	AH G R IY M AH N T
-agreement's	AH G R IY M AH N T S
-agreements	AH G R IY M AH N T S
-agrees	AH G R IY Z
-agregable	AH G R EH JH AH B AH L
-agregious	AH G R IY JH IY AH S
-agresource	AA G R EH S AO R S
-agresource(2)	AE G R AH S AO R S
-agresta	AA G R EH S T AH
-agresti	AA G R EH S T IY
-agrexco	AA G R EH K S K OW
-agri	AE G R IY
-agribank	AE G R IH B AE NG K
-agribusiness	AE G R AH B IH Z N AH S
-agrico	AH G R IY K OW
-agricola	AE G R IH K OW L AH
-agricole	AE G R IH K OW L
-agricultural	AE G R AH K AH L CH ER AH L
-agricultural(2)	AE G R IH K AH L CH ER AH L
-agriculturalist	AE G R AH K AH L CH ER AH L AH S T
-agriculturally	AE G R IH K AH L CH ER AH L IY
-agriculturally(2)	AE G R IH K AH L CH R AH L IY
-agriculture	AE G R IH K AH L CH ER
-agriculture's	AE G R IH K AH L CH ER Z
-agrifuel	AE G R AH F Y UW L
-agrifuels	AE G R AH F Y UW L Z
-agrigenetics	AE G R AH JH AH N EH T IH K S
-agrippa	AH G R IH P AH
-agrivisor	AE G R AH V AY Z ER
-agro	AE G R OW
-agrochemical	AE G R OW K EH M AH K AH L
-agrochemicals	AE G R OW K EH M IH K AH L Z
-agroindustrial	AE G R OW IH D AH S T R IY AH L
-agrokomerc	AE G R AH K OW M ER K
-agronomist	AH G R AA N AH M IH S T
-agronomists	AH G R AA N AH M IH S T S
-agronomists(2)	AH G R AA N AH M IH S
-agrosiand	AH G R OW S IY AH N D
-aground	AH G R AW N D
-agrusa	AA G R UW S AH
-agua	AA G W AH
-aguacate	AE G W AH K EY T
-aguadilla	AA G W AH D IH L AH
-aguado	AA G W AA D OW
-aguanga	AH G W AA N G AH
-aguascalientes	AA G W AH S K AE L Y EH N T EH S
-aguayo	AA G W EY OW
-agudelo	AA G UW D EY L OW
-aguero	AA G EH R OW
-aguiar	AA G W IY ER
-aguila	AA G W IY L AH
-aguilar	AE G AH L AA R
-aguilera	AA G W IY L EH R AH
-aguillar	AE G AH L AA R
-aguillard	AE G IH L ER D
-aguillon	AA G W IY L AO N
-aguilo	AH G W IY L OW
-aguinaga	AA G UW IY N AA G AH
-aguirra	AH G W IH R AH
-aguirra's	AH G W IH R AH Z
-aguirre	AA G W IH R EY
-aguirre's	AA G W IH R EY Z
-aguirre's(2)	AH G W IH R EY Z
-aguirre(2)	AH G W IH R EY
-agustin	AH G AO S T IH N
-ah	AA
-aha	AA HH AA
-ahab	EY HH AE B
-ahah	AA HH AA
-aharon	AE HH ER AA N
-ahart	AH HH AA R T
-ahasuerus	AH HH AE SH AH W EH R AH S
-ahaulsie	AH HH AA L S IY
-ahead	AH HH EH D
-ahearn	AH HH ER N
-aherin	AA ER IH N
-ahern	AH HH ER N
-aherne	AH HH ER N
-ahh	AA
-ahl	AA L
-ahlberg	AA L B ER G
-ahlborn	AA L B ER N
-ahlen	AH L EY N
-ahlen(2)	AA L AH N
-ahlers	AA L ER Z
-ahles	EY AH L Z
-ahlf	AA L F
-ahlgren	AA L G R EH N
-ahlgrim	AA L G R IH M
-ahlin	AA L IH N
-ahlman	AA L M AH N
-ahlquist	AA L K W IH S T
-ahlquist's	AA L K W IH S T S
-ahlquists	AA L K W IH S T S
-ahlstrand	AA L S T R AH N D
-ahlstrom	AA L S T R AH M
-ahluwalia	AH L UW AA L Y AH
-ahmad	AA M AA D
-ahmadi	AA M AA D IY
-ahmann	AA M AH N
-ahmanson	AA M AH N S AH N
-ahmanson's	AA M AH N S AH N Z
-ahmansons	AA M AH N S AH N Z
-ahmed	AA M AH D
-ahmed(2)	AA M EH D
-ahmeek	AH M IY K
-ahmoudi	AA M UW D IY
-ahn	AE N
-ahnell	AA N EH L
-ahner	AA N ER
-aho	AA HH OW
-ahola	AE HH AH L AH
-ahold	AH HH OW L D
-ahold's	AH HH OW L D Z
-aholds	AH HH OW L D Z
-ahonen	AH HH OW N AH N
-ahoskie	AH HH AO S K IY
-ahoy	AH HH OY
-ahr	AA R
-ahranat	AH R AA N AH T
-ahren	AA R AH N
-ahrendt	AA R IH N T
-ahrens	AA R IH N Z
-ahs	AA Z
-ahsahka	AA S AA K AH
-ahuja	AA HH UW Y AH
-ahumada	AA Y UW M AA D AH
-ahwahnee	AH W AA N IY
-ai	AY
-ai(2)	EY AY
-aichele	AY K AH L
-aicher	AY K ER
-aichi	AA IY CH IY
-aickin	EY K IH N
-aid	EY D
-aid's	EY D Z
-aida	AY IY D AH
-aidan	EY D AA N
-aide	EY D
-aide's	EY D Z
-aided	EY D AH D
-aided(2)	EY D IH D
-aides	EY D Z
-aides'	EY D Z
-aidid	AY D IY D
-aidid's	AY D IY D Z
-aiding	EY D IH NG
-aids	EY D Z
-aiello	AY EH L OW
-aiesha	AY SH AH
-aigner	EY N ER
-aigner(2)	EH N Y EY
-aigner(3)	EY K N ER
-aiguebelle	AY G AH B EH L
-aiken	EY K IH N
-aikens	EY K IH N Z
-aikey	EY K IY
-aikin	EY K IH N
-aikins	AY K IH N Z
-aikman	EY K M AH N
-aikoff	AY K AO F
-ail	EY L
-ailee	EY L IY
-aileen	AY L IY N
-aileron	EY L ER AA N
-ailerons	EY L ER AA N Z
-ailes	AY L Z
-ailes(2)	EY L Z
-ailey	EY L IY
-ailing	EY L IH NG
-ailment	EY L M AH N T
-ailments	EY L M AH N T S
-ailor	EY L ER
-ails	EY L Z
-ailsa	EY L S AH
-ailurophile	EY L UH R AH F AY L
-ailurophile(2)	EY L UH R AH F AY AH L
-aim	EY M
-aim's	EY M Z
-aimal	AY M AH L
-aiman	AY M AH N
-aime	EY M
-aimed	EY M D
-aimee	EY M IY
-aimetti	EY M EH T IY
-aiming	EY M IH NG
-aimless	EY M L AH S
-aimlessly	EY M L AH S L IY
-aimone	EY M OW N
-aims	EY M Z
-ain't	EY N T
-aine	EY N
-ainge	EY NG
-ainge(2)	EY N JH
-ainley	EY N L IY
-ainsberg	EY N Z B ER G
-ainsley	EY N S L IY
-ainslie	EY N Z L IY
-ainsworth	EY N S W ER TH
-ainsworth's	EY N Z W ER TH S
-aipac	AY P AE K
-aipac's	AY P AE K S
-air	EH R
-air's	EH R Z
-airbag	EH R B AE G
-airbags	EH R B AE G Z
-airbase	EH R B EY S
-airbases	EH R B EY S IH S
-airboat	EH R B OW T
-airboats	EH R B OW T S
-airborne	EH R B AO R N
-airborne's	EH R B AO R N Z
-airbus	EH R B AH S
-airbus's	EH R B AH S IH Z
-aircal	EH R K AA L
-aircal's	EH R K AE L Z
-airco	EH R K OW
-aircoa	EH R K OW AH
-aircondition	EH R K AH N D IH SH AH N
-airconditioned	EH R K AH N D IH SH AH N D
-airconditioner	EH R K AH N D IH SH AH N ER
-airconditioning	EH R K AH N D IH SH AH N IH NG
-airconditions	EH R K AH N D IH SH AH N Z
-aircraft	EH R K R AE F T
-aircraft's	EH R K R AE F T S
-aircraft's(2)	EH R K R AE F S
-aircrafts	EH R K R AE F T S
-aircrafts(2)	EH R K R AE F S
-aircrew	EH R K R UW
-aird	EH R D
-airdrop	EH R D R AA P
-airdrops	EH R D R AA P S
-aired	EH R D
-airedale	EH R D EY L
-airedales	EH R D EY L Z
-aires	EH R IY Z
-airey	EH R IY
-airfare	EH R F EH R
-airfares	EH R F EH R Z
-airfield	EH R F IY L D
-airfields	EH R F IY L D Z
-airflow	EH R F L OW
-airflows	EH R F L OW Z
-airfoil	EH R F OY L
-airfoils	EH R F OY L Z
-airfone	EH R F OW N
-airfones	EH R F OW N Z
-airforce	EH R F AO R S
-airforces	EH R F AO R S IH Z
-airframe	EH R F R EY M
-airframes	EH R F R EY M Z
-airfreight	EH R F R EY T
-airgas	EH R G AE S
-airglow	EH R G L OW
-airhart	EH R HH AA R T
-airhead	EH R HH EH D
-airheadz	EH R HH EH D Z
-airing	EH R IH NG
-airington	EH R IH NG T AH N
-airless	EH R L AH S
-airlia	EH R L IY AH
-airlie	EH R L IY
-airlift	EH R L IH F T
-airlifted	EH R L IH F T IH D
-airlifter	EH R L IH F T ER
-airlifters	EH R L IH F T ER Z
-airlifting	EH R L IH F T IH NG
-airlifts	EH R L IH F T S
-airline	EH R L AY N
-airline's	EH R L AY N Z
-airliner	EH R L AY N ER
-airliner's	EH R L AY N ER Z
-airliners	EH R L AY N ER Z
-airlines	EH R L AY N Z
-airlines'	EH R L AY N Z
-airlink	EH R L IH NG K
-airlinks	EH R L IH NG K S
-airlock	EH R L AO K
-airlocks	EH R L AO K S
-airmail	EH R M EY L
-airman	EH R M AH N
-airman's	EH R M AH N Z
-airmen	EH R M EH N
-airmotive	EH R M OW T IH V
-airplane	EH R P L EY N
-airplane's	EH R P L EY N Z
-airplanes	EH R P L EY N Z
-airport	EH R P AO R T
-airport's	EH R P AO R T S
-airporter	EH R P AO R T ER
-airporters	EH R P AO R T ER Z
-airports	EH R P AO R T S
-airpower	EH R P AW ER
-airs	EH R Z
-airshare	EH R SH EH R
-airship	EH R SH IH P
-airships	EH R SH IH P S
-airspace	EH R S P EY S
-airspaces	EH R S P EY S IH Z
-airspeed	EH R S P IY D
-airstrike	EH R S T R AY K
-airstrikes	EH R S T R AY K S
-airstrip	EH R S T R IH P
-airstrips	EH R S T R IH P S
-airtight	EH R T AY T
-airtime	EH R T AY M
-airtouch	EH R T AH CH
-airtran	EH R T R AE N
-airwave	EH R W EY V
-airwaves	EH R W EY V Z
-airway	EH R W EY
-airway's	EH R W EY Z
-airways	EH R W EY Z
-airways'	EH R W EY Z
-airways's	EH R W EY Z IH Z
-airwing	EH R W IH NG
-airwings	EH R W IH NG Z
-airworthiness	EH R W ER DH IY N AH S
-airworthy	EH R W ER DH IY
-airy	EH R IY
-air_force	EH R F AO R S
-ais	AY Z
-aisa	AY IY S AH
-aisle	AY L
-aisle(2)	AY AH L
-aisles	AY L Z
-aisles(2)	AY AH L Z
-aisling	EY S L IH NG
-aislinn	EY S L IH N
-aist	EY S T
-aitchison	EY CH IH S AH N
-aithne	EY TH N
-aitken	AY T K AH N
-aiton	AA IY T OW N
-aiwa	AY W AH
-aix	EH K S
-aix(2)	EY K S
-aix-en-provence	EY K S AA N P R AH V AO N S
-aix-en-provence(2)	EH K S AA N P R AH V AO N S
-aix-la-chapelle	EY K S L AA SH AH P EH L
-aix-la-chapelle(2)	EH K S L AA SH AH P EH L
-aja	AY AH
-ajaj	AH JH AA JH
-ajaj's	AH JH AA JH IH Z
-ajami	EY JH AA M IY
-ajar	AH JH AA R
-ajax	EY JH AE K S
-ajax's	EY JH AE K S AH Z
-ajax's(2)	EY JH AE K S IH Z
-ajay	EH JH EY
-ajinomoto	AH JH IH N AH M OW T OW
-ajito	AH JH IY T OW
-ajito(2)	AH HH IY T OW
-aka	AA K AH
-aka(2)	EY K EY EY
-akai	AH K AY
-akaka	AH K AA K AH
-akali	AH K AA L IY
-akamine	AE K AH M AY N
-akana	AA K AA N AH
-akao	AH K EY OW
-akao(2)	AH K AA W
-akard	AE K ER D
-akashi	AH K AA SH IY
-akashi's	AH K AA SH IY Z
-akbar	AE K B ER
-akbar(2)	AA K B AA R
-akbash	AE K B AE SH
-akc	AE K
-ake	EY K
-akebono	AE K IY B OW N OW
-akel	AH K EH L
-akella	AH K EH L AH
-aken	EY K AH N
-akens	EY K AH N Z
-aker	AE K ER
-aker(2)	EY K ER
-akerley	AH K ER L IY
-akerman	AE K ER M AH N
-akers	EY K ER Z
-akers's	EY K ER Z IH Z
-akerson	AE K ER S AH N
-akey	AH K IY
-akhtar	AE K T ER
-aki	AA K IY
-akiba	AH K IY B AH
-akihito	AA K IY HH IY T OW
-akiko	AH K IY K OW
-akimbo	AH K IH M B OW
-akin	AH K IH N
-akin(2)	EY K IH N
-akins	AH K IH N Z
-akins(2)	EY K IH N Z
-akio	AA K IY OW
-akira	AH K IY R AH
-akita	AH K IY T AH
-akita's	AH K IY T AH Z
-akiva	AH K IY V AH
-akiyama	AA K IY Y AA M AH
-akkadian	AH K EY D IY AH N
-akkerman	AE K ER M AH N
-akre	AE K ER
-akridge	AH K R IH JH
-akron	AE K R AH N
-aksamit	AE K S AH M IH T
-aksler	AE K S L ER
-akst	AE K S T
-akyanama	AE K AH Y AA N AH M AH
-akzo	AE K Z OW
-akzo's	AE K Z OW Z
-akzos	AE K Z OW Z
-al	AE L
-al's	AE L Z
-al.	AE L
-al.(2)	AE L AH B AE M AH
-ala	EY L AH
-alabama	AE L AH B AE M AH
-alabama's	AE L AH B AE M AH Z
-alabaman	AE L AH B AE M AH N
-alabamans	AE L AH B AE M AH N Z
-alabaster	AE L AH B AE S T ER
-alachlor	AH L AE K L ER
-alachua	AH L AE CH UW AH
-alacrity	AH L AE K R AH T IY
-aladdin	AH L AE D IH N
-alafi	AH L AA F IY
-alagappan	AA L AH G AA P AH N
-alagem	AE L AH JH EH M
-alagna	AA L AA G N AH
-alagoas	AE L AH G OW Z
-alai	AH L AY
-alaimo	AH L EY M OW
-alain	AH L EY N
-alaine	AH L EY N
-alair	AH L EH R
-alam	AH L AE M
-alamance	AE L AH M AE N S
-alamco	AH L AE M K OW
-alameda	AE L AH M IY D AH
-alamein	AE L AH M AY N
-alamillo	AE L AH M IH L OW
-alamito	AE L AH M IY T OW
-alamitos	AE L AH M IY T OW S
-alamo	AE L AH M OW
-alamodome	AE L AH M OW D OW M
-alamos	AE L AH M OW Z
-alamosa	AE L AH M OW S AH
-alamoud	AE L AH M UW D
-alamoudi	AA L AA M UW D IY
-alamoudi(2)	AE L AA M UW D IY
-alan	AE L AH N
-alan's	AE L AH N Z
-alana	AA L AE N AH
-alanco	AH L AE N K OW
-aland	AE L AH N D
-alane	AH L EY N
-alanis	AA L AA N IH S
-alaniz	AE L AH N IH Z
-alann	AE L AE N
-alanna	AA L AA N AH
-alar	EY L AA R
-alarcon	AH L AA R K AA N
-alard	AH L AA R D
-alaric	AE L ER IH K
-alarica	AA L AA R IY K AH
-alarice	AA L AA R IH S
-alarid	AH L EH R IH D
-alarie	AH L EH R IY
-alarm	AH L AA R M
-alarm's	AH L AA R M Z
-alarmed	AH L AA R M D
-alarming	AH L AA R M IH NG
-alarmingly	AH L AA R M IH NG L IY
-alarmist	AH L AA R M AH S T
-alarmist(2)	AH L AA R M IH S T
-alarmists	AH L AA R M IH S T S
-alarmists(2)	AH L AA R M IH S
-alarms	AH L AA R M Z
-alaron	AH L EH R AH N
-alas	AH L AE S
-alaska	AH L AE S K AH
-alaska's	AH L AE S K AH Z
-alaskamen	AH L AE S K AH M AH N
-alaskan	AH L AE S K AH N
-alaskans	AH L AE S K AH N Z
-alastair	AE L AH S T EH R
-alaster	AE L AH S T ER
-alatas	AH L AA T AH S
-alatorre	AA L AA T AO R IY
-alayne	AH L EY N
-alba	AE L B AH
-albach	AE L B AA K
-albacore	AE L B AH K AO R
-alban	AA L B AH N
-albanese	AA L B AA N EY Z IY
-albani	AE L B AA N IY
-albani's	AE L B AA N IY Z
-albania	AE L B EY N IY AH
-albania's	AE L B EY N IY AH Z
-albanian	AE L B EY N IY AH N
-albanians	AE L B EY N IY AH N Z
-albank	AA L B AE NG K
-albano	AA L B AA N OW
-albans	AE L B AE N Z
-albany	AO L B AH N IY
-albany's	AO L B AH N IY Z
-albarado	AA L B AA R AA D OW
-albarran	AE L B AE R AH N
-albashaun	AE L B AH SH AA N
-albatross	AE L B AH T R AA S
-albatrosses	AE L B AH T R AA S IH Z
-albaugh	AH L B AO
-albea	AE L B IY AH
-albee	AH L B IY
-albeit	AO L B IY IH T
-albemarle	AE L B AH M AA R L
-alben	AO L B AH N
-albendazole	AA L B AH N D AH Z OW L IY
-alber	AE L B ER
-alberding	AE L B ER D IH NG
-alberg	AE L B ER G
-albergo	AA L B EH R G OW
-alberico	AA L B ER IY K OW
-albern	AE L B ER N
-albers	AO L B ER Z
-alberson	AE L B ER S AH N
-albert	AE L B ER T
-albert's	AE L B ER T S
-alberta	AE L B ER T AH
-alberthal	AE L B ER TH AO L
-alberti	AA L B EH R T IY
-albertina	AA L B ER T IY N AH
-albertine	AE L B ER T IY N
-albertini	AA L B ER T IY N IY
-alberto	AE L B ER T OW
-alberts	AE L B ER T S
-albertsen	AE L B ER T S AH N
-albertson	AE L B ER T S AH N
-albertson's	AE L B ER T S AH N Z
-albertus	AE L B ER T AH S
-albertville	AE L B ER T V IH L
-alberty	AH L B ER T IY
-albie	AO L B IY
-albin	AE L B IH N
-albina	AA L B IY N AH
-albini	AA L B IY N IY
-albinia	AA L B IY N IY AH
-albino	AE L B AY N OW
-albion	AE L B IY AH N
-albiric	AA L B AY R IH K
-albo	AE L B OW
-albrecht	AO L B R EH K T
-albright	AO L B R AY T
-albright's	AO L B R AY T S
-albrightsville	AO L B R AY T S V IH L
-albritton	AE L B R IH T AA N
-albro	AE L B R OW
-albukhari	AA L B Y UW K AA R IY
-album	AE L B AH M
-album's	AE L B AH M Z
-albumin	AE L B Y UW M AH N
-albums	AE L B AH M Z
-albunex	AE L B Y UW N EH K S
-albuquerque	AE L B AH K ER K IY
-albury	AE L B EH R IY
-albus	AE L B AH S
-albuterol	AE L B Y UW T ER AO L
-alcala	AA L K AA L AH
-alcan	AE L K AE N
-alcan's	AE L K AE N Z
-alcantar	AE L K AE N T ER
-alcantara	AA L K AA N T AA R AH
-alcaraz	AA L K AA R AA Z
-alcasa	AE L K AA S AH
-alcatel	AE L K AH T EH L
-alcatel's	AE L K AH T EH L Z
-alcatraz	AE L K AH T R AE Z
-alcazar	AA L K AH Z AA R
-alcee	AE L S IY
-alcester	AA L CH EH S T ER
-alchemically	AE L K EH M AH K L IY
-alchemist	AE L CH AH M IH S T
-alchemist(2)	AA L K AH M IH S T
-alchemy	AE L K AH M IY
-alcide	AE L S AY D
-alcids	AE L S IH D Z
-alcina	AA L CH IY N AH
-alco	AE L K OW
-alco's	AE L K OW Z
-alcoa	AE L K OW AH
-alcoa's	AE L K OW AH Z
-alcocer	AH L K OW S ER
-alcock	AH L K AA K
-alcohol	AE L K AH HH AA L
-alcoholic	AE L K AH HH AA L IH K
-alcoholics	AE L K AH HH AA L IH K S
-alcoholism	AE L K AH HH AO L IH Z AH M
-alcon	AH L K AA N
-alcorn	AA L K AO R N
-alcorta	AA L K AO R T AH
-alcott	AE L K AA T
-alcove	AE L K OW V
-alcoves	AE L K OW V Z
-alda	AA L D AH
-aldaco	AA L D AA K OW
-aldama	AA L D AA M AH
-aldana	AA L D AE N AH
-aldape	AA L D AA P EY
-alday	AE L D EY
-aldebaran	AE L D EH B ER AH N
-alden	AA L D AH N
-aldenville	AA L D AH N V IH L
-alder	AO L D ER
-aldercy	AH L D ER K IY
-alderete	AE L D ER IY T
-alderfer	AE L D ER F ER
-alderidge	AA L D ER IH JH
-alderidge(2)	AA L D R IH JH
-alderman	AO L D ER M AH N
-alderman(2)	AE L D ER M AH N
-aldermen	AO L D ER M IH N
-alderson	AO L D ER S AH N
-alderson(2)	AE L D ER S AH N
-alderton	AO L D ER T AH N
-aldi	AA L D IY
-aldicarb	AO L D IH K AA R B
-aldila	AE L D IH L AH
-aldin	AA L D IY N
-aldinger	AO L D IH NG ER
-aldis	AA L D IH S
-aldo	AA L D OW
-aldora	AA L D AO R AH
-aldous	AA L D AH S
-aldred	AE L D ER D
-aldred(2)	AO L D R EH D
-aldredge	AO L D R EH JH
-aldrete	AO L D R IY T
-aldric	AE L D R IH K
-aldric(2)	AO L D R IH K
-aldrich	AO L D R IH CH
-aldrich's	AO L D R IH CH AH Z
-aldridge	AO L D R IH JH
-aldrin	AO L D R IH N
-aldrin's	AO L D R IH N Z
-aldus	AA L D IH S
-aldus's	AA L D IH S IH Z
-aldwin	AO L D W IH N
-aldwyn	AO L D W IH N
-aldys	AA L D IY Z
-ale	EY L
-aleatory	EY L IY AH T AO R IY
-alec	AE L IH K
-aleda	AA L EY D AH
-aledo	AH L IY D OW
-aleen	AH L IY N
-alegre	AA L EH G R IY
-alegrett	AE L AH G R AH T
-alegria	AH L EH G R IY AH
-alehouse	EY L HH AW S
-aleichem	AH L EH HH EH M
-aleichem(2)	AH L EY HH EH M
-alejandre	AA L EY Y AA N D R EY
-alejandro	AA L EY Y AA N D R OW
-alejandro(2)	AA L EY HH AA N D R OW
-alejo	AA L EY Y OW
-alejos	AA L EY Y OW Z
-aleksander	AE L AH G Z AE N D ER
-aleksander(2)	AE L AH K S AE N D ER
-aleksandr	AE L AH G Z AE N D ER
-aleksandr(2)	AE L AH K S AE N D ER
-alem	AH L EH M
-aleman	EY L M AH N
-alena	AA L EY N AH
-alendrin	AH L EH N D R IH N
-alene	AH L IY N
-alenia	AH L IY N IY AH
-aleo	AA L IY OW
-aleph	AA L AH F
-aleria	AH L IY R IY AH
-aleron	AA L EH R AO N
-alert	AH L ER T
-alerted	AH L ER T IH D
-alerting	AH L ER T IH NG
-alertly	AH L ER T L IY
-alertness	AH L ER T N AH S
-alerts	AH L ER T S
-ales	EY L Z
-aleshire	AA L EY SH IH R EY
-alesi	AA L EH S IY
-alessandra	AE L EH S AE N D R AH
-alessandra's	AE L EH S AE N D R AH Z
-alessandrini	AA L EH S AA N D R IY N IY
-alessandro	AA L EY Z AA N D R OW
-alessandro(2)	AA L AH S AE N D R OW
-alessi	AH L EH S IY
-alessi(2)	AH L EY S IY
-alessio	AH L EH S IY OW
-aleta	AA L EH T AH
-aletha	AH L IY TH AH
-alethea	AE L AH TH IY AH
-aletti	AH L EH T IY
-aleutian	AH L UW SH AH N
-aleutians	AH L UW SH AH N Z
-aleve	AH L IY V
-alewife	EY L W AY F
-alewine	EY L W AY N
-alewives	EY L W AY V Z
-alex	AE L AH K S
-alex's	AE L AH K S IH Z
-alexa	AH L EH K S AH
-alexander	AE L AH G Z AE N D ER
-alexander's	AE L AH G Z AE N D ER Z
-alexander's(2)	AE L IH G Z AE N D ER Z
-alexander(2)	AE L IH G Z AE N D ER
-alexanders	AE L IH G Z AE N D ER Z
-alexandra	AE L EH G Z AE N D R AH
-alexandra(2)	AE L IH G Z AE N D R AH
-alexandre	AE L IH K S AA N D ER
-alexandria	AE L AH G Z AE N D R IY AH
-alexandrine	AE L AH G Z AE N D R IY N
-alexandrines	AE L AH G Z AE N D R IY N Z
-alexandrov	AE L AH K S AE N D R AH V
-alexandrov(2)	AE L AH G Z AE N D R AH V
-alexei	AH L EH K S EY
-alexi	AH L EH K S IY
-alexi's	AH L EH K S IY Z
-alexia	AH L EH K S IY AH
-alexine	AH L EH K S AY N
-alexis	AH L EH K S IH S
-alexopoulos	AE L IH G Z AA P AH L IH S
-alexs	AE L AH K S IH Z
-alexy	AH L EH K S IY
-aley	EY L IY
-alf	AE L F
-alfa	AE L F AH
-alfa's	AE L F AH Z
-alfalfa	AE L F AE L F AH
-alfano	AA L F AA N OW
-alfareda	AE L F AH R EH D AH
-alfaro	AA L F AA R OW
-alfavilli	AE L F AH V IH L IY
-alfie	AE L F IY
-alfieri	AA L F IH R IY
-alfiero	AE L F IY EH R OW
-alfin	AE L F IH N
-alfin's	AE L F IH N Z
-alfono	AE L F OW N OW
-alfons	AA L F OW N Z
-alfonse	AE L F AA N S
-alfonse(2)	AE L F AO N S
-alfonsin	AE L F AA N S IH N
-alfonsin's	AE L F AA N S IH N Z
-alfonsine	AA L F OW N S IY N IY
-alfonso	AE L F AA N S OW
-alfonzo	AE L F AA N Z OW
-alford	AE L F ER D
-alfre	AE L F ER
-alfre(2)	AE L F R IY
-alfred	AE L F R AH D
-alfred(2)	AE L F R IH D
-alfredo	AE L F R EY D OW
-alfredson	AE L F R IH D S AH N
-alfredsson	AE L F R IH D S AH N
-alfrey	AE L F R IY
-algae	AE L JH IY
-algal	AE L G AH L
-algamaa	AE L G AA M AH
-algar	AA L G AA R
-algarin	AE L G ER IH N
-algata	AE L G AA T AH
-algebra	AE L JH AH B R AH
-algebraic	AE L JH AH B R EY IH K
-algebraically	AE L JH AH B R EY IH K L IY
-algemene	AE L G AH M IY N
-algeo	AE L JH IY OW
-alger	AE L JH ER
-algeria	AE L JH IH R IY AH
-algeria's	AE L JH IY R IY AH Z
-algerian	AE L JH IH R IY AH N
-algerians	AE L JH IY R IY AH N Z
-algernon	AE L JH ER N AA N
-algie	AO L G IY
-algiers	AE L JH IH R Z
-algodones	AA G AH D OW N AH Z
-algol	AE L G AA L
-algom	AE L G AH M
-algoma	AE L G OW M AH
-algonquian	AE L G AA NG K IY AH N
-algonquin	AE L G AA NG K W IH N
-algorithm	AE L G ER IH DH AH M
-algorithms	AE L G ER IH DH AH M Z
-alguire	AA L G W IH R EY
-algy	AE L JH IY
-alhadeff	AE L AH D EH F
-alhambra	AE L HH AE M B R AH
-alhausie	AE L HH AW S IY
-ali	AA L IY
-ali's	AA L IY Z
-ali-reza	AA L IY R EH Z AH
-aliano	AA L IY AA N OW
-alianza	AE L IY AE N Z AH
-alias	EY L IY AH S
-aliases	EY L IY AH S IH Z
-aliberti	AA L IY B EH R T IY
-alibi	AE L AH B AY
-alibis	AE L AH B AY Z
-alibrandi	AE L IH B R AE N D IY
-alice	AE L AH S
-alice's	AE L AH S AH Z
-alice(2)	AE L IH S
-alicea	AH L IH S IY AH
-alices	AE L AH S AH Z
-alicia	AH L IH SH AH
-alicia's	AH L IH SH AH Z
-alida	AA L IY D AH
-alie	AE L IY
-alien	EY L IY AH N
-alienate	EY L Y AH N EY T
-alienated	EY L IY AH N EY T AH D
-alienated(2)	EY L IY AH N EY T IH D
-alienates	EY L IY AH N EY T S
-alienating	EY L IY AH N EY T IH NG
-alienation	EY L IY AH N EY SH AH N
-aliens	EY L IY AH N Z
-aliff	AE L IH F
-alig	AE L IH G
-alight	AH L AY T
-align	AH L AY N
-aligned	AH L AY N D
-aligning	AH L AY N IH NG
-alignment	AH L AY N M AH N T
-alignments	AH L AY N M AH N T S
-aligns	AH L AY N Z
-alihan	AE L IH HH AE N
-alija	AH L AY JH AH
-alija's	AH L AY JH AH Z
-alike	AH L AY K
-alikes	AH L AY K S
-alima	AA L IY M AH
-alimenies	AE L IH M EH N IY Z
-alimentary	AE L AH M EH N T ER IY
-alimony	AE L AH M OW N IY
-alina	AH L IY N AH
-aline	AH L AY N
-alines	AH L AY N Z
-alioto	AA L IY OW T OW
-aliquippa	AE L AH K W IH P AH
-aliquippa's	AE L AH K W IH P AH Z
-aliquippas	AE L AH K W IH P AH Z
-alire	AA L IH R EY
-alirio	AH L IH R IY OW
-alisa	AH L IY S AH
-alisha	AA L IY SH AH
-alisky	AH L IH S K IY
-alislamiyya	AE L AH S L AH M IY AH
-alison	AE L IH S AH N
-alissa	AH L IH S AH
-alistair	AE L IH S T EH R
-alister	AE L IH S T ER
-alita	AA L IY T AH
-alitalia	AE L IH T EY L IY AH
-alitalia's	AE L IH T EY L IY AH Z
-alitalia's(2)	AE L IH T AE L IY AH Z
-alitalia(2)	AE L IH T AE L IY AH
-alithia	AH L IH TH IY AH
-alito	AH L IY T OW
-alive	AH L AY V
-alix	AE L IH K S
-aliyah	AH L IY AH
-alizac	AE L IH Z AE K
-alka	AE L K AH
-alkahest	AE L K AH HH EH S T
-alkali	AE L K AH L AY
-alkalies	AE L K AH L AY Z
-alkaline	AE L K AH L AY N
-alkalinity	AE L K AH L IH N AH T IY
-alkaloid	AE L K AH L OY D
-alkaloidal	AE L K AH L OY D AH L
-alkaloids	AE L K AH L OY D Z
-alkanes	AE L K EY N Z
-alkema	AE L K IH M AH
-alkene	AE L K IY N
-alkenes	AE L K IY N Z
-alkermes	AA L K ER M IY Z
-alkire	AH L K AY R
-all	AO L
-all's	AO L Z
-all-out	AO L AW T
-all-purpose	AO L P ER P AH S
-alla	AA L AH
-allah	AA L AH
-allain	AH L EY N
-allaire	AA L EH R
-allais	AH L EY
-allais(2)	EY L IY AH S
-allamuchy	AA L AH M UW CH IY
-allan	AE L AH N
-allante	AE L AA N T EY
-allar	AH L AA R
-allard	AE L ER D
-allardt	AE L ER T
-allay	AH L EY
-allayed	AH L EY D
-allaying	AH L EY IH NG
-allays	AH L EY Z
-allbaugh	AH L B AO
-allbee	AO L B IY
-allbright	AO L B R AY T
-allbritten	AE L B R IH T AH N
-allbritton	AE L B R IH T AA N
-allcock	AO L K AA K
-allcorn	AH L K AO R N
-allday	AO L D EY
-allderdice	AA L D ER D AY S
-allderdice(2)	AE L D ER D AY S
-alldredge	AH L D R EH JH
-allebach	AE L IH B AA K
-allebach(2)	AE L B AA K
-alleco	AE L EH K OW
-allee	AH L IY
-allegation	AE L AH G EY SH AH N
-allegations	AE L AH G EY SH AH N Z
-allege	AH L EH JH
-alleged	AH L EH JH D
-allegedly	AH L EH JH AH D L IY
-alleges	AH L EH JH AH Z
-alleges(2)	AH L EH JH IH Z
-alleghany	AE L AH G EY N IY
-alleghenies	AE L AH G EY N IY Z
-alleghenies(2)	AE L AH G EH N IY Z
-allegheny	AE L AH G EY N IY
-allegheny's	AE L AH G EY N IY Z
-allegheny's(2)	AE L AH G EH N IY Z
-allegheny(2)	AE L AH G EH N IY
-allegiance	AH L IY JH AH N S
-allegiances	AE L IY JH IY AE N S IH Z
-allegiances(2)	AH L IY JH AH N S IH Z
-alleging	AH L EH JH IH NG
-allegis	AE L EY JH IH S
-allegis'	AE L EY JH IH S
-allegis's	AE L EY JH IH S IH Z
-allegorical	AE L AH G AO R AH K AH L
-allegories	AE L AH G AO R IY Z
-allegory	AE L AH G AO R IY
-allegra	AA L EH G R AH
-allegretti	AA L EH G R EH T IY
-allegro	AH L EH G R OW
-allele	AH L EH L IY
-alleles	AH L EH L IY Z
-allelic	AH L EH L IH K
-alleman	EY L M AH N
-allemand	AE L IH M AH N D
-allen	AE L AH N
-allen's	AE L AH N Z
-allenbaugh	AH L EH N B AO
-allendale	AE L AH N D EY L
-allende	AA Y EH N D EY
-allender	AA L Y EH N D EY ER
-allender(2)	AA L EH N D ER
-allendorf	AE L IH N D AO R F
-allene	AE L IY N
-allenhurst	AE L AH N HH ER S T
-allens	AE L AH N Z
-allensbach	AE L AH N Z B AA K
-allensworth	AE L AH N Z W ER TH
-allenton	AE L AH N T AH N
-allentown	AE L AH N T AW N
-allenwood	AE L AH N W UH D
-aller	AO L ER
-allergan	AE L ER JH AH N
-allergen	AE L ER JH AH N
-allergens	AE L ER JH AH N Z
-allergic	AH L ER JH IH K
-allergies	AE L ER JH IY Z
-allergist	AE L ER JH AH S T
-allergist's	AE L ER JH AH S T S
-allergist's(2)	AE L ER JH AH S
-allergists	AE L ER JH AH S T S
-allergists(2)	AE L ER JH AH S
-allergy	AE L ER JH IY
-allers	AO L ER Z
-allert	AE L ER T
-allerton	AE L ER T AH N
-alles	EY L Z
-alleva	AA L EY V AH
-alleviate	AH L IY V IY EY T
-alleviated	AH L IY V IY EY T AH D
-alleviated(2)	AH L IY V IY EY T IH D
-alleviates	AH L IY V IY EY T S
-alleviating	AH L IY V IY EY T IH NG
-alleviation	AH L IY V IY EY SH AH N
-alley	AE L IY
-alley's	AE L IY Z
-alleyne	AE L EY N
-alleyoop	AE L IY UW P
-alleys	AE L IY Z
-alleyway	AE L IY W EY
-alleyways	AE L IY W EY Z
-allgaier	AE L G AY ER
-allgeier	AE L G AY ER
-allgemeine	AO L G AH M AY N
-allgemeines	AO L G AH M AY N Z
-allgeyer	AE L G IY ER
-allgood	AO L G UH D
-alli	AE L IY
-alliance	AH L AY AH N S
-alliance's	AH L AY AH N S IH Z
-alliances	AH L AY AH N S AH Z
-alliances(2)	AH L AY AH N S IH Z
-alliant	AH L AY AH N T
-alliant's	AH L AY AH N T S
-allianz	AE L IY AH N Z
-allianz's	AE L IY AH N Z IH Z
-allick	AE L IH K
-allie	AE L IY
-allied	AH L AY D
-allied's	AE L AY D Z
-allied(2)	AE L AY D
-alliedsignal	AE L AY D S IH G N AH L
-alliedsignal's	AE L AY D S IH G N AH L Z
-allies	AE L AY Z
-allies'	AE L AY Z
-allies(2)	AH L AY Z
-alligator	AE L AH G EY T ER
-alligators	AE L AH G EY T ER Z
-alligood	AE L IH G UH D
-allin	AH L IH N
-allinder	AE L IH N D ER
-alling	AO L IH NG
-allinger	AO L IH NG ER
-allingham	AO L IH NG HH AE M
-allington	AO L IH NG T AH N
-allinson	AE L IH N S AH N
-allis	AE L IH S
-allison	AE L AH S AH N
-allison's	AE L IH S AH N Z
-allison(2)	AE L IH S AH N
-allister	AO L IH S T ER
-allister(2)	AE L IH S T ER
-alliston	AE L IH S T AA N
-alliteration	AH L IH T ER EY SH AH N
-alliterative	AH L IH T ER AH T IH V
-alliterative(2)	AH L IH T ER EY T IH V
-allman	AO L M AH N
-allmendinger	AE L M EH N D IH NG ER
-allmon	AO L M AH N
-allmond	AH L M AA N D
-allnet	AO L N EH T
-allnutt	AH L N AH T
-allocate	AE L AH K EY T
-allocated	AE L AH K EY T IH D
-allocates	AE L AH K EY T S
-allocating	AE L AH K EY T IH NG
-allocation	AE L AH K EY SH AH N
-allocations	AE L AH K EY SH AH N Z
-allocator	AE L AH K EY T ER
-allocators	AE L AH K EY T ER Z
-allocca	AE L AA K AH
-allocco	AE L AA K OW
-allograph	AE L AH G R AE F
-allographs	AE L AH G R AE F S
-allomorph	AE L AH M AO R F
-allomorphs	AE L AH M AO R F S
-allophone	AE L AH F OW N
-allophones	AE L AH F OW N Z
-allophonic	AE L AH F AA N IH K
-allor	AO L ER
-allot	AH L AA T
-alloted	AH L AA T IH D
-allotment	AH L AA T M AH N T
-allotments	AH L AA T M AH N T S
-allotrope	AE L AH T R OW P
-allotropes	AE L AH T R OW P S
-allots	AH L AA T S
-allotted	AH L AA T IH D
-allotting	AH L AA T IH NG
-allow	AH L AW
-allowable	AH L AW AH B AH L
-allowance	AH L AW AH N S
-allowances	AH L AW AH N S IH Z
-alloway	AE L OW W EY
-allowed	AH L AW D
-allowing	AH L AW IH NG
-allows	AH L AW Z
-alloy	AE L OY
-alloys	AE L OY Z
-allphin	AH L F IH N
-allport	AO L P AO R T
-allred	AE L R IH D
-allright	AA L R AY T
-alls	AO L Z
-allsbrook	AO L Z B R UH K
-allsbrook(2)	AO L T S B R UH K
-allset	AO L S EH T
-allshouse	AO L Z HH AW S
-allshouse(2)	AO L T S HH AW S
-allsop	AO L S AA P
-allsopp	AO L S AA P
-allspice	AO L S P AY S
-allstate	AO L S T EY T
-allstate's	AO L S T EY T S
-allston	AO L S T AH N
-allsup	AE L S AH P
-alltel	AO L T EH L
-alltime	AO L T AY M
-allton	AO L T AH N
-alltop	AO L T AA P
-allude	AH L UW D
-alluded	AH L UW D AH D
-alludes	AH L UW D Z
-alluding	AH L UW D IH NG
-allum	AE L AH M
-allums	AE L AH M Z
-allure	AH L UH R
-allured	AH L UH R D
-alluring	AH L UH R IH NG
-allusion	AH L UW ZH AH N
-allusions	AH L UW ZH AH N Z
-allusive	AH L UW S IH V
-alluvial	AE L UW V IY AH L
-alluvium	AH L UW V IY AH M
-allwaste	AO L W EY S T
-allweiss	AA L W IY S
-allweiss's	AA L W IY S IH Z
-ally	AE L AY
-ally's	AH L AY Z
-ally(2)	AH L AY
-allying	AE L AY IH NG
-allying(2)	AH L AY IH NG
-allyn	AE L IH N
-allys	AE L AY Z
-allyson	AE L IH S AH N
-alm	AA M
-alma	AE L M AH
-alma(2)	AO L M AH
-almada	AA L M AA D AH
-almadani	AO L M AH D AA N IY
-almaden	AE L M AH D AH N
-almaden(2)	AA L M AH D EH N
-almaguer	AA L M AA G W EH R
-almal	AA L M AH L
-alman	AE L M AH N
-almanac	AO L M AH N AE K
-almand	AE L M AH N D
-almanza	AA L M AA N Z AH
-almanzar	AA L M AA N Z AA R
-almaraz	AA L M AA R AA Z
-almas	AE L M AH Z
-almasy	AE L M AH S IY
-almay	AA L M EY
-almazan	AA L M AA Z AA N
-almeda	AA L M EY D AH
-almeida	AA L M IY D AH
-almelund	AA L M AH L AH N D
-almendarez	AA L M EY N D AA R EH Z
-almer	AO L M ER
-almeria	AA L M ER IY AH
-almgren	AE L M G R EH N
-almighty	AO L M AY T IY
-almira	AA L M IH R AH
-almo	AA L M OW
-almodovar	AA L M OW D OW V AA R
-almon	AA L M AH N
-almond	AA M AH N D
-almonds	AA L M AH N D Z
-almoner	AA L M AH N ER
-almonte	AA L M OW N T EY
-almos	AA L M OW S
-almost	AO L M OW S T
-almquist	AE L M K W IH S T
-alms	AA L M Z
-alms(2)	AA M Z
-almy	AO M IY
-almys	AE L M IY Z
-alodie	AH L AA D IY
-aloe	AE L OW
-aloft	AH L AO F T
-aloha	AH L OW HH AA
-aloi	AA L OY
-aloia	AA L OW Y AH
-alois	AA L OY S
-aloisa	AA L OY S AH
-aloisi	AA L OY S IY
-aloisia	AA L OY S IY AH
-aloisio	AA L OY S IY OW
-aloka	AH L OW K AH
-alomar	AE L AH M AA R
-alon	AH L AA N
-alone	AH L OW N
-along	AH L AO NG
-alonge	AE L AH N JH
-alongi	AA L OW NG G IY
-alongs	AH L AO NG Z
-alongside	AH L AO NG S AY D
-aloni	AH L OW N IY
-alonso	AH L AA N S OW
-alonza	AH L AA N Z AH
-alonzo	AH L AA N Z OW
-aloof	AH L UW F
-aloofness	AH L UW F N AH S
-alot	AH L AA T
-aloud	AH L AW D
-aloys	AH L OY Z
-aloyse	AH L OY S
-aloysia	AA L OY S IY AH
-aloysius	AE L OW IH SH IH S
-alpa	AE L P AH
-alpaca	AE L P AE K AH
-alpaugh	AH L P AO
-alper	AE L P ER
-alperin	AE L P ER IH N
-alpern	AH L P ER N
-alpers	AE L P ER Z
-alpert	AE L P ER T
-alpex	AE L P EH K S
-alpha	AE L F AH
-alpha's	AE L F AH Z
-alphabet	AE L F AH B EH T
-alphabetic	AE L F AH B EH T IH K
-alphabetical	AE L F AH B EH T IH K AH L
-alphabetically	AE L F AH B EH T IH K L IY
-alphabetization	AE L F AH B EH T AH Z EY SH AH N
-alphabetize	AE L F AH B AH T AY Z
-alphabetized	AE L F AH B AH T AY Z D
-alphabetizes	AE L F AH B AH T AY Z IH Z
-alphabetizing	AE L F AH B AH T AY Z IH NG
-alphagraphics	AE L F AH G R AE F IH K S
-alphametric	AE L F AH M EH T R IH K
-alphametrics	AE L F AH M EH T R IH K S
-alphandery	AE L F AE D ER IY
-alphanumeric	AE L F AH N UW M EH R IH K
-alphaphotographic	AE L F AH F OW T AH G R AE F IH K
-alpharel	AE L F ER EH L
-alpharetta	AE L F ER EH T AH
-alphin	AE L F IH N
-alphonse	AE L F AA N Z
-alphonsine	AH L F AA N S IY N
-alphonso	AE L F AA N S OW
-alpin	AH L P IH N
-alpine	AE L P AY N
-alpirez	AE L P IH R EH Z
-alpo	AE L P OW
-alps	AE L P S
-alquist	AE L K W IH S T
-alread	AA L R IY D
-already	AO L R EH D IY
-already(2)	AO R EH D IY
-alred	AO L R IH D
-alright	AO L R AY T
-alrosa	AA L R OW S AH
-alrosa(2)	AA L R OW Z AH
-alroy	AH L R OY
-als	AE L Z
-alsace	AE L S AA S
-alsace(2)	AE L S AE S
-alsatian	AE L S EY SH AH N
-alsbrook	AE L Z B R UH K
-alsbrook's	AE L Z B R UH K S
-alsbrooks	AE L Z B R UH K S
-alsbrooks'	AE L Z B R UH K S
-alsbury	AO L Z B EH R IY
-alsbury(2)	AE L Z B EH R IY
-alsdorf	AO L Z D AO R F
-alsdorf(2)	AE L Z D AO R F
-alsgaard	AA L Z G AA R D
-alshelhah	AA L SH EH L HH AH
-alsip	AE L S IH P
-also	AO L S OW
-alsobrook	AE L S AH B R UH K
-alsobrooks	AE L S AH B R UH K S
-alsop	AE L S AA P
-alspach	AE L S P AH K
-alspaugh	AH L S P AO
-alsthom	AE L S TH AH M
-alston	AO L S T AH N
-alsup	AE L S AH P
-alt	AA L T
-alta	AA L T AH
-altadena	AA L T AH D IY N AH
-altai	AE L T AY
-altaic	AE L T EY IH K
-altair	AA L T EH R
-altamira	AA L T AA M IH R AH
-altamirano	AA L T AA M IH R AA N OW
-altamont	AA L T AH M AO N T
-altamuro	AO L T AH M UH R OW
-altar	AO L T ER
-altarpiece	AO L T ER P IY S
-altars	AO L T ER Z
-altavista	AO L T AH V IH S T AH
-altay	AO L T AY
-altemose	AE L T IH M OW S
-altemus	AE L T IH M IH S
-altenburg	AO L T AH N B ER G
-altenhofen	AE L T IH N HH AH F AH N
-alteon	AA L T IY AO N
-alter	AO L T ER
-altera	AO L T EH R AH
-alteration	AO L T ER EY SH AH N
-alterations	AO L T ER EY SH AH N Z
-altercation	AA L T ER K EY SH AH N
-altercations	AA L T ER K EY SH AH N Z
-altered	AO L T ER D
-altergott	AE L T ER G AH T
-altering	AO L T ER IH NG
-alterman	AO L T ER M AH N
-alternacare	AO L T ER N AH K EH R
-alternate	AO L T ER N AH T
-alternate(2)	AO L T ER N EY T
-alternated	AO L T ER N EY T AH D
-alternately	AO L T ER N AH T L IY
-alternates	AO L T ER N EY T S
-alternating	AO L T ER N EY T IH NG
-alternation	AO L T ER N EY SH AH N
-alternative	AO L T ER N AH T IH V
-alternatively	AO L T ER N AH T IH V L IY
-alternatives	AO L T ER N AH T IH V Z
-alternator	AO L T ER N EY T ER
-alters	AO L T ER Z
-altfest	AA L T F EH S T
-althaus	AE L T HH AW S
-althaver	AE L TH EY V ER
-althea	AE L TH IY AH
-altherr	AA L TH ER
-althoff	AE L T HH AO F
-althorp	AE L TH AO R P
-althorp(2)	AA L TH AO R P
-although	AO L DH OW
-althouse	AO L T HH AW S
-altice	AA L T IH S
-altier	AO L T IY ER
-altieri	AA L T IH R IY
-altima	AA L T IH M AH
-altima's	AA L T IH M AH Z
-altimeter	AE L T IH M AH T ER
-altimetry	AE L T IH M AH T R IY
-altimorano	AA L T IY M AO R AA N OW
-altiplano	AE L T AH P L AA N OW
-altitude	AE L T AH T UW D
-altitudes	AE L T IH T UW D Z
-altizer	AE L T AY Z ER
-altland	AE L T L AH N D
-altman	AO L T M AH N
-altman's	AO L T M AH N Z
-altmann	AO L T M AH N
-altmeyer	AE L T M AY ER
-altmeyer(2)	AA L T M AY ER
-alto	AE L T OW
-altobelli	AA L T OW B EH L IY
-altogether	AO L T AH G EH DH ER
-altoid	AA L T OY D
-altom	AH L T AA M
-altomare	AA L T OW M AA R IY
-alton	AO L T AH N
-altoona	AE L T UW N AH
-altos	AE L T OW Z
-altos(2)	AO L T OW S
-altra	AA L T R AH
-altron	AO L T R AA N
-altruism	AE L T R UW IH Z AH M
-altruistic	AO L T R UW IH S T IH K
-altschiller	AO L CH IH L ER
-altschul	AE L CH AH L
-altschuler	AE L CH Y UW L ER
-altschuler(2)	AE L CH UW L ER
-altshuler	AE L CH Y UW L ER
-altshuler(2)	AE L CH UW L ER
-altucher	AE L T AH K ER
-alturas	AA L T UH R AH S
-altus	AE L T AH S
-altvater	AE L T V AH T ER
-altzheimer	AA L T S HH AY M ER
-altzheimer's	AA L T S HH AY M ER Z
-alu	AA L UW
-alum	AE L AH M
-alum(2)	AH L AH M
-alumax	AE L UW M AE K S
-alumbaugh	AH L AH M B AO
-alumina	AH L UW M AH N AH
-aluminio	AE L UW M IY N IY OW
-aluminium	AH L UW M IH N AH M
-aluminium(2)	AE L Y UW M IH N AH M
-aluminize	AH L UW M AH N AY Z
-aluminized	AH L UW M AH N AY Z D
-aluminosilicate	AH L UW M AH N OW S IH L AH K EY T
-aluminum	AH L UW M AH N AH M
-aluminum's	AH L UW M AH N AH M Z
-alumna	AH L AH M N AH
-alumni	AH L AH M N AY
-alumnus	AH L AH M N AH S
-alums	AE L AH M Z
-alun	EY L AH N
-alura	AA L UH R AH
-alusuisse	AE L Y UW S W IH S
-alva	AE L V AH
-alvah	AE L V AA
-alvan	AE L V AH N
-alvarado	AE L V ER AA D OW
-alvardo	AA L V AA R D OW
-alvare	AE L V EY R
-alvare(2)	AE L V AA R
-alvarenga	AA L V AA R EH NG G AH
-alvares	AA L V AA R EH S
-alvarez	AE L V ER EH Z
-alvarez's	AE L V ER EH Z IH Z
-alvaro	AH L V AA R OW
-alvear	AA L V IH R
-alveolar	AE L V IY AH L ER
-alveoli	AE L V IY AH L AY
-alverez	AA L V EH R EH Z
-alvero	AE L V EH R OW
-alverson	AA L V ER S AH N
-alverton	AA L V ER T AH N
-alves	AA L V EH S
-alvey	AE L V IY
-alvidrez	AA L V IY D R EH Z
-alvin	AE L V IH N
-alvina	AE L V AY N AH
-alvino	AA L V IY N OW
-alvis	AA L V IH S
-alvita	AA L V IY T AH
-alvite	AE L V AY T
-alvord	AE L V AO R D
-alwaleed	AE L W AH L IY D
-alwaleed(2)	AA L W AA L IY D
-alward	AE L W ER D
-always	AO L W EY Z
-always(2)	AO L W IY Z
-alwin	AE L W IH N
-alwine	AE L W AY N
-alwood	AE L W UH D
-alwyn	AE L W IH N
-aly	EY L IY
-alyce	AE L IH S
-alyea	AE L IY AH
-alyeska	AE L IY EH S K AH
-alyeska's	AE L Y EH S K AH Z
-alys	AE L IY Z
-alysheba	AE L IH SH IY B AH
-alysia	AH L IH S IY AH
-alyssa	AH L IH S AH
-alza	AE L Z AH
-alza's	AE L Z AH Z
-alzado	AA L Z AE D OW
-alzado(2)	AA L Z AA D OW
-alzena	AA L Z EH N AH
-alzene	AA L Z IY N
-alzheimer	AE L Z HH AY M ER
-alzheimer's	AE L Z HH AY M ER Z
-alzheimer's(2)	AA T S Z HH AY M ER Z
-alzheimer(2)	AA L T S HH AY M ER
-alzona	AE L Z OW N AH
-am	AE M
-am's	AE M Z
-am's(2)	EY EH M Z
-am(2)	EY EH M
-amabel	AE M AH B EH L
-amabelle	AE M AH B AH L
-amabile	AA M AA B AH L
-amacher	AE M AH K ER
-amacker	AE M AH K ER
-amadea	AA M AA D IY AH
-amadeo	AA M AA D IY OW
-amadeus	AE M AH D EY AH S
-amado	AA M AA D OW
-amadon	AA M AA D AO N
-amador	AE M AH D AO R
-amadou	AE M AH D UW
-amagansett	AH M AE N G AH S EH T
-amaker	AE M EY K ER
-amakudari	AE M AH K Y UW D AA R IY
-amal	AH M AA L
-amal's	AH M AA L Z
-amalea	AE M AH L IY AH
-amalfitano	AA M AA L F IY T AA N OW
-amalgam	AH M AE L G AH M
-amalgamate	AH M AE L G AH M EY T
-amalgamated	AH M AE L G AH M EY T IH D
-amalgamated's	AH M AE L G AH M EY T IH D Z
-amalgamates	AH M AE L G AH M EY T S
-amalgamating	AH M AE L G AH M EY T IH NG
-amalgamation	AH M AE L G AH M EY SH AH N
-amalgams	AH M AE L G AH M Z
-amalia	AH M AA L Y AH
-amalie	AE M AH L IY
-amalya	AH M AA L Y AH
-aman	AA M AH N
-amana	AH M AE N AH
-amanda	AH M AE N D AH
-amanda's	AH M AE N D AH Z
-amandas	AH M AE N D AH Z
-amandime	AE M AH N D AY M
-amann	AE M AH N
-amano	AH M AA N OW
-amanpour	AA M AA N P UH R
-amanpour's	AA M AA N P UH R Z
-amante	AA M AA N T IY
-amar	AH M AA R
-amar's	AH M AA R Z
-amara	AA M AA R AH
-amaral	AA M AA R AE L
-amarante	AA M AA R AA N T IY
-amaranth	AE M ER AE N TH
-amaretto	AE M AH R EH T OW
-amargosa	AH M AA R G OW S AH
-amari	AA M AA R IY
-amarilla	AE M ER IH L AH
-amarillo	AE M ER IH L OW
-amarillo's	AE M ER IH L OW Z
-amarillos	AE M ER IH L OW Z
-amarin	AE M ER IH N
-amaris	AE M ER IH S
-amaro	AA M AA R OW
-amaryllis	AE M ER IH L AH S
-amaryllis(2)	AE M ER IH L IH S
-amaryllises	AE M ER IH L AH S AH Z
-amasa	AE M AH S AH
-amason	AE M AH S AH N
-amass	AH M AE S
-amassed	AH M AE S T
-amasses	AH M AE S IH Z
-amassing	AH M AE S IH NG
-amateur	AE M AH T ER
-amateur(2)	AE M AH CH ER
-amateurish	AE M AH CH ER IH SH
-amateurism	AE M AH CH ER IH Z AH M
-amateurs	AE M AH T ER Z
-amateurs(2)	AE M AH CH ER Z
-amati	AH M AA T IY
-amatil	AE M AH T IH L
-amato	AA M AA T OW
-amato's	AA M AA T OW Z
-amauligak	AH M AW L IH G AE K
-amax	EY M AE K S
-amax's	EY M AE K S IH Z
-amaya	AA M AA Y AH
-amaze	AH M EY Z
-amazed	AH M EY Z D
-amazement	AH M EY Z M AH N T
-amazes	AH M EY Z IH Z
-amazing	AH M EY Z IH NG
-amazingly	AH M EY Z IH NG L IY
-amazon	AE M AH Z AA N
-amazon's	AE M AH Z AA N Z
-amazonia	AE M AH Z OW N IY AH
-amazonian	AE M AH Z OW N IY AH N
-amazonians	AE M AH Z OW N IY AH N Z
-amazons	AE M AH Z AA N Z
-ambac	AE M B AE K
-ambase	AE M B EY S
-ambassador	AE M B AE S AH D ER
-ambassador's	AE M B AE S AH D ER Z
-ambassadorial	AE M B AE S AH D AO R IY AH L
-ambassadors	AE M B AE S AH D ER Z
-ambassadorship	AE M B AE S AH D ER SH IH P
-ambassadorships	AE M B AE S AH D ER SH IH P S
-ambassadress	AE M B AE S AH D R AH S
-amber	AE M B ER
-amber's	AE M B ER
-amberg	AE M B ER G
-amberger	AE M B ER G ER
-ambergris	AE M B ER G R IH S
-ambers	AE M B ER Z
-amberson	AE M B ER S AH N
-ambery	AE M B ER IY
-ambiance	AE M B IY AH N S
-ambidextrous	AE M B AH D EH K S T R AH S
-ambidextrous(2)	AE M B IH D EH K S T R AH S
-ambience	AE M B IY AH N S
-ambient	AE M B IY AH N T
-ambiguities	AE M B AH G Y UW AH T IY Z
-ambiguity	AE M B IH G Y UW AH T IY
-ambiguous	AE M B IH G Y UW AH S
-ambisone	AE M B AH S AH M
-ambition	AE M B IH SH AH N
-ambitions	AE M B IH SH AH N Z
-ambitious	AE M B IH SH AH S
-ambitiously	AE M B IH SH AH S L IY
-ambivalence	AE M B IH V AH L AH N S
-ambivalent	AE M B IH V AH L AH N T
-amble	AE M B AH L
-ambled	AE M B AH L D
-ambler	AE M B L ER
-ambles	AE M B AH L Z
-amblin	AE M B L IH N
-ambling	AE M B AH L IH NG
-ambling(2)	AE M B L IH NG
-amborn	AH M B AO R N
-amboy	AE M B OY
-ambra	AE M B R AH
-ambriano	AE M B R IY AA N OW
-ambrit	AE M B R IH T
-ambriz	AE M B R IH Z
-ambrogio	AE M B R OW JH IY OW
-ambrose	AE M B R OW Z
-ambrosia	AE M B R OW ZH AH
-ambrosial	AE M B R OW ZH AH L
-ambrosian	AE M B R OW Z AH N
-ambrosiano	AE M B R OW S IY AA N OW
-ambrosine	AA M B R OW S IY N IY
-ambrosini	AA M B R OW S IY N IY
-ambrosino	AA M B R OW S IY N OW
-ambrosio	AE M B R OW S IY OW
-ambrosius	AE M B R AH S IY IH S
-ambs	AE M Z
-ambuehl	AE M B UH L
-ambulance	AE M B Y AH L AH N S
-ambulances	AE M B Y AH L AH N S AH Z
-ambulances(2)	AE M B Y AH L AH N S IH Z
-ambulatory	AE M B Y AH L AH T AO R IY
-amburgey	AE M B ER G IY
-amburn	AH M B ER N
-ambush	AE M B UH SH
-ambushed	AE M B UH SH T
-ambushes	AE M B UH SH IH Z
-ambushing	AE M B UH SH IH NG
-amc	EY EH M S IY
-amca	AE M K AH
-amcast	AE M K AE S T
-amcole	AE M K OW L
-amcor	AE M K AO R
-amcore	AE M K AO R
-amdahl	AE M D AA L
-amdahl's	AE M D AA L Z
-amdec	AE M D EH K
-amdek	AE M D EH K
-amdur	AE M D ER
-amdura	AE M D UH R AH
-ame	EY M
-ameche	AH M IY CH IY
-amedco	AH M EH D K OW
-amedee	AE M IH D IY
-ameen	AH M IY N
-amelia	AH M IY L Y AH
-amelinda	AA M EH L IY N D AH
-ameline	AA M EH L IY N IY
-amelio	AH M IY L IY OW
-ameliorate	AH M IY L Y ER EY T
-ameliorated	AH M IY L IY ER EY T IH D
-ameliorated(2)	AH M IY L Y ER EY T IH D
-amelioration	AH M IY L Y ER EY SH AH N
-amelita	AA M EH L IY T AH
-amell	AA M EY L
-amen	EY M EH N
-amen(2)	AA M EH N
-amenable	AH M EH N AH B AH L
-amenable(2)	AH M IY N AH B AH L
-amenaces	AH M EH N AH S AH Z
-amend	AH M EH N D
-amendable	AH M EH N D AH B AH L
-amended	AH M EH N D AH D
-amended(2)	AH M EH N D IH D
-amending	AH M EH N D IH NG
-amendment	AH M EH N D M AH N T
-amendment's	AH M EH N D M AH N T S
-amendments	AH M EH N D M AH N T S
-amendola	AA M EH N D OW L AH
-amends	AH M EH N D Z
-amenities	AH M EH N AH T IY Z
-amenities(2)	AH M EH N IH T IY Z
-amenity	AH M EH N AH T IY
-ament	AE M IH N T
-amenta	AH M EH N T AH
-amer	EY M ER
-amerada	AE M EH R AA D AH
-amerada(2)	AE M ER AA D AH
-amerco	AH M EH R K OW
-amerford	EY M ER F ER D
-ameri	AH M EH R IY
-ameribanc	AH M EH R IH B AE NG K
-america	AH M EH R AH K AH
-america's	AH M EH R AH K AH Z
-america's(2)	AH M EH R IH K AH Z
-america(2)	AH M EH R IH K AH
-american	AH M EH R AH K AH N
-american's	AH M EH R IH K AH N Z
-american(2)	AH M EH R IH K AH N
-americana	AH M EH R AH K AE N AH
-americana's	AH M EH R AH K AE N AH Z
-americanas	AH M EH R AH K AE N AH Z
-americanism	AH M EH R IH K AH N IH Z AH M
-americanization	AH M EH R AH K AH N AH Z EY SH AH N
-americanize	AH M EH R AH K AH N AY Z
-americanized	AH M EH R IH K AH N AY Z D
-americano	AH M EH R IH K AA N OW
-americanos	AH M EH R IH K AA N OW Z
-americans	AH M EH R AH K AH N Z
-americans'	AH M EH R IH K AH N Z
-americans(2)	AH M EH R IH K AH N Z
-americar	AH M EH R IH K AA R
-americare	AH M EH R IH K EH R
-americares	AH M EH R IH K EH R Z
-americas	AH M EH R AH K AH Z
-americas'	AH M EH R IH K AH Z
-americas(2)	AH M EH R IH K AH Z
-americo	AH M ER AH K OW
-americold	AH M EH R IH K OW L D
-americorp	AH M EH R IH K AO R
-americorp(2)	AH M EH R IH K AO R P
-americorps	AH M EH R IH K AO R
-americus	AH M EH R IH K AH S
-ameridata	AH M EH R AH D AE T AH
-amerifirst	AH M EH R IH F ER S T
-amerifirst's	AH M EH R IH F ER S T S
-amerigas	AH M EH R IH G AE S
-amerigo	AA M ER IY G OW
-amerihost	AH M EH R AH HH OW S T
-amerika	AH M EH R IH K AH
-amerindian	AE M ER IH N D IY AH N
-amerine	AA M ER IY N IY
-ameritech	AH M EH R IH T EH K
-ameritech's	AH M EH R IH T EH K S
-ameritrust	AH M EH R IH T R AH S T
-amerman	AE M ER M AH N
-amero	AA M EH R OW
-ameron	AE M ER AA N
-ameron's	AE M ER AA N Z
-amerongen	AE M ER AO N JH AH N
-amersham	AE M ER SH AE M
-amerson	AE M ER S AH N
-amery	AE M ER IY
-ames	EY M Z
-ames'	EY M Z
-ames's	EY M Z IH Z
-amesville	EY M Z V IH L
-ametek	AE M AH T EH K
-ametek's	AE M AH T EH K S
-amethyst	AE M IH TH IH S T
-amev	AE M EH V
-amex	AE M EH K S
-amex's	AE M EH K S IH Z
-amexco	AH M EH K S K OW
-amexco's	AH M EH K S K OW Z
-amey	EY M IY
-amezcua	AH M EH Z K Y UW AH
-amezquita	AA M EH Z K W IY T AH
-amfac	AE M F AE K
-amfesco	AE M F EH S K OW
-amgen	AE M JH EH N
-amgen's	AE M JH EH N Z
-amherst	AE M ER S T
-amherstdale	AE M ER S T D EY L
-amhoist	AE M HH OY S T
-ami	AA M IY
-amiability	EY M IY AH B IH L AH T IY
-amiable	EY M IY AH B AH L
-amiably	EY M IY AH B L IY
-amicable	AE M IH K AH B AH L
-amicably	AE M IH K AH B L IY
-amick	AE M IH K
-amico	AA M IY K OW
-amicone	AE M IH K OW N
-amicus	AH M IY K AH S
-amid	AH M IH D
-amidi	AA M IY D IY
-amidon	AE M IH D AA N
-amidships	AH M IH D SH IH P S
-amidst	AH M IH D S T
-amie	AE M IY
-amiga	AH M IY G AH
-amigo	AH M IY G OW
-amigos	AH M IY G OW Z
-amilia	AA M IY L IY AH
-amin	AA M IY N
-amino	AH M IY N OW
-aminta	AH M IH N T AH
-amiot	EY M IY AH T
-amiprilose	AH M IH P R AH L OW S
-amir	AH M IH R
-amir's	AH M IH R Z
-amir's(2)	AA M IH R Z
-amir(2)	AA M IH R
-amiram	AE M ER AE M
-amiran	AE M IH R AH N
-amirault	AE M AY R AW L T
-amirav	AE M IH R AE V
-amiri	AA M IH R IY
-amis	AE M IH S
-amish	AA M IH SH
-amish(2)	EY M IH SH
-amison	AE M IH S AH N
-amiss	AH M IH S
-amistad	AE M AH S T AE D
-amit	AA M IY T
-amitai	AE M IH T AY
-amity	AE M IH T IY
-amityville	AE M IH T IY V IH L
-amman	AE M AH N
-amman(2)	AH M AA N
-ammann	AE M AH N
-ammeen	AH M IY N
-ammerman	AE M ER M AH N
-ammeter	AE M IY T ER
-ammeters	AE M IY T ER Z
-ammirati	AA M IH R AA T IY
-ammo	AE M OW
-ammon	AE M AH N
-ammonia	AH M OW N Y AH
-ammonite	AE M AH N AY T
-ammonites	AE M AH N AY T S
-ammonium	AH M OW N IY AH M
-ammons	AE M AH N Z
-ammunition	AE M Y AH N IH SH AH N
-ammunitions	AE M Y AH N IH SH AH N Z
-amnesia	AE M N IY ZH AH
-amnesiac	AE M N IY Z IY AE K
-amnesties	AE M N AH S T IY Z
-amnesty	AE M N AH S T IY
-amnio	AE M N IY OW
-amniocentesis	AE M N IY OW S EH N T IY S IH S
-amniotic	AE M N IY AO T IH K
-amo	AA M OW
-amoco	AE M AH K OW
-amoco's	AE M AH K OW Z
-amoeba	AH M IY B AH
-amoebas	AH M IY B AH Z
-amoebic	AH M IY B IH K
-amok	AH M AH K
-amon	AA M AO N
-among	AH M AH NG
-amongst	AH M AH NG S T
-amoolya	AH M UW L Y AH
-amor	AE M ER
-amoral	EY M AO R AH L
-amore	AA M AO R
-amorette	AE M ER EH T
-amorist	AE M ER AH S T
-amorita	AA M AO R IY T AH
-amorosi	AA M AO R OW S IY
-amoroso	AA M AO R OW S OW
-amorous	AE M ER AH S
-amorphous	AH M AO R F AH S
-amortization	AE M ER T IH Z EY SH AH N
-amortize	AE M ER T AY Z
-amortized	AE M ER T AY Z D
-amortizing	AE M ER T AY Z IH NG
-amoruso	AE M ER UW S OW
-amory	EY M ER IY
-amos	EY M AH S
-amos's	EY M AH S IH Z
-amoskeag	AE M AH S K EY G
-amoskeag's	AE M AH S K EY G Z
-amoss	AH M AO S
-amount	AH M AW N T
-amounted	AH M AW N T IH D
-amounted(2)	AH M AW N IH D
-amounting	AH M AW N T IH NG
-amounting(2)	AH M AW N IH NG
-amounts	AH M AW N T S
-amoxicillin	AH M AO K S AH S IH L IH N
-amp	AE M P
-ampad	AE M P AE D
-ampal	AE M P AH L
-amparan	AE M P ER AH N
-ampato	AA M P AA T OW
-ampco	AE M P K OW
-amperage	AE M P ER IH JH
-ampersand	AE M P ER S AE N D
-ampex	AE M P EH K S
-amphenol	AE M F AH N AO L
-amphetamine	AE M F EH T AH M IY N
-amphetamines	AE M F EH T AH M IY N Z
-amphibian	AE M F IH B IY AH N
-amphibians	AE M F IH B IY AH N Z
-amphibious	AE M F IH B IY AH S
-amphibole	AE M F AH B OW L
-amphibole(2)	AE M F IH B OW L
-amphitheater	AE M F AH TH IY AH T ER
-amphitheaters	AE M F AH TH IY AH T ER Z
-amphitheatre	AE M P AH TH IY AH T ER
-amphora	AE M F ER AH
-amphorae	AE M F ER IY
-ample	AE M P AH L
-amplicons	AE M P L IH K AO N Z
-amplification	AE M P L AH F AH K EY SH AH N
-amplifications	AE M P L AH F AH K EY SH AH N Z
-amplified	AE M P L AH F AY D
-amplifier	AE M P L AH F AY ER
-amplifiers	AE M P L AH F AY ER Z
-amplifies	AE M P L AH F AY Z
-amplify	AE M P L AH F AY
-amplifying	AE M P L AH F AY IH NG
-ampligen	AE M P L IH JH EH N
-amplitude	AE M P L AH T UW D
-amplocore	AE M P L AH K AO R
-amply	AE M P L IY
-ampol	AE M P AO L
-amputate	AE M P Y AH T EY T
-amputated	AE M P Y AH T EY T IH D
-amputation	AE M P Y AH T EY SH AH N
-amputations	AE M P Y UW T EY SH AH N Z
-amputee	AE M P Y AH T IY
-amputees	AE M P Y AH T IY Z
-amr	AA M ER
-amraam	AE M R AA M
-amre	AE M R AH
-amrein	AE M R AY N
-amrep	AE M R EH P
-amrhein	AE M ER HH AY N
-amrine	AE M R IY N
-amritsar	AE M R IH T S ER
-amritsar(2)	AE M R IH T S AA R
-amro	AE M R OW
-ams	AE M Z
-amsbaugh	AE M Z B AO
-amsco	AE M S K OW
-amsden	AE M Z D AH N
-amsler	AE M Z L ER
-amsouth	AE M S AW TH
-amspacher	AE M S P AH K ER
-amstar	AE M S T AA R
-amster	AE M S T ER
-amsterdam	AE M S T ER D AE M
-amsterdam's	AE M S T ER D AE M Z
-amstrad	AE M S T R AE D
-amstutz	AE M S T AH T S
-amtech	AE M T EH K
-amtrack	AE M T R AE K
-amtrak	AE M T R AE K
-amtrak's	AE M T R AE K S
-amuck	AH M AH K
-amulet	AE M Y AH L AH T
-amulets	AE M Y AH L AH T S
-amundsen	EY M AH N D S AH N
-amundsen(2)	AA M AH N D S AH N
-amundson	AE M AH N D S AH N
-amuse	AH M Y UW Z
-amused	AH M Y UW Z D
-amusement	AH M Y UW Z M AH N T
-amusements	AH M Y UW Z M AH N T S
-amusements'	AH M Y UW Z M AH N T S
-amuses	AH M Y UW Z IH Z
-amusing	AH M Y UW Z IH NG
-amusingly	AH M Y UW Z IH NG L IY
-amvest	AE M V EH S T
-amvestor	AE M V EH S T ER
-amvestors	AE M V EH S T ER Z
-amway	AE M W EY
-amy	EY M IY
-amy's	EY M IY Z
-amygdala	AE M IH G D AA L AH
-amylin	AE M IH L IH N
-amyloid	AE M IH L OY D
-amyotrophic	AE M AY AH T R OW F IH K
-amyotrophic(2)	AE M IY AH T R OW F IH K
-amyx	AE M IH K S
-an	AE N
-an(2)	AH N
-ana	AA N AH
-ana(2)	AE N AH
-anabaptist	AE N AH B AE P T AH S T
-anable	EY N AH B AH L
-anabolic	AE N AH B AA L IH K
-anac	AE N AE K
-anachronism	AH N AE K R AH N IH Z AH M
-anachronisms	AH N AE K R AH N IH Z AH M Z
-anachronistic	AH N AE K R AH N IH S T IH K
-anacin	AE N AH S IH N
-anacker	AE N AH K ER
-anacomp	AE N AH K AA M P
-anaconda	AE N AH K AA N D AH
-anacortes	AE N AH K AO R T AH S
-anacostia	AE N AH K AA S T IY AH
-anacostia's	AE N AH K AA S T IY AH Z
-anadarko	AE N AH D AA R K OW
-anadarko's	AE N AH D AA R K OW Z
-anaerobe	AE N ER OW B
-anaerobes	AE N ER OW B Z
-anaerobic	AE N ER OW B IH K
-anaesthesia	AE N AH S TH IY ZH AH
-anafranil	AH N AE F R AH N IH L
-anagnos	AA N AA G N OW Z
-anagram	AE N AH G R AE M
-anaheim	AE N AH HH AY M
-anal	EY N AH L
-analgesic	AE N AH L JH IY S IH K
-analgesics	AE N AH L JH IY Z IH K S
-analog	AE N AH L AO G
-analogic	AE N AH L AA JH IH K
-analogies	AH N AE L AH JH IY Z
-analogous	AH N AE L AH G AH S
-analogue	AE N AH L AO G
-analogy	AH N AE L AH JH IY
-analyses	AH N AE L AH S IY Z
-analysis	AH N AE L AH S AH S
-analysis(2)	AH N AE L IH S IH S
-analyst	AE N AH L AH S T
-analyst's	AE N AH L IH S T S
-analyst's(2)	AE N AH L IH S
-analyst(2)	AE N AH L IH S T
-analysts	AE N AH L AH S T S
-analysts'	AE N AH L IH S T S
-analysts'(2)	AE N AH L IH S
-analysts(2)	AE N AH L IH S T S
-analysts(3)	AE N AH L AH S
-analysts(4)	AE N AH L IH S
-analytic	AE N AH L IH T IH K
-analytical	AE N AH L IH T IH K AH L
-analytically	AE N AH L IH T IH K L IY
-analyticity	AE N AH L AH T IH S AH T IY
-analytics	AE N AH L IH T IH K S
-analyzable	AE N AH L AY Z AH B AH L
-analyze	AE N AH L AY Z
-analyzed	AE N AH L AY Z D
-analyzer	AE N AH L AY Z ER
-analyzers	AE N AH L AY Z ER Z
-analyzes	AE N AH L AY Z IH Z
-analyzing	AE N AH L AY Z IH NG
-anamaria	AE N AH M AH R IY AH
-anand	AE N AH N D
-anandale	AE N AH N D EY L
-anandeep	AA N AA N D IY P
-anania	AA N AA N IY AH
-anantha	AH N AE N TH AH
-anaphora	AH N AE F ER AH
-anaphylaxis	AE N AH F AH L AE K S IH S
-anarchic	AE N AA R K IH K
-anarchical	AE N AA R K AH K AH L
-anarchist	AE N ER K AH S T
-anarchists	AE N ER K AH S T S
-anarchy	AE N ER K IY
-anaren	AE N ER AH N
-anas	AE N AH S
-anasazi	AE N AH S AE Z IY
-anasazi(2)	AE N AH S AA Z IY
-anasquan	AE N AH S K W AA N
-anast	AA N AA S T
-anastas	AE N AH S T AH Z
-anastasi	AA N AA S T AA S IY
-anastasia	AE N AH S T EY ZH AH
-anastasio	AA N AA S T AA S IY OW
-anastasio(2)	AE N AH S T AA S IY OW
-anastos	AE N AH S T OW Z
-anathema	AH N AE TH AH M AH
-anatola	AA N AA T OW L AH
-anatole	AE N AH T OW L
-anatoli	AE N AH T OW L IY
-anatolia	AE N AH T OW L IY AH
-anatolian	AE N AH T OW L IY AH N
-anatoly	AE N AH T OW L IY
-anatomical	AE N AH T AA M AH K AH L
-anatomical(2)	AE N AH T AA M IH K AH L
-anatomically	AE N AH T AA M AH K L IY
-anatomist	AH N AE T AH M AH S T
-anatomist(2)	AH N AE T AH M IH S T
-anatomy	AH N AE T AH M IY
-anawalt	AE N AH W AA L T
-anaya	AA N AA Y AH
-anbari	AE N B AA R IY
-ancel	AH N S EH L
-ancell	AA N S EY L
-ancestor	AE N S EH S T ER
-ancestor's	AE N S EH S T ER Z
-ancestors	AE N S EH S T ER Z
-ancestors'	AE N S EH S T ER Z
-ancestral	AE N S EH S T R AH L
-ancestry	AE N S EH S T R IY
-ancheta	AA N K EH T AH
-ancho	AE N CH OW
-anchondo	AA N K OW N D OW
-anchor	AE NG K ER
-anchor's	AE NG K ER Z
-anchorage	AE NG K ER AH JH
-anchorage(2)	AE NG K R IH JH
-anchored	AE NG K ER D
-anchoring	AE NG K ER IH NG
-anchorman	AE NG K ER M AE N
-anchorman(2)	AE NG K ER M AH N
-anchormen	AE NG K ER M EH N
-anchors	AE NG K ER Z
-anchovies	AE N CH OW V IY Z
-anchovy	AE N CH OW V IY
-ancient	EY N CH AH N T
-ancient(2)	EY N SH AH N T
-ancients	EY N CH AH N T S
-ancients(2)	EY N SH AH N T S
-ancillary	AE N S AH L EH R IY
-ancira	AA N CH IH R AH
-ancona	AA N K OW N AH
-ancrum	AH N K R AH M
-anctil	AE NG K T IH L
-and	AH N D
-and(2)	AE N D
-andal	AE N D AH L
-andalusia	AE N D AH L UW ZH AH
-andalusian	AE N D AH L UW SH AH N
-andante	AA N D AA N T EY
-andantino	AA N D AA N T IY N OW
-andean	AE N D IY AH N
-andel	AE N D AH L
-ander	AE N D ER
-andera	AE N D ER AH
-anderberg	AE N D ER B ER G
-anderegg	AE N D ER IH G
-anderle	AE N D ER AH L
-anderlini	AE N D ER L IY N IY
-anderman	AE N D ER M AH N
-anders	AE N D ER Z
-andersen	AE N D ER S AH N
-andersen's	AE N D ER S AH N Z
-anderson	AE N D ER S AH N
-anderson's	AE N D ER S AH N Z
-andersons	AE N D ER S AH N Z
-andersonville	AE N D ER S AH N V IH L
-andersson	AE N D ER S AH N
-andert	AE N D ER T
-anderton	AE N D ER T AH N
-andes	AE N D IY Z
-andesite	AE N D IH S AY T
-andie	AE N D IY
-anding	AE N D IH NG
-andino	AA N D IY N OW
-andiron	AE N D AY ER N
-andis	AE N D IH S
-andler	AE N D L ER
-ando	AE N D OW
-andolina	AA N D OW L IY N AH
-andonian	AE N D OW N IY AH N
-andoras	AE N D AO R AH Z
-andorra	AE N D AO R AH
-andover	AE N D OW V ER
-andrada	AA N D R AA D AH
-andrade	AE N D R EY D
-andrae	AA N D R AY
-andraki	AE N D AE K IY
-andras	AA N D R AH S
-andre	AA N D R EY
-andrea	AE N D R IY AH
-andrea's	AE N D R IY AH Z
-andrea's(2)	AA N D R EY AH Z
-andrea(2)	AA N D R EY AH
-andreae	AA N D R EY AA
-andreana	AE N D R IY N AH
-andreana(2)	AE N D R IY AA N AH
-andreani	AE N D R IY N IY
-andreani(2)	AE N D R IY AA N IY
-andreano	AE N D R IY N OW
-andreano(2)	AE N D R IY AA N OW
-andreas	AA N D R EY AH S
-andreasen	AE N D R IY S AH N
-andreason	AE N D R IY S AH N
-andreassen	AE N D R AH S AH N
-andree	AH N D R IY
-andreen	AH N D R IY N
-andrei	AE N D R EY
-andreini	AA N D R EY IY N IY
-andrej	AA N D R EY
-andren	AE N D ER AH N
-andreoli	AA N D R EY OW L IY
-andreoni	AA N D R EY OW N IY
-andreotti	AA N D R IY AA T IY
-andreotti(2)	AE N D R IY AA D IY
-andreozzi	AA N D R IY AA T S IY
-andrepont	AA N D R EY P OW N T
-andres	AA N D R EY Z
-andres(2)	AE N D R EY Z
-andresen	AE N D R IY S AH N
-andreski	AE N D R EH S K IY
-andress	AA N D R EH S
-andretti	AE N D R EH T IY
-andretti's	AE N D R EH T IY Z
-andreu	AE N D R UW
-andrew	AE N D R UW
-andrew's	AE N D R UW Z
-andrews	AE N D R UW Z
-andrews'	AE N D R UW Z
-andrey	AE N D R IY
-andrezak	AE N D R AH Z AE K
-andria	AE N D R IY AH
-andriana	AA N D R IY AE N AH
-andriano	AA N D R IY AA N OW
-andric	AE N D R IH K
-andrich	AE N D R IH K
-andrick	AE N D R IH K
-andries	AH N D R IY Z
-andriessen	AE N D R IY S AH N
-andringa	AA N D R IY NG G AH
-andriola	AA N D R IY OW L AH
-andrist	AE N D R IH S T
-androgynous	AE N D R AO JH AH N AH S
-androgyny	AE N D R AO JH AH N IY
-android	AE N D R OY D
-androids	AE N D R OY D Z
-andromeda	AE N D R AA M AH D AH
-andropov	AE N D R AA P AA V
-andros	AE N D R AA S
-andrus	AE N D R AH S
-andruskevich	AE N D R AH S EH V IH CH
-andry	AE N D R IY
-andrzej	AA N D R EY
-andrzejewski	AH N JH EY EH F S K IY
-ands	AE N D Z
-andujar	AA N D UW Y AA R
-andy	AE N D IY
-andy's	AE N D IY Z
-ane	EY N
-ane(2)	AE N
-anecdotal	AE N AH K D OW T AH L
-anecdotal(2)	AE N IH K D OW T AH L
-anecdotally	AE N AH K D OW T AH L IY
-anecdotally(2)	AE N IH K D OW T AH L IY
-anecdote	AE N AH K D OW T
-anecdotes	AE N AH K D OW T S
-anecdotes(2)	AE N IH K D OW T S
-anello	AH N EH L OW
-anemia	AH N IY M IY AH
-anemias	AH N IY M IY AH Z
-anemic	AH N IY M IH K
-anemometer	AE N AH M AA M AH T ER
-anemone	AE N IH M OW N
-anemone(2)	AH N EH M AH N IY
-anencephalic	AE N EH N S AH F AE L IH K
-anencephalic(2)	AE N IH N S EH F AH L IH K
-anencephaly	AE N IH N S EH F AH L IY
-anestachio	AE N IH S T AE CH IY OW
-anesthesia	AE N IH S TH IY ZH AH
-anesthesiologist	AE N AH S TH IY Z IY AA L AH JH AH S T
-anesthesiologists	AE N AH S TH IY Z IY AA L AH JH AH S T S
-anesthesiologists(2)	AE N AH S TH IY Z IY AA L AH JH AH S
-anesthesiology	AE N AH S TH IY Z IY AA L AH JH IY
-anesthetic	AE N AH S TH EH T IH K
-anesthetics	AE N AH S TH EH T IH K S
-anesthetist	AH N EH S TH AH T AH S T
-anette	AH N EH T
-aneurism	AE N Y UH R IH Z AH M
-aneurism(2)	AE N Y UH R IH Z M
-anew	AH N UW
-anew(2)	AH N Y UW
-anfal	EY EH N EH F EY EH L
-anfal(2)	AE N F AA L
-anfinson	AE N F IH N S AH N
-ang	AE NG
-ange	EY N JH
-angel	EY N JH AH L
-angela	AE N JH AH L AH
-angela's	AE N JH AH L AH Z
-angeleno	AE N JH AH L EH N OW
-angeleno(2)	AE N JH AH L IY N OW
-angelenos	AE N JH AH L EH N OW Z
-angelenos(2)	AE N JH AH L IY N OW Z
-angeles	AE N JH AH L IH S
-angeles'	AE N JH AH L IY Z
-angeles's	AE N JH AH L IH S IH Z
-angeletti	AA NG G EH L EH T IY
-angelfish	EY N JH AH L F IH SH
-angeli	AA NG G EH L IY
-angelic	AE N JH EH L IH K
-angelica	AE N JH EH L IH K AH
-angelica(2)	AE N JH AH L IY K AH
-angelically	AE N JH EH L IH K L IY
-angelicas	AE N JH EH L IH K AH Z
-angelico	AA NG G EH L IY K OW
-angelika	AE N JH EH L IH K AH
-angelillo	AA NG G EH L IH L OW
-angelina	AE N JH EH L IY N AH
-angeline	EY NG G IH L AY N
-angeline(2)	AE N JH AH L IY N
-angelini	AA NG G EH L IY N IY
-angelino	AE N JH AH L IY N OW
-angelino's	AE N JH AH L IY N OW Z
-angelino's(2)	AA NG G EH L IY N OW Z
-angelino(2)	AA NG G EH L IY N OW
-angelinos	AE N JH AH L IY N OW Z
-angelinos(2)	AE NG G AH L IY N OW Z
-angelita	AA NG G EH L IY T AH
-angell	EY N JH AH L
-angelle	EY NG G EH L
-angello	AE N JH EH L OW
-angelo	AE N JH AH L OW
-angelo's	AE N JH AH L OW Z
-angeloff	EY NG G IH L AO F
-angeloff(2)	AE N JH IH L AO F
-angelone	AA NG G EH L OW N IY
-angeloni	AA NG G EH L OW N IY
-angelos	AE N JH AH L OW Z
-angelou	AE N JH AH L UW
-angeloz	AE N JH AH L OW Z
-angels	EY N JH AH L Z
-angels'	EY N JH AH L Z
-angelucci	AA NG G EH L UW CH IY
-anger	AE NG G ER
-angered	AE NG G ER D
-angerer	AE NG G ER ER
-angering	AE NG G ER IH NG
-angerman	AE NG ER M AH N
-angermeier	EY NG G ER M AY ER
-angers	AE NG G ER Z
-angert	EY NG G ER T
-angevine	EY NG G IH V AY N
-angi	AE N JH IY
-angie	AE N JH IY
-angier	AE N JH IY ER
-angina	AE N JH AY N AH
-angio	AE N JH IY OW
-angiogram	AE N JH IY OW G R AE M
-angiomedic	AE N JH IY OW M EH D IH K
-angiomedics	AE N JH IY OW M EH D IH K S
-angioplasty	AE N JH IY AH P L AE S T IY
-angiotensin	AE N JH IY OW T EH N S IH N
-angle	AE NG G AH L
-angled	AE NG G AH L D
-anglemyer	AE NG G AH L M AY ER
-anglen	AE NG G AH L AH N
-angler	AE NG G L ER
-anglers	AE NG G L ER Z
-angles	AE NG G AH L Z
-angleton	AE NG G AH L T AH N
-angley	AE NG G L IY
-anglia	AE NG G L IY AH
-anglican	AE NG G L AH K AH N
-anglicize	AE NG L IH S AY Z
-anglicized	AE NG L IH S AY Z D
-anglim	AE NG G L IH M
-anglin	AE NG G L IH N
-angling	AE NG G L IH NG
-anglo	AE NG G L OW
-anglo-catholicism	AE NG G L OW K AH TH AO L AH S IH Z AH M
-anglophile	AE N G L AH F AY L
-anglos	AE NG G L OW Z
-anglos(2)	AE NG G L OW S
-angola	AE NG G OW L AH
-angola's	AE NG G OW L AH Z
-angolan	AE NG G OW L AH N
-angolans	AE NG G OW L AH N Z
-angora	AE NG G AO R AH
-angoras	AE NG G AO R AH Z
-angotti	AA NG G OW T IY
-angove	AA NG G OW V IY
-angrier	AE NG G R IY ER
-angriest	AE NG G R IY AH S T
-angrily	AE NG G R AH L IY
-angry	AE NG G R IY
-angst	AA NG K S T
-angstadt	AE NG SH T AE T
-angstadt(2)	AE NG S T AE T
-angstrom	AE NG S T R AH M
-angstroms	AE NG S T R AH M Z
-anguiano	AA NG G IY AA N OW
-anguilla	AE NG W IH L AH
-anguish	AE NG G W IH SH
-anguished	AE NG G W IH SH T
-anguishing	AE NG G W IH SH IH NG
-angular	AE NG G Y AH L ER
-angulate	AE NG G Y UW L EY T
-angulated	AE NG G Y UW L EY T IH D
-angulo	AA NG G UW L OW
-angus	AE NG G AH S
-angy	AE N JH IY
-anhalt	AE N HH AH L T
-anheuser	AE N HH AY Z ER
-anheuser's	AE N HH Y UW Z ER Z
-anhydride	AE N HH AY D R IH D
-aniak	AE N IY AE K
-anibal	AE N IH B AH L
-anikst	AE N IH K S T
-aniline	AE N AH L IY N
-animal	AE N AH M AH L
-animal's	AE N AH M AH L Z
-animals	AE N AH M AH L Z
-animals'	AE N AH M AH L Z
-animate	AE N AH M AH T
-animate(2)	AE N AH M EY T
-animated	AE N AH M EY T AH D
-animated(2)	AE N AH M EY T IH D
-animates	AE N AH M AH T S
-animates(2)	AE N AH M EY T S
-animation	AE N AH M EY SH AH N
-animations	AE N AH M EY SH AH N Z
-animator	AE N AH M EY T ER
-animators	AE N AH M EY T ER Z
-animism	AE N AH M IH Z AH M
-animist	AE N AH M AH S T
-animists	AE N AH M AH S T S
-animists(2)	AE N AH M AH S
-animosities	AE N AH M AA S AH T IY Z
-animosity	AE N AH M AA S AH T IY
-animous	AE N IH M AH S
-animus	AE N IH M AH S
-aninat	AE N IH N AE T
-anise	AE N AH S
-aniseed	AE N AH S IY D
-anisette	AE N AH S EH T
-anita	AH N IY T AH
-anitec	AE N IH T EH K
-anitole	AE N IH T OW L
-anixter	AE N IH K S T ER
-anja	AA N JH AH
-anjelica	AE N JH EH L AH K AH
-ankara	AE NG K ER AH
-ankara's	AE NG K ER AH Z
-ankeney	AH NG K EH N IY
-ankeny	AH NG K IY N IY
-anker	AE NG K ER
-ankerium	AE NG K ER IY AH M
-ankh	AE N K
-anklam	AE NG K L AH M
-ankle	AE NG K AH L
-anklebone	AE NG K AH L B OW N
-ankles	AE NG K AH L Z
-anklet	AE NG K L IH T
-anklets	AE NG K L AH T S
-ankney	AE NG K N IY
-ankrom	AE NG K R AH M
-ankrum	AE NG K R AH M
-ann	AE N
-ann's	AE N Z
-anna	AE N AH
-anna's	AE N AH Z
-annabel	AE N AH B EH L
-annabella	AE N AH B EH L AH
-annabelle	AE N AH B AH L
-annable	AE N AH B AH L
-annal	AE N AH L
-annals	AE N AH L Z
-annamese	AE N AH M IY Z
-annan	AE N AH N
-annandale	AE N AH N D EY L
-annapolis	AH N AE P AH L IH S
-annapolis's	AH N AE P AH L IH S IH Z
-annas	AE N AH Z
-annaud	AH N OW D
-anne	AE N
-anne's	AE N Z
-anneal	AH N IY L
-annealing	AH N IY L IH NG
-annelid	AE N AH L IH D
-annelids	AE N AH L IH D Z
-annen	AE N AH N
-annenberg	AE N AH N B ER G
-annese	AA N EY Z IY
-annett	AH N EH T
-annette	AH N EH T
-annex	AE N EH K S
-annex(2)	AH N EH K S
-annexation	AE N EH K S EY SH AH N
-annexed	AE N EH K S T
-annexed(2)	AH N EH K S T
-annexes	AE N EH K S IH Z
-annexing	AH N EH K S IH NG
-annick	AE N IH K
-annie	AE N IY
-annie's	AE N IY Z
-annihilate	AH N AY AH L EY T
-annihilated	AH N AY AH L EY T IH D
-annihilating	AH N AY AH L EY T IH NG
-annihilation	AH N AY AH L EY SH AH N
-annis	AE N IY Z
-anniston	AE N IH S T IH N
-anniston(2)	AE N IH S IH N
-anniversaries	AE N AH V ER S ER IY Z
-anniversary	AE N AH V ER S ER IY
-anno	AE N OW
-annotate	AE N AH T EY T
-annotated	AE N AH T EY T IH D
-annotated(2)	AE N AH T EY T AH D
-annotates	AE N AH T EY T S
-annotating	AE N AH T EY T IH NG
-annotation	AE N AH T EY SH AH N
-annotations	AE N AH T EY SH AH N Z
-announce	AH N AW N S
-announced	AH N AW N S T
-announcement	AH N AW N S M AH N T
-announcement(2)	AH N AW N S M EH N T
-announcements	AH N AW N S M AH N T S
-announcer	AH N AW N S ER
-announcers	AH N AW N S ER Z
-announces	AH N AW N S IH Z
-announcing	AH N AW N S IH NG
-announcment	AH N AW N S M AH N T
-annoy	AH N OY
-annoyance	AH N OY AH N S
-annoyances	AH N OY AH N S IH Z
-annoyed	AH N OY D
-annoying	AH N OY IH NG
-annoys	AH N OY Z
-annual	AE N Y UW AH L
-annualize	AE N Y UW W AH L AY Z
-annualized	AE N Y UW W AH L AY Z D
-annually	AE N Y UW AH L IY
-annuals	AE N UW AH L Z
-annuit	AH N UW IH T
-annuities	AH N UW IH T IY Z
-annuity	AH N UW AH T IY
-annuity(2)	AH N UW IH T IY
-annuity(3)	AH N Y UW IH T IY
-annul	AE N AH L
-annular	AE N Y AH L ER
-annulled	AE N AH L D
-annulment	AE N AH L M AH N T
-annum	AE N AH M
-annunciata	AA N UW N CH AA T AH
-annunziata	AA N UW N Z IY AA T AH
-annunziato	AA N UW N Z IY AA T OW
-annunzio	AH N AH N Z IY OW
-annunzio(2)	AH N UW N Z IY OW
-anny	AE N IY
-ano	AE N OW
-ano(2)	AE N Y OW
-anode	AE N OW D
-anodes	AE N OW D Z
-anoint	AH N OY N T
-anointed	AH N OY N T AH D
-anointed(2)	AH N OY N T IH D
-anointed(3)	AH N OY N AH D
-anointed(4)	AH N OY N IH D
-anomalies	AH N AA M AH L IY Z
-anomalous	AH N AA M AH L AH S
-anomaly	AH N AA M AH L IY
-anomie	AE N AH M IY
-anona	AA N OW N AH
-anonymity	AE N AH N IH M IH T IY
-anonymous	AH N AA N AH M AH S
-anonymously	AH N AA N AH M AH S L IY
-anora	AA N AO R AH
-anorak	AE N ER AE K
-anorexia	AE N ER EH K S IY AH
-anorexic	AE N ER EH K S IH K
-anorexics	AE N ER EH K S IH K S
-anorthite	AE N AO R TH AY T
-another	AH N AH DH ER
-another's	AH N AH DH ER Z
-anreder	AE N R EH D ER
-anrig	AE N R IH G
-ansa	AE N S AH
-ansa's	AE N S AH Z
-ansaid	AE N S EY D
-ansaldo	AE N S AA L D OW
-ansang	AE N S AE NG
-ansari	AA N S AA R IY
-ansbacher	AE N Z B AA K ER
-anschel	AE N SH AH L
-anschluss	AE N SH L AH S
-anschluss(2)	AA N SH L UW S
-anschutz	AE N SH AH T S
-anscom	AH N S K AA M
-anscomb	AH N S K AA M
-anse	AE N S
-ansel	AH N S EH L
-ansell	AE N S EH L
-anselm	AE N S EH L M
-anselma	AA N S EH L M AH
-anselmi	AA N S EH L M IY
-anselmo	AA N S EH L M OW
-ansett	AE N S EH T
-ansgar	AE N S G AA R
-ansgar's	AE N S G AA R Z
-anshan	AE N SH AH N
-ansin	AE N S IH N
-ansley	AE N S L IY
-ansohn	AE N S AH N
-anson	AE N S AH N
-ansonia	AE N S OW N IY AH
-anspach	AE N S P AA K
-anspaugh	AH N S P AO
-anstead	AE N S T EH D
-anstett	AH N S T EH T
-anstey	AE N S T IY
-anstice	AA N S T IH S
-anstine	AA N S T IY N IY
-anstiss	AE N S T IH S
-answer	AE N S ER
-answer's	AE N S ER Z
-answerable	AE N S ER AH B AH L
-answered	AE N S ER D
-answering	AE N S ER IH NG
-answers	AE N S ER Z
-ant	AE N T
-antacid	AE N T AE S AH D
-antacids	AE N T AE S AH D Z
-antagonism	AE N T AE G AH N IH Z AH M
-antagonisms	AE N T AE G AH N IH Z AH M Z
-antagonist	AE N T AE G AH N AH S T
-antagonistic	AE N T AE G AH N IH S T IH K
-antagonists	AE N T AE G AH N AH S T S
-antagonists(2)	AE N T AE G AH N AH S
-antagonize	AE N T AE G AH N AY Z
-antagonized	AE N T AE G AH N AY Z D
-antagonizing	AE N T AE G AH N AY Z IH NG
-antal	AE N T AH L
-antar	AE N T ER
-antar's	AE N T ER Z
-antarctic	AE N T AA R K T IH K
-antarctic(2)	AE N AA R T IH K
-antarctica	AE N T AA R K T IH K AH