[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - download.lst external/libetonyek

David Tardon dtardon at redhat.com
Fri Jun 26 04:46:01 PDT 2015


 download.lst                                                 |    4 
 external/libetonyek/0001-add-missing-breaks.patch.1          |   36 
 external/libetonyek/0001-add-missing-include.patch.1         |   25 
 external/libetonyek/0001-missing-include.patch.1             |   25 
 external/libetonyek/0001-try-to-fix-build-on-Windows.patch.1 |   45 
 external/libetonyek/0002-remove-surplus-breaks.patch.1       |   38 
 external/libetonyek/ExternalProject_libetonyek.mk            |    3 
 external/libetonyek/Library_etonyek.mk                       |   30 
 external/libetonyek/UnpackedTarball_libetonyek.mk            |    5 
 external/libetonyek/assert.patch                             |   11 
 external/libetonyek/generated/IWORKToken.inc                 |  721 -----------
 external/libetonyek/generated/KEY1Token.inc                  |  540 --------
 external/libetonyek/generated/KEY2Token.inc                  |  216 ---
 external/libetonyek/generated/NUM1Token.inc                  |  147 --
 external/libetonyek/generated/NUMToken.inc                   |  146 --
 external/libetonyek/generated/PAG1Token.inc                  |  158 --
 external/libetonyek/generated/PAGToken.inc                   |  158 --
 external/libetonyek/ubsan.patch                              |   20 
 18 files changed, 114 insertions(+), 2214 deletions(-)

New commits:
commit 60e38140db23ce714b172f8e60d71da4e4c495e5
Author: David Tardon <dtardon at redhat.com>
Date:   Tue Jun 2 17:49:48 2015 +0200

    upload libetonyek 0.1.3
    
    (cherry picked from commit ee3d40b30816a8fc6d4e8f984659c8dfac19ec3b)
    
    Change-Id: I451f02ee93a798c9c1712082d59a7ff96b0d4a4e
    Reviewed-on: https://gerrit.libreoffice.org/16508
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/download.lst b/download.lst
index 78b12c2..0896f3e 100644
--- a/download.lst
+++ b/download.lst
@@ -34,8 +34,8 @@ export DBGHELP_DLL := 13fbc2e8b37ddf28181dd6d8081c2b8e-dbghelp.dll
 export EBOOK_MD5SUM := 6b48eda57914e6343efebc9381027b78
 export EBOOK_TARBALL := libe-book-0.1.2.tar.bz2
 export EPM_TARBALL := 3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz
-export ETONYEK_MD5SUM := 1704a75df7621d8073b921f8b6506951
-export ETONYEK_VERSION_MICRO := 2
+export ETONYEK_MD5SUM := e5947373dd7834f27e93f1636faa419f
+export ETONYEK_VERSION_MICRO := 3
 export ETONYEK_TARBALL := libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.bz2
 export EXPAT_TARBALL := dd7dab7a5fea97d2a6a43f511449b7cd-expat-2.1.0.tar.gz
 export FIREBIRD_MD5SUM := 21154d2004e025c8a3666625b0357bb5
diff --git a/external/libetonyek/0001-add-missing-breaks.patch.1 b/external/libetonyek/0001-add-missing-breaks.patch.1
deleted file mode 100644
index 7e11682..0000000
--- a/external/libetonyek/0001-add-missing-breaks.patch.1
+++ /dev/null
@@ -1,36 +0,0 @@
-From 54c63c653deb070c49621bea8acbc18f76118238 Mon Sep 17 00:00:00 2001
-From: David Tardon <dtardon at redhat.com>
-Date: Tue, 26 May 2015 16:56:56 +0200
-Subject: [PATCH 1/2] add missing breaks
-
-Change-Id: I6a6afd517e61aff89319348de5af3aa97093bd1d
----
- src/lib/KEY2Parser.cpp | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/lib/KEY2Parser.cpp b/src/lib/KEY2Parser.cpp
-index bb58efd..4ba70d2 100644
---- a/src/lib/KEY2Parser.cpp
-+++ b/src/lib/KEY2Parser.cpp
-@@ -261,8 +261,10 @@ void PointElement::attribute(const int name, const char *const value)
-   {
-   case IWORKToken::NS_URI_SFA | IWORKToken::x :
-     m_point.first = lexical_cast<double>(value);
-+    break;
-   case IWORKToken::NS_URI_SFA | IWORKToken::y :
-     m_point.second = lexical_cast<double>(value);
-+    break;
-   }
- }
- 
-@@ -358,6 +360,7 @@ void PointPathElement::attribute(const int name, const char *const value)
-       ETONYEK_DEBUG_MSG(("unknown point path type: %s\n", value));
-       break;
-     }
-+    break;
-   }
-   default :
-     KEY2XMLElementContextBase::attribute(name, value);
--- 
-2.4.1
-
diff --git a/external/libetonyek/0001-add-missing-include.patch.1 b/external/libetonyek/0001-add-missing-include.patch.1
new file mode 100644
index 0000000..9c80674
--- /dev/null
+++ b/external/libetonyek/0001-add-missing-include.patch.1
@@ -0,0 +1,25 @@
+From 00f7e36ce2a3996ebef672561014ab101eee7f3a Mon Sep 17 00:00:00 2001
+From: David Tardon <dtardon at redhat.com>
+Date: Thu, 25 Jun 2015 12:00:49 +0200
+Subject: [PATCH] add missing include
+
+Change-Id: I8bfcacb064b3d0f9d7d5db9d2f32108b0ceea792
+---
+ src/lib/IWORKTypes_fwd.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/lib/IWORKTypes_fwd.h b/src/lib/IWORKTypes_fwd.h
+index f7a4fb2..1096df8 100644
+--- a/src/lib/IWORKTypes_fwd.h
++++ b/src/lib/IWORKTypes_fwd.h
+@@ -9,6 +9,7 @@
+ #ifndef IWORKTYPES_FWD_H_INCLUDED
+ #define IWORKTYPES_FWD_H_INCLUDED
+ 
++#include <deque>
+ #include <string>
+ 
+ #include <boost/shared_ptr.hpp>
+-- 
+2.4.2
+
diff --git a/external/libetonyek/0001-missing-include.patch.1 b/external/libetonyek/0001-missing-include.patch.1
deleted file mode 100644
index f3e4e24..0000000
--- a/external/libetonyek/0001-missing-include.patch.1
+++ /dev/null
@@ -1,25 +0,0 @@
-From 3663b7b44646e1ed1218598aeb0bdf7326934029 Mon Sep 17 00:00:00 2001
-From: David Tardon <dtardon at redhat.com>
-Date: Tue, 19 May 2015 18:44:53 +0200
-Subject: [PATCH] missing include
-
-Change-Id: Ie7a733b49a5b9a056671f4274b5194c3891569ae
----
- src/lib/IWORKText.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/lib/IWORKText.cpp b/src/lib/IWORKText.cpp
-index 3413ef3..c37b1bc 100644
---- a/src/lib/IWORKText.cpp
-+++ b/src/lib/IWORKText.cpp
-@@ -11,6 +11,7 @@
- 
- #include <cassert>
- #include <string>
-+#include <vector>
- 
- #include <boost/algorithm/string/classification.hpp>
- #include <boost/algorithm/string/predicate.hpp>
--- 
-2.4.0
-
diff --git a/external/libetonyek/0001-try-to-fix-build-on-Windows.patch.1 b/external/libetonyek/0001-try-to-fix-build-on-Windows.patch.1
new file mode 100644
index 0000000..0338ac1
--- /dev/null
+++ b/external/libetonyek/0001-try-to-fix-build-on-Windows.patch.1
@@ -0,0 +1,45 @@
+From f7ca931e581f2d63f73bcd324da50f5ee3ae1f59 Mon Sep 17 00:00:00 2001
+From: David Tardon <dtardon at redhat.com>
+Date: Thu, 25 Jun 2015 18:09:17 +0200
+Subject: [PATCH] try to fix build on Windows
+
+Change-Id: Iff2aa943aef9c23c60e400f092f884fc00de4ccf
+---
+ src/lib/IWORKPath.cpp | 14 +-------------
+ 1 file changed, 1 insertion(+), 13 deletions(-)
+
+diff --git a/src/lib/IWORKPath.cpp b/src/lib/IWORKPath.cpp
+index 0600106..cb33097 100644
+--- a/src/lib/IWORKPath.cpp
++++ b/src/lib/IWORKPath.cpp
+@@ -266,18 +266,6 @@ void CurveTo::write(RVNGPropertyList &element) const
+ 
+ }
+ 
+-namespace
+-{
+-
+-void doAppendCurveTo(IWORKPath *const path, const std::vector<double> &points)
+-{
+-  assert(path);
+-  assert(points.size() == 6);
+-  path->appendCurveTo(points[0], points[1], points[2], points[3], points[4], points[5]);
+-}
+-
+-}
+-
+ IWORKPath::Element::~Element()
+ {
+ }
+@@ -301,7 +289,7 @@ IWORKPath::IWORKPath(const std::string &path)
+ 
+   const qi::rule<string::const_iterator, ascii::space_type> rule =
+     +(
+-      ('C' >> qi::repeat(6)[double_])[bind(&doAppendCurveTo, this, qi::_1)]
++      ('C' >> double_ >> double_ >> double_ >> double_ >> double_ >> double_)[bind(&IWORKPath::appendCurveTo, this, qi::_1, qi::_2, qi::_3, qi::_4, qi::_5, qi::_6)]
+       | ('M' >> double_ >> double_)[bind(&IWORKPath::appendMoveTo, this, qi::_1, qi::_2)]
+       | ('L' >> double_ >> double_)[bind(&IWORKPath::appendLineTo, this, qi::_1, qi::_2)]
+       | qi::char_('Z')[bind(&IWORKPath::appendClose, this)]
+-- 
+2.4.2
+
diff --git a/external/libetonyek/0002-remove-surplus-breaks.patch.1 b/external/libetonyek/0002-remove-surplus-breaks.patch.1
deleted file mode 100644
index be6b94a..0000000
--- a/external/libetonyek/0002-remove-surplus-breaks.patch.1
+++ /dev/null
@@ -1,38 +0,0 @@
-From 91d39222d9f120211c0189f69299898702a65d3d Mon Sep 17 00:00:00 2001
-From: David Tardon <dtardon at redhat.com>
-Date: Tue, 26 May 2015 17:01:22 +0200
-Subject: [PATCH 2/2] remove surplus breaks
-
-Change-Id: Ib98a4a5bcd7d9f9eb03874f0715b45bb141ef12d
----
- src/lib/KEY2Parser.cpp                  | 1 -
- src/lib/contexts/IWORKStylesContext.cpp | 1 -
- 2 files changed, 2 deletions(-)
-
-diff --git a/src/lib/KEY2Parser.cpp b/src/lib/KEY2Parser.cpp
-index 4ba70d2..9a37dcd 100644
---- a/src/lib/KEY2Parser.cpp
-+++ b/src/lib/KEY2Parser.cpp
-@@ -124,7 +124,6 @@ IWORKXMLContextPtr_t StylesContext::element(const int name)
-     return makeContext<KEY2StyleContext>(getState(), name);
- 
-   case IWORKToken::NS_URI_SF | IWORKToken::layoutstyle_ref :
--    break;
-     return makeContext<KEY2StyleRefContext>(getState(), name, false, m_anonymous);
-   }
- 
-diff --git a/src/lib/contexts/IWORKStylesContext.cpp b/src/lib/contexts/IWORKStylesContext.cpp
-index ef3041b..24efa1d 100644
---- a/src/lib/contexts/IWORKStylesContext.cpp
-+++ b/src/lib/contexts/IWORKStylesContext.cpp
-@@ -43,7 +43,6 @@ IWORKXMLContextPtr_t IWORKStylesContext::element(const int name)
-   case IWORKToken::NS_URI_SF | IWORKToken::liststyle_ref :
-   case IWORKToken::NS_URI_SF | IWORKToken::paragraphstyle_ref :
-   case IWORKToken::NS_URI_SF | IWORKToken::vector_style_ref :
--    break;
-     return makeContext<IWORKStyleRefContext>(getState(), name, false, m_anonymous);
-   }
- 
--- 
-2.4.1
-
diff --git a/external/libetonyek/ExternalProject_libetonyek.mk b/external/libetonyek/ExternalProject_libetonyek.mk
index 6d847fa..119ac83 100644
--- a/external/libetonyek/ExternalProject_libetonyek.mk
+++ b/external/libetonyek/ExternalProject_libetonyek.mk
@@ -19,6 +19,7 @@ $(eval $(call gb_ExternalProject_use_externals,libetonyek,\
 	boost_headers \
 	glm_headers \
 	libxml2 \
+	mdds_headers \
 	revenge \
 	zlib \
 ))
@@ -40,7 +41,7 @@ $(call gb_ExternalProject_get_state_target,libetonyek,build) :
 			$(if $(filter LINUX,$(OS)), \
 				'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
 					-Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN') \
-			BOOST_CFLAGS="$(if $(SYSTEM_BOOST),$(BOOST_CPPFLAGS),-I$(call gb_UnpackedTarball_get_dir,boost))" \
+			CPPFLAGS="$(CPPFLAGS) $(if $(SYSTEM_BOOST),$(BOOST_CPPFLAGS),-I$(call gb_UnpackedTarball_get_dir,boost))" \
 			XML_CFLAGS="$(LIBXML_CFLAGS)" \
 			XML_LIBS="$(LIBXML_LIBS)" \
 			$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
diff --git a/external/libetonyek/Library_etonyek.mk b/external/libetonyek/Library_etonyek.mk
index db8feca..5b559f1 100644
--- a/external/libetonyek/Library_etonyek.mk
+++ b/external/libetonyek/Library_etonyek.mk
@@ -15,6 +15,7 @@ $(eval $(call gb_Library_use_externals,etonyek,\
     boost_headers \
     glm_headers \
 	libxml2 \
+	mdds_headers \
 	revenge \
 	zlib \
 ))
@@ -25,7 +26,6 @@ $(eval $(call gb_Library_set_include,etonyek,\
 	-I$(call gb_UnpackedTarball_get_dir,libetonyek)/inc \
 	-I$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib \
 	-I$(call gb_UnpackedTarball_get_dir,libetonyek)/src/lib/contexts \
-	-I$(SRCDIR)/external/libetonyek/generated \
 	$$(INCLUDE) \
 ))
 
@@ -43,9 +43,12 @@ $(eval $(call gb_Library_add_generated_exception_objects,etonyek,\
 	UnpackedTarball/libetonyek/src/lib/IWORKChainedTokenizer \
 	UnpackedTarball/libetonyek/src/lib/IWORKCollector \
 	UnpackedTarball/libetonyek/src/lib/IWORKDictionary \
+	UnpackedTarball/libetonyek/src/lib/IWORKDiscardContext \
 	UnpackedTarball/libetonyek/src/lib/IWORKDocumentInterface \
+	UnpackedTarball/libetonyek/src/lib/IWORKFormula \
 	UnpackedTarball/libetonyek/src/lib/IWORKMemoryStream \
 	UnpackedTarball/libetonyek/src/lib/IWORKOutputElements \
+	UnpackedTarball/libetonyek/src/lib/IWORKOutputManager \
 	UnpackedTarball/libetonyek/src/lib/IWORKParser \
 	UnpackedTarball/libetonyek/src/lib/IWORKPath \
 	UnpackedTarball/libetonyek/src/lib/IWORKPresentationRedirector \
@@ -68,7 +71,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,etonyek,\
 	UnpackedTarball/libetonyek/src/lib/IWORKXMLContextBase \
 	UnpackedTarball/libetonyek/src/lib/IWORKXMLParserState \
 	UnpackedTarball/libetonyek/src/lib/IWORKZlibStream \
-	UnpackedTarball/libetonyek/src/lib/IWORKZoneManager \
 	UnpackedTarball/libetonyek/src/lib/KEY1Parser \
 	UnpackedTarball/libetonyek/src/lib/KEY1Token \
 	UnpackedTarball/libetonyek/src/lib/KEY2Parser \
@@ -87,23 +89,45 @@ $(eval $(call gb_Library_add_generated_exception_objects,etonyek,\
 	UnpackedTarball/libetonyek/src/lib/PAG1Token \
 	UnpackedTarball/libetonyek/src/lib/PAGCollector \
 	UnpackedTarball/libetonyek/src/lib/PAGDictionary \
+	UnpackedTarball/libetonyek/src/lib/PAGProperties \
+	UnpackedTarball/libetonyek/src/lib/PAGTypes \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKBezierElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKBrContext \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKColorElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKDataElement \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKGeometryElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKHeaderFooterContext \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKImageContext \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKLayoutElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKLinkElement \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKMediaElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKMetadataElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKNumberConverter \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKPElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKPathElement \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKPositionElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKPropertyContextBase \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKPropertyMapElement \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKRefContext \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKShapeContext \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKSizeElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKSpanElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKStringElement \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKStyleContext \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKStyleRefContext \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKStylesContext \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKStylesheetBase \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKTabElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKTabsElement \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKTabularInfoElement \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKTextBodyElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKTextElement \
 	UnpackedTarball/libetonyek/src/lib/contexts/IWORKTextStorageElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/IWORKUnfilteredElement \
 	UnpackedTarball/libetonyek/src/lib/contexts/KEY2StyleContext \
-	UnpackedTarball/libetonyek/src/lib/contexts/KEY2StyleRefContext \
+	UnpackedTarball/libetonyek/src/lib/contexts/PAG1FootnotesElement \
+	UnpackedTarball/libetonyek/src/lib/contexts/PAG1StyleContext \
+	UnpackedTarball/libetonyek/src/lib/contexts/PAG1TextStorageElement \
 	UnpackedTarball/libetonyek/src/lib/libetonyek_utils \
 	UnpackedTarball/libetonyek/src/lib/libetonyek_xml \
 ))
diff --git a/external/libetonyek/UnpackedTarball_libetonyek.mk b/external/libetonyek/UnpackedTarball_libetonyek.mk
index 327852a..dd536f8 100644
--- a/external/libetonyek/UnpackedTarball_libetonyek.mk
+++ b/external/libetonyek/UnpackedTarball_libetonyek.mk
@@ -15,12 +15,11 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,libetonyek,0))
 
 $(eval $(call gb_UnpackedTarball_add_patches,libetonyek,\
 	external/libetonyek/assert.patch \
-	external/libetonyek/0001-missing-include.patch.1 \
 	external/libetonyek/win_build.patch.1 \
 	external/libetonyek/ubsan.patch \
-	external/libetonyek/0001-add-missing-breaks.patch.1 \
-	external/libetonyek/0002-remove-surplus-breaks.patch.1 \
 	external/libetonyek/rpath.patch \
+	external/libetonyek/0001-add-missing-include.patch.1 \
+	external/libetonyek/0001-try-to-fix-build-on-Windows.patch.1 \
 ))
 
 ifeq ($(COM_GCC_IS_CLANG),TRUE)
diff --git a/external/libetonyek/assert.patch b/external/libetonyek/assert.patch
index fe5e282..6620f18 100644
--- a/external/libetonyek/assert.patch
+++ b/external/libetonyek/assert.patch
@@ -1,19 +1,10 @@
 --- src/lib/EtonyekDocument.cpp
 +++ src/lib/EtonyekDocument.cpp
-@@ -7,6 +7,8 @@
- 
- #include <libetonyek/libetonyek.h>
- 
-+#include <cassert>
-+
- #include <boost/scoped_ptr.hpp>
- #include <boost/shared_ptr.hpp>
- #include <boost/logic/tribool.hpp>
 @@ -179,7 +181,7 @@
      info.input->seek(0, RVNG_SEEK_SET);
    }
  
--  assert(!isGzipped);
+-  assert(isGzipped == false);
 +  assert(bool(!isGzipped));
  
    return probeXMLImpl(info.input, probe, type, info);
diff --git a/external/libetonyek/generated/IWORKToken.inc b/external/libetonyek/generated/IWORKToken.inc
deleted file mode 100644
index 3e1b679..0000000
--- a/external/libetonyek/generated/IWORKToken.inc
+++ /dev/null
@@ -1,721 +0,0 @@
-/* C++ code produced by gperf version 3.0.4 */
-/* Command-line: /usr/bin/gperf --compare-strncmp --enum --null-strings --readonly-tables --language C++ IWORKToken.gperf  */
-/* Computed positions: -k'1-2,5-7,21,27,$' */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf at gnu.org>."
-#endif
-
-#line 10 "IWORKToken.gperf"
-
-#if defined __GNUC__
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#endif
-
-using namespace IWORKToken;
-#line 18 "IWORKToken.gperf"
-struct Token
-{
-  const char *name;
-  int id;
-};
-#include <string.h>
-/* maximum key range = 480, duplicates = 0 */
-
-class Perfect_Hash
-{
-private:
-  static inline unsigned int hash (const char *str, unsigned int len);
-public:
-  static const struct Token *in_word_set (const char *str, unsigned int len);
-};
-
-inline unsigned int
-Perfect_Hash::hash (register const char *str, register unsigned int len)
-{
-  static const unsigned short asso_values[] =
-    {
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481,  75, 481,   5, 105,  60,
-      481, 481, 481, 481, 481, 481, 481, 481,   5, 481,
-      481, 481, 481, 481, 481,  10,  30,   0,   5, 481,
-        0, 481,   5,   0, 481, 481, 110, 481,   0, 481,
-       15, 481,  55,  10,  15, 481,   0,  10,  10,   0,
-      481, 481, 481, 481, 481,   5, 481,  20, 235,  40,
-      150,   5,  70, 200,  30,  75, 481,  40,  10, 140,
-       25,   0,  15, 481,  10,   0,   5, 105, 100, 115,
-       45, 145,  20, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481, 481, 481, 481, 481,
-      481, 481, 481, 481, 481, 481
-    };
-  register int hval = len;
-
-  switch (hval)
-    {
-      default:
-        hval += asso_values[(unsigned char)str[26]];
-      /*FALLTHROUGH*/
-      case 26:
-      case 25:
-      case 24:
-      case 23:
-      case 22:
-      case 21:
-        hval += asso_values[(unsigned char)str[20]];
-      /*FALLTHROUGH*/
-      case 20:
-      case 19:
-      case 18:
-      case 17:
-      case 16:
-      case 15:
-      case 14:
-      case 13:
-      case 12:
-      case 11:
-      case 10:
-      case 9:
-      case 8:
-      case 7:
-        hval += asso_values[(unsigned char)str[6]];
-      /*FALLTHROUGH*/
-      case 6:
-        hval += asso_values[(unsigned char)str[5]];
-      /*FALLTHROUGH*/
-      case 5:
-        hval += asso_values[(unsigned char)str[4]];
-      /*FALLTHROUGH*/
-      case 4:
-      case 3:
-      case 2:
-        hval += asso_values[(unsigned char)str[1]];
-      /*FALLTHROUGH*/
-      case 1:
-        hval += asso_values[(unsigned char)str[0]];
-        break;
-    }
-  return hval + asso_values[(unsigned char)str[len - 1]];
-}
-
-const struct Token *
-Perfect_Hash::in_word_set (register const char *str, register unsigned int len)
-{
-  enum
-    {
-      TOTAL_KEYWORDS = 212,
-      MIN_WORD_LENGTH = 1,
-      MAX_WORD_LENGTH = 50,
-      MIN_HASH_VALUE = 1,
-      MAX_HASH_VALUE = 480
-    };
-
-  static const struct Token wordlist[] =
-    {
-      {(char*)0},
-#line 180 "IWORKToken.gperf"
-      {"s",s},
-#line 193 "IWORKToken.gperf"
-      {"so",so},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 28 "IWORKToken.gperf"
-      {"IDREF",IDREF},
-#line 203 "IWORKToken.gperf"
-      {"t",t},
-#line 27 "IWORKToken.gperf"
-      {"ID",ID},
-      {(char*)0},
-#line 179 "IWORKToken.gperf"
-      {"rows",rows},
-      {(char*)0},
-#line 201 "IWORKToken.gperf"
-      {"styles",styles},
-      {(char*)0},
-#line 171 "IWORKToken.gperf"
-      {"pos",pos},
-#line 216 "IWORKToken.gperf"
-      {"text",text},
-#line 200 "IWORKToken.gperf"
-      {"style",style},
-#line 175 "IWORKToken.gperf"
-      {"r",r},
-      {(char*)0}, {(char*)0},
-#line 222 "IWORKToken.gperf"
-      {"true",true_},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 205 "IWORKToken.gperf"
-      {"tabs",tabs},
-#line 169 "IWORKToken.gperf"
-      {"point",point},
-#line 159 "IWORKToken.gperf"
-      {"p",p},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 211 "IWORKToken.gperf"
-      {"tail",tail},
-      {(char*)0},
-#line 46 "IWORKToken.gperf"
-      {"a",a},
-      {(char*)0}, {(char*)0},
-#line 196 "IWORKToken.gperf"
-      {"span",span},
-#line 187 "IWORKToken.gperf"
-      {"shape",shape},
-#line 133 "IWORKToken.gperf"
-      {"layers",layers},
-      {(char*)0}, {(char*)0},
-#line 148 "IWORKToken.gperf"
-      {"lnbr",lnbr},
-      {(char*)0},
-#line 154 "IWORKToken.gperf"
-      {"n",n},
-#line 81 "IWORKToken.gperf"
-      {"ct",ct},
-#line 214 "IWORKToken.gperf"
-      {"tailPositionY",tailPositionY},
-      {(char*)0},
-#line 131 "IWORKToken.gperf"
-      {"layer",layer},
-      {(char*)0},
-#line 114 "IWORKToken.gperf"
-      {"headers",headers},
-      {(char*)0}, {(char*)0},
-#line 50 "IWORKToken.gperf"
-      {"angle",angle},
-#line 112 "IWORKToken.gperf"
-      {"h",h},
-#line 212 "IWORKToken.gperf"
-      {"tailAtCenter",tailAtCenter},
-#line 213 "IWORKToken.gperf"
-      {"tailPositionX",tailPositionX},
-#line 80 "IWORKToken.gperf"
-      {"crbr",crbr},
-#line 72 "IWORKToken.gperf"
-      {"color",color},
-#line 189 "IWORKToken.gperf"
-      {"shearYAngle",shearYAngle},
-#line 207 "IWORKToken.gperf"
-      {"tabstop",tabstop},
-      {(char*)0},
-#line 166 "IWORKToken.gperf"
-      {"path",path},
-      {(char*)0},
-#line 195 "IWORKToken.gperf"
-      {"spaceBefore",spaceBefore},
-#line 173 "IWORKToken.gperf"
-      {"property-map",property_map},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 188 "IWORKToken.gperf"
-      {"shearXAngle",shearXAngle},
-#line 208 "IWORKToken.gperf"
-      {"tabular-info",tabular_info},
-#line 178 "IWORKToken.gperf"
-      {"row-span",row_span},
-      {(char*)0}, {(char*)0},
-#line 116 "IWORKToken.gperf"
-      {"height",height},
-#line 167 "IWORKToken.gperf"
-      {"placeholder-style",placeholder_style},
-#line 210 "IWORKToken.gperf"
-      {"tabular-style",tabular_style},
-#line 190 "IWORKToken.gperf"
-      {"size",size},
-#line 47 "IWORKToken.gperf"
-      {"align",align},
-#line 181 "IWORKToken.gperf"
-      {"scalar",scalar},
-#line 78 "IWORKToken.gperf"
-      {"content",content},
-#line 209 "IWORKToken.gperf"
-      {"tabular-model",tabular_model},
-      {(char*)0}, {(char*)0},
-#line 234 "IWORKToken.gperf"
-      {"x",x},
-#line 100 "IWORKToken.gperf"
-      {"footers",footers},
-#line 186 "IWORKToken.gperf"
-      {"sfa",sfa},
-#line 141 "IWORKToken.gperf"
-      {"line",line},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 97 "IWORKToken.gperf"
-      {"fontColor",fontColor},
-      {(char*)0},
-#line 155 "IWORKToken.gperf"
-      {"naturalSize",naturalSize},
-      {(char*)0}, {(char*)0},
-#line 118 "IWORKToken.gperf"
-      {"horizontalFlip",horizontalFlip},
-#line 91 "IWORKToken.gperf"
-      {"false",false_},
-#line 192 "IWORKToken.gperf"
-      {"slide-style",slide_style},
-#line 219 "IWORKToken.gperf"
-      {"text-storage",text_storage},
-#line 71 "IWORKToken.gperf"
-      {"col-span",col_span},
-#line 30 "IWORKToken.gperf"
-      {"SFTCellStylePropertyParagraphStyle",SFTCellStylePropertyParagraphStyle},
-#line 74 "IWORKToken.gperf"
-      {"connection-line",connection_line},
-#line 76 "IWORKToken.gperf"
-      {"connection-style",connection_style},
-      {(char*)0}, {(char*)0},
-#line 119 "IWORKToken.gperf"
-      {"href",href},
-      {(char*)0},
-#line 45 "IWORKToken.gperf"
-      {"TableCellStylePropertyFormatNegativeStyle",TableCellStylePropertyFormatNegativeStyle},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 194 "IWORKToken.gperf"
-      {"spaceAfter",spaceAfter},
-#line 26 "IWORKToken.gperf"
-      {"1",_1},
-#line 79 "IWORKToken.gperf"
-      {"cornerRadius",cornerRadius},
-      {(char*)0},
-#line 24 "IWORKToken.gperf"
-      {"__multilingual",__multilingual},
-      {(char*)0},
-#line 121 "IWORKToken.gperf"
-      {"http://developer.apple.com/namespaces/sfa",NS_URI_SFA},
-      {(char*)0},
-#line 172 "IWORKToken.gperf"
-      {"position",position},
-#line 144 "IWORKToken.gperf"
-      {"link",link},
-      {(char*)0},
-#line 177 "IWORKToken.gperf"
-      {"rightIndent",rightIndent},
-      {(char*)0}, {(char*)0},
-#line 66 "IWORKToken.gperf"
-      {"capitalization",capitalization},
-#line 75 "IWORKToken.gperf"
-      {"connection-path",connection_path},
-#line 51 "IWORKToken.gperf"
-      {"anon-styles",anon_styles},
-#line 183 "IWORKToken.gperf"
-      {"section",section},
-      {(char*)0}, {(char*)0},
-#line 67 "IWORKToken.gperf"
-      {"cell-style",cell_style},
-#line 90 "IWORKToken.gperf"
-      {"f",f},
-#line 185 "IWORKToken.gperf"
-      {"sf",sf},
-#line 215 "IWORKToken.gperf"
-      {"tailSize",tailSize},
-      {(char*)0},
-#line 184 "IWORKToken.gperf"
-      {"self-contained-movie",self_contained_movie},
-      {(char*)0},
-#line 125 "IWORKToken.gperf"
-      {"intratopicbr",intratopicbr},
-      {(char*)0},
-#line 152 "IWORKToken.gperf"
-      {"mode",mode},
-#line 170 "IWORKToken.gperf"
-      {"point-path",point_path},
-#line 134 "IWORKToken.gperf"
-      {"layout",layout},
-#line 128 "IWORKToken.gperf"
-      {"keepWithNext",keepWithNext},
-      {(char*)0},
-#line 69 "IWORKToken.gperf"
-      {"characterstyle",characterstyle},
-      {(char*)0},
-#line 137 "IWORKToken.gperf"
-      {"layoutstyle",layoutstyle},
-#line 164 "IWORKToken.gperf"
-      {"parent-ident",parent_ident},
-      {(char*)0},
-#line 223 "IWORKToken.gperf"
-      {"type",type},
-      {(char*)0},
-#line 156 "IWORKToken.gperf"
-      {"number",number},
-      {(char*)0}, {(char*)0},
-#line 115 "IWORKToken.gperf"
-      {"headline-style",headline_style},
-      {(char*)0},
-#line 136 "IWORKToken.gperf"
-      {"layoutStyle",layoutStyle},
-      {(char*)0},
-#line 49 "IWORKToken.gperf"
-      {"amt",amt},
-      {(char*)0},
-#line 198 "IWORKToken.gperf"
-      {"strikethru",strikethru},
-#line 202 "IWORKToken.gperf"
-      {"superscript",superscript},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 120 "IWORKToken.gperf"
-      {"http://developer.apple.com/namespaces/sf",NS_URI_SF},
-      {(char*)0}, {(char*)0},
-#line 221 "IWORKToken.gperf"
-      {"tocStyle",tocStyle},
-#line 77 "IWORKToken.gperf"
-      {"container-hint",container_hint},
-#line 135 "IWORKToken.gperf"
-      {"layoutParagraphStyle",layoutParagraphStyle},
-#line 64 "IWORKToken.gperf"
-      {"calc-engine",calc_engine},
-      {(char*)0}, {(char*)0},
-#line 93 "IWORKToken.gperf"
-      {"filtered-image",filtered_image},
-      {(char*)0},
-#line 182 "IWORKToken.gperf"
-      {"scalar-path",scalar_path},
-      {(char*)0},
-#line 99 "IWORKToken.gperf"
-      {"fontSize",fontSize},
-#line 113 "IWORKToken.gperf"
-      {"head",head},
-#line 150 "IWORKToken.gperf"
-      {"media",media},
-#line 29 "IWORKToken.gperf"
-      {"SFTCellStylePropertyLayoutStyle",SFTCellStylePropertyLayoutStyle},
-      {(char*)0},
-#line 206 "IWORKToken.gperf"
-      {"tabs-ref",tabs_ref},
-#line 83 "IWORKToken.gperf"
-      {"data",data},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0},
-#line 227 "IWORKToken.gperf"
-      {"v",v},
-      {(char*)0}, {(char*)0},
-#line 132 "IWORKToken.gperf"
-      {"layer-ref",layer_ref},
-#line 139 "IWORKToken.gperf"
-      {"leftIndent",leftIndent},
-      {(char*)0},
-#line 228 "IWORKToken.gperf"
-      {"vector-style",vector_style},
-#line 176 "IWORKToken.gperf"
-      {"relative",relative},
-#line 68 "IWORKToken.gperf"
-      {"cell-style-ref",cell_style_ref},
-      {(char*)0},
-#line 25 "IWORKToken.gperf"
-      {"0",_0},
-#line 73 "IWORKToken.gperf"
-      {"columns",columns},
-#line 65 "IWORKToken.gperf"
-      {"callout2-path",callout2_path},
-#line 48 "IWORKToken.gperf"
-      {"alignment",alignment},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 165 "IWORKToken.gperf"
-      {"parent-ref",parent_ref},
-#line 168 "IWORKToken.gperf"
-      {"placeholder-style-ref",placeholder_style_ref},
-#line 158 "IWORKToken.gperf"
-      {"outline",outline},
-#line 70 "IWORKToken.gperf"
-      {"characterstyle-ref",characterstyle_ref},
-      {(char*)0},
-#line 138 "IWORKToken.gperf"
-      {"layoutstyle-ref",layoutstyle_ref},
-      {(char*)0},
-#line 101 "IWORKToken.gperf"
-      {"frame-h",frame_h},
-      {(char*)0}, {(char*)0},
-#line 123 "IWORKToken.gperf"
-      {"image",image},
-#line 231 "IWORKToken.gperf"
-      {"w",w},
-      {(char*)0}, {(char*)0},
-#line 226 "IWORKToken.gperf"
-      {"unfiltered-ref",unfiltered_ref},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 224 "IWORKToken.gperf"
-      {"underline",underline},
-#line 122 "IWORKToken.gperf"
-      {"ident",ident},
-#line 126 "IWORKToken.gperf"
-      {"italic",italic},
-      {(char*)0},
-#line 98 "IWORKToken.gperf"
-      {"fontName",fontName},
-      {(char*)0},
-#line 111 "IWORKToken.gperf"
-      {"group",group},
-#line 55 "IWORKToken.gperf"
-      {"attachments",attachments},
-      {(char*)0}, {(char*)0},
-#line 146 "IWORKToken.gperf"
-      {"liststyle",liststyle},
-#line 53 "IWORKToken.gperf"
-      {"attachment",attachment},
-#line 157 "IWORKToken.gperf"
-      {"other-datas",other_datas},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 233 "IWORKToken.gperf"
-      {"width",width},
-      {(char*)0},
-#line 103 "IWORKToken.gperf"
-      {"frame-x",frame_x},
-      {(char*)0},
-#line 145 "IWORKToken.gperf"
-      {"listStyle",listStyle},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 204 "IWORKToken.gperf"
-      {"tab",tab},
-#line 217 "IWORKToken.gperf"
-      {"textBackground",textBackground},
-      {(char*)0}, {(char*)0},
-#line 230 "IWORKToken.gperf"
-      {"verticalFlip",verticalFlip},
-      {(char*)0},
-#line 129 "IWORKToken.gperf"
-      {"kind",kind},
-      {(char*)0},
-#line 58 "IWORKToken.gperf"
-      {"bezier",bezier},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 229 "IWORKToken.gperf"
-      {"vector-style-ref",vector_style_ref},
-      {(char*)0},
-#line 117 "IWORKToken.gperf"
-      {"hfs-type",hfs_type},
-      {(char*)0}, {(char*)0},
-#line 197 "IWORKToken.gperf"
-      {"sticky-note",sticky_note},
-#line 127 "IWORKToken.gperf"
-      {"keepLinesTogether",keepLinesTogether},
-      {(char*)0},
-#line 162 "IWORKToken.gperf"
-      {"paragraphstyle",paragraphstyle},
-#line 95 "IWORKToken.gperf"
-      {"followingLayoutStyle",followingLayoutStyle},
-      {(char*)0},
-#line 52 "IWORKToken.gperf"
-      {"aspectRatioLocked",aspectRatioLocked},
-#line 161 "IWORKToken.gperf"
-      {"paragraphFill",paragraphFill},
-#line 160 "IWORKToken.gperf"
-      {"paragraphBorderType",paragraphBorderType},
-#line 85 "IWORKToken.gperf"
-      {"datasource",datasource},
-#line 235 "IWORKToken.gperf"
-      {"y",y},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 82 "IWORKToken.gperf"
-      {"d",d},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 44 "IWORKToken.gperf"
-      {"SFTableStylePropertyVectorStyle",SFTableStylePropertyVectorStyle},
-#line 43 "IWORKToken.gperf"
-      {"SFTableStylePropertyHeaderVectorStyle",SFTableStylePropertyHeaderVectorStyle},
-      {(char*)0}, {(char*)0},
-#line 225 "IWORKToken.gperf"
-      {"unfiltered",unfiltered},
-#line 38 "IWORKToken.gperf"
-      {"SFTableStylePropertyHeaderColumnCellStyle",SFTableStylePropertyHeaderColumnCellStyle},
-      {(char*)0},
-#line 33 "IWORKToken.gperf"
-      {"SFTableStylePropertyCellParagraphStyle",SFTableStylePropertyCellParagraphStyle},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 36 "IWORKToken.gperf"
-      {"SFTableStylePropertyHeaderColumnCellLayoutStyle",SFTableStylePropertyHeaderColumnCellLayoutStyle},
-#line 147 "IWORKToken.gperf"
-      {"liststyle-ref",liststyle_ref},
-#line 54 "IWORKToken.gperf"
-      {"attachment-ref",attachment_ref},
-#line 37 "IWORKToken.gperf"
-      {"SFTableStylePropertyHeaderColumnCellParagraphStyle",SFTableStylePropertyHeaderColumnCellParagraphStyle},
-#line 149 "IWORKToken.gperf"
-      {"locked",locked},
-      {(char*)0},
-#line 92 "IWORKToken.gperf"
-      {"filtered",filtered},
-      {(char*)0}, {(char*)0},
-#line 42 "IWORKToken.gperf"
-      {"SFTableStylePropertyHeaderSeperatorVectorStyle",SFTableStylePropertyHeaderSeperatorVectorStyle},
-#line 232 "IWORKToken.gperf"
-      {"widowControl",widowControl},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 143 "IWORKToken.gperf"
-      {"linespacing",linespacing},
-#line 31 "IWORKToken.gperf"
-      {"SFTableStylePropertyBorderVectorStyle",SFTableStylePropertyBorderVectorStyle},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 220 "IWORKToken.gperf"
-      {"title-placeholder-ref",title_placeholder_ref},
-#line 140 "IWORKToken.gperf"
-      {"leveled",leveled},
-#line 84 "IWORKToken.gperf"
-      {"data-ref",data_ref},
-      {(char*)0}, {(char*)0},
-#line 142 "IWORKToken.gperf"
-      {"lineSpacing",lineSpacing},
-      {(char*)0},
-#line 35 "IWORKToken.gperf"
-      {"SFTableStylePropertyHeaderBorderVectorStyle",SFTableStylePropertyHeaderBorderVectorStyle},
-      {(char*)0}, {(char*)0},
-#line 191 "IWORKToken.gperf"
-      {"sizesLocked",sizesLocked},
-      {(char*)0},
-#line 151 "IWORKToken.gperf"
-      {"metadata",metadata},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 163 "IWORKToken.gperf"
-      {"paragraphstyle-ref",paragraphstyle_ref},
-      {(char*)0},
-#line 94 "IWORKToken.gperf"
-      {"firstLineIndent",firstLineIndent},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 109 "IWORKToken.gperf"
-      {"grid-column",grid_column},
-#line 88 "IWORKToken.gperf"
-      {"du",du},
-#line 41 "IWORKToken.gperf"
-      {"SFTableStylePropertyHeaderRowCellStyle",SFTableStylePropertyHeaderRowCellStyle},
-#line 108 "IWORKToken.gperf"
-      {"grid",grid},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 130 "IWORKToken.gperf"
-      {"language",language},
-#line 39 "IWORKToken.gperf"
-      {"SFTableStylePropertyHeaderRowCellLayoutStyle",SFTableStylePropertyHeaderRowCellLayoutStyle},
-      {(char*)0},
-#line 59 "IWORKToken.gperf"
-      {"bezier-path",bezier_path},
-#line 40 "IWORKToken.gperf"
-      {"SFTableStylePropertyHeaderRowCellParagraphStyle",SFTableStylePropertyHeaderRowCellParagraphStyle},
-#line 107 "IWORKToken.gperf"
-      {"graphic-style",graphic_style},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 106 "IWORKToken.gperf"
-      {"geometry",geometry},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 57 "IWORKToken.gperf"
-      {"baselineShift",baselineShift},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 62 "IWORKToken.gperf"
-      {"bold",bold},
-      {(char*)0},
-#line 153 "IWORKToken.gperf"
-      {"movie-media",movie_media},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 102 "IWORKToken.gperf"
-      {"frame-w",frame_w},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 105 "IWORKToken.gperf"
-      {"g",g},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 60 "IWORKToken.gperf"
-      {"bezier-ref",bezier_ref},
-      {(char*)0}, {(char*)0},
-#line 174 "IWORKToken.gperf"
-      {"proxy-master-layer",proxy_master_layer},
-      {(char*)0}, {(char*)0},
-#line 86 "IWORKToken.gperf"
-      {"displayname",displayname},
-      {(char*)0},
-#line 110 "IWORKToken.gperf"
-      {"grid-row",grid_row},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0},
-#line 61 "IWORKToken.gperf"
-      {"body-placeholder-ref",body_placeholder_ref},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 96 "IWORKToken.gperf"
-      {"followingParagraphStyle",followingParagraphStyle},
-#line 87 "IWORKToken.gperf"
-      {"drawables",drawables},
-      {(char*)0},
-#line 199 "IWORKToken.gperf"
-      {"string",string},
-      {(char*)0}, {(char*)0},
-#line 34 "IWORKToken.gperf"
-      {"SFTableStylePropertyCellStyle",SFTableStylePropertyCellStyle},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 32 "IWORKToken.gperf"
-      {"SFTableStylePropertyCellLayoutStyle",SFTableStylePropertyCellLayoutStyle},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 104 "IWORKToken.gperf"
-      {"frame-y",frame_y},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 124 "IWORKToken.gperf"
-      {"image-media",image_media},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 89 "IWORKToken.gperf"
-      {"editable-bezier-path",editable_bezier_path},
-#line 56 "IWORKToken.gperf"
-      {"b",b},
-      {(char*)0}, {(char*)0},
-#line 218 "IWORKToken.gperf"
-      {"text-body",text_body},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 63 "IWORKToken.gperf"
-      {"bulletListStyle",bulletListStyle}
-    };
-
-  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
-    {
-      register int key = hash (str, len);
-
-      if (key <= MAX_HASH_VALUE && key >= 0)
-        {
-          register const char *s = wordlist[key].name;
-
-          if (s && *str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
-            return &wordlist[key];
-        }
-    }
-  return 0;
-}
-#line 236 "IWORKToken.gperf"
-
diff --git a/external/libetonyek/generated/KEY1Token.inc b/external/libetonyek/generated/KEY1Token.inc
deleted file mode 100644
index 84018792..0000000
--- a/external/libetonyek/generated/KEY1Token.inc
+++ /dev/null
@@ -1,540 +0,0 @@
-/* C++ code produced by gperf version 3.0.4 */
-/* Command-line: /usr/bin/gperf --compare-strncmp --enum --null-strings --readonly-tables --language C++ KEY1Token.gperf  */
-/* Computed positions: -k'1,3,6,9,14' */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf at gnu.org>."
-#endif
-
-#line 10 "KEY1Token.gperf"
-
-#if defined __GNUC__
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#endif
-
-using namespace KEY1Token;
-#line 18 "KEY1Token.gperf"
-struct Token
-{
-  const char *name;
-  int id;
-};
-#include <string.h>
-/* maximum key range = 368, duplicates = 0 */
-
-class Perfect_Hash
-{
-private:
-  static inline unsigned int hash (const char *str, unsigned int len);
-public:
-  static const struct Token *in_word_set (const char *str, unsigned int len);
-};
-
-inline unsigned int
-Perfect_Hash::hash (register const char *str, register unsigned int len)
-{
-  static const unsigned short asso_values[] =
-    {
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371,  85, 115, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371,   0,   0,   5,  15,
-        0,   0,   0, 371, 371, 371, 371, 371,  15,  30,
-       50, 371,   5,   5,   0, 371,  25, 371, 371, 371,
-      371, 371, 371, 371, 371,  10, 371,   0,  25, 110,
-       10,  10,  10,  20,  75,  60, 105,   0,  15,   5,
-        0,  85,  50,  15,  80,   5,  10,  40,  35,  85,
-      371,  65,   0,  40, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
-      371, 371, 371, 371, 371, 371, 371
-    };
-  register int hval = len;
-
-  switch (hval)
-    {
-      default:
-        hval += asso_values[(unsigned char)str[13]];
-      /*FALLTHROUGH*/
-      case 13:
-      case 12:
-      case 11:
-      case 10:
-      case 9:
-        hval += asso_values[(unsigned char)str[8]];
-      /*FALLTHROUGH*/
-      case 8:
-      case 7:
-      case 6:
-        hval += asso_values[(unsigned char)str[5]];
-      /*FALLTHROUGH*/
-      case 5:
-      case 4:
-      case 3:
-        hval += asso_values[(unsigned char)str[2]+1];
-      /*FALLTHROUGH*/
-      case 2:
-      case 1:
-        hval += asso_values[(unsigned char)str[0]];
-        break;
-    }
-  return hval;
-}
-
-const struct Token *
-Perfect_Hash::in_word_set (register const char *str, register unsigned int len)
-{
-  enum
-    {
-      TOTAL_KEYWORDS = 149,
-      MIN_WORD_LENGTH = 2,
-      MAX_WORD_LENGTH = 35,
-      MIN_HASH_VALUE = 3,
-      MAX_HASH_VALUE = 370
-    };
-
-  static const struct Token wordlist[] =
-    {
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 79 "KEY1Token.gperf"
-      {"key",key},
-#line 101 "KEY1Token.gperf"
-      {"name",name},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 103 "KEY1Token.gperf"
-      {"null",null},
-#line 29 "KEY1Token.gperf"
-      {"array",array},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 30 "KEY1Token.gperf"
-      {"axes",axes},
-#line 126 "KEY1Token.gperf"
-      {"serie",serie},
-#line 145 "KEY1Token.gperf"
-      {"styles",styles},
-      {(char*)0}, {(char*)0},
-#line 58 "KEY1Token.gperf"
-      {"file",file},
-#line 140 "KEY1Token.gperf"
-      {"steps",steps},
-#line 127 "KEY1Token.gperf"
-      {"series",series},
-      {(char*)0}, {(char*)0},
-#line 53 "KEY1Token.gperf"
-      {"dict",dict},
-#line 151 "KEY1Token.gperf"
-      {"theme",theme},
-#line 146 "KEY1Token.gperf"
-      {"symbol",symbol},
-      {(char*)0}, {(char*)0},
-#line 162 "KEY1Token.gperf"
-      {"type",type},
-#line 157 "KEY1Token.gperf"
-      {"time-stamp",time_stamp},
-      {(char*)0},
-#line 54 "KEY1Token.gperf"
-      {"display-name",display_name},
-#line 94 "KEY1Token.gperf"
-      {"majorTickPositions",majorTickPositions},
-      {(char*)0},
-#line 130 "KEY1Token.gperf"
-      {"shape",shape},
-#line 141 "KEY1Token.gperf"
-      {"string",string},
-#line 138 "KEY1Token.gperf"
-      {"spacing",spacing},
-      {(char*)0},
-#line 33 "KEY1Token.gperf"
-      {"body",body},
-      {(char*)0},
-#line 93 "KEY1Token.gperf"
-      {"locked",locked},
-#line 143 "KEY1Token.gperf"
-      {"stroke-style",stroke_style},
-      {(char*)0},
-#line 61 "KEY1Token.gperf"
-      {"fill-type",fill_type},
-#line 60 "KEY1Token.gperf"
-      {"fill-style",fill_style},
-#line 35 "KEY1Token.gperf"
-      {"bullet",bullet},
-#line 38 "KEY1Token.gperf"
-      {"bullets",bullets},
-      {(char*)0},
-#line 133 "KEY1Token.gperf"
-      {"size",size},
-#line 45 "KEY1Token.gperf"
-      {"dash-style",dash_style},
-      {(char*)0},
-#line 92 "KEY1Token.gperf"
-      {"lock-aspect-ratio",lock_aspect_ratio},
-#line 99 "KEY1Token.gperf"
-      {"metadata",metadata},
-#line 46 "KEY1Token.gperf"
-      {"data",data},
-#line 158 "KEY1Token.gperf"
-      {"title",title},
-      {(char*)0},
-#line 102 "KEY1Token.gperf"
-      {"natural-size",natural_size},
-#line 37 "KEY1Token.gperf"
-      {"bullet-indentation",bullet_indentation},
-#line 147 "KEY1Token.gperf"
-      {"symbolFillMode",symbolFillMode},
-#line 83 "KEY1Token.gperf"
-      {"layerElementsForShadowing",layerElementsForShadowing},
-      {(char*)0},
-#line 71 "KEY1Token.gperf"
-      {"id",id},
-#line 66 "KEY1Token.gperf"
-      {"gradient",gradient},
-#line 160 "KEY1Token.gperf"
-      {"transformation",transformation},
-#line 154 "KEY1Token.gperf"
-      {"tickLabelsAngle",tickLabelsAngle},
-#line 164 "KEY1Token.gperf"
-      {"userMaximum",userMaximum},
-#line 171 "KEY1Token.gperf"
-      {"visible",visible},
-      {(char*)0},
-#line 152 "KEY1Token.gperf"
-      {"thumbnail",thumbnail},
-#line 153 "KEY1Token.gperf"
-      {"thumbnails",thumbnails},
-      {(char*)0},
-#line 52 "KEY1Token.gperf"
-      {"DefaultLegendSize",DefaultLegendSize},
-#line 132 "KEY1Token.gperf"
-      {"showZero",showZero},
-#line 55 "KEY1Token.gperf"
-      {"drawables",drawables},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 166 "KEY1Token.gperf"
-      {"useUserMaximum",useUserMaximum},
-#line 26 "KEY1Token.gperf"
-      {"angle",angle},
-      {(char*)0},
-#line 117 "KEY1Token.gperf"
-      {"presentation",presentation},
-#line 56 "KEY1Token.gperf"
-      {"duration",duration},
-#line 51 "KEY1Token.gperf"
-      {"DefaultLegendRelativePosition",DefaultLegendRelativePosition},
-      {(char*)0},
-#line 104 "KEY1Token.gperf"
-      {"number",number},
-      {(char*)0}, {(char*)0},
-#line 39 "KEY1Token.gperf"
-      {"byte-size",byte_size},
-#line 73 "KEY1Token.gperf"
-      {"image",image},
-      {(char*)0},
-#line 144 "KEY1Token.gperf"
-      {"stroke-width",stroke_width},
-#line 91 "KEY1Token.gperf"
-      {"location",location},
-#line 124 "KEY1Token.gperf"
-      {"rect",rect},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 63 "KEY1Token.gperf"
-      {"font",font},
-#line 172 "KEY1Token.gperf"
-      {"width",width},
-#line 123 "KEY1Token.gperf"
-      {"radius",radius},
-      {(char*)0}, {(char*)0},
-#line 86 "KEY1Token.gperf"
-      {"line",line},
-#line 85 "KEY1Token.gperf"
-      {"level",level},
-#line 84 "KEY1Token.gperf"
-      {"legend",legend},
-      {(char*)0}, {(char*)0},
-#line 31 "KEY1Token.gperf"
-      {"axis",axis},
-      {(char*)0},
-#line 76 "KEY1Token.gperf"
-      {"interBarGap",interBarGap},
-#line 156 "KEY1Token.gperf"
-      {"tickLabelsVisible",tickLabelsVisible},
-      {(char*)0},
-#line 64 "KEY1Token.gperf"
-      {"font-name",font_name},
-#line 135 "KEY1Token.gperf"
-      {"slide",slide},
-      {(char*)0},
-#line 142 "KEY1Token.gperf"
-      {"stroke-color",stroke_color},
-#line 100 "KEY1Token.gperf"
-      {"minorTickPositions",minorTickPositions},
-#line 65 "KEY1Token.gperf"
-      {"font-size",font_size},
-#line 43 "KEY1Token.gperf"
-      {"color",color},
-#line 106 "KEY1Token.gperf"
-      {"offset",offset},
-#line 96 "KEY1Token.gperf"
-      {"master-slide",master_slide},
-#line 98 "KEY1Token.gperf"
-      {"master-slides",master_slides},
-#line 25 "KEY1Token.gperf"
-      {"altLineVisible",altLineVisible},
-#line 170 "KEY1Token.gperf"
-      {"visibility",visibility},
-#line 165 "KEY1Token.gperf"
-      {"userMinimum",userMinimum},
-#line 107 "KEY1Token.gperf"
-      {"opacity",opacity},
-      {(char*)0},
-#line 125 "KEY1Token.gperf"
-      {"reference",reference},
-#line 69 "KEY1Token.gperf"
-      {"guide",guide},
-      {(char*)0},
-#line 168 "KEY1Token.gperf"
-      {"version",version},
-      {(char*)0},
-#line 119 "KEY1Token.gperf"
-      {"prototype-data",prototype_data},
-      {(char*)0},
-#line 70 "KEY1Token.gperf"
-      {"guides",guides},
-#line 129 "KEY1Token.gperf"
-      {"shadow-style",shadow_style},
-      {(char*)0},
-#line 167 "KEY1Token.gperf"
-      {"useUserMinimum",useUserMinimum},
-      {(char*)0},
-#line 139 "KEY1Token.gperf"
-      {"start-color",start_color},
-#line 36 "KEY1Token.gperf"
-      {"bullet-characters",bullet_characters},
-#line 131 "KEY1Token.gperf"
-      {"showGrid",showGrid},
-#line 148 "KEY1Token.gperf"
-      {"tab-stops",tab_stops},
-      {(char*)0}, {(char*)0},
-#line 159 "KEY1Token.gperf"
-      {"titleVisible",titleVisible},
-      {(char*)0},
-#line 105 "KEY1Token.gperf"
-      {"numberOfPoints",numberOfPoints},
-#line 41 "KEY1Token.gperf"
-      {"chartFrame",chartFrame},
-#line 32 "KEY1Token.gperf"
-      {"background-fill-style",background_fill_style},
-#line 118 "KEY1Token.gperf"
-      {"prototype-bullets",prototype_bullets},
-#line 34 "KEY1Token.gperf"
-      {"buildChunkingStyle",buildChunkingStyle},
-#line 134 "KEY1Token.gperf"
-      {"size-technique",size_technique},
-#line 89 "KEY1Token.gperf"
-      {"line-tail-style",line_tail_style},
-#line 121 "KEY1Token.gperf"
-      {"prototype-plugin",prototype_plugin},
-#line 122 "KEY1Token.gperf"
-      {"prototype-plugins",prototype_plugins},
-      {(char*)0},
-#line 50 "KEY1Token.gperf"
-      {"dataFormatterSuffix",dataFormatterSuffix},
-      {(char*)0},
-#line 109 "KEY1Token.gperf"
-      {"page-number",page_number},
-#line 155 "KEY1Token.gperf"
-      {"tickLabelsOpacity",tickLabelsOpacity},
-#line 163 "KEY1Token.gperf"
-      {"ui-state",ui_state},
-#line 67 "KEY1Token.gperf"
-      {"gradient-angle",gradient_angle},
-      {(char*)0},
-#line 95 "KEY1Token.gperf"
-      {"marker-type",marker_type},
-#line 150 "KEY1Token.gperf"
-      {"textbox",textbox},
-      {(char*)0},
-#line 24 "KEY1Token.gperf"
-      {"altLineOpacity",altLineOpacity},
-#line 47 "KEY1Token.gperf"
-      {"dataFormatterHasThousandsSeparators",dataFormatterHasThousandsSeparators},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 114 "KEY1Token.gperf"
-      {"pieSliceOffset",pieSliceOffset},
-      {(char*)0}, {(char*)0},
-#line 113 "KEY1Token.gperf"
-      {"pattern",pattern},
-      {(char*)0},
-#line 48 "KEY1Token.gperf"
-      {"dataFormatterNumberOfDecimals",dataFormatterNumberOfDecimals},
-#line 149 "KEY1Token.gperf"
-      {"text-attributes",text_attributes},
-#line 75 "KEY1Token.gperf"
-      {"image-scale",image_scale},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 97 "KEY1Token.gperf"
-      {"master-slide-id",master_slide_id},
-      {(char*)0},
-#line 116 "KEY1Token.gperf"
-      {"point_at_top",point_at_top},
-      {(char*)0}, {(char*)0},
-#line 74 "KEY1Token.gperf"
-      {"image-data",image_data},
-#line 72 "KEY1Token.gperf"
-      {"id-ref",id_ref},
-#line 115 "KEY1Token.gperf"
-      {"pieSlicePercentVisible",pieSlicePercentVisible},
-      {(char*)0},
-#line 57 "KEY1Token.gperf"
-      {"end-color",end_color},
-#line 128 "KEY1Token.gperf"
-      {"seriesDirection",seriesDirection},
-#line 90 "KEY1Token.gperf"
-      {"lineVisible",lineVisible},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 27 "KEY1Token.gperf"
-      {"application-name",application_name},
-#line 44 "KEY1Token.gperf"
-      {"content",content},
-      {(char*)0},
-#line 49 "KEY1Token.gperf"
-      {"dataFormatterPrefix",dataFormatterPrefix},
-#line 137 "KEY1Token.gperf"
-      {"slide-size",slide_size},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 78 "KEY1Token.gperf"
-      {"is-filled",is_filled},
-#line 136 "KEY1Token.gperf"
-      {"slide-list",slide_list},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 28 "KEY1Token.gperf"
-      {"application-version",application_version},
-#line 87 "KEY1Token.gperf"
-      {"line-head-style",line_head_style},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 59 "KEY1Token.gperf"
-      {"fill-color",fill_color},
-#line 88 "KEY1Token.gperf"
-      {"lineOpacity",lineOpacity},
-#line 82 "KEY1Token.gperf"
-      {"labelVisible",labelVisible},
-      {(char*)0},
-#line 120 "KEY1Token.gperf"
-      {"prototype-drawables",prototype_drawables},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 77 "KEY1Token.gperf"
-      {"interSeriesGap",interSeriesGap},
-      {(char*)0},
-#line 62 "KEY1Token.gperf"
-      {"floating-content",floating_content},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 112 "KEY1Token.gperf"
-      {"paragraph-head-indent",paragraph_head_indent},
-#line 111 "KEY1Token.gperf"
-      {"paragraph-first-line-indent",paragraph_first_line_indent},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 68 "KEY1Token.gperf"
-      {"gridOpacity",gridOpacity},
-      {(char*)0},
-#line 81 "KEY1Token.gperf"
-      {"labelPosition",labelPosition},
-#line 110 "KEY1Token.gperf"
-      {"paragraph-alignment",paragraph_alignment},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 169 "KEY1Token.gperf"
-      {"vertical-alignment",vertical_alignment},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 161 "KEY1Token.gperf"
-      {"transition-style",transition_style},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 108 "KEY1Token.gperf"
-      {"orientation",orientation},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 80 "KEY1Token.gperf"
-      {"labelOpacity",labelOpacity},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 40 "KEY1Token.gperf"
-      {"character-bullet-style",character_bullet_style},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 42 "KEY1Token.gperf"
-      {"chart-prototype",chart_prototype}
-    };
-
-  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
-    {
-      register int key = hash (str, len);
-
-      if (key <= MAX_HASH_VALUE && key >= 0)
-        {
-          register const char *s = wordlist[key].name;
-
-          if (s && *str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
-            return &wordlist[key];
-        }
-    }
-  return 0;
-}
-#line 173 "KEY1Token.gperf"
-
diff --git a/external/libetonyek/generated/KEY2Token.inc b/external/libetonyek/generated/KEY2Token.inc
deleted file mode 100644
index c161f45..0000000
--- a/external/libetonyek/generated/KEY2Token.inc
+++ /dev/null
@@ -1,216 +0,0 @@
-/* C++ code produced by gperf version 3.0.4 */
-/* Command-line: /usr/bin/gperf --compare-strncmp --enum --null-strings --readonly-tables --language C++ KEY2Token.gperf  */
-/* Computed positions: -k'1,4-5' */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf at gnu.org>."
-#endif
-
-#line 10 "KEY2Token.gperf"
-
-#if defined __GNUC__
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#endif
-
-using namespace KEY2Token;
-#line 18 "KEY2Token.gperf"
-struct Token
-{
-  const char *name;
-  int id;
-};
-#include <string.h>
-/* maximum key range = 66, duplicates = 0 */
-
-class Perfect_Hash
-{
-private:
-  static inline unsigned int hash (const char *str, unsigned int len);
-public:
-  static const struct Token *in_word_set (const char *str, unsigned int len);
-};
-
-inline unsigned int
-Perfect_Hash::hash (register const char *str, register unsigned int len)
-{
-  static const unsigned char asso_values[] =
-    {
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67,  5, 67, 67,  5, 10,
-      15, 67, 20, 15, 67, 10,  0,  0,  0, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67,  0,  0,  0,
-      15,  5, 67, 67, 15,  5, 67,  0,  5,  0,
-      30, 67,  5, 67, 15,  0,  0, 67, 20, 67,
-      67,  0, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
-      67, 67, 67, 67, 67, 67
-    };
-  register int hval = len;
-
-  switch (hval)
-    {
-      default:
-        hval += asso_values[(unsigned char)str[4]];
-      /*FALLTHROUGH*/
-      case 4:
-        hval += asso_values[(unsigned char)str[3]];
-      /*FALLTHROUGH*/
-      case 3:
-      case 2:
-      case 1:
-        hval += asso_values[(unsigned char)str[0]];
-        break;
-    }
-  return hval;
-}
-
-const struct Token *
-Perfect_Hash::in_word_set (register const char *str, register unsigned int len)
-{
-  enum
-    {
-      TOTAL_KEYWORDS = 31,
-      MIN_WORD_LENGTH = 1,
-      MAX_WORD_LENGTH = 46,
-      MIN_HASH_VALUE = 1,
-      MAX_HASH_VALUE = 66
-    };
-
-  static const struct Token wordlist[] =
-    {
-      {(char*)0},
-#line 30 "KEY2Token.gperf"
-      {"c",c},
-      {(char*)0},
-#line 35 "KEY2Token.gperf"
-      {"key",key},
-#line 50 "KEY2Token.gperf"
-      {"text",text},
-      {(char*)0},
-#line 34 "KEY2Token.gperf"
-      {"i",i},
-      {(char*)0}, {(char*)0},
-#line 43 "KEY2Token.gperf"
-      {"size",size},
-#line 51 "KEY2Token.gperf"
-      {"theme",theme},
-#line 47 "KEY2Token.gperf"
-      {"sticky-note",sticky_note},
-#line 48 "KEY2Token.gperf"
-      {"sticky-notes",sticky_notes},
-      {(char*)0},
-#line 40 "KEY2Token.gperf"
-      {"page",page},
-#line 52 "KEY2Token.gperf"
-      {"theme-list",theme_list},
-#line 28 "KEY2Token.gperf"
-      {"92008102400",VERSION_STR_5},
-#line 36 "KEY2Token.gperf"
-      {"master-slide",master_slide},
-#line 37 "KEY2Token.gperf"
-      {"master-slides",master_slides},
-#line 46 "KEY2Token.gperf"
-      {"star",star},
-#line 49 "KEY2Token.gperf"
-      {"stylesheet",stylesheet},
-#line 29 "KEY2Token.gperf"
-      {"body-placeholder",body_placeholder},
-#line 41 "KEY2Token.gperf"
-      {"presentation",presentation},
-#line 38 "KEY2Token.gperf"
-      {"metadata",metadata},
-      {(char*)0},
-#line 44 "KEY2Token.gperf"
-      {"slide",slide},
-#line 31 "KEY2Token.gperf"
-      {"double",double_},
-#line 53 "KEY2Token.gperf"
-      {"title-placeholder",title_placeholder},
-      {(char*)0}, {(char*)0},
-#line 45 "KEY2Token.gperf"
-      {"slide-list",slide_list},
-      {(char*)0},
-#line 54 "KEY2Token.gperf"
-      {"version",version},
-      {(char*)0}, {(char*)0},
-#line 42 "KEY2Token.gperf"
-      {"right",right},
-#line 27 "KEY2Token.gperf"
-      {"72007061400",VERSION_STR_4},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 39 "KEY2Token.gperf"
-      {"notes",notes},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 25 "KEY2Token.gperf"
-      {"2005092101",COMPATIBLE_VERSION_STR_3,},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 26 "KEY2Token.gperf"
-      {"2005112100",VERSION_STR_3},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 24 "KEY2Token.gperf"
-      {"2004102100",VERSION_STR_2},
-      {(char*)0},
-#line 32 "KEY2Token.gperf"
-      {"headlineParagraphStyle",headlineParagraphStyle},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 33 "KEY2Token.gperf"
-      {"http://developer.apple.com/namespaces/keynote2",NS_URI_KEY}
-    };
-
-  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
-    {
-      register int key = hash (str, len);
-
-      if (key <= MAX_HASH_VALUE && key >= 0)
-        {
-          register const char *s = wordlist[key].name;
-
-          if (s && *str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
-            return &wordlist[key];
-        }
-    }
-  return 0;
-}
-#line 55 "KEY2Token.gperf"
-
diff --git a/external/libetonyek/generated/NUM1Token.inc b/external/libetonyek/generated/NUM1Token.inc
deleted file mode 100644
index 837584a..0000000
--- a/external/libetonyek/generated/NUM1Token.inc
+++ /dev/null
@@ -1,147 +0,0 @@
-/* C++ code produced by gperf version 3.0.4 */
-/* Command-line: /usr/bin/gperf --compare-strncmp --enum --null-strings --readonly-tables --language C++ NUM1Token.gperf  */
-/* Computed positions: -k'1' */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf at gnu.org>."
-#endif
-
-#line 10 "NUM1Token.gperf"
-
-#if defined __GNUC__
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#endif
-
-using namespace NUM1Token;
-#line 18 "NUM1Token.gperf"
-struct Token
-{
-  const char *name;
-  int id;
-};
-#include <string.h>
-/* maximum key range = 34, duplicates = 0 */
-
-class Perfect_Hash
-{
-private:
-  static inline unsigned int hash (const char *str, unsigned int len);
-public:
-  static const struct Token *in_word_set (const char *str, unsigned int len);
-};
-
-inline unsigned int
-Perfect_Hash::hash (register const char *str, register unsigned int len)
-{
-  static const unsigned char asso_values[] =
-    {
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41,  0, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-       0, 41, 41, 41,  0, 41, 41, 41, 41, 41,
-      41, 41,  5, 41, 41,  0, 41, 41,  0,  0,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41
-    };
-  return len + asso_values[(unsigned char)str[0]];
-}
-
-const struct Token *
-Perfect_Hash::in_word_set (register const char *str, register unsigned int len)
-{
-  enum
-    {
-      TOTAL_KEYWORDS = 8,
-      MIN_WORD_LENGTH = 7,
-      MAX_WORD_LENGTH = 40,
-      MIN_HASH_VALUE = 7,
-      MAX_HASH_VALUE = 40
-    };
-
-  static const struct Token wordlist[] =
-    {
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 31 "NUM1Token.gperf"
-      {"version",version},
-#line 26 "NUM1Token.gperf"
-      {"document",document},
-#line 29 "NUM1Token.gperf"
-      {"workspace",workspace},
-#line 28 "NUM1Token.gperf"
-      {"stylesheet",stylesheet},
-#line 24 "NUM1Token.gperf"
-      {"92008102400",VERSION_STR_2},
-      {(char*)0}, {(char*)0},
-#line 27 "NUM1Token.gperf"
-      {"page-info",page_info},
-#line 30 "NUM1Token.gperf"
-      {"workspace-array",workspace_array},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 25 "NUM1Token.gperf"
-      {"http://developer.apple.com/namespaces/ls",NS_URI_LS}
-    };
-
-  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
-    {
-      register int key = hash (str, len);
-
-      if (key <= MAX_HASH_VALUE && key >= 0)
-        {
-          register const char *s = wordlist[key].name;
-
-          if (s && *str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
-            return &wordlist[key];
-        }
-    }
-  return 0;
-}
-#line 32 "NUM1Token.gperf"
-
diff --git a/external/libetonyek/generated/NUMToken.inc b/external/libetonyek/generated/NUMToken.inc
deleted file mode 100644
index d446abd..0000000
--- a/external/libetonyek/generated/NUMToken.inc
+++ /dev/null
@@ -1,146 +0,0 @@
-/* C++ code produced by gperf version 3.0.4 */
-/* Command-line: /usr/bin/gperf --compare-strncmp --enum --null-strings --readonly-tables --language C++ NUMToken.gperf  */
-/* Computed positions: -k'1' */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf at gnu.org>."
-#endif
-
-#line 10 "NUMToken.gperf"
-
-#if defined __GNUC__
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#endif
-
-using namespace NUMToken;
-#line 18 "NUMToken.gperf"
-struct Token
-{
-  const char *name;
-  int id;
-};
-#include <string.h>
-/* maximum key range = 34, duplicates = 0 */
-
-class Perfect_Hash
-{
-private:
-  static inline unsigned int hash (const char *str, unsigned int len);
-public:
-  static const struct Token *in_word_set (const char *str, unsigned int len);
-};
-
-inline unsigned int
-Perfect_Hash::hash (register const char *str, register unsigned int len)
-{
-  static const unsigned char asso_values[] =
-    {
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41,  0, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41,  0, 41, 41, 41, 41, 41,
-      41, 41,  5, 41, 41,  0, 41, 41,  0,  0,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41
-    };
-  return len + asso_values[(unsigned char)str[0]];
-}
-
-const struct Token *
-Perfect_Hash::in_word_set (register const char *str, register unsigned int len)
-{
-  enum
-    {
-      TOTAL_KEYWORDS = 7,
-      MIN_WORD_LENGTH = 7,
-      MAX_WORD_LENGTH = 40,
-      MIN_HASH_VALUE = 7,
-      MAX_HASH_VALUE = 40
-    };
-
-  static const struct Token wordlist[] =
-    {
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0},
-#line 30 "NUMToken.gperf"
-      {"version",version},
-      {(char*)0},
-#line 28 "NUMToken.gperf"
-      {"workspace",workspace},
-#line 27 "NUMToken.gperf"
-      {"stylesheet",stylesheet},
-#line 24 "NUMToken.gperf"
-      {"92008102400",VERSION_STR_2},
-      {(char*)0}, {(char*)0},
-#line 26 "NUMToken.gperf"
-      {"page-info",page_info},
-#line 29 "NUMToken.gperf"
-      {"workspace-array",workspace_array},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 25 "NUMToken.gperf"
-      {"http://developer.apple.com/namespaces/ls",NS_URI_LS}
-    };
-
-  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
-    {
-      register int key = hash (str, len);
-
-      if (key <= MAX_HASH_VALUE && key >= 0)
-        {
-          register const char *s = wordlist[key].name;
-
-          if (s && *str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
-            return &wordlist[key];
-        }
-    }
-  return 0;
-}
-#line 31 "NUMToken.gperf"
-
diff --git a/external/libetonyek/generated/PAG1Token.inc b/external/libetonyek/generated/PAG1Token.inc
deleted file mode 100644
index 78ac0de..0000000
--- a/external/libetonyek/generated/PAG1Token.inc
+++ /dev/null
@@ -1,158 +0,0 @@
-/* C++ code produced by gperf version 3.0.4 */
-/* Command-line: /usr/bin/gperf --compare-strncmp --enum --null-strings --readonly-tables --language C++ PAG1Token.gperf  */
-/* Computed positions: -k'1' */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf at gnu.org>."
-#endif
-
-#line 10 "PAG1Token.gperf"
-
-#if defined __GNUC__
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#endif
-
-using namespace PAG1Token;
-#line 18 "PAG1Token.gperf"
-struct Token
-{
-  const char *name;
-  int id;
-};
-#include <string.h>
-/* maximum key range = 37, duplicates = 0 */
-
-class Perfect_Hash
-{
-private:
-  static inline unsigned int hash (const char *str, unsigned int len);
-public:
-  static const struct Token *in_word_set (const char *str, unsigned int len);
-};
-
-inline unsigned int
-Perfect_Hash::hash (register const char *str, register unsigned int len)
-{
-  static const unsigned char asso_values[] =
-    {
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41,  5, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 10,  5,
-       5, 41,  0, 41,  0, 41, 41, 41,  5, 41,
-       0, 41, 41, 41, 41,  0,  5, 41,  0, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41
-    };
-  return len + asso_values[(unsigned char)str[0]];
-}
-
-const struct Token *
-Perfect_Hash::in_word_set (register const char *str, register unsigned int len)
-{
-  enum
-    {
-      TOTAL_KEYWORDS = 13,
-      MIN_WORD_LENGTH = 4,
-      MAX_WORD_LENGTH = 40,
-      MIN_HASH_VALUE = 4,
-      MAX_HASH_VALUE = 40
-    };
-
-  static const struct Token wordlist[] =
-    {
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 32 "PAG1Token.gperf"
-      {"note",note},
-      {(char*)0},
-#line 29 "PAG1Token.gperf"
-      {"header",header},
-#line 36 "PAG1Token.gperf"
-      {"version",version},
-#line 28 "PAG1Token.gperf"
-      {"footnote",footnote},
-#line 26 "PAG1Token.gperf"
-      {"cell",cell},
-#line 34 "PAG1Token.gperf"
-      {"stylesheet",stylesheet},
-#line 31 "PAG1Token.gperf"
-      {"layout",layout},
-#line 35 "PAG1Token.gperf"
-      {"textbox",textbox},
-#line 27 "PAG1Token.gperf"
-      {"document",document},
-#line 25 "PAG1Token.gperf"
-      {"body",body},
-      {(char*)0},
-#line 24 "PAG1Token.gperf"
-      {"92008102400",VERSION_STR_4},
-      {(char*)0},
-#line 33 "PAG1Token.gperf"
-      {"section-prototypes",section_prototypes},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 30 "PAG1Token.gperf"
-      {"http://developer.apple.com/namespaces/sl",NS_URI_SL}
-    };
-
-  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
-    {
-      register int key = hash (str, len);
-
-      if (key <= MAX_HASH_VALUE && key >= 0)
-        {
-          register const char *s = wordlist[key].name;
-
-          if (s && *str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
-            return &wordlist[key];
-        }
-    }
-  return 0;
-}
-#line 37 "PAG1Token.gperf"
-
diff --git a/external/libetonyek/generated/PAGToken.inc b/external/libetonyek/generated/PAGToken.inc
deleted file mode 100644
index 0d83a6d..0000000
--- a/external/libetonyek/generated/PAGToken.inc
+++ /dev/null
@@ -1,158 +0,0 @@
-/* C++ code produced by gperf version 3.0.4 */
-/* Command-line: /usr/bin/gperf --compare-strncmp --enum --null-strings --readonly-tables --language C++ PAGToken.gperf  */
-/* Computed positions: -k'1' */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf at gnu.org>."
-#endif
-
-#line 10 "PAGToken.gperf"
-
-#if defined __GNUC__
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-#endif
-
-using namespace PAGToken;
-#line 18 "PAGToken.gperf"
-struct Token
-{
-  const char *name;
-  int id;
-};
-#include <string.h>
-/* maximum key range = 37, duplicates = 0 */
-
-class Perfect_Hash
-{
-private:
-  static inline unsigned int hash (const char *str, unsigned int len);
-public:
-  static const struct Token *in_word_set (const char *str, unsigned int len);
-};
-
-inline unsigned int
-Perfect_Hash::hash (register const char *str, register unsigned int len)
-{
-  static const unsigned char asso_values[] =
-    {
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41,  5, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 10,  5,
-       5, 41,  0, 41,  0, 41, 41, 41,  5, 41,
-       0, 41, 41, 41, 41,  0,  5, 41,  0, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
-      41, 41, 41, 41, 41, 41
-    };
-  return len + asso_values[(unsigned char)str[0]];
-}
-
-const struct Token *
-Perfect_Hash::in_word_set (register const char *str, register unsigned int len)
-{
-  enum
-    {
-      TOTAL_KEYWORDS = 13,
-      MIN_WORD_LENGTH = 4,
-      MAX_WORD_LENGTH = 40,
-      MIN_HASH_VALUE = 4,
-      MAX_HASH_VALUE = 40
-    };
-
-  static const struct Token wordlist[] =
-    {
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-#line 32 "PAGToken.gperf"
-      {"note",note},
-      {(char*)0},
-#line 29 "PAGToken.gperf"
-      {"header",header},
-#line 36 "PAGToken.gperf"
-      {"version",version},
-#line 28 "PAGToken.gperf"
-      {"footnote",footnote},
-#line 26 "PAGToken.gperf"
-      {"cell",cell},
-#line 34 "PAGToken.gperf"
-      {"stylesheet",stylesheet},
-#line 31 "PAGToken.gperf"
-      {"layout",layout},
-#line 35 "PAGToken.gperf"
-      {"textbox",textbox},
-#line 27 "PAGToken.gperf"
-      {"document",document},
-#line 25 "PAGToken.gperf"
-      {"body",body},
-      {(char*)0},
-#line 24 "PAGToken.gperf"
-      {"92008102400",VERSION_STR_4},
-      {(char*)0},
-#line 33 "PAGToken.gperf"
-      {"section-prototypes",section_prototypes},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0}, {(char*)0}, {(char*)0}, {(char*)0},
-      {(char*)0},
-#line 30 "PAGToken.gperf"
-      {"http://developer.apple.com/namespaces/sl",NS_URI_SL}
-    };
-
-  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
-    {
-      register int key = hash (str, len);
-
-      if (key <= MAX_HASH_VALUE && key >= 0)
-        {
-          register const char *s = wordlist[key].name;
-
-          if (s && *str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
-            return &wordlist[key];
-        }
-    }
-  return 0;
-}
-#line 37 "PAGToken.gperf"
-
diff --git a/external/libetonyek/ubsan.patch b/external/libetonyek/ubsan.patch
index f0ab147..b7da709 100644
--- a/external/libetonyek/ubsan.patch
+++ b/external/libetonyek/ubsan.patch
@@ -1,11 +1,11 @@
---- src/lib/contexts/IWORKPropertyMapElement.cpp
-+++ src/lib/contexts/IWORKPropertyMapElement.cpp
-@@ -264,7 +264,7 @@
+--- src/lib/libetonyek_xml.cpp
++++ src/lib/libetonyek_xml.cpp
+@@ -33,7 +33,7 @@
+     unsigned long bytesRead = 0;
+     const unsigned char *const bytes = input->read(len, bytesRead);
  
- void AlignmentElement::endOfElement()
- {
--  IWORKAlignment prop;
-+  IWORKAlignment prop = IWORK_ALIGNMENT_LEFT;
- 
-   if (m_value)
-   {
+-    std::memcpy(buffer, bytes, static_cast<int>(bytesRead));
++    if (bytesRead != 0) std::memcpy(buffer, bytes, static_cast<int>(bytesRead));
+     return static_cast<int>(bytesRead);
+   }
+   catch (...)


More information about the Libreoffice-commits mailing list