diff --git a/.firefox.metadata b/.firefox.metadata
index cb8ef0a..760237e 100644
--- a/.firefox.metadata
+++ b/.firefox.metadata
@@ -1,6 +1,6 @@
 511960dd78451a06c9df76509635aeec05b2051a SOURCES/Python-2.7.8.tgz
 467bdb846d67c01aed9e521fe0ef280065a50c3c SOURCES/devtoolset-2-binutils-2.23.52.0.1-10.el5.src.rpm
-d995e19d45fe7fbb404f2bbba87f0eb1d6da3b2b SOURCES/firefox-45.7.0esr.source.tar.xz
-0f6aa0f83e9b2fd7380e7d13fbaf5b83ce1af159 SOURCES/firefox-langpacks-45.7.0esr-20170119.tar.xz
+2a4cf19b3c6833c3de368316172e1d0cb0d1d8db SOURCES/firefox-52.0esr.source.tar.xz
+19328387b4f4683675039416f524b6cf7fe3f5c8 SOURCES/firefox-langpacks-52.0esr-20170306.tar.xz
 e5ba84786af5d0e0e23b1a9112c76821ef23306c SOURCES/gcc48-4.8.2-16.el5.src.rpm
 77fd30f7ebc12a629a31c1e252cec06af55a71fe SOURCES/yasm-1.2.0-3.el5.src.rpm
diff --git a/.gitignore b/.gitignore
index f8b3385..701381d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,6 @@
 SOURCES/Python-2.7.8.tgz
 SOURCES/devtoolset-2-binutils-2.23.52.0.1-10.el5.src.rpm
-SOURCES/firefox-45.7.0esr.source.tar.xz
-SOURCES/firefox-langpacks-45.7.0esr-20170119.tar.xz
+SOURCES/firefox-52.0esr.source.tar.xz
+SOURCES/firefox-langpacks-52.0esr-20170306.tar.xz
 SOURCES/gcc48-4.8.2-16.el5.src.rpm
 SOURCES/yasm-1.2.0-3.el5.src.rpm
diff --git a/SOURCES/aarch64-fix-skia.patch b/SOURCES/aarch64-fix-skia.patch
deleted file mode 100644
index 115b1d8..0000000
--- a/SOURCES/aarch64-fix-skia.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Based on https://github.com/google/skia/commit/b79ff56de23fef680ae7187040f2d6a9516b553d
-
-Index: mozilla-release/gfx/skia/skia/src/core/SkUtilsArm.h
-===================================================================
---- mozilla-release.orig/gfx/skia/skia/src/core/SkUtilsArm.h
-+++ mozilla-release/gfx/skia/skia/src/core/SkUtilsArm.h
-@@ -21,9 +21,9 @@
- #define SK_ARM_NEON_MODE_ALWAYS   1
- #define SK_ARM_NEON_MODE_DYNAMIC  2
- 
--#if defined(SK_CPU_ARM32) && defined(__ARM_HAVE_OPTIONAL_NEON_SUPPORT)
-+#if defined(__ARM_HAVE_OPTIONAL_NEON_SUPPORT)
- #  define SK_ARM_NEON_MODE  SK_ARM_NEON_MODE_DYNAMIC
--#elif defined(SK_CPU_ARM32) && defined(__ARM_HAVE_NEON) || defined(SK_CPU_ARM64)
-+#elif defined(__ARM_HAVE_NEON)
- #  define SK_ARM_NEON_MODE  SK_ARM_NEON_MODE_ALWAYS
- #else
- #  define SK_ARM_NEON_MODE  SK_ARM_NEON_MODE_NONE
diff --git a/SOURCES/build-el5-build-id.patch b/SOURCES/build-el5-build-id.patch
deleted file mode 100644
index 17b19cf..0000000
--- a/SOURCES/build-el5-build-id.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -up mozilla-esr31/tools/profiler/LulElf.cpp.python3 mozilla-esr31/tools/profiler/LulElf.cpp
---- mozilla-esr31/tools/profiler/lul/LulElf.cpp.python3	2014-08-25 15:17:29.000000000 +0200
-+++ mozilla-esr31/tools/profiler/lul/LulElf.cpp	2014-09-05 15:26:14.114681217 +0200
-@@ -69,6 +69,11 @@
- #include "LulElfInt.h"
- #include "LulMainInt.h"
- 
-+#ifndef NT_GNU_BUILD_ID
-+#define NT_GNU_BUILD_ID 3
-+#endif
-+
-+
- 
- #if defined(LUL_PLAT_arm_android) && !defined(SHT_ARM_EXIDX)
- // bionic and older glibsc don't define it
diff --git a/SOURCES/build-el5-fontconfig.patch b/SOURCES/build-el5-fontconfig.patch
deleted file mode 100644
index 3e25c44..0000000
--- a/SOURCES/build-el5-fontconfig.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-diff -up mozilla-aurora/gfx/thebes/gfxFcPlatformFontList.cpp.build-el5-fontconfig mozilla-aurora/gfx/thebes/gfxFcPlatformFontList.cpp
---- mozilla-aurora/gfx/thebes/gfxFcPlatformFontList.cpp.build-el5-fontconfig	2015-12-16 16:47:28.000000000 +0100
-+++ mozilla-aurora/gfx/thebes/gfxFcPlatformFontList.cpp	2016-01-19 14:20:43.676153725 +0100
-@@ -367,7 +367,48 @@ gfxFontconfigFontEntry::gfxFontconfigFon
-     // "blanks", effectively assuming that, if the font has a blank glyph,
-     // then the author intends any associated character to be rendered
-     // blank.
--    mFontPattern = FcFreeTypeQueryFace(mFTFace, ToFcChar8Ptr(""), 0, nullptr);
-+    // BACKPORT: FcFreeTypeQueryFace is not available in RHEL5's fontconfig
-+    // mFontPattern = FcFreeTypeQueryFace(mFTFace, ToFcChar8Ptr(""), 0, nullptr);
-+
-+
-+    // FC_CHARSET is vital to determine which characters are supported.
-+    nsAutoRef<FcCharSet> charset(FcFreeTypeCharSet(mFTFace, nullptr));
-+    // If there are no characters then assume we don't know how to read
-+    // this font.
-+    if (!charset || FcCharSetCount(charset) == 0)
-+      return;
-+
-+    mFontPattern = FcPatternCreate();
-+    FcPatternAddCharSet(mFontPattern, FC_CHARSET, charset);
-+
-+    // FC_PIXEL_SIZE can be important for font selection of fixed-size
-+    // fonts.
-+    if (!(mFTFace->face_flags & FT_FACE_FLAG_SCALABLE)) {
-+      for (FT_Int i = 0; i < mFTFace->num_fixed_sizes; ++i) {
-+#if HAVE_FT_BITMAP_SIZE_Y_PPEM
-+        double size = FLOAT_FROM_26_6(mFTFace->available_sizes[i].y_ppem);
-+#else
-+        double size = mFTFace->available_sizes[i].height;
-+#endif
-+        FcPatternAddDouble (mFontPattern, FC_PIXEL_SIZE, size);
-+      }
-+
-+      // Not sure whether this is important;
-+      // imitating FcFreeTypeQueryFace:
-+      FcPatternAddBool (mFontPattern, FC_ANTIALIAS, FcFalse);
-+    }
-+
-+    // Setting up the FC_LANGSET property is very difficult with the APIs
-+    // available prior to FcFreeTypeQueryFace.  Having no FC_LANGSET
-+    // property seems better than having a property with an empty LangSet.
-+    // With no FC_LANGSET property, fontconfig sort functions will
-+    // consider this face to have the same priority as (otherwise equal)
-+    // faces that have support for the primary requested language, but
-+    // will not consider any language to have been satisfied (and so will
-+    // continue to look for a face with language support in fallback
-+    // fonts).
-+
-+    // END BACKPORT
-     // given that we have a FT_Face, not really sure this is possible...
-     if (!mFontPattern) {
-         mFontPattern = FcPatternCreate();
-@@ -1015,9 +1056,12 @@ gfxFcPlatformFontList::gfxFcPlatformFont
-     , mAlwaysUseFontconfigGenerics(true)
- {
-     // if the rescan interval is set, start the timer
--    int rescanInterval = FcConfigGetRescanInterval(nullptr);
-+    // BACKPORT - do not implement rescan interval
-+    //int rescanInterval = FcConfigGetRescanInterval(nullptr);
-+    int rescanInterval = 0;
-     if (rescanInterval) {
--        mLastConfig = FcConfigGetCurrent();
-+        nsAutoRef<FcConfig> fc_conf(FcConfigGetCurrent());
-+        mLastConfig = fc_conf.out();
-         mCheckFontUpdatesTimer = do_CreateInstance("@mozilla.org/timer;1");
-         if (mCheckFontUpdatesTimer) {
-             mCheckFontUpdatesTimer->
-@@ -1131,7 +1175,8 @@ gfxFcPlatformFontList::AddFontSetFamilie
- nsresult
- gfxFcPlatformFontList::InitFontList()
- {
--    mLastConfig = FcConfigGetCurrent();
-+    nsAutoRef<FcConfig> fc_conf(FcConfigGetCurrent());
-+    mLastConfig = fc_conf.out();
- 
-     // reset font lists
-     gfxPlatformFontList::InitFontList();
-diff -up mozilla-aurora/gfx/thebes/gfxFcPlatformFontList.h.build-el5-fontconfig mozilla-aurora/gfx/thebes/gfxFcPlatformFontList.h
---- mozilla-aurora/gfx/thebes/gfxFcPlatformFontList.h.build-el5-fontconfig	2016-01-19 11:45:08.927745469 +0100
-+++ mozilla-aurora/gfx/thebes/gfxFcPlatformFontList.h	2016-01-19 13:49:58.296124911 +0100
-@@ -33,7 +33,8 @@ class nsAutoRefTraits<FcConfig> : public
- {
- public:
-     static void Release(FcConfig *ptr) { FcConfigDestroy(ptr); }
--    static void AddRef(FcConfig *ptr) { FcConfigReference(ptr); }
-+    // AddRef is not supported in older font-config
-+    // static void AddRef(FcConfig *ptr) { FcConfigReference(ptr); }
- };
- 
- // Helper classes used for clearning out user font data when cairo font
-@@ -290,7 +291,7 @@ protected:
-     nsRefPtrHashtable<nsCStringHashKey, gfxFontFamily> mFcSubstituteCache;
- 
-     nsCOMPtr<nsITimer> mCheckFontUpdatesTimer;
--    nsCountedRef<FcConfig> mLastConfig;
-+    nsAutoRef<FcConfig> mLastConfig;
- 
-     // By default, font prefs under Linux are set to simply lookup
-     // via fontconfig the appropriate font for serif/sans-serif/monospace.
diff --git a/SOURCES/build-el5-gtk2-2.10.patch b/SOURCES/build-el5-gtk2-2.10.patch
deleted file mode 100644
index 9b1080b..0000000
--- a/SOURCES/build-el5-gtk2-2.10.patch
+++ /dev/null
@@ -1,2724 +0,0 @@
-diff -up mozilla-aurora/config/system-headers.build-gtk2 mozilla-aurora/config/system-headers
---- mozilla-aurora/config/system-headers.build-gtk2	2015-12-16 16:47:44.000000000 +0100
-+++ mozilla-aurora/config/system-headers	2016-01-15 17:38:34.974272205 +0100
-@@ -511,7 +511,9 @@ gssapi/gssapi.h
- gssapi.h
- gtk/gtk.h
- gtk/gtkx.h
--gtk/gtkunixprint.h
-+gtk/gtkprinter.h
-+gtk/gtkprintjob.h
-+gtk/gtkprintunixdialog.h
- #ifdef ANDROID
- gui/BufferQueue.h
- gui/ConsumerBase.h
-diff -up mozilla-aurora/configure.in.build-gtk2 mozilla-aurora/configure.in
---- mozilla-aurora/configure.in.build-gtk2	2016-01-15 17:38:34.972272207 +0100
-+++ mozilla-aurora/configure.in	2016-01-15 17:38:34.975272203 +0100
-@@ -58,15 +58,15 @@ NSS_VERSION=3
- 
- dnl Set the minimum version of toolkit libs used by mozilla
- dnl ========================================================
--GLIB_VERSION=2.22
-+GLIB_VERSION=2.12
- # 2_26 is the earliest version we can set GLIB_VERSION_MIN_REQUIRED.
- # The macro won't be used when compiling with earlier versions anyway.
- GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26
- GIO_VERSION=2.22
- PERL_VERSION=5.006
- CAIRO_VERSION=1.10
--PANGO_VERSION=1.22.0
--GTK2_VERSION=2.18.0
-+PANGO_VERSION=1.14
-+GTK2_VERSION=2.10
- GTK3_VERSION=3.4.0
- GDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_4
- WINDRES_VERSION=2.14.90
-@@ -4278,7 +4278,7 @@ if test "$COMPILE_ENVIRONMENT"; then
-     AC_DEFINE_UNQUOTED(GLIB_VERSION_MIN_REQUIRED,$GLIB_VERSION_MIN_REQUIRED)
-     AC_DEFINE_UNQUOTED(GLIB_VERSION_MAX_ALLOWED,$GLIB_VERSION_MAX_ALLOWED)
- 
--    PKG_CHECK_MODULES(MOZ_GTK2, gtk+-2.0 >= $GTK2_VERSION gtk+-unix-print-2.0 glib-2.0 >= $GLIB_VERSION gobject-2.0 $GDK_PACKAGES)
-+    PKG_CHECK_MODULES(MOZ_GTK2, gtk+-2.0 >= $GTK2_VERSION gtk+-unix-print-2.0 glib-2.0 >= $GLIB_VERSION gobject-2.0 $GDK_PACKAGES freetype2 fontconfig)
-     MOZ_GTK2_CFLAGS="-I${_topsrcdir}/widget/gtk/compat $MOZ_GTK2_CFLAGS"
-   fi
-   if test "$MOZ_ENABLE_GTK2"; then
-diff -up mozilla-aurora/security/sandbox/linux/Sandbox.cpp.build-gtk2 mozilla-aurora/security/sandbox/linux/Sandbox.cpp
---- mozilla-aurora/security/sandbox/linux/Sandbox.cpp.build-gtk2	2015-12-16 16:47:02.000000000 +0100
-+++ mozilla-aurora/security/sandbox/linux/Sandbox.cpp	2016-01-15 17:38:34.976272202 +0100
-@@ -668,12 +668,13 @@ SetMediaPluginSandbox(const char *aFileP
-   MOZ_ASSERT(!gMediaPluginFile.mPath);
-   if (aFilePath) {
-     gMediaPluginFile.mPath = strdup(aFilePath);
--    gMediaPluginFile.mFd = open(aFilePath, O_RDONLY | O_CLOEXEC);
-+    gMediaPluginFile.mFd = open(aFilePath, O_RDONLY);
-     if (gMediaPluginFile.mFd == -1) {
-       SANDBOX_LOG_ERROR("failed to open plugin file %s: %s",
-                         aFilePath, strerror(errno));
-       MOZ_CRASH();
-     }
-+    fcntl(gMediaPluginFile.mFd, F_SETFD, fcntl(gMediaPluginFile.mFd, F_GETFD, 0) | FD_CLOEXEC);
-   } else {
-     gMediaPluginFile.mFd = -1;
-   }
-diff -up mozilla-aurora/widget/gtk/compat/gdk/gdkkeysyms.h.build-gtk2 mozilla-aurora/widget/gtk/compat/gdk/gdkkeysyms.h
---- mozilla-aurora/widget/gtk/compat/gdk/gdkkeysyms.h.build-gtk2	2015-12-16 16:47:23.000000000 +0100
-+++ mozilla-aurora/widget/gtk/compat/gdk/gdkkeysyms.h	2016-01-15 17:38:34.976272202 +0100
-@@ -6,6 +6,7 @@
- #define GDKKEYSYMS_WRAPPER_H
- 
- #include_next <gdk/gdkkeysyms.h>
-+#include "gdkkeysyms-compat.h"
- 
- #ifndef GDK_ISO_Level5_Shift
- #define GDK_ISO_Level5_Shift    0xFE11
-diff -up mozilla-aurora/widget/gtk/compat/gtk/gtkcolorseldialog.h.build-gtk2 mozilla-aurora/widget/gtk/compat/gtk/gtkcolorseldialog.h
---- mozilla-aurora/widget/gtk/compat/gtk/gtkcolorseldialog.h.build-gtk2	2016-01-15 17:38:34.976272202 +0100
-+++ mozilla-aurora/widget/gtk/compat/gtk/gtkcolorseldialog.h	2016-01-15 17:38:34.976272202 +0100
-@@ -0,0 +1,20 @@
-+/* 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 GTKCOLOR_SELECTION_DIALOG_WRAPPER_H
-+#define GTKCOLOR_SELECTION_DIALOG_WRAPPER_H
-+
-+#define gtk_color_selection_dialog_get_color_selection gtk_color_selection_dialog_get_color_selection_
-+#include_next <gtk/gtkcolorseldialog.h>
-+#undef gtk_color_selection_dialog_get_color_selection
-+
-+static inline GtkWidget*
-+gtk_color_selection_dialog_get_color_selection (GtkColorSelectionDialog *colorsel)
-+{
-+  g_return_val_if_fail (GTK_IS_COLOR_SELECTION_DIALOG (colorsel), NULL);
-+
-+  return colorsel->colorsel;
-+}
-+
-+#endif /* GTKCOLOR_SELECTION_DIALOG_WRAPPER_H */
-diff -up mozilla-aurora/widget/gtk/compat/gtk/gtkdialog.h.build-gtk2 mozilla-aurora/widget/gtk/compat/gtk/gtkdialog.h
---- mozilla-aurora/widget/gtk/compat/gtk/gtkdialog.h.build-gtk2	2016-01-15 17:38:34.976272202 +0100
-+++ mozilla-aurora/widget/gtk/compat/gtk/gtkdialog.h	2016-01-15 17:38:34.976272202 +0100
-@@ -0,0 +1,20 @@
-+/* 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 GTKDIALOG_WRAPPER_H
-+#define GTKDIALOG_WRAPPER_H
-+
-+#define gtk_dialog_get_content_area gtk_dialog_get_content_area_
-+#include_next <gtk/gtkdialog.h>
-+#undef gtk_dialog_get_content_area
-+
-+static inline GtkWidget *
-+gtk_dialog_get_content_area (GtkDialog *dialog)
-+{
-+  g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
-+
-+  return dialog->vbox;
-+}
-+
-+#endif /* GTKDIALOG_WRAPPER_H */
-diff -up mozilla-aurora/widget/gtk/compat/gtk/gtkplug.h.build-gtk2 mozilla-aurora/widget/gtk/compat/gtk/gtkplug.h
---- mozilla-aurora/widget/gtk/compat/gtk/gtkplug.h.build-gtk2	2016-01-15 17:38:34.976272202 +0100
-+++ mozilla-aurora/widget/gtk/compat/gtk/gtkplug.h	2016-01-15 17:38:34.976272202 +0100
-@@ -0,0 +1,20 @@
-+/* 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 GTKPLUG_WRAPPER_H
-+#define GTKPLUG_WRAPPER_H
-+
-+#define gtk_plug_get_socket_window gtk_plug_get_socket_window_
-+#include_next <gtk/gtkplug.h>
-+#undef gtk_plug_get_socket_window
-+
-+static inline GdkWindow *
-+gtk_plug_get_socket_window (GtkPlug *plug)
-+{
-+  g_return_val_if_fail (GTK_IS_PLUG (plug), NULL);
-+
-+  return plug->socket_window;
-+}
-+
-+#endif /* GTKPLUG_WRAPPER_H */
-diff -up mozilla-aurora/widget/gtk/compat/gtk/gtkselection.h.build-gtk2 mozilla-aurora/widget/gtk/compat/gtk/gtkselection.h
---- mozilla-aurora/widget/gtk/compat/gtk/gtkselection.h.build-gtk2	2016-01-15 17:38:34.977272201 +0100
-+++ mozilla-aurora/widget/gtk/compat/gtk/gtkselection.h	2016-01-15 17:38:34.976272202 +0100
-@@ -0,0 +1,60 @@
-+/* 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 GTKSELECTION_WRAPPER_H
-+#define GTKSELECTION_WRAPPER_H
-+
-+#define gtk_selection_data_get_length gtk_selection_data_get_length_
-+#define gtk_selection_data_get_data_type gtk_selection_data_get_data_type_
-+#define gtk_selection_data_get_selection gtk_selection_data_get_selection_
-+#define gtk_selection_data_get_target gtk_selection_data_get_target_
-+#define gtk_selection_data_get_data gtk_selection_data_get_data_
-+#include_next <gtk/gtkselection.h>
-+#undef gtk_selection_data_get_length
-+#undef gtk_selection_data_get_data_type
-+#undef gtk_selection_data_get_selection
-+#undef gtk_selection_data_get_target
-+#undef gtk_selection_data_get_data
-+
-+static inline GdkAtom
-+gtk_selection_data_get_data_type (GtkSelectionData *selection_data)
-+{
-+  g_return_val_if_fail (selection_data != NULL, 0);
-+ 
-+  return selection_data->type;
-+}
-+
-+static inline gint
-+gtk_selection_data_get_length (GtkSelectionData *selection_data)
-+{
-+  g_return_val_if_fail (selection_data != NULL, -1);
-+
-+  return selection_data->length;
-+}
-+
-+static inline GdkAtom
-+gtk_selection_data_get_selection (GtkSelectionData *selection_data)
-+{
-+  g_return_val_if_fail (selection_data != NULL, 0);
-+
-+  return selection_data->selection;
-+}                                               
-+
-+static inline GdkAtom
-+gtk_selection_data_get_target (GtkSelectionData *selection_data)
-+{
-+  g_return_val_if_fail (selection_data != NULL, 0);
-+
-+  return selection_data->target;
-+}
-+
-+static inline const guchar*
-+gtk_selection_data_get_data (GtkSelectionData *selection_data)
-+{
-+  g_return_val_if_fail (selection_data != NULL, NULL);
-+
-+  return selection_data->data;
-+}
-+
-+#endif /* GTKSELECTION_WRAPPER_H */
-diff -up mozilla-aurora/widget/gtk/compat/gtk/gtkwidget.h.build-gtk2 mozilla-aurora/widget/gtk/compat/gtk/gtkwidget.h
---- mozilla-aurora/widget/gtk/compat/gtk/gtkwidget.h.build-gtk2	2015-12-16 16:47:23.000000000 +0100
-+++ mozilla-aurora/widget/gtk/compat/gtk/gtkwidget.h	2016-01-15 17:38:34.977272201 +0100
-@@ -9,11 +9,34 @@
- #define gtk_widget_get_mapped gtk_widget_get_mapped_
- #define gtk_widget_set_realized gtk_widget_set_realized_
- #define gtk_widget_get_realized gtk_widget_get_realized_
-+#define gtk_widget_get_window gtk_widget_get_window_
-+#define gtk_widget_has_focus gtk_widget_has_focus_
-+#define gtk_widget_get_visible gtk_widget_get_visible_
-+#define gtk_widget_set_window gtk_widget_set_window_
-+#define gtk_widget_set_can_focus gtk_widget_set_can_focus_
-+#define gtk_widget_get_has_window gtk_widget_get_has_window_
-+#define gtk_widget_set_has_window gtk_widget_set_has_window_
-+#define gtk_widget_get_allocation gtk_widget_get_allocation_
-+#define gtk_widget_set_allocation gtk_widget_set_allocation_
-+#define gtk_widget_get_can_focus gtk_widget_get_can_focus_
-+#define gtk_widget_has_grab gtk_widget_has_grab_
-+#define gtk_widget_is_toplevel gtk_widget_is_toplevel_
- #include_next <gtk/gtkwidget.h>
- #undef gtk_widget_set_mapped
- #undef gtk_widget_get_mapped
- #undef gtk_widget_set_realized
- #undef gtk_widget_get_realized
-+#undef gtk_widget_get_window
-+#undef gtk_widget_has_focus
-+#undef gtk_widget_get_visible
-+#undef gtk_widget_set_window
-+#undef gtk_widget_set_can_focus
-+#undef gtk_widget_get_has_window
-+#undef gtk_widget_set_has_window
-+#undef gtk_widget_get_allocation
-+#undef gtk_widget_set_allocation
-+#undef gtk_widget_has_grab
-+#undef gtk_widget_is_toplevel
- 
- #include <gtk/gtkversion.h>
- 
-@@ -47,4 +70,119 @@ gtk_widget_get_realized(GtkWidget *widge
-   return GTK_WIDGET_REALIZED (widget);
- }
- 
-+static inline GdkWindow *
-+gtk_widget_get_window(GtkWidget *widget)
-+{
-+  return widget->window;
-+}
-+
-+static inline void
-+gtk_widget_set_window(GtkWidget *widget,
-+                      GdkWindow *window)
-+{
-+  g_return_if_fail (GTK_IS_WIDGET (widget));
-+  g_return_if_fail (window == NULL || GDK_IS_WINDOW (window));
-+
-+  if (widget->window != window)
-+    {
-+      widget->window = window;
-+      g_object_notify (G_OBJECT (widget), "window");
-+    }
-+}
-+
-+
-+static inline gboolean
-+gtk_widget_has_focus(GtkWidget *widget)
-+{
-+  return GTK_WIDGET_HAS_FOCUS(widget);
-+}
-+
-+static inline gboolean
-+gtk_widget_get_can_focus (GtkWidget *widget)
-+{
-+  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
-+
-+  return (GTK_OBJECT_FLAGS (widget) & GTK_CAN_FOCUS) != 0;
-+}
-+
-+static inline void
-+gtk_widget_set_can_focus (GtkWidget *widget,
-+                          gboolean   can_focus)
-+{
-+  g_return_if_fail (GTK_IS_WIDGET (widget));
-+
-+  if (can_focus != gtk_widget_get_can_focus (widget))
-+    {
-+      if (can_focus)
-+        GTK_OBJECT_FLAGS (widget) |= GTK_CAN_FOCUS;
-+      else
-+        GTK_OBJECT_FLAGS (widget) &= ~(GTK_CAN_FOCUS);
-+
-+      gtk_widget_queue_resize (widget);
-+      g_object_notify (G_OBJECT (widget), "can-focus");
-+    }
-+}
-+
-+static inline gboolean
-+gtk_widget_get_visible(GtkWidget *widget)
-+{
-+  return GTK_WIDGET_VISIBLE(widget);
-+}
-+
-+static inline gboolean
-+gtk_widget_get_has_window (GtkWidget *widget)
-+{
-+  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
-+
-+  return !((GTK_OBJECT_FLAGS (widget) & GTK_NO_WINDOW) != 0);
-+}
-+
-+static inline void
-+gtk_widget_set_has_window (GtkWidget *widget,
-+                           gboolean   has_window)
-+{
-+  g_return_if_fail (GTK_IS_WIDGET (widget));
-+
-+  if (has_window)
-+    GTK_OBJECT_FLAGS (widget) &= ~(GTK_NO_WINDOW);
-+  else
-+    GTK_OBJECT_FLAGS (widget) |= GTK_NO_WINDOW;
-+}
-+
-+static inline void
-+gtk_widget_get_allocation (GtkWidget     *widget,
-+                           GtkAllocation *allocation)
-+{
-+  g_return_if_fail (GTK_IS_WIDGET (widget));
-+  g_return_if_fail (allocation != NULL);
-+
-+  *allocation = widget->allocation;
-+}
-+
-+static inline void
-+gtk_widget_set_allocation (GtkWidget           *widget,
-+                           const GtkAllocation *allocation)
-+{
-+  g_return_if_fail (GTK_IS_WIDGET (widget));
-+  g_return_if_fail (allocation != NULL);
-+
-+  widget->allocation = *allocation;
-+}
-+
-+static inline gboolean
-+gtk_widget_has_grab (GtkWidget *widget)
-+{
-+  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
-+
-+  return (GTK_OBJECT_FLAGS (widget) & GTK_HAS_GRAB) != 0;
-+}
-+
-+static inline gboolean
-+gtk_widget_is_toplevel (GtkWidget *widget)
-+{   
-+  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
-+  
-+  return (GTK_OBJECT_FLAGS (widget) & GTK_TOPLEVEL) != 0;
-+}
-+
- #endif /* GTKWIDGET_WRAPPER_H */
-diff -up mozilla-aurora/widget/gtk/gdkkeysyms-compat.h.build-gtk2 mozilla-aurora/widget/gtk/gdkkeysyms-compat.h
---- mozilla-aurora/widget/gtk/gdkkeysyms-compat.h.build-gtk2	2016-01-15 17:38:34.978272200 +0100
-+++ mozilla-aurora/widget/gtk/gdkkeysyms-compat.h	2016-01-15 17:38:34.978272200 +0100
-@@ -0,0 +1,2208 @@
-+/* GDK - The GIMP Drawing Kit
-+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
-+ * Copyright (C) 2005, 2006, 2007, 2009 GNOME Foundation
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the
-+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+ * Boston, MA 02111-1307, USA.
-+ */
-+
-+/*
-+ * Compatibility version of gdkkeysyms.h.
-+ *
-+ * In GTK3, keysyms changed to have a KEY_ prefix.  This is a compatibility header
-+ * your application can include to gain access to the old names as well.  Consider
-+ * porting to the new names instead.
-+ */
-+
-+#ifndef __GDK_KEYSYMS_COMPAT_H__
-+#define __GDK_KEYSYMS_COMPAT_H__
-+
-+#define GDK_VoidSymbol 0xffffff
-+#define GDK_BackSpace 0xff08
-+#define GDK_Tab 0xff09
-+#define GDK_Linefeed 0xff0a
-+#define GDK_Clear 0xff0b
-+#define GDK_Return 0xff0d
-+#define GDK_Pause 0xff13
-+#define GDK_Scroll_Lock 0xff14
-+#define GDK_Sys_Req 0xff15
-+#define GDK_Escape 0xff1b
-+#define GDK_Delete 0xffff
-+#define GDK_Multi_key 0xff20
-+#define GDK_Codeinput 0xff37
-+#define GDK_SingleCandidate 0xff3c
-+#define GDK_MultipleCandidate 0xff3d
-+#define GDK_PreviousCandidate 0xff3e
-+#define GDK_Kanji 0xff21
-+#define GDK_Muhenkan 0xff22
-+#define GDK_Henkan_Mode 0xff23
-+#define GDK_Henkan 0xff23
-+#define GDK_Romaji 0xff24
-+#define GDK_Hiragana 0xff25
-+#define GDK_Katakana 0xff26
-+#define GDK_Hiragana_Katakana 0xff27
-+#define GDK_Zenkaku 0xff28
-+#define GDK_Hankaku 0xff29
-+#define GDK_Zenkaku_Hankaku 0xff2a
-+#define GDK_Touroku 0xff2b
-+#define GDK_Massyo 0xff2c
-+#define GDK_Kana_Lock 0xff2d
-+#define GDK_Kana_Shift 0xff2e
-+#define GDK_Eisu_Shift 0xff2f
-+#define GDK_Eisu_toggle 0xff30
-+#define GDK_Kanji_Bangou 0xff37
-+#define GDK_Zen_Koho 0xff3d
-+#define GDK_Mae_Koho 0xff3e
-+#define GDK_Home 0xff50
-+#define GDK_Left 0xff51
-+#define GDK_Up 0xff52
-+#define GDK_Right 0xff53
-+#define GDK_Down 0xff54
-+#define GDK_Prior 0xff55
-+#define GDK_Page_Up 0xff55
-+#define GDK_Next 0xff56
-+#define GDK_Page_Down 0xff56
-+#define GDK_End 0xff57
-+#define GDK_Begin 0xff58
-+#define GDK_Select 0xff60
-+#define GDK_Print 0xff61
-+#define GDK_Execute 0xff62
-+#define GDK_Insert 0xff63
-+#define GDK_Undo 0xff65
-+#define GDK_Redo 0xff66
-+#define GDK_Menu 0xff67
-+#define GDK_Find 0xff68
-+#define GDK_Cancel 0xff69
-+#define GDK_Help 0xff6a
-+#define GDK_Break 0xff6b
-+#define GDK_Mode_switch 0xff7e
-+#define GDK_script_switch 0xff7e
-+#define GDK_Num_Lock 0xff7f
-+#define GDK_KP_Space 0xff80
-+#define GDK_KP_Tab 0xff89
-+#define GDK_KP_Enter 0xff8d
-+#define GDK_KP_F1 0xff91
-+#define GDK_KP_F2 0xff92
-+#define GDK_KP_F3 0xff93
-+#define GDK_KP_F4 0xff94
-+#define GDK_KP_Home 0xff95
-+#define GDK_KP_Left 0xff96
-+#define GDK_KP_Up 0xff97
-+#define GDK_KP_Right 0xff98
-+#define GDK_KP_Down 0xff99
-+#define GDK_KP_Prior 0xff9a
-+#define GDK_KP_Page_Up 0xff9a
-+#define GDK_KP_Next 0xff9b
-+#define GDK_KP_Page_Down 0xff9b
-+#define GDK_KP_End 0xff9c
-+#define GDK_KP_Begin 0xff9d
-+#define GDK_KP_Insert 0xff9e
-+#define GDK_KP_Delete 0xff9f
-+#define GDK_KP_Equal 0xffbd
-+#define GDK_KP_Multiply 0xffaa
-+#define GDK_KP_Add 0xffab
-+#define GDK_KP_Separator 0xffac
-+#define GDK_KP_Subtract 0xffad
-+#define GDK_KP_Decimal 0xffae
-+#define GDK_KP_Divide 0xffaf
-+#define GDK_KP_0 0xffb0
-+#define GDK_KP_1 0xffb1
-+#define GDK_KP_2 0xffb2
-+#define GDK_KP_3 0xffb3
-+#define GDK_KP_4 0xffb4
-+#define GDK_KP_5 0xffb5
-+#define GDK_KP_6 0xffb6
-+#define GDK_KP_7 0xffb7
-+#define GDK_KP_8 0xffb8
-+#define GDK_KP_9 0xffb9
-+#define GDK_F1 0xffbe
-+#define GDK_F2 0xffbf
-+#define GDK_F3 0xffc0
-+#define GDK_F4 0xffc1
-+#define GDK_F5 0xffc2
-+#define GDK_F6 0xffc3
-+#define GDK_F7 0xffc4
-+#define GDK_F8 0xffc5
-+#define GDK_F9 0xffc6
-+#define GDK_F10 0xffc7
-+#define GDK_F11 0xffc8
-+#define GDK_L1 0xffc8
-+#define GDK_F12 0xffc9
-+#define GDK_L2 0xffc9
-+#define GDK_F13 0xffca
-+#define GDK_L3 0xffca
-+#define GDK_F14 0xffcb
-+#define GDK_L4 0xffcb
-+#define GDK_F15 0xffcc
-+#define GDK_L5 0xffcc
-+#define GDK_F16 0xffcd
-+#define GDK_L6 0xffcd
-+#define GDK_F17 0xffce
-+#define GDK_L7 0xffce
-+#define GDK_F18 0xffcf
-+#define GDK_L8 0xffcf
-+#define GDK_F19 0xffd0
-+#define GDK_L9 0xffd0
-+#define GDK_F20 0xffd1
-+#define GDK_L10 0xffd1
-+#define GDK_F21 0xffd2
-+#define GDK_R1 0xffd2
-+#define GDK_F22 0xffd3
-+#define GDK_R2 0xffd3
-+#define GDK_F23 0xffd4
-+#define GDK_R3 0xffd4
-+#define GDK_F24 0xffd5
-+#define GDK_R4 0xffd5
-+#define GDK_F25 0xffd6
-+#define GDK_R5 0xffd6
-+#define GDK_F26 0xffd7
-+#define GDK_R6 0xffd7
-+#define GDK_F27 0xffd8
-+#define GDK_R7 0xffd8
-+#define GDK_F28 0xffd9
-+#define GDK_R8 0xffd9
-+#define GDK_F29 0xffda
-+#define GDK_R9 0xffda
-+#define GDK_F30 0xffdb
-+#define GDK_R10 0xffdb
-+#define GDK_F31 0xffdc
-+#define GDK_R11 0xffdc
-+#define GDK_F32 0xffdd
-+#define GDK_R12 0xffdd
-+#define GDK_F33 0xffde
-+#define GDK_R13 0xffde
-+#define GDK_F34 0xffdf
-+#define GDK_R14 0xffdf
-+#define GDK_F35 0xffe0
-+#define GDK_R15 0xffe0
-+#define GDK_Shift_L 0xffe1
-+#define GDK_Shift_R 0xffe2
-+#define GDK_Control_L 0xffe3
-+#define GDK_Control_R 0xffe4
-+#define GDK_Caps_Lock 0xffe5
-+#define GDK_Shift_Lock 0xffe6
-+#define GDK_Meta_L 0xffe7
-+#define GDK_Meta_R 0xffe8
-+#define GDK_Alt_L 0xffe9
-+#define GDK_Alt_R 0xffea
-+#define GDK_Super_L 0xffeb
-+#define GDK_Super_R 0xffec
-+#define GDK_Hyper_L 0xffed
-+#define GDK_Hyper_R 0xffee
-+#define GDK_ISO_Lock 0xfe01
-+#define GDK_ISO_Level2_Latch 0xfe02
-+#define GDK_ISO_Level3_Shift 0xfe03
-+#define GDK_ISO_Level3_Latch 0xfe04
-+#define GDK_ISO_Level3_Lock 0xfe05
-+#define GDK_ISO_Level5_Shift 0xfe11
-+#define GDK_ISO_Level5_Latch 0xfe12
-+#define GDK_ISO_Level5_Lock 0xfe13
-+#define GDK_ISO_Group_Shift 0xff7e
-+#define GDK_ISO_Group_Latch 0xfe06
-+#define GDK_ISO_Group_Lock 0xfe07
-+#define GDK_ISO_Next_Group 0xfe08
-+#define GDK_ISO_Next_Group_Lock 0xfe09
-+#define GDK_ISO_Prev_Group 0xfe0a
-+#define GDK_ISO_Prev_Group_Lock 0xfe0b
-+#define GDK_ISO_First_Group 0xfe0c
-+#define GDK_ISO_First_Group_Lock 0xfe0d
-+#define GDK_ISO_Last_Group 0xfe0e
-+#define GDK_ISO_Last_Group_Lock 0xfe0f
-+#define GDK_ISO_Left_Tab 0xfe20
-+#define GDK_ISO_Move_Line_Up 0xfe21
-+#define GDK_ISO_Move_Line_Down 0xfe22
-+#define GDK_ISO_Partial_Line_Up 0xfe23
-+#define GDK_ISO_Partial_Line_Down 0xfe24
-+#define GDK_ISO_Partial_Space_Left 0xfe25
-+#define GDK_ISO_Partial_Space_Right 0xfe26
-+#define GDK_ISO_Set_Margin_Left 0xfe27
-+#define GDK_ISO_Set_Margin_Right 0xfe28
-+#define GDK_ISO_Release_Margin_Left 0xfe29
-+#define GDK_ISO_Release_Margin_Right 0xfe2a
-+#define GDK_ISO_Release_Both_Margins 0xfe2b
-+#define GDK_ISO_Fast_Cursor_Left 0xfe2c
-+#define GDK_ISO_Fast_Cursor_Right 0xfe2d
-+#define GDK_ISO_Fast_Cursor_Up 0xfe2e
-+#define GDK_ISO_Fast_Cursor_Down 0xfe2f
-+#define GDK_ISO_Continuous_Underline 0xfe30
-+#define GDK_ISO_Discontinuous_Underline 0xfe31
-+#define GDK_ISO_Emphasize 0xfe32
-+#define GDK_ISO_Center_Object 0xfe33
-+#define GDK_ISO_Enter 0xfe34
-+#define GDK_dead_grave 0xfe50
-+#define GDK_dead_acute 0xfe51
-+#define GDK_dead_circumflex 0xfe52
-+#define GDK_dead_tilde 0xfe53
-+#define GDK_dead_perispomeni 0xfe53
-+#define GDK_dead_macron 0xfe54
-+#define GDK_dead_breve 0xfe55
-+#define GDK_dead_abovedot 0xfe56
-+#define GDK_dead_diaeresis 0xfe57
-+#define GDK_dead_abovering 0xfe58
-+#define GDK_dead_doubleacute 0xfe59
-+#define GDK_dead_caron 0xfe5a
-+#define GDK_dead_cedilla 0xfe5b
-+#define GDK_dead_ogonek 0xfe5c
-+#define GDK_dead_iota 0xfe5d
-+#define GDK_dead_voiced_sound 0xfe5e
-+#define GDK_dead_semivoiced_sound 0xfe5f
-+#define GDK_dead_belowdot 0xfe60
-+#define GDK_dead_hook 0xfe61
-+#define GDK_dead_horn 0xfe62
-+#define GDK_dead_stroke 0xfe63
-+#define GDK_dead_abovecomma 0xfe64
-+#define GDK_dead_psili 0xfe64
-+#define GDK_dead_abovereversedcomma 0xfe65
-+#define GDK_dead_dasia 0xfe65
-+#define GDK_dead_doublegrave 0xfe66
-+#define GDK_dead_belowring 0xfe67
-+#define GDK_dead_belowmacron 0xfe68
-+#define GDK_dead_belowcircumflex 0xfe69
-+#define GDK_dead_belowtilde 0xfe6a
-+#define GDK_dead_belowbreve 0xfe6b
-+#define GDK_dead_belowdiaeresis 0xfe6c
-+#define GDK_dead_invertedbreve 0xfe6d
-+#define GDK_dead_belowcomma 0xfe6e
-+#define GDK_dead_currency 0xfe6f
-+#define GDK_dead_a 0xfe80
-+#define GDK_dead_A 0xfe81
-+#define GDK_dead_e 0xfe82
-+#define GDK_dead_E 0xfe83
-+#define GDK_dead_i 0xfe84
-+#define GDK_dead_I 0xfe85
-+#define GDK_dead_o 0xfe86
-+#define GDK_dead_O 0xfe87
-+#define GDK_dead_u 0xfe88
-+#define GDK_dead_U 0xfe89
-+#define GDK_dead_small_schwa 0xfe8a
-+#define GDK_dead_capital_schwa 0xfe8b
-+#define GDK_First_Virtual_Screen 0xfed0
-+#define GDK_Prev_Virtual_Screen 0xfed1
-+#define GDK_Next_Virtual_Screen 0xfed2
-+#define GDK_Last_Virtual_Screen 0xfed4
-+#define GDK_Terminate_Server 0xfed5
-+#define GDK_AccessX_Enable 0xfe70
-+#define GDK_AccessX_Feedback_Enable 0xfe71
-+#define GDK_RepeatKeys_Enable 0xfe72
-+#define GDK_SlowKeys_Enable 0xfe73
-+#define GDK_BounceKeys_Enable 0xfe74
-+#define GDK_StickyKeys_Enable 0xfe75
-+#define GDK_MouseKeys_Enable 0xfe76
-+#define GDK_MouseKeys_Accel_Enable 0xfe77
-+#define GDK_Overlay1_Enable 0xfe78
-+#define GDK_Overlay2_Enable 0xfe79
-+#define GDK_AudibleBell_Enable 0xfe7a
-+#define GDK_Pointer_Left 0xfee0
-+#define GDK_Pointer_Right 0xfee1
-+#define GDK_Pointer_Up 0xfee2
-+#define GDK_Pointer_Down 0xfee3
-+#define GDK_Pointer_UpLeft 0xfee4
-+#define GDK_Pointer_UpRight 0xfee5
-+#define GDK_Pointer_DownLeft 0xfee6
-+#define GDK_Pointer_DownRight 0xfee7
-+#define GDK_Pointer_Button_Dflt 0xfee8
-+#define GDK_Pointer_Button1 0xfee9
-+#define GDK_Pointer_Button2 0xfeea
-+#define GDK_Pointer_Button3 0xfeeb
-+#define GDK_Pointer_Button4 0xfeec
-+#define GDK_Pointer_Button5 0xfeed
-+#define GDK_Pointer_DblClick_Dflt 0xfeee
-+#define GDK_Pointer_DblClick1 0xfeef
-+#define GDK_Pointer_DblClick2 0xfef0
-+#define GDK_Pointer_DblClick3 0xfef1
-+#define GDK_Pointer_DblClick4 0xfef2
-+#define GDK_Pointer_DblClick5 0xfef3
-+#define GDK_Pointer_Drag_Dflt 0xfef4
-+#define GDK_Pointer_Drag1 0xfef5
-+#define GDK_Pointer_Drag2 0xfef6
-+#define GDK_Pointer_Drag3 0xfef7
-+#define GDK_Pointer_Drag4 0xfef8
-+#define GDK_Pointer_Drag5 0xfefd
-+#define GDK_Pointer_EnableKeys 0xfef9
-+#define GDK_Pointer_Accelerate 0xfefa
-+#define GDK_Pointer_DfltBtnNext 0xfefb
-+#define GDK_Pointer_DfltBtnPrev 0xfefc
-+#define GDK_3270_Duplicate 0xfd01
-+#define GDK_3270_FieldMark 0xfd02
-+#define GDK_3270_Right2 0xfd03
-+#define GDK_3270_Left2 0xfd04
-+#define GDK_3270_BackTab 0xfd05
-+#define GDK_3270_EraseEOF 0xfd06
-+#define GDK_3270_EraseInput 0xfd07
-+#define GDK_3270_Reset 0xfd08
-+#define GDK_3270_Quit 0xfd09
-+#define GDK_3270_PA1 0xfd0a
-+#define GDK_3270_PA2 0xfd0b
-+#define GDK_3270_PA3 0xfd0c
-+#define GDK_3270_Test 0xfd0d
-+#define GDK_3270_Attn 0xfd0e
-+#define GDK_3270_CursorBlink 0xfd0f
-+#define GDK_3270_AltCursor 0xfd10
-+#define GDK_3270_KeyClick 0xfd11
-+#define GDK_3270_Jump 0xfd12
-+#define GDK_3270_Ident 0xfd13
-+#define GDK_3270_Rule 0xfd14
-+#define GDK_3270_Copy 0xfd15
-+#define GDK_3270_Play 0xfd16
-+#define GDK_3270_Setup 0xfd17
-+#define GDK_3270_Record 0xfd18
-+#define GDK_3270_ChangeScreen 0xfd19
-+#define GDK_3270_DeleteWord 0xfd1a
-+#define GDK_3270_ExSelect 0xfd1b
-+#define GDK_3270_CursorSelect 0xfd1c
-+#define GDK_3270_PrintScreen 0xfd1d
-+#define GDK_3270_Enter 0xfd1e
-+#define GDK_space 0x020
-+#define GDK_exclam 0x021
-+#define GDK_quotedbl 0x022
-+#define GDK_numbersign 0x023
-+#define GDK_dollar 0x024
-+#define GDK_percent 0x025
-+#define GDK_ampersand 0x026
-+#define GDK_apostrophe 0x027
-+#define GDK_quoteright 0x027
-+#define GDK_parenleft 0x028
-+#define GDK_parenright 0x029
-+#define GDK_asterisk 0x02a
-+#define GDK_plus 0x02b
-+#define GDK_comma 0x02c
-+#define GDK_minus 0x02d
-+#define GDK_period 0x02e
-+#define GDK_slash 0x02f
-+#define GDK_0 0x030
-+#define GDK_1 0x031
-+#define GDK_2 0x032
-+#define GDK_3 0x033
-+#define GDK_4 0x034
-+#define GDK_5 0x035
-+#define GDK_6 0x036
-+#define GDK_7 0x037
-+#define GDK_8 0x038
-+#define GDK_9 0x039
-+#define GDK_colon 0x03a
-+#define GDK_semicolon 0x03b
-+#define GDK_less 0x03c
-+#define GDK_equal 0x03d
-+#define GDK_greater 0x03e
-+#define GDK_question 0x03f
-+#define GDK_at 0x040
-+#define GDK_A 0x041
-+#define GDK_B 0x042
-+#define GDK_C 0x043
-+#define GDK_D 0x044
-+#define GDK_E 0x045
-+#define GDK_F 0x046
-+#define GDK_G 0x047
-+#define GDK_H 0x048
-+#define GDK_I 0x049
-+#define GDK_J 0x04a
-+#define GDK_K 0x04b
-+#define GDK_L 0x04c
-+#define GDK_M 0x04d
-+#define GDK_N 0x04e
-+#define GDK_O 0x04f
-+#define GDK_P 0x050
-+#define GDK_Q 0x051
-+#define GDK_R 0x052
-+#define GDK_S 0x053
-+#define GDK_T 0x054
-+#define GDK_U 0x055
-+#define GDK_V 0x056
-+#define GDK_W 0x057
-+#define GDK_X 0x058
-+#define GDK_Y 0x059
-+#define GDK_Z 0x05a
-+#define GDK_bracketleft 0x05b
-+#define GDK_backslash 0x05c
-+#define GDK_bracketright 0x05d
-+#define GDK_asciicircum 0x05e
-+#define GDK_underscore 0x05f
-+#define GDK_grave 0x060
-+#define GDK_quoteleft 0x060
-+#define GDK_a 0x061
-+#define GDK_b 0x062
-+#define GDK_c 0x063
-+#define GDK_d 0x064
-+#define GDK_e 0x065
-+#define GDK_f 0x066
-+#define GDK_g 0x067
-+#define GDK_h 0x068
-+#define GDK_i 0x069
-+#define GDK_j 0x06a
-+#define GDK_k 0x06b
-+#define GDK_l 0x06c
-+#define GDK_m 0x06d
-+#define GDK_n 0x06e
-+#define GDK_o 0x06f
-+#define GDK_p 0x070
-+#define GDK_q 0x071
-+#define GDK_r 0x072
-+#define GDK_s 0x073
-+#define GDK_t 0x074
-+#define GDK_u 0x075
-+#define GDK_v 0x076
-+#define GDK_w 0x077
-+#define GDK_x 0x078
-+#define GDK_y 0x079
-+#define GDK_z 0x07a
-+#define GDK_braceleft 0x07b
-+#define GDK_bar 0x07c
-+#define GDK_braceright 0x07d
-+#define GDK_asciitilde 0x07e
-+#define GDK_nobreakspace 0x0a0
-+#define GDK_exclamdown 0x0a1
-+#define GDK_cent 0x0a2
-+#define GDK_sterling 0x0a3
-+#define GDK_currency 0x0a4
-+#define GDK_yen 0x0a5
-+#define GDK_brokenbar 0x0a6
-+#define GDK_section 0x0a7
-+#define GDK_diaeresis 0x0a8
-+#define GDK_copyright 0x0a9
-+#define GDK_ordfeminine 0x0aa
-+#define GDK_guillemotleft 0x0ab
-+#define GDK_notsign 0x0ac
-+#define GDK_hyphen 0x0ad
-+#define GDK_registered 0x0ae
-+#define GDK_macron 0x0af
-+#define GDK_degree 0x0b0
-+#define GDK_plusminus 0x0b1
-+#define GDK_twosuperior 0x0b2
-+#define GDK_threesuperior 0x0b3
-+#define GDK_acute 0x0b4
-+#define GDK_mu 0x0b5
-+#define GDK_paragraph 0x0b6
-+#define GDK_periodcentered 0x0b7
-+#define GDK_cedilla 0x0b8
-+#define GDK_onesuperior 0x0b9
-+#define GDK_masculine 0x0ba
-+#define GDK_guillemotright 0x0bb
-+#define GDK_onequarter 0x0bc
-+#define GDK_onehalf 0x0bd
-+#define GDK_threequarters 0x0be
-+#define GDK_questiondown 0x0bf
-+#define GDK_Agrave 0x0c0
-+#define GDK_Aacute 0x0c1
-+#define GDK_Acircumflex 0x0c2
-+#define GDK_Atilde 0x0c3
-+#define GDK_Adiaeresis 0x0c4
-+#define GDK_Aring 0x0c5
-+#define GDK_AE 0x0c6
-+#define GDK_Ccedilla 0x0c7
-+#define GDK_Egrave 0x0c8
-+#define GDK_Eacute 0x0c9
-+#define GDK_Ecircumflex 0x0ca
-+#define GDK_Ediaeresis 0x0cb
-+#define GDK_Igrave 0x0cc
-+#define GDK_Iacute 0x0cd
-+#define GDK_Icircumflex 0x0ce
-+#define GDK_Idiaeresis 0x0cf
-+#define GDK_ETH 0x0d0
-+#define GDK_Eth 0x0d0
-+#define GDK_Ntilde 0x0d1
-+#define GDK_Ograve 0x0d2
-+#define GDK_Oacute 0x0d3
-+#define GDK_Ocircumflex 0x0d4
-+#define GDK_Otilde 0x0d5
-+#define GDK_Odiaeresis 0x0d6
-+#define GDK_multiply 0x0d7
-+#define GDK_Oslash 0x0d8
-+#define GDK_Ooblique 0x0d8
-+#define GDK_Ugrave 0x0d9
-+#define GDK_Uacute 0x0da
-+#define GDK_Ucircumflex 0x0db
-+#define GDK_Udiaeresis 0x0dc
-+#define GDK_Yacute 0x0dd
-+#define GDK_THORN 0x0de
-+#define GDK_Thorn 0x0de
-+#define GDK_ssharp 0x0df
-+#define GDK_agrave 0x0e0
-+#define GDK_aacute 0x0e1
-+#define GDK_acircumflex 0x0e2
-+#define GDK_atilde 0x0e3
-+#define GDK_adiaeresis 0x0e4
-+#define GDK_aring 0x0e5
-+#define GDK_ae 0x0e6
-+#define GDK_ccedilla 0x0e7
-+#define GDK_egrave 0x0e8
-+#define GDK_eacute 0x0e9
-+#define GDK_ecircumflex 0x0ea
-+#define GDK_ediaeresis 0x0eb
-+#define GDK_igrave 0x0ec
-+#define GDK_iacute 0x0ed
-+#define GDK_icircumflex 0x0ee
-+#define GDK_idiaeresis 0x0ef
-+#define GDK_eth 0x0f0
-+#define GDK_ntilde 0x0f1
-+#define GDK_ograve 0x0f2
-+#define GDK_oacute 0x0f3
-+#define GDK_ocircumflex 0x0f4
-+#define GDK_otilde 0x0f5
-+#define GDK_odiaeresis 0x0f6
-+#define GDK_division 0x0f7
-+#define GDK_oslash 0x0f8
-+#define GDK_ooblique 0x0f8
-+#define GDK_ugrave 0x0f9
-+#define GDK_uacute 0x0fa
-+#define GDK_ucircumflex 0x0fb
-+#define GDK_udiaeresis 0x0fc
-+#define GDK_yacute 0x0fd
-+#define GDK_thorn 0x0fe
-+#define GDK_ydiaeresis 0x0ff
-+#define GDK_Aogonek 0x1a1
-+#define GDK_breve 0x1a2
-+#define GDK_Lstroke 0x1a3
-+#define GDK_Lcaron 0x1a5
-+#define GDK_Sacute 0x1a6
-+#define GDK_Scaron 0x1a9
-+#define GDK_Scedilla 0x1aa
-+#define GDK_Tcaron 0x1ab
-+#define GDK_Zacute 0x1ac
-+#define GDK_Zcaron 0x1ae
-+#define GDK_Zabovedot 0x1af
-+#define GDK_aogonek 0x1b1
-+#define GDK_ogonek 0x1b2
-+#define GDK_lstroke 0x1b3
-+#define GDK_lcaron 0x1b5
-+#define GDK_sacute 0x1b6
-+#define GDK_caron 0x1b7
-+#define GDK_scaron 0x1b9
-+#define GDK_scedilla 0x1ba
-+#define GDK_tcaron 0x1bb
-+#define GDK_zacute 0x1bc
-+#define GDK_doubleacute 0x1bd
-+#define GDK_zcaron 0x1be
-+#define GDK_zabovedot 0x1bf
-+#define GDK_Racute 0x1c0
-+#define GDK_Abreve 0x1c3
-+#define GDK_Lacute 0x1c5
-+#define GDK_Cacute 0x1c6
-+#define GDK_Ccaron 0x1c8
-+#define GDK_Eogonek 0x1ca
-+#define GDK_Ecaron 0x1cc
-+#define GDK_Dcaron 0x1cf
-+#define GDK_Dstroke 0x1d0
-+#define GDK_Nacute 0x1d1
-+#define GDK_Ncaron 0x1d2
-+#define GDK_Odoubleacute 0x1d5
-+#define GDK_Rcaron 0x1d8
-+#define GDK_Uring 0x1d9
-+#define GDK_Udoubleacute 0x1db
-+#define GDK_Tcedilla 0x1de
-+#define GDK_racute 0x1e0
-+#define GDK_abreve 0x1e3
-+#define GDK_lacute 0x1e5
-+#define GDK_cacute 0x1e6
-+#define GDK_ccaron 0x1e8
-+#define GDK_eogonek 0x1ea
-+#define GDK_ecaron 0x1ec
-+#define GDK_dcaron 0x1ef
-+#define GDK_dstroke 0x1f0
-+#define GDK_nacute 0x1f1
-+#define GDK_ncaron 0x1f2
-+#define GDK_odoubleacute 0x1f5
-+#define GDK_udoubleacute 0x1fb
-+#define GDK_rcaron 0x1f8
-+#define GDK_uring 0x1f9
-+#define GDK_tcedilla 0x1fe
-+#define GDK_abovedot 0x1ff
-+#define GDK_Hstroke 0x2a1
-+#define GDK_Hcircumflex 0x2a6
-+#define GDK_Iabovedot 0x2a9
-+#define GDK_Gbreve 0x2ab
-+#define GDK_Jcircumflex 0x2ac
-+#define GDK_hstroke 0x2b1
-+#define GDK_hcircumflex 0x2b6
-+#define GDK_idotless 0x2b9
-+#define GDK_gbreve 0x2bb
-+#define GDK_jcircumflex 0x2bc
-+#define GDK_Cabovedot 0x2c5
-+#define GDK_Ccircumflex 0x2c6
-+#define GDK_Gabovedot 0x2d5
-+#define GDK_Gcircumflex 0x2d8
-+#define GDK_Ubreve 0x2dd
-+#define GDK_Scircumflex 0x2de
-+#define GDK_cabovedot 0x2e5
-+#define GDK_ccircumflex 0x2e6
-+#define GDK_gabovedot 0x2f5
-+#define GDK_gcircumflex 0x2f8
-+#define GDK_ubreve 0x2fd
-+#define GDK_scircumflex 0x2fe
-+#define GDK_kra 0x3a2
-+#define GDK_kappa 0x3a2
-+#define GDK_Rcedilla 0x3a3
-+#define GDK_Itilde 0x3a5
-+#define GDK_Lcedilla 0x3a6
-+#define GDK_Emacron 0x3aa
-+#define GDK_Gcedilla 0x3ab
-+#define GDK_Tslash 0x3ac
-+#define GDK_rcedilla 0x3b3
-+#define GDK_itilde 0x3b5
-+#define GDK_lcedilla 0x3b6
-+#define GDK_emacron 0x3ba
-+#define GDK_gcedilla 0x3bb
-+#define GDK_tslash 0x3bc
-+#define GDK_ENG 0x3bd
-+#define GDK_eng 0x3bf
-+#define GDK_Amacron 0x3c0
-+#define GDK_Iogonek 0x3c7
-+#define GDK_Eabovedot 0x3cc
-+#define GDK_Imacron 0x3cf
-+#define GDK_Ncedilla 0x3d1
-+#define GDK_Omacron 0x3d2
-+#define GDK_Kcedilla 0x3d3
-+#define GDK_Uogonek 0x3d9
-+#define GDK_Utilde 0x3dd
-+#define GDK_Umacron 0x3de
-+#define GDK_amacron 0x3e0
-+#define GDK_iogonek 0x3e7
-+#define GDK_eabovedot 0x3ec
-+#define GDK_imacron 0x3ef
-+#define GDK_ncedilla 0x3f1
-+#define GDK_omacron 0x3f2
-+#define GDK_kcedilla 0x3f3
-+#define GDK_uogonek 0x3f9
-+#define GDK_utilde 0x3fd
-+#define GDK_umacron 0x3fe
-+#define GDK_Babovedot 0x1001e02
-+#define GDK_babovedot 0x1001e03
-+#define GDK_Dabovedot 0x1001e0a
-+#define GDK_Wgrave 0x1001e80
-+#define GDK_Wacute 0x1001e82
-+#define GDK_dabovedot 0x1001e0b
-+#define GDK_Ygrave 0x1001ef2
-+#define GDK_Fabovedot 0x1001e1e
-+#define GDK_fabovedot 0x1001e1f
-+#define GDK_Mabovedot 0x1001e40
-+#define GDK_mabovedot 0x1001e41
-+#define GDK_Pabovedot 0x1001e56
-+#define GDK_wgrave 0x1001e81
-+#define GDK_pabovedot 0x1001e57
-+#define GDK_wacute 0x1001e83
-+#define GDK_Sabovedot 0x1001e60
-+#define GDK_ygrave 0x1001ef3
-+#define GDK_Wdiaeresis 0x1001e84
-+#define GDK_wdiaeresis 0x1001e85
-+#define GDK_sabovedot 0x1001e61
-+#define GDK_Wcircumflex 0x1000174
-+#define GDK_Tabovedot 0x1001e6a
-+#define GDK_Ycircumflex 0x1000176
-+#define GDK_wcircumflex 0x1000175
-+#define GDK_tabovedot 0x1001e6b
-+#define GDK_ycircumflex 0x1000177
-+#define GDK_OE 0x13bc
-+#define GDK_oe 0x13bd
-+#define GDK_Ydiaeresis 0x13be
-+#define GDK_overline 0x47e
-+#define GDK_kana_fullstop 0x4a1
-+#define GDK_kana_openingbracket 0x4a2
-+#define GDK_kana_closingbracket 0x4a3
-+#define GDK_kana_comma 0x4a4
-+#define GDK_kana_conjunctive 0x4a5
-+#define GDK_kana_middledot 0x4a5
-+#define GDK_kana_WO 0x4a6
-+#define GDK_kana_a 0x4a7
-+#define GDK_kana_i 0x4a8
-+#define GDK_kana_u 0x4a9
-+#define GDK_kana_e 0x4aa
-+#define GDK_kana_o 0x4ab
-+#define GDK_kana_ya 0x4ac
-+#define GDK_kana_yu 0x4ad
-+#define GDK_kana_yo 0x4ae
-+#define GDK_kana_tsu 0x4af
-+#define GDK_kana_tu 0x4af
-+#define GDK_prolongedsound 0x4b0
-+#define GDK_kana_A 0x4b1
-+#define GDK_kana_I 0x4b2
-+#define GDK_kana_U 0x4b3
-+#define GDK_kana_E 0x4b4
-+#define GDK_kana_O 0x4b5
-+#define GDK_kana_KA 0x4b6
-+#define GDK_kana_KI 0x4b7
-+#define GDK_kana_KU 0x4b8
-+#define GDK_kana_KE 0x4b9
-+#define GDK_kana_KO 0x4ba
-+#define GDK_kana_SA 0x4bb
-+#define GDK_kana_SHI 0x4bc
-+#define GDK_kana_SU 0x4bd
-+#define GDK_kana_SE 0x4be
-+#define GDK_kana_SO 0x4bf
-+#define GDK_kana_TA 0x4c0
-+#define GDK_kana_CHI 0x4c1
-+#define GDK_kana_TI 0x4c1
-+#define GDK_kana_TSU 0x4c2
-+#define GDK_kana_TU 0x4c2
-+#define GDK_kana_TE 0x4c3
-+#define GDK_kana_TO 0x4c4
-+#define GDK_kana_NA 0x4c5
-+#define GDK_kana_NI 0x4c6
-+#define GDK_kana_NU 0x4c7
-+#define GDK_kana_NE 0x4c8
-+#define GDK_kana_NO 0x4c9
-+#define GDK_kana_HA 0x4ca
-+#define GDK_kana_HI 0x4cb
-+#define GDK_kana_FU 0x4cc
-+#define GDK_kana_HU 0x4cc
-+#define GDK_kana_HE 0x4cd
-+#define GDK_kana_HO 0x4ce
-+#define GDK_kana_MA 0x4cf
-+#define GDK_kana_MI 0x4d0
-+#define GDK_kana_MU 0x4d1
-+#define GDK_kana_ME 0x4d2
-+#define GDK_kana_MO 0x4d3
-+#define GDK_kana_YA 0x4d4
-+#define GDK_kana_YU 0x4d5
-+#define GDK_kana_YO 0x4d6
-+#define GDK_kana_RA 0x4d7
-+#define GDK_kana_RI 0x4d8
-+#define GDK_kana_RU 0x4d9
-+#define GDK_kana_RE 0x4da
-+#define GDK_kana_RO 0x4db
-+#define GDK_kana_WA 0x4dc
-+#define GDK_kana_N 0x4dd
-+#define GDK_voicedsound 0x4de
-+#define GDK_semivoicedsound 0x4df
-+#define GDK_kana_switch 0xff7e
-+#define GDK_Farsi_0 0x10006f0
-+#define GDK_Farsi_1 0x10006f1
-+#define GDK_Farsi_2 0x10006f2
-+#define GDK_Farsi_3 0x10006f3
-+#define GDK_Farsi_4 0x10006f4
-+#define GDK_Farsi_5 0x10006f5
-+#define GDK_Farsi_6 0x10006f6
-+#define GDK_Farsi_7 0x10006f7
-+#define GDK_Farsi_8 0x10006f8
-+#define GDK_Farsi_9 0x10006f9
-+#define GDK_Arabic_percent 0x100066a
-+#define GDK_Arabic_superscript_alef 0x1000670
-+#define GDK_Arabic_tteh 0x1000679
-+#define GDK_Arabic_peh 0x100067e
-+#define GDK_Arabic_tcheh 0x1000686
-+#define GDK_Arabic_ddal 0x1000688
-+#define GDK_Arabic_rreh 0x1000691
-+#define GDK_Arabic_comma 0x5ac
-+#define GDK_Arabic_fullstop 0x10006d4
-+#define GDK_Arabic_0 0x1000660
-+#define GDK_Arabic_1 0x1000661
-+#define GDK_Arabic_2 0x1000662
-+#define GDK_Arabic_3 0x1000663
-+#define GDK_Arabic_4 0x1000664
-+#define GDK_Arabic_5 0x1000665
-+#define GDK_Arabic_6 0x1000666
-+#define GDK_Arabic_7 0x1000667
-+#define GDK_Arabic_8 0x1000668
-+#define GDK_Arabic_9 0x1000669
-+#define GDK_Arabic_semicolon 0x5bb
-+#define GDK_Arabic_question_mark 0x5bf
-+#define GDK_Arabic_hamza 0x5c1
-+#define GDK_Arabic_maddaonalef 0x5c2
-+#define GDK_Arabic_hamzaonalef 0x5c3
-+#define GDK_Arabic_hamzaonwaw 0x5c4
-+#define GDK_Arabic_hamzaunderalef 0x5c5
-+#define GDK_Arabic_hamzaonyeh 0x5c6
-+#define GDK_Arabic_alef 0x5c7
-+#define GDK_Arabic_beh 0x5c8
-+#define GDK_Arabic_tehmarbuta 0x5c9
-+#define GDK_Arabic_teh 0x5ca
-+#define GDK_Arabic_theh 0x5cb
-+#define GDK_Arabic_jeem 0x5cc
-+#define GDK_Arabic_hah 0x5cd
-+#define GDK_Arabic_khah 0x5ce
-+#define GDK_Arabic_dal 0x5cf
-+#define GDK_Arabic_thal 0x5d0
-+#define GDK_Arabic_ra 0x5d1
-+#define GDK_Arabic_zain 0x5d2
-+#define GDK_Arabic_seen 0x5d3
-+#define GDK_Arabic_sheen 0x5d4
-+#define GDK_Arabic_sad 0x5d5
-+#define GDK_Arabic_dad 0x5d6
-+#define GDK_Arabic_tah 0x5d7
-+#define GDK_Arabic_zah 0x5d8
-+#define GDK_Arabic_ain 0x5d9
-+#define GDK_Arabic_ghain 0x5da
-+#define GDK_Arabic_tatweel 0x5e0
-+#define GDK_Arabic_feh 0x5e1
-+#define GDK_Arabic_qaf 0x5e2
-+#define GDK_Arabic_kaf 0x5e3
-+#define GDK_Arabic_lam 0x5e4
-+#define GDK_Arabic_meem 0x5e5
-+#define GDK_Arabic_noon 0x5e6
-+#define GDK_Arabic_ha 0x5e7
-+#define GDK_Arabic_heh 0x5e7
-+#define GDK_Arabic_waw 0x5e8
-+#define GDK_Arabic_alefmaksura 0x5e9
-+#define GDK_Arabic_yeh 0x5ea
-+#define GDK_Arabic_fathatan 0x5eb
-+#define GDK_Arabic_dammatan 0x5ec
-+#define GDK_Arabic_kasratan 0x5ed
-+#define GDK_Arabic_fatha 0x5ee
-+#define GDK_Arabic_damma 0x5ef
-+#define GDK_Arabic_kasra 0x5f0
-+#define GDK_Arabic_shadda 0x5f1
-+#define GDK_Arabic_sukun 0x5f2
-+#define GDK_Arabic_madda_above 0x1000653
-+#define GDK_Arabic_hamza_above 0x1000654
-+#define GDK_Arabic_hamza_below 0x1000655
-+#define GDK_Arabic_jeh 0x1000698
-+#define GDK_Arabic_veh 0x10006a4
-+#define GDK_Arabic_keheh 0x10006a9
-+#define GDK_Arabic_gaf 0x10006af
-+#define GDK_Arabic_noon_ghunna 0x10006ba
-+#define GDK_Arabic_heh_doachashmee 0x10006be
-+#define GDK_Farsi_yeh 0x10006cc
-+#define GDK_Arabic_farsi_yeh 0x10006cc
-+#define GDK_Arabic_yeh_baree 0x10006d2
-+#define GDK_Arabic_heh_goal 0x10006c1
-+#define GDK_Arabic_switch 0xff7e
-+#define GDK_Cyrillic_GHE_bar 0x1000492
-+#define GDK_Cyrillic_ghe_bar 0x1000493
-+#define GDK_Cyrillic_ZHE_descender 0x1000496
-+#define GDK_Cyrillic_zhe_descender 0x1000497
-+#define GDK_Cyrillic_KA_descender 0x100049a
-+#define GDK_Cyrillic_ka_descender 0x100049b
-+#define GDK_Cyrillic_KA_vertstroke 0x100049c
-+#define GDK_Cyrillic_ka_vertstroke 0x100049d
-+#define GDK_Cyrillic_EN_descender 0x10004a2
-+#define GDK_Cyrillic_en_descender 0x10004a3
-+#define GDK_Cyrillic_U_straight 0x10004ae
-+#define GDK_Cyrillic_u_straight 0x10004af
-+#define GDK_Cyrillic_U_straight_bar 0x10004b0
-+#define GDK_Cyrillic_u_straight_bar 0x10004b1
-+#define GDK_Cyrillic_HA_descender 0x10004b2
-+#define GDK_Cyrillic_ha_descender 0x10004b3
-+#define GDK_Cyrillic_CHE_descender 0x10004b6
-+#define GDK_Cyrillic_che_descender 0x10004b7
-+#define GDK_Cyrillic_CHE_vertstroke 0x10004b8
-+#define GDK_Cyrillic_che_vertstroke 0x10004b9
-+#define GDK_Cyrillic_SHHA 0x10004ba
-+#define GDK_Cyrillic_shha 0x10004bb
-+#define GDK_Cyrillic_SCHWA 0x10004d8
-+#define GDK_Cyrillic_schwa 0x10004d9
-+#define GDK_Cyrillic_I_macron 0x10004e2
-+#define GDK_Cyrillic_i_macron 0x10004e3
-+#define GDK_Cyrillic_O_bar 0x10004e8
-+#define GDK_Cyrillic_o_bar 0x10004e9
-+#define GDK_Cyrillic_U_macron 0x10004ee
-+#define GDK_Cyrillic_u_macron 0x10004ef
-+#define GDK_Serbian_dje 0x6a1
-+#define GDK_Macedonia_gje 0x6a2
-+#define GDK_Cyrillic_io 0x6a3
-+#define GDK_Ukrainian_ie 0x6a4
-+#define GDK_Ukranian_je 0x6a4
-+#define GDK_Macedonia_dse 0x6a5
-+#define GDK_Ukrainian_i 0x6a6
-+#define GDK_Ukranian_i 0x6a6
-+#define GDK_Ukrainian_yi 0x6a7
-+#define GDK_Ukranian_yi 0x6a7
-+#define GDK_Cyrillic_je 0x6a8
-+#define GDK_Serbian_je 0x6a8
-+#define GDK_Cyrillic_lje 0x6a9
-+#define GDK_Serbian_lje 0x6a9
-+#define GDK_Cyrillic_nje 0x6aa
-+#define GDK_Serbian_nje 0x6aa
-+#define GDK_Serbian_tshe 0x6ab
-+#define GDK_Macedonia_kje 0x6ac
-+#define GDK_Ukrainian_ghe_with_upturn 0x6ad
-+#define GDK_Byelorussian_shortu 0x6ae
-+#define GDK_Cyrillic_dzhe 0x6af
-+#define GDK_Serbian_dze 0x6af
-+#define GDK_numerosign 0x6b0
-+#define GDK_Serbian_DJE 0x6b1
-+#define GDK_Macedonia_GJE 0x6b2
-+#define GDK_Cyrillic_IO 0x6b3
-+#define GDK_Ukrainian_IE 0x6b4
-+#define GDK_Ukranian_JE 0x6b4
-+#define GDK_Macedonia_DSE 0x6b5
-+#define GDK_Ukrainian_I 0x6b6
-+#define GDK_Ukranian_I 0x6b6
-+#define GDK_Ukrainian_YI 0x6b7
-+#define GDK_Ukranian_YI 0x6b7
-+#define GDK_Cyrillic_JE 0x6b8
-+#define GDK_Serbian_JE 0x6b8
-+#define GDK_Cyrillic_LJE 0x6b9
-+#define GDK_Serbian_LJE 0x6b9
-+#define GDK_Cyrillic_NJE 0x6ba
-+#define GDK_Serbian_NJE 0x6ba
-+#define GDK_Serbian_TSHE 0x6bb
-+#define GDK_Macedonia_KJE 0x6bc
-+#define GDK_Ukrainian_GHE_WITH_UPTURN 0x6bd
-+#define GDK_Byelorussian_SHORTU 0x6be
-+#define GDK_Cyrillic_DZHE 0x6bf
-+#define GDK_Serbian_DZE 0x6bf
-+#define GDK_Cyrillic_yu 0x6c0
-+#define GDK_Cyrillic_a 0x6c1
-+#define GDK_Cyrillic_be 0x6c2
-+#define GDK_Cyrillic_tse 0x6c3
-+#define GDK_Cyrillic_de 0x6c4
-+#define GDK_Cyrillic_ie 0x6c5
-+#define GDK_Cyrillic_ef 0x6c6
-+#define GDK_Cyrillic_ghe 0x6c7
-+#define GDK_Cyrillic_ha 0x6c8
-+#define GDK_Cyrillic_i 0x6c9
-+#define GDK_Cyrillic_shorti 0x6ca
-+#define GDK_Cyrillic_ka 0x6cb
-+#define GDK_Cyrillic_el 0x6cc
-+#define GDK_Cyrillic_em 0x6cd
-+#define GDK_Cyrillic_en 0x6ce
-+#define GDK_Cyrillic_o 0x6cf
-+#define GDK_Cyrillic_pe 0x6d0
-+#define GDK_Cyrillic_ya 0x6d1
-+#define GDK_Cyrillic_er 0x6d2
-+#define GDK_Cyrillic_es 0x6d3
-+#define GDK_Cyrillic_te 0x6d4
-+#define GDK_Cyrillic_u 0x6d5
-+#define GDK_Cyrillic_zhe 0x6d6
-+#define GDK_Cyrillic_ve 0x6d7
-+#define GDK_Cyrillic_softsign 0x6d8
-+#define GDK_Cyrillic_yeru 0x6d9
-+#define GDK_Cyrillic_ze 0x6da
-+#define GDK_Cyrillic_sha 0x6db
-+#define GDK_Cyrillic_e 0x6dc
-+#define GDK_Cyrillic_shcha 0x6dd
-+#define GDK_Cyrillic_che 0x6de
-+#define GDK_Cyrillic_hardsign 0x6df
-+#define GDK_Cyrillic_YU 0x6e0
-+#define GDK_Cyrillic_A 0x6e1
-+#define GDK_Cyrillic_BE 0x6e2
-+#define GDK_Cyrillic_TSE 0x6e3
-+#define GDK_Cyrillic_DE 0x6e4
-+#define GDK_Cyrillic_IE 0x6e5
-+#define GDK_Cyrillic_EF 0x6e6
-+#define GDK_Cyrillic_GHE 0x6e7
-+#define GDK_Cyrillic_HA 0x6e8
-+#define GDK_Cyrillic_I 0x6e9
-+#define GDK_Cyrillic_SHORTI 0x6ea
-+#define GDK_Cyrillic_KA 0x6eb
-+#define GDK_Cyrillic_EL 0x6ec
-+#define GDK_Cyrillic_EM 0x6ed
-+#define GDK_Cyrillic_EN 0x6ee
-+#define GDK_Cyrillic_O 0x6ef
-+#define GDK_Cyrillic_PE 0x6f0
-+#define GDK_Cyrillic_YA 0x6f1
-+#define GDK_Cyrillic_ER 0x6f2
-+#define GDK_Cyrillic_ES 0x6f3
-+#define GDK_Cyrillic_TE 0x6f4
-+#define GDK_Cyrillic_U 0x6f5
-+#define GDK_Cyrillic_ZHE 0x6f6
-+#define GDK_Cyrillic_VE 0x6f7
-+#define GDK_Cyrillic_SOFTSIGN 0x6f8
-+#define GDK_Cyrillic_YERU 0x6f9
-+#define GDK_Cyrillic_ZE 0x6fa
-+#define GDK_Cyrillic_SHA 0x6fb
-+#define GDK_Cyrillic_E 0x6fc
-+#define GDK_Cyrillic_SHCHA 0x6fd
-+#define GDK_Cyrillic_CHE 0x6fe
-+#define GDK_Cyrillic_HARDSIGN 0x6ff
-+#define GDK_Greek_ALPHAaccent 0x7a1
-+#define GDK_Greek_EPSILONaccent 0x7a2
-+#define GDK_Greek_ETAaccent 0x7a3
-+#define GDK_Greek_IOTAaccent 0x7a4
-+#define GDK_Greek_IOTAdieresis 0x7a5
-+#define GDK_Greek_IOTAdiaeresis 0x7a5
-+#define GDK_Greek_OMICRONaccent 0x7a7
-+#define GDK_Greek_UPSILONaccent 0x7a8
-+#define GDK_Greek_UPSILONdieresis 0x7a9
-+#define GDK_Greek_OMEGAaccent 0x7ab
-+#define GDK_Greek_accentdieresis 0x7ae
-+#define GDK_Greek_horizbar 0x7af
-+#define GDK_Greek_alphaaccent 0x7b1
-+#define GDK_Greek_epsilonaccent 0x7b2
-+#define GDK_Greek_etaaccent 0x7b3
-+#define GDK_Greek_iotaaccent 0x7b4
-+#define GDK_Greek_iotadieresis 0x7b5
-+#define GDK_Greek_iotaaccentdieresis 0x7b6
-+#define GDK_Greek_omicronaccent 0x7b7
-+#define GDK_Greek_upsilonaccent 0x7b8
-+#define GDK_Greek_upsilondieresis 0x7b9
-+#define GDK_Greek_upsilonaccentdieresis 0x7ba
-+#define GDK_Greek_omegaaccent 0x7bb
-+#define GDK_Greek_ALPHA 0x7c1
-+#define GDK_Greek_BETA 0x7c2
-+#define GDK_Greek_GAMMA 0x7c3
-+#define GDK_Greek_DELTA 0x7c4
-+#define GDK_Greek_EPSILON 0x7c5
-+#define GDK_Greek_ZETA 0x7c6
-+#define GDK_Greek_ETA 0x7c7
-+#define GDK_Greek_THETA 0x7c8
-+#define GDK_Greek_IOTA 0x7c9
-+#define GDK_Greek_KAPPA 0x7ca
-+#define GDK_Greek_LAMDA 0x7cb
-+#define GDK_Greek_LAMBDA 0x7cb
-+#define GDK_Greek_MU 0x7cc
-+#define GDK_Greek_NU 0x7cd
-+#define GDK_Greek_XI 0x7ce
-+#define GDK_Greek_OMICRON 0x7cf
-+#define GDK_Greek_PI 0x7d0
-+#define GDK_Greek_RHO 0x7d1
-+#define GDK_Greek_SIGMA 0x7d2
-+#define GDK_Greek_TAU 0x7d4
-+#define GDK_Greek_UPSILON 0x7d5
-+#define GDK_Greek_PHI 0x7d6
-+#define GDK_Greek_CHI 0x7d7
-+#define GDK_Greek_PSI 0x7d8
-+#define GDK_Greek_OMEGA 0x7d9
-+#define GDK_Greek_alpha 0x7e1
-+#define GDK_Greek_beta 0x7e2
-+#define GDK_Greek_gamma 0x7e3
-+#define GDK_Greek_delta 0x7e4
-+#define GDK_Greek_epsilon 0x7e5
-+#define GDK_Greek_zeta 0x7e6
-+#define GDK_Greek_eta 0x7e7
-+#define GDK_Greek_theta 0x7e8
-+#define GDK_Greek_iota 0x7e9
-+#define GDK_Greek_kappa 0x7ea
-+#define GDK_Greek_lamda 0x7eb
-+#define GDK_Greek_lambda 0x7eb
-+#define GDK_Greek_mu 0x7ec
-+#define GDK_Greek_nu 0x7ed
-+#define GDK_Greek_xi 0x7ee
-+#define GDK_Greek_omicron 0x7ef
-+#define GDK_Greek_pi 0x7f0
-+#define GDK_Greek_rho 0x7f1
-+#define GDK_Greek_sigma 0x7f2
-+#define GDK_Greek_finalsmallsigma 0x7f3
-+#define GDK_Greek_tau 0x7f4
-+#define GDK_Greek_upsilon 0x7f5
-+#define GDK_Greek_phi 0x7f6
-+#define GDK_Greek_chi 0x7f7
-+#define GDK_Greek_psi 0x7f8
-+#define GDK_Greek_omega 0x7f9
-+#define GDK_Greek_switch 0xff7e
-+#define GDK_leftradical 0x8a1
-+#define GDK_topleftradical 0x8a2
-+#define GDK_horizconnector 0x8a3
-+#define GDK_topintegral 0x8a4
-+#define GDK_botintegral 0x8a5
-+#define GDK_vertconnector 0x8a6
-+#define GDK_topleftsqbracket 0x8a7
-+#define GDK_botleftsqbracket 0x8a8
-+#define GDK_toprightsqbracket 0x8a9
-+#define GDK_botrightsqbracket 0x8aa
-+#define GDK_topleftparens 0x8ab
-+#define GDK_botleftparens 0x8ac
-+#define GDK_toprightparens 0x8ad
-+#define GDK_botrightparens 0x8ae
-+#define GDK_leftmiddlecurlybrace 0x8af
-+#define GDK_rightmiddlecurlybrace 0x8b0
-+#define GDK_topleftsummation 0x8b1
-+#define GDK_botleftsummation 0x8b2
-+#define GDK_topvertsummationconnector 0x8b3
-+#define GDK_botvertsummationconnector 0x8b4
-+#define GDK_toprightsummation 0x8b5
-+#define GDK_botrightsummation 0x8b6
-+#define GDK_rightmiddlesummation 0x8b7
-+#define GDK_lessthanequal 0x8bc
-+#define GDK_notequal 0x8bd
-+#define GDK_greaterthanequal 0x8be
-+#define GDK_integral 0x8bf
-+#define GDK_therefore 0x8c0
-+#define GDK_variation 0x8c1
-+#define GDK_infinity 0x8c2
-+#define GDK_nabla 0x8c5
-+#define GDK_approximate 0x8c8
-+#define GDK_similarequal 0x8c9
-+#define GDK_ifonlyif 0x8cd
-+#define GDK_implies 0x8ce
-+#define GDK_identical 0x8cf
-+#define GDK_radical 0x8d6
-+#define GDK_includedin 0x8da
-+#define GDK_includes 0x8db
-+#define GDK_intersection 0x8dc
-+#define GDK_union 0x8dd
-+#define GDK_logicaland 0x8de
-+#define GDK_logicalor 0x8df
-+#define GDK_partialderivative 0x8ef
-+#define GDK_function 0x8f6
-+#define GDK_leftarrow 0x8fb
-+#define GDK_uparrow 0x8fc
-+#define GDK_rightarrow 0x8fd
-+#define GDK_downarrow 0x8fe
-+#define GDK_blank 0x9df
-+#define GDK_soliddiamond 0x9e0
-+#define GDK_checkerboard 0x9e1
-+#define GDK_ht 0x9e2
-+#define GDK_ff 0x9e3
-+#define GDK_cr 0x9e4
-+#define GDK_lf 0x9e5
-+#define GDK_nl 0x9e8
-+#define GDK_vt 0x9e9
-+#define GDK_lowrightcorner 0x9ea
-+#define GDK_uprightcorner 0x9eb
-+#define GDK_upleftcorner 0x9ec
-+#define GDK_lowleftcorner 0x9ed
-+#define GDK_crossinglines 0x9ee
-+#define GDK_horizlinescan1 0x9ef
-+#define GDK_horizlinescan3 0x9f0
-+#define GDK_horizlinescan5 0x9f1
-+#define GDK_horizlinescan7 0x9f2
-+#define GDK_horizlinescan9 0x9f3
-+#define GDK_leftt 0x9f4
-+#define GDK_rightt 0x9f5
-+#define GDK_bott 0x9f6
-+#define GDK_topt 0x9f7
-+#define GDK_vertbar 0x9f8
-+#define GDK_emspace 0xaa1
-+#define GDK_enspace 0xaa2
-+#define GDK_em3space 0xaa3
-+#define GDK_em4space 0xaa4
-+#define GDK_digitspace 0xaa5
-+#define GDK_punctspace 0xaa6
-+#define GDK_thinspace 0xaa7
-+#define GDK_hairspace 0xaa8
-+#define GDK_emdash 0xaa9
-+#define GDK_endash 0xaaa
-+#define GDK_signifblank 0xaac
-+#define GDK_ellipsis 0xaae
-+#define GDK_doubbaselinedot 0xaaf
-+#define GDK_onethird 0xab0
-+#define GDK_twothirds 0xab1
-+#define GDK_onefifth 0xab2
-+#define GDK_twofifths 0xab3
-+#define GDK_threefifths 0xab4
-+#define GDK_fourfifths 0xab5
-+#define GDK_onesixth 0xab6
-+#define GDK_fivesixths 0xab7
-+#define GDK_careof 0xab8
-+#define GDK_figdash 0xabb
-+#define GDK_leftanglebracket 0xabc
-+#define GDK_decimalpoint 0xabd
-+#define GDK_rightanglebracket 0xabe
-+#define GDK_marker 0xabf
-+#define GDK_oneeighth 0xac3
-+#define GDK_threeeighths 0xac4
-+#define GDK_fiveeighths 0xac5
-+#define GDK_seveneighths 0xac6
-+#define GDK_trademark 0xac9
-+#define GDK_signaturemark 0xaca
-+#define GDK_trademarkincircle 0xacb
-+#define GDK_leftopentriangle 0xacc
-+#define GDK_rightopentriangle 0xacd
-+#define GDK_emopencircle 0xace
-+#define GDK_emopenrectangle 0xacf
-+#define GDK_leftsinglequotemark 0xad0
-+#define GDK_rightsinglequotemark 0xad1
-+#define GDK_leftdoublequotemark 0xad2
-+#define GDK_rightdoublequotemark 0xad3
-+#define GDK_prescription 0xad4
-+#define GDK_minutes 0xad6
-+#define GDK_seconds 0xad7
-+#define GDK_latincross 0xad9
-+#define GDK_hexagram 0xada
-+#define GDK_filledrectbullet 0xadb
-+#define GDK_filledlefttribullet 0xadc
-+#define GDK_filledrighttribullet 0xadd
-+#define GDK_emfilledcircle 0xade
-+#define GDK_emfilledrect 0xadf
-+#define GDK_enopencircbullet 0xae0
-+#define GDK_enopensquarebullet 0xae1
-+#define GDK_openrectbullet 0xae2
-+#define GDK_opentribulletup 0xae3
-+#define GDK_opentribulletdown 0xae4
-+#define GDK_openstar 0xae5
-+#define GDK_enfilledcircbullet 0xae6
-+#define GDK_enfilledsqbullet 0xae7
-+#define GDK_filledtribulletup 0xae8
-+#define GDK_filledtribulletdown 0xae9
-+#define GDK_leftpointer 0xaea
-+#define GDK_rightpointer 0xaeb
-+#define GDK_club 0xaec
-+#define GDK_diamond 0xaed
-+#define GDK_heart 0xaee
-+#define GDK_maltesecross 0xaf0
-+#define GDK_dagger 0xaf1
-+#define GDK_doubledagger 0xaf2
-+#define GDK_checkmark 0xaf3
-+#define GDK_ballotcross 0xaf4
-+#define GDK_musicalsharp 0xaf5
-+#define GDK_musicalflat 0xaf6
-+#define GDK_malesymbol 0xaf7
-+#define GDK_femalesymbol 0xaf8
-+#define GDK_telephone 0xaf9
-+#define GDK_telephonerecorder 0xafa
-+#define GDK_phonographcopyright 0xafb
-+#define GDK_caret 0xafc
-+#define GDK_singlelowquotemark 0xafd
-+#define GDK_doublelowquotemark 0xafe
-+#define GDK_cursor 0xaff
-+#define GDK_leftcaret 0xba3
-+#define GDK_rightcaret 0xba6
-+#define GDK_downcaret 0xba8
-+#define GDK_upcaret 0xba9
-+#define GDK_overbar 0xbc0
-+#define GDK_downtack 0xbc2
-+#define GDK_upshoe 0xbc3
-+#define GDK_downstile 0xbc4
-+#define GDK_underbar 0xbc6
-+#define GDK_jot 0xbca
-+#define GDK_quad 0xbcc
-+#define GDK_uptack 0xbce
-+#define GDK_circle 0xbcf
-+#define GDK_upstile 0xbd3
-+#define GDK_downshoe 0xbd6
-+#define GDK_rightshoe 0xbd8
-+#define GDK_leftshoe 0xbda
-+#define GDK_lefttack 0xbdc
-+#define GDK_righttack 0xbfc
-+#define GDK_hebrew_doublelowline 0xcdf
-+#define GDK_hebrew_aleph 0xce0
-+#define GDK_hebrew_bet 0xce1
-+#define GDK_hebrew_beth 0xce1
-+#define GDK_hebrew_gimel 0xce2
-+#define GDK_hebrew_gimmel 0xce2
-+#define GDK_hebrew_dalet 0xce3
-+#define GDK_hebrew_daleth 0xce3
-+#define GDK_hebrew_he 0xce4
-+#define GDK_hebrew_waw 0xce5
-+#define GDK_hebrew_zain 0xce6
-+#define GDK_hebrew_zayin 0xce6
-+#define GDK_hebrew_chet 0xce7
-+#define GDK_hebrew_het 0xce7
-+#define GDK_hebrew_tet 0xce8
-+#define GDK_hebrew_teth 0xce8
-+#define GDK_hebrew_yod 0xce9
-+#define GDK_hebrew_finalkaph 0xcea
-+#define GDK_hebrew_kaph 0xceb
-+#define GDK_hebrew_lamed 0xcec
-+#define GDK_hebrew_finalmem 0xced
-+#define GDK_hebrew_mem 0xcee
-+#define GDK_hebrew_finalnun 0xcef
-+#define GDK_hebrew_nun 0xcf0
-+#define GDK_hebrew_samech 0xcf1
-+#define GDK_hebrew_samekh 0xcf1
-+#define GDK_hebrew_ayin 0xcf2
-+#define GDK_hebrew_finalpe 0xcf3
-+#define GDK_hebrew_pe 0xcf4
-+#define GDK_hebrew_finalzade 0xcf5
-+#define GDK_hebrew_finalzadi 0xcf5
-+#define GDK_hebrew_zade 0xcf6
-+#define GDK_hebrew_zadi 0xcf6
-+#define GDK_hebrew_qoph 0xcf7
-+#define GDK_hebrew_kuf 0xcf7
-+#define GDK_hebrew_resh 0xcf8
-+#define GDK_hebrew_shin 0xcf9
-+#define GDK_hebrew_taw 0xcfa
-+#define GDK_hebrew_taf 0xcfa
-+#define GDK_Hebrew_switch 0xff7e
-+#define GDK_Thai_kokai 0xda1
-+#define GDK_Thai_khokhai 0xda2
-+#define GDK_Thai_khokhuat 0xda3
-+#define GDK_Thai_khokhwai 0xda4
-+#define GDK_Thai_khokhon 0xda5
-+#define GDK_Thai_khorakhang 0xda6
-+#define GDK_Thai_ngongu 0xda7
-+#define GDK_Thai_chochan 0xda8
-+#define GDK_Thai_choching 0xda9
-+#define GDK_Thai_chochang 0xdaa
-+#define GDK_Thai_soso 0xdab
-+#define GDK_Thai_chochoe 0xdac
-+#define GDK_Thai_yoying 0xdad
-+#define GDK_Thai_dochada 0xdae
-+#define GDK_Thai_topatak 0xdaf
-+#define GDK_Thai_thothan 0xdb0
-+#define GDK_Thai_thonangmontho 0xdb1
-+#define GDK_Thai_thophuthao 0xdb2
-+#define GDK_Thai_nonen 0xdb3
-+#define GDK_Thai_dodek 0xdb4
-+#define GDK_Thai_totao 0xdb5
-+#define GDK_Thai_thothung 0xdb6
-+#define GDK_Thai_thothahan 0xdb7
-+#define GDK_Thai_thothong 0xdb8
-+#define GDK_Thai_nonu 0xdb9
-+#define GDK_Thai_bobaimai 0xdba
-+#define GDK_Thai_popla 0xdbb
-+#define GDK_Thai_phophung 0xdbc
-+#define GDK_Thai_fofa 0xdbd
-+#define GDK_Thai_phophan 0xdbe
-+#define GDK_Thai_fofan 0xdbf
-+#define GDK_Thai_phosamphao 0xdc0
-+#define GDK_Thai_moma 0xdc1
-+#define GDK_Thai_yoyak 0xdc2
-+#define GDK_Thai_rorua 0xdc3
-+#define GDK_Thai_ru 0xdc4
-+#define GDK_Thai_loling 0xdc5
-+#define GDK_Thai_lu 0xdc6
-+#define GDK_Thai_wowaen 0xdc7
-+#define GDK_Thai_sosala 0xdc8
-+#define GDK_Thai_sorusi 0xdc9
-+#define GDK_Thai_sosua 0xdca
-+#define GDK_Thai_hohip 0xdcb
-+#define GDK_Thai_lochula 0xdcc
-+#define GDK_Thai_oang 0xdcd
-+#define GDK_Thai_honokhuk 0xdce
-+#define GDK_Thai_paiyannoi 0xdcf
-+#define GDK_Thai_saraa 0xdd0
-+#define GDK_Thai_maihanakat 0xdd1
-+#define GDK_Thai_saraaa 0xdd2
-+#define GDK_Thai_saraam 0xdd3
-+#define GDK_Thai_sarai 0xdd4
-+#define GDK_Thai_saraii 0xdd5
-+#define GDK_Thai_saraue 0xdd6
-+#define GDK_Thai_sarauee 0xdd7
-+#define GDK_Thai_sarau 0xdd8
-+#define GDK_Thai_sarauu 0xdd9
-+#define GDK_Thai_phinthu 0xdda
-+#define GDK_Thai_maihanakat_maitho 0xdde
-+#define GDK_Thai_baht 0xddf
-+#define GDK_Thai_sarae 0xde0
-+#define GDK_Thai_saraae 0xde1
-+#define GDK_Thai_sarao 0xde2
-+#define GDK_Thai_saraaimaimuan 0xde3
-+#define GDK_Thai_saraaimaimalai 0xde4
-+#define GDK_Thai_lakkhangyao 0xde5
-+#define GDK_Thai_maiyamok 0xde6
-+#define GDK_Thai_maitaikhu 0xde7
-+#define GDK_Thai_maiek 0xde8
-+#define GDK_Thai_maitho 0xde9
-+#define GDK_Thai_maitri 0xdea
-+#define GDK_Thai_maichattawa 0xdeb
-+#define GDK_Thai_thanthakhat 0xdec
-+#define GDK_Thai_nikhahit 0xded
-+#define GDK_Thai_leksun 0xdf0
-+#define GDK_Thai_leknung 0xdf1
-+#define GDK_Thai_leksong 0xdf2
-+#define GDK_Thai_leksam 0xdf3
-+#define GDK_Thai_leksi 0xdf4
-+#define GDK_Thai_lekha 0xdf5
-+#define GDK_Thai_lekhok 0xdf6
-+#define GDK_Thai_lekchet 0xdf7
-+#define GDK_Thai_lekpaet 0xdf8
-+#define GDK_Thai_lekkao 0xdf9
-+#define GDK_Hangul 0xff31
-+#define GDK_Hangul_Start 0xff32
-+#define GDK_Hangul_End 0xff33
-+#define GDK_Hangul_Hanja 0xff34
-+#define GDK_Hangul_Jamo 0xff35
-+#define GDK_Hangul_Romaja 0xff36
-+#define GDK_Hangul_Codeinput 0xff37
-+#define GDK_Hangul_Jeonja 0xff38
-+#define GDK_Hangul_Banja 0xff39
-+#define GDK_Hangul_PreHanja 0xff3a
-+#define GDK_Hangul_PostHanja 0xff3b
-+#define GDK_Hangul_SingleCandidate 0xff3c
-+#define GDK_Hangul_MultipleCandidate 0xff3d
-+#define GDK_Hangul_PreviousCandidate 0xff3e
-+#define GDK_Hangul_Special 0xff3f
-+#define GDK_Hangul_switch 0xff7e
-+#define GDK_Hangul_Kiyeog 0xea1
-+#define GDK_Hangul_SsangKiyeog 0xea2
-+#define GDK_Hangul_KiyeogSios 0xea3
-+#define GDK_Hangul_Nieun 0xea4
-+#define GDK_Hangul_NieunJieuj 0xea5
-+#define GDK_Hangul_NieunHieuh 0xea6
-+#define GDK_Hangul_Dikeud 0xea7
-+#define GDK_Hangul_SsangDikeud 0xea8
-+#define GDK_Hangul_Rieul 0xea9
-+#define GDK_Hangul_RieulKiyeog 0xeaa
-+#define GDK_Hangul_RieulMieum 0xeab
-+#define GDK_Hangul_RieulPieub 0xeac
-+#define GDK_Hangul_RieulSios 0xead
-+#define GDK_Hangul_RieulTieut 0xeae
-+#define GDK_Hangul_RieulPhieuf 0xeaf
-+#define GDK_Hangul_RieulHieuh 0xeb0
-+#define GDK_Hangul_Mieum 0xeb1
-+#define GDK_Hangul_Pieub 0xeb2
-+#define GDK_Hangul_SsangPieub 0xeb3
-+#define GDK_Hangul_PieubSios 0xeb4
-+#define GDK_Hangul_Sios 0xeb5
-+#define GDK_Hangul_SsangSios 0xeb6
-+#define GDK_Hangul_Ieung 0xeb7
-+#define GDK_Hangul_Jieuj 0xeb8
-+#define GDK_Hangul_SsangJieuj 0xeb9
-+#define GDK_Hangul_Cieuc 0xeba
-+#define GDK_Hangul_Khieuq 0xebb
-+#define GDK_Hangul_Tieut 0xebc
-+#define GDK_Hangul_Phieuf 0xebd
-+#define GDK_Hangul_Hieuh 0xebe
-+#define GDK_Hangul_A 0xebf
-+#define GDK_Hangul_AE 0xec0
-+#define GDK_Hangul_YA 0xec1
-+#define GDK_Hangul_YAE 0xec2
-+#define GDK_Hangul_EO 0xec3
-+#define GDK_Hangul_E 0xec4
-+#define GDK_Hangul_YEO 0xec5
-+#define GDK_Hangul_YE 0xec6
-+#define GDK_Hangul_O 0xec7
-+#define GDK_Hangul_WA 0xec8
-+#define GDK_Hangul_WAE 0xec9
-+#define GDK_Hangul_OE 0xeca
-+#define GDK_Hangul_YO 0xecb
-+#define GDK_Hangul_U 0xecc
-+#define GDK_Hangul_WEO 0xecd
-+#define GDK_Hangul_WE 0xece
-+#define GDK_Hangul_WI 0xecf
-+#define GDK_Hangul_YU 0xed0
-+#define GDK_Hangul_EU 0xed1
-+#define GDK_Hangul_YI 0xed2
-+#define GDK_Hangul_I 0xed3
-+#define GDK_Hangul_J_Kiyeog 0xed4
-+#define GDK_Hangul_J_SsangKiyeog 0xed5
-+#define GDK_Hangul_J_KiyeogSios 0xed6
-+#define GDK_Hangul_J_Nieun 0xed7
-+#define GDK_Hangul_J_NieunJieuj 0xed8
-+#define GDK_Hangul_J_NieunHieuh 0xed9
-+#define GDK_Hangul_J_Dikeud 0xeda
-+#define GDK_Hangul_J_Rieul 0xedb
-+#define GDK_Hangul_J_RieulKiyeog 0xedc
-+#define GDK_Hangul_J_RieulMieum 0xedd
-+#define GDK_Hangul_J_RieulPieub 0xede
-+#define GDK_Hangul_J_RieulSios 0xedf
-+#define GDK_Hangul_J_RieulTieut 0xee0
-+#define GDK_Hangul_J_RieulPhieuf 0xee1
-+#define GDK_Hangul_J_RieulHieuh 0xee2
-+#define GDK_Hangul_J_Mieum 0xee3
-+#define GDK_Hangul_J_Pieub 0xee4
-+#define GDK_Hangul_J_PieubSios 0xee5
-+#define GDK_Hangul_J_Sios 0xee6
-+#define GDK_Hangul_J_SsangSios 0xee7
-+#define GDK_Hangul_J_Ieung 0xee8
-+#define GDK_Hangul_J_Jieuj 0xee9
-+#define GDK_Hangul_J_Cieuc 0xeea
-+#define GDK_Hangul_J_Khieuq 0xeeb
-+#define GDK_Hangul_J_Tieut 0xeec
-+#define GDK_Hangul_J_Phieuf 0xeed
-+#define GDK_Hangul_J_Hieuh 0xeee
-+#define GDK_Hangul_RieulYeorinHieuh 0xeef
-+#define GDK_Hangul_SunkyeongeumMieum 0xef0
-+#define GDK_Hangul_SunkyeongeumPieub 0xef1
-+#define GDK_Hangul_PanSios 0xef2
-+#define GDK_Hangul_KkogjiDalrinIeung 0xef3
-+#define GDK_Hangul_SunkyeongeumPhieuf 0xef4
-+#define GDK_Hangul_YeorinHieuh 0xef5
-+#define GDK_Hangul_AraeA 0xef6
-+#define GDK_Hangul_AraeAE 0xef7
-+#define GDK_Hangul_J_PanSios 0xef8
-+#define GDK_Hangul_J_KkogjiDalrinIeung 0xef9
-+#define GDK_Hangul_J_YeorinHieuh 0xefa
-+#define GDK_Korean_Won 0xeff
-+#define GDK_Armenian_ligature_ew 0x1000587
-+#define GDK_Armenian_full_stop 0x1000589
-+#define GDK_Armenian_verjaket 0x1000589
-+#define GDK_Armenian_separation_mark 0x100055d
-+#define GDK_Armenian_but 0x100055d
-+#define GDK_Armenian_hyphen 0x100058a
-+#define GDK_Armenian_yentamna 0x100058a
-+#define GDK_Armenian_exclam 0x100055c
-+#define GDK_Armenian_amanak 0x100055c
-+#define GDK_Armenian_accent 0x100055b
-+#define GDK_Armenian_shesht 0x100055b
-+#define GDK_Armenian_question 0x100055e
-+#define GDK_Armenian_paruyk 0x100055e
-+#define GDK_Armenian_AYB 0x1000531
-+#define GDK_Armenian_ayb 0x1000561
-+#define GDK_Armenian_BEN 0x1000532
-+#define GDK_Armenian_ben 0x1000562
-+#define GDK_Armenian_GIM 0x1000533
-+#define GDK_Armenian_gim 0x1000563
-+#define GDK_Armenian_DA 0x1000534
-+#define GDK_Armenian_da 0x1000564
-+#define GDK_Armenian_YECH 0x1000535
-+#define GDK_Armenian_yech 0x1000565
-+#define GDK_Armenian_ZA 0x1000536
-+#define GDK_Armenian_za 0x1000566
-+#define GDK_Armenian_E 0x1000537
-+#define GDK_Armenian_e 0x1000567
-+#define GDK_Armenian_AT 0x1000538
-+#define GDK_Armenian_at 0x1000568
-+#define GDK_Armenian_TO 0x1000539
-+#define GDK_Armenian_to 0x1000569
-+#define GDK_Armenian_ZHE 0x100053a
-+#define GDK_Armenian_zhe 0x100056a
-+#define GDK_Armenian_INI 0x100053b
-+#define GDK_Armenian_ini 0x100056b
-+#define GDK_Armenian_LYUN 0x100053c
-+#define GDK_Armenian_lyun 0x100056c
-+#define GDK_Armenian_KHE 0x100053d
-+#define GDK_Armenian_khe 0x100056d
-+#define GDK_Armenian_TSA 0x100053e
-+#define GDK_Armenian_tsa 0x100056e
-+#define GDK_Armenian_KEN 0x100053f
-+#define GDK_Armenian_ken 0x100056f
-+#define GDK_Armenian_HO 0x1000540
-+#define GDK_Armenian_ho 0x1000570
-+#define GDK_Armenian_DZA 0x1000541
-+#define GDK_Armenian_dza 0x1000571
-+#define GDK_Armenian_GHAT 0x1000542
-+#define GDK_Armenian_ghat 0x1000572
-+#define GDK_Armenian_TCHE 0x1000543
-+#define GDK_Armenian_tche 0x1000573
-+#define GDK_Armenian_MEN 0x1000544
-+#define GDK_Armenian_men 0x1000574
-+#define GDK_Armenian_HI 0x1000545
-+#define GDK_Armenian_hi 0x1000575
-+#define GDK_Armenian_NU 0x1000546
-+#define GDK_Armenian_nu 0x1000576
-+#define GDK_Armenian_SHA 0x1000547
-+#define GDK_Armenian_sha 0x1000577
-+#define GDK_Armenian_VO 0x1000548
-+#define GDK_Armenian_vo 0x1000578
-+#define GDK_Armenian_CHA 0x1000549
-+#define GDK_Armenian_cha 0x1000579
-+#define GDK_Armenian_PE 0x100054a
-+#define GDK_Armenian_pe 0x100057a
-+#define GDK_Armenian_JE 0x100054b
-+#define GDK_Armenian_je 0x100057b
-+#define GDK_Armenian_RA 0x100054c
-+#define GDK_Armenian_ra 0x100057c
-+#define GDK_Armenian_SE 0x100054d
-+#define GDK_Armenian_se 0x100057d
-+#define GDK_Armenian_VEV 0x100054e
-+#define GDK_Armenian_vev 0x100057e
-+#define GDK_Armenian_TYUN 0x100054f
-+#define GDK_Armenian_tyun 0x100057f
-+#define GDK_Armenian_RE 0x1000550
-+#define GDK_Armenian_re 0x1000580
-+#define GDK_Armenian_TSO 0x1000551
-+#define GDK_Armenian_tso 0x1000581
-+#define GDK_Armenian_VYUN 0x1000552
-+#define GDK_Armenian_vyun 0x1000582
-+#define GDK_Armenian_PYUR 0x1000553
-+#define GDK_Armenian_pyur 0x1000583
-+#define GDK_Armenian_KE 0x1000554
-+#define GDK_Armenian_ke 0x1000584
-+#define GDK_Armenian_O 0x1000555
-+#define GDK_Armenian_o 0x1000585
-+#define GDK_Armenian_FE 0x1000556
-+#define GDK_Armenian_fe 0x1000586
-+#define GDK_Armenian_apostrophe 0x100055a
-+#define GDK_Georgian_an 0x10010d0
-+#define GDK_Georgian_ban 0x10010d1
-+#define GDK_Georgian_gan 0x10010d2
-+#define GDK_Georgian_don 0x10010d3
-+#define GDK_Georgian_en 0x10010d4
-+#define GDK_Georgian_vin 0x10010d5
-+#define GDK_Georgian_zen 0x10010d6
-+#define GDK_Georgian_tan 0x10010d7
-+#define GDK_Georgian_in 0x10010d8
-+#define GDK_Georgian_kan 0x10010d9
-+#define GDK_Georgian_las 0x10010da
-+#define GDK_Georgian_man 0x10010db
-+#define GDK_Georgian_nar 0x10010dc
-+#define GDK_Georgian_on 0x10010dd
-+#define GDK_Georgian_par 0x10010de
-+#define GDK_Georgian_zhar 0x10010df
-+#define GDK_Georgian_rae 0x10010e0
-+#define GDK_Georgian_san 0x10010e1
-+#define GDK_Georgian_tar 0x10010e2
-+#define GDK_Georgian_un 0x10010e3
-+#define GDK_Georgian_phar 0x10010e4
-+#define GDK_Georgian_khar 0x10010e5
-+#define GDK_Georgian_ghan 0x10010e6
-+#define GDK_Georgian_qar 0x10010e7
-+#define GDK_Georgian_shin 0x10010e8
-+#define GDK_Georgian_chin 0x10010e9
-+#define GDK_Georgian_can 0x10010ea
-+#define GDK_Georgian_jil 0x10010eb
-+#define GDK_Georgian_cil 0x10010ec
-+#define GDK_Georgian_char 0x10010ed
-+#define GDK_Georgian_xan 0x10010ee
-+#define GDK_Georgian_jhan 0x10010ef
-+#define GDK_Georgian_hae 0x10010f0
-+#define GDK_Georgian_he 0x10010f1
-+#define GDK_Georgian_hie 0x10010f2
-+#define GDK_Georgian_we 0x10010f3
-+#define GDK_Georgian_har 0x10010f4
-+#define GDK_Georgian_hoe 0x10010f5
-+#define GDK_Georgian_fi 0x10010f6
-+#define GDK_Xabovedot 0x1001e8a
-+#define GDK_Ibreve 0x100012c
-+#define GDK_Zstroke 0x10001b5
-+#define GDK_Gcaron 0x10001e6
-+#define GDK_Ocaron 0x10001d1
-+#define GDK_Obarred 0x100019f
-+#define GDK_xabovedot 0x1001e8b
-+#define GDK_ibreve 0x100012d
-+#define GDK_zstroke 0x10001b6
-+#define GDK_gcaron 0x10001e7
-+#define GDK_ocaron 0x10001d2
-+#define GDK_obarred 0x1000275
-+#define GDK_SCHWA 0x100018f
-+#define GDK_schwa 0x1000259
-+#define GDK_Lbelowdot 0x1001e36
-+#define GDK_lbelowdot 0x1001e37
-+#define GDK_Abelowdot 0x1001ea0
-+#define GDK_abelowdot 0x1001ea1
-+#define GDK_Ahook 0x1001ea2
-+#define GDK_ahook 0x1001ea3
-+#define GDK_Acircumflexacute 0x1001ea4
-+#define GDK_acircumflexacute 0x1001ea5
-+#define GDK_Acircumflexgrave 0x1001ea6
-+#define GDK_acircumflexgrave 0x1001ea7
-+#define GDK_Acircumflexhook 0x1001ea8
-+#define GDK_acircumflexhook 0x1001ea9
-+#define GDK_Acircumflextilde 0x1001eaa
-+#define GDK_acircumflextilde 0x1001eab
-+#define GDK_Acircumflexbelowdot 0x1001eac
-+#define GDK_acircumflexbelowdot 0x1001ead
-+#define GDK_Abreveacute 0x1001eae
-+#define GDK_abreveacute 0x1001eaf
-+#define GDK_Abrevegrave 0x1001eb0
-+#define GDK_abrevegrave 0x1001eb1
-+#define GDK_Abrevehook 0x1001eb2
-+#define GDK_abrevehook 0x1001eb3
-+#define GDK_Abrevetilde 0x1001eb4
-+#define GDK_abrevetilde 0x1001eb5
-+#define GDK_Abrevebelowdot 0x1001eb6
-+#define GDK_abrevebelowdot 0x1001eb7
-+#define GDK_Ebelowdot 0x1001eb8
-+#define GDK_ebelowdot 0x1001eb9
-+#define GDK_Ehook 0x1001eba
-+#define GDK_ehook 0x1001ebb
-+#define GDK_Etilde 0x1001ebc
-+#define GDK_etilde 0x1001ebd
-+#define GDK_Ecircumflexacute 0x1001ebe
-+#define GDK_ecircumflexacute 0x1001ebf
-+#define GDK_Ecircumflexgrave 0x1001ec0
-+#define GDK_ecircumflexgrave 0x1001ec1
-+#define GDK_Ecircumflexhook 0x1001ec2
-+#define GDK_ecircumflexhook 0x1001ec3
-+#define GDK_Ecircumflextilde 0x1001ec4
-+#define GDK_ecircumflextilde 0x1001ec5
-+#define GDK_Ecircumflexbelowdot 0x1001ec6
-+#define GDK_ecircumflexbelowdot 0x1001ec7
-+#define GDK_Ihook 0x1001ec8
-+#define GDK_ihook 0x1001ec9
-+#define GDK_Ibelowdot 0x1001eca
-+#define GDK_ibelowdot 0x1001ecb
-+#define GDK_Obelowdot 0x1001ecc
-+#define GDK_obelowdot 0x1001ecd
-+#define GDK_Ohook 0x1001ece
-+#define GDK_ohook 0x1001ecf
-+#define GDK_Ocircumflexacute 0x1001ed0
-+#define GDK_ocircumflexacute 0x1001ed1
-+#define GDK_Ocircumflexgrave 0x1001ed2
-+#define GDK_ocircumflexgrave 0x1001ed3
-+#define GDK_Ocircumflexhook 0x1001ed4
-+#define GDK_ocircumflexhook 0x1001ed5
-+#define GDK_Ocircumflextilde 0x1001ed6
-+#define GDK_ocircumflextilde 0x1001ed7
-+#define GDK_Ocircumflexbelowdot 0x1001ed8
-+#define GDK_ocircumflexbelowdot 0x1001ed9
-+#define GDK_Ohornacute 0x1001eda
-+#define GDK_ohornacute 0x1001edb
-+#define GDK_Ohorngrave 0x1001edc
-+#define GDK_ohorngrave 0x1001edd
-+#define GDK_Ohornhook 0x1001ede
-+#define GDK_ohornhook 0x1001edf
-+#define GDK_Ohorntilde 0x1001ee0
-+#define GDK_ohorntilde 0x1001ee1
-+#define GDK_Ohornbelowdot 0x1001ee2
-+#define GDK_ohornbelowdot 0x1001ee3
-+#define GDK_Ubelowdot 0x1001ee4
-+#define GDK_ubelowdot 0x1001ee5
-+#define GDK_Uhook 0x1001ee6
-+#define GDK_uhook 0x1001ee7
-+#define GDK_Uhornacute 0x1001ee8
-+#define GDK_uhornacute 0x1001ee9
-+#define GDK_Uhorngrave 0x1001eea
-+#define GDK_uhorngrave 0x1001eeb
-+#define GDK_Uhornhook 0x1001eec
-+#define GDK_uhornhook 0x1001eed
-+#define GDK_Uhorntilde 0x1001eee
-+#define GDK_uhorntilde 0x1001eef
-+#define GDK_Uhornbelowdot 0x1001ef0
-+#define GDK_uhornbelowdot 0x1001ef1
-+#define GDK_Ybelowdot 0x1001ef4
-+#define GDK_ybelowdot 0x1001ef5
-+#define GDK_Yhook 0x1001ef6
-+#define GDK_yhook 0x1001ef7
-+#define GDK_Ytilde 0x1001ef8
-+#define GDK_ytilde 0x1001ef9
-+#define GDK_Ohorn 0x10001a0
-+#define GDK_ohorn 0x10001a1
-+#define GDK_Uhorn 0x10001af
-+#define GDK_uhorn 0x10001b0
-+#define GDK_EcuSign 0x10020a0
-+#define GDK_ColonSign 0x10020a1
-+#define GDK_CruzeiroSign 0x10020a2
-+#define GDK_FFrancSign 0x10020a3
-+#define GDK_LiraSign 0x10020a4
-+#define GDK_MillSign 0x10020a5
-+#define GDK_NairaSign 0x10020a6
-+#define GDK_PesetaSign 0x10020a7
-+#define GDK_RupeeSign 0x10020a8
-+#define GDK_WonSign 0x10020a9
-+#define GDK_NewSheqelSign 0x10020aa
-+#define GDK_DongSign 0x10020ab
-+#define GDK_EuroSign 0x20ac
-+#define GDK_zerosuperior 0x1002070
-+#define GDK_foursuperior 0x1002074
-+#define GDK_fivesuperior 0x1002075
-+#define GDK_sixsuperior 0x1002076
-+#define GDK_sevensuperior 0x1002077
-+#define GDK_eightsuperior 0x1002078
-+#define GDK_ninesuperior 0x1002079
-+#define GDK_zerosubscript 0x1002080
-+#define GDK_onesubscript 0x1002081
-+#define GDK_twosubscript 0x1002082
-+#define GDK_threesubscript 0x1002083
-+#define GDK_foursubscript 0x1002084
-+#define GDK_fivesubscript 0x1002085
-+#define GDK_sixsubscript 0x1002086
-+#define GDK_sevensubscript 0x1002087
-+#define GDK_eightsubscript 0x1002088
-+#define GDK_ninesubscript 0x1002089
-+#define GDK_partdifferential 0x1002202
-+#define GDK_emptyset 0x1002205
-+#define GDK_elementof 0x1002208
-+#define GDK_notelementof 0x1002209
-+#define GDK_containsas 0x100220b
-+#define GDK_squareroot 0x100221a
-+#define GDK_cuberoot 0x100221b
-+#define GDK_fourthroot 0x100221c
-+#define GDK_dintegral 0x100222c
-+#define GDK_tintegral 0x100222d
-+#define GDK_because 0x1002235
-+#define GDK_approxeq 0x1002248
-+#define GDK_notapproxeq 0x1002247
-+#define GDK_notidentical 0x1002262
-+#define GDK_stricteq 0x1002263
-+#define GDK_braille_dot_1 0xfff1
-+#define GDK_braille_dot_2 0xfff2
-+#define GDK_braille_dot_3 0xfff3
-+#define GDK_braille_dot_4 0xfff4
-+#define GDK_braille_dot_5 0xfff5
-+#define GDK_braille_dot_6 0xfff6
-+#define GDK_braille_dot_7 0xfff7
-+#define GDK_braille_dot_8 0xfff8
-+#define GDK_braille_dot_9 0xfff9
-+#define GDK_braille_dot_10 0xfffa
-+#define GDK_braille_blank 0x1002800
-+#define GDK_braille_dots_1 0x1002801
-+#define GDK_braille_dots_2 0x1002802
-+#define GDK_braille_dots_12 0x1002803
-+#define GDK_braille_dots_3 0x1002804
-+#define GDK_braille_dots_13 0x1002805
-+#define GDK_braille_dots_23 0x1002806
-+#define GDK_braille_dots_123 0x1002807
-+#define GDK_braille_dots_4 0x1002808
-+#define GDK_braille_dots_14 0x1002809
-+#define GDK_braille_dots_24 0x100280a
-+#define GDK_braille_dots_124 0x100280b
-+#define GDK_braille_dots_34 0x100280c
-+#define GDK_braille_dots_134 0x100280d
-+#define GDK_braille_dots_234 0x100280e
-+#define GDK_braille_dots_1234 0x100280f
-+#define GDK_braille_dots_5 0x1002810
-+#define GDK_braille_dots_15 0x1002811
-+#define GDK_braille_dots_25 0x1002812
-+#define GDK_braille_dots_125 0x1002813
-+#define GDK_braille_dots_35 0x1002814
-+#define GDK_braille_dots_135 0x1002815
-+#define GDK_braille_dots_235 0x1002816
-+#define GDK_braille_dots_1235 0x1002817
-+#define GDK_braille_dots_45 0x1002818
-+#define GDK_braille_dots_145 0x1002819
-+#define GDK_braille_dots_245 0x100281a
-+#define GDK_braille_dots_1245 0x100281b
-+#define GDK_braille_dots_345 0x100281c
-+#define GDK_braille_dots_1345 0x100281d
-+#define GDK_braille_dots_2345 0x100281e
-+#define GDK_braille_dots_12345 0x100281f
-+#define GDK_braille_dots_6 0x1002820
-+#define GDK_braille_dots_16 0x1002821
-+#define GDK_braille_dots_26 0x1002822
-+#define GDK_braille_dots_126 0x1002823
-+#define GDK_braille_dots_36 0x1002824
-+#define GDK_braille_dots_136 0x1002825
-+#define GDK_braille_dots_236 0x1002826
-+#define GDK_braille_dots_1236 0x1002827
-+#define GDK_braille_dots_46 0x1002828
-+#define GDK_braille_dots_146 0x1002829
-+#define GDK_braille_dots_246 0x100282a
-+#define GDK_braille_dots_1246 0x100282b
-+#define GDK_braille_dots_346 0x100282c
-+#define GDK_braille_dots_1346 0x100282d
-+#define GDK_braille_dots_2346 0x100282e
-+#define GDK_braille_dots_12346 0x100282f
-+#define GDK_braille_dots_56 0x1002830
-+#define GDK_braille_dots_156 0x1002831
-+#define GDK_braille_dots_256 0x1002832
-+#define GDK_braille_dots_1256 0x1002833
-+#define GDK_braille_dots_356 0x1002834
-+#define GDK_braille_dots_1356 0x1002835
-+#define GDK_braille_dots_2356 0x1002836
-+#define GDK_braille_dots_12356 0x1002837
-+#define GDK_braille_dots_456 0x1002838
-+#define GDK_braille_dots_1456 0x1002839
-+#define GDK_braille_dots_2456 0x100283a
-+#define GDK_braille_dots_12456 0x100283b
-+#define GDK_braille_dots_3456 0x100283c
-+#define GDK_braille_dots_13456 0x100283d
-+#define GDK_braille_dots_23456 0x100283e
-+#define GDK_braille_dots_123456 0x100283f
-+#define GDK_braille_dots_7 0x1002840
-+#define GDK_braille_dots_17 0x1002841
-+#define GDK_braille_dots_27 0x1002842
-+#define GDK_braille_dots_127 0x1002843
-+#define GDK_braille_dots_37 0x1002844
-+#define GDK_braille_dots_137 0x1002845
-+#define GDK_braille_dots_237 0x1002846
-+#define GDK_braille_dots_1237 0x1002847
-+#define GDK_braille_dots_47 0x1002848
-+#define GDK_braille_dots_147 0x1002849
-+#define GDK_braille_dots_247 0x100284a
-+#define GDK_braille_dots_1247 0x100284b
-+#define GDK_braille_dots_347 0x100284c
-+#define GDK_braille_dots_1347 0x100284d
-+#define GDK_braille_dots_2347 0x100284e
-+#define GDK_braille_dots_12347 0x100284f
-+#define GDK_braille_dots_57 0x1002850
-+#define GDK_braille_dots_157 0x1002851
-+#define GDK_braille_dots_257 0x1002852
-+#define GDK_braille_dots_1257 0x1002853
-+#define GDK_braille_dots_357 0x1002854
-+#define GDK_braille_dots_1357 0x1002855
-+#define GDK_braille_dots_2357 0x1002856
-+#define GDK_braille_dots_12357 0x1002857
-+#define GDK_braille_dots_457 0x1002858
-+#define GDK_braille_dots_1457 0x1002859
-+#define GDK_braille_dots_2457 0x100285a
-+#define GDK_braille_dots_12457 0x100285b
-+#define GDK_braille_dots_3457 0x100285c
-+#define GDK_braille_dots_13457 0x100285d
-+#define GDK_braille_dots_23457 0x100285e
-+#define GDK_braille_dots_123457 0x100285f
-+#define GDK_braille_dots_67 0x1002860
-+#define GDK_braille_dots_167 0x1002861
-+#define GDK_braille_dots_267 0x1002862
-+#define GDK_braille_dots_1267 0x1002863
-+#define GDK_braille_dots_367 0x1002864
-+#define GDK_braille_dots_1367 0x1002865
-+#define GDK_braille_dots_2367 0x1002866
-+#define GDK_braille_dots_12367 0x1002867
-+#define GDK_braille_dots_467 0x1002868
-+#define GDK_braille_dots_1467 0x1002869
-+#define GDK_braille_dots_2467 0x100286a
-+#define GDK_braille_dots_12467 0x100286b
-+#define GDK_braille_dots_3467 0x100286c
-+#define GDK_braille_dots_13467 0x100286d
-+#define GDK_braille_dots_23467 0x100286e
-+#define GDK_braille_dots_123467 0x100286f
-+#define GDK_braille_dots_567 0x1002870
-+#define GDK_braille_dots_1567 0x1002871
-+#define GDK_braille_dots_2567 0x1002872
-+#define GDK_braille_dots_12567 0x1002873
-+#define GDK_braille_dots_3567 0x1002874
-+#define GDK_braille_dots_13567 0x1002875
-+#define GDK_braille_dots_23567 0x1002876
-+#define GDK_braille_dots_123567 0x1002877
-+#define GDK_braille_dots_4567 0x1002878
-+#define GDK_braille_dots_14567 0x1002879
-+#define GDK_braille_dots_24567 0x100287a
-+#define GDK_braille_dots_124567 0x100287b
-+#define GDK_braille_dots_34567 0x100287c
-+#define GDK_braille_dots_134567 0x100287d
-+#define GDK_braille_dots_234567 0x100287e
-+#define GDK_braille_dots_1234567 0x100287f
-+#define GDK_braille_dots_8 0x1002880
-+#define GDK_braille_dots_18 0x1002881
-+#define GDK_braille_dots_28 0x1002882
-+#define GDK_braille_dots_128 0x1002883
-+#define GDK_braille_dots_38 0x1002884
-+#define GDK_braille_dots_138 0x1002885
-+#define GDK_braille_dots_238 0x1002886
-+#define GDK_braille_dots_1238 0x1002887
-+#define GDK_braille_dots_48 0x1002888
-+#define GDK_braille_dots_148 0x1002889
-+#define GDK_braille_dots_248 0x100288a
-+#define GDK_braille_dots_1248 0x100288b
-+#define GDK_braille_dots_348 0x100288c
-+#define GDK_braille_dots_1348 0x100288d
-+#define GDK_braille_dots_2348 0x100288e
-+#define GDK_braille_dots_12348 0x100288f
-+#define GDK_braille_dots_58 0x1002890
-+#define GDK_braille_dots_158 0x1002891
-+#define GDK_braille_dots_258 0x1002892
-+#define GDK_braille_dots_1258 0x1002893
-+#define GDK_braille_dots_358 0x1002894
-+#define GDK_braille_dots_1358 0x1002895
-+#define GDK_braille_dots_2358 0x1002896
-+#define GDK_braille_dots_12358 0x1002897
-+#define GDK_braille_dots_458 0x1002898
-+#define GDK_braille_dots_1458 0x1002899
-+#define GDK_braille_dots_2458 0x100289a
-+#define GDK_braille_dots_12458 0x100289b
-+#define GDK_braille_dots_3458 0x100289c
-+#define GDK_braille_dots_13458 0x100289d
-+#define GDK_braille_dots_23458 0x100289e
-+#define GDK_braille_dots_123458 0x100289f
-+#define GDK_braille_dots_68 0x10028a0
-+#define GDK_braille_dots_168 0x10028a1
-+#define GDK_braille_dots_268 0x10028a2
-+#define GDK_braille_dots_1268 0x10028a3
-+#define GDK_braille_dots_368 0x10028a4
-+#define GDK_braille_dots_1368 0x10028a5
-+#define GDK_braille_dots_2368 0x10028a6
-+#define GDK_braille_dots_12368 0x10028a7
-+#define GDK_braille_dots_468 0x10028a8
-+#define GDK_braille_dots_1468 0x10028a9
-+#define GDK_braille_dots_2468 0x10028aa
-+#define GDK_braille_dots_12468 0x10028ab
-+#define GDK_braille_dots_3468 0x10028ac
-+#define GDK_braille_dots_13468 0x10028ad
-+#define GDK_braille_dots_23468 0x10028ae
-+#define GDK_braille_dots_123468 0x10028af
-+#define GDK_braille_dots_568 0x10028b0
-+#define GDK_braille_dots_1568 0x10028b1
-+#define GDK_braille_dots_2568 0x10028b2
-+#define GDK_braille_dots_12568 0x10028b3
-+#define GDK_braille_dots_3568 0x10028b4
-+#define GDK_braille_dots_13568 0x10028b5
-+#define GDK_braille_dots_23568 0x10028b6
-+#define GDK_braille_dots_123568 0x10028b7
-+#define GDK_braille_dots_4568 0x10028b8
-+#define GDK_braille_dots_14568 0x10028b9
-+#define GDK_braille_dots_24568 0x10028ba
-+#define GDK_braille_dots_124568 0x10028bb
-+#define GDK_braille_dots_34568 0x10028bc
-+#define GDK_braille_dots_134568 0x10028bd
-+#define GDK_braille_dots_234568 0x10028be
-+#define GDK_braille_dots_1234568 0x10028bf
-+#define GDK_braille_dots_78 0x10028c0
-+#define GDK_braille_dots_178 0x10028c1
-+#define GDK_braille_dots_278 0x10028c2
-+#define GDK_braille_dots_1278 0x10028c3
-+#define GDK_braille_dots_378 0x10028c4
-+#define GDK_braille_dots_1378 0x10028c5
-+#define GDK_braille_dots_2378 0x10028c6
-+#define GDK_braille_dots_12378 0x10028c7
-+#define GDK_braille_dots_478 0x10028c8
-+#define GDK_braille_dots_1478 0x10028c9
-+#define GDK_braille_dots_2478 0x10028ca
-+#define GDK_braille_dots_12478 0x10028cb
-+#define GDK_braille_dots_3478 0x10028cc
-+#define GDK_braille_dots_13478 0x10028cd
-+#define GDK_braille_dots_23478 0x10028ce
-+#define GDK_braille_dots_123478 0x10028cf
-+#define GDK_braille_dots_578 0x10028d0
-+#define GDK_braille_dots_1578 0x10028d1
-+#define GDK_braille_dots_2578 0x10028d2
-+#define GDK_braille_dots_12578 0x10028d3
-+#define GDK_braille_dots_3578 0x10028d4
-+#define GDK_braille_dots_13578 0x10028d5
-+#define GDK_braille_dots_23578 0x10028d6
-+#define GDK_braille_dots_123578 0x10028d7
-+#define GDK_braille_dots_4578 0x10028d8
-+#define GDK_braille_dots_14578 0x10028d9
-+#define GDK_braille_dots_24578 0x10028da
-+#define GDK_braille_dots_124578 0x10028db
-+#define GDK_braille_dots_34578 0x10028dc
-+#define GDK_braille_dots_134578 0x10028dd
-+#define GDK_braille_dots_234578 0x10028de
-+#define GDK_braille_dots_1234578 0x10028df
-+#define GDK_braille_dots_678 0x10028e0
-+#define GDK_braille_dots_1678 0x10028e1
-+#define GDK_braille_dots_2678 0x10028e2
-+#define GDK_braille_dots_12678 0x10028e3
-+#define GDK_braille_dots_3678 0x10028e4
-+#define GDK_braille_dots_13678 0x10028e5
-+#define GDK_braille_dots_23678 0x10028e6
-+#define GDK_braille_dots_123678 0x10028e7
-+#define GDK_braille_dots_4678 0x10028e8
-+#define GDK_braille_dots_14678 0x10028e9
-+#define GDK_braille_dots_24678 0x10028ea
-+#define GDK_braille_dots_124678 0x10028eb
-+#define GDK_braille_dots_34678 0x10028ec
-+#define GDK_braille_dots_134678 0x10028ed
-+#define GDK_braille_dots_234678 0x10028ee
-+#define GDK_braille_dots_1234678 0x10028ef
-+#define GDK_braille_dots_5678 0x10028f0
-+#define GDK_braille_dots_15678 0x10028f1
-+#define GDK_braille_dots_25678 0x10028f2
-+#define GDK_braille_dots_125678 0x10028f3
-+#define GDK_braille_dots_35678 0x10028f4
-+#define GDK_braille_dots_135678 0x10028f5
-+#define GDK_braille_dots_235678 0x10028f6
-+#define GDK_braille_dots_1235678 0x10028f7
-+#define GDK_braille_dots_45678 0x10028f8
-+#define GDK_braille_dots_145678 0x10028f9
-+#define GDK_braille_dots_245678 0x10028fa
-+#define GDK_braille_dots_1245678 0x10028fb
-+#define GDK_braille_dots_345678 0x10028fc
-+#define GDK_braille_dots_1345678 0x10028fd
-+#define GDK_braille_dots_2345678 0x10028fe
-+#define GDK_braille_dots_12345678 0x10028ff
-+#define GDK_ModeLock 0x1008ff01
-+#define GDK_MonBrightnessUp 0x1008ff02
-+#define GDK_MonBrightnessDown 0x1008ff03
-+#define GDK_KbdLightOnOff 0x1008ff04
-+#define GDK_KbdBrightnessUp 0x1008ff05
-+#define GDK_KbdBrightnessDown 0x1008ff06
-+#define GDK_Standby 0x1008ff10
-+#define GDK_AudioLowerVolume 0x1008ff11
-+#define GDK_AudioMute 0x1008ff12
-+#define GDK_AudioRaiseVolume 0x1008ff13
-+#define GDK_AudioPlay 0x1008ff14
-+#define GDK_AudioStop 0x1008ff15
-+#define GDK_AudioPrev 0x1008ff16
-+#define GDK_AudioNext 0x1008ff17
-+#define GDK_HomePage 0x1008ff18
-+#define GDK_Mail 0x1008ff19
-+#define GDK_Start 0x1008ff1a
-+#define GDK_Search 0x1008ff1b
-+#define GDK_AudioRecord 0x1008ff1c
-+#define GDK_Calculator 0x1008ff1d
-+#define GDK_Memo 0x1008ff1e
-+#define GDK_ToDoList 0x1008ff1f
-+#define GDK_Calendar 0x1008ff20
-+#define GDK_PowerDown 0x1008ff21
-+#define GDK_ContrastAdjust 0x1008ff22
-+#define GDK_RockerUp 0x1008ff23
-+#define GDK_RockerDown 0x1008ff24
-+#define GDK_RockerEnter 0x1008ff25
-+#define GDK_Back 0x1008ff26
-+#define GDK_Forward 0x1008ff27
-+#define GDK_Stop 0x1008ff28
-+#define GDK_Refresh 0x1008ff29
-+#define GDK_PowerOff 0x1008ff2a
-+#define GDK_WakeUp 0x1008ff2b
-+#define GDK_Eject 0x1008ff2c
-+#define GDK_ScreenSaver 0x1008ff2d
-+#define GDK_WWW 0x1008ff2e
-+#define GDK_Sleep 0x1008ff2f
-+#define GDK_Favorites 0x1008ff30
-+#define GDK_AudioPause 0x1008ff31
-+#define GDK_AudioMedia 0x1008ff32
-+#define GDK_MyComputer 0x1008ff33
-+#define GDK_VendorHome 0x1008ff34
-+#define GDK_LightBulb 0x1008ff35
-+#define GDK_Shop 0x1008ff36
-+#define GDK_History 0x1008ff37
-+#define GDK_OpenURL 0x1008ff38
-+#define GDK_AddFavorite 0x1008ff39
-+#define GDK_HotLinks 0x1008ff3a
-+#define GDK_BrightnessAdjust 0x1008ff3b
-+#define GDK_Finance 0x1008ff3c
-+#define GDK_Community 0x1008ff3d
-+#define GDK_AudioRewind 0x1008ff3e
-+#define GDK_BackForward 0x1008ff3f
-+#define GDK_Launch0 0x1008ff40
-+#define GDK_Launch1 0x1008ff41
-+#define GDK_Launch2 0x1008ff42
-+#define GDK_Launch3 0x1008ff43
-+#define GDK_Launch4 0x1008ff44
-+#define GDK_Launch5 0x1008ff45
-+#define GDK_Launch6 0x1008ff46
-+#define GDK_Launch7 0x1008ff47
-+#define GDK_Launch8 0x1008ff48
-+#define GDK_Launch9 0x1008ff49
-+#define GDK_LaunchA 0x1008ff4a
-+#define GDK_LaunchB 0x1008ff4b
-+#define GDK_LaunchC 0x1008ff4c
-+#define GDK_LaunchD 0x1008ff4d
-+#define GDK_LaunchE 0x1008ff4e
-+#define GDK_LaunchF 0x1008ff4f
-+#define GDK_ApplicationLeft 0x1008ff50
-+#define GDK_ApplicationRight 0x1008ff51
-+#define GDK_Book 0x1008ff52
-+#define GDK_CD 0x1008ff53
-+#define GDK_WindowClear 0x1008ff55
-+#define GDK_Close 0x1008ff56
-+#define GDK_Copy 0x1008ff57
-+#define GDK_Cut 0x1008ff58
-+#define GDK_Display 0x1008ff59
-+#define GDK_DOS 0x1008ff5a
-+#define GDK_Documents 0x1008ff5b
-+#define GDK_Excel 0x1008ff5c
-+#define GDK_Explorer 0x1008ff5d
-+#define GDK_Game 0x1008ff5e
-+#define GDK_Go 0x1008ff5f
-+#define GDK_iTouch 0x1008ff60
-+#define GDK_LogOff 0x1008ff61
-+#define GDK_Market 0x1008ff62
-+#define GDK_Meeting 0x1008ff63
-+#define GDK_MenuKB 0x1008ff65
-+#define GDK_MenuPB 0x1008ff66
-+#define GDK_MySites 0x1008ff67
-+#define GDK_New 0x1008ff68
-+#define GDK_News 0x1008ff69
-+#define GDK_OfficeHome 0x1008ff6a
-+#define GDK_Open 0x1008ff6b
-+#define GDK_Option 0x1008ff6c
-+#define GDK_Paste 0x1008ff6d
-+#define GDK_Phone 0x1008ff6e
-+#define GDK_Reply 0x1008ff72
-+#define GDK_Reload 0x1008ff73
-+#define GDK_RotateWindows 0x1008ff74
-+#define GDK_RotationPB 0x1008ff75
-+#define GDK_RotationKB 0x1008ff76
-+#define GDK_Save 0x1008ff77
-+#define GDK_ScrollUp 0x1008ff78
-+#define GDK_ScrollDown 0x1008ff79
-+#define GDK_ScrollClick 0x1008ff7a
-+#define GDK_Send 0x1008ff7b
-+#define GDK_Spell 0x1008ff7c
-+#define GDK_SplitScreen 0x1008ff7d
-+#define GDK_Support 0x1008ff7e
-+#define GDK_TaskPane 0x1008ff7f
-+#define GDK_Terminal 0x1008ff80
-+#define GDK_Tools 0x1008ff81
-+#define GDK_Travel 0x1008ff82
-+#define GDK_UserPB 0x1008ff84
-+#define GDK_User1KB 0x1008ff85
-+#define GDK_User2KB 0x1008ff86
-+#define GDK_Video 0x1008ff87
-+#define GDK_WheelButton 0x1008ff88
-+#define GDK_Word 0x1008ff89
-+#define GDK_Xfer 0x1008ff8a
-+#define GDK_ZoomIn 0x1008ff8b
-+#define GDK_ZoomOut 0x1008ff8c
-+#define GDK_Away 0x1008ff8d
-+#define GDK_Messenger 0x1008ff8e
-+#define GDK_WebCam 0x1008ff8f
-+#define GDK_MailForward 0x1008ff90
-+#define GDK_Pictures 0x1008ff91
-+#define GDK_Music 0x1008ff92
-+#define GDK_Battery 0x1008ff93
-+#define GDK_Bluetooth 0x1008ff94
-+#define GDK_WLAN 0x1008ff95
-+#define GDK_UWB 0x1008ff96
-+#define GDK_AudioForward 0x1008ff97
-+#define GDK_AudioRepeat 0x1008ff98
-+#define GDK_AudioRandomPlay 0x1008ff99
-+#define GDK_Subtitle 0x1008ff9a
-+#define GDK_AudioCycleTrack 0x1008ff9b
-+#define GDK_CycleAngle 0x1008ff9c
-+#define GDK_FrameBack 0x1008ff9d
-+#define GDK_FrameForward 0x1008ff9e
-+#define GDK_Time 0x1008ff9f
-+#define GDK_SelectButton 0x1008ffa0
-+#define GDK_View 0x1008ffa1
-+#define GDK_TopMenu 0x1008ffa2
-+#define GDK_Red 0x1008ffa3
-+#define GDK_Green 0x1008ffa4
-+#define GDK_Yellow 0x1008ffa5
-+#define GDK_Blue 0x1008ffa6
-+#define GDK_Suspend 0x1008ffa7
-+#define GDK_Hibernate 0x1008ffa8
-+#define GDK_TouchpadToggle 0x1008ffa9
-+#define GDK_Switch_VT_1 0x1008fe01
-+#define GDK_Switch_VT_2 0x1008fe02
-+#define GDK_Switch_VT_3 0x1008fe03
-+#define GDK_Switch_VT_4 0x1008fe04
-+#define GDK_Switch_VT_5 0x1008fe05
-+#define GDK_Switch_VT_6 0x1008fe06
-+#define GDK_Switch_VT_7 0x1008fe07
-+#define GDK_Switch_VT_8 0x1008fe08
-+#define GDK_Switch_VT_9 0x1008fe09
-+#define GDK_Switch_VT_10 0x1008fe0a
-+#define GDK_Switch_VT_11 0x1008fe0b
-+#define GDK_Switch_VT_12 0x1008fe0c
-+#define GDK_Ungrab 0x1008fe20
-+#define GDK_ClearGrab 0x1008fe21
-+#define GDK_Next_VMode 0x1008fe22
-+#define GDK_Prev_VMode 0x1008fe23
-+
-+#endif /* __GDK_KEYSYMS_COMPAT_H__ */
-diff -up mozilla-aurora/widget/gtk/nsDeviceContextSpecG.h.build-gtk2 mozilla-aurora/widget/gtk/nsDeviceContextSpecG.h
---- mozilla-aurora/widget/gtk/nsDeviceContextSpecG.h.build-gtk2	2015-12-16 16:47:23.000000000 +0100
-+++ mozilla-aurora/widget/gtk/nsDeviceContextSpecG.h	2016-01-15 17:38:34.978272200 +0100
-@@ -16,7 +16,12 @@
- #include "nsCRT.h" /* should be <limits.h>? */
- 
- #include <gtk/gtk.h>
-+#if (MOZ_WIDGET_GTK == 2)
-+#include <gtk/gtkprinter.h>
-+#include <gtk/gtkprintjob.h>
-+#else
- #include <gtk/gtkunixprint.h>
-+#endif
- 
- #define NS_PORTRAIT  0
- #define NS_LANDSCAPE 1
-diff -up mozilla-aurora/widget/gtk/nsFilePicker.cpp.build-gtk2 mozilla-aurora/widget/gtk/nsFilePicker.cpp
---- mozilla-aurora/widget/gtk/nsFilePicker.cpp.build-gtk2	2015-12-16 16:47:23.000000000 +0100
-+++ mozilla-aurora/widget/gtk/nsFilePicker.cpp	2016-01-15 17:38:34.978272200 +0100
-@@ -125,9 +125,11 @@ UpdateFilePreviewWidget(GtkFileChooser *
-     return;
-   }
- 
-+#if GTK_CHECK_VERSION(2,12,0)
-   GdkPixbuf *preview_pixbuf_temp = preview_pixbuf;
-   preview_pixbuf = gdk_pixbuf_apply_embedded_orientation(preview_pixbuf_temp);
-   g_object_unref(preview_pixbuf_temp);
-+#endif
- 
-   // This is the easiest way to do center alignment without worrying about containers
-   // Minimum 3px padding each side (hence the 6) just to make things nice
-diff -up mozilla-aurora/widget/gtk/nsPrintDialogGTK.cpp.build-gtk2 mozilla-aurora/widget/gtk/nsPrintDialogGTK.cpp
---- mozilla-aurora/widget/gtk/nsPrintDialogGTK.cpp.build-gtk2	2015-12-16 16:47:23.000000000 +0100
-+++ mozilla-aurora/widget/gtk/nsPrintDialogGTK.cpp	2016-01-15 17:38:34.979272199 +0100
-@@ -4,7 +4,13 @@
-  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- 
- #include <gtk/gtk.h>
-+#if (MOZ_WIDGET_GTK == 2)
-+#include <gtk/gtkprinter.h>
-+#include <gtk/gtkprintjob.h>
-+#include <gtk/gtkprintunixdialog.h>
-+#else
- #include <gtk/gtkunixprint.h>
-+#endif
- #include <stdlib.h>
- 
- #include "mozilla/ArrayUtils.h"
-diff -up mozilla-aurora/widget/gtk/nsPrintSettingsGTK.h.build-gtk2 mozilla-aurora/widget/gtk/nsPrintSettingsGTK.h
---- mozilla-aurora/widget/gtk/nsPrintSettingsGTK.h.build-gtk2	2015-12-16 16:47:23.000000000 +0100
-+++ mozilla-aurora/widget/gtk/nsPrintSettingsGTK.h	2016-01-15 17:38:34.979272199 +0100
-@@ -11,7 +11,12 @@
- 
- extern "C" {
- #include <gtk/gtk.h>
-+#if (MOZ_WIDGET_GTK == 2)
-+#include <gtk/gtkprinter.h>
-+#include <gtk/gtkprintjob.h>
-+#else
- #include <gtk/gtkunixprint.h>
-+#endif
- }
- 
- #define NS_PRINTSETTINGSGTK_IID \
-diff -up mozilla-aurora/widget/gtk/nsWindow.cpp.build-gtk2 mozilla-aurora/widget/gtk/nsWindow.cpp
---- mozilla-aurora/widget/gtk/nsWindow.cpp.build-gtk2	2015-12-16 16:47:23.000000000 +0100
-+++ mozilla-aurora/widget/gtk/nsWindow.cpp	2016-01-15 17:38:34.980272198 +0100
-@@ -4895,7 +4895,8 @@ FullscreenTransitionWindow::FullscreenTr
-     bgColor.red = bgColor.green = bgColor.blue = 0;
-     gtk_widget_modify_bg(mWindow, GTK_STATE_NORMAL, &bgColor);
- 
--    gtk_window_set_opacity(gtkWin, 0.0);
-+    // Opacity not supported in gtk 2.10
-+    // gtk_window_set_opacity(gtkWin, 0.0);
-     gtk_widget_show(mWindow);
- }
- 
-@@ -4935,7 +4936,8 @@ FullscreenTransitionData::TimeoutCallbac
-     if (data->mStage == nsIWidget::eAfterFullscreenToggle) {
-         opacity = 1.0 - opacity;
-     }
--    gtk_window_set_opacity(GTK_WINDOW(data->mWindow->mWindow), opacity);
-+    // Opacity not supported in gtk 2.10
-+    // gtk_window_set_opacity(GTK_WINDOW(data->mWindow->mWindow), opacity);
- 
-     if (data->mStep != data->mTotalSteps) {
-         return TRUE;
-diff -up mozilla-aurora/widget/gtk/nsBidiKeyboard.cpp.build-gtk2 mozilla-aurora/widget/gtk/nsBidiKeyboard.cpp
---- mozilla-aurora/widget/gtk/nsBidiKeyboard.cpp.build-gtk2	2016-01-18 09:41:47.302300030 +0100
-+++ mozilla-aurora/widget/gtk/nsBidiKeyboard.cpp	2016-01-18 09:43:50.663288859 +0100
-@@ -10,6 +10,11 @@
- #include "nsBidiKeyboard.h"
- #include <gtk/gtk.h>
- 
-+#if (MOZ_WIDGET_GTK == 2)
-+typedef gboolean (*GdkKeymapHaveBidiLayoutsType)(GdkKeymap *keymap);
-+static GdkKeymapHaveBidiLayoutsType GdkKeymapHaveBidiLayouts = nullptr;
-+#endif
-+
- NS_IMPL_ISUPPORTS(nsBidiKeyboard, nsIBidiKeyboard)
- 
- nsBidiKeyboard::nsBidiKeyboard()
-@@ -20,21 +25,32 @@ nsBidiKeyboard::nsBidiKeyboard()
- NS_IMETHODIMP
- nsBidiKeyboard::Reset()
- {
--    // NB: The default keymap can be null (e.g. in xpcshell). In that case,
--    // simply assume that we don't have bidi keyboards.
--    mHaveBidiKeyboards = false;
-+#if (MOZ_WIDGET_GTK == 2)
-+    PRLibrary *gtklib = nullptr;
-+#if defined(MOZ_X11)
-+    if (!GdkKeymapHaveBidiLayouts) {
-+        GdkKeymapHaveBidiLayouts = (GdkKeymapHaveBidiLayoutsType) 
-+            PR_FindFunctionSymbolAndLibrary("gdk_keymap_have_bidi_layouts",
-+                                            &gtklib);
-+        if (gtklib)
-+            PR_UnloadLibrary(gtklib);
-+    }
-+#endif
- 
--    GdkDisplay *display = gdk_display_get_default();
--    if (!display)
--        return NS_OK;
--
--    GdkKeymap *keymap = gdk_keymap_get_for_display(display);
--    mHaveBidiKeyboards = keymap && gdk_keymap_have_bidi_layouts(keymap);
-+    mHaveBidiKeyboards = false;
-+    if (GdkKeymapHaveBidiLayouts)
-+        mHaveBidiKeyboards = (*GdkKeymapHaveBidiLayouts)(nullptr);
-+#else
-+    mHaveBidiKeyboards = gdk_keymap_have_bidi_layouts(gdk_keymap_get_default());
-+#endif
-     return NS_OK;
- }
- 
- nsBidiKeyboard::~nsBidiKeyboard()
- {
-+#if (MOZ_WIDGET_GTK == 2)
-+    GdkKeymapHaveBidiLayouts = nullptr;
-+#endif
- }
- 
- NS_IMETHODIMP
diff --git a/SOURCES/build-el5-nss.patch b/SOURCES/build-el5-nss.patch
deleted file mode 100644
index 13c6dfd..0000000
--- a/SOURCES/build-el5-nss.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up mozilla-aurora/config/external/nss/Makefile.in.build-el5-nss mozilla-aurora/config/external/nss/Makefile.in
---- mozilla-aurora/config/external/nss/Makefile.in.build-el5-nss	2016-01-26 10:25:01.770613169 +0100
-+++ mozilla-aurora/config/external/nss/Makefile.in	2016-01-26 10:25:12.824599219 +0100
-@@ -298,7 +298,7 @@ NSS_DIRS += \
- endif
- 
- ifneq (,$(filter %--build-id,$(LDFLAGS)))
--DEFAULT_GMAKE_ENV = LDFLAGS=-Wl,--build-id
-+#DEFAULT_GMAKE_ENV = LDFLAGS=-Wl,--build-id
- endif
- 
- ifdef MOZ_FOLD_LIBS
diff --git a/SOURCES/build-el5-rapl.patch b/SOURCES/build-el5-rapl.patch
deleted file mode 100644
index ec6f0b1..0000000
--- a/SOURCES/build-el5-rapl.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up mozilla-aurora/tools/power/moz.build.rapl mozilla-aurora/tools/power/moz.build
---- mozilla-aurora/tools/power/moz.build.rapl	2016-01-18 10:55:59.461937398 +0100
-+++ mozilla-aurora/tools/power/moz.build	2016-01-18 10:56:04.483935330 +0100
-@@ -11,7 +11,7 @@ if CONFIG['OS_ARCH'] == 'Darwin' and CON
- 
- if CONFIG['OS_ARCH'] == 'Linux' and CONFIG['OS_TARGET'] != 'Android' and \
-    CONFIG['CPU_ARCH'] in ('x86', 'x86_64'):
--    do_rapl = True
-+    do_rapl = False
- 
- if do_rapl:
-     SimplePrograms([
diff --git a/SOURCES/build-el5-rt-tgsigqueueinfo.patch b/SOURCES/build-el5-rt-tgsigqueueinfo.patch
deleted file mode 100644
index 2ca3218..0000000
--- a/SOURCES/build-el5-rt-tgsigqueueinfo.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -up mozilla-beta/xpcom/threads/ThreadStackHelper.cpp.rt-tgsigqueueinfo mozilla-beta/xpcom/threads/ThreadStackHelper.cpp
---- mozilla-beta/xpcom/threads/ThreadStackHelper.cpp.rt-tgsigqueueinfo	2015-04-16 23:45:29.000000000 +0200
-+++ mozilla-beta/xpcom/threads/ThreadStackHelper.cpp	2015-04-22 09:10:25.291166226 +0200
-@@ -240,10 +240,13 @@ ThreadStackHelper::GetStack(Stack& aStac
-   uinfo.si_pid = getpid();
-   uinfo.si_uid = getuid();
-   uinfo.si_value.sival_ptr = this;
-+#ifdef SYS_rt_tgsigqueueinfo
-   if (::syscall(SYS_rt_tgsigqueueinfo, uinfo.si_pid,
--                mThreadID, sFillStackSignum, &uinfo)) {
-+                mThreadID, sFillStackSignum, &uinfo))
-     // rt_tgsigqueueinfo was added in Linux 2.6.31.
-     // Could have failed because the syscall did not exist.
-+#endif
-+  {
-     return;
-   }
-   MOZ_ALWAYS_TRUE(!::sem_wait(&mSem));
diff --git a/SOURCES/build-el5-sandbox.patch b/SOURCES/build-el5-sandbox.patch
deleted file mode 100644
index 170130d..0000000
--- a/SOURCES/build-el5-sandbox.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -up mozilla-aurora/security/sandbox/linux/broker/SandboxBroker.cpp.build-sandbox mozilla-aurora/security/sandbox/linux/broker/SandboxBroker.cpp
---- mozilla-aurora/security/sandbox/linux/broker/SandboxBroker.cpp.build-sandbox	2015-12-16 16:47:02.000000000 +0100
-+++ mozilla-aurora/security/sandbox/linux/broker/SandboxBroker.cpp	2016-01-21 15:34:59.168878105 +0100
-@@ -201,7 +201,7 @@ AllowAccess(int aReqFlags, int aPerms)
- // on this process.  These shouldn't be relevant to the child process
- // in any case due to the sandboxing restrictions on it.  (See also
- // the use of MSG_CMSG_CLOEXEC in SandboxBrokerCommon.cpp).
--static const int kRequiredOpenFlags = O_CLOEXEC | O_NOCTTY;
-+static const int kRequiredOpenFlags = O_NOCTTY;
- 
- // Linux originally assigned a flag bit to O_SYNC but implemented the
- // semantics standardized as O_DSYNC; later, that bit was renamed and
-@@ -212,7 +212,7 @@ static const int kRequiredOpenFlags = O_
- static const int kAllowedOpenFlags =
-   O_APPEND | O_ASYNC | O_DIRECT | O_DIRECTORY | O_EXCL | O_LARGEFILE
-   | O_NOATIME | O_NOCTTY | O_NOFOLLOW | O_NONBLOCK | O_NDELAY | O_SYNC_NEW
--  | O_TRUNC | O_CLOEXEC | O_CREAT;
-+  | O_TRUNC | O_CREAT;
- #undef O_SYNC_NEW
- 
- static bool
-@@ -358,6 +358,7 @@ SandboxBroker::ThreadMain(void)
-           // new ones).
-           openedFd = open(pathBuf, req.mFlags | kRequiredOpenFlags, 0600);
-           if (openedFd >= 0) {
-+            fcntl(openedFd, F_SETFD, fcntl(openedFd, F_GETFD, 0) | FD_CLOEXEC);
-             resp.mError = 0;
-           } else {
-             resp.mError = errno;
-diff -up mozilla-aurora/security/sandbox/linux/SandboxBrokerClient.cpp.build-sandbox mozilla-aurora/security/sandbox/linux/SandboxBrokerClient.cpp
---- mozilla-aurora/security/sandbox/linux/SandboxBrokerClient.cpp.build-sandbox	2016-01-21 15:48:55.807532739 +0100
-+++ mozilla-aurora/security/sandbox/linux/SandboxBrokerClient.cpp	2016-01-21 15:49:26.163518779 +0100
-@@ -149,9 +149,10 @@ SandboxBrokerClient::Open(const char* aP
-   int maybeFd = DoCall(&req, aPath, nullptr, true);
-   if (maybeFd >= 0) {
-     // NSPR has opinions about file flags.  Fix O_CLOEXEC.
--    if ((aFlags & O_CLOEXEC) == 0) {
--      fcntl(maybeFd, F_SETFD, 0);
--    }
-+    // O_CLOEXEC is not available in RHEL5
-+    //if ((aFlags & O_CLOEXEC) == 0) {
-+    //  fcntl(maybeFd, F_SETFD, 0);
-+    //}
-   }
-   return maybeFd;
- }
diff --git a/SOURCES/build-el5-stdint.patch b/SOURCES/build-el5-stdint.patch
deleted file mode 100644
index d693e5c..0000000
--- a/SOURCES/build-el5-stdint.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -up mozilla-aurora/security/sandbox/linux/LinuxCapabilities.h.build-el5-stdint mozilla-aurora/security/sandbox/linux/LinuxCapabilities.h
---- mozilla-aurora/security/sandbox/linux/LinuxCapabilities.h.build-el5-stdint	2015-12-16 16:47:02.000000000 +0100
-+++ mozilla-aurora/security/sandbox/linux/LinuxCapabilities.h	2016-01-26 15:52:02.557401691 +0100
-@@ -7,7 +7,32 @@
- #ifndef mozilla_LinuxCapabilities_h
- #define mozilla_LinuxCapabilities_h
- 
-+#define int64_t int64_t_linux
-+#define uint64_t uint64_t_linux
-+#define loff_t loff_t_linux
-+#define dev_t dev_t_linux
-+#define timer_t timer_t_linux
-+#define u_int64_t u_int64_t_linux
-+#define fd_set fd_set_linux
-+#define blkcnt_t blkcnt_t_linux
-+#define gid_t gid_t_linux
-+#define mode_t mode_t_linux
-+#define nlink_t nlink_t_linux
-+#define uid_t uid_t_linux
- #include <linux/capability.h>
-+#undef int64_t
-+#undef uint64_t
-+#undef loff_t
-+#undef dev_t
-+#undef timer_t
-+#undef u_int64_t
-+#undef fd_set
-+#undef blkcnt_t
-+#undef gid_t
-+#undef mode_t
-+#undef nlink_t
-+#undef uid_t
-+
- #include <stdint.h>
- 
- #include "mozilla/Assertions.h"
-diff -up mozilla-aurora/security/sandbox/linux/SandboxFilterUtil.cpp.build-el5-stdint mozilla-aurora/security/sandbox/linux/SandboxFilterUtil.cpp
---- mozilla-aurora/security/sandbox/linux/SandboxFilterUtil.cpp.build-el5-stdint	2016-01-25 20:56:57.937678560 +0100
-+++ mozilla-aurora/security/sandbox/linux/SandboxFilterUtil.cpp	2016-01-25 20:58:25.574613828 +0100
-@@ -13,6 +13,7 @@
- 
- #include "mozilla/UniquePtr.h"
- #include "sandbox/linux/bpf_dsl/bpf_dsl.h"
-+#include <asm-generic/ipc.h>
- 
- // Older kernel headers (mostly Android, but also some older desktop
- // distributions) are missing some or all of these:
diff --git a/SOURCES/build-el5-xlib-header.patch b/SOURCES/build-el5-xlib-header.patch
deleted file mode 100644
index 247036c..0000000
--- a/SOURCES/build-el5-xlib-header.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -up mozilla-aurora/media/webrtc/trunk/webrtc/modules/desktop_capture/mouse_cursor_monitor_x11.cc.xlib-swap mozilla-aurora/media/webrtc/trunk/webrtc/modules/desktop_capture/mouse_cursor_monitor_x11.cc
---- mozilla-aurora/media/webrtc/trunk/webrtc/modules/desktop_capture/mouse_cursor_monitor_x11.cc.xlib-swap	2016-01-15 12:50:55.900989372 +0100
-+++ mozilla-aurora/media/webrtc/trunk/webrtc/modules/desktop_capture/mouse_cursor_monitor_x11.cc	2016-01-15 12:51:40.592950518 +0100
-@@ -10,8 +10,8 @@
- 
- #include "webrtc/modules/desktop_capture/mouse_cursor_monitor.h"
- 
--#include <X11/extensions/Xfixes.h>
- #include <X11/Xlib.h>
-+#include <X11/extensions/Xfixes.h>
- #include <X11/Xutil.h>
- 
- #include "webrtc/base/scoped_ptr.h"
-diff -up mozilla-aurora/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer_x11.cc.xlib-swap mozilla-aurora/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer_x11.cc
---- mozilla-aurora/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer_x11.cc.xlib-swap	2016-01-15 12:50:48.652995674 +0100
-+++ mozilla-aurora/media/webrtc/trunk/webrtc/modules/desktop_capture/screen_capturer_x11.cc	2016-01-15 12:51:34.005956245 +0100
-@@ -13,9 +13,9 @@
- #include <string.h>
- #include <set>
- 
-+#include <X11/Xlib.h>
- #include <X11/extensions/Xdamage.h>
- #include <X11/extensions/Xfixes.h>
--#include <X11/Xlib.h>
- #include <X11/Xutil.h>
- 
- #include "webrtc/base/scoped_ptr.h"
diff --git a/SOURCES/build-icu-big-endian.patch b/SOURCES/build-icu-big-endian.patch
new file mode 100644
index 0000000..68fbea1
--- /dev/null
+++ b/SOURCES/build-icu-big-endian.patch
@@ -0,0 +1,12 @@
+diff -up mozilla-aurora/build/autoconf/icu.m4.icu-endian mozilla-aurora/build/autoconf/icu.m4
+--- mozilla-aurora/build/autoconf/icu.m4.icu-endian	2016-12-09 09:11:01.227317790 +0100
++++ mozilla-aurora/build/autoconf/icu.m4	2016-12-09 09:18:40.608712247 +0100
+@@ -78,7 +78,7 @@ if test -n "$USE_ICU"; then
+     # TODO: the l is actually endian-dependent
+     # We could make this set as 'l' or 'b' for little or big, respectively,
+     # but we'd need to check in a big-endian version of the file.
+-    ICU_DATA_FILE="icudt${version}l.dat"
++    ICU_DATA_FILE="icudt${version}b.dat"
+ 
+     dnl We won't build ICU data as a separate file when building
+     dnl JS standalone so that embedders don't have to deal with it.
diff --git a/SOURCES/build-missing-getrandom.patch b/SOURCES/build-missing-getrandom.patch
new file mode 100644
index 0000000..3a4adde
--- /dev/null
+++ b/SOURCES/build-missing-getrandom.patch
@@ -0,0 +1,21 @@
+diff -up firefox-52.0b8/js/src/jsmath.cpp.missing-getrandom firefox-52.0b8/js/src/jsmath.cpp
+--- firefox-52.0b8/js/src/jsmath.cpp.missing-getrandom	2017-02-22 08:09:21.764353407 +0100
++++ firefox-52.0b8/js/src/jsmath.cpp	2017-02-22 08:10:36.939330775 +0100
+@@ -78,7 +78,7 @@
+ static_assert(GETRANDOM_NR == SYS_getrandom,
+               "GETRANDOM_NR should match the actual SYS_getrandom value");
+ #  endif
+-# else
++# elif defined(GETRANDOM_NR)
+ #  define SYS_getrandom GETRANDOM_NR
+ # endif
+ 
+@@ -721,7 +721,7 @@ js::GenerateRandomSeed()
+     seed = (static_cast<uint64_t>(arc4random()) << 32) | arc4random();
+ #elif defined(XP_UNIX)
+     bool done = false;
+-# if defined(__linux__)
++# if defined(__linux__) && defined(SYS_getrandom)
+     // Try the relatively new getrandom syscall first. It's the preferred way
+     // on Linux as /dev/urandom may not work inside chroots and is harder to
+     // sandbox (see bug 995069).
diff --git a/SOURCES/build-nss-prbool.patch b/SOURCES/build-nss-prbool.patch
new file mode 100644
index 0000000..491b2e1
--- /dev/null
+++ b/SOURCES/build-nss-prbool.patch
@@ -0,0 +1,22 @@
+diff -up firefox-52.0esr/security/certverifier/CTLogVerifier.cpp.nss-prbool firefox-52.0esr/security/certverifier/CTLogVerifier.cpp
+--- firefox-52.0esr/security/certverifier/CTLogVerifier.cpp.nss-prbool	2017-02-28 02:56:03.000000000 +0100
++++ firefox-52.0esr/security/certverifier/CTLogVerifier.cpp	2017-03-01 11:34:15.623577628 +0100
+@@ -7,6 +7,7 @@
+ #include "CTLogVerifier.h"
+ 
+ #include "CTSerialization.h"
++#include "prtypes.h"
+ #include "hasht.h"
+ #include "mozilla/ArrayUtils.h"
+ #include "mozilla/Assertions.h"
+diff -up firefox-52.0esr/security/manager/ssl/nsSSLStatus.cpp.nss-prbool firefox-52.0esr/security/manager/ssl/nsSSLStatus.cpp
+--- firefox-52.0esr/security/manager/ssl/nsSSLStatus.cpp.nss-prbool	2017-03-01 12:09:16.649945106 +0100
++++ firefox-52.0esr/security/manager/ssl/nsSSLStatus.cpp	2017-03-01 12:09:35.749939355 +0100
+@@ -4,6 +4,7 @@
+  * 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 "prtypes.h"
+ #include "mozilla/Casting.h"
+ #include "nsSSLStatus.h"
+ #include "nsIClassInfoImpl.h"
diff --git a/SOURCES/build-nss-version.patch b/SOURCES/build-nss-version.patch
new file mode 100644
index 0000000..de5ceca
--- /dev/null
+++ b/SOURCES/build-nss-version.patch
@@ -0,0 +1,12 @@
+diff -up firefox-52.0esr/old-configure.in.nss-ver firefox-52.0esr/old-configure.in
+--- firefox-52.0esr/old-configure.in.nss-ver	2017-03-01 10:12:54.668047060 +0100
++++ firefox-52.0esr/old-configure.in	2017-03-01 10:13:01.733044933 +0100
+@@ -2123,7 +2123,7 @@ MOZ_ARG_WITH_BOOL(system-nss,
+     _USE_SYSTEM_NSS=1 )
+ 
+ if test -n "$_USE_SYSTEM_NSS"; then
+-    AM_PATH_NSS(3.28.3, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
++    AM_PATH_NSS(3.28.1, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
+ fi
+ 
+ if test -n "$MOZ_SYSTEM_NSS"; then
diff --git a/SOURCES/build-nss.patch b/SOURCES/build-nss.patch
deleted file mode 100644
index 7cf5fb6..0000000
--- a/SOURCES/build-nss.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up firefox-45.0.1esr/configure.in.nss firefox-45.0.1esr/configure.in
---- firefox-45.0.1esr/configure.in.nss	2016-04-06 10:20:01.000000000 +0200
-+++ firefox-45.0.1esr/configure.in	2016-04-06 10:25:56.998285981 +0200
-@@ -53,7 +53,7 @@ dnl ====================================
- MOZJPEG=62
- MOZPNG=10619
- NSPR_VERSION=4
--NSPR_MINVER=4.12
-+NSPR_MINVER=4.11
- NSS_VERSION=3
- 
- dnl Set the minimum version of toolkit libs used by mozilla
-@@ -3451,7 +3451,7 @@ MOZ_ARG_WITH_BOOL(system-nss,
-     _USE_SYSTEM_NSS=1 )
- 
- if test -n "$_USE_SYSTEM_NSS"; then
--    AM_PATH_NSS(3.21.3, [MOZ_NATIVE_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
-+    AM_PATH_NSS(3.21.0, [MOZ_NATIVE_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
- fi
- 
- if test -n "$MOZ_NATIVE_NSS"; then
diff --git a/SOURCES/build-s390-atomic.patch b/SOURCES/build-s390-atomic.patch
new file mode 100644
index 0000000..3624b98
--- /dev/null
+++ b/SOURCES/build-s390-atomic.patch
@@ -0,0 +1,13 @@
+diff -up mozilla-aurora/js/src/jit/AtomicOperations.h.s390-atomic mozilla-aurora/js/src/jit/AtomicOperations.h
+--- mozilla-aurora/js/src/jit/AtomicOperations.h.s390-atomic	2016-11-15 12:22:38.000000000 +0100
++++ mozilla-aurora/js/src/jit/AtomicOperations.h	2016-12-08 15:36:11.792439891 +0100
+@@ -341,6 +341,9 @@ AtomicOperations::isLockfree(int32_t siz
+ #  include "jit/none/AtomicOperations-ppc.h"
+ # elif defined(__aarch64__)
+ #  include "jit/arm64/AtomicOperations-arm64.h"
++# elif defined(__s390__)
++   // Also works with ppc atomic operations
++#  include "jit/none/AtomicOperations-ppc.h"
+ # else
+ #  include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always
+ # endif
diff --git a/SOURCES/firefox-centos-default-bookmarks.html b/SOURCES/firefox-centos-default-bookmarks.html
deleted file mode 100644
index 95a34bd..0000000
--- a/SOURCES/firefox-centos-default-bookmarks.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE NETSCAPE-Bookmark-file-1>
-<!-- This is an automatically generated file.
-It will be read and overwritten.
-Do Not Edit! -->
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
-<TITLE>Bookmarks</TITLE>
-<H1>Bookmarks</H1>
-
-<DL><p>
-    <DT><H3 ADD_DATE="961112773" LAST_MODIFIED="994788142" PERSONAL_TOOLBAR_FOLDER="true" ID="NC:PersonalToolbarFolder">Personal Toolbar Folder</H3>
-    <DL><p>
-        <DT><A HREF="http://www.centos.org/" ADD_DATE="994787542" LAST_VISIT="994788277" LAST_CHARSET="ISO-8859-1">CentOS</A>
-        <DT><H3 ADD_DATE="994787811" LAST_MODIFIED="994788115" ID="NC:BookmarksRoot#$7957b8a">Support</H3>
-        <DL><p>
-            <DT><A HREF="http://www.centos.org/modules/newbb/" ADD_DATE="994787936">CentOS Forums</A>
-            <DT><A HREF="http://www.centos.org/modules/tinycontent/index.php?id=16" ADD_DATE="994787936">CentOS Mailing-Lists</A>
-            <DT><A HREF="http://www.centos.org/docs/" ADD_DATE="994787827" LAST_VISIT="994788333" LAST_CHARSET="ISO-8859-1">CentOS Documentation</A>
-            <DT><A HREF="http://wiki.centos.org/" ADD_DATE="994787827" LAST_VISIT="994788333" LAST_CHARSET="ISO-8859-1">CentOS Wiki</A>
-        </DL><p>
-    </DL><p>
-</DL><p>
diff --git a/SOURCES/firefox-centos-default-prefs.js b/SOURCES/firefox-centos-default-prefs.js
deleted file mode 100644
index fd3108f..0000000
--- a/SOURCES/firefox-centos-default-prefs.js
+++ /dev/null
@@ -1,27 +0,0 @@
-pref("app.update.auto",                     false);
-pref("app.update.enabled",                  false);
-pref("app.update.autoInstallEnabled",       false);
-pref("browser.backspace_action",            2);
-pref("browser.display.use_system_colors",   true);
-pref("browser.download.folderList",         1);
-pref("browser.link.open_external",          3);
-pref("browser.shell.checkDefaultBrowser",   false);
-pref("general.smoothScroll",                true);
-pref("general.useragent.vendor",            "CentOS");
-pref("general.useragent.vendorSub",         "FIREFOX_RPM_VR");
-pref("intl.locale.matchOS",                 true);
-pref("storage.nfs_filesystem",              false);
-pref("dom.ipc.plugins.enabled.nswrapper*",  false);
-pref("network.manage-offline-status",       true);
-pref("toolkit.networkmanager.disable",      false);
-pref("browser.startup.homepage",            "data:text/plain,browser.startup.homepage=file:///usr/share/doc/HTML/index.html");
-pref("toolkit.storage.synchronous",         0);
-pref("startup.homepage_override_url",       "http://www.centos.org");
-pref("startup.homepage_welcome_url",        "http://www.centos.org");
-pref("extensions.shownSelectionUI",         true);
-/* Workaround for rhbz#1110291 */
-pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
-/* Workaround for mozbz#1063315 */
-pref("security.use_mozillapkix_verification", false);
-pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
-pref("browser.tabs.remote.autostart",       false);
diff --git a/SOURCES/firefox-default.patch b/SOURCES/firefox-default.patch
index 58a82fc..641337b 100644
--- a/SOURCES/firefox-default.patch
+++ b/SOURCES/firefox-default.patch
@@ -1,7 +1,7 @@
 diff -up mozilla-aurora/browser/components/preferences/in-content/advanced.xul.default mozilla-aurora/browser/components/preferences/in-content/advanced.xul
---- mozilla-aurora/browser/components/preferences/in-content/advanced.xul.default	2016-01-28 16:47:37.376005810 +0100
-+++ mozilla-aurora/browser/components/preferences/in-content/advanced.xul	2016-01-28 16:48:40.113963249 +0100
-@@ -63,7 +63,7 @@
+--- mozilla-aurora/browser/components/preferences/in-content/advanced.xul.default	2016-11-15 12:21:37.000000000 +0100
++++ mozilla-aurora/browser/components/preferences/in-content/advanced.xul	2016-12-08 10:51:04.049353573 +0100
+@@ -75,7 +75,7 @@
                type="bool"/>
  
   <!-- Update tab -->
@@ -10,7 +10,7 @@ diff -up mozilla-aurora/browser/components/preferences/in-content/advanced.xul.d
    <preference id="app.update.enabled"
                name="app.update.enabled"
                type="bool"/>
-@@ -107,7 +107,7 @@
+@@ -116,7 +116,7 @@
                type="int"/>
  </preferences>
  
@@ -20,8 +20,8 @@ diff -up mozilla-aurora/browser/components/preferences/in-content/advanced.xul.d
    <stringbundle id="bundleBrand" src="chrome://branding/locale/brand.properties"/>
  #endif
 diff -up mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp.default mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp
---- mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp.default	2015-12-16 16:47:31.000000000 +0100
-+++ mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp	2016-01-28 16:47:37.376005810 +0100
+--- mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp.default	2016-11-15 12:21:39.000000000 +0100
++++ mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp	2016-12-08 10:51:04.049353573 +0100
 @@ -150,8 +150,8 @@ nsGNOMEShellService::GetAppPathFromLaunc
  bool
  nsGNOMEShellService::KeyMatchesAppName(const char *aKeyValue) const
@@ -53,7 +53,7 @@ diff -up mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp.default
    return matches;
  }
  
-@@ -255,16 +251,7 @@ nsGNOMEShellService::SetDefaultBrowser(b
+@@ -253,16 +249,7 @@ nsGNOMEShellService::SetDefaultBrowser(b
    nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
    nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
    if (gconf) {
@@ -72,14 +72,26 @@ diff -up mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp.default
  
      for (unsigned int i = 0; i < ArrayLength(appProtocols); ++i) {
 diff -up mozilla-aurora/browser/components/shell/nsGNOMEShellService.h.default mozilla-aurora/browser/components/shell/nsGNOMEShellService.h
---- mozilla-aurora/browser/components/shell/nsGNOMEShellService.h.default	2015-12-16 16:47:31.000000000 +0100
-+++ mozilla-aurora/browser/components/shell/nsGNOMEShellService.h	2016-01-28 16:47:37.376005810 +0100
+--- mozilla-aurora/browser/components/shell/nsGNOMEShellService.h.default	2016-12-08 10:51:04.049353573 +0100
++++ mozilla-aurora/browser/components/shell/nsGNOMEShellService.h	2016-12-08 10:55:53.754263671 +0100
 @@ -13,7 +13,7 @@
- class nsGNOMEShellService final : public nsIShellService
+ class nsGNOMEShellService final : public nsIGNOMEShellService
  {
  public:
--  nsGNOMEShellService() : mCheckedThisSession(false), mAppIsInPath(false) { }
-+  nsGNOMEShellService() : mCheckedThisSession(true), mAppIsInPath(true) { }
+-  nsGNOMEShellService() : mAppIsInPath(false) { }
++  nsGNOMEShellService() : mAppIsInPath(true) { }
  
    NS_DECL_ISUPPORTS
    NS_DECL_NSISHELLSERVICE
+diff -up mozilla-aurora/browser/components/shell/ShellService.jsm.default mozilla-aurora/browser/components/shell/ShellService.jsm
+--- mozilla-aurora/browser/components/shell/ShellService.jsm.default	2016-12-08 10:56:51.602245720 +0100
++++ mozilla-aurora/browser/components/shell/ShellService.jsm	2016-12-08 10:56:58.213243668 +0100
+@@ -48,7 +48,7 @@ let ShellServiceInternal = {
+    * up and "browser.shell.checkDefaultBrowser" is true, otherwise it
+    * is false.
+    */
+-  _checkedThisSession: false,
++  _checkedThisSession: true,
+   get shouldCheckDefaultBrowser() {
+     // If we've already checked, the browser has been started and this is a
+     // new window open, and we don't want to check again.
diff --git a/SOURCES/firefox-enable-addons.patch b/SOURCES/firefox-enable-addons.patch
index 751d2ce..c1c82bb 100644
--- a/SOURCES/firefox-enable-addons.patch
+++ b/SOURCES/firefox-enable-addons.patch
@@ -11,29 +11,3 @@ diff -up mozilla-aurora/browser/app/profile/firefox.js.addons mozilla-aurora/bro
  
  // Dictionary download preference
  pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/");
-diff -up mozilla-aurora/toolkit/mozapps/extensions/internal/XPIProvider.jsm.addons mozilla-aurora/toolkit/mozapps/extensions/internal/XPIProvider.jsm
---- mozilla-aurora/toolkit/mozapps/extensions/internal/XPIProvider.jsm.addons	2015-03-12 14:25:39.975909166 +0100
-+++ mozilla-aurora/toolkit/mozapps/extensions/internal/XPIProvider.jsm	2015-03-12 15:23:05.879366812 +0100
-@@ -2102,11 +2102,7 @@ this.XPIProvider = {
- 
-       AddonManagerPrivate.markProviderSafe(this);
- 
--      if (aAppChanged === undefined) {
--        // For new profiles we will never need to show the add-on selection UI
--        Services.prefs.setBoolPref(PREF_SHOWN_SELECTION_UI, true);
--      }
--      else if (aAppChanged && !this.allAppGlobal &&
-+      if (aAppChanged && !this.allAppGlobal &&
-                Preferences.get(PREF_EM_SHOW_MISMATCH_UI, true)) {
-         if (!Preferences.get(PREF_SHOWN_SELECTION_UI, false)) {
-           // Flip a flag to indicate that we interrupted startup with an interactive prompt
-@@ -2126,6 +2122,9 @@ this.XPIProvider = {
-             flushCaches = true;
-           }
-         }
-+      } else {
-+        // For new profiles we will never need to show the add-on selection UI
-+        Services.prefs.setBoolPref(PREF_SHOWN_SELECTION_UI, true);
-       }
- 
-       if (flushCaches) {
diff --git a/SOURCES/firefox-mozconfig b/SOURCES/firefox-mozconfig
index 5f93abb..ff2a6a4 100755
--- a/SOURCES/firefox-mozconfig
+++ b/SOURCES/firefox-mozconfig
@@ -1,34 +1,23 @@
 . $topsrcdir/browser/config/mozconfig
-
-ac_add_options --disable-cpp-exceptions
 ac_add_options --disable-crashreporter
-ac_add_options --disable-exact-rooting
-ac_add_options --disable-installer
-ac_add_options --disable-javaxpcom
 ac_add_options --disable-libjpeg-turbo
-ac_add_options --disable-mochitest
 ac_add_options --disable-necko-wifi
 ac_add_options --disable-strip
 ac_add_options --disable-tests
 ac_add_options --disable-updater
-ac_add_options --disable-xprint
-ac_add_options --enable-canvas
 ac_add_options --enable-default-toolkit=cairo-gtk2
 ac_add_options --enable-extensions=default
-ac_add_options --enable-libnotify
-ac_add_options --enable-pango
 ac_add_options --enable-release
 ac_add_options --enable-safe-browsing
-ac_add_options --enable-skia
 ac_add_options --enable-startup-notification
-ac_add_options --enable-svg
-ac_add_options --enable-xinerama
 ac_add_options --libdir="$LIBDIR"
 ac_add_options --prefix="$PREFIX"
 ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key
 ac_add_options --without-system-libvpx
 ac_add_options --with-pthreads
 ac_add_options --with-system-zlib
+ac_add_options --enable-system-hunspell
+ac_add_options --with-system-jpeg
 export BUILD_OFFICIAL=1
 export CFLAGS="$CFLAGS -gdwarf-2"
 export CXXFLAGS="$CXXFLAGS -gdwarf-2"
diff --git a/SOURCES/firefox-redhat-default-bookmarks.html b/SOURCES/firefox-redhat-default-bookmarks.html
deleted file mode 100644
index 042ccdc..0000000
--- a/SOURCES/firefox-redhat-default-bookmarks.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE NETSCAPE-Bookmark-file-1>
-<!-- This is an automatically generated file.
-     It will be read and overwritten.
-     DO NOT EDIT! -->
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
-<TITLE>Bookmarks</TITLE>
-<H1 LAST_MODIFIED="1168027990">Bookmarks</H1>
-
-<DL><p>
-    <DT><H3 ADD_DATE="961112773" LAST_MODIFIED="1168028134" PERSONAL_TOOLBAR_FOLDER="true" ID="NC:PersonalToolbarFolder">Personal Toolbar Folder</H3>
-    <DL><p>
-        <DT><A HREF="http://www.redhat.com/" ADD_DATE="1168027962" LAST_VISIT="1168027985" LAST_MODIFIED="1168027978" ICON="data:image/x-icon;base64,AAABAAEAEBAQAAAAAAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABxcYQA+fn5AOvr6wChoaMATU1UAM/PzQABAY4AAQGvAAAA2AABAWIACgopAAAAygAAAMwAAAAAAP///wAAAAAA7u7u7u4e7u7u7u7u7jXu7u7u7u7uLT7u7u7u4dDjpETuIu7uVeWt3VPR5UQABK3drVE0l3d3dq3aMHu4zMzIetpsyIu7u7vJp8iHaby7zIm8h5rZvLu3ari5qWjLuGrdqZm4jLvMnd3d27qWzIet3d3Ztnu2tt3a3dp4y5qa3a0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" LAST_CHARSET="ISO-8859-1" ID="rdf:#$n5d1O2">Red Hat</A>
-        <DT><A HREF="http://www.redhat.com/magazine/" ADD_DATE="1168028012" LAST_VISIT="1168028031" LAST_MODIFIED="1168028026" ICON="data:image/x-icon;base64,AAABAAEAEBAQAAAAAAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABxcYQA+fn5AOvr6wChoaMATU1UAM/PzQABAY4AAQGvAAAA2AABAWIACgopAAAAygAAAMwAAAAAAP///wAAAAAA7u7u7u4e7u7u7u7u7jXu7u7u7u7uLT7u7u7u4dDjpETuIu7uVeWt3VPR5UQABK3drVE0l3d3dq3aMHu4zMzIetpsyIu7u7vJp8iHaby7zIm8h5rZvLu3ari5qWjLuGrdqZm4jLvMnd3d27qWzIet3d3Ztnu2tt3a3dp4y5qa3a0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" LAST_CHARSET="ISO-8859-1" ID="rdf:#$o5d1O2">Red Hat Magazine</A>
-        <DT><A HREF="http://rhn.redhat.com/" ADD_DATE="1168028067" LAST_MODIFIED="1168028076" ICON="data:image/x-icon;base64,AAABAAEAEBAQAAAAAAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABxcYQA+fn5AOvr6wChoaMATU1UAM/PzQABAY4AAQGvAAAA2AABAWIACgopAAAAygAAAMwAAAAAAP///wAAAAAA7u7u7u4e7u7u7u7u7jXu7u7u7u7uLT7u7u7u4dDjpETuIu7uVeWt3VPR5UQABK3drVE0l3d3dq3aMHu4zMzIetpsyIu7u7vJp8iHaby7zIm8h5rZvLu3ari5qWjLuGrdqZm4jLvMnd3d27qWzIet3d3Ztnu2tt3a3dp4y5qa3a0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" ID="rdf:#$p5d1O2">Red Hat Network</A>
-        <DT><A HREF="https://www.redhat.com/apps/support/" ADD_DATE="1168028118" LAST_VISIT="1168028130" LAST_MODIFIED="1168028125" ICON="data:image/x-icon;base64,AAABAAEAEBAQAAAAAAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABxcYQA+fn5AOvr6wChoaMATU1UAM/PzQABAY4AAQGvAAAA2AABAWIACgopAAAAygAAAMwAAAAAAP///wAAAAAA7u7u7u4e7u7u7u7u7jXu7u7u7u7uLT7u7u7u4dDjpETuIu7uVeWt3VPR5UQABK3drVE0l3d3dq3aMHu4zMzIetpsyIu7u7vJp8iHaby7zIm8h5rZvLu3ari5qWjLuGrdqZm4jLvMnd3d27qWzIet3d3Ztnu2tt3a3dp4y5qa3a0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" LAST_CHARSET="ISO-8859-1" ID="rdf:#$q5d1O2">Red Hat Support</A>
-    </DL><p>
-</DL><p>
diff --git a/SOURCES/firefox-redhat-default-prefs.js b/SOURCES/firefox-redhat-default-prefs.js
new file mode 100644
index 0000000..02113f4
--- /dev/null
+++ b/SOURCES/firefox-redhat-default-prefs.js
@@ -0,0 +1,27 @@
+pref("app.update.auto",                     false);
+pref("app.update.enabled",                  false);
+pref("app.update.autoInstallEnabled",       false);
+pref("browser.backspace_action",            2);
+pref("browser.display.use_system_colors",   true);
+pref("browser.download.folderList",         1);
+pref("browser.link.open_external",          3);
+pref("browser.shell.checkDefaultBrowser",   false);
+pref("general.smoothScroll",                true);
+pref("general.useragent.vendor",            "Red Hat");
+pref("general.useragent.vendorSub",         "FIREFOX_RPM_VR");
+pref("intl.locale.matchOS",                 true);
+pref("storage.nfs_filesystem",              false);
+pref("dom.ipc.plugins.enabled.nswrapper*",  false);
+pref("network.manage-offline-status",       true);
+pref("toolkit.networkmanager.disable",      false);
+pref("browser.startup.homepage",            "data:text/plain,browser.startup.homepage=file:///usr/share/doc/HTML/index.html");
+pref("toolkit.storage.synchronous",         0);
+pref("startup.homepage_override_url",       "http://www.redhat.com");
+pref("startup.homepage_welcome_url",        "http://www.redhat.com");
+pref("extensions.shownSelectionUI",         true);
+/* Workaround for rhbz#1110291 */
+pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
+/* Workaround for mozbz#1063315 */
+pref("security.use_mozillapkix_verification", false);
+pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
+pref("browser.tabs.remote.autostart",       false);
diff --git a/SOURCES/firefox.sh.in.rhel5 b/SOURCES/firefox.sh.in.rhel5
deleted file mode 100644
index 2149f2a..0000000
--- a/SOURCES/firefox.sh.in.rhel5
+++ /dev/null
@@ -1,266 +0,0 @@
-#!/bin/bash
-#
-# The contents of this file are subject to the Netscape Public
-# License Version 1.1 (the "License"); you may not use this file
-# except in compliance with the License. You may obtain a copy of
-# the License at http://www.mozilla.org/NPL/
-#
-# Software distributed under the License is distributed on an "AS
-# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-# implied. See the License for the specific language governing
-# rights and limitations under the License.
-#
-# The Original Code is mozilla.org code.
-#
-# The Initial Developer of the Original Code is Netscape
-# Communications Corporation.  Portions created by Netscape are
-# Copyright (C) 1998 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s): 
-#
-
-## 
-## Usage:
-##
-## $ firefox
-##
-## This script is meant to run a mozilla program from the mozilla
-## rpm installation.
-##
-## The script will setup all the environment voodoo needed to make
-## mozilla work.
-
-cmdname=`basename $0`
-
-##
-## Variables
-##
-MOZ_ARCH=$(uname -m)
-case $MOZ_ARCH in
-	x86_64 | s390x | sparc64)
-		MOZ_LIB_DIR="/usr/lib64"
-		SECONDARY_LIB_DIR="/usr/lib"
-		;;
-	* )
-		MOZ_LIB_DIR="/usr/lib"
-		SECONDARY_LIB_DIR="/usr/lib64"
-		;;
-esac
-
-MOZ_FIREFOX_FILE="firefox"
-
-if [ ! -r $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
-    if [ ! -r $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
-	echo "Error: $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
-	if [ -d $SECONDARY_LIB_DIR ]; then
-	    echo "       $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
-	fi
-	exit 1
-    fi
-    MOZ_LIB_DIR="$SECONDARY_LIB_DIR"
-fi
-MOZ_DIST_BIN="$MOZ_LIB_DIR/firefox"
-MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
-MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
-MOZ_PROGRAM="$MOZ_DIST_BIN/$MOZ_FIREFOX_FILE"
-MOZ_LAUNCHER="$MOZ_DIST_BIN/run-mozilla.sh"
- 
-##
-## Set MOZ_GRE_CONF
-##
-MOZ_GRE_CONF=/etc/gre.d/gre.conf
-if [ "$MOZ_LIB_DIR" == "/usr/lib64" ]; then
-  MOZ_GRE_CONF=/etc/gre.d/gre64.conf
-fi
-export MOZ_GRE_CONF
-
-##
-## Set MOZILLA_FIVE_HOME
-##
-MOZILLA_FIVE_HOME="$MOZ_DIST_BIN"
-
-export MOZILLA_FIVE_HOME
-
-##
-## Select the propper plugin dir
-## Wrapped plug-ins are located in /lib/mozilla/plugins-wrapped
-##
-if [ -x "/usr/bin/mozilla-plugin-config" ]
-then
-  MOZ_PLUGIN_DIR="plugins-wrapped"
-else
-  MOZ_PLUGIN_DIR="plugins"
-fi
-
-##
-## Make sure that we set the plugin path
-##
-if [ "$MOZ_PLUGIN_PATH" ]
-then
-  MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$MOZ_LIB_DIR/mozilla/$MOZ_PLUGIN_DIR:$MOZ_DIST_BIN/$MOZ_PLUGIN_DIR
-else
-  MOZ_PLUGIN_PATH=$MOZ_LIB_DIR/mozilla/$MOZ_PLUGIN_DIR:$MOZ_DIST_BIN/$MOZ_PLUGIN_DIR
-fi
-export MOZ_PLUGIN_PATH
-
-##
-## Set MOZ_APP_LAUNCHER for gnome-session
-##
-export MOZ_APP_LAUNCHER="/usr/bin/firefox"
-
-##
-## If plugins are wrapped, check them
-##
-if [ -x "/usr/bin/mozilla-plugin-config" ]
-then
-  /usr/bin/mozilla-plugin-config
-fi
-
-##
-## Set FONTCONFIG_PATH for Xft/fontconfig
-##
-FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
-export FONTCONFIG_PATH
-
-##
-## Disable image optimalization (a workaround for Bug 447451)
-##
-export MOZ_DISABLE_IMAGE_OPTIMIZE=1
-
-##
-## In order to better support certain scripts (such as Indic and some CJK 
-## scripts), Fedora builds its Firefox, with permission from the Mozilla 
-## Corporation, with the Pango system as its text renderer.  This change 
-## may negatively impact performance on some pages.  To disable the use of
-## Pango, set MOZ_DISABLE_PANGO=1 in your environment before launching
-## Firefox.
-##
-#
-# MOZ_DISABLE_PANGO=1
-# export MOZ_DISABLE_PANGO
-#
-
-##
-## Disable the GNOME crash dialog, Moz has it's own
-##
-GNOME_DISABLE_CRASH_DIALOG=1
-export GNOME_DISABLE_CRASH_DIALOG
-
-##
-## Fix for: background-repeat css property is not rendered - https://bugzilla.redhat.com/show_bug.cgi?id=698313
-##
-export MOZ_CAIRO_FORCE_BUGGY_REPEAT=1
-
-# OK, here's where all the real work gets done
-
-
-##
-## To disable the use of Firefox localization, set MOZ_DISABLE_LANGPACKS=1
-## in your environment before launching Firefox.
-##
-#
-# MOZ_DISABLE_LANGPACKS=1
-# export MOZ_DISABLE_LANGPACKS
-#
-
-##
-## Automatically installed langpacks are tracked by .fedora-langpack-install
-## config file.
-##
-FEDORA_LANGPACK_CONFIG="$MOZ_EXTENSIONS_PROFILE_DIR/.fedora-langpack-install"
-
-# MOZ_DISABLE_LANGPACKS disables language packs completely
-MOZILLA_DOWN=0
-if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then
-    if [ -x $MOZ_DIST_BIN/$MOZ_FIREFOX_FILE ]; then
-        # Is firefox running?
-        /usr/bin/pidof firefox > /dev/null 2>&1
-        MOZILLA_DOWN=$?
-    fi
-fi
-
-# Modify language pack configuration only when firefox is not running 
-# and language packs are not disabled
-if [ $MOZILLA_DOWN -ne 0 ]; then
-
-    # Clear already installed langpacks
-    mkdir -p $MOZ_EXTENSIONS_PROFILE_DIR
-    if [ -f $FEDORA_LANGPACK_CONFIG ]; then
-        rm `cat $FEDORA_LANGPACK_CONFIG` > /dev/null 2>&1
-        rm $FEDORA_LANGPACK_CONFIG > /dev/null 2>&1
-        # remove all empty langpacks dirs while they block installation of langpacks
-        rmdir $MOZ_EXTENSIONS_PROFILE_DIR/langpack* > /dev/null 2>&1
-    fi
-
-    # Get locale from system
-    CURRENT_LOCALE=$LC_ALL
-    CURRENT_LOCALE=${CURRENT_LOCALE:-$LC_MESSAGES}
-    CURRENT_LOCALE=${CURRENT_LOCALE:-$LANG}
-
-    # Try with a local variant first, then without a local variant
-    SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g"`
-    MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g"`
-
-    function create_langpack_link() {
-        local language=$*
-        local langpack=langpack-${language}@firefox.mozilla.org.xpi
-        if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then
-            rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
-            # If the target file is a symlink (the fallback langpack), 
-            # install the original file instead of the fallback one
-            if [ -h $MOZ_LANGPACKS_DIR/$langpack ]; then
-                langpack=`readlink $MOZ_LANGPACKS_DIR/$langpack`
-            fi
-            ln -s $MOZ_LANGPACKS_DIR/$langpack \
-                  $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
-            echo $MOZ_EXTENSIONS_PROFILE_DIR/$langpack > $FEDORA_LANGPACK_CONFIG
-            return 0
-        fi
-        return 1
-    }
-
-    create_langpack_link $MOZLOCALE || create_langpack_link $SHORTMOZLOCALE || true
-fi
-
-# BEAST fix (rhbz#1005611)
-NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1}
-export NSS_SSL_CBC_RANDOM_IV
-
-# Prepare command line arguments
-script_args=""
-pass_arg_count=0
-while [ $# -gt $pass_arg_count ]
-do
-  case "$1" in
-    -g | --debug)
-      script_args="$script_args -g"
-      debugging=1
-      shift
-      ;;
-    -d | --debugger)
-      if [ $# -gt 1 ]; then
-        script_args="$script_args -d $2"
-        shift 2
-      else
-        shift
-      fi
-      ;;
-    *)
-      # Move the unrecognized argument to the end of the list.
-      arg="$1"
-      shift
-      set -- "$@" "$arg"
-      pass_arg_count=`expr $pass_arg_count + 1`
-      ;;
-  esac
-done
-
-# Run the browser
-debugging=0
-if [ $debugging = 1 ]
-then
-  echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
-fi
-
-exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
diff --git a/SOURCES/mozilla-1005535.patch b/SOURCES/mozilla-1005535.patch
deleted file mode 100644
index d84c913..0000000
--- a/SOURCES/mozilla-1005535.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-# HG changeset patch
-# Parent b7eb1ce0237d6125b75bc8ff1cb3afc328d6e78c
-# User Steve Singer <steve@ssinger.info>
-Bug 1005535 - Get skia GPU building on big endian.
-
-diff -up mozilla-aurora/configure.in.mozbz-1005535 mozilla-aurora/configure.in
---- mozilla-aurora/configure.in.mozbz-1005535	2015-12-18 14:55:09.415983194 +0100
-+++ mozilla-aurora/configure.in	2015-12-18 14:58:46.301911086 +0100
-@@ -8279,12 +8279,12 @@ if test "$MOZ_ENABLE_SKIA"; then
-     AC_DEFINE(SK_BUILD_FOR_ANDROID_NDK)
-   fi
- 
--  if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64" -a "${CPU_ARCH}" != "sparc" -a -z "$MOZ_DISABLE_SKIA_GPU" ; then
-+#  if test "${CPU_ARCH}" != "ppc" -a "${CPU_ARCH}" != "ppc64" -a "${CPU_ARCH}" != "sparc" -a -z "$MOZ_DISABLE_SKIA_GPU" ; then
-     SKIA_INCLUDES="$SKIA_INCLUDES /gfx/skia/skia/include/gpu /gfx/skia/skia/include/utils"
-     MOZ_ENABLE_SKIA_GPU=1
-     AC_DEFINE(USE_SKIA_GPU)
-     AC_SUBST(MOZ_ENABLE_SKIA_GPU)
--  fi
-+#  fi
- fi
- AC_SUBST(MOZ_ENABLE_SKIA)
- AC_SUBST_LIST(SKIA_INCLUDES)
-diff -up mozilla-aurora/gfx/skia/skia/include/config/SkUserConfig.h.mozbz-1005535 mozilla-aurora/gfx/skia/skia/include/config/SkUserConfig.h
-diff -up mozilla-aurora/gfx/skia/skia/include/core/SkColorPriv.h.mozbz-1005535 mozilla-aurora/gfx/skia/skia/include/core/SkColorPriv.h
---- mozilla-aurora/gfx/skia/skia/include/core/SkColorPriv.h.mozbz-1005535	2015-12-16 16:47:08.000000000 +0100
-+++ mozilla-aurora/gfx/skia/skia/include/core/SkColorPriv.h	2015-12-18 14:55:09.416983194 +0100
-@@ -32,17 +32,7 @@
-  *  Here we enforce this constraint.
-  */
- 
--#ifdef SK_CPU_BENDIAN
--    #define SK_RGBA_R32_SHIFT   24
--    #define SK_RGBA_G32_SHIFT   16
--    #define SK_RGBA_B32_SHIFT   8
--    #define SK_RGBA_A32_SHIFT   0
- 
--    #define SK_BGRA_B32_SHIFT   24
--    #define SK_BGRA_G32_SHIFT   16
--    #define SK_BGRA_R32_SHIFT   8
--    #define SK_BGRA_A32_SHIFT   0
--#else
-     #define SK_RGBA_R32_SHIFT   0
-     #define SK_RGBA_G32_SHIFT   8
-     #define SK_RGBA_B32_SHIFT   16
-@@ -52,7 +42,7 @@
-     #define SK_BGRA_G32_SHIFT   8
-     #define SK_BGRA_R32_SHIFT   16
-     #define SK_BGRA_A32_SHIFT   24
--#endif
-+
- 
- #if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
-     #error "can't define PMCOLOR to be RGBA and BGRA"
-diff -up mozilla-aurora/gfx/skia/skia/include/core/SkImageInfo.h.mozbz-1005535 mozilla-aurora/gfx/skia/skia/include/core/SkImageInfo.h
---- mozilla-aurora/gfx/skia/skia/include/core/SkImageInfo.h.mozbz-1005535	2015-12-16 16:47:08.000000000 +0100
-+++ mozilla-aurora/gfx/skia/skia/include/core/SkImageInfo.h	2015-12-18 14:55:09.416983194 +0100
-@@ -88,9 +88,10 @@ enum SkColorType {
- #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
-     kN32_SkColorType = kRGBA_8888_SkColorType,
- #else
--#error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
-+     kN32_SkColorType = kBGRA_8888_SkColorType
- #endif
- 
-+
- #ifdef SK_SUPPORT_LEGACY_N32_NAME
-     kPMColor_SkColorType = kN32_SkColorType
- #endif
-diff -up mozilla-aurora/gfx/skia/skia/include/gpu/GrTypes.h.mozbz-1005535 mozilla-aurora/gfx/skia/skia/include/gpu/GrTypes.h
---- mozilla-aurora/gfx/skia/skia/include/gpu/GrTypes.h.mozbz-1005535	2015-12-16 16:47:08.000000000 +0100
-+++ mozilla-aurora/gfx/skia/skia/include/gpu/GrTypes.h	2015-12-18 14:55:09.416983194 +0100
-@@ -309,15 +309,13 @@ enum GrPixelConfig {
- static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
- 
- // Aliases for pixel configs that match skia's byte order.
--#ifndef SK_CPU_LENDIAN
--    #error "Skia gpu currently assumes little endian"
--#endif
-+
- #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
-     static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
- #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
-     static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_8888_GrPixelConfig;
- #else
--    #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
-+    static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
- #endif
- 
- // Returns true if the pixel config is a GPU-specific compressed format
diff --git a/SOURCES/mozilla-1253216-disable-ion.patch b/SOURCES/mozilla-1253216-disable-ion.patch
deleted file mode 100644
index 6de0720..0000000
--- a/SOURCES/mozilla-1253216-disable-ion.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up firefox-45.0/firefox-45.0/js/src/jit/AtomicOperations.h.old firefox-45.0/firefox-45.0/js/src/jit/AtomicOperations.h
---- firefox-45.0/firefox-45.0/js/src/jit/AtomicOperations.h.old	2016-03-01 09:45:01.000000000 +0100
-+++ firefox-45.0/firefox-45.0/js/src/jit/AtomicOperations.h	2016-03-03 13:13:34.915015391 +0100
-@@ -305,7 +305,7 @@ AtomicOperations::isLockfree(int32_t siz
-     || defined(__ppc__) || defined(__PPC__)
- # include "jit/none/AtomicOperations-ppc.h"
- #elif defined(JS_CODEGEN_NONE)
--# include "jit/none/AtomicOperations-none.h"
-+# include "jit/none/AtomicOperations-ppc.h"
- #elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64)
- # include "jit/x86-shared/AtomicOperations-x86-shared.h"
- #else
diff --git a/SOURCES/mozilla-1270046.patch b/SOURCES/mozilla-1270046.patch
deleted file mode 100644
index 16c6b45..0000000
--- a/SOURCES/mozilla-1270046.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- firefox-46.0.1/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156	2016-05-03 06:31:11.000000000 +0100
-+++ firefox-46.0.1/extensions/auth/nsAuthSambaNTLM.cpp	2016-05-04 10:18:53.157429123 +0100
-@@ -256,7 +256,8 @@ nsAuthSambaNTLM::GetNextToken(const void
-     nsCString line;
-     if (!ReadLine(mFromChildFD, line))
-         return NS_ERROR_FAILURE;
--    if (!StringBeginsWith(line, NS_LITERAL_CSTRING("KK "))) {
-+    if (!StringBeginsWith(line, NS_LITERAL_CSTRING("KK ")) &&
-+        !StringBeginsWith(line, NS_LITERAL_CSTRING("AF "))) {
-         // Something went wrong. Perhaps no credentials are accessible.
-         return NS_ERROR_FAILURE;
-     }
diff --git a/SOURCES/mozilla-975832.patch b/SOURCES/mozilla-975832.patch
deleted file mode 100644
index a98ce03..0000000
--- a/SOURCES/mozilla-975832.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -up firefox-45.2.0esr/netwerk/base/security-prefs.js.mozbz-975832 firefox-45.2.0esr/netwerk/base/security-prefs.js
---- firefox-45.2.0esr/netwerk/base/security-prefs.js.mozbz-975832	2016-06-20 13:09:46.100405009 +0200
-+++ firefox-45.2.0esr/netwerk/base/security-prefs.js	2016-06-20 13:12:21.341155529 +0200
-@@ -22,6 +22,8 @@ pref("security.ssl3.ecdhe_rsa_aes_128_sh
- pref("security.ssl3.ecdhe_ecdsa_aes_128_sha", true);
- pref("security.ssl3.ecdhe_rsa_aes_256_sha", true);
- pref("security.ssl3.ecdhe_ecdsa_aes_256_sha", true);
-+pref("security.ssl3.ecdhe_ecdsa_aes_256_gcm_sha384", true);
-+pref("security.ssl3.ecdhe_rsa_aes_256_gcm_sha384", true);
- pref("security.ssl3.dhe_rsa_aes_128_sha", true);
- pref("security.ssl3.dhe_rsa_aes_256_sha", true);
- pref("security.ssl3.ecdhe_rsa_rc4_128_sha", true);
-diff -up firefox-45.2.0esr/security/manager/ssl/nsNSSCallbacks.cpp.mozbz-975832 firefox-45.2.0esr/security/manager/ssl/nsNSSCallbacks.cpp
---- firefox-45.2.0esr/security/manager/ssl/nsNSSCallbacks.cpp.mozbz-975832	2016-06-20 13:09:46.101405014 +0200
-+++ firefox-45.2.0esr/security/manager/ssl/nsNSSCallbacks.cpp	2016-06-20 13:14:58.491915282 +0200
-@@ -1076,6 +1076,8 @@ AccumulateCipherSuite(Telemetry::ID prob
-     case TLS_ECDHE_RSA_WITH_RC4_128_SHA: value = 8; break;
-     case TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: value = 9; break;
-     case TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: value = 10; break;
-+    case TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: value = 13; break;
-+    case TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: value = 14; break;
-     // DHE key exchange
-     case TLS_DHE_RSA_WITH_AES_128_CBC_SHA: value = 21; break;
-     case TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: value = 22; break;
-diff -up firefox-45.2.0esr/security/manager/ssl/nsNSSComponent.cpp.mozbz-975832 firefox-45.2.0esr/security/manager/ssl/nsNSSComponent.cpp
---- firefox-45.2.0esr/security/manager/ssl/nsNSSComponent.cpp.mozbz-975832	2016-06-20 13:09:46.101405014 +0200
-+++ firefox-45.2.0esr/security/manager/ssl/nsNSSComponent.cpp	2016-06-20 13:13:19.814438221 +0200
-@@ -629,6 +629,11 @@ static const CipherPref sCipherPrefs[] =
-  { "security.ssl3.ecdhe_ecdsa_aes_256_sha",
-    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, true },
- 
-+ { "security.ssl3.ecdhe_ecdsa_aes_256_gcm_sha384",
-+   TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, true },
-+ { "security.ssl3.ecdhe_rsa_aes_256_gcm_sha384",
-+   TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, true },
-+
-  { "security.ssl3.dhe_rsa_aes_128_sha",
-    TLS_DHE_RSA_WITH_AES_128_CBC_SHA, true },
- 
diff --git a/SOURCES/rhbz-1150082.patch b/SOURCES/rhbz-1150082.patch
deleted file mode 100644
index 4091cdb..0000000
--- a/SOURCES/rhbz-1150082.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up mozilla-esr31/media/webrtc/trunk/Makefile.old mozilla-esr31/media/webrtc/trunk/Makefile
-diff -up mozilla-esr31/toolkit/components/osfile/modules/osfile_unix_front.jsm.old mozilla-esr31/toolkit/components/osfile/modules/osfile_unix_front.jsm
---- mozilla-esr31/toolkit/components/osfile/modules/osfile_unix_front.jsm.old	2014-10-11 17:00:02.000000000 +0200
-+++ mozilla-esr31/toolkit/components/osfile/modules/osfile_unix_front.jsm	2014-11-10 13:28:58.474001916 +0100
-@@ -574,7 +574,7 @@
-        };
- 
-        // Fortunately, under Linux, that pumping function can be optimized.
--       if (UnixFile.splice) {
-+       if (0) {
-          const BUFSIZE = 1 << 17;
- 
-          // An implementation of |pump| using |splice| (for Linux/Android)
diff --git a/SOURCES/rhbz-1414535.patch b/SOURCES/rhbz-1414535.patch
new file mode 100644
index 0000000..f9cc7c2
--- /dev/null
+++ b/SOURCES/rhbz-1414535.patch
@@ -0,0 +1,37 @@
+diff -up ./CertVerifier.cpp.ignoreBuiltinStatus ./CertVerifier.cpp
+--- ./security/certverifier/CertVerifier.cpp.ignoreBuiltinStatus	2016-10-31 21:15:28.000000000 +0100
++++ ./security/certverifier/CertVerifier.cpp	2016-12-16 21:35:32.155105623 +0100
+@@ -65,6 +65,9 @@ InitCertVerifierLog()
+ Result
+ IsCertChainRootBuiltInRoot(const UniqueCERTCertList& chain, bool& result)
+ {
++  result = false;
++  return Success;
++#if 0
+   if (!chain || CERT_LIST_EMPTY(chain)) {
+     return Result::FATAL_ERROR_LIBRARY_FAILURE;
+   }
+@@ -77,12 +80,15 @@ IsCertChainRootBuiltInRoot(const UniqueC
+     return Result::FATAL_ERROR_LIBRARY_FAILURE;
+   }
+   return IsCertBuiltInRoot(root, result);
++#endif
+ }
+ 
+ Result
+ IsCertBuiltInRoot(CERTCertificate* cert, bool& result)
+ {
+   result = false;
++  return Success;
++#if 0
+ #ifdef DEBUG
+   nsCOMPtr<nsINSSComponent> component(do_GetService(PSM_COMPONENT_CONTRACTID));
+   if (!component) {
+@@ -114,6 +120,7 @@ IsCertBuiltInRoot(CERTCertificate* cert,
+     }
+   }
+   return Success;
++#endif
+ }
+ 
+ static Result
diff --git a/SOURCES/rhbz-1423012.patch b/SOURCES/rhbz-1423012.patch
new file mode 100644
index 0000000..f5344c2
--- /dev/null
+++ b/SOURCES/rhbz-1423012.patch
@@ -0,0 +1,15 @@
+diff -up firefox-52.0b8/gfx/2d/HelpersCairo.h.old firefox-52.0b8/gfx/2d/HelpersCairo.h
+--- firefox-52.0b8/gfx/2d/HelpersCairo.h.old	2017-03-02 09:23:01.230766731 -0500
++++ firefox-52.0b8/gfx/2d/HelpersCairo.h	2017-03-02 09:23:49.711930251 -0500
+@@ -239,9 +239,9 @@ CairoFormatToGfxFormat(cairo_format_t fo
+ {
+   switch (format) {
+     case CAIRO_FORMAT_ARGB32:
+-      return SurfaceFormat::A8R8G8B8_UINT32;
++      return SurfaceFormat::B8G8R8A8;
+     case CAIRO_FORMAT_RGB24:
+-      return SurfaceFormat::X8R8G8B8_UINT32;
++      return SurfaceFormat::B8G8R8X8;
+     case CAIRO_FORMAT_A8:
+       return SurfaceFormat::A8;
+     case CAIRO_FORMAT_RGB16_565:
diff --git a/SOURCES/xulrunner-24.0-jemalloc-ppc.patch b/SOURCES/xulrunner-24.0-jemalloc-ppc.patch
index fe404ca..d0c3d8c 100644
--- a/SOURCES/xulrunner-24.0-jemalloc-ppc.patch
+++ b/SOURCES/xulrunner-24.0-jemalloc-ppc.patch
@@ -1,12 +1,12 @@
-diff -up xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c.jemalloc-ppc xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c
---- xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c.jemalloc-ppc	2013-09-11 01:15:18.000000000 +0200
-+++ xulrunner-24.0/mozilla-release/memory/mozjemalloc/jemalloc.c	2013-09-13 13:36:34.171680919 +0200
-@@ -1104,7 +1104,7 @@ static unsigned		ncpus;
+diff -up mozilla-aurora/memory/mozjemalloc/jemalloc.c.jemalloc-ppc.patch mozilla-aurora/memory/mozjemalloc/jemalloc.c
+--- mozilla-aurora/memory/mozjemalloc/jemalloc.c.jemalloc-ppc.patch	2016-11-18 08:56:32.242742746 +0100
++++ mozilla-aurora/memory/mozjemalloc/jemalloc.c	2016-11-18 08:59:51.809071876 +0100
+@@ -1096,7 +1096,7 @@ static const bool config_recycle = false
   * controlling the malloc behavior are defined as compile-time constants
   * for best performance and cannot be altered at runtime.
   */
--#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__)
-+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !(defined(__powerpc__))
+-#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__)
++#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__) && !defined(__powerpc__)
  #define MALLOC_STATIC_SIZES 1
  #endif
  
diff --git a/SPECS/firefox.spec b/SPECS/firefox.spec
index 4178a97..c5d5f10 100644
--- a/SPECS/firefox.spec
+++ b/SPECS/firefox.spec
@@ -1,6 +1,6 @@
 %define system_nss              1
-%global nspr_version            4.11.0
-%global nss_version             3.21.0
+%global nspr_version            4.13.1
+%global nss_version             3.28.2
 %define system_sqlite           0
 %define sqlite_version          3.8.4.2
 %define system_ffi              1
@@ -10,16 +10,15 @@
 %define python_version          2.7.8
 %define use_bundled_gcc         0
 %define gcc_version             4.8.2-16
-%define enable_gstreamer        1
-%define system_cairo            0
 %define cairo_version           1.10.2
 %define freetype_version        2.1.9
 %define system_jpeg             1
-%define system_gio              1
-%define system_hunspell         1
 %define system_libatomic        0
+%define with_intl_api           1
 %define use_baselinejit         1
 %define official_branding       1
+%define use_gtk3                0
+
 
 %define debug_build             0
 # This is for local builds or builds in mock with --no-clean
@@ -44,30 +43,20 @@
 %define use_bundled_gcc         1
 %define use_bundled_yasm        1
 %define system_ffi              0
-%define enable_gstreamer        0
-%define use_bundled_binutils    1
-%endif
-
-# RHEL5
-%if 0%{?rhel} == 5
-%define use_bundled_python      1
-%define use_bundled_gcc         1
-%define use_bundled_yasm        1
-%define system_ffi              0
-%define enable_gstreamer        0
 %define use_bundled_binutils    1
-%define system_jpeg             0
-%define system_gio              0
-%define system_hunspell         0
-# ppc and ia64 no longer supported (rhbz#1214863, rhbz#1214865)
-ExcludeArch: ppc ia64
-%define system_libatomic        1
 %endif
 
 # Require libatomic for ppc
 %ifarch ppc
 %define system_libatomic        1
 %endif
+# Big endian platforms
+%ifarch ppc ppc64 s390 s390x
+# Javascript Intl API is not supported on big endian platforms right now:
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1322212
+%define with_intl_api           1
+%define big_endian              1
+%endif
 
 # ============================================================================
 
@@ -87,8 +76,8 @@ ExcludeArch: ppc ia64
 
 Summary:        Mozilla Firefox Web browser
 Name:           firefox
-Version:        45.7.0
-Release:        2%{?dist}
+Version:        52.0
+Release:        4%{?dist}
 URL:            http://www.mozilla.org/projects/firefox/
 License:        MPLv1.1 or GPLv2+ or LGPLv2+
 Group:          Applications/Internet
@@ -99,12 +88,11 @@ Group:          Applications/Internet
 # From ftp://archive.mozilla.org/pub/firefox/releases/%{version}%{?ext_version}/source
 Source0:        firefox-%{version}%{?ext_version}.source.tar.xz
 %if %{build_langpacks}
-Source1:        firefox-langpacks-%{version}%{?ext_version}-20170119.tar.xz
+Source1:        firefox-langpacks-%{version}%{?ext_version}-20170306.tar.xz
 %endif
 Source10:       firefox-mozconfig
-Source12:       firefox-centos-default-prefs.js
+Source12:       firefox-redhat-default-prefs.js
 Source20:       firefox.desktop
-Source500:      firefox.sh.in.rhel5
 Source600:      firefox.sh.in.rhel6
 Source700:      firefox.sh.in.rhel7
 Source23:       firefox.1
@@ -114,48 +102,41 @@ Source200:      https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
 Source300:      gcc48-%{gcc_version}.el5.src.rpm
 Source301:      yasm-1.2.0-3.el5.src.rpm
 Source302:      devtoolset-2-binutils-2.23.52.0.1-10.el5.src.rpm
-# RHEL5 bookmarks
-Source501:       firefox-centos-default-bookmarks.html
 
 # Build patches
 Patch0:         firefox-install-dir.patch
 Patch5:         xulrunner-24.0-jemalloc-ppc.patch
 Patch6:         webrtc-arch-cpu.patch
 Patch8:         firefox-ppc64le.patch
-Patch16:        mozilla-1253216-disable-ion.patch
-Patch17:        build-nss.patch
+#ALREADY Patch19:        mozilla-1319374-skia-endian.patch
+Patch20:        build-s390-atomic.patch
+Patch21:        build-icu-big-endian.patch
+Patch22:        build-missing-getrandom.patch
+Patch23:        build-nss-version.patch
+Patch24:        build-nss-prbool.patch
 
 # RHEL patches
 Patch101:       firefox-default.patch
+# TODO code changed a lot, need to test it
 Patch102:       firefox-enable-addons.patch
 Patch103:       rhbz-966424.patch
 Patch106:       firefox-enable-plugins.patch
-Patch109:       aarch64-fix-skia.patch
 Patch110:       mozilla-1170092-etc-conf.patch
 Patch111:       rhbz-1173156.patch
 Patch112:       mozilla-256180.patch
+Patch113:       rhbz-1414535.patch
+Patch114:       rhbz-1423012.patch
 
 # Upstream patches
-Patch201:       mozilla-1005535.patch
+# Skia support for big endian platforms, since patch got review- I think we can delete that:
+#Patch201:       mozilla-1005535.patch
 # Kaie's patch, we'll most likely need this one
 Patch202:       mozilla-1152515.patch
-Patch203:       mozilla-1270046.patch
-# Laszlo Ersek patch for avoid obscure crashing on aarch64
 
 # RHEL7 patches
-Patch300:       mozilla-975832.patch
-
-# RHEL5 patches
-Patch500:       build-el5-build-id.patch
-Patch501:       build-el5-sandbox.patch
-Patch502:       build-el5-gtk2-2.10.patch
-Patch503:       build-el5-xlib-header.patch
-Patch504:       build-el5-rt-tgsigqueueinfo.patch
-Patch505:       build-el5-rapl.patch
-Patch506:       build-el5-fontconfig.patch
-Patch507:       build-el5-stdint.patch
-Patch508:       build-el5-nss.patch
-Patch509:       rhbz-1150082.patch
+
+# RHEL6 patches
+# HOPEFULY fixed Patch401:       build-el6-harfbuzz-old-glib.patch
 
 # ---------------------------------------------------
 BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
@@ -166,7 +147,11 @@ BuildRequires:  zip
 BuildRequires:  bzip2-devel
 BuildRequires:  zlib-devel
 BuildRequires:  libIDL-devel
+%if %{?use_gtk3}
+BuildRequires:  gtk3-devel
+%else
 BuildRequires:  gtk2-devel
+%endif
 BuildRequires:  gnome-vfs2-devel
 BuildRequires:  libgnome-devel
 BuildRequires:  libgnomeui-devel
@@ -195,9 +180,6 @@ BuildRequires:  nss-devel >= %{nss_version}
 Requires:       nspr >= %{nspr_version}
 Requires:       nss >= %{nss_version}
 %endif
-%if %{?system_cairo}
-BuildRequires:  cairo-devel >= %{cairo_version}
-%endif
 %if %{?system_sqlite}
 BuildRequires:  sqlite-devel >= %{sqlite_version}
 Requires:       sqlite >= %{sqlite_build_version}
@@ -206,17 +188,9 @@ Requires:       sqlite >= %{sqlite_build_version}
 BuildRequires:  libffi-devel >= %{ffi_version}
 Requires:       libffi >= %{ffi_version}
 %endif
-%if %{?enable_gstreamer}
-BuildRequires:  gstreamer1-devel
-BuildRequires:  gstreamer1-plugins-base-devel
-%endif
 BuildRequires:  libpng-devel
-%if %{?system_jpeg}
 BuildRequires:  libjpeg-devel
-%endif
-%if %{?system_hunspell}
 BuildRequires:  hunspell-devel
-%endif
 %if %{system_libatomic}
 BuildRequires:  libatomic
 Requires:       libatomic
@@ -247,13 +221,6 @@ Requires:       liberation-fonts-common
 Requires:       liberation-sans-fonts
 %endif
 
-# RHEL5 requires
-%if 0%{rhel} == 5
-BuildRequires:  libXcomposite-devel
-BuildRequires:  libXdamage-devel
-BuildRequires:  xorg-x11-proto-devel
-%endif
-
 Obsoletes:      mozilla <= 37:1.7.13
 Obsoletes:      firefox < 38.0
 Conflicts:      firefox < 38.0
@@ -393,45 +360,41 @@ cd %{tarballdir}
 # Build patches
 # We have to keep original patch backup extension to go thru configure without problems with tests
 %patch0 -p1 -b .orig
-%patch5 -p2 -b .jemalloc-ppc.patch
+%patch5 -p1 -b .jemalloc-ppc.patch
 %patch6 -p1 -b .webrtc-arch-cpu
 %patch8 -p2 -b .ppc64le
-%patch16 -p2 -b .moz-1253216-disable-ion
-%patch17 -p1 -b .build-nss
+#ALREADY %patch19 -p1 -b .skia-endian
+%patch20 -p1 -b .s390-atomic
+%patch22 -p1 -b .missing-getrandom
+%patch23 -p1 -b .nss-version
+%patch24 -p1 -b .nss-prbool
 
 # RPM specific patches
 %patch101 -p1 -b .default
 %patch102 -p1 -b .addons
 %patch103 -p1 -b .rhbz-966424
 %patch106 -p2 -b .plugins
-%patch109 -p1 -b .aarch64
 %patch110 -p1 -b .moz-1170092-etc-conf
 %patch111 -p2 -b .rhbz-1173156
 %patch112 -p1 -b .mozbz-256180
+%patch113 -p1 -b .rhbz-1414535
+%patch114 -p1 -b .rhbz-1423012
 
 # Upstream patches
-%patch201 -p1 -b .mozbz-1005535
-# FIXME: will require this?: by kai
+#%patch201 -p1 -b .mozbz-1005535 see Patch201 comment
 %patch202 -p1 -b .mozbz-1152515
-%patch203 -p1 -b .mozbz-1270046
 
 # RHEL7 only patches
 %if %{?rhel} == 7
-%patch300 -p1 -b .mozbz-975832
 %endif
 
-# RHEL5 only patches
-%if %{?rhel} == 5
-%patch500 -p1 -b .gnu-build-id
-%patch501 -p1 -b .build-sandbox
-%patch502 -p1 -b .build-gtk2
-%patch503 -p1 -b .build-xlib-swap
-%patch504 -p1 -b .build-rt-tgsigqueueinfo
-%patch505 -p1 -b .build-el5-rapl
-%patch506 -p1 -b .build-el5-fontconfig
-%patch507 -p1 -b .build-el5-stdint
-%patch508 -p1 -b .build-el5-nss
-%patch509 -p1 -b .rhbz-1150082
+#%if %{?rhel} == 6
+#HOPEFULY FIXED %patch401 -p1 -b .harfbuzz-old-glib
+#%endif
+
+# Patch for big endian platforms only
+%if 0%{?big_endian}
+%patch21 -p1 -b .s390-atomic
 %endif
 
 %{__rm} -f .mozconfig
@@ -448,20 +411,16 @@ function add_to_mozconfig() {
  add_to_mozconfig "enable-official-branding"
 %endif
 
-%if %{?system_sqlite}
- add_to_mozconfig "enable-system-sqlite"
+%if %{?use_gtk3}
+ add_to_mozconfig "enable-default-toolkit=cairo-gtk3"
 %else
- add_to_mozconfig "disable-system-sqlite"
+ add_to_mozconfig "enable-default-toolkit=cairo-gtk2"
 %endif
 
-%if %{?system_cairo}
- add_to_mozconfig "enable-system-cairo"
+%if %{?system_sqlite}
+ add_to_mozconfig "enable-system-sqlite"
 %else
- add_to_mozconfig "disable-system-cairo"
-%endif
-
-%if %{?system_ffi}
- add_to_mozconfig "enable-system-ffi"
+ add_to_mozconfig "disable-system-sqlite"
 %endif
 
 %if %{?system_nss}
@@ -472,24 +431,8 @@ function add_to_mozconfig() {
  add_to_mozconfig "without-system-nss"
 %endif
 
-%if %{?enable_gstreamer}
- add_to_mozconfig "enable-gstreamer=1.0"
-%else
- add_to_mozconfig "disable-gstreamer"
-%endif
-
-%if %{?system_jpeg}
- add_to_mozconfig "with-system-jpeg"
-%else
- add_to_mozconfig "without-system-jpeg"
-%endif
-%if %{?system_hunspell}
- add_to_mozconfig "enable-system-hunspell"
-%endif
-
 # RHEL 7 mozconfig changes:
 %if 0%{rhel} >= 6
- add_to_mozconfig "enable-libnotify"
  add_to_mozconfig "enable-startup-notification"
  add_to_mozconfig "enable-jemalloc"
 %endif
@@ -498,23 +441,18 @@ function add_to_mozconfig() {
 %if 0%{rhel} == 6
  # Disable dbus, because we're unable to build with its support in brew
  add_to_mozconfig "disable-dbus"
+ # ctypes require system libffi for these platforms and RHEL6 does not have libffi >= 3.0.9 available
+ %ifarch ppc64 ppc64le ppc s390 s390x
+  add_to_mozconfig "disable-ctypes"
+ %endif
 %endif
 
-%if 0%{rhel} == 5
- add_to_mozconfig "disable-pulseaudio"
-%endif
-
-%ifarch aarch64
+%ifarch aarch64 ppc64 ppc64le ppc s390 s390x
  add_to_mozconfig "disable-ion"
 %endif
 
-%if %{system_gio}
- add_to_mozconfig "enable-gio"
- #add_to_mozconfig "disable-gnomevfs"
-%else
- # TODO: gnomevfs for RHEL5!
- add_to_mozconfig "disable-gio"
- #add_to_mozconfig "enable-gnomevfs"
+%ifarch aarch64 ppc ppc64 s390 s390x
+ add_to_mozconfig "disable-skia"
 %endif
 
 # Debug build flags
@@ -526,6 +464,17 @@ function add_to_mozconfig() {
  add_to_mozconfig "enable-optimize"
 %endif
 
+%if %{?with_intl_api}
+ add_to_mozconfig "with-intl-api"
+%else
+ add_to_mozconfig "without-intl-api"
+%endif
+#TODO reconsider this, really needed for RHEL7 or even RHEL6? Disabling this 
+#also require to disable-fmp4 and most likely disable-eme
+#Disabled due to rhbz#1330898
+#add_to_mozconfig "disable-ffmpeg"
+
+#TODO what's this?
 #FIXME RTTI?? RHEL5/6
 # ac_add_options --enable-cpp-rtti
 # RHEL7: ac_add_options --with-system-bz2
@@ -598,17 +547,7 @@ function build_bundled_package() {
 # Install local GCC if needed
 # ======================================
 %if %{use_bundled_gcc}
-  %if %{rhel} == 5
-    %ifarch ppc64
-      export STRIP="/bin/true"
-    %endif
-  %endif
   build_bundled_package 'gcc48-%{gcc_version}*.rpm' 'gcc48-*.rpm' '%{SOURCE300}'
-  %if %{rhel} == 5
-    %ifarch ppc64
-      unset STRIP
-    %endif
-  %endif
   export CXX=g++
 %endif
 
@@ -646,6 +585,19 @@ function build_bundled_package() {
 echo "Building Firefox"; echo "==============================="
 cd %{tarballdir}
 
+# Hack for missing shell when building in brew on RHEL6 and RHEL5
+%if 0%{?rhel} <= 6
+export SHELL=/bin/sh
+%endif
+
+echo "Generate big endian version of config/external/icu/data/icud58l.dat"
+%if 0%{?big_endian}
+  ./mach python intl/icu_sources_data.py .
+  ls -l config/external/icu/data
+  rm -f config/external/icu/data/icudt*l.dat
+%endif
+
+
 # 1. Mozilla builds with -Wall with exception of a few warnings which show up
 #    everywhere in the code; so, don't override that.
 # 2. -Werror=format-security causes build failures when -Wno-format is explicitly given
@@ -668,16 +620,6 @@ MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overhea
   %endif
 %endif
 
-%if %{rhel} == 5
-  %if %{system_libatomic}
-    # Force to use ld.bfd linker instead of ld.gold
-    MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -fuse-ld=bfd -l:libatomic.so.1"
-  %endif
-  %ifarch i386 i686
-    MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-march=i386/-march=i586/')
-  %endif
-%endif
-
 %if %{?debug_build}
   MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//')
 %endif
@@ -689,11 +631,6 @@ export LDFLAGS="-Wl,--verbose $MOZ_LINK_FLAGS"
 export PREFIX='%{_prefix}'
 export LIBDIR='%{_libdir}'
 
-# Hack for missing shell when building in brew on RHEL6 and RHEL5
-%if 0%{?rhel} <= 6
-export SHELL=/bin/sh
-%endif
-
 MOZ_SMP_FLAGS=-j1
 [ -z "$RPM_BUILD_NCPUS" ] && \
      RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
@@ -708,16 +645,16 @@ make -f client.mk build STRIP="/bin/true" MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
 #---------------------------------------------------------------------
 
 %install
+# Hack for missing shell when building in brew on RHEL6 and RHEL5
+%if 0%{?rhel} <= 6
+export SHELL=/bin/sh
+%endif
+
 cd %{tarballdir}
 %{__rm} -rf $RPM_BUILD_ROOT
 
-%if %{rhel} == 5
-# set up our default bookmarks
-%{__cp} -p %{SOURCE501} objdir/dist/bin/browser/defaults/profile/bookmarks.html
-%else
 # set up our default bookmarks
 %{__cp} -p %{default_bookmarks_file} objdir/dist/bin/browser/defaults/profile/bookmarks.html
-%endif
 
 # Make sure locale works for langpacks
 %{__cat} > objdir/dist/bin/browser/defaults/preferences/firefox-l10n.js << EOF
@@ -729,26 +666,15 @@ DESTDIR=$RPM_BUILD_ROOT make -C objdir install
 
 %{__mkdir_p} $RPM_BUILD_ROOT{%{_libdir},%{_bindir},%{_datadir}/applications}
 
-%if %{rhel} == 5
-desktop-file-install --vendor mozilla \
-  --dir $RPM_BUILD_ROOT%{_datadir}/applications \
-  --add-category WebBrowser \
-  --add-category Network \
-  %{SOURCE20}
-%else
 desktop-file-install \
   --dir $RPM_BUILD_ROOT%{_datadir}/applications \
   --add-category WebBrowser \
   --add-category Network \
   %{SOURCE20}
-%endif
 
 # Set up the firefox start script, unfortunatelly it is different for each RHEL
 rm -rf $RPM_BUILD_ROOT%{_bindir}/firefox
 FIREFOX_SH_SOURCE=%{SOURCE700}
-%if %{rhel} == 5
-  FIREFOX_SH_SOURCE=%{SOURCE500}
-%endif
 %if %{rhel} == 6
   FIREFOX_SH_SOURCE=%{SOURCE600}
 %endif
@@ -841,10 +767,8 @@ ln -s %{mozappdir}/defaults/preferences $RPM_BUILD_ROOT/%{mozappdir}/browser/def
 %{__install} -p -c -m 644 LICENSE $RPM_BUILD_ROOT/%{mozappdir}
 
 # Use the system dictionaries for system hunspell
-%if %{system_hunspell}
-  %{__rm} -rf ${RPM_BUILD_ROOT}%{mozappdir}/dictionaries
-  ln -s %{_datadir}/myspell ${RPM_BUILD_ROOT}%{mozappdir}/dictionaries
-%endif
+%{__rm} -rf ${RPM_BUILD_ROOT}%{mozappdir}/dictionaries
+ln -s %{_datadir}/myspell ${RPM_BUILD_ROOT}%{mozappdir}/dictionaries
 
 # Clean firefox-devel debuginfo
 rm -rf %{_prefix}/lib/debug/lib/%{name}-devel-*
@@ -895,22 +819,23 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{_datadir}/icons/hicolor/24x24/apps/firefox.png
 %{_datadir}/icons/hicolor/256x256/apps/firefox.png
 %{_datadir}/icons/hicolor/32x32/apps/firefox.png
-%if %{rhel} == 5
-%{_datadir}/applications/mozilla-%{name}.desktop
-%else
 %{_datadir}/applications/%{name}.desktop
-%endif
 %dir %{mozappdir}
 %doc %{mozappdir}/LICENSE
 %{mozappdir}/browser/chrome
 %{mozappdir}/browser/chrome.manifest
-%dir %{mozappdir}/browser/components
-%{mozappdir}/browser/components/*.so
-%{mozappdir}/browser/components/*.manifest
+%{mozappdir}/browser/features/aushelper@mozilla.org.xpi
+%{mozappdir}/browser/features/e10srollout@mozilla.org.xpi
+%{mozappdir}/browser/features/firefox@getpocket.com.xpi
+%{mozappdir}/browser/features/webcompat@mozilla.org.xpi
+#gone %{mozappdir}/browser/features/disableSHA1rollout@mozilla.org.xpi
+#gone %dir %{mozappdir}/browser/components
+#gone %{mozappdir}/browser/components/*.so
+#gone %{mozappdir}/browser/components/*.manifest
 %attr(644, root, root) %{mozappdir}/browser/blocklist.xml
 %dir %{mozappdir}/browser/extensions
 %{mozappdir}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
-%{mozappdir}/browser/features/loop@mozilla.org.xpi
+# gone %{mozappdir}/browser/features/loop@mozilla.org.xpi
 %dir %{mozappdir}/langpacks
 %{mozappdir}/browser/icons
 %{mozappdir}/browser/omni.ja
@@ -921,16 +846,29 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{mozappdir}/defaults/preferences/*
 %{mozappdir}/browser/defaults/preferences
 %exclude %{mozappdir}/removed-files
-%{mozappdir}/webapprt-stub
-%dir %{mozappdir}/webapprt
-%{mozappdir}/webapprt/omni.ja
-%{mozappdir}/webapprt/webapprt.ini
+# gone %{mozappdir}/webapprt-stub
+# gone %dir %{mozappdir}/webapprt
+# g %{mozappdir}/webapprt/omni.ja
+# g %{mozappdir}/webapprt/webapprt.ini
 %{mozappdir}/dictionaries
 %{mozappdir}/*.so
 %{mozappdir}/omni.ja
 %{mozappdir}/platform.ini
 %{mozappdir}/plugin-container
 %{mozappdir}/dependentlibs.list
+%{mozappdir}/chrome.manifest
+%{mozappdir}/fonts/EmojiOneMozilla.ttf
+%{mozappdir}/gmp-clearkey
+%if %{?use_gtk3}
+%{mozappdir}/gtk2/*.so
+%endif
+%if %{?with_intl_api}
+%if 0%{?big_endian}
+%{mozappdir}/icudt58b.dat
+%else
+%{mozappdir}/icudt58l.dat
+%endif
+%endif
 %exclude %{mozappdir}/defaults/pref/channel-prefs.js
 %if !%{?system_nss}
 %{mozappdir}/*.chk
@@ -938,34 +876,43 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %exclude %{_datadir}/idl/*
 %exclude %{_includedir}/*
 %exclude %{_libdir}/%{name}-devel-*/*
-%if !%{?system_nss}
-%{mozappdir}/libfreebl3.chk
-%{mozappdir}/libnssdbm3.chk
-%{mozappdir}/libsoftokn3.chk
-%endif
-# Needed for ffmpeg
-%{mozappdir}/gmp-clearkey/*
 
 #---------------------------------------------------------------------
 
 %changelog
-* Tue Feb 21 2017 CentOS Sources <bugs@centos.org> - 45.7.0-2.el7.centos
-- CentOS default prefs
+* Mon Mar  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-4
+- Update to 52.0 ESR (b4)
+
+* Thu Mar 2 2017 Martin Stransky <stransky@redhat.com> - 52.0-3
+- Added fix for rhbz#1423012 - ppc64 gfx crashes
+
+* Wed Mar  1 2017 Jan Horak <jhorak@redhat.com> - 52.0-2
+- Enable system nss
+
+* Tue Feb 28 2017 Martin Stransky <stransky@redhat.com> - 52.0-1
+- Update to 52.0ESR (B1)
+- Build RHEL7 package for Gtk3
+
+* Mon Feb 27 2017 Martin Stransky <stransky@redhat.com> - 52.0-0.13
+- Added fix for rhbz#1414535
+
+* Tue Feb 21 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.12
+- Update to 52.0b8
 
-* Fri Feb 3 2017 Martin Stransky <stransky@redhat.com> - 45.7.0-2
-- Enabled ppc/s390 arches (rhbz#1418765)
+* Tue Feb  7 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.11
+- Readded addons patch
 
-* Thu Jan 19 2017 Martin Stransky <stransky@redhat.com> - 45.7.0-1
-- Updated to 45.7.0 (B1)
+* Mon Feb  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.10
+- Update to 52.0b3
 
-* Wed Jan 11 2017 Martin Stransky <stransky@redhat.com> - 45.6.0-2
-- Enabled ffmpeg > 54.35.1 (rhbz#1330898, mozbz#1263665)
+* Tue Jan 31 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.9
+- Update to 52.0b2
 
-* Sun Dec 11 2016 Jan Horak <jhorak@redhat.com> - 45.6.0-1
-- Update to 45.6.0 ESR
+* Fri Jan 27 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.8
+- Update to 52.0b1
 
-* Wed Nov 30 2016 Jan Horak <jhorak@redhat.com> - 45.5.1-1
-- Update to 45.5.1 ESR
+* Thu Dec  8 2016 Jan Horak <jhorak@redhat.com> - 52.0-0.5
+- Firefox Aurora 52 testing build
 
 * Tue Nov  8 2016 Jan Horak <jhorak@redhat.com> - 45.5.0-1
 - Update to 45.5.0 ESR