<86>Jun  4 09:24:00 userdel[2289464]: delete user 'rooter'
<86>Jun  4 09:24:00 userdel[2289464]: removed group 'rooter' owned by 'rooter'
<86>Jun  4 09:24:00 userdel[2289464]: removed shadow group 'rooter' owned by 'rooter'
<86>Jun  4 09:24:00 groupadd[2289481]: group added to /etc/group: name=rooter, GID=1826
<86>Jun  4 09:24:00 groupadd[2289481]: group added to /etc/gshadow: name=rooter
<86>Jun  4 09:24:00 groupadd[2289481]: new group: name=rooter, GID=1826
<86>Jun  4 09:24:00 useradd[2289497]: new user: name=rooter, UID=1826, GID=1826, home=/root, shell=/bin/bash
<86>Jun  4 09:24:00 userdel[2289514]: delete user 'builder'
<86>Jun  4 09:24:00 userdel[2289514]: removed group 'builder' owned by 'builder'
<86>Jun  4 09:24:00 userdel[2289514]: removed shadow group 'builder' owned by 'builder'
<86>Jun  4 09:24:00 groupadd[2289538]: group added to /etc/group: name=builder, GID=1827
<86>Jun  4 09:24:00 groupadd[2289538]: group added to /etc/gshadow: name=builder
<86>Jun  4 09:24:00 groupadd[2289538]: new group: name=builder, GID=1827
<86>Jun  4 09:24:00 useradd[2289566]: new user: name=builder, UID=1827, GID=1827, home=/usr/src, shell=/bin/bash
<13>Jun  4 09:24:01 rpmi: libgdbm-1.8.3-alt10 1454943313 installed
<13>Jun  4 09:24:01 rpmi: libexpat-2.4.3-alt1 p9+293696.100.1.1 1643124786 installed
<13>Jun  4 09:24:01 rpmi: libp11-kit-0.23.15-alt2 p9+254920.2400.19.1 1601385869 installed
<13>Jun  4 09:24:01 rpmi: libtasn1-4.14-alt1 p9+235792.100.2.1 1565425233 installed
<13>Jun  4 09:24:01 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Jun  4 09:24:01 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Jun  4 09:24:01 rpmi: ca-certificates-2021.10.06-alt1 p9+289862.100.1.1 1637033643 installed
<13>Jun  4 09:24:01 rpmi: ca-trust-0.1.2-alt1 p9+233349.100.1.1 1561655062 installed
<13>Jun  4 09:24:01 rpmi: p11-kit-trust-0.23.15-alt2 p9+254920.2400.19.1 1601385869 installed
<13>Jun  4 09:24:02 rpmi: libcrypto1.1-1.1.1t-alt3 p9+321600.100.1.1 1684998220 installed
<13>Jun  4 09:24:02 rpmi: libssl1.1-1.1.1t-alt3 p9+321600.100.1.1 1684998220 installed
<13>Jun  4 09:24:02 rpmi: python3-3.7.11-alt1 p9+273501.10.37.1 1629720188 installed
<13>Jun  4 09:24:02 rpmi: libpython3-3.7.11-alt1 p9+273501.10.37.1 1629720188 installed
<13>Jun  4 09:24:02 rpmi: python3-base-3.7.11-alt1 p9+273501.10.37.1 1629720188 installed
<13>Jun  4 09:24:02 rpmi: tests-for-installed-python3-pkgs-0.1.13.1-alt2 1535450458 installed
<13>Jun  4 09:24:02 rpmi: rpm-build-python3-0.1.13.1-alt2 1535450458 installed
<13>Jun  4 09:24:04 rpmi: python-modules-curses-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: libtinfo-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686221 installed
<13>Jun  4 09:24:04 rpmi: libncurses-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686221 installed
<13>Jun  4 09:24:04 rpmi: libverto-0.3.0-alt1_7 sisyphus+225932.100.1.1 1553994917 installed
<13>Jun  4 09:24:04 rpmi: libkeyutils-1.6-alt2 sisyphus+226520.100.2.1 1554512088 installed
<13>Jun  4 09:24:04 rpmi: libcom_err-1.44.6-alt1 sisyphus+224154.100.1.1 1552091653 installed
<86>Jun  4 09:24:04 groupadd[2313220]: group added to /etc/group: name=_keytab, GID=499
<86>Jun  4 09:24:04 groupadd[2313220]: group added to /etc/gshadow: name=_keytab
<86>Jun  4 09:24:04 groupadd[2313220]: new group: name=_keytab, GID=499
<13>Jun  4 09:24:04 rpmi: libkrb5-1.17.2-alt4 p9+310094.100.3.1 1669309764 installed
<13>Jun  4 09:24:04 rpmi: libtirpc-1.0.3-alt1 1532008015 installed
<13>Jun  4 09:24:04 rpmi: libnsl2-1.1.0-alt1_1 1511548748 installed
<13>Jun  4 09:24:04 rpmi: python-modules-compiler-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-email-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-unittest-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-encodings-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-nis-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-xml-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-hotshot-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-bsddb-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-ctypes-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-multiprocessing-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-logging-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-modules-distutils-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: libnsl2-devel-1.1.0-alt1_1 1511548748 installed
<13>Jun  4 09:24:04 rpmi: python-dev-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python-tools-2to3-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Jun  4 09:24:04 rpmi: python3-dev-3.7.11-alt1 p9+273501.10.37.1 1629720188 installed
Building target platforms: x86_64
Building for target x86_64
Wrote: /usr/src/in/nosrpm/python-module-SVGMath-0.3.3-alt3.2.2.nosrc.rpm (w1.gzdio)
<13>Jun  4 09:24:06 rpmi: python3-module-pkg_resources-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
<13>Jun  4 09:24:06 rpmi: python-module-pkg_resources-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
<13>Jun  4 09:24:06 rpmi: python-module-setuptools-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
<13>Jun  4 09:24:06 rpmi: python3-module-setuptools-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
Installing python-module-SVGMath-0.3.3-alt3.2.2.src.rpm
Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.15190
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf SVGMath-0.3.3
+ echo 'Source #0 (SVGMath-0.3.3.tar.bz2):'
Source #0 (SVGMath-0.3.3.tar.bz2):
+ /bin/bzip2 -dc /usr/src/RPM/SOURCES/SVGMath-0.3.3.tar.bz2
+ /bin/tar -xf -
+ cd SVGMath-0.3.3
+ /bin/chmod -c -Rf u+rwX,go-w .
+ cp -fR . ../python3
+ find ../python3 -type f -name '*.py' -exec 2to3 -w -n '{}' +
RefactoringTool: Skipping optional fixer: buffer
RefactoringTool: Skipping optional fixer: idioms
RefactoringTool: Skipping optional fixer: set_literal
RefactoringTool: Skipping optional fixer: ws_comma
RefactoringTool: Refactored ../python3/svgmath/tools/saxtools.py
RefactoringTool: No changes to ../python3/svgmath/tools/__init__.py
RefactoringTool: Refactored ../python3/svgmath/tables.py
--- ../python3/svgmath/tools/saxtools.py	(original)
+++ ../python3/svgmath/tools/saxtools.py	(refactored)
@@ -10,10 +10,10 @@
     with entity replacement stripped off (not needed for generation)."""
 
     # must do ampersand first
-    data = unicode(data)
-    data = data.replace(u"&", u"&amp;")
-    data = data.replace(u">", u"&gt;")
-    data = data.replace(u"<", u"&lt;")
+    data = str(data)
+    data = data.replace("&", "&amp;")
+    data = data.replace(">", "&gt;")
+    data = data.replace("<", "&lt;")
     return data
 
 def quoteattr(data):
@@ -26,13 +26,13 @@
     necessary.
     """
     data = escape(data)
-    if u'"' in data:
-        if u"'" in data:
-            data = u'"%s"' % data.replace(u'"', u"&quot;")
+    if '"' in data:
+        if "'" in data:
+            data = '"%s"' % data.replace('"', "&quot;")
         else:
-            data = u"'%s'" % data
+            data = "'%s'" % data
     else:
-        data = u'"%s"' % data
+        data = '"%s"' % data
     return data
    
    
@@ -56,24 +56,24 @@
         self._starttag_pending = False
 
     def _write(self, text):
-        self._out.write(unicode(text))
+        self._out.write(str(text))
 
     def _qname(self, name):
         if name[0]:
             prefix = self._current_context[name[0]]
             if prefix: 
-                return unicode(prefix) + u":" + unicode(name[1])
-        return unicode(name[1])
+                return str(prefix) + ":" + str(name[1])
+        return str(name[1])
         
     def _flush_starttag(self):
         if self._starttag_pending:
-            self._write(u">")
+            self._write(">")
             self._starttag_pending = False
 
     # ContentHandler methods
     def startDocument(self):
         self._out.reset()
-        self._write(u'<?xml version="1.0" encoding="%s"?>\n' % unicode(self._encoding))
+        self._write('<?xml version="1.0" encoding="%s"?>\n' % str(self._encoding))
 
     def endDocument(self):
         self._out.reset()
@@ -89,27 +89,27 @@
 
     def startElement(self, name, attrs):
         self._flush_starttag()
-        self._write(u"<%s" % unicode(name))
-        for (name, value) in attrs.items():
-            self._write(u" %s=%s" % (unicode(name), quoteattr(value)))
+        self._write("<%s" % str(name))
+        for (name, value) in list(attrs.items()):
+            self._write(" %s=%s" % (str(name), quoteattr(value)))
         self._starttag_pending = True
 
     def endElement(self, name):
         if self._starttag_pending:
-            self._write(u"/>")
+            self._write("/>")
             self._starttag_pending = False
         else:
-            self._write(u"</%s>" % unicode(name))
+            self._write("</%s>" % str(name))
 
     def startElementNS(self, name, qname, attrs):
         qattrs = {}
-        for attname, attvalue in attrs.items(): 
+        for attname, attvalue in list(attrs.items()): 
             qattrs[self._qname(attname)] = attvalue
         for prefix, uri in self._undeclared_ns_maps:
             if prefix:
-                qattrs[u"xmlns:%s" % unicode(prefix)] = uri
+                qattrs["xmlns:%s" % str(prefix)] = uri
             else:
-                qattrs[u"xmlns"] = uri        
+                qattrs["xmlns"] = uri        
         self._undeclared_ns_maps = []    
         self.startElement(self._qname(name), qattrs)
 
@@ -125,7 +125,7 @@
 
     def processingInstruction(self, target, data):
         self._flush_starttag()
-        self._write(u"<?%s %s?>" % (unicode(target), unicode(data)))
+        self._write("<?%s %s?>" % (str(target), str(data)))
 
 
 class ContentFilter (handler.ContentHandler):
--- ../python3/svgmath/tables.py	(original)
+++ ../python3/svgmath/tables.py	(refactored)
@@ -28,7 +28,7 @@
 class RowDescriptor:
     """Descriptor of a single row in a table; contains cells"""
     def __init__(self, node, cells, rowalign, columnaligns, busycells):
-        self.alignToAxis = (rowalign == u"axis")
+        self.alignToAxis = (rowalign == "axis")
         self.height = 0
         self.depth  = 0
         self.spaceAfter = 0
@@ -44,11 +44,11 @@
             colspan = 1
             rowspan = 1
 
-            if c.elementName == u"mtd":
-                halign = c.attributes.get(u"columnalign", halign)
-                valign = c.attributes.get(u"rowalign", valign)
-                colspan = node.parseInt(c.attributes.get(u"colspan", u"1"))
-                rowspan = node.parseInt(c.attributes.get(u"rowspan", u"1"))
+            if c.elementName == "mtd":
+                halign = c.attributes.get("columnalign", halign)
+                valign = c.attributes.get("rowalign", valign)
+                colspan = node.parseInt(c.attributes.get("colspan", "1"))
+                rowspan = node.parseInt(c.attributes.get("rowspan", "1"))
 
             while len(self.cells) >= len(node.columns):
                 node.columns.append(ColumnDescriptor())
@@ -64,17 +64,17 @@
     busycells = []
 
     # Read table-level alignment properties      
-    table_rowaligns = node.getListProperty(u"rowalign")
-    table_columnaligns = node.getListProperty(u"columnalign")
+    table_rowaligns = node.getListProperty("rowalign")
+    table_columnaligns = node.getListProperty("columnalign")
 
     for ch in node.children:
         rowalign = getByIndexOrLast(table_rowaligns, len(node.rows))
         row_columnaligns = table_columnaligns
-        if ch.elementName == u"mtr" or ch.elementName == "mlabeledtr":
+        if ch.elementName == "mtr" or ch.elementName == "mlabeledtr":
             cells = ch.children
-            rowalign = ch.attributes.get(u"rowalign", rowalign)
-            if u"columnalign" in ch.attributes.keys():
-                columnaligns = node.getListProperty(u"columnalign", ch.attributes.get(u"columnalign"))
+            rowalign = ch.attributes.get("rowalign", rowalign)
+            if "columnalign" in list(ch.attributes.keys()):
+                columnaligns = node.getListProperty("columnalign", ch.attributes.get("columnalign"))
         else:
             cells = [ch]
 
@@ -98,53 +98,53 @@
 
 def arrangeLines(node):
     # Get spacings and line styles; expand to cover the table fully        
-    spacings = map(node.parseLength, node.getListProperty(u"rowspacing"))
-    lines = node.getListProperty(u"rowlines")
+    spacings = list(map(node.parseLength, node.getListProperty("rowspacing")))
+    lines = node.getListProperty("rowlines")
     
     for i in range(len(node.rows) - 1):
         node.rows[i].spaceAfter = getByIndexOrLast(spacings, i)
         line = getByIndexOrLast(lines, i) 
-        if line != u"none": 
+        if line != "none": 
            node.rows[i].lineAfter = line
            node.rows[i].spaceAfter += node.lineWidth
 
-    spacings = map(node.parseSpace, node.getListProperty(u"columnspacing"))
-    lines = node.getListProperty(u"columnlines")
+    spacings = list(map(node.parseSpace, node.getListProperty("columnspacing")))
+    lines = node.getListProperty("columnlines")
     
     for i in range(len(node.columns) - 1):
         node.columns[i].spaceAfter = getByIndexOrLast(spacings, i)        
         line = getByIndexOrLast(lines, i)
-        if line != u"none": 
+        if line != "none": 
            node.columns[i].lineAfter = line
            node.columns[i].spaceAfter += node.lineWidth
     
     node.framespacings = [0, 0]
     node.framelines = [None, None]
-    spacings = map(node.parseSpace, node.getListProperty(u"framespacing"))
-    lines = node.getListProperty(u"frame")
+    spacings = list(map(node.parseSpace, node.getListProperty("framespacing")))
+    lines = node.getListProperty("frame")
     for i in range(2): 
         line = getByIndexOrLast(lines, i)
-        if line != u"none": 
+        if line != "none": 
             node.framespacings[i] = getByIndexOrLast(spacings, i)
             node.framelines[i] = line
 
 def calculateColumnWidths(node):
     # Get total width
-    fullwidthattr = node.attributes.get(u"width", u"auto")
-    if fullwidthattr == u"auto": 
+    fullwidthattr = node.attributes.get("width", "auto")
+    if fullwidthattr == "auto": 
         fuRefactoringTool: Refactored ../python3/svgmath/operators.py
llwidth = None
     else:
         fullwidth = node.parseLength(fullwidthattr)
         if fullwidth <= 0: fullwidth = None
 
     # Fill fixed column widths
-    columnwidths = node.getListProperty(u"columnwidth")
+    columnwidths = node.getListProperty("columnwidth")
     for i in range(len(node.columns)):
         column = node.columns[i]
         attr = getByIndexOrLast(columnwidths, i)
-        if attr in [u"auto", u"fit"]: 
-            column.fit = (attr == u"fit")
-        elif attr.endswith(u'%'):
+        if attr in ["auto", "fit"]: 
+            column.fit = (attr == "fit")
+        elif attr.endswith('%'):
             if fullwidth is None: 
                 node.error("Percents in column widths supported only in tables with explicit width; width of column %d treated as 'auto'" % (i+1))
             else:
@@ -206,7 +206,7 @@
         if len(adjustedColumns) == 0: break;
         for col in adjustedColumns: col.width = adjustedWidth
     
-    if node.getProperty(u"equalcolumns") == u"true":
+    if node.getProperty("equalcolumns") == "true":
         globalWidth = max([col.width for col in node.columns if col.auto])
         for col in node.columns: 
             if col.auto: col.width = globalWidth
@@ -237,11 +237,11 @@
             cellAxis = c.content.axis()            
             c.vshift = 0
             
-            if c.valign == u"baseline":
+            if c.valign == "baseline":
                 if r.alignToAxis: cell.vshift -= commonAxis           
                 if c.content.alignToAxis: c.vshift += cellAxis
             
-            elif c.valign == u"axis":
+            elif c.valign == "axis":
                 if not r.alignToAxis: c.vshift += commonAxis           
                 if not c.content.alignToAxis: c.vshift -= cellAxis
             
@@ -286,7 +286,7 @@
             delta = (adjustedSize - r.height - r.depth) / 2
             r.height += delta; r.depth += delta
 
-    if node.getProperty(u"equalrows") == u"true":
+    if node.getProperty("equalrows") == "true":
         maxvsize = max([r.height + r.depth for r in node.rows])
         for r in node.rows:
             delta = (maxvsize - r.height - r.depth) / 2
@@ -294,8 +294,8 @@
     
     
 def getAlign(node):
-    alignattr = node.getProperty(u"align").strip()
-    if len(alignattr) == 0: alignattr = mathnode.globalDefaults[u"align"]
+    alignattr = node.getProperty("align").strip()
+    if len(alignattr) == 0: alignattr = mathnode.globalDefaults["align"]
     
     splitalign = alignattr.split() 
     alignType = splitalign[0]
--- ../python3/svgmath/operators.py	(original)
+++ ../python3/svgmath/operators.py	(refactored)
@@ -3,406 +3,406 @@
 
 operatorDictionary = {}
 
-def lookup(op, form = u"infix"):
+def lookup(op, form = "infix"):
     """Find the entry for an operator in the dictionary"""
     res = operatorDictionary.get(op+form)
     if res is not None: return res 
     
-    for f in [u"infix", u"postfix", u"prefix"]:
+    for f in ["infix", "postfix", "prefix"]:
         res = operatorDictionary.get(op+f)
         if res is not None: return res 
     
-    return operatorDictionary[u""+u"infix"]  # default entry
+    return operatorDictionary[""+"infix"]  # default entry
 
     
 def createEntry( content, 
-                 form = u"infix", 
-                 fence = u"false", 
-                 separator = u"false",
-                 accent = u"false",
-                 largeop = u"false",
-                 lspace = u"thickmathspace", 
-                 rspace = u"thickmathspace",
-                 stretchy = u"false", 
-                 scaling = u"uniform", 
-                 minsize = u"1", 
-                 maxsize = u"infinity", 
-                 movablelimits = u"false",
-                 symmetric = u"true" ) :
-    if content+form in operatorDictionary.keys():
+                 form = "infix", 
+                 fence = "false", 
+                 separator = "false",
+                 accent = "false",
+                 largeop = "false",
+                 lspace = "thickmathspace", 
+                 rspace = "thickmathspace",
+                 stretchy = "false", 
+                 scaling = "uniform", 
+                 minsize = "1", 
+                 maxsize = "infinity", 
+                 movablelimits = "false",
+                 symmetric = "true" ) :
+    if content+form in list(operatorDictionary.keys()):
         sys.stderr.write("WARNING: duplicate entry in operator dictionary, %s %s\n" %(form, str(content)))
-    operatorDictionary[content+form] = { u"form": form,
-                                         u"fence": fence,
-                                         u"separator": separator,
-                                         u"accent": accent,
-                                         u"largeop": largeop,
-                                         u"lspace": lspace, 
-                                         u"rspace": rspace,
-                                         u"stretchy": stretchy, 
-                                         u"scaling": scaling, 
-                                         u"minsize": minsize, 
-                                         u"maxsize": maxsize, 
-                                         u"movablelimits": movablelimits,
-                                         u"symmetric": symmetric } 
+    operatorDictionary[content+form] = { "form": form,
+                                         "fence": fence,
+                                         "separator": separator,
+                                         "accent": accent,
+                                         "largeop": largeop,
+                                         "lspace": lspace, 
+                                         "rspace": rspace,
+                                         "stretchy": stretchy, 
+                                         "scaling": scaling, 
+                                         "minsize": minsize, 
+                                         "maxsize": maxsize, 
+                                         "movablelimits": movablelimits,
+                                         "symmetric": symmetric } 
                 
 # Create default entry
-createEntry (content=u"")
+createEntry (content="")
 
 # Create real entries
-createEntry (content=u"(", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em")
-createEntry (content=u")", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em")
-createEntry (content=u"[", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em")
-createEntry (content=u"]", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em")
-createEntry (content=u"{", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em")
-createEntry (content=u"}", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em")
-createEntry (content=u"\u201D", form=u"postfix", fence=u"true", lspace=u"0em", rspace=u"0em") # CloseCurlyDoubleQuote
-createEntry (content=u"\u2019", form=u"postfix", fence=u"true", lspace=u"0em", rspace=u"0em") # CloseCurlyQuote
-createEntry (content=u"\u2329", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # LeftAngleBracket
-createEntry (content=u"\u2308", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # LeftCeiling
-createEntry (content=u"\u301A", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # LeftDoubleBracket
-createEntry (content=u"\u230A", form=u"prefix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # LeftFloor
-createEntry (content=u"\u201C", form=u"prefix", fence=u"true", lspace=u"0em", rspace=u"0em") # OpenCurlyDoubleQuote
-createEntry (content=u"\u2018", form=u"prefix", fence=u"true", lspace=u"0em", rspace=u"0em") # OpenCurlyQuote
-createEntry (content=u"\u232A", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # RightAngleBracket
-createEntry (content=u"\u2309", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # RightCeiling
-createEntry (content=u"\u301B", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # RightDoubleBracket
-createEntry (content=u"\u230B", form=u"postfix", fence=u"true", stretchy=u"true", scaling="vertical", lspace=u"0em", rspace=u"0em") # RightFloor
-createEntry (content=u"\u2063", form=u"infix", separator=u"true", lspace=u"0em", rspace=u"0em") # InvisibleComma
-createEntry (content=u",", form=u"infix", separator=u"true", lspace=u"0em", rspace=u"verythickmathspace")
-createEntry (content=u"\u2500", form=u"infix", stretchy=u"true", scaling="horizontal", minsize=u"0", lspace=u"0em", rspace=u"0em") # HorizontalLine
+createEntry (content="(", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em")
+createEntry (content=")", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em")
+createEntry (content="[", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em")
+createEntry (content="]", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em")
+createEntry (content="{", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em")
+createEntry (content="}", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em")
+createEntry (content="\u201D", form="postfix", fence="true", lspace="0em", rspace="0em") # CloseCurlyDoubleQuote
+createEntry (content="\u2019", form="postfix", fence="true", lspace="0em", rspace="0em") # CloseCurlyQuote
+createEntry (content="\u2329", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # LeftAngleBracket
+createEntry (content="\u2308", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # LeftCeiling
+createEntry (content="\u301A", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # LeftDoubleBracket
+createEntry (content="\u230A", form="prefix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # LeftFloor
+createEntry (content="\u201C", form="prefix", fence="true", lspace="0em", rspace="0em") # OpenCurlyDoubleQuote
+createEntry (content="\u2018", form="prefix", fence="true", lspace="0em", rspace="0em") # OpenCurlyQuote
+createEntry (content="\u232A", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # RightAngleBracket
+createEntry (content="\u2309", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # RightCeiling
+createEntry (content="\u301B", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # RightDoubleBracket
+createEntry (content="\u230B", form="postfix", fence="true", stretchy="true", scaling="vertical", lspace="0em", rspace="0em") # RightFloor
+createEntry (content="\u2063", form="infix", separator="true", lspace="0em", rspace="0em") # InvisibleComma
+createEntry (content=",", form="infix", separator="true", lspace="0em", rspace="verythickmathspace")
+createEntry (content="\u2500", form="infix", stretchy="true", scaling="horizontal", minsize="0", lspace="0em", rspace="0em") # HorizontalLine
 # Commented out: collides with '|'. See http://lists.w3.org/Archives/Public/www-math/2004Mar/0028.html
 # createEntry (content=u"|", form=u"infix", stretchy=u"true", scaling="vertical", minsize=u"0", lspace=u"0em", rspace=u"0em") # VerticalLine 
-createEntry (content=u";", form=u"infix", separator=u"true", lspace=u"0em", rspace=u"thickmathspace")
-createEntry (content=u";", form=u"postfix", separator=u"true", lspace=u"0em", rspace=u"0em")
-createEntry (content=u":=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"\u2254", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Assign
-createEntry (content=u"\u2235", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Because
-createEntry (content=u"\u2234", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Therefore
-createEntry (content=u"\u2758", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"thickmathspace", rspace=u"thickmathspace") # VerticalSeparator
-createEntry (content=u"//", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
+createEntry (content=";", form="infix", separator="true", lspace="0em", rspace="thickmathspace")
+createEntry (content=";", form="postfix", separator="true", lspace="0em", rspace="0em")
+createEntry (content=":=", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="\u2254", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Assign
+createEntry (content="\u2235", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Because
+createEntry (content="\u2234", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Therefore
+createEntry (content="\u2758", form="infix", stretchy="true", scaling="vertical", lspace="thickmathspace", rspace="thickmathspace") # VerticalSeparator
+createEntry (content="//", form="infix", lspace="thickmathspace", rspace="thickmathspace")
 # Commented out: collides with Proportional
 # createEntry (content=u"\u2237", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Colon
-createEntry (content=u"&", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace")
-createEntry (content=u"&", form=u"postfix", lspace=u"thickmathspace", rspace=u"0em")
-createEntry (content=u"*=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"-=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"+=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"/=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"->", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u":", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"..", form=u"postfix", lspace=u"mediummathspace", rspace=u"0em")
-createEntry (content=u"...", form=u"postfix", lspace=u"mediummathspace", rspace=u"0em")
+createEntry (content="&", form="prefix", lspace="0em", rspace="thickmathspace")
+createEntry (content="&", form="postfix", lspace="thickmathspace", rspace="0em")
+createEntry (content="*=", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="-=", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="+=", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="/=", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="->", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content=":", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="..", form="postfix", lspace="mediummathspace", rspace="0em")
+createEntry (content="...", form="postfix", lspace="mediummathspace", rspace="0em")
 # Commented out: collides with ReverseElement
 # createEntry (content=u"\u220B", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SuchThat
-createEntry (content=u"\u2AE4", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleLeftTee
-createEntry (content=u"\u22A8", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleRightTee
-createEntry (content=u"\u22A4", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownTee
-createEntry (content=u"\u22A3", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTee
-createEntry (content=u"\u22A2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTee
+createEntry (content="\u2AE4", form="infix", lspace="thickmathspace", rspace="thickmathspace") # DoubleLeftTee
+createEntry (content="\u22A8", form="infix", lspace="thickmathspace", rspace="thickmathspace") # DoubleRightTee
+createEntry (content="\u22A4", form="infix", lspace="thickmathspace", rspace="thickmathspace") # DownTee
+createEntry (content="\u22A3", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LeftTee
+createEntry (content="\u22A2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # RightTee
 # Commented out: collides with DoubleRightArrow
 # createEntry (content=u"\u21D2", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # Implies
-createEntry (content=u"\u2970", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # RoundImplies
-createEntry (content=u"|", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"||", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace")
-createEntry (content=u"\u2A54", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # Or
-createEntry (content=u"&&", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"\u2A53", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # And
-createEntry (content=u"&", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"!", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace")
-createEntry (content=u"\u2AEC", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace") # Not
-createEntry (content=u"\u2203", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace") # Exists
-createEntry (content=u"\u2200", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace") # ForAll
-createEntry (content=u"\u2204", form=u"prefix", lspace=u"0em", rspace=u"thickmathspace") # NotExists
-createEntry (content=u"\u2208", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Element
-createEntry (content=u"\u2209", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotElement
-createEntry (content=u"\u220C", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotReverseElement
-createEntry (content=u"\u228F\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSquareSubset
-createEntry (content=u"\u22E2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSquareSubsetEqual
-createEntry (content=u"\u2290\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSquareSuperset
-createEntry (content=u"\u22E3", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSquareSupersetEqual
-createEntry (content=u"\u2282\u20D2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSubset
-createEntry (content=u"\u2288", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSubsetEqual
-createEntry (content=u"\u2283\u20D2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSuperset
-createEntry (content=u"\u2289", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSupersetEqual
-createEntry (content=u"\u220B", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # ReverseElement
-createEntry (content=u"\u228F", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SquareSubset
-createEntry (content=u"\u2291", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SquareSubsetEqual
-createEntry (content=u"\u2290", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SquareSuperset
-createEntry (content=u"\u2292", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SquareSupersetEqual
-createEntry (content=u"\u22D0", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Subset
-createEntry (content=u"\u2286", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SubsetEqual
-createEntry (content=u"\u2283", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Superset
-createEntry (content=u"\u2287", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SupersetEqual
-createEntry (content=u"\u21D0", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleLeftArrow
-createEntry (content=u"\u21D4", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleLeftRightArrow
-createEntry (content=u"\u21D2", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleRightArrow
-createEntry (content=u"\u2950", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownLeftRightVector
-createEntry (content=u"\u295E", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownLeftTeeVector
-createEntry (content=u"\u21BD", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownLeftVector
-createEntry (content=u"\u2956", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownLeftVectorBar
-createEntry (content=u"\u295F", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownRightTeeVector
-createEntry (content=u"\u21C1", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownRightVector
-createEntry (content=u"\u2957", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # DownRightVectorBar
-createEntry (content=u"\u2190", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftArrow
-createEntry (content=u"\u21E4", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftArrowBar
-createEntry (content=u"\u21C6", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftArrowRightArrow
-createEntry (content=u"\u2194", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftRightArrow
-createEntry (content=u"\u294E", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftRightVector
-createEntry (content=u"\u21A4", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTeeArrow
-createEntry (content=u"\u295A", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTeeVector
-createEntry (content=u"\u21BC", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftVector
-createEntry (content=u"\u2952", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftVectorBar
-createEntry (content=u"\u2199", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LowerLeftArrow
-createEntry (content=u"\u2198", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # LowerRightArrow
-createEntry (content=u"\u2192", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightArrow
-createEntry (content=u"\u21E5", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightArrowBar
-createEntry (content=u"\u21C4", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightArrowLeftArrow
-createEntry (content=u"\u21A6", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTeeArrow
-createEntry (content=u"\u295B", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTeeVector
-createEntry (content=u"\u21C0", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightVector
-createEntry (content=u"\u2953", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightVectorBar
+createEntry (content="\u2970", form="infix", lspace="thickmathspace", rspace="thickmathspace") # RoundImplies
+createEntry (content="|", form="infix", stretchy="true", scaling="vertical", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="||", form="infix", lspace="mediummathspace", rspace="mediummathspace")
+createEntry (content="\u2A54", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # Or
+createEntry (content="&&", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="\u2A53", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # And
+createEntry (content="&", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="!", form="prefix", lspace="0em", rspace="thickmathspace")
+createEntry (content="\u2AEC", form="prefix", lspace="0em", rspace="thickmathspace") # Not
+createEntry (content="\u2203", form="prefix", lspace="0em", rspace="thickmathspace") # Exists
+createEntry (content="\u2200", form="prefix", lspace="0em", rspace="thickmathspace") # ForAll
+createEntry (content="\u2204", form="prefix", lspace="0em", rspace="thickmathspace") # NotExists
+createEntry (content="\u2208", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Element
+createEntry (content="\u2209", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotElement
+createEntry (content="\u220C", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotReverseElement
+createEntry (content="\u228F\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSquareSubset
+createEntry (content="\u22E2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSquareSubsetEqual
+createEntry (content="\u2290\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSquareSuperset
+createEntry (content="\u22E3", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSquareSupersetEqual
+createEntry (content="\u2282\u20D2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSubset
+createEntry (content="\u2288", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSubsetEqual
+createEntry (content="\u2283\u20D2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSuperset
+createEntry (content="\u2289", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSupersetEqual
+createEntry (content="\u220B", form="infix", lspace="thickmathspace", rspace="thickmathspace") # ReverseElement
+createEntry (content="\u228F", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SquareSubset
+createEntry (content="\u2291", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SquareSubsetEqual
+createEntry (content="\u2290", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SquareSuperset
+createEntry (content="\u2292", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SquareSupersetEqual
+createEntry (content="\u22D0", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Subset
+createEntry (content="\u2286", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SubsetEqual
+createEntry (content="\u2283", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Superset
+createEntry (content="\u2287", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SupersetEqual
+createEntry (content="\u21D0", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DoubleLeftArrow
+createEntry (content="\u21D4", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DoubleLeftRightArrow
+createEntry (content="\u21D2", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DoubleRightArrow
+createEntry (content="\u2950", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownLeftRightVector
+createEntry (content="\u295E", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownLeftTeeVector
+createEntry (content="\u21BD", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownLeftVector
+createEntry (content="\u2956", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownLeftVectorBar
+createEntry (content="\u295F", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownRightTeeVector
+createEntry (content="\u21C1", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownRightVector
+createEntry (content="\u2957", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # DownRightVectorBar
+createEntry (content="\u2190", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftArrow
+createEntry (content="\u21E4", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftArrowBar
+createEntry (content="\u21C6", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftArrowRightArrow
+createEntry (content="\u2194", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftRightArrow
+createEntry (content="\u294E", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftRightVector
+createEntry (content="\u21A4", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftTeeArrow
+createEntry (content="\u295A", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftTeeVector
+createEntry (content="\u21BC", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftVector
+createEntry (content="\u2952", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LeftVectorBar
+createEntry (content="\u2199", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LowerLeftArrow
+createEntry (content="\u2198", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # LowerRightArrow
+createEntry (content="\u2192", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightArrow
+createEntry (content="\u21E5", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightArrowBar
+createEntry (content="\u21C4", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightArrowLeftArrow
+createEntry (content="\u21A6", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightTeeArrow
+createEntry (content="\u295B", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightTeeVector
+createEntry (content="\u21C0", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightVector
+createEntry (content="\u2953", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # RightVectorBar
 # Commented out: collides with LeftArrow
 # createEntry (content=u"\u2190", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # ShortLeftArrow
 # Commented out: collides with RightArrow
 # createEntry (content=u"\u2192", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # ShortRightArrow
-createEntry (content=u"\u2196", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"thickmathspace", rspace=u"thickmathspace") # UpperLeftArrow
-createEntry (content=u"\u2197", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"thickmathspace", rspace=u"thickmathspace") # UpperRightArrow
-createEntry (content=u"=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"<", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u">", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"!=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"==", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"<=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u">=", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace")
-createEntry (content=u"\u2261", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Congruent
-createEntry (content=u"\u224D", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # CupCap
-createEntry (content=u"\u2250", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # DotEqual
-createEntry (content=u"\u2225", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # DoubleVerticalBar
-createEntry (content=u"\u2A75", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Equal
-createEntry (content=u"\u2242", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # EqualTilde
-createEntry (content=u"\u21CC", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # Equilibrium
-createEntry (content=u"\u2265", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterEqual
-createEntry (content=u"\u22DB", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterEqualLess
-createEntry (content=u"\u2267", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterFullEqual
-createEntry (content=u"\u2AA2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterGreater
-createEntry (content=u"\u2277", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterLess
-createEntry (content=u"\u2A7E", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterSlantEqual
-createEntry (content=u"\u2273", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # GreaterTilde
-createEntry (content=u"\u224E", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # HumpDownHump
-createEntry (content=u"\u224F", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # HumpEqual
-createEntry (content=u"\u22B2", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTriangle
-createEntry (content=u"\u29CF", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTriangleBar
-createEntry (content=u"\u22B4", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LeftTriangleEqual
-createEntry (content=u"\u2264", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # le
-createEntry (content=u"\u22DA", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessEqualGreater
-createEntry (content=u"\u2266", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessFullEqual
-createEntry (content=u"\u2276", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessGreater
-createEntry (content=u"\u2AA1", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessLess
-createEntry (content=u"\u2A7D", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessSlantEqual
-createEntry (content=u"\u2272", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # LessTilde
-createEntry (content=u"\u226B", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NestedGreaterGreater
-createEntry (content=u"\u226A", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NestedLessLess
-createEntry (content=u"\u2262", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotCongruent
-createEntry (content=u"\u226D", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotCupCap
-createEntry (content=u"\u2226", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotDoubleVerticalBar
-createEntry (content=u"\u2260", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotEqual
-createEntry (content=u"\u2242\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotEqualTilde
-createEntry (content=u"\u226F", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreater
-createEntry (content=u"\u2271", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterEqual
-createEntry (content=u"\u2266\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterFullEqual
-createEntry (content=u"\u226B\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterGreater
-createEntry (content=u"\u2279", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterLess
-createEntry (content=u"\u2A7E\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterSlantEqual
-createEntry (content=u"\u2275", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotGreaterTilde
-createEntry (content=u"\u224E\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotHumpDownHump
-createEntry (content=u"\u224F\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotHumpEqual
-createEntry (content=u"\u22EA", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLeftTriangle
-createEntry (content=u"\u29CF\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLeftTriangleBar
-createEntry (content=u"\u22EC", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLeftTriangleEqual
-createEntry (content=u"\u226E", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLess
-createEntry (content=u"\u2270", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLessEqual
-createEntry (content=u"\u2278", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLessGreater
-createEntry (content=u"\u226A\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLessLess
-createEntry (content=u"\u2A7D\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLessSlantEqual
-createEntry (content=u"\u2274", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotLessTilde
-createEntry (content=u"\u2AA2\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotNestedGreaterGreater
-createEntry (content=u"\u2AA1\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotNestedLessLess
-createEntry (content=u"\u2280", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotPrecedes
-createEntry (content=u"\u2AAF\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotPrecedesEqual
-createEntry (content=u"\u22E0", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotPrecedesSlantEqual
-createEntry (content=u"\u22EB", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotRightTriangle
-createEntry (content=u"\u29D0\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotRightTriangleBar
-createEntry (content=u"\u22ED", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotRightTriangleEqual
-createEntry (content=u"\u2281", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSucceeds
-createEntry (content=u"\u2AB0\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSucceedsEqual
-createEntry (content=u"\u22E1", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSucceedsSlantEqual
-createEntry (content=u"\u227F\u0338", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotSucceedsTilde
-createEntry (content=u"\u2241", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotTilde
-createEntry (content=u"\u2244", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotTildeEqual
-createEntry (content=u"\u2247", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotTildeFullEqual
-createEntry (content=u"\u2249", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotTildeTilde
-createEntry (content=u"\u2224", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # NotVerticalBar
-createEntry (content=u"\u227A", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Precedes
-createEntry (content=u"\u2AAF", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # PrecedesEqual
-createEntry (content=u"\u227C", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # PrecedesSlantEqual
-createEntry (content=u"\u227E", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # PrecedesTilde
-createEntry (content=u"\u2237", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Proportion
-createEntry (content=u"\u221D", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Proportional
-createEntry (content=u"\u21CB", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"thickmathspace", rspace=u"thickmathspace") # ReverseEquilibrium
-createEntry (content=u"\u22B3", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTriangle
-createEntry (content=u"\u29D0", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTriangleBar
-createEntry (content=u"\u22B5", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # RightTriangleEqual
-createEntry (content=u"\u227B", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Succeeds
-createEntry (content=u"\u2AB0", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SucceedsEqual
-createEntry (content=u"\u227D", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SucceedsSlantEqual
-createEntry (content=u"\u227F", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # SucceedsTilde
-createEntry (content=u"\u223C", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # Tilde
-createEntry (content=u"\u2243", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # TildeEqual
-createEntry (content=u"\u2245", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # TildeFullEqual
-createEntry (content=u"\u2248", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # TildeTilde
-createEntry (content=u"\u22A5", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # UpTee
-createEntry (content=u"\u2223", form=u"infix", lspace=u"thickmathspace", rspace=u"thickmathspace") # VerticalBar
-createEntry (content=u"\u2294", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # SquareUnion
-createEntry (content=u"\u22C3", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # Union
-createEntry (content=u"\u228E", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # UnionPlus
-createEntry (content=u"-", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace")
+createEntry (content="\u2196", form="infix", stretchy="true", scaling="uniform", lspace="thickmathspace", rspace="thickmathspace") # UpperLeftArrow
+createEntry (content="\u2197", form="infix", stretchy="true", scaling="uniform", lspace="thickmathspace", rspace="thickmathspace") # UpperRightArrow
+createEntry (content="=", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="<", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content=">", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="!=", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="==", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="<=", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content=">=", form="infix", lspace="thickmathspace", rspace="thickmathspace")
+createEntry (content="\u2261", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Congruent
+createEntry (content="\u224D", form="infix", lspace="thickmathspace", rspace="thickmathspace") # CupCap
+createEntry (content="\u2250", form="infix", lspace="thickmathspace", rspace="thickmathspace") # DotEqual
+createEntry (content="\u2225", form="infix", lspace="thickmathspace", rspace="thickmathspace") # DoubleVerticalBar
+createEntry (content="\u2A75", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Equal
+createEntry (content="\u2242", form="infix", lspace="thickmathspace", rspace="thickmathspace") # EqualTilde
+createEntry (content="\u21CC", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # Equilibrium
+createEntry (content="\u2265", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterEqual
+createEntry (content="\u22DB", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterEqualLess
+createEntry (content="\u2267", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterFullEqual
+createEntry (content="\u2AA2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterGreater
+createEntry (content="\u2277", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterLess
+createEntry (content="\u2A7E", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterSlantEqual
+createEntry (content="\u2273", form="infix", lspace="thickmathspace", rspace="thickmathspace") # GreaterTilde
+createEntry (content="\u224E", form="infix", lspace="thickmathspace", rspace="thickmathspace") # HumpDownHump
+createEntry (content="\u224F", form="infix", lspace="thickmathspace", rspace="thickmathspace") # HumpEqual
+createEntry (content="\u22B2", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LeftTriangle
+createEntry (content="\u29CF", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LeftTriangleBar
+createEntry (content="\u22B4", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LeftTriangleEqual
+createEntry (content="\u2264", form="infix", lspace="thickmathspace", rspace="thickmathspace") # le
+createEntry (content="\u22DA", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessEqualGreater
+createEntry (content="\u2266", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessFullEqual
+createEntry (content="\u2276", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessGreater
+createEntry (content="\u2AA1", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessLess
+createEntry (content="\u2A7D", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessSlantEqual
+createEntry (content="\u2272", form="infix", lspace="thickmathspace", rspace="thickmathspace") # LessTilde
+createEntry (content="\u226B", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NestedGreaterGreater
+createEntry (content="\u226A", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NestedLessLess
+createEntry (content="\u2262", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotCongruent
+createEntry (content="\u226D", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotCupCap
+createEntry (content="\u2226", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotDoubleVerticalBar
+createEntry (content="\u2260", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotEqual
+createEntry (content="\u2242\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotEqualTilde
+createEntry (content="\u226F", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreater
+createEntry (content="\u2271", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterEqual
+createEntry (content="\u2266\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterFullEqual
+createEntry (content="\u226B\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterGreater
+createEntry (content="\u2279", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterLess
+createEntry (content="\u2A7E\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterSlantEqual
+createEntry (content="\u2275", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotGreaterTilde
+createEntry (content="\u224E\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotHumpDownHump
+createEntry (content="\u224F\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotHumpEqual
+createEntry (content="\u22EA", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLeftTriangle
+createEntry (content="\u29CF\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLeftTriangleBar
+createEntry (content="\u22EC", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLeftTriangleEqual
+createEntry (content="\u226E", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLess
+createEntry (content="\u2270", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLessEqual
+createEntry (content="\u2278", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLessGreater
+createEntry (content="\u226A\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLessLess
+createEntry (content="\u2A7D\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLessSlantEqual
+createEntry (content="\u2274", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotLessTilde
+createEntry (content="\u2AA2\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotNestedGreaterGreater
+createEntry (content="\u2AA1\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotNestedLessLess
+createEntry (content="\u2280", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotPrecedes
+createEntry (content="\u2AAF\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotPrecedesEqual
+createEntry (content="\u22E0", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotPrecedesSlantEqual
+createEntry (content="\u22EB", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotRightTriangle
+createEntry (content="\u29D0\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotRightTriangleBar
+createEntry (content="\u22ED", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotRightTriangleEqual
+createEntry (content="\u2281", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSucceeds
+createEntry (content="\u2AB0\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSucceedsEqual
+createEntry (content="\u22E1", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSucceedsSlantEqual
+createEntry (content="\u227F\u0338", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotSucceedsTilde
+createEntry (content="\u2241", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotTilde
+createEntry (content="\u2244", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotTildeEqual
+createEntry (content="\u2247", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotTildeFullEqual
+createEntry (content="\u2249", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotTildeTilde
+createEntry (content="\u2224", form="infix", lspace="thickmathspace", rspace="thickmathspace") # NotVerticalBar
+createEntry (content="\u227A", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Precedes
+createEntry (content="\u2AAF", form="infix", lspace="thickmathspace", rspace="thickmathspace") # PrecedesEqual
+createEntry (content="\u227C", form="infix", lspace="thickmathspace", rspace="thickmathspace") # PrecedesSlantEqual
+createEntry (content="\u227E", form="infix", lspace="thickmathspace", rspace="thickmathspace") # PrecedesTilde
+createEntry (content="\u2237", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Proportion
+createEntry (content="\u221D", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Proportional
+createEntry (content="\u21CB", form="infix", stretchy="true", scaling="horizontal", lspace="thickmathspace", rspace="thickmathspace") # ReverseEquilibrium
+createEntry (content="\u22B3", form="infix", lspace="thickmathspace", rspace="thickmathspace") # RightTriangle
+createEntry (content="\u29D0", form="infix", lspace="thickmathspace", rspace="thickmathspace") # RightTriangleBar
+createEntry (content="\u22B5", form="infix", lspace="thickmathspace", rspace="thickmathspace") # RightTriangleEqual
+createEntry (content="\u227B", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Succeeds
+createEntry (content="\u2AB0", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SucceedsEqual
+createEntry (content="\u227D", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SucceedsSlantEqual
+createEntry (content="\u227F", form="infix", lspace="thickmathspace", rspace="thickmathspace") # SucceedsTilde
+createEntry (content="\u223C", form="infix", lspace="thickmathspace", rspace="thickmathspace") # Tilde
+createEntry (content="\u2243", form="infix", lspace="thickmathspace", rspace="thickmathspace") # TildeEqual
+createEntry (content="\u2245", form="infix", lspace="thickmathspace", rspace="thickmathspace") # TildeFullEqual
+createEntry (content="\u2248", form="infix", lspace="thickmathspace", rspace="thickmathspace") # TildeTilde
+createEntry (content="\u22A5", form="infix", lspace="thickmathspace", rspace="thickmathspace") # UpTee
+createEntry (content="\u2223", form="infix", lspace="thickmathspace", rspace="thickmathspace") # VerticalBar
+createEntry (content="\u2294", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # SquareUnion
+createEntry (content="\u22C3", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # Union
+createEntry (content="\u228E", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # UnionPlus
+createEntry (content="-", form="infix", lspace="mediummathspace", rspace="mediummathspace")
 # Added an entry for minus sign, separate from hyphen
-createEntry (content=u"\u2212", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace")
-createEntry (content=u"+", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace")
-createEntry (content=u"\u22C2", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # Intersection
-createEntry (content=u"\u2213", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace") # MinusPlus
-createEntry (content=u"\u00B1", form=u"infix", lspace=u"mediummathspace", rspace=u"mediummathspace") # PlusMinus
-createEntry (content=u"\u2293", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"mediummathspace", rspace=u"mediummathspace") # SquareIntersection
-createEntry (content=u"\u22C1", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Vee
-createEntry (content=u"\u2296", form=u"prefix", largeop=u"true", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace") # CircleMinus
-createEntry (content=u"\u2295", form=u"prefix", largeop=u"true", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace") # CirclePlus
-createEntry (content=u"\u2211", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Sum
-createEntry (content=u"\u22C3", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Union
-createEntry (content=u"\u228E", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # UnionPlus
-createEntry (content=u"lim", form=u"prefix", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace")
-createEntry (content=u"max", form=u"prefix", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace")
-createEntry (content=u"min", form=u"prefix", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace")
-createEntry (content=u"\u2296", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # CircleMinus
-createEntry (content=u"\u2295", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # CirclePlus
-createEntry (content=u"\u2232", form=u"prefix", largeop=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"0em") # ClockwiseContourIntegral
-createEntry (content=u"\u222E", form=u"prefix", largeop=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"0em") # ContourIntegral
-createEntry (content=u"\u2233", form=u"prefix", largeop=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"0em") # CounterClockwiseContourIntegral
-createEntry (content=u"\u222F", form=u"prefix", largeop=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"0em") # DoubleContourIntegral
-createEntry (content=u"\u222B", form=u"prefix", largeop=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"0em") # Integral
-createEntry (content=u"\u22D3", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Cup
-createEntry (content=u"\u22D2", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Cap
-createEntry (content=u"\u2240", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # VerticalTilde
-createEntry (content=u"\u22C0", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Wedge
-createEntry (content=u"\u2297", form=u"prefix", largeop=u"true", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace") # CircleTimes
-createEntry (content=u"\u2210", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Coproduct
-createEntry (content=u"\u220F", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Product
-createEntry (content=u"\u22C2", form=u"prefix", largeop=u"true", movablelimits=u"true", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"thinmathspace") # Intersection
-createEntry (content=u"\u2210", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Coproduct
-createEntry (content=u"\u22C6", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Star
-createEntry (content=u"\u2299", form=u"prefix", largeop=u"true", movablelimits=u"true", lspace=u"0em", rspace=u"thinmathspace") # CircleDot
-createEntry (content=u"*", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace")
-createEntry (content=u"\u2062", form=u"infix", lspace=u"0em", rspace=u"0em") # InvisibleTimes
-createEntry (content=u"\u00B7", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # CenterDot
-createEntry (content=u"\u2297", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # CircleTimes
-createEntry (content=u"\u22C1", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Vee
-createEntry (content=u"\u22C0", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Wedge
-createEntry (content=u"\u22C4", form=u"infix", lspace=u"thinmathspace", rspace=u"thinmathspace") # Diamond
-createEntry (content=u"\u2216", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"thinmathspace", rspace=u"thinmathspace") # Backslash
-createEntry (content=u"/", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"thinmathspace", rspace=u"thinmathspace")
-createEntry (content=u"-", form=u"prefix", lspace=u"0em", rspace=u"veryverythinmathspace")
+createEntry (content="\u2212", form="infix", lspace="mediummathspace", rspace="mediummathspace")
+createEntry (content="+", form="infix", lspace="mediummathspace", rspace="mediummathspace")
+createEntry (content="\u22C2", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # Intersection
+createEntry (content="\u2213", form="infix", lspace="mediummathspace", rspace="mediummathspace") # MinusPlus
+createEntry (content="\u00B1", form="infix", lspace="mediummathspace", rspace="mediummathspace") # PlusMinus
+createEntry (content="\u2293", form="infix", stretchy="true", scaling="uniform", lspace="mediummathspace", rspace="mediummathspace") # SquareIntersection
+createEntry (content="\u22C1", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Vee
+createEntry (content="\u2296", form="prefix", largeop="true", movablelimits="true", lspace="0em", rspace="thinmathspace") # CircleMinus
+createEntry (content="\u2295", form="prefix", largeop="true", movablelimits="true", lspace="0em", rspace="thinmathspace") # CirclePlus
+createEntry (content="\u2211", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Sum
+createEntry (content="\u22C3", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Union
+createEntry (content="\u228E", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # UnionPlus
+createEntry (content="lim", form="prefix", movablelimits="true", lspace="0em", rspace="thinmathspace")
+createEntry (content="max", form="prefix", movablelimits="true", lspace="0em", rspace="thinmathspace")
+createEntry (content="min", form="prefix", movablelimits="true", lspace="0em", rspace="thinmathspace")
+createEntry (content="\u2296", form="infix", lspace="thinmathspace", rspace="thinmathspace") # CircleMinus
+createEntry (content="\u2295", form="infix", lspace="thinmathspace", rspace="thinmathspace") # CirclePlus
+createEntry (content="\u2232", form="prefix", largeop="true", stretchy="true", scaling="uniform", lspace="0em", rspace="0em") # ClockwiseContourIntegral
+createEntry (content="\u222E", form="prefix", largeop="true", stretchy="true", scaling="uniform", lspace="0em", rspace="0em") # ContourIntegral
+createEntry (content="\u2233", form="prefix", largeop="true", stretchy="true", scaling="uniform", lspace="0em", rspace="0em") # CounterClockwiseContourIntegral
+createEntry (content="\u222F", form="prefix", largeop="true", stretchy="true", scaling="uniform", lspace="0em", rspace="0em") # DoubleContourIntegral
+createEntry (content="\u222B", form="prefix", largeop="true", stretchy="true", scaling="uniform", lspace="0em", rspace="0em") # Integral
+createEntry (content="\u22D3", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Cup
+createEntry (content="\u22D2", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Cap
+createEntry (content="\u2240", form="infix", lspace="thinmathspace", rspace="thinmathspace") # VerticalTilde
+createEntry (content="\u22C0", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Wedge
+createEntry (content="\u2297", form="prefix", largeop="true", movablelimits="true", lspace="0em", rspace="thinmathspace") # CircleTimes
+createEntry (content="\u2210", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Coproduct
+createEntry (content="\u220F", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Product
+createEntry (content="\u22C2", form="prefix", largeop="true", movablelimits="true", stretchy="true", scaling="uniform", lspace="0em", rspace="thinmathspace") # Intersection
+createEntry (content="\u2210", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Coproduct
+createEntry (content="\u22C6", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Star
+createEntry (content="\u2299", form="prefix", largeop="true", movablelimits="true", lspace="0em", rspace="thinmathspace") # CircleDot
+createEntry (content="*", form="infix", lspace="thinmathspace", rspace="thinmathspace")
+createEntry (content="\u2062", form="infix", lspace="0em", rspace="0em") # InvisibleTimes
+createEntry (content="\u00B7", form="infix", lspace="thinmathspace", rspace="thinmathspace") # CenterDot
+createEntry (content="\u2297", form="infix", lspace="thinmathspace", rspace="thinmathspace") # CircleTimes
+createEntry (content="\u22C1", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Vee
+createEntry (content="\u22C0", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Wedge
+createEntry (content="\u22C4", form="infix", lspace="thinmathspace", rspace="thinmathspace") # Diamond
+createEntry (content="\u2216", form="infix", stretchy="true", scaling="uniform", lspace="thinmathspace", rspace="thinmathspace") # Backslash
+createEntry (content="/", form="infix", stretchy="true", scaling="uniform", lspace="thinmathspace", rspace="thinmathspace")
+createEntry (content="-", form="prefix", lspace="0em", rspace="veryverythinmathspace")
 # Added an entry for minus sign, separate from hyphen
-createEntry (content=u"\u2212", form=u"prefix", lspace=u"0em", rspace=u"veryverythinmathspace")
-createEntry (content=u"+", form=u"prefix", lspace=u"0em", rspace=u"veryverythinmathspace")
-createEntry (content=u"\u2213", form=u"prefix", lspace=u"0em", rspace=u"veryverythinmathspace") # MinusPlus
-createEntry (content=u"\u00B1", form=u"prefix", lspace=u"0em", rspace=u"veryverythinmathspace") # PlusMinus
-createEntry (content=u".", form=u"infix", lspace=u"0em", rspace=u"0em")
-createEntry (content=u"\u2A2F", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # Cross
-createEntry (content=u"**", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace")
-createEntry (content=u"\u2299", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # CircleDot
-createEntry (content=u"\u2218", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # SmallCircle
-createEntry (content=u"\u25A1", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") # Square
-createEntry (content=u"\u2207", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") # Del
-createEntry (content=u"\u2202", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") # PartialD
-createEntry (content=u"\u2145", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") # CapitalDifferentialD
-createEntry (content=u"\u2146", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace") # DifferentialD
-createEntry (content=u"\u221A", form=u"prefix", stretchy=u"true", scaling="uniform", lspace=u"0em", rspace=u"verythinmathspace") # Sqrt
-createEntry (content=u"\u21D3", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleDownArrow
-createEntry (content=u"\u27F8", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleLongLeftArrow
-createEntry (content=u"\u27FA", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleLongLeftRightArrow
-createEntry (content=u"\u27F9", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleLongRightArrow
-createEntry (content=u"\u21D1", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleUpArrow
-createEntry (content=u"\u21D5", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DoubleUpDownArrow
-createEntry (content=u"\u2193", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DownArrow
-createEntry (content=u"\u2913", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DownArrowBar
-createEntry (content=u"\u21F5", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DownArrowUpArrow
-createEntry (content=u"\u21A7", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # DownTeeArrow
-createEntry (content=u"\u2961", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftDownTeeVector
-createEntry (content=u"\u21C3", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftDownVector
-createEntry (content=u"\u2959", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftDownVectorBar
-createEntry (content=u"\u2951", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftUpDownVector
-createEntry (content=u"\u2960", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftUpTeeVector
-createEntry (content=u"\u21BF", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftUpVector
-createEntry (content=u"\u2958", form=u"infix", stretchy=u"true", scaling="uniform", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LeftUpVectorBar
-createEntry (content=u"\u27F5", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LongLeftArrow
-createEntry (content=u"\u27F7", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LongLeftRightArrow
-createEntry (content=u"\u27F6", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # LongRightArrow
-createEntry (content=u"\u296F", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # ReverseUpEquilibrium
-createEntry (content=u"\u295D", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightDownTeeVector
-createEntry (content=u"\u21C2", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightDownVector
-createEntry (content=u"\u2955", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightDownVectorBar
-createEntry (content=u"\u294F", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightUpDownVector
-createEntry (content=u"\u295C", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightUpTeeVector
-createEntry (content=u"\u21BE", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightUpVector
-createEntry (content=u"\u2954", form=u"infix", stretchy=u"true", scaling="horizontal", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # RightUpVectorBar
+createEntry (content="\u2212", form="prefix", lspace="0em", rspace="veryverythinmathspace")
+createEntry (content="+", form="prefix", lspace="0em", rspace="veryverythinmathspace")
+createEntry (content="\u2213", form="prefix", lspace="0em", rspace="veryverythinmathspace") # MinusPlus
+createEntry (content="\u00B1", form="prefix", lspace="0em", rspace="veryverythinmathspace") # PlusMinus
+createEntry (content=".", form="infix", lspace="0em", rspace="0em")
+createEntry (content="\u2A2F", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") # Cross
+createEntry (content="**", form="infix", lspace="verythinmathspace", rspace="verythinmathspace")
+createEntry (content="\u2299", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") # CircleDot
+createEntry (content="\u2218", form="infix", lspace="verythinmathspace", rspace="verythinmathspace") # SmallCircle
+createEntry (content="\u25A1", form="prefix", lspace="0em", rspace="verythinmathspace") # Square
+createEntry (content="\u2207", form="prefix", lspace="0em", rspace="verythinmathspace") # Del
+createEntry (content="\u2202", form="prefix", lspace="0em", rspace="verythinmathspace") # PartialD
+createEntry (content="\u2145", form="prefix", lspace="0em", rspace="verythinmathspace") # CapitalDifferentialD
+createEntry (content="\u2146", form="prefix", lspace="0em", rspace="verythinmathspace") # DifferentialD
+createEntry (content="\u221A", form="prefix", stretchy="true", scaling="uniform", lspace="0em", rspace="verythinmathspace") # Sqrt
+createEntry (content="\u21D3", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleDownArrow
+createEntry (content="\u27F8", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleLongLeftArrow
+createEntry (content="\u27FA", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleLongLeftRightArrow
+createEntry (content="\u27F9", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleLongRightArrow
+createEntry (content="\u21D1", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleUpArrow
+createEntry (content="\u21D5", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DoubleUpDownArrow
+createEntry (content="\u2193", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DownArrow
+createEntry (content="\u2913", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DownArrowBar
+createEntry (content="\u21F5", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DownArrowUpArrow
+createEntry (content="\u21A7", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # DownTeeArrow
+createEntry (content="\u2961", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftDownTeeVector
+createEntry (content="\u21C3", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftDownVector
+createEntry (content="\u2959", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftDownVectorBar
+createEntry (content="\u2951", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftUpDownVector
+createEntry (content="\u2960", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftUpTeeVector
+createEntry (content="\u21BF", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftUpVector
+createEntry (content="\u2958", form="infix", stretchy="true", scaling="uniform", lspace="verythinmathspace", rspace="verythinmathspace") # LeftUpVectorBar
+createEntry (content="\u27F5", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # LongLeftArrow
+createEntry (content="\u27F7", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # LongLeftRightArrow
+createEntry (content="\u27F6", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # LongRightArrow
+createEntry (content="\u296F", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # ReverseUpEquilibrium
+createEntry (content="\u295D", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightDownTeeVector
+createEntry (content="\u21C2", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightDownVector
+createEntry (content="\u2955", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightDownVectorBar
+createEntry (content="\u294F", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightUpDownVector
+createEntry (content="\u295C", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightUpTeeVector
+createEntry (content="\u21BE", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightUpVector
+createEntry (content="\u2954", form="infix", stretchy="true", scaling="horizontal", lspace="verythinmathspace", rspace="verythinmathspace") # RightUpVectorBar
 # Commented out: collides with DownArrow
 # createEntry (content=u"\u2193", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # ShortDownArrow
 # Commented out: collides with UpArrow
 # createEntry (content=u"\u2191", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # ShortUpArrow
-createEntry (content=u"\u2191", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpArrow
-createEntry (content=u"\u2912", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpArrowBar
-createEntry (content=u"\u21C5", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpArrowDownArrow
-createEntry (content=u"\u2195", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpDownArrow
-createEntry (content=u"\u296E", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpEquilibrium
-createEntry (content=u"\u21A5", form=u"infix", stretchy=u"true", scaling="vertical", lspace=u"verythinmathspace", rspace=u"verythinmathspace") # UpTeeArrow
-createEntry (content=u"^", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace")
-createEntry (content=u"<>", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace")
-createEntry (content=u"'", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em")
+createEntry (content="\u2191", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpArrow
+createEntry (content="\u2912", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpArrowBar
+createEntry (content="\u21C5", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpArrowDownArrow
+createEntry (content="\u2195", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpDownArrow
+createEntry (content="\u296E", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpEquilibrium
+createEntry (content="\u21A5", form="infix", stretchy="true", scaling="vertical", lspace="verythinmathspace", rspace="verythinmathspace") # UpTeeArrow
+createEntry (content="^", form="infix", lspace="verythinmathspace", rspace="verythinmathspace")
+createEntry (content="<>", form="infix", lspace="verythinmathspace", rspace="verythinmathspace")
+createEntry (content="'", form="postfix", lspace="verythinmathspace", rspace="0em")
 # Added an entry for prime, separate from apostrophe
-createEntry (content=u"\u2032", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em")
-createEntry (content=u"!", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em")
-createEntry (content=u"!!", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em")
-createEntry (content=u"~", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace")
-createEntry (content=u"@", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace")
-createEntry (content=u"--", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em")
-createEntry (content=u"--", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace")
-createEntry (content=u"++", form=u"postfix", lspace=u"verythinmathspace", rspace=u"0em")
-createEntry (content=u"++", form=u"prefix", lspace=u"0em", rspace=u"verythinmathspace")
-createEntry (content=u"\u2061", form=u"infix", lspace=u"0em", rspace=u"0em") # ApplyFunction
-createEntry (content=u"?", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace")
-createEntry (content=u"_", form=u"infix", lspace=u"verythinmathspace", rspace=u"verythinmathspace")
-createEntry (content=u"\u02D8", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # Breve
-createEntry (content=u"\u00B8", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # Cedilla
-createEntry (content=u"`", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DiacriticalGrave
-createEntry (content=u"\u02D9", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DiacriticalDot
-createEntry (content=u"\u02DD", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DiacriticalDoubleAcute
-createEntry (content=u"\u2190", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # LeftArrow
-createEntry (content=u"\u2194", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # LeftRightArrow
-createEntry (content=u"\u294E", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # LeftRightVector
-createEntry (content=u"\u21BC", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # LeftVector
-createEntry (content=u"\u00B4", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DiacriticalAcute
-createEntry (content=u"\u2192", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # RightArrow
-createEntry (content=u"\u21C0", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # RightVector
-createEntry (content=u"\u02DC", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # DiacriticalTilde
-createEntry (content=u"\u00A8", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DoubleDot
-createEntry (content=u"\u0311", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # DownBreve
-createEntry (content=u"\u02C7", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # Hacek
-createEntry (content=u"^", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # Hat
-createEntry (content=u"\u00AF", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # OverBar
-createEntry (content=u"\uFE37", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # OverBrace
-createEntry (content=u"\u23B4", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # OverBracket
-createEntry (content=u"\uFE35", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # OverParenthesis
-createEntry (content=u"\u20DB", form=u"postfix", accent=u"true", lspace=u"0em", rspace=u"0em") # TripleDot
-createEntry (content=u"\u0332", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # UnderBar
-createEntry (content=u"\uFE38", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # UnderBrace
-createEntry (content=u"\u23B5", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # UnderBracket
-createEntry (content=u"\uFE36", form=u"postfix", accent=u"true", stretchy=u"true", scaling="horizontal", lspace=u"0em", rspace=u"0em") # UnderParenthesis
+createEntry (content="\u2032", form="postfix", lspace="verythinmathspace", rspace="0em")
+createEntry (content="!", form="postfix", lspace="verythinmathspace", rspace="0em")
+createEntry (content="!!", form="postfix", lspace="verythinmathspace", rspace="0em")
+createEntry (content="~", form="infix", lspace="verythinmathspace", rspace="verythinmathspace")
+createEntry (content="@", form="infix", lspace="verythinmathspace", rspace="verythinmathspace")
+createEntry (content="--", form="postfix", lspace="verythinmathspace", rspace="0em")
+createEntry (content="--", form="prefix", lspace="0em", rspace="verythinmathspace")
+createEntry (content="++", form="postfix", lspace="verythinmathspace", rspace="0em")
+createEntry (content="++", form="prefix", lspace="0em", rspace="verythinmathspace")
+createEntry (content="\u2061", form="infix", lspace="0em", rspace="0em") # ApplyFunction
+createEntry (content="?", form="infix", lspace="verythinmathspace", rspace="verythinmathspace")
+createEntry (content="_", form="infix", lspace="verythinmathspace", rspace="verythinmathspace")
+createEntry (content="\u02D8", form="postfix", accent="true", lspace="0em", rspace="0em") # Breve
+createEntry (content="\u00B8", form="postfix", accent="true", lspace="0em", rspace="0em") # Cedilla
+createEntry (content="`", form="postfix", accent="true", lspace="0em", rspace="0em") # DiacriticalGrave
+createEntry (content="\u02D9", form="postfix", accent="true", lspace="0em", rspace="0em") # DiacriticalDot
+createEntry (content="\u02DD", form="postfix", accent="true", lspace="0em", rspace="0em") # DiacriticalDoubleAcute
+createEntry (content="\u2190", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # LeftArrow
+createEntry (content="\u2194", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # LeftRightArrow
+createEntry (content="\u294E", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # LeftRightVector
+createEntry (content="\u21BC", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # LeftVector
+createEntry (content="\u00B4", form="postfix", accent="true", lspace="0em", rspace="0em") # DiacriticalAcute
+createEntry (content="\u2192", form="postfix", accent="true", stretchy="true", scaling="horizontRefactoringTool: No changes to ../python3/svgmath/nodelocator.py
RefactoringTool: Refactored ../python3/svgmath/measurers.py
al", lspace="0em", rspace="0em") # RightArrow
+createEntry (content="\u21C0", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # RightVector
+createEntry (content="\u02DC", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # DiacriticalTilde
+createEntry (content="\u00A8", form="postfix", accent="true", lspace="0em", rspace="0em") # DoubleDot
+createEntry (content="\u0311", form="postfix", accent="true", lspace="0em", rspace="0em") # DownBreve
+createEntry (content="\u02C7", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # Hacek
+createEntry (content="^", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # Hat
+createEntry (content="\u00AF", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # OverBar
+createEntry (content="\uFE37", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # OverBrace
+createEntry (content="\u23B4", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # OverBracket
+createEntry (content="\uFE35", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # OverParenthesis
+createEntry (content="\u20DB", form="postfix", accent="true", lspace="0em", rspace="0em") # TripleDot
+createEntry (content="\u0332", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # UnderBar
+createEntry (content="\uFE38", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # UnderBrace
+createEntry (content="\u23B5", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # UnderBracket
+createEntry (content="\uFE36", form="postfix", accent="true", stretchy="true", scaling="horizontal", lspace="0em", rspace="0em") # UnderParenthesis
--- ../python3/svgmath/measurers.py	(original)
+++ ../python3/svgmath/measurers.py	(refactored)
@@ -18,7 +18,7 @@
     measure_mrow(node)  # processed in the constructor
 
 def measure_maction (node): 
-    selectionattr = node.attributes.get(u"selection", u"1")
+    selectionattr = node.attributes.get("selection", "1")
     selection = node.parseInt(selectionattr)
     node.base = None
     if selection <= 0:
@@ -51,7 +51,7 @@
             attr = attr [:-6]
         else: basevalue = startvalue
         
-        if attr.endswith (u'%'): 
+        if attr.endswith ('%'): 
             attr = attr[:-1]
             basevalue /= 100.0
         
@@ -64,19 +64,19 @@
         attr = node.attributes.get(attname)
         if attr is None: return startvalue
         attr = " ".join(attr.split())
-        if attr.startswith(u'+'): 
+        if attr.startswith('+'): 
             return startvalue + parseDimension(attr[1:], startvalue, canUseSpaces)
-        elif attr.startswith(u'+'): 
+        elif attr.startswith('+'): 
             return startvalue - parseDimension(attr[1:], startvalue, canUseSpaces)
         else: 
             return parseDimension(attr, startvalue, canUseSpaces)
     
-    node.height = getDimension(u"height", node.base.height, False) 
-    node.depth = getDimension(u"depth", node.base.depth, False)
+    node.height = getDimension("height", node.base.height, False) 
+    node.depth = getDimension("depth", node.base.depth, False)
     node.ascender = node.base.ascender
     node.descender = node.base.descender
-    node.leftpadding = getDimension(u"lspace", 0, True)
-    node.width = getDimension(u"width", node.base.width + node.leftpadding, True)
+    node.leftpadding = getDimension("lspace", 0, True)
+    node.width = getDimension("width", node.base.width + node.leftpadding, True)
     if node.width < 0: node.width = 0
     node.leftspace = node.base.leftspace
     node.rightspace = node.base.rightspace
@@ -87,31 +87,31 @@
     node.children = []
 
     # Add fences and separators, and process as a mrow
-    openingFence = node.getProperty(u"open")
+    openingFence = node.getProperty("open")
     openingFence = " ".join(openingFence.split())
     if len(openingFence) > 0:
-        opening = mathnode.MathNode (u"mo", {u"fence": u"true", u"form": u"prefix"}, 
+        opening = mathnode.MathNode ("mo", {"fence": "true", "form": "prefix"}, 
                                      None, node.config, node)
         opening.text = openingFence
         opening.measure()
 
-    separators = "".join(node.getProperty(u"separators").split())
+    separators = "".join(node.getProperty("separators").split())
     sepindex = 0
     lastsep = len(separators) - 1 
     
     for ch in old_children:
         if len(node.children) > 1 and lastsep >= 0:
-            sep = mathnode.MathNode (u"mo", {u"separator": u"true", u"form": u"infix"}, 
+            sep = mathnode.MathNode ("mo", {"separator": "true", "form": "infix"}, 
                                      None, node.config, node)
             sep.text = separators[sepindex]
             sep.measure()
             sepindex  = min (sepindex+1, lastsep)
         node.children.append(ch)    
 
-    closingFence = node.getProperty(u"close")
+    closingFence = node.getProperty("close")
     closingFence = " ".join(closingFence.split())
     if len(closingFence) > 0:
-        closing = mathnode.MathNode (u"mo", {u"fence": u"true", u"form": u"postfix"}, 
+        closing = mathnode.MathNode ("mo", {"fence": "true", "form": "postfix"}, 
                                      None, node.config, node)
         closing.text = closingFence
         closing.measure()
@@ -121,11 +121,11 @@
 def measure_mo (node): 
     # Normalize operator glyphs
     # Use minus instead of hyphen
-    if node.hasGlyph(0x2212): node.text = node.text.replace(u'-', u'\u2212')
+    if node.hasGlyph(0x2212): node.text = node.text.replace('-', '\u2212')
     # Use prime instead of apostrophe
-    if node.hasGlyph(0x2032): node.text = node.text.replace(u'\'', u'\u2032')
+    if node.hasGlyph(0x2032): node.text = node.text.replace('\'', '\u2032')
     # Invisible operators produce space nodes
-    if node.text in [u'\u2061', u'\u2062', u'\u2063']: node.isSpace = True
+    if node.text in ['\u2061', '\u2062', '\u2063']: node.isSpace = True
     else: node.measureText()
     
     # Align the operator along the mathematical axis for the respective font 
@@ -144,7 +144,7 @@
         
 def measure_mtext (node): 
     node.measureText()
-    spacing = node.parseSpace(u"thinmathspace")    
+    spacing = node.parseSpace("thinmathspace")    
     node.leftspace = spacing
     node.rightspace = spacing
 
@@ -159,20 +159,20 @@
     node.descender = node.base.descender
 
 def measure_ms (node): 
-    lq = node.getProperty(u"lquote")
-    rq = node.getProperty(u"rquote")
-    if lq: node.text = node.text.replace(lq, u"\\"+lq)
-    if rq and rq != lq: node.text = node.text.replace(rq, u"\\"+rq)
+    lq = node.getProperty("lquote")
+    rq = node.getProperty("rquote")
+    if lq: node.text = node.text.replace(lq, "\\"+lq)
+    if rq and rq != lq: node.text = node.text.replace(rq, "\\"+rq)
     node.text = lq + node.text + rq
     node.measureText()
-    spacing = node.parseSpace(u"thinmathspace")    
+    spacing = node.parseSpace("thinmathspace")    
     node.leftspace = spacing
     node.rightspace = spacing
 
 def measure_mspace (node): 
-    node.height = node.parseLength(node.getProperty(u"height"))
-    node.depth = node.parseLength(node.getProperty(u"depth"))
-    node.width = node.parseSpace(node.getProperty(u"width"))
+    node.height = node.parseLength(node.getProperty("height"))
+    node.depth = node.parseLength(node.getProperty("depth"))
+    node.width = node.parseSpace(node.getProperty("width"))
 
     # Add ascender/descender values
     node.ascender = node.nominalAscender()
@@ -194,14 +194,14 @@
     # Process non-marking operators
     for i in range(len(node.children)):
         ch = node.children[i]
-        if ch.core.elementName != u'mo': continue    
-        if ch.text in [u'\u2061', u'\u2062', u'\u2063']:
-            ch.text = u""
+        if ch.core.elementName != 'mo': continue    
+        if ch.text in ['\u2061', '\u2062', '\u2063']:
+            ch.text = ""
             def longtext(n): 
                 if n is None: return False
                 if n.isSpace: return False
-                if n.core.elementName == u"ms": return True
-                if n.core.elementName in [u"mo", u"mi", u"mtext"]: return (len(n.core.text) > 1)
+                if n.core.elementName == "ms": return True
+                if n.core.elementName in ["mo", "mi", "mtext"]: return (len(n.core.text) > 1)
                 return False
             ch_prev = None; ch_next = None;                           
             if i > 0: ch_prev = node.children[i-1]
@@ -243,11 +243,11 @@
     (node.enumerator, node.denominator) = node.children[:2]
     node.alignToAxis = True
     
-    ruleWidthKeywords = {u"medium": "1",
-                         u"thin": "0.5",
-                         u"thick": "2"}
+    ruleWidthKeywords = {"medium": "1",
+                         "thin": "0.5",
+                         "thick": "2"}
                          
-    widthAttr = node.getProperty(u"linethickness")
+    widthAttr = node.getProperty("linethickness")
     widthAttr = ruleWidthKeywords.get(widthAttr, widthAttr)
     unitWidth = node.nominalLineWidth()
     node.ruleWidth = node.parseLength(widthAttr, unitWidth)
@@ -255,7 +255,7 @@
     node.ruleGap = node.nominalLineGap()
     if node.tightspaces: node.ruleGap /= 1.41 # more compact style if in scripts/limits
 
-    if node.getProperty(u"bevelled") == u"true":    
+    if node.getProperty("bevelled") == "true":    
         eh = node.enumerator.height + node.enumerator.depth
         dh = node.denominator.height + node.denominator.depth
         vshift = min (eh, dh) / 2
@@ -358,7 +358,7 @@
     
     isPre = False; isSub = True
     for ch in node.children[1:]:
-        if ch.elementName == u"mprescripts":
+        if ch.elementName == "mprescripts":
             if isPre:
                 node.error("Repeated 'mprescripts' element inside 'mmultiscripts\n")
             isPre = True; isSub = True; continue
@@ -376,7 +376,7 @@
     def pushEnclosure():
         if node.decoration is None: return  # no need to push
 
-        wrapChildren (node, u"menclose")
+        wrapChildren (node, "menclose")
         setNodeBase(node.children[0], node.base)
         setNodeBase(node, node.children[0])
         node.base.decoration = node.decoration
@@ -389,7 +389,7 @@
         node.base.borderWidth = node.borderWidth
         
     createImplicitRow(node)
-    signs = node.getProperty(u"notation").split()
+    signs = node.getProperty("notation").split()
     node.width = node.base.width
     node.height = node.base.height
     node.depth = node.base.depth
@@ -400,8 +400,8 @@
     node.vdelta = node.nominalLineGap() + node.borderWidth
     
     # Radical sign - convert to msqrt for simplicity
-    if u"radical" in signs:
-        wrapChildren(node, u"msqrt")
+    if "radical" in signs:
+        wrapChildren(node, "msqrt")
         setNodeBase(node.children[0], node.base)
         setNodeBase(node, node.children[0])
         node.base.makeContext()
@@ -411,10 +411,10 @@
         node.depth = node.base.depth        
         
     # Strikes
-    strikes = [ u"horizontalstrike" in signs,
-                u"verticalstrike" in signs,
-                u"updiagonalstrike" in signs,
-                u"downdiagonalstrike" in signs ]
+    strikes = [ "horizontalstrike" in signs,
+                "verticalstrike" in signs,
+                "updiagonalstrike" in signs,
+                "downdiagonalstrike" in signs ]
     if True in strikes:
         pushEnclosure()
         node.decoration = "strikes"
@@ -422,28 +422,28 @@
         # no size change - really? 
     
     # Rounded box 
-    if u"roundedbox" in signs:
+    if "roundedbox" in signs:
         pushEnclosure()
         node.decoration = "roundedbox"
         enclosures.addBoxEnclosure(node)
     
     # Square box 
-    if u"box" in signs:
+    if "box" in signs:
         pushEnclosure()
         node.decoration = "box"
         enclosures.addBoxEnclosure(node)
     
     # Circle
-    if u"circle" in signs:
+    if "circle" in signs:
         pushEnclosure()
         node.decoration = "circle"
         enclosures.addCircleEnclosure(node)
 
     # Borders    
-    borders = [ u"left" in signs,
-                u"right" in signs,
-                u"top" in signs,
-                u"bottom" in signs ]
+    borders = [ "left" in signs,
+                "right" in signs,
+                "top" in signs,
+                "bottom" in signs ]
     if True in borders:
         pushEnclosure()
         if False in borders:
@@ -454,13 +454,13 @@
             enclosures.addBoxEnclosure(node)
 
     # Long division    
-    if u"longdiv" in signs:
+    if "longdiv" in signs:
         pushEnclosure()
         node.decoration = "borders"
         enclosures.addBorderEnclosure(node, [True, False, True, False]) # left top for now
 
     # Actuarial    
-    if u"actuarial" in signs:
+    if "actuarial" in signs:
         pushEnclosure()
         node.decoration = "borders"
         enclosures.addBorderEnclosure(node, [False, True, True, False]) # right top
@@ -480,7 +480,7 @@
             c = r.cells[i]
             if c is None or c.content is None: continue
             content = c.content
-            if content.elementName == u"mtd":
+            if content.elementName == "mtd":
                 if len(content.children) != 1: continue
                 content = content.children[0]
                 if content.core.stretchy: c.content = content
@@ -501,7 +501,7 @@
         for c in r.cells:
             if c is None or c.content is None: continue
             content = c.content
-            if content.elementName == u"mtd":
+            if content.elementName == "mtd":
                 if len(content.children) != 1: continue
                 content = content.children[0]
                 if content.core.stretchy: c.content = content
@@ -547,19 +547,19 @@
           baseLine = topLine + row.height
           axisLine = baseLine - node.axis()   
     
-    if alignType == u"axis":
+    if alignType == "axis":
         node.alignToAxis = True
         node.height = axisLine 
-    elif alignType == u"baseline":
+    elif alignType == "baseline":
         node.alignToAxis = False
         node.height = baseLine
-    elif alignType == u"center":
+    elif alignType == "center":
         node.alignToAxis = False
         node.height = (topLine + bottomLine) / 2    
-    elif alignType == u"top":
+    elif alignType == "top":
         node.alignToAxis = False
         node.height = topLine
-    elif alignType == u"bottom":    
+    elif alignType == "bottom":    
         node.alignToAxis = False
         node.height = bottomLine
     else:
@@ -572,7 +572,7 @@
     node.descender = node.depth
 
 def measure_mtr (node):
-    if node.parent is None or node.parent.elementName != u"mtable":
+    if node.parent is None or node.parent.elementName != "mtable":
         node.error("Misplaced '%s' element: should be child of 'mtable'" % node.elementName)
     pass # all processing is done on the table
 
@@ -586,7 +586,7 @@
     measure_mtr(node)    
 
 def measure_mtd (node):
-    if node.parent is None or node.parent.elementName not in [u"mtr", u"mlabeledtr", u"mtable"]:
+    if node.parent is None or node.parent.elementName not in ["mtr", "mlabeledtr", "mtable"]:
         node.error("Misplaced '%s' element: should be child of 'mtr', 'mlabeledtr', or 'mtable'" % node.elementName)
     measure_mrow(node)
 
@@ -617,7 +617,7 @@
 
     node.subShift = 0
     if len(subs) > 0:
-        shiftAttr = node.getProperty(u"subscriptshift")
+        shiftAttr = node.getProperty("subscriptshift")
         if shiftAttr is None: shiftAttr = "0.5ex"
         node.subShift = node.parseLength(shiftAttr)  # positive shifts down
         node.subShift = max (node.subShift, subHeight - scriptMedian + gap)
@@ -630,7 +630,7 @@
 
     node.superShift = 0
     if len(supers) > 0:    
-        shiftARefactoringTool: Refactored ../python3/svgmath/mathnode.py
ttr = node.getProperty(u"superscriptshift")
+        shiftAttr = node.getProperty("superscriptshift")
         if shiftAttr is None: shiftAttr = "1ex"
         node.superShift = node.parseLength(shiftAttr)  # positive shifts up
         node.superShift = max (node.superShift, superDepth + scriptMedian + gap)
@@ -699,18 +699,18 @@
             toWidth -= node.width - node.base.width
         stretch(node.base, toWidth, toHeight, toDepth, symmetric)
         node.measureNode()
-    elif node.elementName == u"mo":
+    elif node.elementName == "mo":
         if node.fontSize == 0: return 
 
-        maxsizedefault = node.opdefaults.get(u"maxsize")
-        maxsizeattr = node.getProperty(u"maxsize", maxsizedefault)
-        if (maxsizeattr == u"infinity"): 
+        maxsizedefault = node.opdefaults.get("maxsize")
+        maxsizeattr = node.getProperty("maxsize", maxsizedefault)
+        if (maxsizeattr == "infinity"): 
             maxScale = None
         else:
             maxScale = node.parseSpaceOrPercent(maxsizeattr, node.fontSize, node.fontSize) / node.fontSize
 
-        minsizedefault = node.opdefaults.get(u"minsize")
-        minsizeattr = node.getProperty(u"minsize", minsizedefault)
+        minsizedefault = node.opdefaults.get("minsize")
+        minsizeattr = node.getProperty("minsize", minsizedefault)
         minScale = node.parseSpaceOrPercent(minsizeattr, node.fontSize, node.fontSize) / node.fontSize        
         if toWidth is None:    
             stretchVertically(node, toHeight, toDepth, minScale, maxScale, symmetric) 
@@ -719,7 +719,7 @@
         
 def stretchVertically(node, toHeight, toDepth, minScale, maxScale, symmetric):
     if node.ascender + node.descender == 0: return
-    if node.scaling == u"horizontal": return
+    if node.scaling == "horizontal": return
     
     if symmetric and node.symmetric:
         toHeight = (toHeight + toDepth) / 2
@@ -744,7 +744,7 @@
     node.depth -= extraShift
     node.descender -= extraShift
 
-    if node.scaling == u"vertical":
+    if node.scaling == "vertical":
         node.textStretch /= scale
     else:
         node.width *= scale
@@ -753,7 +753,7 @@
                             
 def stretchHorizontally(node, toWidth, minScale, maxScale):        
     if node.width == 0: return
-    if node.scaling != u"horizontal": return
+    if node.scaling != "horizontal": return
 
     scale = toWidth / node.width 
     scale = max (scale, minScale)
@@ -778,7 +778,7 @@
 
 def createImplicitRow(node):
     if len(node.children) != 1: 
-        wrapChildren(node, u"mrow")
+        wrapChildren(node, "mrow")
         node.children[0].makeContext();
         node.children[0].measureNode();
     setNodeBase(node, node.children[0])
--- ../python3/svgmath/mathnode.py	(original)
+++ ../python3/svgmath/mathnode.py	(refactored)
@@ -2,7 +2,7 @@
 
 import sys, contextmakers, measurers, generators 
 from xml import sax
-from nodelocator import NodeLocator
+from .nodelocator import NodeLocator
 
 
 def isHighSurrogate(ch):
@@ -22,61 +22,61 @@
 
 globalDefaults = {
     # Font and color properties
-    u"mathvariant": u"normal",
-    u"mathsize": u"12pt",
-    u"mathcolor": u"black",      
-    u"mathbackground": u"transparent", 
-    u"displaystyle": u"false",
-    u"scriptlevel": u"0",
+    "mathvariant": "normal",
+    "mathsize": "12pt",
+    "mathcolor": "black",      
+    "mathbackground": "transparent", 
+    "displaystyle": "false",
+    "scriptlevel": "0",
     # Script size factor and minimum value
-    u"scriptsizemultiplier": u"0.71",
-    u"scriptminsize": u"8pt",
+    "scriptsizemultiplier": "0.71",
+    "scriptminsize": "8pt",
     # Spaces
-    u"veryverythinmathspace": u"0.0555556em",
-    u"verythinmathspace": u"0.111111em",
-    u"thinmathspace": u"0.166667em",
-    u"mediummathspace": u"0.222222em",
-    u"thickmathspace": u"0.277778em",
-    u"verythickmathspace": u"0.333333em",
-    u"veryverythickmathspace": u"0.388889em",
+    "veryverythinmathspace": "0.0555556em",
+    "verythinmathspace": "0.111111em",
+    "thinmathspace": "0.166667em",
+    "mediummathspace": "0.222222em",
+    "thickmathspace": "0.277778em",
+    "verythickmathspace": "0.333333em",
+    "veryverythickmathspace": "0.388889em",
     # Line thickness and slope for mfrac    
-    u"linethickness": "1",
-    u"bevelled": u"false",
-    u"enumalign": u"center",
-    u"denomalign": u"center",
+    "linethickness": "1",
+    "bevelled": "false",
+    "enumalign": "center",
+    "denomalign": "center",
     # String quotes for ms
-    u"lquote": u"\"",
-    u"rquote": u"\"",
+    "lquote": "\"",
+    "rquote": "\"",
     # Properties for mspace
-    u"height": u"0ex",
-    u"depth": u"0ex",
-    u"width": u"0em",
+    "height": "0ex",
+    "depth": "0ex",
+    "width": "0em",
     # Properties for mfenced
-    u"open": u"(",
-    u"close": u")",
-    u"separators": u",",
+    "open": "(",
+    "close": ")",
+    "separators": ",",
     # Property for menclose
-    u"notation": u"longdiv",    
+    "notation": "longdiv",    
     # Properties for mtable
-    u"align": u"axis",
-    u"rowalign": u"baseline",
-    u"columnalign": u"center",
-    u"columnwidth": u"auto",
-    u"equalrows": u"false",
-    u"equalcolumns": u"false",
-    u"rowspacing": u"1.0ex",
-    u"columnspacing": u"0.8em",
-    u"framespacing": u"0.4em 0.5ex",
-    u"rowlines": u"none",
-    u"columnlines": u"none",
-    u"frame": u"none"
+    "align": "axis",
+    "rowalign": "baseline",
+    "columnalign": "center",
+    "columnwidth": "auto",
+    "equalrows": "false",
+    "equalcolumns": "false",
+    "rowspacing": "1.0ex",
+    "columnspacing": "0.8em",
+    "framespacing": "0.4em 0.5ex",
+    "rowlines": "none",
+    "columnlines": "none",
+    "frame": "none"
 }
 
-specialChars = { u'\u2145': u'D',
-                 u'\u2146': u'd',
-                 u'\u2147': u'e',
-                 u'\u2148': u'i',
-                 u'\u00A0': u' ' }
+specialChars = { '\u2145': 'D',
+                 '\u2146': 'd',
+                 '\u2147': 'e',
+                 '\u2148': 'i',
+                 '\u00A0': ' ' }
 
 class FontMetricRecord:
     """Structure to track usage of a single font family"""
@@ -107,7 +107,7 @@
         else:
             self.locator = NodeLocator(None)
 
-        self.text = u''
+        self.text = ''
         self.children = []
         self.attributes = attributes
         self.parent = parent
@@ -124,11 +124,11 @@
 
                                     
     def makeContext (self):
-        contextmakers.__dict__.get(u"context_"+self.elementName, 
+        contextmakers.__dict__.get("context_"+self.elementName, 
                                    contextmakers.default_context)(self)
 
     def makeChildContext (self, child):
-        contextmakers.__dict__.get(u"child_context_"+self.elementName, 
+        contextmakers.__dict__.get("child_context_"+self.elementName, 
                                    contextmakers.default_child_context)(self, child)
 
 
@@ -141,7 +141,7 @@
         self.measureNode()
     
     def measureNode(self):
-        measureMethod = measurers.__dict__.get(u"measure_"+self.elementName, 
+        measureMethod = measurers.__dict__.get("measure_"+self.elementName, 
                                                measurers.default_measure)
         if self.config.verbose and measureMethod is measurers.default_measure: 
             self.warning("MathML element '%s' is unsupported" % self.elementName)
@@ -149,7 +149,7 @@
 
 
     def draw (self, output):
-        generators.__dict__.get(u"draw_"+self.elementName, 
+        generators.__dict__.get("draw_"+self.elementName, 
                                 generators.default_draw)(self, output)
     
     def makeImage(self, output):        
@@ -215,8 +215,8 @@
     def parseSpace(self, spaceattr, unitlessScale = 0.75):
         sign = 1.0
         spaceattr = spaceattr.strip()
-        if spaceattr.endswith(u"mathspace"):
-           if spaceattr.startswith(u"negative"): 
+        if spaceattr.endswith("mathspace"):
+           if spaceattr.startswith("negative"): 
                sign = -1.0
                spaceattr = spaceattr[8:]
  RefactoringTool: Refactored ../python3/svgmath/mathhandler.py
RefactoringTool: Refactored ../python3/svgmath/mathconfig.py
          realspaceattr = self.defaults.get(spaceattr);
@@ -233,11 +233,11 @@
         else: return 0
 
     def parseLengthOrPercent(self, lenattr, percentBase, unitlessScale = 0.75):
-        if lenattr.endswith(u"%"): return self.parsePercent(lenattr, percentBase)
+        if lenattr.endswith("%"): return self.parsePercent(lenattr, percentBase)
         else: return self.parseLength(lenattr, unitlessScale) 
 
     def parseSpaceOrPercent(self, lenattr, percentBase, unitlessScale = 0.75):
-        if lenattr.endswith(u"%"): return self.parsePercent(lenattr, percentBase)
+        if lenattr.endswith("%"): return self.parsePercent(lenattr, percentBase)
         else: return self.parseSpace(lenattr, unitlessScale) 
 
 
@@ -342,8 +342,8 @@
             cm = fd.metric.chardata.get(ch)
             if cm: return (cm, fd)
         else:
-            if 0 < ch and ch < 0xFFFF and unichr(ch) in specialChars.keys():
-                return self.findChar(ord(specialChars[unichr(ch)]))
+            if 0 < ch and ch < 0xFFFF and chr(ch) in list(specialChars.keys()):
+                return self.findChar(ord(specialChars[chr(ch)]))
             self.warning("Glyph U+%X not found" % ch)
             return None      
 
--- ../python3/svgmath/mathhandler.py	(original)
+++ ../python3/svgmath/mathhandler.py	(refactored)
@@ -2,12 +2,12 @@
 
 import sys
 from xml import sax
-from mathnode import MathNode
-from mathconfig import MathConfig
-from nodelocator import NodeLocator
+from .mathnode import MathNode
+from .mathconfig import MathConfig
+from .nodelocator import NodeLocator
 
 # MathML namespace
-MathNS = u"http://www.w3.org/1998/Math/MathML"
+MathNS = "http://www.w3.org/1998/Math/MathML"
 
 class MathHandler (sax.ContentHandler):
     """SAX ContentHandler for converting MathML formulae to SVG.
@@ -47,7 +47,7 @@
             self.skip = 1; return
             
         properties = {}
-        for (attName, value) in attributes.items():
+        for (attName, value) in list(attributes.items()):
             (attNamespace, attLocalName) = attName
             if attNamespace and attNamespace != MathNS:
                 if self.config.verbose:
@@ -70,7 +70,7 @@
             raise sax.SAXParseException("SAX parser error: unmatched closing tag", None, self.locator)
 
         # Normalize text
-        self.currentNode.text = u' '.join(self.currentNode.text.split())
+        self.currentNode.text = ' '.join(self.currentNode.text.split())
 
         # If we're back to the top of the tree, measure and draw everything
         if self.currentNode.parent is None:
--- ../python3/svgmath/mathconfig.py	(original)
+++ ../python3/svgmath/mathconfig.py	(refactored)
@@ -2,9 +2,9 @@
 
 import os, sys 
 from xml import sax
-from fonts.afm import AFMMetric
-from fonts.ttf import TTFMetric
-from fonts.metric import FontFormatError
+from .fonts.afm import AFMMetric
+from .fonts.ttf import TTFMetric
+from .fonts.metric import FontFormatError
 
 class MathConfig(sax.ContentHandler):
     """Configuration for MathML-to-SVG formatter.
@@ -26,47 +26,47 @@
             parser.setContentHandler(self)
             parser.setFeature(sax.handler.feature_namespaces, 0)
             parser.parse(configfile)
-        except sax.SAXException, xcpt:
-            print "Error parsing configuration file ", configfile, ": ", xcpt.getMessage()
+        except sax.SAXException as xcpt:
+            print("Error parsing configuration file ", configfile, ": ", xcpt.getMessage())
             sys.exit(1)
 
     
     def startElement(self, name, attributes):
-        if name == u"config":
-            self.verbose = (attributes.get(u"verbose") == u"true") 
-            self.debug = (attributes.get(u"debug", u"")).replace(u",", u" ").split()
+        if name == "config":
+            self.verbose = (attributes.get("verbose") == "true") 
+            self.debug = (attributes.get("debug", "")).replace(",", " ").split()
 
-        elif name == u"defaults":
+        elif name == "defaults":
             self.defaults.update(attributes)
             
-        elif name == u"fallback":
-            familyattr = attributes.get(u"family", u"")
-            self.fallbackFamilies = [" ".join(x.split()) for x in familyattr.split(u",")]
+        elif name == "fallback":
+            familyattr = attributes.get("family", "")
+            self.fallbackFamilies = [" ".join(x.split()) for x in familyattr.split(",")]
 
-        elif name == u"family":
-            self.currentFamily = attributes.get(u"name", u"")
+        elif name == "family":
+            self.currentFamily = attributes.get("name", "")
             self.currentFamily = "".join(self.currentFamily.lower().split())
 
-        elif name == u"font":
-            weight = attributes.get(u"weight", u"normal")
-            style = attributes.get(u"style", u"normal")
+        elif name == "font":
+            weight = attributes.get("weight", "normal")
+            style = attributes.get("style", "normal")
             fontfullname = self.currentFamily;
-            if weight != u"normal":
-                fontfullname += u" " + weight
-            if style != u"normal":
-                fontfullname += u" " + style
+            if weight != "normal":
+                fontfullname += " " + weight
+            if style != "normal":
+                fontfullname += " " + style
             try:
-                if u"afm" in attributes.keys():
-                    fontpath = attributes.get(u"afm")
-                    metric = AFMMetric(fontpath, attributes.get(u"glyph-list"), sys.stderr)
-                elif u"ttf" in attributes.keys():
-                    fontpath = attributes.get(u"ttf")
+                if "afm" in list(attributes.keys()):
+                    fontpath = attributes.get("afm")
+                    metric = AFMMetric(fontpath, attributes.get("glyph-list"), sys.stderr)
+                elif "ttf" in list(attributes.keys()):
+                    fontpath = attributes.get("ttf")
                     metric = TTFMetric(fontpath, sys.stderr)
                 else:
                     sys.stderr.write("Bad record in configuration file: font is neither AFM nor TTF\n")
                     sys.stderr.write("Font entry for '%s' ignored\n" % fontfullname)
                     return
-            except FontFormatError, err:
+            except FontFormatError as err:
                 sys.stderr.write("Invalid or unsupported file format in '%s': %s\n" % (fontpath, err.message))
                 sys.stderr.write("Font entry for '%s' ignored\n" % fontfullname)
                 return
@@ -76,41 +76,41 @@
                 sys.stderr.write("Font entry for '%s' ignored\n" % fontfullname)
                 return
                  
-            self.fonts[weight+u" "+style+u" "+self.currentFamily] = metric
+            self.fonts[weight+" "+style+" "+self.currentFamily] = metric
                 
-        elif name == u"mathvariant":
-            variantattr = attributes.get(u"name")
-            familyattr = attributes.get(u"family", "")
-            splitFamily = [" ".join(x.split()) for x in familyattr.split(u",")] 
-            weightattr = attributes.get(u"weight", u"normal")
-            styleattr = attributes.get(u"style", u"normal")
+        elif name == "mathvariant":
+            variantattr = attributes.get("name")
+            familyattr = attributes.get("family", "")
+            splitFamily = [" ".join(x.split()) for x in familyattr.split(",")] 
+            weightattr = attributes.get("weight", "normal")
+            styleattr = attributes.get("style", "normal")
             self.variants[variantattr] = (weightattr, styleattr, splitFamily)
 
-        elif name == u"operator-style":
-            opname = attributes.get(u"operator")
+        elif name == "operator-style":
+            opname = attributes.get("operator")
             if opname:
                 styling = {}
                 styling.update(attributes)
-                del styling[u"operator"]
+                del styling["operator"]
                 self.opstyles[opname] = styling
             else:
                 sys.stderr.write("Bad record in configuration file: operRefactoringTool: Refactored ../python3/svgmath/generators.py
ator-style with no operator attribute\n")            
 
         
     def endElement(self, name):
-        if name == u"family":
+        if name == "family":
             self.currentFamily = None
 
 
     def findfont(self, weight, style, family):
         """Finds a metric for family+weight+style."""
-        weight = (weight or u"normal").strip()
-        style = (style or u"normal").strip()
-        family = "".join((family or u"").lower().split())
+        weight = (weight or "normal").strip()
+        style = (style or "normal").strip()
+        family = "".join((family or "").lower().split())
         
-        for w in [weight, u"normal"]:
-            for s in [style, u"normal"]:                
-                metric = self.fonts.get(w+u" "+s+u" "+family)
+        for w in [weight, "normal"]:
+            for s in [style, "normal"]:                
+                metric = self.fonts.get(w+" "+s+" "+family)
                 if metric: return metric
         return None
 
@@ -121,20 +121,20 @@
     else:
         config = MathConfig(sys.argv[1])
         
-    print "Options:  verbose =", config.verbose, " debug =", config.debug
-    print "Fonts:"
-    for (font, metric) in config.fonts.items():
-        print "    ", font, "-->", metric.fontname
-    print "Math variants:"
-    for (variant, value) in config.variants.items():
-        print "    ", variant, "-->", value
-    print "Defaults:"
-    for (attr, value) in config.defaults.items():
-        print "    ", attr, "=", value
-    print "Operator styling:"
-    for (opname, value) in config.opstyles.items():
-        print "    ", repr(opname), ":", value
-    print "Fallback font families:", config.fallbackFamilies  
+    print("Options:  verbose =", config.verbose, " debug =", config.debug)
+    print("Fonts:")
+    for (font, metric) in list(config.fonts.items()):
+        print("    ", font, "-->", metric.fontname)
+    print("Math variants:")
+    for (variant, value) in list(config.variants.items()):
+        print("    ", variant, "-->", value)
+    print("Defaults:")
+    for (attr, value) in list(config.defaults.items()):
+        print("    ", attr, "=", value)
+    print("Operator styling:")
+    for (opname, value) in list(config.opstyles.items()):
+        print("    ", repr(opname), ":", value)
+    print("Fallback font families:", config.fallbackFamilies)  
         
     
 if __name__ == "__main__": main()
--- ../python3/svgmath/generators.py	(original)
+++ ../python3/svgmath/generators.py	(refactored)
@@ -4,9 +4,9 @@
 from xml.sax import xmlreader
 
 # SVG namespace
-SVGNS = u"http://www.w3.org/2000/svg"
+SVGNS = "http://www.w3.org/2000/svg"
 # SVGMath proprietary namespace - used in metadata
-SVGMathNS = u"http://www.grigoriev.ru/svgmath"
+SVGMathNS = "http://www.grigoriev.ru/svgmath"
 
 # Use namespace-aware (SAX2) or plain (SAX1) callbacks 
 useNamespaces = True
@@ -14,16 +14,16 @@
 readable = False
 
 # Handy mapping of horizontal alignment keywords
-alignKeywords = { u"left": 0, u"center": 0.5, u"right": 1 }
+alignKeywords = { "left": 0, "center": 0.5, "right": 1 }
 
 def startElement(output, localname, namespace, prefix, attrs):
     """Wrapper to emit a start tag"""
-    if readable: output.characters(u"\n") # for readability
+    if readable: output.characters("\n") # for readability
     
     if useNamespaces:    
         nsAttrs = {}
-        for (att, value) in attrs.items(): nsAttrs[(None, att)] = value
-        qnames = attrs.keys()
+        for (att, value) in list(attrs.items()): nsAttrs[(None, att)] = value
+        qnames = list(attrs.keys())
         output.startElementNS((namespace, localname), 
                               prefix+localname, 
                               xmlreader.AttributesNSImpl(nsAttrs, qnames))
@@ -38,13 +38,13 @@
     else:
         output.endElement(prefix+localname)
 
-    if readable: output.characters(u"\n") # for readability    
+    if readable: output.characters("\n") # for readability    
 
 def startSVGElement(output, localname, attrs):
-    startElement(output, localname, SVGNS, u"svg:", attrs)
+    startElement(output, localname, SVGNS, "svg:", attrs)
 
 def endSVGElement(output, localname):
-    endElement(output, localname, SVGNS, u"svg:")
+    endElement(output, localname, SVGNS, "svg:")
 
 def drawImage(node, output):
     """Top-level draw function: prepare the canvas, then call the draw method of the root node"""
@@ -56,37 +56,37 @@
     depth = max(node.depth, node.descender);
     vsize = height + depth;
     
-    attrs = {u"width": (u"%fpt" % node.width), 
-             u"height": (u"%fpt" % vsize), 
-             u"viewBox": (u"0 %f %f %f" % (-(height+baseline), node.width, vsize))}    
+    attrs = {"width": ("%fpt" % node.width), 
+             "height": ("%fpt" % vsize), 
+             "viewBox": ("0 %f %f %f" % (-(height+baseline), node.width, vsize))}    
 
     if useNamespaces: 
-        output.startPrefixMapping(u'svg', SVGNS)
-        output.startPrefixMapping(u'svgmath', SVGMathNS)
+        output.startPrefixMapping('svg', SVGNS)
+        output.startPrefixMapping('svgmath', SVGMathNS)
     else:
-        attrs[u"xmlns:svg"] = SVGNS
-        attrs[u"xmlns:svgmath"] = SVGMathNS
-
-    startSVGElement(output, u'svg', attrs)
+        attrs["xmlns:svg"] = SVGNS
+        attrs["xmlns:svgmath"] = SVGMathNS
+
+    startSVGElement(output, 'svg', attrs)
 
     # Prints baseline table as metadata    
-    startSVGElement(output, u'metadata', {})
+    startSVGElement(output, 'metadata', {})
     startElement(output, 
                  "metrics", SVGMathNS, "svgmath:", 
-                 { u"baseline": depth - baseline, 
-                   u"axis": depth - baseline + node.axis(),
-                   u"top": depth + node.height,
-                   u"bottom": depth - node.depth } )
+                 { "baseline": depth - baseline, 
+                   "axis": depth - baseline + node.axis(),
+                   "top": depth + node.height,
+                   "bottom": depth - node.depth } )
     endElement(output, "metrics", SVGMathNS, "svgmath:") 
     
-    endSVGElement(output, u'metadata')
+    endSVGElement(output, 'metadata')
 
     drawTranslatedNode(node, output, 0, - baseline)
-    endSVGElement(output, u'svg')    
+    endSVGElement(output, 'svg')    
 
     if useNamespaces: 
-        output.endPrefixMapping(u'svg')
-        output.endPrefixMapping(u'svgmath')
+        output.endPrefixMapping('svg')
+        output.endPrefixMapping('svgmath')
 
 def default_draw (node, output): pass
 
@@ -118,7 +118,7 @@
 def draw_mfenced (node, output):  draw_mrow (node, output)
     
 def draw_merror (node, output):
-    drawBox(node, output, node.borderWidth, u"red")
+    drawBox(node, output, node.borderWidth, "red")
     drawTranslatedNode(node.base, output,  node.borderWidth, 0)
 
 def draw_mpadded (node, output):
@@ -148,7 +148,7 @@
 def draw_mfrac (node, output):
     drawBox(node, output)
 
-    if node.getProperty(u"bevelled") == u"true":
+    if node.getProperty("bevelled") == "true":
         drawTranslatedNode(node.enumerator, output,
                 0, 
                 node.enumerator.height - node.height)        
@@ -156,8 +156,8 @@
                 node.width - node.denominator.width,
                 node.depth - node.denominator.depth) 
     else:
-        enumalign = getAlign(node, u"enumalign")
-        denomalign = getAlign(node, u"denomalign")        
+        enumalign = getAlign(node, "enumalign")
+        denomalign = getAlign(node, "denomalign")        
         drawTranslatedNode(node.enumerator, output,
                 node.ruleWidth + (node.width - 2 * node.ruleWidth - node.enumerator.width) * enumalign, 
                 node.enumerator.height - node.height)        
@@ -166,7 +166,7 @@
                 node.depth - node.denominator.depth) 
     
     if node.ruleWidth:
-        if node.getProperty(u"bevelled") == u"true":
+        if node.getProperty("bevelled") == "true":
             eh = node.enumerator.height + node.enumerator.depth
             dh = node.denominator.height + node.denominator.depth
 
@@ -189,7 +189,7 @@
             y2 = 0
         
         drawLine(output, node.color, node.ruleWidth, 
-                 x1, y1, x2, y2, {u"stroke-linecap": u"butt"}) 
+                 x1, y1, x2, y2, {"stroke-linecap": "butt"}) 
         
 def draw_mo (node, output):
     drawSVGText(node, output)    
@@ -255,15 +255,15 @@
     # Lean the left protrusion down
     y1 += (x2 - x1) * slopeA
             
-    attrs = { u"stroke": node.color, u"fill": u"none",
-              u"stroke-width": (u"%f" % node.lineWidth),
-              u"stroke-linecap": u"butt", 
-              u"stroke-linejoin": u"miter", 
-              u"stroke-miterlimit": u"10", 
-              u"d": (u"M %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f" %
+    attrs = { "stroke": node.color, "fill": "none",
+              "stroke-width": ("%f" % node.lineWidth),
+              "stroke-linecap": "butt", 
+              "stroke-linejoin": "miter", 
+              "stroke-miterlimit": "10", 
+              "d": ("M %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f L %f %f" %
                        (x1,y1, x2a,y2a,x3a,y3a,x3b,y3b,x2b,y2b,x2c,y2c, x3,y3,  x4,y4,  x5,y5))}
-    startSVGElement(output, u'path', attrs) 
-    endSVGElement(output, u'path')    
+    startSVGElement(output, 'path', attrs) 
+    endSVGElement(output, 'path')    
     
 def draw_mroot(node, output):
     draw_msqrt(node, output)
@@ -376,11 +376,11 @@
                 else:
                     cellHeight = row.height + row.depth
 
-                if cell.valign == u"top":
+                if cell.valign == "top":
                     vadjust = cell.content.height - row.height
-                elif cell.valign == u"bottom":
+                elif cell.valign == "bottom":
                     vadjust = cellHeight - row.height - cell.content.depth
-                elif cell.valign in [u"axis", u"baseline"] and cell.rowspan == 1:
+                elif cell.valign in ["axis", "baseline"] and cell.rowspan == 1:
                     vadjust = - cell.vshift # calculated in the measurer
                 else: # the rest of cases is centered
                     vadjust = (cell.content.height - cell.content.depth + cellHeight) / 2 - row.height 
@@ -393,11 +393,11 @@
     def drawBorder (x1, y1, x2, y2, linestyle):
         if linestyle is None: return
         if x1 == x2 and y1 == y2: return
-        if linestyle == u"dashed":
+        if linestyle == "dashed":
             linelength = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
             dashoffset = 5 - ((linelength / node.lineWidth + 3) % 10) / 2
-            extrastyle = { u"stroke-dasharray": (u"%f,%f" %(node.lineWidth * 7, node.lineWidth * 3)),
-                           u"stroke-dashoffset": (u"%f" % (node.lineWidth * dashoffset)) }
+            extrastyle = { "stroke-dasharray": ("%f,%f" %(node.lineWidth * 7, node.lineWidth * 3)),
+                           "stroke-dashoffset": ("%f" % (node.lineWidth * dashoffset)) }
         else:
             extrastyle = None
         drawLine(output, node.color, node.lineWidth, x1, y1, x2, y2, extrastyle)
@@ -478,73 +478,73 @@
  
 def drawBox(node, output, borderWidth = 0, borderColor = None, borderRadius = 0):
     background = getBackground(node)
-    if background == u"none":
+    if background == "none":
         if borderWidth is None or borderWidth == 0: return
     if borderColor is None: borderColor = node.color
     
-    attrs = {u"fill": background,
-             u"stroke": u"none",
-             u"x": (u"%f" % (borderWidth / 2)),    
-             u"y": (u"%f" % (borderWidth / 2 - node.height)), 
-             u"width": (u"%f" % (node.width - borderWidth)), 
-             u"height": (u"%f" % (node.height + node.depth - borderWidth))} 
+    attrs = {"fill": background,
+             "stroke": "none",
+             "x": ("%f" % (borderWidth / 2)),    
+             "y": ("%f" % (borderWidth / 2 - node.height)), 
+             "width": ("%f" % (node.width - borderWidth)), 
+             "height": ("%f" % (node.height + node.depth - borderWidth))} 
     if borderWidth != 0 and borderColor is not None:
-        attrs[u"stroke"] = borderColor;
-        attrs[u"stroke-width"] = u"%f" % borderWidth
+        attrs["stroke"] = borderColor;
+        attrs["stroke-width"] = "%f" % borderWidth
         if borderRadius != 0:   
-            attrs[u"rx"] = u"%f" % borderRadius;
-            attrs[u"ry"] = u"%f" % borderRadius;
+            attrs["rx"] = "%f" % borderRadius;
+            attrs["ry"] = "%f" % borderRadius;
                        
-    startSVGElement(output, u'rect', attrs) 
-    endSVGElement(output, u'rect')    
+    startSVGElement(output, 'rect', attrs) 
+    endSVGElement(output, 'rect')    
 
 def drawLine(output, color, width, x1, y1, x2, y2, strokeattrs = None): 
-    attrs = { u"fill": u"none", u"stroke": color, 
-              u"stroke-width": (u"%f" % width),
-              u"stroke-linecap": u"square",
-              u"stroke-dasharray": u"none",
-              u"x1": (u"%f" % x1), u"y1": (u"%f" % y1), 
-              u"x2": (u"%f" % x2), u"y2": (u"%f" % y2) }
+    attrs = { "fill": "none", "stroke": color, 
+              "stroke-width": ("%f" % width),
+              "stroke-linecap": "square",
+              "stroke-dasharray": "none",
+              "x1": ("%f" % x1), "y1": ("%f" % y1), 
+              "x2": ("%f" % x2), "y2": ("%f" % y2) }
     if strokeattrs is not None: attrs.update(strokeattrs) 
           
-    startSVGElement(output, u"line", attrs) 
-    endSVGElement(output, u"line")    
+    startSVGElement(output, "line", attrs) 
+    endSVGElement(output, "line")    
 
 def drawTranslatedNode(node, output, dx, dy):
     if dx != 0 or  dy != 0:
-        startSVGElement(output, u'g', 
-                 {u"transform": (u"translate(%f, %f)" % (dx, dy))})    
+        startSVGElement(output, 'g', 
+                 {"transform": ("translate(%f, %f)" % (dx, dy))})    
     node.draw(output)
     if dx != 0 or  dy != 0:
-        endSVGElement(output, u'g')
+        endSVGElement(output, 'g')
 
 def drawSVGText(node, output):
     drawBox(node, output)
     fontfamilies = [x.family for x in node.fontpool() if x.used]
     if len(fontfamilies) == 0: fontfamilies = node.fontfamilies
-    attrs = {u"fill": node.color,
-             u"font-family": u", ".join(fontfamilies),
-             u"font-size": (u"%f" % node.fontSize),
-             u"text-anchor": u"middle", 
-             u"x": (u"%f" % ((node.width + node.leftBearing - node.rightBearing) / 2 / node.textStretch )), 
-             u"y": (u"%f" % (- node.textShift))} 
-    if node.fontweight != u"normal": 
-        attrs[u"font-weight"] = node.fontweight
-    if node.fontstyle != u"normal": 
-        attrs[u"font-style"] = node.fontstyle
+    attrs = {"fill": node.color,
+             "font-family": ", ".join(fontfamilies),
+             "font-size": ("%f" % node.fontSize),
+             "text-anchor": "middle", 
+             "x": ("%f" % ((node.width + node.leftBearing - node.rightBearing) / 2 / node.textStretch )), 
+             "y": ("%f" % (- node.textShift))} 
+    if node.fontweight != "normal": 
+        attrs["font-weight"] = node.fontweight
+    if node.fontstyle != "normal": 
+        attrs["font-style"] = node.fontstyle
     if node.textStretch != 1:
-        attrs[u"transform"] = (u"scale(%f, 1)" % node.textStretch)
-    
-    for oldchar, newchar in mathnode.specialChars.items():
+        attrs["transform"] = ("scale(%f, 1)" % node.textStretch)
+    
+    for oldchar, newchar in list(mathnode.specialChars.items()):
        node.text = node.text.replace(oldchar, newchar)
     
-    startSVGElement(output, u'text', attrs) 
+    startSVGElement(output, 'text', attrs) 
     output.characters(node.text)
-    endSVGElement(output, u'text')    
+    endSVGElement(output, 'text')    
 
 def getAlign(node, attrName):
-    attrValue = node.getProperty(attrName, u"center")
-    if attrValue not in alignKeywords.keys():
+    attrValue = node.getProperty(attrName, "center")
+    if attrValue not in list(alignKeywords.keys()):
         node.error("Bad value %s for %s", attrValue, attrName)
     return alignKeywords.get(attrValue, 0.5) 
RefactoringTool: Refactored ../python3/svgmath/fonts/ttf.py
 
@@ -561,12 +561,12 @@
     cx = node.width / 2
     cy = (node.depth - node.height) / 2
 
-    attrs = { u"fill": background, u"stroke": node.color, 
-              u"stroke-width": (u"%f" % node.borderWidth),
-              u"cx": (u"%f" % cx), u"cy": (u"%f" % cy), 
-              u"r": (u"%f" % r) }    
-    startSVGElement(output, u'circle', attrs) 
-    endSVGElement(output, u'circle')
+    attrs = { "fill": background, "stroke": node.color, 
+              "stroke-width": ("%f" % node.borderWidth),
+              "cx": ("%f" % cx), "cy": ("%f" % cy), 
+              "r": ("%f" % r) }    
+    startSVGElement(output, 'circle', attrs) 
+    endSVGElement(output, 'circle')
     
     drawTranslatedNode(node.base, output, (node.width - node.base.width)/2, 0)
 
@@ -612,9 +612,9 @@
     if downdiag: drawStrike(0, -node.height, node.width, node.depth)
 
 def getBackground(node):
-    for attr in [u"mathbackground", u"background-color", u"background"]:
+    for attr in ["mathbackground", "background-color", "background"]:
         value = node.attributes.get(attr)
         if value is not None: 
-            if value == u"transparent": return u"none" 
+            if value == "transparent": return "none" 
             else: return value
-    else: return u"none"
+    else: return "none"
--- ../python3/svgmath/fonts/ttf.py	(original)
+++ ../python3/svgmath/fonts/ttf.py	(refactored)
@@ -1,5 +1,5 @@
 import sys 
-from metric import FontMetric, CharMetric, FontFormatError 
+from .metric import FontMetric, CharMetric, FontFormatError 
 
 def readUnsigned(ff, size): 
     res = 0;
@@ -41,14 +41,14 @@
         
     def readFontMetrics(self, ff):
         version = ff.read(4)
-        if map(ord, version) == [0, 1, 0, 0]:
+        if list(map(ord, version)) == [0, 1, 0, 0]:
             self.fonttype="TTF"
         elif version == "OTTO":
             # self.fonttype="OTF"
             # At the moment, I cannot parse bbox data out from CFF
-            raise TTFFormatError, "OpenType/CFF fonts are unsupported"
+            raise TTFFormatError("OpenType/CFF fonts are unsupported")
         else:
-            raise TTFFormatError, "Not a TrueType file"
+            raise TTFFormatError("Not a TrueType file")
         
         numTables = readUnsigned(ff, 2)
         tables = {}
@@ -61,15 +61,15 @@
             tables[tag] = (offset, length)
 
         def switchTable(tableTag):
-            if tableTag not in tables.keys():
-                raise TTFFormatError, "Required table "+tableTag+" missing in TrueType file"
+            if tableTag not in list(tables.keys()):
+                raise TTFFormatError("Required table "+tableTag+" missing in TrueType file")
             return tables[tableTag]
             
         (offset, length) = switchTable("head")
         ff.seek(offset+12)
         magic = readUnsigned(ff, 4)
         if magic != 0x5F0F3CF5:
-            raise TTFFormatError, "Magic number in 'head' table does not match the spec"
+            raise TTFFormatError("Magic number in 'head' table does not match the spec")
         skip(ff, 2)
         self.unitsPerEm = readUnsigned(ff, 2)
         emScale = 1.0 / self.unitsPerEm
@@ -107,24 +107,24 @@
             nameOffset = readUnsigned(ff, 2)
         
             if platformID == 3 and encodingID == 1:
-                if languageID in englishCodes or nameID not in uniNames.keys(): 
+                if languageID in englishCodes or nameID not in list(uniNames.keys()): 
                     uniNames[nameID] = (nameOffset, nameLength)
             elif platformID == 1 and encodingID == 0:
-                if languageID == 0 or nameID not in macNames.keys():
+                if languageID == 0 or nameID not in list(macNames.keys()):
                     macNames[nameID] = (nameOffset, nameLength)
 
         def getName (code):
-            if code in macNames.keys():
+            if code in list(macNames.keys()):
                 (nameOffset, nameLength) = macNames[code]
                 ff.seek (storageOffset + nameOffset)
                 return ff.read(nameLength)
 RefactoringTool: Refactored ../python3/svgmath/fonts/metric.py
                # FIXME: repair Mac encoding here
-            elif code in uniNames.keys():
+            elif code in list(uniNames.keys()):
                 (nameOffset, nameLength) = uniNames[code]
                 ff.seek (storageOffset + nameOffset)
-                result = u""
+                result = ""
                 for i in range (0, nameLength/2):
-                    result += unichr(readUnsigned(ff, 2))
+                    result += chr(readUnsigned(ff, 2))
                 return result
        
         self.family = getName(1)
@@ -198,7 +198,7 @@
             encodingScheme = "Symbol"
             subtableOffset = cmapEncodings.get((3, 0))            
             if subtableOffset is None: 
-                raise TTFFormatError, "Cannot use font '%s': no known subtable in 'cmap' table" % self.fullname
+                raise TTFFormatError("Cannot use font '%s': no known subtable in 'cmap' table" % self.fullname)
             else:
                 if self.log:
                     self.log.write("WARNING: font '%s' is a symbolic font - Unicode mapping may be unreliable\n" % self.fullname) 
@@ -207,7 +207,7 @@
 
         tableFormat = readUnsigned(ff, 2)
         if tableFormat != 4:
-            raise TTFFormatError, "Unsupported format in 'cmap' table: %d" % tableFormat
+            raise TTFFormatError("Unsupported format in 'cmap' table: %d" % tableFormat)
         
         subtableLength = readUnsigned(ff, 2)
         skip (ff, 2)
@@ -264,7 +264,7 @@
             for i in range (0, self.numGlyphs+1):
                 glyphIndex.append(readUnsigned(ff, 4))        
         else:
-            raise TTFFormatError, "Invalid indexToLocFormat value (%d) in 'head' table" % str(self.indexToLocFormat)
+            raise TTFFormatError("Invalid indexToLocFormat value (%d) in 'head' table" % str(self.indexToLocFormat))
         
         (offset, length) = switchTable("glyf")
         for i in range (0, self.numGlyphs):
@@ -284,6 +284,6 @@
     if len (sys.argv) == 2: 
         TTFMetric(sys.argv[1], log=sys.stderr).dump() 
     else:
-        print """Usage: TTF.py <path to TTF file>"""
+        print("""Usage: TTF.py <path to TTF file>""")
 
 if __name__ == "__main__": main()
--- ../python3/svgmath/fonts/metric.py	(original)
+++ ../python3/svgmath/fonts/metric.py	(refactored)
@@ -37,28 +37,28 @@
     def postParse(self):
         # Get Ascender from the 'd' glyph
         if self.ascender is None:
-            cm = self.chardata.get(ord(u'd'))
+            cm = self.chardata.get(ord('d'))
             if cm is not None:
                 self.descender = cm.bbox[3]
             else: self.ascender = 0.7 
         
         # Get Descender from the 'p' glyph
         if self.descender is None:
-            cm = self.chardata.get(ord(u'p'))
+            cm = self.chardata.get(ord('p'))
             if cm is not None:
                 self.descender = cm.bbox[1]
             else: self.descender = -0.2 
         
         # Get CapHeight from the 'H' glyph
         if self.capheight is None:
-            cm = self.chardata.get(ord(u'H'))
+            cm = self.chardata.get(ord('H'))
             if cm is not None:
                 self.capheight = cm.bbox[3]
             else: self.capheight = self.ascender 
        
         # Get XHeight from the 'H' glyph
         if self.xheight is None:
-            cm = self.chardata.get(ord(u'x'))
+            cm = self.chardata.get(ord('x'))
             if cm is not None:
                 self.xheight = cm.bbox[3]
             else: self.xheight = 0.45 
@@ -69,7 +69,7 @@
         # "equal", "minus", "plus", "less", "greater", "periodcentered")
         # Default is CapHeight / 2, or 0.3 if there's no CapHeight.
         if self.axisposition is None:             
-            for ch in [ord(u'+'), 0x2212, ord(u'='), ord(u'<'), ord(u'>'), 0xB7]:
+            for ch in [ord('+'), 0x2212, ord('='), ord('<'), ord('>'), 0xB7]:
                 cm = self.chardata.get(ch)
                 if cm is not None:
                     self.axisposition = (cm.bbox[1] + cm.bbox[3]RefactoringTool: Refactored ../python3/svgmath/fonts/glyphlist.py
RefactoringTool: Refactored ../python3/svgmath/fonts/afm.py
) / 2
@@ -80,7 +80,7 @@
         if self.underlinethickness is not None:
             self.rulewidth = self.underlinethickness
         else:
-            for ch in [0x2013, 0x2014, 0x2015, 0x2212, ord(u'-')]:
+            for ch in [0x2013, 0x2014, 0x2015, 0x2212, ord('-')]:
                 cm = self.chardata.get(ch)
                 if cm is not None:
                     self.rulewidth = cm.bbox[3] - cm.bbox[1]
@@ -107,35 +107,35 @@
         else: self.vgap = self.rulewidth * 2
         
         # Set missing glyph to be a space    
-        self.missingGlyph = self.chardata.get(ord(u' ')) or self.chardata.get(0xA0)
+        self.missingGlyph = self.chardata.get(ord(' ')) or self.chardata.get(0xA0)
    
     def dump(self):
-        print "FontName: ", self.fontname
-        print "FullName: ", self.fullname
-        print "FontFamily: ", self.family
-        print "Weight: ", self.weight
-        print "FontBBox: ", 
+        print("FontName: ", self.fontname)
+        print("FullName: ", self.fullname)
+        print("FontFamily: ", self.family)
+        print("Weight: ", self.weight)
+        print("FontBBox: ", end=' ') 
         for x in self.bbox:
-            print x,
-        print            
-        print "CapHeight: ", self.capheight
-        print "XHeight: ", self.xheight
-        print "Ascender: ", self.ascender
-        print "Descender: ", self.descender
-        print "StdHW: ", self.stdhw
-        print "StdVW: ", self.stdvw
-        print "UnderlinePosition: ", self.underlineposition
-        print "UnderlineThickness: ", self.underlinethickness
-        print "ItalicAngle: ", self.italicangle
-        print "CharWidth: ", self.charwidth
-        print "MathematicalBaseline: ", self.axisposition
-        print "Character data: "
-        chars = self.chardata.items()
+            print(x, end=' ')
+        print()            
+        print("CapHeight: ", self.capheight)
+        print("XHeight: ", self.xheight)
+        print("Ascender: ", self.ascender)
+        print("Descender: ", self.descender)
+        print("StdHW: ", self.stdhw)
+        print("StdVW: ", self.stdvw)
+        print("UnderlinePosition: ", self.underlineposition)
+        print("UnderlineThickness: ", self.underlinethickness)
+        print("ItalicAngle: ", self.italicangle)
+        print("CharWidth: ", self.charwidth)
+        print("MathematicalBaseline: ", self.axisposition)
+        print("Character data: ")
+        chars = list(self.chardata.items())
         chars.sort(key = lambda c: c[0])
         for i, cm in chars:
             if cm is None: continue
-            print "    ", ("U+%04X" % i), cm.name+":", "  W", cm.width, "  B",
+            print("    ", ("U+%04X" % i), cm.name+":", "  W", cm.width, "  B", end=' ')
             for x in cm.bbox: 
-                print x,
-            print
+                print(x, end=' ')
+            print()
     
--- ../python3/svgmath/fonts/glyphlist.py	(original)
+++ ../python3/svgmath/fonts/glyphlist.py	(refactored)
@@ -15,13 +15,13 @@
             if len (codelist) != 1: continue # no support for compounds
             codepoint = int (codelist[0], 16) 
 
-            if glyph in self.keys(): 
+            if glyph in list(self.keys()): 
                 self[glyph].append(codepoint)
             else: 
                 self[glyph] = [codepoint]
                 
     def lookup(self, glyphname):
-        if glyphname in self.keys(): return self.get(glyphname)
+        if glyphname in list(self.keys()): return self.get(glyphname)
         else: return defaultGlyphList.get(glyphname)
             
 
@@ -34,8 +34,8 @@
     else:
         glyphList = defaultGlyphList
 
-    for entry, value in glyphList.items():
-        print entry, " => ", value 
+    for entry, value in list(glyphList.items()):
+        print(entry, " => ", value) 
 
 if __name__ == "__main__":
     main()
--- ../python3/svgmath/fonts/afm.py	(original)
+++ ../python3/svgmath/fonts/afm.py	(refactored)
@@ -1,5 +1,5 @@
 import sys, glyphlist
-from metric import FontMetric, CharMetric, FontFormatError 
+RefactoringTool: No changes to ../python3/svgmath/fonts/__init__.py
RefactoringTool: No changes to ../python3/svgmath/enclosures.py
RefactoringTool: Refactored ../python3/svgmath/contextmakers.py
from .metric import FontMetric, CharMetric, FontFormatError 
 
 def parseLength(s): return 0.001 * float(s)
 
@@ -23,7 +23,7 @@
     def readFontMetrics(self, afmfile):
         line = afmfile.readline()
         if not line.startswith("StartFontMetrics"):
-            raise AFMFormatError, "File is not an AFM file"
+            raise AFMFormatError("File is not an AFM file")
         # TODO: AFM version control    
             
         while True:
@@ -49,7 +49,7 @@
                 elif tokens[0] == "Weight":
                     self.weight = tokens[1].strip()
                 elif tokens[0] == "FontBBox":
-                    self.bbox = map (parseLength, tokens[1].split())
+                    self.bbox = list(map (parseLength, tokens[1].split()))
                 elif tokens[0] == "CapHeight":
                     self.capheight = parseLength(tokens[1])
                 elif tokens[0] == "XHeight":
@@ -88,7 +88,7 @@
             if d[0] == "W" or d[0] == "WX" or d[0] == "W0X":
                 width = parseLength(d[1])
             elif d[0] == "B" and len(d) == 5:
-                bbox = map (parseLength, d[1:])
+                bbox = list(map (parseLength, d[1:]))
             elif d[0] == "N":            
                 glyphname = d[1]
 
@@ -137,6 +137,6 @@
     if len (sys.argv) == 2: 
         AFMMetric(sys.argv[1], log=sys.stderr).dump() 
     else:
-        print """Usage: AFM.py <path to AFM file>"""
+        print("""Usage: AFM.py <path to AFM file>""")
 
 if __name__ == "__main__": main()
--- ../python3/svgmath/contextmakers.py	(original)
+++ ../python3/svgmath/contextmakers.py	(refactored)
@@ -27,15 +27,15 @@
         node.defaults = node.parent.defaults
         node.parent.makeChildContext(node)
     else:
-        node.mathsize = node.parseLength(node.defaults[u"mathsize"])
+        node.mathsize = node.parseLength(node.defaults["mathsize"])
         node.fontSize = node.mathsize
         node.metriclist = None
-        node.scriptlevel = node.parseInt(node.defaults[u"scriptlevel"])
+        node.scriptlevel = node.parseInt(node.defaults["scriptlevel"])
         node.tightspaces = False
-        node.displaystyle = (node.defaults[u"displaystyle"] == u"true")
-        node.color = node.defaults[u"mathcolor"]
-
-        defaultVariant = node.config.variants.get(node.defaults[u"mathvariant"])
+        node.displaystyle = (node.defaults["displaystyle"] == "true")
+        node.color = node.defaults["mathcolor"]
+
+        defaultVariant = node.config.variants.get(node.defaults["mathvariant"])
         if defaultVariant is None:
             raise sax.SAXException("Default mathvariant not defined in configuration file: configuration is unusable")
         (node.fontweight, node.fontstyle, node.fontfamilies) = defaultVariant
@@ -69,12 +69,12 @@
 def context_math(node):
     default_context(node)
     # Display style: set differently on 'math'
-    attr = node.attributes.get(u"display")
+    attr = node.attributes.get("display")
     if attr is not None:
-       node.displaystyle = (attr == u"block")
-    else:
-       attr = node.attributes.get(u"mode")
-       node.displaystyle = (attr == u"display")         
+       node.displaystyle = (attr == "block")
+    else:
+       attr = node.attributes.get("mode")
+       node.displaystyle = (attr == "display")         
 
 
 def context_mstyle(node):
@@ -82,8 +82,8 @@
     # Avoid redefinition of mathsize - it is inherited anyway.
     # This serves to preserve values of 'big', 'small', and 'normal'
     # throughout the MathML instance.
-    if node.attributes and u"mathsize" in node.attributes.keys():
-        del node.attributes[u"mathsize"] 
+    if node.attributes and "mathsize" in list(node.attributes.keys()):
+        del node.attributes["mathsize"] 
     if node.attributes:
         node.defaults = node.defaults.copy()
         node.defaults.update(node.attributes)
@@ -92,7 +92,7 @@
 def context_mtable(node):
     default_context(node)
     # Display style: no inheritance, default is 'false' unless redefined in 'mstyle'
-    node.displaystyle = (node.getProperty(u"displaystyle") == u"true")
+    node.displaystyle = (node.getProperty("displaystyle") == "true")
 
 
 def context_mi(node):
@@ -101,7 +101,7 @@
     if len(node.text) == 1 or ( len(node.text) == 2 
                             and mathnode.isHighSurrogate(node.text[0])
                             and mathnode.isLowSurrogate(node.text[1]) ):
-        node.attributes.setdefault(u"fontstyle", u"italic")
+        node.attributes.setdefault("fontstyle", "italic")
     default_context(node)
 
 
@@ -109,69 +109,69 @@
     # Apply special formatting to operators
     extra_style = node.config.opstyles.get(node.text);
     if extra_style:
-        for (prop, value) in extra_style.items():    
+        for (prop, value) in list(extra_style.items()):    
             node.attributes.setdefault(prop, value)
 
     # Consult the operator dictionary, and set the appropriate defaults
-    form = u"infix"
+    form = "infix"
     if node.parent is None: pass
-    elif node.parent.elementName in [u"mrow", u"mstyle", u"msqrt", 
-                                     u"merror", u"mpadded", u"mphantom",
-                                     u"menclose", u"mtd", u"math"]:
-        def isNonSpaceNode(x): return x.elementName != u"mspace"
+    elif node.parent.elementName in ["mrow", "mstyle", "msqrt", 
+                                     "merror", "mpadded", "mphantom",
+                                     "menclose", "mtd", "math"]:
+        def isNonSpaceNode(x): return x.elementName != "mspace"
         
         prevSiblings = node.parent.children[:node.nodeIndex]
-        prevSiblings = filter (isNonSpaceNode, prevSiblings)
+        prevSiblings = list(filter (isNonSpaceNode, prevSiblings))
         
         nextSiblings = node.parent.children[node.nodeIndex+1:]
-        nextSiblings = filter (isNonSpaceNode, nextSiblings)
-        
-        if len(prevSiblings) == 0 and len(nextSiblings) > 0: form = u"prefix"
-        if len(nextSiblings) == 0 and len(prevSiblings) > 0: form = u"postfix"
+        nextSiblings = list(filter (isNonSpaceNode, nextSiblings))
+        
+        if len(prevSiblings) == 0 and len(nextSiblings) > 0: form = "prefix"
+        if len(nextSiblings) == 0 and len(prevSiblings) > 0: form = "postfix"
  
-    form = node.attributes.get(u"form", form)
+    form = node.attributes.get("form", form)
     
     node.opdefaults = operators.lookup(node.text, form)        
     default_context(node)
-    stretchyattr = node.getProperty(u"stretchy", node.opdefaults.get(u"stretchy"))        
-    node.stretchy = (stretchyattr == u"true")
-    symmetricattr = node.getProperty(u"symmetric", node.opdefaults.get(u"symmetric"))        
-    node.symmetric = (symmetricattr == u"true")
-    node.scaling = node.opdefaults.get(u"scaling") 
+    stretchyattr = node.getProperty("stretchy", node.opdefaults.get("stretchy"))        
+    node.stretchy = (stretchyattr == "true")
+    symmetricattr = node.getProperty("symmetric", node.opdefaults.get("symmetric"))        
+    node.symmetric = (symmetricattr == "true")
+    node.scaling = node.opdefaults.get("scaling") 
     if not node.tightspaces:
-        lspaceattr = node.getProperty(u"lspace", node.opdefaults.get(u"lspace"))
+        lspaceattr = node.getProperty("lspace", node.opdefaults.get("lspace"))
         node.leftspace = node.parseSpace(lspaceattr)
-        rspaceattr = node.getProperty(u"rspace", node.opdefaults.get(u"rspace"))
+        rspaceattr = node.getProperty("rspace", node.opdefaults.get("rspace"))
         node.rightspace = node.parseSpace(rspaceattr)
 
     if node.displaystyle:
-        value = node.opdefaults.get(u"largeop")
-        if node.getProperty(u"largeop", value) == u"true": 
+        value = node.opdefaults.get("largeop")
+        if node.getProperty("largeop", value) == "true": 
             node.fontSize *= 1.41    
     else:
-        value = node.opdefaults.get(u"movablelimits")
-        node.moveLimits = (node.getProperty(u"movablelimits", value) == u"true")
+        value = node.opdefaults.get("movablelimits")
+        node.moveLimits = (node.getProperty("movablelimits", value) == "true")
 
 
 def processFontAttributes(node):
-    attr = node.attributes.get(u"displaystyle")
-    if attr is not None: node.displaystyle = (attr == u"true")
-
-    scriptlevelattr = node.attributes.get(u"scriptlevel")
+    attr = node.attributes.get("displaystyle")
+    if attr is not None: node.displaystyle = (attr == "true")
+
+    scriptlevelattr = node.attributes.get("scriptlevel")
     if scriptlevelattr is not None:
         scriptlevelattr = scriptlevelattr.strip()
-        if scriptlevelattr.startswith(u"+"):
+        if scriptlevelattr.startswith("+"):
            node.scriptlevel += node.parseInt(scriptlevelattr[1:])
-        elif scriptlevelattr.startswith(u"-"):
+        elif scriptlevelattr.startswith("-"):
            node.scriptlevel -= node.parseInt(scriptlevelattr[1:])
         else:
            node.scriptlevel = node.parseInt(scriptlevelattr)
         node.scriptlevel = max(node.scriptlevel, 0)
 
-    node.color = node.attributes.get(u"mathcolor", 
-                                     node.attributes.get(u"color", node.color))        
+    node.color = node.attributes.get("mathcolor", 
+                                     node.attributes.get("color", node.color))        
     # Calculate font attributes
-    mathvariantattr = node.attributes.get(u"mathvariant")
+    mathvariantattr = node.attributes.get("mathvariant")
     if mathvariantattr is not None:
         mathvariant = node.config.variants.get(mathvariantattr)
         if mathvariant is None:
@@ -179,21 +179,21 @@
         else:    
             (node.fontweight, node.fontstyle, node.fontfamilies) = mathvariant
     else:
-        node.fontweight = node.attributes.get(u"fontweight", node.fontweight)
-        node.fontstyle = node.attributes.get(u"fontstyle", node.fontstyle)
-        familyattr = node.attributes.get(u"fontfamily")
+        node.fontweight = node.attributes.get("fontweight", node.fontweight)
+        node.fontstyle = node.attributes.get("fontstyle", node.fontstyle)
+        familyattr = node.attributes.get("fontfamily")
         if familyattr is not None:
-            node.fontfamilies = [" ".join(x.split()) for x in familyattr.split(u",")] 
+            node.fontfamilies = [" ".join(x.split()) for x in familyattr.split(",")] 
 
     # Calculate font size
-    mathsizeattr = node.attributes.get(u"mathsize")         
+    mathsizeattr = node.attributes.get("mathsize")         
     if mathsizeattr is not None:
-        if mathsizeattr == u"normal":
-            node.mathsize = node.parseLength(node.defaults[u"mathsize"])
-        elif mathsizeattr == u"big":
-            node.mathsize = node.parseLength(node.defaults[u"mathsize"]) * 1.41
-        elif mathsizeattr == u"small":
-            node.mathsize = node.parseLength(node.defaults[u"mathsize"]) / 1.41
+        if mathsizeattr == "normal":
+            node.mathsize = node.parseLength(node.defaults["mathsize"])
+        elif mathsizeattr == "big":
+            node.mathsize = node.parseLength(node.defaults["mathsize"]) * 1.41
+        elif mathsizeattr == "small":
+            node.mathsize = node.parseLength(node.defaults["mathsize"]) / 1.41
         else:
             mathsize = node.parseLengthOrPercent(mathsizeattr, node.mathsize)
             if mathsize > 0: 
@@ -203,13 +203,13 @@
 
     node.fontSize = node.mathsize
     if node.scriptlevel > 0:
-        scriptsizemultiplier = node.parseFloat(node.defaults.get(u"scriptsizemultiplier"))
+        scriptsizemultiplier = node.parseFloat(node.defaults.get("scriptsizemultiplier"))
         if scriptsizemultiplier <= 0:
             node.error("Bad inherited value of 'scriptsizemultiplier' attribute: "+str(mathsizeattr)+"; using default value")
-        scriptsizemultiplier = node.parseFloat(mathnode.globalDefaults.get(u"scriptsizemultiplier"))
+        scriptsizemultiplier = node.parseFloat(mathnode.globalDefaults.get("scriptsizemultiplier"))
         node.fontSize *= scriptsizemultiplier ** node.scriptlevel 
 
-    fontsizeattr = node.attributes.get(u"fontsize")
+    fontsizeRefactoringTool: No changes to ../python3/svgmath/__init__.py
RefactoringTool: No changes to ../python3/setup.py
RefactoringTool: Refactored ../python3/math2svg.py
RefactoringTool: Files that were modified:
RefactoringTool: ../python3/svgmath/tools/saxtools.py
RefactoringTool: ../python3/svgmath/tools/__init__.py
RefactoringTool: ../python3/svgmath/tables.py
RefactoringTool: ../python3/svgmath/operators.py
RefactoringTool: ../python3/svgmath/nodelocator.py
RefactoringTool: ../python3/svgmath/measurers.py
RefactoringTool: ../python3/svgmath/mathnode.py
RefactoringTool: ../python3/svgmath/mathhandler.py
RefactoringTool: ../python3/svgmath/mathconfig.py
RefactoringTool: ../python3/svgmath/generators.py
RefactoringTool: ../python3/svgmath/fonts/ttf.py
RefactoringTool: ../python3/svgmath/fonts/metric.py
RefactoringTool: ../python3/svgmath/fonts/glyphlist.py
RefactoringTool: ../python3/svgmath/fonts/afm.py
RefactoringTool: ../python3/svgmath/fonts/__init__.py
RefactoringTool: ../python3/svgmath/enclosures.py
RefactoringTool: ../python3/svgmath/contextmakers.py
RefactoringTool: ../python3/svgmath/__init__.py
RefactoringTool: ../python3/setup.py
RefactoringTool: ../python3/math2svg.py
RefactoringTool: Warnings/messages while refactoring:
RefactoringTool: ### In file ../python3/svgmath/tables.py ###
RefactoringTool: Line 4: absolute and local imports together
RefactoringTool: ### In file ../python3/svgmath/measurers.py ###
RefactoringTool: Line 2: absolute and local imports together
RefactoringTool: ### In file ../python3/svgmath/mathnode.py ###
RefactoringTool: Line 3: absolute and local imports together
RefactoringTool: ### In file ../python3/svgmath/generators.py ###
RefactoringTool: Line 2: absolute and local imports together
RefactoringTool: ### In file ../python3/svgmath/fonts/afm.py ###
RefactoringTool: Line 1: absolute and local imports together
RefactoringTool: ### In file ../python3/svgmath/enclosures.py ###
RefactoringTool: Line 2: absolute and local imports together
RefactoringTool: ### In file ../python3/svgmath/contextmakers.py ###
RefactoringTool: Line 7: absolute and local imports together
attr = node.attributes.get("fontsize")
     if fontsizeattr is not None and mathsizeattr is None:
         fontSizeOverride = node.parseLengthOrPercent(fontsizeattr, node.fontSize)            
         if fontSizeOverride > 0:
@@ -218,7 +218,7 @@
         else:
             node.error("Value of attribute 'fontsize' ignored - not a positive length: "+str(fontsizeattr))
 
-    scriptminsize = node.parseLength(node.defaults.get(u"scriptminsize"))
+    scriptminsize = node.parseLength(node.defaults.get("scriptminsize"))
     node.fontSize = max(node.fontSize, scriptminsize)
     node.originalFontSize = node.fontSize # save a copy - font size may change in scaling
 
@@ -251,19 +251,19 @@
     
 def child_context_munder (node, child): 
     if child.nodeIndex == 1:
-        makeLimitContext(node, child, u"accentunder")
+        makeLimitContext(node, child, "accentunder")
 
 
 def child_context_mover (node, child): 
     if child.nodeIndex == 1:
-        makeLimitContext(node, child, u"accent")
+        makeLimitContext(node, child, "accent")
 
 
 def child_context_munderover (node, child): 
     if child.nodeIndex == 1:
-        makeLimitContext(node, child, u"accentunder")
+        makeLimitContext(node, child, "accentunder")
     if child.nodeIndex == 2:
-        makeLimitContext(node, child, u"accent")
+        makeLimitContext(node, child, "accent")
 
 
 def makeScriptContext (child):
@@ -279,15 +279,15 @@
 
     accentValue = node.getProperty(accentProperty)
     if accentValue is None:
-        embellishments = [u"msub", u"msup", u"msubsup", 
-                          u"munder", u"mover", u"munderover", u"mmultiscripts"]
+        embellishments = ["msub", "msup", "msubsup", 
+                          "munder", "mover", "munderover", "mmultiscripts"]
         def getAccentValue(ch):
-            if ch.elementName == u"mo":
-                return ch.opdefaults.get(u"accent")
+            if ch.elementName == "mo":
+                return ch.opdefaults.get("accent")
             elif ch.elementName in embellishments and len(ch.children) > 0:
                 return getAccentValue(ch.children[0])
-            else: return u"false"    
+            else: return "false"    
         accentValue  = getAccentValue(child)
-    child.accent = (accentValue == u"true")
+    child.accent = (accentValue == "true")
     if not child.accent: 
         child.scriptlevel += 1
--- ../python3/math2svg.py	(original)
+++ ../python3/math2svg.py	(refactored)
@@ -12,8 +12,8 @@
 
 def open_or_die(fname, fmode, role):        
     try: return open(fname, fmode)
-    except IOError, xcpt: 
-        print "Cannot open %s file '%s': %s" % (role, fname, str(xcpt))
+    except IOError as xcpt: 
+        print("Cannot open %s file '%s': %s" % (role, fname, str(xcpt)))
         sys.exit(1)
 
 def usage():
@@ -108,8 +108,8 @@
         parser.setFeature(sax.handler.feature_namespaces, 1)
         parser.setContentHandler(handler)
         parser.parse(source)
-    except sax.SAXException, xcpt:
-        print "Error parsing input file %s: %s" % (args[0], xcpt.getMessage())
+    except sax.SAXException as xcpt:
+        print("Error parsing input file %s: %s" % (args[0], xcpt.getMessage()))
         exitcode = 1
     source.close()
     if outputfile is not None:
+ exit 0
Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.58128
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd SVGMath-0.3.3
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export FFLAGS
+ /usr/bin/python2.7 setup.py build
running build
running build_py
creating build
creating build/lib
creating build/lib/svgmath
copying svgmath/tables.py -> build/lib/svgmath
copying svgmath/operators.py -> build/lib/svgmath
copying svgmath/nodelocator.py -> build/lib/svgmath
copying svgmath/measurers.py -> build/lib/svgmath
copying svgmath/mathnode.py -> build/lib/svgmath
copying svgmath/mathhandler.py -> build/lib/svgmath
copying svgmath/mathconfig.py -> build/lib/svgmath
copying svgmath/generators.py -> build/lib/svgmath
copying svgmath/enclosures.py -> build/lib/svgmath
copying svgmath/contextmakers.py -> build/lib/svgmath
copying svgmath/__init__.py -> build/lib/svgmath
creating build/lib/svgmath/fonts
copying svgmath/fonts/ttf.py -> build/lib/svgmath/fonts
copying svgmath/fonts/metric.py -> build/lib/svgmath/fonts
copying svgmath/fonts/glyphlist.py -> build/lib/svgmath/fonts
copying svgmath/fonts/afm.py -> build/lib/svgmath/fonts
copying svgmath/fonts/__init__.py -> build/lib/svgmath/fonts
creating build/lib/svgmath/tools
copying svgmath/tools/saxtools.py -> build/lib/svgmath/tools
copying svgmath/tools/__init__.py -> build/lib/svgmath/tools
copying svgmath/fonts/default.glyphs -> build/lib/svgmath/fonts
+ pushd ../python3
~/RPM/BUILD/python3 ~/RPM/BUILD/SVGMath-0.3.3
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export FFLAGS
+ /usr/bin/python3 setup.py build
running build
running build_py
creating build
creating build/lib
creating build/lib/svgmath
copying svgmath/tables.py -> build/lib/svgmath
copying svgmath/operators.py -> build/lib/svgmath
copying svgmath/nodelocator.py -> build/lib/svgmath
copying svgmath/measurers.py -> build/lib/svgmath
copying svgmath/mathnode.py -> build/lib/svgmath
copying svgmath/mathhandler.py -> build/lib/svgmath
copying svgmath/mathconfig.py -> build/lib/svgmath
copying svgmath/generators.py -> build/lib/svgmath
copying svgmath/enclosures.py -> build/lib/svgmath
copying svgmath/contextmakers.py -> build/lib/svgmath
copying svgmath/__init__.py -> build/lib/svgmath
creating build/lib/svgmath/fonts
copying svgmath/fonts/ttf.py -> build/lib/svgmath/fonts
copying svgmath/fonts/metric.py -> build/lib/svgmath/fonts
copying svgmath/fonts/glyphlist.py -> build/lib/svgmath/fonts
copying svgmath/fonts/afm.py -> build/lib/svgmath/fonts
copying svgmath/fonts/__init__.py -> build/lib/svgmath/fonts
creating build/lib/svgmath/tools
copying svgmath/tools/saxtools.py -> build/lib/svgmath/tools
copying svgmath/tools/__init__.py -> build/lib/svgmath/tools
copying svgmath/fonts/default.glyphs -> build/lib/svgmath/fonts
+ popd
~/RPM/BUILD/SVGMath-0.3.3
+ exit 0
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.58128
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/python-module-SVGMath-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/python-module-SVGMath-buildroot
+ PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games
+ cd SVGMath-0.3.3
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export FFLAGS
+ /usr/bin/python2.7 setup.py install --skip-build --root=/usr/src/tmp/python-module-SVGMath-buildroot --force
running install
running install_lib
creating /usr/src/tmp/python-module-SVGMath-buildroot
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools
copying build/lib/svgmath/tools/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools
copying build/lib/svgmath/tools/saxtools.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/default.glyphs -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/afm.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/glyphlist.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/metric.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/ttf.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts
copying build/lib/svgmath/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
copying build/lib/svgmath/contextmakers.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
copying build/lib/svgmath/enclosures.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
copying build/lib/svgmath/generators.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
copying build/lib/svgmath/mathconfig.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
copying build/lib/svgmath/mathhandler.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
copying build/lib/svgmath/mathnode.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
copying build/lib/svgmath/measurers.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
copying build/lib/svgmath/nodelocator.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
copying build/lib/svgmath/operators.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
copying build/lib/svgmath/tables.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/__init__.py to __init__.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/saxtools.py to saxtools.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/__init__.py to __init__.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py to afm.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.py to glyphlist.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/metric.py to metric.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.py to ttf.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/__init__.py to __init__.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py to contextmakers.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.py to enclosures.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.py to generators.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py to mathconfig.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py to mathhandler.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py to mathnode.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py to measurers.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/nodelocator.py to nodelocator.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/operators.py to operators.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.py to tables.pyc
running install_egg_info
Writing /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/SVGMath-0.3.3-py2.7.egg-info
+ pushd ../python3
~/RPM/BUILD/python3 ~/RPM/BUILD/SVGMath-0.3.3
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export FFLAGS
+ /usr/bin/python3 setup.py install --skip-build --root=/usr/src/tmp/python-module-SVGMath-buildroot --force
running install
running install_lib
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools
copying build/lib/svgmath/tools/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools
copying build/lib/svgmath/tools/saxtools.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools
creating /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/default.glyphs -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/afm.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/glyphlist.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/metric.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts
copying build/lib/svgmath/fonts/ttf.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts
copying build/lib/svgmath/__init__.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
copying build/lib/svgmath/contextmakers.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
copying build/lib/svgmath/enclosures.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
copying build/lib/svgmath/generators.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
copying build/lib/svgmath/mathconfig.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
copying build/lib/svgmath/mathhandler.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
copying build/lib/svgmath/mathnode.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
copying build/lib/svgmath/measurers.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
copying build/lib/svgmath/nodelocator.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
copying build/lib/svgmath/operators.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
copying build/lib/svgmath/tables.py -> /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__init__.py to __init__.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/saxtools.py to saxtools.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__init__.py to __init__.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py to afm.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/glyphlist.py to glyphlist.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/metric.py to metric.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py to ttf.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__init__.py to __init__.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/contextmakers.py to contextmakers.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/enclosures.py to enclosures.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/generators.py to generators.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py to mathconfig.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py to mathhandler.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py to mathnode.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/measurers.py to measurers.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/nodelocator.py to nodelocator.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/operators.py to operators.cpython-37.pyc
byte-compiling /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tables.py to tables.cpython-37.pyc
running install_egg_info
Writing /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/SVGMath-0.3.3-py3.7.egg-info
+ popd
~/RPM/BUILD/SVGMath-0.3.3
+ /usr/lib/rpm/brp-alt
Cleaning files in /usr/src/tmp/python-module-SVGMath-buildroot (auto)
Verifying and fixing files in /usr/src/tmp/python-module-SVGMath-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig)
Checking contents of files in /usr/src/tmp/python-module-SVGMath-buildroot/ (default)
Compressing files in /usr/src/tmp/python-module-SVGMath-buildroot (auto)
Adjusting library links in /usr/src/tmp/python-module-SVGMath-buildroot
./usr/lib:
Verifying ELF objects in /usr/src/tmp/python-module-SVGMath-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
Bytecompiling python modules in /usr/src/tmp/python-module-SVGMath-buildroot using /usr/bin/python2.7
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/__init__.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/metric.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.pyc
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/metric.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.py
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/__init__.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/saxtools.pyc
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/saxtools.py
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/__init__.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/nodelocator.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/operators.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.pyc
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/nodelocator.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/operators.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.py
Bytecompiling python modules with optimization in /usr/src/tmp/python-module-SVGMath-buildroot using /usr/bin/python2.7 -O
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/metric.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tools/saxtools.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/nodelocator.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/operators.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.py
Bytecompiling python3 modules in /usr/src/tmp/python-module-SVGMath-buildroot using /usr/bin/python3
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.pyc
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/glyphlist.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/metric.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.pyc
unlink /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.pyc
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/saxtools.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/contextmakers.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/enclosures.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/generators.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/measurers.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/nodelocator.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/operators.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tables.py
Bytecompiling python3 modules with optimization in /usr/src/tmp/python-module-SVGMath-buildroot using /usr/bin/python3 -O
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/glyphlist.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/metric.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/saxtools.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/contextmakers.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/enclosures.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/generators.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/measurers.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/nodelocator.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/operators.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tables.py
Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python-module-SVGMath-buildroot using /usr/bin/python3 -OO
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/glyphlist.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/metric.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tools/saxtools.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/__init__.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/contextmakers.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/enclosures.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/generators.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/measurers.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/nodelocator.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/operators.py
compile /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tables.py
Hardlinking identical .pyc and .opt-?.pyc files
'./usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-1.pyc'
'./usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-1.pyc'
'./usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-1.pyc'
'./usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-1.pyc'
'./usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-1.pyc'
'./usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-1.pyc'
'./usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.pyc'
'./usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-1.pyc'
Hardlinking identical .pyc and .pyo files
'./usr/lib/python2.7/site-packages/svgmath/tables.pyo' => './usr/lib/python2.7/site-packages/svgmath/tables.pyc'
'./usr/lib/python2.7/site-packages/svgmath/operators.pyo' => './usr/lib/python2.7/site-packages/svgmath/operators.pyc'
'./usr/lib/python2.7/site-packages/svgmath/nodelocator.pyo' => './usr/lib/python2.7/site-packages/svgmath/nodelocator.pyc'
'./usr/lib/python2.7/site-packages/svgmath/measurers.pyo' => './usr/lib/python2.7/site-packages/svgmath/measurers.pyc'
'./usr/lib/python2.7/site-packages/svgmath/mathnode.pyo' => './usr/lib/python2.7/site-packages/svgmath/mathnode.pyc'
'./usr/lib/python2.7/site-packages/svgmath/mathhandler.pyo' => './usr/lib/python2.7/site-packages/svgmath/mathhandler.pyc'
'./usr/lib/python2.7/site-packages/svgmath/mathconfig.pyo' => './usr/lib/python2.7/site-packages/svgmath/mathconfig.pyc'
'./usr/lib/python2.7/site-packages/svgmath/generators.pyo' => './usr/lib/python2.7/site-packages/svgmath/generators.pyc'
'./usr/lib/python2.7/site-packages/svgmath/enclosures.pyo' => './usr/lib/python2.7/site-packages/svgmath/enclosures.pyc'
'./usr/lib/python2.7/site-packages/svgmath/contextmakers.pyo' => './usr/lib/python2.7/site-packages/svgmath/contextmakers.pyc'
'./usr/lib/python2.7/site-packages/svgmath/__init__.pyo' => './usr/lib/python2.7/site-packages/svgmath/__init__.pyc'
'./usr/lib/python2.7/site-packages/svgmath/fonts/ttf.pyo' => './usr/lib/python2.7/site-packages/svgmath/fonts/ttf.pyc'
'./usr/lib/python2.7/site-packages/svgmath/fonts/metric.pyo' => './usr/lib/python2.7/site-packages/svgmath/fonts/metric.pyc'
'./usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.pyo' => './usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.pyc'
'./usr/lib/python2.7/site-packages/svgmath/fonts/afm.pyo' => './usr/lib/python2.7/site-packages/svgmath/fonts/afm.pyc'
'./usr/lib/python2.7/site-packages/svgmath/fonts/__init__.pyo' => './usr/lib/python2.7/site-packages/svgmath/fonts/__init__.pyc'
'./usr/lib/python2.7/site-packages/svgmath/tools/saxtools.pyo' => './usr/lib/python2.7/site-packages/svgmath/tools/saxtools.pyc'
'./usr/lib/python2.7/site-packages/svgmath/tools/__init__.pyo' => './usr/lib/python2.7/site-packages/svgmath/tools/__init__.pyc'
Processing files: python-module-SVGMath-0.3.3-alt3.2.2
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.25873
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd SVGMath-0.3.3
+ DOCDIR=/usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3
+ export DOCDIR
+ rm -rf /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3
+ /bin/mkdir -p /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3
+ cp -prL README.txt LICENSE.txt doc/configuration.txt doc/mathml-coverage.txt doc/release-notes.txt doc/usage.txt /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3
+ chmod -R go-w /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3
+ chmod -R a+rX /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python-module-SVGMath-0.3.3
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.pcVzFM
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.FBzOXl
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/contextmakers.py: hiding operators, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/enclosures.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py: hiding glyphlist, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/afm.py: hiding metric, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/glyphlist.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/fonts/ttf.py: hiding metric, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/generators.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py: hiding fonts, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py: hiding fonts, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathconfig.py: hiding fonts, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py: hiding mathconfig, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathhandler.py: hiding nodelocator, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py: hiding contextmakers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py: hiding measurers, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py: hiding generators, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/mathnode.py: hiding nodelocator, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py: hiding operators, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py: hiding tables, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/measurers.py: hiding enclosures, which SEEMS TO BE SELF-SATISFIED
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/nodelocator.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/operators.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.py: skipping sys
python.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python2.7/site-packages/svgmath/tables.py: hiding mathnode, which SEEMS TO BE SELF-SATISFIED
Provides: python2.7-module-SVGMath = 0.3.3-alt3.2.2, python2.7(svgmath), python2.7(svgmath.contextmakers), python2.7(svgmath.enclosures), python2.7(svgmath.fonts), python2.7(svgmath.fonts.afm), python2.7(svgmath.fonts.glyphlist), python2.7(svgmath.fonts.metric), python2.7(svgmath.fonts.ttf), python2.7(svgmath.generators), python2.7(svgmath.mathconfig), python2.7(svgmath.mathhandler), python2.7(svgmath.mathnode), python2.7(svgmath.measurers), python2.7(svgmath.nodelocator), python2.7(svgmath.operators), python2.7(svgmath.tables), python2.7(svgmath.tools), python2.7(svgmath.tools.saxtools)
Requires: python = 2.7, /usr/lib/python2.7/site-packages, python-modules, python2.7(xml)
Processing files: python3-module-SVGMath-0.3.3-alt3.2.2
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.68250
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd SVGMath-0.3.3
+ DOCDIR=/usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3
+ export DOCDIR
+ rm -rf /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3
+ /bin/mkdir -p /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3
+ cp -prL README.txt LICENSE.txt doc/configuration.txt doc/mathml-coverage.txt doc/release-notes.txt doc/usage.txt /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3
+ chmod -R go-w /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3
+ chmod -R a+rX /usr/src/tmp/python-module-SVGMath-buildroot/usr/share/doc/python3-module-SVGMath-0.3.3
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.Xr08tZ
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.vS1xIG
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/contextmakers.py: skipping sys
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/enclosures.py: skipping sys
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/afm.py: line=2 possible relative import from ., UNIMPLEMENTED
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/glyphlist.py: skipping sys
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/fonts/ttf.py: line=2 possible relative import from ., UNIMPLEMENTED
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/generators.py: skipping sys
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py: line=5 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py: line=6 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathconfig.py: line=7 possible relative import from ., UNIMPLEMENTED
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py: line=5 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py: line=6 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathhandler.py: line=7 possible relative import from ., UNIMPLEMENTED
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/mathnode.py: line=5 possible relative import from ., UNIMPLEMENTED
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/measurers.py: skipping sys
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/nodelocator.py: skipping sys
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/operators.py: skipping sys
python3.req: /usr/src/tmp/python-module-SVGMath-buildroot/usr/lib/python3/site-packages/svgmath/tables.py: skipping sys
Provides: python3(svgmath), python3(svgmath.contextmakers), python3(svgmath.enclosures), python3(svgmath.fonts), python3(svgmath.fonts.afm), python3(svgmath.fonts.glyphlist), python3(svgmath.fonts.metric), python3(svgmath.fonts.ttf), python3(svgmath.generators), python3(svgmath.mathconfig), python3(svgmath.mathhandler), python3(svgmath.mathnode), python3(svgmath.measurers), python3(svgmath.nodelocator), python3(svgmath.operators), python3(svgmath.tables), python3(svgmath.tools), python3(svgmath.tools.saxtools)
Requires: /usr/lib/python3/site-packages, python3(codecs) < 0, python3(math) < 0, python3(os) < 0, python3(xml) < 0, python3(xml.sax) < 0
Wrote: /usr/src/RPM/RPMS/noarch/python-module-SVGMath-0.3.3-alt3.2.2.noarch.rpm (w2.lzdio)
Wrote: /usr/src/RPM/RPMS/noarch/python3-module-SVGMath-0.3.3-alt3.2.2.noarch.rpm (w2.lzdio)
6.58user 0.85system 0:10.54elapsed 70%CPU (0avgtext+0avgdata 60664maxresident)k
0inputs+0outputs (0major+325777minor)pagefaults 0swaps
2.73user 1.40system 0:18.70elapsed 22%CPU (0avgtext+0avgdata 120456maxresident)k
0inputs+0outputs (0major+322600minor)pagefaults 0swaps
--- python-module-SVGMath-0.3.3-alt3.2.2.noarch.rpm.repo	2018-05-22 16:35:55.000000000 +0000
+++ python-module-SVGMath-0.3.3-alt3.2.2.noarch.rpm.hasher	2023-06-04 09:24:17.793190901 +0000
@@ -97,4 +97,4 @@
 File: /usr/lib/python2.7/site-packages/svgmath/contextmakers.py	100644	root:root	e61ddab4775ce5e2f11e95335f629b0e	
-File: /usr/lib/python2.7/site-packages/svgmath/contextmakers.pyc	100644	root:root	555975a7e9dd882f97d31ee9edc76238	
-File: /usr/lib/python2.7/site-packages/svgmath/contextmakers.pyo	100644	root:root	555975a7e9dd882f97d31ee9edc76238	
+File: /usr/lib/python2.7/site-packages/svgmath/contextmakers.pyc	100644	root:root	2b1d9e7fe4b6b61117887a9feb183606	
+File: /usr/lib/python2.7/site-packages/svgmath/contextmakers.pyo	100644	root:root	2b1d9e7fe4b6b61117887a9feb183606	
 File: /usr/lib/python2.7/site-packages/svgmath/enclosures.py	100644	root:root	e28061083bf76516d9ed2d4a2b307ec5	
@@ -104,7 +104,7 @@
 File: /usr/lib/python2.7/site-packages/svgmath/fonts/__init__.py	100644	root:root	c6cdef564ae3369c6ef86a31ff973f1b	
-File: /usr/lib/python2.7/site-packages/svgmath/fonts/__init__.pyc	100644	root:root	edfdc9b8bb9481aa9a1785fc4b413edb	
-File: /usr/lib/python2.7/site-packages/svgmath/fonts/__init__.pyo	100644	root:root	edfdc9b8bb9481aa9a1785fc4b413edb	
+File: /usr/lib/python2.7/site-packages/svgmath/fonts/__init__.pyc	100644	root:root	099049860d03aa98800b04e3eb97f60e	
+File: /usr/lib/python2.7/site-packages/svgmath/fonts/__init__.pyo	100644	root:root	099049860d03aa98800b04e3eb97f60e	
 File: /usr/lib/python2.7/site-packages/svgmath/fonts/afm.py	100644	root:root	951a5b178d0e7ed21e0fe4e09ff16f67	
-File: /usr/lib/python2.7/site-packages/svgmath/fonts/afm.pyc	100644	root:root	aa306047c742178ed2897a157852e094	
-File: /usr/lib/python2.7/site-packages/svgmath/fonts/afm.pyo	100644	root:root	aa306047c742178ed2897a157852e094	
+File: /usr/lib/python2.7/site-packages/svgmath/fonts/afm.pyc	100644	root:root	f69c416d579474c331b28418fd60eb79	
+File: /usr/lib/python2.7/site-packages/svgmath/fonts/afm.pyo	100644	root:root	f69c416d579474c331b28418fd60eb79	
 File: /usr/lib/python2.7/site-packages/svgmath/fonts/default.glyphs	100644	root:root	3fc00bc05ee63c29897d23e0e2b68614	
@@ -114,4 +114,4 @@
 File: /usr/lib/python2.7/site-packages/svgmath/fonts/metric.py	100644	root:root	ff8207032a42a2b3f83b46bcf7470e3f	
-File: /usr/lib/python2.7/site-packages/svgmath/fonts/metric.pyc	100644	root:root	037eff33cb3780a81f6c4d6073dadec8	
-File: /usr/lib/python2.7/site-packages/svgmath/fonts/metric.pyo	100644	root:root	037eff33cb3780a81f6c4d6073dadec8	
+File: /usr/lib/python2.7/site-packages/svgmath/fonts/metric.pyc	100644	root:root	187079cab21cc2e69806ce9b59b78181	
+File: /usr/lib/python2.7/site-packages/svgmath/fonts/metric.pyo	100644	root:root	187079cab21cc2e69806ce9b59b78181	
 File: /usr/lib/python2.7/site-packages/svgmath/fonts/ttf.py	100644	root:root	4d2f5040a6eb0b1cf996159a232e3398	
@@ -120,4 +120,4 @@
 File: /usr/lib/python2.7/site-packages/svgmath/generators.py	100644	root:root	79ef2e4d1e44e552bdedaf69e376895d	
-File: /usr/lib/python2.7/site-packages/svgmath/generators.pyc	100644	root:root	e77745c54b85aa5ef386f2afcd879520	
-File: /usr/lib/python2.7/site-packages/svgmath/generators.pyo	100644	root:root	e77745c54b85aa5ef386f2afcd879520	
+File: /usr/lib/python2.7/site-packages/svgmath/generators.pyc	100644	root:root	a2bb28f85df515b8529ac5dff0372c00	
+File: /usr/lib/python2.7/site-packages/svgmath/generators.pyo	100644	root:root	a2bb28f85df515b8529ac5dff0372c00	
 File: /usr/lib/python2.7/site-packages/svgmath/mathconfig.py	100644	root:root	487bf4c3c0e1d6f3b668942c1881fe39	
@@ -132,4 +132,4 @@
 File: /usr/lib/python2.7/site-packages/svgmath/measurers.py	100644	root:root	5bfb417c48f77239f46ee8cff89dad9e	
-File: /usr/lib/python2.7/site-packages/svgmath/measurers.pyc	100644	root:root	3e364dc06cd2d70a7a38186d876dbb3b	
-File: /usr/lib/python2.7/site-packages/svgmath/measurers.pyo	100644	root:root	3e364dc06cd2d70a7a38186d876dbb3b	
+File: /usr/lib/python2.7/site-packages/svgmath/measurers.pyc	100644	root:root	a85fc02cde64b6bc24bc08731be21ae5	
+File: /usr/lib/python2.7/site-packages/svgmath/measurers.pyo	100644	root:root	a85fc02cde64b6bc24bc08731be21ae5	
 File: /usr/lib/python2.7/site-packages/svgmath/nodelocator.py	100644	root:root	2360eb9235c1ae21cd25acea37c5e991	
@@ -145,4 +145,4 @@
 File: /usr/lib/python2.7/site-packages/svgmath/tools/__init__.py	100644	root:root	e3038ead13b439093888e56ea759dbb9	
-File: /usr/lib/python2.7/site-packages/svgmath/tools/__init__.pyc	100644	root:root	800d242f8e9801a927d22c1912fcfbb5	
-File: /usr/lib/python2.7/site-packages/svgmath/tools/__init__.pyo	100644	root:root	800d242f8e9801a927d22c1912fcfbb5	
+File: /usr/lib/python2.7/site-packages/svgmath/tools/__init__.pyc	100644	root:root	8813d46f1bff001237278c805e397d45	
+File: /usr/lib/python2.7/site-packages/svgmath/tools/__init__.pyo	100644	root:root	8813d46f1bff001237278c805e397d45	
 File: /usr/lib/python2.7/site-packages/svgmath/tools/saxtools.py	100644	root:root	ca319a9bff52c371f5ea2ba69f35424e	
@@ -157,2 +157,2 @@
 File: /usr/share/doc/python-module-SVGMath-0.3.3/usage.txt	100755	root:root	825128b6e952eeba78c8e56910e9be76	
-RPMIdentity: c8da576d96f40f05e491955c41f53286f86bb34fb0c27f553321bbb80f72ca9136aa75f9c6ec4c3f4c9b996ff05e16460e39eb59a0ade1ed0fc0b143eeebd6e8
+RPMIdentity: 3c244fc3816a45a865998789a31ef330b4057a303acba81e8e5d856707c9e608b82759f662c90d08603df429b455a4fb05c333a745e2544b9c2536da29d692f0
--- python3-module-SVGMath-0.3.3-alt3.2.2.noarch.rpm.repo	2018-05-22 16:35:55.000000000 +0000
+++ python3-module-SVGMath-0.3.3-alt3.2.2.noarch.rpm.hasher	2023-06-04 09:24:17.861191719 +0000
@@ -1,2 +1,2 @@
-/usr/lib/python3/site-packages/SVGMath-0.3.3-py3.6.egg-info	100644	root:root	
+/usr/lib/python3/site-packages/SVGMath-0.3.3-py3.7.egg-info	100644	root:root	
 /usr/lib/python3/site-packages/svgmath	40755	root:root	
@@ -4,35 +4,35 @@
 /usr/lib/python3/site-packages/svgmath/__pycache__	40755	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-36.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.pyc	100644	root:root	
 /usr/lib/python3/site-packages/svgmath/contextmakers.py	100644	root:root	
@@ -42,17 +42,17 @@
 /usr/lib/python3/site-packages/svgmath/fonts/__pycache__	40755	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-36.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.pyc	100644	root:root	
 /usr/lib/python3/site-packages/svgmath/fonts/afm.py	100644	root:root	
@@ -73,8 +73,8 @@
 /usr/lib/python3/site-packages/svgmath/tools/__pycache__	40755	root:root	
-/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-36.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-36.opt-1.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-36.opt-2.pyc	100644	root:root	
-/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-36.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.opt-1.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.opt-2.pyc	100644	root:root	
+/usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.pyc	100644	root:root	
 /usr/lib/python3/site-packages/svgmath/tools/saxtools.py	100644	root:root	
@@ -113,3 +113,3 @@
 Provides: python3-module-SVGMath = 0.3.3-alt3.2.2
-File: /usr/lib/python3/site-packages/SVGMath-0.3.3-py3.6.egg-info	100644	root:root	23ba2f3856fa8cfcb11dcc7c377b3b1b	
+File: /usr/lib/python3/site-packages/SVGMath-0.3.3-py3.7.egg-info	100644	root:root	23ba2f3856fa8cfcb11dcc7c377b3b1b	
 File: /usr/lib/python3/site-packages/svgmath	40755	root:root		
@@ -117,35 +117,35 @@
 File: /usr/lib/python3/site-packages/svgmath/__pycache__	40755	root:root		
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-36.opt-1.pyc	100644	root:root	996b84f4a57af2787894caa1481f2979	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-36.opt-2.pyc	100644	root:root	996b84f4a57af2787894caa1481f2979	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-36.pyc	100644	root:root	996b84f4a57af2787894caa1481f2979	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-36.opt-1.pyc	100644	root:root	59433bdd2b044a6adb41d42a3b074ccd	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-36.opt-2.pyc	100644	root:root	d766ed855ea65aacc5013239ff947a09	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-36.pyc	100644	root:root	59433bdd2b044a6adb41d42a3b074ccd	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-36.opt-1.pyc	100644	root:root	e35b6919caa6da1e72f6292a201c401f	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-36.opt-2.pyc	100644	root:root	b9b026fb74d39672a5f33f747f1d778b	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-36.pyc	100644	root:root	e35b6919caa6da1e72f6292a201c401f	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-36.opt-1.pyc	100644	root:root	51c2e0f7b82d744c9088e32346122500	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-36.opt-2.pyc	100644	root:root	72129b108c816be5a32d25ad0b7fa379	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-36.pyc	100644	root:root	51c2e0f7b82d744c9088e32346122500	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-36.opt-1.pyc	100644	root:root	934a64c5a096f0e851b08b74d1fc131a	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-36.opt-2.pyc	100644	root:root	ee88aa0615863916e13562e82aeb2188	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-36.pyc	100644	root:root	934a64c5a096f0e851b08b74d1fc131a	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-36.opt-1.pyc	100644	root:root	1fb15fbebb45ccfc09206dc0cb3c80be	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-36.opt-2.pyc	100644	root:root	bf51471128e4656096ec4769001bc285	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-36.pyc	100644	root:root	1fb15fbebb45ccfc09206dc0cb3c80be	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-36.opt-1.pyc	100644	root:root	8d162809cdab759d2d464ea08c18ebf6	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-36.opt-2.pyc	100644	root:root	79b5c0476e2c5d235e3a6a72c9178927	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-36.pyc	100644	root:root	8d162809cdab759d2d464ea08c18ebf6	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-36.opt-1.pyc	100644	root:root	6453a75821430155b839efd98dab6489	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-36.opt-2.pyc	100644	root:root	651ec3b5163f8f58c51c5e8161ae763b	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-36.pyc	100644	root:root	6453a75821430155b839efd98dab6489	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-36.opt-1.pyc	100644	root:root	c74e1231a34fcaea0137d4f4c6ea2815	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-36.opt-2.pyc	100644	root:root	2535f86f63ef8688d26db79086bf7df8	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-36.pyc	100644	root:root	c74e1231a34fcaea0137d4f4c6ea2815	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-36.opt-1.pyc	100644	root:root	d28fdc5ad6876438fc3096a1f5ee55e4	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-36.opt-2.pyc	100644	root:root	e7719bfbb960f430f09ed0a9ef6ffed7	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-36.pyc	100644	root:root	d28fdc5ad6876438fc3096a1f5ee55e4	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-36.opt-1.pyc	100644	root:root	890a34b8b8b3ad65e441bd9a81f67945	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-36.opt-2.pyc	100644	root:root	e7e210f60073ef0088484a18ccc5a263	
-File: /usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-36.pyc	100644	root:root	890a34b8b8b3ad65e441bd9a81f67945	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-1.pyc	100644	root:root	fa420289853b2b44863bbf92773ef153	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.opt-2.pyc	100644	root:root	fa420289853b2b44863bbf92773ef153	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/__init__.cpython-37.pyc	100644	root:root	fa420289853b2b44863bbf92773ef153	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.opt-1.pyc	100644	root:root	1c313ff052626da555f0704b24e10ac1	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.opt-2.pyc	100644	root:root	2168db2ab669e354167bd2d0c6a0fece	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/contextmakers.cpython-37.pyc	100644	root:root	1c313ff052626da555f0704b24e10ac1	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.opt-1.pyc	100644	root:root	28b00f4d6fa31569b65f08e4f861aab5	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.opt-2.pyc	100644	root:root	e84713697e7059dcdb1c22bb6e24b010	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/enclosures.cpython-37.pyc	100644	root:root	28b00f4d6fa31569b65f08e4f861aab5	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.opt-1.pyc	100644	root:root	1dd947b898acaa6b6cd01d5a159a16d6	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.opt-2.pyc	100644	root:root	9ce27bbb32bc429bca902a0a4813e0ec	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/generators.cpython-37.pyc	100644	root:root	1dd947b898acaa6b6cd01d5a159a16d6	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.opt-1.pyc	100644	root:root	e90ea69ac0675914fd8c19bcfb19fabc	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.opt-2.pyc	100644	root:root	e7643a229f84fabfbe91305392aa8c71	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathconfig.cpython-37.pyc	100644	root:root	e90ea69ac0675914fd8c19bcfb19fabc	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.opt-1.pyc	100644	root:root	3c1413b927076079c628b11c0a878cad	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.opt-2.pyc	100644	root:root	fcdcfbd5f96fade4a5bf5c5064cca781	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathhandler.cpython-37.pyc	100644	root:root	3c1413b927076079c628b11c0a878cad	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.opt-1.pyc	100644	root:root	2664eab72edd6cb408d843ca69f3c902	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.opt-2.pyc	100644	root:root	000abc1ea8b3e5998e00288e56a4dffd	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/mathnode.cpython-37.pyc	100644	root:root	2664eab72edd6cb408d843ca69f3c902	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.opt-1.pyc	100644	root:root	c8a58aea9cc084263701a2d42605a1b6	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.opt-2.pyc	100644	root:root	d50e38a5f6e65d35b6fd69c97604f011	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/measurers.cpython-37.pyc	100644	root:root	c8a58aea9cc084263701a2d42605a1b6	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.opt-1.pyc	100644	root:root	a585e5f70cbb1e0951e3e43ebbecba4a	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.opt-2.pyc	100644	root:root	ff7010dd579fc7c25d9a01a1189b2084	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/nodelocator.cpython-37.pyc	100644	root:root	a585e5f70cbb1e0951e3e43ebbecba4a	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.opt-1.pyc	100644	root:root	28f8c1ced924ee8382d686143994de31	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.opt-2.pyc	100644	root:root	3d0cc422d2ce5a475e570e87b0472754	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/operators.cpython-37.pyc	100644	root:root	28f8c1ced924ee8382d686143994de31	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.opt-1.pyc	100644	root:root	20ffe52152462013239e09b540db9e06	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.opt-2.pyc	100644	root:root	f37ce41ce96fc51e59e3346106563c55	
+File: /usr/lib/python3/site-packages/svgmath/__pycache__/tables.cpython-37.pyc	100644	root:root	20ffe52152462013239e09b540db9e06	
 File: /usr/lib/python3/site-packages/svgmath/contextmakers.py	100644	root:root	8d00eca44cd29138b1ea3315b09b23ce	
@@ -155,17 +155,17 @@
 File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__	40755	root:root		
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-36.opt-1.pyc	100644	root:root	7a318e094d2bd1a9a043691a52681018	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-36.opt-2.pyc	100644	root:root	7a318e094d2bd1a9a043691a52681018	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-36.pyc	100644	root:root	7a318e094d2bd1a9a043691a52681018	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-36.opt-1.pyc	100644	root:root	f97eea381cfa9886df5857dc2e7eaedc	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-36.opt-2.pyc	100644	root:root	f97eea381cfa9886df5857dc2e7eaedc	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-36.pyc	100644	root:root	f97eea381cfa9886df5857dc2e7eaedc	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-36.opt-1.pyc	100644	root:root	1a4e5576fbe3feed760868b75f6a1515	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-36.opt-2.pyc	100644	root:root	1a4e5576fbe3feed760868b75f6a1515	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-36.pyc	100644	root:root	1a4e5576fbe3feed760868b75f6a1515	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-36.opt-1.pyc	100644	root:root	a59b6c8e2098f174a04ba33800d63128	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-36.opt-2.pyc	100644	root:root	a59b6c8e2098f174a04ba33800d63128	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-36.pyc	100644	root:root	a59b6c8e2098f174a04ba33800d63128	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-36.opt-1.pyc	100644	root:root	ad55a11f084657dddf5c258742645437	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-36.opt-2.pyc	100644	root:root	ad55a11f084657dddf5c258742645437	
-File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-36.pyc	100644	root:root	ad55a11f084657dddf5c258742645437	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-1.pyc	100644	root:root	1f96b969a8b82e01e9802c71fe24f8e1	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.opt-2.pyc	100644	root:root	1f96b969a8b82e01e9802c71fe24f8e1	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/__init__.cpython-37.pyc	100644	root:root	1f96b969a8b82e01e9802c71fe24f8e1	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-1.pyc	100644	root:root	c888879b859b2c777f9677e51789e959	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.opt-2.pyc	100644	root:root	c888879b859b2c777f9677e51789e959	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/afm.cpython-37.pyc	100644	root:root	c888879b859b2c777f9677e51789e959	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-1.pyc	100644	root:root	da3b2a1713cb9133b6c62ba8691184e2	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.opt-2.pyc	100644	root:root	da3b2a1713cb9133b6c62ba8691184e2	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/glyphlist.cpython-37.pyc	100644	root:root	da3b2a1713cb9133b6c62ba8691184e2	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-1.pyc	100644	root:root	39a74cfd47b5b8ee2d14be90e7cd682a	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.opt-2.pyc	100644	root:root	39a74cfd47b5b8ee2d14be90e7cd682a	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/metric.cpython-37.pyc	100644	root:root	39a74cfd47b5b8ee2d14be90e7cd682a	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-1.pyc	100644	root:root	da5daf4d4be7c3b9dd9a50b5af4a078a	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.opt-2.pyc	100644	root:root	da5daf4d4be7c3b9dd9a50b5af4a078a	
+File: /usr/lib/python3/site-packages/svgmath/fonts/__pycache__/ttf.cpython-37.pyc	100644	root:root	da5daf4d4be7c3b9dd9a50b5af4a078a	
 File: /usr/lib/python3/site-packages/svgmath/fonts/afm.py	100644	root:root	672951786a9a5f20b444de6e82880a69	
@@ -186,8 +186,8 @@
 File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__	40755	root:root		
-File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-36.opt-1.pyc	100644	root:root	1e4c52cd603df2a78ff86ad23aa8b0b9	
-File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-36.opt-2.pyc	100644	root:root	1e4c52cd603df2a78ff86ad23aa8b0b9	
-File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-36.pyc	100644	root:root	1e4c52cd603df2a78ff86ad23aa8b0b9	
-File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-36.opt-1.pyc	100644	root:root	13a3164f19a6ebf515d422ba911a2926	
-File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-36.opt-2.pyc	100644	root:root	b7ce0a82e1f216e471f098eae7d42227	
-File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-36.pyc	100644	root:root	13a3164f19a6ebf515d422ba911a2926	
+File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-1.pyc	100644	root:root	b2844392cbdeea52c8399cc5ed88ee4b	
+File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.opt-2.pyc	100644	root:root	b2844392cbdeea52c8399cc5ed88ee4b	
+File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/__init__.cpython-37.pyc	100644	root:root	b2844392cbdeea52c8399cc5ed88ee4b	
+File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.opt-1.pyc	100644	root:root	ce00e06048e762f40da8e9c1ad8c86f0	
+File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.opt-2.pyc	100644	root:root	992d8f88fd540331ffb5aa582fa6294c	
+File: /usr/lib/python3/site-packages/svgmath/tools/__pycache__/saxtools.cpython-37.pyc	100644	root:root	ce00e06048e762f40da8e9c1ad8c86f0	
 File: /usr/lib/python3/site-packages/svgmath/tools/saxtools.py	100644	root:root	bcafe287bfec46e3f119f13cc134d08b	
@@ -200,2 +200,2 @@
 File: /usr/share/doc/python3-module-SVGMath-0.3.3/usage.txt	100755	root:root	825128b6e952eeba78c8e56910e9be76	
-RPMIdentity: 8c80b589b9a704f0145517dd88b9d079431e8322de8e044114793f900ba873474cf2666642992d4dff6ecade9fea93bb514412374e3ddf52b9ba117ceaaeef37
+RPMIdentity: 9b3b5e8588eb2e898cc3ee2b283044283859b91f7cfa3077f280de8f83ff1c48842261b912affbbf17d57d69125cd9d686f46fc1953951b3b68033f259bf3a3f