Merge pull request #186 from kjd/format-code

Format code using `ruff`
diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml
index e214cd2..d8456a1 100644
--- a/.github/workflows/python-package.yml
+++ b/.github/workflows/python-package.yml
@@ -31,7 +31,11 @@
           python-version: ${{ matrix.python-version }}
           allow-prereleases: true
       - name: Install dependencies
-        run: python -m pip install mypy
+        run: python -m pip install ruff mypy
+      - name: Check code style with ruff
+        run: |
+          ruff format --check idna tests
+          ruff check idna tests
       - name: Check types with mypy
         run: mypy --strict idna
 
diff --git a/idna/__init__.py b/idna/__init__.py
index a40eeaf..cfdc030 100644
--- a/idna/__init__.py
+++ b/idna/__init__.py
@@ -1,4 +1,3 @@
-from .package_data import __version__
 from .core import (
     IDNABidiError,
     IDNAError,
@@ -20,8 +19,10 @@
     valid_string_length,
 )
 from .intranges import intranges_contain
+from .package_data import __version__
 
 __all__ = [
+    "__version__",
     "IDNABidiError",
     "IDNAError",
     "InvalidCodepoint",
diff --git a/idna/codec.py b/idna/codec.py
index c855a4d..913abfd 100644
--- a/idna/codec.py
+++ b/idna/codec.py
@@ -1,49 +1,51 @@
-from .core import encode, decode, alabel, ulabel, IDNAError
 import codecs
 import re
-from typing import Any, Tuple, Optional
+from typing import Any, Optional, Tuple
 
-_unicode_dots_re = re.compile('[\u002e\u3002\uff0e\uff61]')
+from .core import IDNAError, alabel, decode, encode, ulabel
+
+_unicode_dots_re = re.compile("[\u002e\u3002\uff0e\uff61]")
+
 
 class Codec(codecs.Codec):
-
-    def encode(self, data: str, errors: str = 'strict') -> Tuple[bytes, int]:
-        if errors != 'strict':
-            raise IDNAError('Unsupported error handling \"{}\"'.format(errors))
+    def encode(self, data: str, errors: str = "strict") -> Tuple[bytes, int]:
+        if errors != "strict":
+            raise IDNAError('Unsupported error handling "{}"'.format(errors))
 
         if not data:
             return b"", 0
 
         return encode(data), len(data)
 
-    def decode(self, data: bytes, errors: str = 'strict') -> Tuple[str, int]:
-        if errors != 'strict':
-            raise IDNAError('Unsupported error handling \"{}\"'.format(errors))
+    def decode(self, data: bytes, errors: str = "strict") -> Tuple[str, int]:
+        if errors != "strict":
+            raise IDNAError('Unsupported error handling "{}"'.format(errors))
 
         if not data:
-            return '', 0
+            return "", 0
 
         return decode(data), len(data)
 
+
 class IncrementalEncoder(codecs.BufferedIncrementalEncoder):
     def _buffer_encode(self, data: str, errors: str, final: bool) -> Tuple[bytes, int]:
-        if errors != 'strict':
-            raise IDNAError('Unsupported error handling \"{}\"'.format(errors))
+        if errors != "strict":
+            raise IDNAError('Unsupported error handling "{}"'.format(errors))
 
         if not data:
-            return b'', 0
+            return b"", 0
 
         labels = _unicode_dots_re.split(data)
-        trailing_dot = b''
+        trailing_dot = b""
         if labels:
             if not labels[-1]:
-                trailing_dot = b'.'
+                trailing_dot = b"."
                 del labels[-1]
             elif not final:
                 # Keep potentially unfinished label until the next call
                 del labels[-1]
                 if labels:
-                    trailing_dot = b'.'
+                    trailing_dot = b"."
 
         result = []
         size = 0
@@ -54,32 +56,33 @@
             size += len(label)
 
         # Join with U+002E
-        result_bytes = b'.'.join(result) + trailing_dot
+        result_bytes = b".".join(result) + trailing_dot
         size += len(trailing_dot)
         return result_bytes, size
 
+
 class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
     def _buffer_decode(self, data: Any, errors: str, final: bool) -> Tuple[str, int]:
-        if errors != 'strict':
-            raise IDNAError('Unsupported error handling \"{}\"'.format(errors))
+        if errors != "strict":
+            raise IDNAError('Unsupported error handling "{}"'.format(errors))
 
         if not data:
-            return ('', 0)
+            return ("", 0)
 
         if not isinstance(data, str):
-            data = str(data, 'ascii')
+            data = str(data, "ascii")
 
         labels = _unicode_dots_re.split(data)
-        trailing_dot = ''
+        trailing_dot = ""
         if labels:
             if not labels[-1]:
-                trailing_dot = '.'
+                trailing_dot = "."
                 del labels[-1]
             elif not final:
                 # Keep potentially unfinished label until the next call
                 del labels[-1]
                 if labels:
-                    trailing_dot = '.'
+                    trailing_dot = "."
 
         result = []
         size = 0
@@ -89,7 +92,7 @@
                 size += 1
             size += len(label)
 
-        result_str = '.'.join(result) + trailing_dot
+        result_str = ".".join(result) + trailing_dot
         size += len(trailing_dot)
         return (result_str, size)
 
@@ -103,7 +106,7 @@
 
 
 def search_function(name: str) -> Optional[codecs.CodecInfo]:
-    if name != 'idna2008':
+    if name != "idna2008":
         return None
     return codecs.CodecInfo(
         name=name,
@@ -115,4 +118,5 @@
         streamreader=StreamReader,
     )
 
+
 codecs.register(search_function)
diff --git a/idna/compat.py b/idna/compat.py
index 786e6bd..1df9f2a 100644
--- a/idna/compat.py
+++ b/idna/compat.py
@@ -1,13 +1,15 @@
-from .core import *
-from .codec import *
 from typing import Any, Union
 
+from .core import decode, encode
+
+
 def ToASCII(label: str) -> bytes:
     return encode(label)
 
+
 def ToUnicode(label: Union[bytes, bytearray]) -> str:
     return decode(label)
 
-def nameprep(s: Any) -> None:
-    raise NotImplementedError('IDNA 2008 does not utilise nameprep protocol')
 
+def nameprep(s: Any) -> None:
+    raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol")
diff --git a/idna/core.py b/idna/core.py
index 69b66ef..9115f12 100644
--- a/idna/core.py
+++ b/idna/core.py
@@ -1,31 +1,37 @@
-from . import idnadata
 import bisect
-import unicodedata
 import re
-from typing import Union, Optional
+import unicodedata
+from typing import Optional, Union
+
+from . import idnadata
 from .intranges import intranges_contain
 
 _virama_combining_class = 9
-_alabel_prefix = b'xn--'
-_unicode_dots_re = re.compile('[\u002e\u3002\uff0e\uff61]')
+_alabel_prefix = b"xn--"
+_unicode_dots_re = re.compile("[\u002e\u3002\uff0e\uff61]")
+
 
 class IDNAError(UnicodeError):
-    """ Base exception for all IDNA-encoding related problems """
+    """Base exception for all IDNA-encoding related problems"""
+
     pass
 
 
 class IDNABidiError(IDNAError):
-    """ Exception when bidirectional requirements are not satisfied """
+    """Exception when bidirectional requirements are not satisfied"""
+
     pass
 
 
 class InvalidCodepoint(IDNAError):
-    """ Exception when a disallowed or unallocated codepoint is used """
+    """Exception when a disallowed or unallocated codepoint is used"""
+
     pass
 
 
 class InvalidCodepointContext(IDNAError):
-    """ Exception when the codepoint is not valid in the context it is used """
+    """Exception when the codepoint is not valid in the context it is used"""
+
     pass
 
 
@@ -33,17 +39,20 @@
     v = unicodedata.combining(chr(cp))
     if v == 0:
         if not unicodedata.name(chr(cp)):
-            raise ValueError('Unknown character in unicodedata')
+            raise ValueError("Unknown character in unicodedata")
     return v
 
+
 def _is_script(cp: str, script: str) -> bool:
     return intranges_contain(ord(cp), idnadata.scripts[script])
 
+
 def _punycode(s: str) -> bytes:
-    return s.encode('punycode')
+    return s.encode("punycode")
+
 
 def _unot(s: int) -> str:
-    return 'U+{:04X}'.format(s)
+    return "U+{:04X}".format(s)
 
 
 def valid_label_length(label: Union[bytes, str]) -> bool:
@@ -61,96 +70,106 @@
 def check_bidi(label: str, check_ltr: bool = False) -> bool:
     # Bidi rules should only be applied if string contains RTL characters
     bidi_label = False
-    for (idx, cp) in enumerate(label, 1):
+    for idx, cp in enumerate(label, 1):
         direction = unicodedata.bidirectional(cp)
-        if direction == '':
+        if direction == "":
             # String likely comes from a newer version of Unicode
-            raise IDNABidiError('Unknown directionality in label {} at position {}'.format(repr(label), idx))
-        if direction in ['R', 'AL', 'AN']:
+            raise IDNABidiError("Unknown directionality in label {} at position {}".format(repr(label), idx))
+        if direction in ["R", "AL", "AN"]:
             bidi_label = True
     if not bidi_label and not check_ltr:
         return True
 
     # Bidi rule 1
     direction = unicodedata.bidirectional(label[0])
-    if direction in ['R', 'AL']:
+    if direction in ["R", "AL"]:
         rtl = True
-    elif direction == 'L':
+    elif direction == "L":
         rtl = False
     else:
-        raise IDNABidiError('First codepoint in label {} must be directionality L, R or AL'.format(repr(label)))
+        raise IDNABidiError("First codepoint in label {} must be directionality L, R or AL".format(repr(label)))
 
     valid_ending = False
-    number_type = None  # type: Optional[str]
-    for (idx, cp) in enumerate(label, 1):
+    number_type: Optional[str] = None
+    for idx, cp in enumerate(label, 1):
         direction = unicodedata.bidirectional(cp)
 
         if rtl:
             # Bidi rule 2
-            if not direction in ['R', 'AL', 'AN', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']:
-                raise IDNABidiError('Invalid direction for codepoint at position {} in a right-to-left label'.format(idx))
+            if direction not in [
+                "R",
+                "AL",
+                "AN",
+                "EN",
+                "ES",
+                "CS",
+                "ET",
+                "ON",
+                "BN",
+                "NSM",
+            ]:
+                raise IDNABidiError("Invalid direction for codepoint at position {} in a right-to-left label".format(idx))
             # Bidi rule 3
-            if direction in ['R', 'AL', 'EN', 'AN']:
+            if direction in ["R", "AL", "EN", "AN"]:
                 valid_ending = True
-            elif direction != 'NSM':
+            elif direction != "NSM":
                 valid_ending = False
             # Bidi rule 4
-            if direction in ['AN', 'EN']:
+            if direction in ["AN", "EN"]:
                 if not number_type:
                     number_type = direction
                 else:
                     if number_type != direction:
-                        raise IDNABidiError('Can not mix numeral types in a right-to-left label')
+                        raise IDNABidiError("Can not mix numeral types in a right-to-left label")
         else:
             # Bidi rule 5
-            if not direction in ['L', 'EN', 'ES', 'CS', 'ET', 'ON', 'BN', 'NSM']:
-                raise IDNABidiError('Invalid direction for codepoint at position {} in a left-to-right label'.format(idx))
+            if direction not in ["L", "EN", "ES", "CS", "ET", "ON", "BN", "NSM"]:
+                raise IDNABidiError("Invalid direction for codepoint at position {} in a left-to-right label".format(idx))
             # Bidi rule 6
-            if direction in ['L', 'EN']:
+            if direction in ["L", "EN"]:
                 valid_ending = True
-            elif direction != 'NSM':
+            elif direction != "NSM":
                 valid_ending = False
 
     if not valid_ending:
-        raise IDNABidiError('Label ends with illegal codepoint directionality')
+        raise IDNABidiError("Label ends with illegal codepoint directionality")
 
     return True
 
 
 def check_initial_combiner(label: str) -> bool:
-    if unicodedata.category(label[0])[0] == 'M':
-        raise IDNAError('Label begins with an illegal combining character')
+    if unicodedata.category(label[0])[0] == "M":
+        raise IDNAError("Label begins with an illegal combining character")
     return True
 
 
 def check_hyphen_ok(label: str) -> bool:
-    if label[2:4] == '--':
-        raise IDNAError('Label has disallowed hyphens in 3rd and 4th position')
-    if label[0] == '-' or label[-1] == '-':
-        raise IDNAError('Label must not start or end with a hyphen')
+    if label[2:4] == "--":
+        raise IDNAError("Label has disallowed hyphens in 3rd and 4th position")
+    if label[0] == "-" or label[-1] == "-":
+        raise IDNAError("Label must not start or end with a hyphen")
     return True
 
 
 def check_nfc(label: str) -> None:
-    if unicodedata.normalize('NFC', label) != label:
-        raise IDNAError('Label must be in Normalization Form C')
+    if unicodedata.normalize("NFC", label) != label:
+        raise IDNAError("Label must be in Normalization Form C")
 
 
 def valid_contextj(label: str, pos: int) -> bool:
     cp_value = ord(label[pos])
 
-    if cp_value == 0x200c:
-
+    if cp_value == 0x200C:
         if pos > 0:
             if _combining_class(ord(label[pos - 1])) == _virama_combining_class:
                 return True
 
         ok = False
-        for i in range(pos-1, -1, -1):
+        for i in range(pos - 1, -1, -1):
             joining_type = idnadata.joining_types.get(ord(label[i]))
-            if joining_type == ord('T'):
+            if joining_type == ord("T"):
                 continue
-            elif joining_type in [ord('L'), ord('D')]:
+            elif joining_type in [ord("L"), ord("D")]:
                 ok = True
                 break
             else:
@@ -160,63 +179,61 @@
             return False
 
         ok = False
-        for i in range(pos+1, len(label)):
+        for i in range(pos + 1, len(label)):
             joining_type = idnadata.joining_types.get(ord(label[i]))
-            if joining_type == ord('T'):
+            if joining_type == ord("T"):
                 continue
-            elif joining_type in [ord('R'), ord('D')]:
+            elif joining_type in [ord("R"), ord("D")]:
                 ok = True
                 break
             else:
                 break
         return ok
 
-    if cp_value == 0x200d:
-
+    if cp_value == 0x200D:
         if pos > 0:
             if _combining_class(ord(label[pos - 1])) == _virama_combining_class:
                 return True
         return False
 
     else:
-
         return False
 
 
 def valid_contexto(label: str, pos: int, exception: bool = False) -> bool:
     cp_value = ord(label[pos])
 
-    if cp_value == 0x00b7:
-        if 0 < pos < len(label)-1:
-            if ord(label[pos - 1]) == 0x006c and ord(label[pos + 1]) == 0x006c:
+    if cp_value == 0x00B7:
+        if 0 < pos < len(label) - 1:
+            if ord(label[pos - 1]) == 0x006C and ord(label[pos + 1]) == 0x006C:
                 return True
         return False
 
     elif cp_value == 0x0375:
-        if pos < len(label)-1 and len(label) > 1:
-            return _is_script(label[pos + 1], 'Greek')
+        if pos < len(label) - 1 and len(label) > 1:
+            return _is_script(label[pos + 1], "Greek")
         return False
 
-    elif cp_value == 0x05f3 or cp_value == 0x05f4:
+    elif cp_value == 0x05F3 or cp_value == 0x05F4:
         if pos > 0:
-            return _is_script(label[pos - 1], 'Hebrew')
+            return _is_script(label[pos - 1], "Hebrew")
         return False
 
-    elif cp_value == 0x30fb:
+    elif cp_value == 0x30FB:
         for cp in label:
-            if cp == '\u30fb':
+            if cp == "\u30fb":
                 continue
-            if _is_script(cp, 'Hiragana') or _is_script(cp, 'Katakana') or _is_script(cp, 'Han'):
+            if _is_script(cp, "Hiragana") or _is_script(cp, "Katakana") or _is_script(cp, "Han"):
                 return True
         return False
 
     elif 0x660 <= cp_value <= 0x669:
         for cp in label:
-            if 0x6f0 <= ord(cp) <= 0x06f9:
+            if 0x6F0 <= ord(cp) <= 0x06F9:
                 return False
         return True
 
-    elif 0x6f0 <= cp_value <= 0x6f9:
+    elif 0x6F0 <= cp_value <= 0x6F9:
         for cp in label:
             if 0x660 <= ord(cp) <= 0x0669:
                 return False
@@ -227,41 +244,49 @@
 
 def check_label(label: Union[str, bytes, bytearray]) -> None:
     if isinstance(label, (bytes, bytearray)):
-        label = label.decode('utf-8')
+        label = label.decode("utf-8")
     if len(label) == 0:
-        raise IDNAError('Empty Label')
+        raise IDNAError("Empty Label")
 
     check_nfc(label)
     check_hyphen_ok(label)
     check_initial_combiner(label)
 
-    for (pos, cp) in enumerate(label):
+    for pos, cp in enumerate(label):
         cp_value = ord(cp)
-        if intranges_contain(cp_value, idnadata.codepoint_classes['PVALID']):
+        if intranges_contain(cp_value, idnadata.codepoint_classes["PVALID"]):
             continue
-        elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTJ']):
+        elif intranges_contain(cp_value, idnadata.codepoint_classes["CONTEXTJ"]):
             try:
                 if not valid_contextj(label, pos):
-                    raise InvalidCodepointContext('Joiner {} not allowed at position {} in {}'.format(
-                        _unot(cp_value), pos+1, repr(label)))
+                    raise InvalidCodepointContext(
+                        "Joiner {} not allowed at position {} in {}".format(_unot(cp_value), pos + 1, repr(label))
+                    )
             except ValueError:
-                raise IDNAError('Unknown codepoint adjacent to joiner {} at position {} in {}'.format(
-                    _unot(cp_value), pos+1, repr(label)))
-        elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTO']):
+                raise IDNAError(
+                    "Unknown codepoint adjacent to joiner {} at position {} in {}".format(
+                        _unot(cp_value), pos + 1, repr(label)
+                    )
+                )
+        elif intranges_contain(cp_value, idnadata.codepoint_classes["CONTEXTO"]):
             if not valid_contexto(label, pos):
-                raise InvalidCodepointContext('Codepoint {} not allowed at position {} in {}'.format(_unot(cp_value), pos+1, repr(label)))
+                raise InvalidCodepointContext(
+                    "Codepoint {} not allowed at position {} in {}".format(_unot(cp_value), pos + 1, repr(label))
+                )
         else:
-            raise InvalidCodepoint('Codepoint {} at position {} of {} not allowed'.format(_unot(cp_value), pos+1, repr(label)))
+            raise InvalidCodepoint(
+                "Codepoint {} at position {} of {} not allowed".format(_unot(cp_value), pos + 1, repr(label))
+            )
 
     check_bidi(label)
 
 
 def alabel(label: str) -> bytes:
     try:
-        label_bytes = label.encode('ascii')
+        label_bytes = label.encode("ascii")
         ulabel(label_bytes)
         if not valid_label_length(label_bytes):
-            raise IDNAError('Label too long')
+            raise IDNAError("Label too long")
         return label_bytes
     except UnicodeEncodeError:
         pass
@@ -270,7 +295,7 @@
     label_bytes = _alabel_prefix + _punycode(label)
 
     if not valid_label_length(label_bytes):
-        raise IDNAError('Label too long')
+        raise IDNAError("Label too long")
 
     return label_bytes
 
@@ -278,7 +303,7 @@
 def ulabel(label: Union[str, bytes, bytearray]) -> str:
     if not isinstance(label, (bytes, bytearray)):
         try:
-            label_bytes = label.encode('ascii')
+            label_bytes = label.encode("ascii")
         except UnicodeEncodeError:
             check_label(label)
             return label
@@ -287,19 +312,19 @@
 
     label_bytes = label_bytes.lower()
     if label_bytes.startswith(_alabel_prefix):
-        label_bytes = label_bytes[len(_alabel_prefix):]
+        label_bytes = label_bytes[len(_alabel_prefix) :]
         if not label_bytes:
-            raise IDNAError('Malformed A-label, no Punycode eligible content found')
-        if label_bytes.decode('ascii')[-1] == '-':
-            raise IDNAError('A-label must not end with a hyphen')
+            raise IDNAError("Malformed A-label, no Punycode eligible content found")
+        if label_bytes.decode("ascii")[-1] == "-":
+            raise IDNAError("A-label must not end with a hyphen")
     else:
         check_label(label_bytes)
-        return label_bytes.decode('ascii')
+        return label_bytes.decode("ascii")
 
     try:
-        label = label_bytes.decode('punycode')
+        label = label_bytes.decode("punycode")
     except UnicodeError:
-        raise IDNAError('Invalid A-label')
+        raise IDNAError("Invalid A-label")
     check_label(label)
     return label
 
@@ -307,52 +332,60 @@
 def uts46_remap(domain: str, std3_rules: bool = True, transitional: bool = False) -> str:
     """Re-map the characters in the string according to UTS46 processing."""
     from .uts46data import uts46data
-    output = ''
+
+    output = ""
 
     for pos, char in enumerate(domain):
         code_point = ord(char)
         try:
-            uts46row = uts46data[code_point if code_point < 256 else
-                bisect.bisect_left(uts46data, (code_point, 'Z')) - 1]
+            uts46row = uts46data[code_point if code_point < 256 else bisect.bisect_left(uts46data, (code_point, "Z")) - 1]
             status = uts46row[1]
-            replacement = None  # type: Optional[str]
+            replacement: Optional[str] = None
             if len(uts46row) == 3:
                 replacement = uts46row[2]
-            if (status == 'V' or
-                    (status == 'D' and not transitional) or
-                    (status == '3' and not std3_rules and replacement is None)):
+            if (
+                status == "V"
+                or (status == "D" and not transitional)
+                or (status == "3" and not std3_rules and replacement is None)
+            ):
                 output += char
-            elif replacement is not None and (status == 'M' or
-                    (status == '3' and not std3_rules) or
-                    (status == 'D' and transitional)):
+            elif replacement is not None and (
+                status == "M" or (status == "3" and not std3_rules) or (status == "D" and transitional)
+            ):
                 output += replacement
-            elif status != 'I':
+            elif status != "I":
                 raise IndexError()
         except IndexError:
             raise InvalidCodepoint(
-                'Codepoint {} not allowed at position {} in {}'.format(
-                _unot(code_point), pos + 1, repr(domain)))
+                "Codepoint {} not allowed at position {} in {}".format(_unot(code_point), pos + 1, repr(domain))
+            )
 
-    return unicodedata.normalize('NFC', output)
+    return unicodedata.normalize("NFC", output)
 
 
-def encode(s: Union[str, bytes, bytearray], strict: bool = False, uts46: bool = False, std3_rules: bool = False, transitional: bool = False) -> bytes:
+def encode(
+    s: Union[str, bytes, bytearray],
+    strict: bool = False,
+    uts46: bool = False,
+    std3_rules: bool = False,
+    transitional: bool = False,
+) -> bytes:
     if not isinstance(s, str):
         try:
-            s = str(s, 'ascii')
+            s = str(s, "ascii")
         except UnicodeDecodeError:
-            raise IDNAError('should pass a unicode string to the function rather than a byte string.')
+            raise IDNAError("should pass a unicode string to the function rather than a byte string.")
     if uts46:
         s = uts46_remap(s, std3_rules, transitional)
     trailing_dot = False
     result = []
     if strict:
-        labels = s.split('.')
+        labels = s.split(".")
     else:
         labels = _unicode_dots_re.split(s)
-    if not labels or labels == ['']:
-        raise IDNAError('Empty domain')
-    if labels[-1] == '':
+    if not labels or labels == [""]:
+        raise IDNAError("Empty domain")
+    if labels[-1] == "":
         del labels[-1]
         trailing_dot = True
     for label in labels:
@@ -360,21 +393,26 @@
         if s:
             result.append(s)
         else:
-            raise IDNAError('Empty label')
+            raise IDNAError("Empty label")
     if trailing_dot:
-        result.append(b'')
-    s = b'.'.join(result)
+        result.append(b"")
+    s = b".".join(result)
     if not valid_string_length(s, trailing_dot):
-        raise IDNAError('Domain too long')
+        raise IDNAError("Domain too long")
     return s
 
 
-def decode(s: Union[str, bytes, bytearray], strict: bool = False, uts46: bool = False, std3_rules: bool = False) -> str:
+def decode(
+    s: Union[str, bytes, bytearray],
+    strict: bool = False,
+    uts46: bool = False,
+    std3_rules: bool = False,
+) -> str:
     try:
         if not isinstance(s, str):
-            s = str(s, 'ascii')
+            s = str(s, "ascii")
     except UnicodeDecodeError:
-        raise IDNAError('Invalid ASCII in A-label')
+        raise IDNAError("Invalid ASCII in A-label")
     if uts46:
         s = uts46_remap(s, std3_rules, False)
     trailing_dot = False
@@ -382,9 +420,9 @@
     if not strict:
         labels = _unicode_dots_re.split(s)
     else:
-        labels = s.split('.')
-    if not labels or labels == ['']:
-        raise IDNAError('Empty domain')
+        labels = s.split(".")
+    if not labels or labels == [""]:
+        raise IDNAError("Empty domain")
     if not labels[-1]:
         del labels[-1]
         trailing_dot = True
@@ -393,7 +431,7 @@
         if s:
             result.append(s)
         else:
-            raise IDNAError('Empty label')
+            raise IDNAError("Empty label")
     if trailing_dot:
-        result.append('')
-    return '.'.join(result)
+        result.append("")
+    return ".".join(result)
diff --git a/idna/idnadata.py b/idna/idnadata.py
index c61dcf9..4be6004 100644
--- a/idna/idnadata.py
+++ b/idna/idnadata.py
@@ -1,107 +1,107 @@
 # This file is automatically generated by tools/idna-data
 
-__version__ = '15.1.0'
+__version__ = "15.1.0"
 scripts = {
-    'Greek': (
+    "Greek": (
         0x37000000374,
         0x37500000378,
-        0x37a0000037e,
-        0x37f00000380,
+        0x37A0000037E,
+        0x37F00000380,
         0x38400000385,
         0x38600000387,
-        0x3880000038b,
-        0x38c0000038d,
-        0x38e000003a2,
-        0x3a3000003e2,
-        0x3f000000400,
-        0x1d2600001d2b,
-        0x1d5d00001d62,
-        0x1d6600001d6b,
-        0x1dbf00001dc0,
-        0x1f0000001f16,
-        0x1f1800001f1e,
-        0x1f2000001f46,
-        0x1f4800001f4e,
-        0x1f5000001f58,
-        0x1f5900001f5a,
-        0x1f5b00001f5c,
-        0x1f5d00001f5e,
-        0x1f5f00001f7e,
-        0x1f8000001fb5,
-        0x1fb600001fc5,
-        0x1fc600001fd4,
-        0x1fd600001fdc,
-        0x1fdd00001ff0,
-        0x1ff200001ff5,
-        0x1ff600001fff,
+        0x3880000038B,
+        0x38C0000038D,
+        0x38E000003A2,
+        0x3A3000003E2,
+        0x3F000000400,
+        0x1D2600001D2B,
+        0x1D5D00001D62,
+        0x1D6600001D6B,
+        0x1DBF00001DC0,
+        0x1F0000001F16,
+        0x1F1800001F1E,
+        0x1F2000001F46,
+        0x1F4800001F4E,
+        0x1F5000001F58,
+        0x1F5900001F5A,
+        0x1F5B00001F5C,
+        0x1F5D00001F5E,
+        0x1F5F00001F7E,
+        0x1F8000001FB5,
+        0x1FB600001FC5,
+        0x1FC600001FD4,
+        0x1FD600001FDC,
+        0x1FDD00001FF0,
+        0x1FF200001FF5,
+        0x1FF600001FFF,
         0x212600002127,
-        0xab650000ab66,
-        0x101400001018f,
-        0x101a0000101a1,
-        0x1d2000001d246,
+        0xAB650000AB66,
+        0x101400001018F,
+        0x101A0000101A1,
+        0x1D2000001D246,
     ),
-    'Han': (
-        0x2e8000002e9a,
-        0x2e9b00002ef4,
-        0x2f0000002fd6,
+    "Han": (
+        0x2E8000002E9A,
+        0x2E9B00002EF4,
+        0x2F0000002FD6,
         0x300500003006,
         0x300700003008,
-        0x30210000302a,
-        0x30380000303c,
-        0x340000004dc0,
-        0x4e000000a000,
-        0xf9000000fa6e,
-        0xfa700000fada,
-        0x16fe200016fe4,
-        0x16ff000016ff2,
-        0x200000002a6e0,
-        0x2a7000002b73a,
-        0x2b7400002b81e,
-        0x2b8200002cea2,
-        0x2ceb00002ebe1,
-        0x2ebf00002ee5e,
-        0x2f8000002fa1e,
-        0x300000003134b,
-        0x31350000323b0,
+        0x30210000302A,
+        0x30380000303C,
+        0x340000004DC0,
+        0x4E000000A000,
+        0xF9000000FA6E,
+        0xFA700000FADA,
+        0x16FE200016FE4,
+        0x16FF000016FF2,
+        0x200000002A6E0,
+        0x2A7000002B73A,
+        0x2B7400002B81E,
+        0x2B8200002CEA2,
+        0x2CEB00002EBE1,
+        0x2EBF00002EE5E,
+        0x2F8000002FA1E,
+        0x300000003134B,
+        0x31350000323B0,
     ),
-    'Hebrew': (
-        0x591000005c8,
-        0x5d0000005eb,
-        0x5ef000005f5,
-        0xfb1d0000fb37,
-        0xfb380000fb3d,
-        0xfb3e0000fb3f,
-        0xfb400000fb42,
-        0xfb430000fb45,
-        0xfb460000fb50,
+    "Hebrew": (
+        0x591000005C8,
+        0x5D0000005EB,
+        0x5EF000005F5,
+        0xFB1D0000FB37,
+        0xFB380000FB3D,
+        0xFB3E0000FB3F,
+        0xFB400000FB42,
+        0xFB430000FB45,
+        0xFB460000FB50,
     ),
-    'Hiragana': (
+    "Hiragana": (
         0x304100003097,
-        0x309d000030a0,
-        0x1b0010001b120,
-        0x1b1320001b133,
-        0x1b1500001b153,
-        0x1f2000001f201,
+        0x309D000030A0,
+        0x1B0010001B120,
+        0x1B1320001B133,
+        0x1B1500001B153,
+        0x1F2000001F201,
     ),
-    'Katakana': (
-        0x30a1000030fb,
-        0x30fd00003100,
-        0x31f000003200,
-        0x32d0000032ff,
+    "Katakana": (
+        0x30A1000030FB,
+        0x30FD00003100,
+        0x31F000003200,
+        0x32D0000032FF,
         0x330000003358,
-        0xff660000ff70,
-        0xff710000ff9e,
-        0x1aff00001aff4,
-        0x1aff50001affc,
-        0x1affd0001afff,
-        0x1b0000001b001,
-        0x1b1200001b123,
-        0x1b1550001b156,
-        0x1b1640001b168,
+        0xFF660000FF70,
+        0xFF710000FF9E,
+        0x1AFF00001AFF4,
+        0x1AFF50001AFFC,
+        0x1AFFD0001AFFF,
+        0x1B0000001B001,
+        0x1B1200001B123,
+        0x1B1550001B156,
+        0x1B1640001B168,
     ),
 }
 joining_types = {
-    0xad: 84,
+    0xAD: 84,
     0x300: 84,
     0x301: 84,
     0x302: 84,
@@ -112,12 +112,12 @@
     0x307: 84,
     0x308: 84,
     0x309: 84,
-    0x30a: 84,
-    0x30b: 84,
-    0x30c: 84,
-    0x30d: 84,
-    0x30e: 84,
-    0x30f: 84,
+    0x30A: 84,
+    0x30B: 84,
+    0x30C: 84,
+    0x30D: 84,
+    0x30E: 84,
+    0x30F: 84,
     0x310: 84,
     0x311: 84,
     0x312: 84,
@@ -128,12 +128,12 @@
     0x317: 84,
     0x318: 84,
     0x319: 84,
-    0x31a: 84,
-    0x31b: 84,
-    0x31c: 84,
-    0x31d: 84,
-    0x31e: 84,
-    0x31f: 84,
+    0x31A: 84,
+    0x31B: 84,
+    0x31C: 84,
+    0x31D: 84,
+    0x31E: 84,
+    0x31F: 84,
     0x320: 84,
     0x321: 84,
     0x322: 84,
@@ -144,12 +144,12 @@
     0x327: 84,
     0x328: 84,
     0x329: 84,
-    0x32a: 84,
-    0x32b: 84,
-    0x32c: 84,
-    0x32d: 84,
-    0x32e: 84,
-    0x32f: 84,
+    0x32A: 84,
+    0x32B: 84,
+    0x32C: 84,
+    0x32D: 84,
+    0x32E: 84,
+    0x32F: 84,
     0x330: 84,
     0x331: 84,
     0x332: 84,
@@ -160,12 +160,12 @@
     0x337: 84,
     0x338: 84,
     0x339: 84,
-    0x33a: 84,
-    0x33b: 84,
-    0x33c: 84,
-    0x33d: 84,
-    0x33e: 84,
-    0x33f: 84,
+    0x33A: 84,
+    0x33B: 84,
+    0x33C: 84,
+    0x33D: 84,
+    0x33E: 84,
+    0x33F: 84,
     0x340: 84,
     0x341: 84,
     0x342: 84,
@@ -176,12 +176,12 @@
     0x347: 84,
     0x348: 84,
     0x349: 84,
-    0x34a: 84,
-    0x34b: 84,
-    0x34c: 84,
-    0x34d: 84,
-    0x34e: 84,
-    0x34f: 84,
+    0x34A: 84,
+    0x34B: 84,
+    0x34C: 84,
+    0x34D: 84,
+    0x34E: 84,
+    0x34F: 84,
     0x350: 84,
     0x351: 84,
     0x352: 84,
@@ -192,12 +192,12 @@
     0x357: 84,
     0x358: 84,
     0x359: 84,
-    0x35a: 84,
-    0x35b: 84,
-    0x35c: 84,
-    0x35d: 84,
-    0x35e: 84,
-    0x35f: 84,
+    0x35A: 84,
+    0x35B: 84,
+    0x35C: 84,
+    0x35D: 84,
+    0x35E: 84,
+    0x35F: 84,
     0x360: 84,
     0x361: 84,
     0x362: 84,
@@ -208,12 +208,12 @@
     0x367: 84,
     0x368: 84,
     0x369: 84,
-    0x36a: 84,
-    0x36b: 84,
-    0x36c: 84,
-    0x36d: 84,
-    0x36e: 84,
-    0x36f: 84,
+    0x36A: 84,
+    0x36B: 84,
+    0x36C: 84,
+    0x36D: 84,
+    0x36E: 84,
+    0x36F: 84,
     0x483: 84,
     0x484: 84,
     0x485: 84,
@@ -230,48 +230,48 @@
     0x597: 84,
     0x598: 84,
     0x599: 84,
-    0x59a: 84,
-    0x59b: 84,
-    0x59c: 84,
-    0x59d: 84,
-    0x59e: 84,
-    0x59f: 84,
-    0x5a0: 84,
-    0x5a1: 84,
-    0x5a2: 84,
-    0x5a3: 84,
-    0x5a4: 84,
-    0x5a5: 84,
-    0x5a6: 84,
-    0x5a7: 84,
-    0x5a8: 84,
-    0x5a9: 84,
-    0x5aa: 84,
-    0x5ab: 84,
-    0x5ac: 84,
-    0x5ad: 84,
-    0x5ae: 84,
-    0x5af: 84,
-    0x5b0: 84,
-    0x5b1: 84,
-    0x5b2: 84,
-    0x5b3: 84,
-    0x5b4: 84,
-    0x5b5: 84,
-    0x5b6: 84,
-    0x5b7: 84,
-    0x5b8: 84,
-    0x5b9: 84,
-    0x5ba: 84,
-    0x5bb: 84,
-    0x5bc: 84,
-    0x5bd: 84,
-    0x5bf: 84,
-    0x5c1: 84,
-    0x5c2: 84,
-    0x5c4: 84,
-    0x5c5: 84,
-    0x5c7: 84,
+    0x59A: 84,
+    0x59B: 84,
+    0x59C: 84,
+    0x59D: 84,
+    0x59E: 84,
+    0x59F: 84,
+    0x5A0: 84,
+    0x5A1: 84,
+    0x5A2: 84,
+    0x5A3: 84,
+    0x5A4: 84,
+    0x5A5: 84,
+    0x5A6: 84,
+    0x5A7: 84,
+    0x5A8: 84,
+    0x5A9: 84,
+    0x5AA: 84,
+    0x5AB: 84,
+    0x5AC: 84,
+    0x5AD: 84,
+    0x5AE: 84,
+    0x5AF: 84,
+    0x5B0: 84,
+    0x5B1: 84,
+    0x5B2: 84,
+    0x5B3: 84,
+    0x5B4: 84,
+    0x5B5: 84,
+    0x5B6: 84,
+    0x5B7: 84,
+    0x5B8: 84,
+    0x5B9: 84,
+    0x5BA: 84,
+    0x5BB: 84,
+    0x5BC: 84,
+    0x5BD: 84,
+    0x5BF: 84,
+    0x5C1: 84,
+    0x5C2: 84,
+    0x5C4: 84,
+    0x5C5: 84,
+    0x5C7: 84,
     0x610: 84,
     0x611: 84,
     0x612: 84,
@@ -282,8 +282,8 @@
     0x617: 84,
     0x618: 84,
     0x619: 84,
-    0x61a: 84,
-    0x61c: 84,
+    0x61A: 84,
+    0x61C: 84,
     0x620: 68,
     0x622: 82,
     0x623: 82,
@@ -293,12 +293,12 @@
     0x627: 82,
     0x628: 68,
     0x629: 82,
-    0x62a: 68,
-    0x62b: 68,
-    0x62c: 68,
-    0x62d: 68,
-    0x62e: 68,
-    0x62f: 82,
+    0x62A: 68,
+    0x62B: 68,
+    0x62C: 68,
+    0x62D: 68,
+    0x62E: 68,
+    0x62F: 82,
     0x630: 82,
     0x631: 82,
     0x632: 82,
@@ -309,12 +309,12 @@
     0x637: 68,
     0x638: 68,
     0x639: 68,
-    0x63a: 68,
-    0x63b: 68,
-    0x63c: 68,
-    0x63d: 68,
-    0x63e: 68,
-    0x63f: 68,
+    0x63A: 68,
+    0x63B: 68,
+    0x63C: 68,
+    0x63D: 68,
+    0x63E: 68,
+    0x63F: 68,
     0x640: 67,
     0x641: 68,
     0x642: 68,
@@ -325,12 +325,12 @@
     0x647: 68,
     0x648: 82,
     0x649: 68,
-    0x64a: 68,
-    0x64b: 84,
-    0x64c: 84,
-    0x64d: 84,
-    0x64e: 84,
-    0x64f: 84,
+    0x64A: 68,
+    0x64B: 84,
+    0x64C: 84,
+    0x64D: 84,
+    0x64E: 84,
+    0x64F: 84,
     0x650: 84,
     0x651: 84,
     0x652: 84,
@@ -341,14 +341,14 @@
     0x657: 84,
     0x658: 84,
     0x659: 84,
-    0x65a: 84,
-    0x65b: 84,
-    0x65c: 84,
-    0x65d: 84,
-    0x65e: 84,
-    0x65f: 84,
-    0x66e: 68,
-    0x66f: 68,
+    0x65A: 84,
+    0x65B: 84,
+    0x65C: 84,
+    0x65D: 84,
+    0x65E: 84,
+    0x65F: 84,
+    0x66E: 68,
+    0x66F: 68,
     0x670: 84,
     0x671: 82,
     0x672: 82,
@@ -358,12 +358,12 @@
     0x677: 82,
     0x678: 68,
     0x679: 68,
-    0x67a: 68,
-    0x67b: 68,
-    0x67c: 68,
-    0x67d: 68,
-    0x67e: 68,
-    0x67f: 68,
+    0x67A: 68,
+    0x67B: 68,
+    0x67C: 68,
+    0x67D: 68,
+    0x67E: 68,
+    0x67F: 68,
     0x680: 68,
     0x681: 68,
     0x682: 68,
@@ -374,12 +374,12 @@
     0x687: 68,
     0x688: 82,
     0x689: 82,
-    0x68a: 82,
-    0x68b: 82,
-    0x68c: 82,
-    0x68d: 82,
-    0x68e: 82,
-    0x68f: 82,
+    0x68A: 82,
+    0x68B: 82,
+    0x68C: 82,
+    0x68D: 82,
+    0x68E: 82,
+    0x68F: 82,
     0x690: 82,
     0x691: 82,
     0x692: 82,
@@ -390,91 +390,91 @@
     0x697: 82,
     0x698: 82,
     0x699: 82,
-    0x69a: 68,
-    0x69b: 68,
-    0x69c: 68,
-    0x69d: 68,
-    0x69e: 68,
-    0x69f: 68,
-    0x6a0: 68,
-    0x6a1: 68,
-    0x6a2: 68,
-    0x6a3: 68,
-    0x6a4: 68,
-    0x6a5: 68,
-    0x6a6: 68,
-    0x6a7: 68,
-    0x6a8: 68,
-    0x6a9: 68,
-    0x6aa: 68,
-    0x6ab: 68,
-    0x6ac: 68,
-    0x6ad: 68,
-    0x6ae: 68,
-    0x6af: 68,
-    0x6b0: 68,
-    0x6b1: 68,
-    0x6b2: 68,
-    0x6b3: 68,
-    0x6b4: 68,
-    0x6b5: 68,
-    0x6b6: 68,
-    0x6b7: 68,
-    0x6b8: 68,
-    0x6b9: 68,
-    0x6ba: 68,
-    0x6bb: 68,
-    0x6bc: 68,
-    0x6bd: 68,
-    0x6be: 68,
-    0x6bf: 68,
-    0x6c0: 82,
-    0x6c1: 68,
-    0x6c2: 68,
-    0x6c3: 82,
-    0x6c4: 82,
-    0x6c5: 82,
-    0x6c6: 82,
-    0x6c7: 82,
-    0x6c8: 82,
-    0x6c9: 82,
-    0x6ca: 82,
-    0x6cb: 82,
-    0x6cc: 68,
-    0x6cd: 82,
-    0x6ce: 68,
-    0x6cf: 82,
-    0x6d0: 68,
-    0x6d1: 68,
-    0x6d2: 82,
-    0x6d3: 82,
-    0x6d5: 82,
-    0x6d6: 84,
-    0x6d7: 84,
-    0x6d8: 84,
-    0x6d9: 84,
-    0x6da: 84,
-    0x6db: 84,
-    0x6dc: 84,
-    0x6df: 84,
-    0x6e0: 84,
-    0x6e1: 84,
-    0x6e2: 84,
-    0x6e3: 84,
-    0x6e4: 84,
-    0x6e7: 84,
-    0x6e8: 84,
-    0x6ea: 84,
-    0x6eb: 84,
-    0x6ec: 84,
-    0x6ed: 84,
-    0x6ee: 82,
-    0x6ef: 82,
-    0x6fa: 68,
-    0x6fb: 68,
-    0x6fc: 68,
-    0x6ff: 68,
-    0x70f: 84,
+    0x69A: 68,
+    0x69B: 68,
+    0x69C: 68,
+    0x69D: 68,
+    0x69E: 68,
+    0x69F: 68,
+    0x6A0: 68,
+    0x6A1: 68,
+    0x6A2: 68,
+    0x6A3: 68,
+    0x6A4: 68,
+    0x6A5: 68,
+    0x6A6: 68,
+    0x6A7: 68,
+    0x6A8: 68,
+    0x6A9: 68,
+    0x6AA: 68,
+    0x6AB: 68,
+    0x6AC: 68,
+    0x6AD: 68,
+    0x6AE: 68,
+    0x6AF: 68,
+    0x6B0: 68,
+    0x6B1: 68,
+    0x6B2: 68,
+    0x6B3: 68,
+    0x6B4: 68,
+    0x6B5: 68,
+    0x6B6: 68,
+    0x6B7: 68,
+    0x6B8: 68,
+    0x6B9: 68,
+    0x6BA: 68,
+    0x6BB: 68,
+    0x6BC: 68,
+    0x6BD: 68,
+    0x6BE: 68,
+    0x6BF: 68,
+    0x6C0: 82,
+    0x6C1: 68,
+    0x6C2: 68,
+    0x6C3: 82,
+    0x6C4: 82,
+    0x6C5: 82,
+    0x6C6: 82,
+    0x6C7: 82,
+    0x6C8: 82,
+    0x6C9: 82,
+    0x6CA: 82,
+    0x6CB: 82,
+    0x6CC: 68,
+    0x6CD: 82,
+    0x6CE: 68,
+    0x6CF: 82,
+    0x6D0: 68,
+    0x6D1: 68,
+    0x6D2: 82,
+    0x6D3: 82,
+    0x6D5: 82,
+    0x6D6: 84,
+    0x6D7: 84,
+    0x6D8: 84,
+    0x6D9: 84,
+    0x6DA: 84,
+    0x6DB: 84,
+    0x6DC: 84,
+    0x6DF: 84,
+    0x6E0: 84,
+    0x6E1: 84,
+    0x6E2: 84,
+    0x6E3: 84,
+    0x6E4: 84,
+    0x6E7: 84,
+    0x6E8: 84,
+    0x6EA: 84,
+    0x6EB: 84,
+    0x6EC: 84,
+    0x6ED: 84,
+    0x6EE: 82,
+    0x6EF: 82,
+    0x6FA: 68,
+    0x6FB: 68,
+    0x6FC: 68,
+    0x6FF: 68,
+    0x70F: 84,
     0x710: 82,
     0x711: 84,
     0x712: 68,
@@ -485,12 +485,12 @@
     0x717: 82,
     0x718: 82,
     0x719: 82,
-    0x71a: 68,
-    0x71b: 68,
-    0x71c: 68,
-    0x71d: 68,
-    0x71e: 82,
-    0x71f: 68,
+    0x71A: 68,
+    0x71B: 68,
+    0x71C: 68,
+    0x71D: 68,
+    0x71E: 82,
+    0x71F: 68,
     0x720: 68,
     0x721: 68,
     0x722: 68,
@@ -501,12 +501,12 @@
     0x727: 68,
     0x728: 82,
     0x729: 68,
-    0x72a: 82,
-    0x72b: 68,
-    0x72c: 82,
-    0x72d: 68,
-    0x72e: 68,
-    0x72f: 82,
+    0x72A: 82,
+    0x72B: 68,
+    0x72C: 82,
+    0x72D: 68,
+    0x72E: 68,
+    0x72F: 82,
     0x730: 84,
     0x731: 84,
     0x732: 84,
@@ -517,12 +517,12 @@
     0x737: 84,
     0x738: 84,
     0x739: 84,
-    0x73a: 84,
-    0x73b: 84,
-    0x73c: 84,
-    0x73d: 84,
-    0x73e: 84,
-    0x73f: 84,
+    0x73A: 84,
+    0x73B: 84,
+    0x73C: 84,
+    0x73D: 84,
+    0x73E: 84,
+    0x73F: 84,
     0x740: 84,
     0x741: 84,
     0x742: 84,
@@ -533,10 +533,10 @@
     0x747: 84,
     0x748: 84,
     0x749: 84,
-    0x74a: 84,
-    0x74d: 82,
-    0x74e: 68,
-    0x74f: 68,
+    0x74A: 84,
+    0x74D: 82,
+    0x74E: 68,
+    0x74F: 68,
     0x750: 68,
     0x751: 68,
     0x752: 68,
@@ -547,12 +547,12 @@
     0x757: 68,
     0x758: 68,
     0x759: 82,
-    0x75a: 82,
-    0x75b: 82,
-    0x75c: 68,
-    0x75d: 68,
-    0x75e: 68,
-    0x75f: 68,
+    0x75A: 82,
+    0x75B: 82,
+    0x75C: 68,
+    0x75D: 68,
+    0x75E: 68,
+    0x75F: 68,
     0x760: 68,
     0x761: 68,
     0x762: 68,
@@ -563,12 +563,12 @@
     0x767: 68,
     0x768: 68,
     0x769: 68,
-    0x76a: 68,
-    0x76b: 82,
-    0x76c: 82,
-    0x76d: 68,
-    0x76e: 68,
-    0x76f: 68,
+    0x76A: 68,
+    0x76B: 82,
+    0x76C: 82,
+    0x76D: 68,
+    0x76E: 68,
+    0x76F: 68,
     0x770: 68,
     0x771: 82,
     0x772: 68,
@@ -579,76 +579,76 @@
     0x777: 68,
     0x778: 82,
     0x779: 82,
-    0x77a: 68,
-    0x77b: 68,
-    0x77c: 68,
-    0x77d: 68,
-    0x77e: 68,
-    0x77f: 68,
-    0x7a6: 84,
-    0x7a7: 84,
-    0x7a8: 84,
-    0x7a9: 84,
-    0x7aa: 84,
-    0x7ab: 84,
-    0x7ac: 84,
-    0x7ad: 84,
-    0x7ae: 84,
-    0x7af: 84,
-    0x7b0: 84,
-    0x7ca: 68,
-    0x7cb: 68,
-    0x7cc: 68,
-    0x7cd: 68,
-    0x7ce: 68,
-    0x7cf: 68,
-    0x7d0: 68,
-    0x7d1: 68,
-    0x7d2: 68,
-    0x7d3: 68,
-    0x7d4: 68,
-    0x7d5: 68,
-    0x7d6: 68,
-    0x7d7: 68,
-    0x7d8: 68,
-    0x7d9: 68,
-    0x7da: 68,
-    0x7db: 68,
-    0x7dc: 68,
-    0x7dd: 68,
-    0x7de: 68,
-    0x7df: 68,
-    0x7e0: 68,
-    0x7e1: 68,
-    0x7e2: 68,
-    0x7e3: 68,
-    0x7e4: 68,
-    0x7e5: 68,
-    0x7e6: 68,
-    0x7e7: 68,
-    0x7e8: 68,
-    0x7e9: 68,
-    0x7ea: 68,
-    0x7eb: 84,
-    0x7ec: 84,
-    0x7ed: 84,
-    0x7ee: 84,
-    0x7ef: 84,
-    0x7f0: 84,
-    0x7f1: 84,
-    0x7f2: 84,
-    0x7f3: 84,
-    0x7fa: 67,
-    0x7fd: 84,
+    0x77A: 68,
+    0x77B: 68,
+    0x77C: 68,
+    0x77D: 68,
+    0x77E: 68,
+    0x77F: 68,
+    0x7A6: 84,
+    0x7A7: 84,
+    0x7A8: 84,
+    0x7A9: 84,
+    0x7AA: 84,
+    0x7AB: 84,
+    0x7AC: 84,
+    0x7AD: 84,
+    0x7AE: 84,
+    0x7AF: 84,
+    0x7B0: 84,
+    0x7CA: 68,
+    0x7CB: 68,
+    0x7CC: 68,
+    0x7CD: 68,
+    0x7CE: 68,
+    0x7CF: 68,
+    0x7D0: 68,
+    0x7D1: 68,
+    0x7D2: 68,
+    0x7D3: 68,
+    0x7D4: 68,
+    0x7D5: 68,
+    0x7D6: 68,
+    0x7D7: 68,
+    0x7D8: 68,
+    0x7D9: 68,
+    0x7DA: 68,
+    0x7DB: 68,
+    0x7DC: 68,
+    0x7DD: 68,
+    0x7DE: 68,
+    0x7DF: 68,
+    0x7E0: 68,
+    0x7E1: 68,
+    0x7E2: 68,
+    0x7E3: 68,
+    0x7E4: 68,
+    0x7E5: 68,
+    0x7E6: 68,
+    0x7E7: 68,
+    0x7E8: 68,
+    0x7E9: 68,
+    0x7EA: 68,
+    0x7EB: 84,
+    0x7EC: 84,
+    0x7ED: 84,
+    0x7EE: 84,
+    0x7EF: 84,
+    0x7F0: 84,
+    0x7F1: 84,
+    0x7F2: 84,
+    0x7F3: 84,
+    0x7FA: 67,
+    0x7FD: 84,
     0x816: 84,
     0x817: 84,
     0x818: 84,
     0x819: 84,
-    0x81b: 84,
-    0x81c: 84,
-    0x81d: 84,
-    0x81e: 84,
-    0x81f: 84,
+    0x81B: 84,
+    0x81C: 84,
+    0x81D: 84,
+    0x81E: 84,
+    0x81F: 84,
     0x820: 84,
     0x821: 84,
     0x822: 84,
@@ -657,10 +657,10 @@
     0x826: 84,
     0x827: 84,
     0x829: 84,
-    0x82a: 84,
-    0x82b: 84,
-    0x82c: 84,
-    0x82d: 84,
+    0x82A: 84,
+    0x82B: 84,
+    0x82C: 84,
+    0x82D: 84,
     0x840: 82,
     0x841: 68,
     0x842: 68,
@@ -671,12 +671,12 @@
     0x847: 82,
     0x848: 68,
     0x849: 82,
-    0x84a: 68,
-    0x84b: 68,
-    0x84c: 68,
-    0x84d: 68,
-    0x84e: 68,
-    0x84f: 68,
+    0x84A: 68,
+    0x84B: 68,
+    0x84C: 68,
+    0x84D: 68,
+    0x84E: 68,
+    0x84F: 68,
     0x850: 68,
     0x851: 68,
     0x852: 68,
@@ -687,8 +687,8 @@
     0x857: 82,
     0x858: 82,
     0x859: 84,
-    0x85a: 84,
-    0x85b: 84,
+    0x85A: 84,
+    0x85B: 84,
     0x860: 68,
     0x862: 68,
     0x863: 68,
@@ -697,7 +697,7 @@
     0x867: 82,
     0x868: 68,
     0x869: 82,
-    0x86a: 82,
+    0x86A: 82,
     0x870: 82,
     0x871: 82,
     0x872: 82,
@@ -708,12 +708,12 @@
     0x877: 82,
     0x878: 82,
     0x879: 82,
-    0x87a: 82,
-    0x87b: 82,
-    0x87c: 82,
-    0x87d: 82,
-    0x87e: 82,
-    0x87f: 82,
+    0x87A: 82,
+    0x87B: 82,
+    0x87C: 82,
+    0x87D: 82,
+    0x87E: 82,
+    0x87F: 82,
     0x880: 82,
     0x881: 82,
     0x882: 82,
@@ -722,117 +722,117 @@
     0x885: 67,
     0x886: 68,
     0x889: 68,
-    0x88a: 68,
-    0x88b: 68,
-    0x88c: 68,
-    0x88d: 68,
-    0x88e: 82,
+    0x88A: 68,
+    0x88B: 68,
+    0x88C: 68,
+    0x88D: 68,
+    0x88E: 82,
     0x898: 84,
     0x899: 84,
-    0x89a: 84,
-    0x89b: 84,
-    0x89c: 84,
-    0x89d: 84,
-    0x89e: 84,
-    0x89f: 84,
-    0x8a0: 68,
-    0x8a1: 68,
-    0x8a2: 68,
-    0x8a3: 68,
-    0x8a4: 68,
-    0x8a5: 68,
-    0x8a6: 68,
-    0x8a7: 68,
-    0x8a8: 68,
-    0x8a9: 68,
-    0x8aa: 82,
-    0x8ab: 82,
-    0x8ac: 82,
-    0x8ae: 82,
-    0x8af: 68,
-    0x8b0: 68,
-    0x8b1: 82,
-    0x8b2: 82,
-    0x8b3: 68,
-    0x8b4: 68,
-    0x8b5: 68,
-    0x8b6: 68,
-    0x8b7: 68,
-    0x8b8: 68,
-    0x8b9: 82,
-    0x8ba: 68,
-    0x8bb: 68,
-    0x8bc: 68,
-    0x8bd: 68,
-    0x8be: 68,
-    0x8bf: 68,
-    0x8c0: 68,
-    0x8c1: 68,
-    0x8c2: 68,
-    0x8c3: 68,
-    0x8c4: 68,
-    0x8c5: 68,
-    0x8c6: 68,
-    0x8c7: 68,
-    0x8c8: 68,
-    0x8ca: 84,
-    0x8cb: 84,
-    0x8cc: 84,
-    0x8cd: 84,
-    0x8ce: 84,
-    0x8cf: 84,
-    0x8d0: 84,
-    0x8d1: 84,
-    0x8d2: 84,
-    0x8d3: 84,
-    0x8d4: 84,
-    0x8d5: 84,
-    0x8d6: 84,
-    0x8d7: 84,
-    0x8d8: 84,
-    0x8d9: 84,
-    0x8da: 84,
-    0x8db: 84,
-    0x8dc: 84,
-    0x8dd: 84,
-    0x8de: 84,
-    0x8df: 84,
-    0x8e0: 84,
-    0x8e1: 84,
-    0x8e3: 84,
-    0x8e4: 84,
-    0x8e5: 84,
-    0x8e6: 84,
-    0x8e7: 84,
-    0x8e8: 84,
-    0x8e9: 84,
-    0x8ea: 84,
-    0x8eb: 84,
-    0x8ec: 84,
-    0x8ed: 84,
-    0x8ee: 84,
-    0x8ef: 84,
-    0x8f0: 84,
-    0x8f1: 84,
-    0x8f2: 84,
-    0x8f3: 84,
-    0x8f4: 84,
-    0x8f5: 84,
-    0x8f6: 84,
-    0x8f7: 84,
-    0x8f8: 84,
-    0x8f9: 84,
-    0x8fa: 84,
-    0x8fb: 84,
-    0x8fc: 84,
-    0x8fd: 84,
-    0x8fe: 84,
-    0x8ff: 84,
+    0x89A: 84,
+    0x89B: 84,
+    0x89C: 84,
+    0x89D: 84,
+    0x89E: 84,
+    0x89F: 84,
+    0x8A0: 68,
+    0x8A1: 68,
+    0x8A2: 68,
+    0x8A3: 68,
+    0x8A4: 68,
+    0x8A5: 68,
+    0x8A6: 68,
+    0x8A7: 68,
+    0x8A8: 68,
+    0x8A9: 68,
+    0x8AA: 82,
+    0x8AB: 82,
+    0x8AC: 82,
+    0x8AE: 82,
+    0x8AF: 68,
+    0x8B0: 68,
+    0x8B1: 82,
+    0x8B2: 82,
+    0x8B3: 68,
+    0x8B4: 68,
+    0x8B5: 68,
+    0x8B6: 68,
+    0x8B7: 68,
+    0x8B8: 68,
+    0x8B9: 82,
+    0x8BA: 68,
+    0x8BB: 68,
+    0x8BC: 68,
+    0x8BD: 68,
+    0x8BE: 68,
+    0x8BF: 68,
+    0x8C0: 68,
+    0x8C1: 68,
+    0x8C2: 68,
+    0x8C3: 68,
+    0x8C4: 68,
+    0x8C5: 68,
+    0x8C6: 68,
+    0x8C7: 68,
+    0x8C8: 68,
+    0x8CA: 84,
+    0x8CB: 84,
+    0x8CC: 84,
+    0x8CD: 84,
+    0x8CE: 84,
+    0x8CF: 84,
+    0x8D0: 84,
+    0x8D1: 84,
+    0x8D2: 84,
+    0x8D3: 84,
+    0x8D4: 84,
+    0x8D5: 84,
+    0x8D6: 84,
+    0x8D7: 84,
+    0x8D8: 84,
+    0x8D9: 84,
+    0x8DA: 84,
+    0x8DB: 84,
+    0x8DC: 84,
+    0x8DD: 84,
+    0x8DE: 84,
+    0x8DF: 84,
+    0x8E0: 84,
+    0x8E1: 84,
+    0x8E3: 84,
+    0x8E4: 84,
+    0x8E5: 84,
+    0x8E6: 84,
+    0x8E7: 84,
+    0x8E8: 84,
+    0x8E9: 84,
+    0x8EA: 84,
+    0x8EB: 84,
+    0x8EC: 84,
+    0x8ED: 84,
+    0x8EE: 84,
+    0x8EF: 84,
+    0x8F0: 84,
+    0x8F1: 84,
+    0x8F2: 84,
+    0x8F3: 84,
+    0x8F4: 84,
+    0x8F5: 84,
+    0x8F6: 84,
+    0x8F7: 84,
+    0x8F8: 84,
+    0x8F9: 84,
+    0x8FA: 84,
+    0x8FB: 84,
+    0x8FC: 84,
+    0x8FD: 84,
+    0x8FE: 84,
+    0x8FF: 84,
     0x900: 84,
     0x901: 84,
     0x902: 84,
-    0x93a: 84,
-    0x93c: 84,
+    0x93A: 84,
+    0x93C: 84,
     0x941: 84,
     0x942: 84,
     0x943: 84,
@@ -841,7 +841,7 @@
     0x946: 84,
     0x947: 84,
     0x948: 84,
-    0x94d: 84,
+    0x94D: 84,
     0x951: 84,
     0x952: 84,
     0x953: 84,
@@ -852,215 +852,215 @@
     0x962: 84,
     0x963: 84,
     0x981: 84,
-    0x9bc: 84,
-    0x9c1: 84,
-    0x9c2: 84,
-    0x9c3: 84,
-    0x9c4: 84,
-    0x9cd: 84,
-    0x9e2: 84,
-    0x9e3: 84,
-    0x9fe: 84,
-    0xa01: 84,
-    0xa02: 84,
-    0xa3c: 84,
-    0xa41: 84,
-    0xa42: 84,
-    0xa47: 84,
-    0xa48: 84,
-    0xa4b: 84,
-    0xa4c: 84,
-    0xa4d: 84,
-    0xa51: 84,
-    0xa70: 84,
-    0xa71: 84,
-    0xa75: 84,
-    0xa81: 84,
-    0xa82: 84,
-    0xabc: 84,
-    0xac1: 84,
-    0xac2: 84,
-    0xac3: 84,
-    0xac4: 84,
-    0xac5: 84,
-    0xac7: 84,
-    0xac8: 84,
-    0xacd: 84,
-    0xae2: 84,
-    0xae3: 84,
-    0xafa: 84,
-    0xafb: 84,
-    0xafc: 84,
-    0xafd: 84,
-    0xafe: 84,
-    0xaff: 84,
-    0xb01: 84,
-    0xb3c: 84,
-    0xb3f: 84,
-    0xb41: 84,
-    0xb42: 84,
-    0xb43: 84,
-    0xb44: 84,
-    0xb4d: 84,
-    0xb55: 84,
-    0xb56: 84,
-    0xb62: 84,
-    0xb63: 84,
-    0xb82: 84,
-    0xbc0: 84,
-    0xbcd: 84,
-    0xc00: 84,
-    0xc04: 84,
-    0xc3c: 84,
-    0xc3e: 84,
-    0xc3f: 84,
-    0xc40: 84,
-    0xc46: 84,
-    0xc47: 84,
-    0xc48: 84,
-    0xc4a: 84,
-    0xc4b: 84,
-    0xc4c: 84,
-    0xc4d: 84,
-    0xc55: 84,
-    0xc56: 84,
-    0xc62: 84,
-    0xc63: 84,
-    0xc81: 84,
-    0xcbc: 84,
-    0xcbf: 84,
-    0xcc6: 84,
-    0xccc: 84,
-    0xccd: 84,
-    0xce2: 84,
-    0xce3: 84,
-    0xd00: 84,
-    0xd01: 84,
-    0xd3b: 84,
-    0xd3c: 84,
-    0xd41: 84,
-    0xd42: 84,
-    0xd43: 84,
-    0xd44: 84,
-    0xd4d: 84,
-    0xd62: 84,
-    0xd63: 84,
-    0xd81: 84,
-    0xdca: 84,
-    0xdd2: 84,
-    0xdd3: 84,
-    0xdd4: 84,
-    0xdd6: 84,
-    0xe31: 84,
-    0xe34: 84,
-    0xe35: 84,
-    0xe36: 84,
-    0xe37: 84,
-    0xe38: 84,
-    0xe39: 84,
-    0xe3a: 84,
-    0xe47: 84,
-    0xe48: 84,
-    0xe49: 84,
-    0xe4a: 84,
-    0xe4b: 84,
-    0xe4c: 84,
-    0xe4d: 84,
-    0xe4e: 84,
-    0xeb1: 84,
-    0xeb4: 84,
-    0xeb5: 84,
-    0xeb6: 84,
-    0xeb7: 84,
-    0xeb8: 84,
-    0xeb9: 84,
-    0xeba: 84,
-    0xebb: 84,
-    0xebc: 84,
-    0xec8: 84,
-    0xec9: 84,
-    0xeca: 84,
-    0xecb: 84,
-    0xecc: 84,
-    0xecd: 84,
-    0xece: 84,
-    0xf18: 84,
-    0xf19: 84,
-    0xf35: 84,
-    0xf37: 84,
-    0xf39: 84,
-    0xf71: 84,
-    0xf72: 84,
-    0xf73: 84,
-    0xf74: 84,
-    0xf75: 84,
-    0xf76: 84,
-    0xf77: 84,
-    0xf78: 84,
-    0xf79: 84,
-    0xf7a: 84,
-    0xf7b: 84,
-    0xf7c: 84,
-    0xf7d: 84,
-    0xf7e: 84,
-    0xf80: 84,
-    0xf81: 84,
-    0xf82: 84,
-    0xf83: 84,
-    0xf84: 84,
-    0xf86: 84,
-    0xf87: 84,
-    0xf8d: 84,
-    0xf8e: 84,
-    0xf8f: 84,
-    0xf90: 84,
-    0xf91: 84,
-    0xf92: 84,
-    0xf93: 84,
-    0xf94: 84,
-    0xf95: 84,
-    0xf96: 84,
-    0xf97: 84,
-    0xf99: 84,
-    0xf9a: 84,
-    0xf9b: 84,
-    0xf9c: 84,
-    0xf9d: 84,
-    0xf9e: 84,
-    0xf9f: 84,
-    0xfa0: 84,
-    0xfa1: 84,
-    0xfa2: 84,
-    0xfa3: 84,
-    0xfa4: 84,
-    0xfa5: 84,
-    0xfa6: 84,
-    0xfa7: 84,
-    0xfa8: 84,
-    0xfa9: 84,
-    0xfaa: 84,
-    0xfab: 84,
-    0xfac: 84,
-    0xfad: 84,
-    0xfae: 84,
-    0xfaf: 84,
-    0xfb0: 84,
-    0xfb1: 84,
-    0xfb2: 84,
-    0xfb3: 84,
-    0xfb4: 84,
-    0xfb5: 84,
-    0xfb6: 84,
-    0xfb7: 84,
-    0xfb8: 84,
-    0xfb9: 84,
-    0xfba: 84,
-    0xfbb: 84,
-    0xfbc: 84,
-    0xfc6: 84,
-    0x102d: 84,
-    0x102e: 84,
-    0x102f: 84,
+    0x9BC: 84,
+    0x9C1: 84,
+    0x9C2: 84,
+    0x9C3: 84,
+    0x9C4: 84,
+    0x9CD: 84,
+    0x9E2: 84,
+    0x9E3: 84,
+    0x9FE: 84,
+    0xA01: 84,
+    0xA02: 84,
+    0xA3C: 84,
+    0xA41: 84,
+    0xA42: 84,
+    0xA47: 84,
+    0xA48: 84,
+    0xA4B: 84,
+    0xA4C: 84,
+    0xA4D: 84,
+    0xA51: 84,
+    0xA70: 84,
+    0xA71: 84,
+    0xA75: 84,
+    0xA81: 84,
+    0xA82: 84,
+    0xABC: 84,
+    0xAC1: 84,
+    0xAC2: 84,
+    0xAC3: 84,
+    0xAC4: 84,
+    0xAC5: 84,
+    0xAC7: 84,
+    0xAC8: 84,
+    0xACD: 84,
+    0xAE2: 84,
+    0xAE3: 84,
+    0xAFA: 84,
+    0xAFB: 84,
+    0xAFC: 84,
+    0xAFD: 84,
+    0xAFE: 84,
+    0xAFF: 84,
+    0xB01: 84,
+    0xB3C: 84,
+    0xB3F: 84,
+    0xB41: 84,
+    0xB42: 84,
+    0xB43: 84,
+    0xB44: 84,
+    0xB4D: 84,
+    0xB55: 84,
+    0xB56: 84,
+    0xB62: 84,
+    0xB63: 84,
+    0xB82: 84,
+    0xBC0: 84,
+    0xBCD: 84,
+    0xC00: 84,
+    0xC04: 84,
+    0xC3C: 84,
+    0xC3E: 84,
+    0xC3F: 84,
+    0xC40: 84,
+    0xC46: 84,
+    0xC47: 84,
+    0xC48: 84,
+    0xC4A: 84,
+    0xC4B: 84,
+    0xC4C: 84,
+    0xC4D: 84,
+    0xC55: 84,
+    0xC56: 84,
+    0xC62: 84,
+    0xC63: 84,
+    0xC81: 84,
+    0xCBC: 84,
+    0xCBF: 84,
+    0xCC6: 84,
+    0xCCC: 84,
+    0xCCD: 84,
+    0xCE2: 84,
+    0xCE3: 84,
+    0xD00: 84,
+    0xD01: 84,
+    0xD3B: 84,
+    0xD3C: 84,
+    0xD41: 84,
+    0xD42: 84,
+    0xD43: 84,
+    0xD44: 84,
+    0xD4D: 84,
+    0xD62: 84,
+    0xD63: 84,
+    0xD81: 84,
+    0xDCA: 84,
+    0xDD2: 84,
+    0xDD3: 84,
+    0xDD4: 84,
+    0xDD6: 84,
+    0xE31: 84,
+    0xE34: 84,
+    0xE35: 84,
+    0xE36: 84,
+    0xE37: 84,
+    0xE38: 84,
+    0xE39: 84,
+    0xE3A: 84,
+    0xE47: 84,
+    0xE48: 84,
+    0xE49: 84,
+    0xE4A: 84,
+    0xE4B: 84,
+    0xE4C: 84,
+    0xE4D: 84,
+    0xE4E: 84,
+    0xEB1: 84,
+    0xEB4: 84,
+    0xEB5: 84,
+    0xEB6: 84,
+    0xEB7: 84,
+    0xEB8: 84,
+    0xEB9: 84,
+    0xEBA: 84,
+    0xEBB: 84,
+    0xEBC: 84,
+    0xEC8: 84,
+    0xEC9: 84,
+    0xECA: 84,
+    0xECB: 84,
+    0xECC: 84,
+    0xECD: 84,
+    0xECE: 84,
+    0xF18: 84,
+    0xF19: 84,
+    0xF35: 84,
+    0xF37: 84,
+    0xF39: 84,
+    0xF71: 84,
+    0xF72: 84,
+    0xF73: 84,
+    0xF74: 84,
+    0xF75: 84,
+    0xF76: 84,
+    0xF77: 84,
+    0xF78: 84,
+    0xF79: 84,
+    0xF7A: 84,
+    0xF7B: 84,
+    0xF7C: 84,
+    0xF7D: 84,
+    0xF7E: 84,
+    0xF80: 84,
+    0xF81: 84,
+    0xF82: 84,
+    0xF83: 84,
+    0xF84: 84,
+    0xF86: 84,
+    0xF87: 84,
+    0xF8D: 84,
+    0xF8E: 84,
+    0xF8F: 84,
+    0xF90: 84,
+    0xF91: 84,
+    0xF92: 84,
+    0xF93: 84,
+    0xF94: 84,
+    0xF95: 84,
+    0xF96: 84,
+    0xF97: 84,
+    0xF99: 84,
+    0xF9A: 84,
+    0xF9B: 84,
+    0xF9C: 84,
+    0xF9D: 84,
+    0xF9E: 84,
+    0xF9F: 84,
+    0xFA0: 84,
+    0xFA1: 84,
+    0xFA2: 84,
+    0xFA3: 84,
+    0xFA4: 84,
+    0xFA5: 84,
+    0xFA6: 84,
+    0xFA7: 84,
+    0xFA8: 84,
+    0xFA9: 84,
+    0xFAA: 84,
+    0xFAB: 84,
+    0xFAC: 84,
+    0xFAD: 84,
+    0xFAE: 84,
+    0xFAF: 84,
+    0xFB0: 84,
+    0xFB1: 84,
+    0xFB2: 84,
+    0xFB3: 84,
+    0xFB4: 84,
+    0xFB5: 84,
+    0xFB6: 84,
+    0xFB7: 84,
+    0xFB8: 84,
+    0xFB9: 84,
+    0xFBA: 84,
+    0xFBB: 84,
+    0xFBC: 84,
+    0xFC6: 84,
+    0x102D: 84,
+    0x102E: 84,
+    0x102F: 84,
     0x1030: 84,
     0x1032: 84,
     0x1033: 84,
@@ -1069,13 +1069,13 @@
     0x1036: 84,
     0x1037: 84,
     0x1039: 84,
-    0x103a: 84,
-    0x103d: 84,
-    0x103e: 84,
+    0x103A: 84,
+    0x103D: 84,
+    0x103E: 84,
     0x1058: 84,
     0x1059: 84,
-    0x105e: 84,
-    0x105f: 84,
+    0x105E: 84,
+    0x105F: 84,
     0x1060: 84,
     0x1071: 84,
     0x1072: 84,
@@ -1084,11 +1084,11 @@
     0x1082: 84,
     0x1085: 84,
     0x1086: 84,
-    0x108d: 84,
-    0x109d: 84,
-    0x135d: 84,
-    0x135e: 84,
-    0x135f: 84,
+    0x108D: 84,
+    0x109D: 84,
+    0x135D: 84,
+    0x135E: 84,
+    0x135F: 84,
     0x1712: 84,
     0x1713: 84,
     0x1714: 84,
@@ -1098,34 +1098,34 @@
     0x1753: 84,
     0x1772: 84,
     0x1773: 84,
-    0x17b4: 84,
-    0x17b5: 84,
-    0x17b7: 84,
-    0x17b8: 84,
-    0x17b9: 84,
-    0x17ba: 84,
-    0x17bb: 84,
-    0x17bc: 84,
-    0x17bd: 84,
-    0x17c6: 84,
-    0x17c9: 84,
-    0x17ca: 84,
-    0x17cb: 84,
-    0x17cc: 84,
-    0x17cd: 84,
-    0x17ce: 84,
-    0x17cf: 84,
-    0x17d0: 84,
-    0x17d1: 84,
-    0x17d2: 84,
-    0x17d3: 84,
-    0x17dd: 84,
+    0x17B4: 84,
+    0x17B5: 84,
+    0x17B7: 84,
+    0x17B8: 84,
+    0x17B9: 84,
+    0x17BA: 84,
+    0x17BB: 84,
+    0x17BC: 84,
+    0x17BD: 84,
+    0x17C6: 84,
+    0x17C9: 84,
+    0x17CA: 84,
+    0x17CB: 84,
+    0x17CC: 84,
+    0x17CD: 84,
+    0x17CE: 84,
+    0x17CF: 84,
+    0x17D0: 84,
+    0x17D1: 84,
+    0x17D2: 84,
+    0x17D3: 84,
+    0x17DD: 84,
     0x1807: 68,
-    0x180a: 67,
-    0x180b: 84,
-    0x180c: 84,
-    0x180d: 84,
-    0x180f: 84,
+    0x180A: 67,
+    0x180B: 84,
+    0x180C: 84,
+    0x180D: 84,
+    0x180F: 84,
     0x1820: 68,
     0x1821: 68,
     0x1822: 68,
@@ -1136,12 +1136,12 @@
     0x1827: 68,
     0x1828: 68,
     0x1829: 68,
-    0x182a: 68,
-    0x182b: 68,
-    0x182c: 68,
-    0x182d: 68,
-    0x182e: 68,
-    0x182f: 68,
+    0x182A: 68,
+    0x182B: 68,
+    0x182C: 68,
+    0x182D: 68,
+    0x182E: 68,
+    0x182F: 68,
     0x1830: 68,
     0x1831: 68,
     0x1832: 68,
@@ -1152,12 +1152,12 @@
     0x1837: 68,
     0x1838: 68,
     0x1839: 68,
-    0x183a: 68,
-    0x183b: 68,
-    0x183c: 68,
-    0x183d: 68,
-    0x183e: 68,
-    0x183f: 68,
+    0x183A: 68,
+    0x183B: 68,
+    0x183C: 68,
+    0x183D: 68,
+    0x183E: 68,
+    0x183F: 68,
     0x1840: 68,
     0x1841: 68,
     0x1842: 68,
@@ -1168,12 +1168,12 @@
     0x1847: 68,
     0x1848: 68,
     0x1849: 68,
-    0x184a: 68,
-    0x184b: 68,
-    0x184c: 68,
-    0x184d: 68,
-    0x184e: 68,
-    0x184f: 68,
+    0x184A: 68,
+    0x184B: 68,
+    0x184C: 68,
+    0x184D: 68,
+    0x184E: 68,
+    0x184F: 68,
     0x1850: 68,
     0x1851: 68,
     0x1852: 68,
@@ -1184,12 +1184,12 @@
     0x1857: 68,
     0x1858: 68,
     0x1859: 68,
-    0x185a: 68,
-    0x185b: 68,
-    0x185c: 68,
-    0x185d: 68,
-    0x185e: 68,
-    0x185f: 68,
+    0x185A: 68,
+    0x185B: 68,
+    0x185C: 68,
+    0x185D: 68,
+    0x185E: 68,
+    0x185F: 68,
     0x1860: 68,
     0x1861: 68,
     0x1862: 68,
@@ -1200,12 +1200,12 @@
     0x1867: 68,
     0x1868: 68,
     0x1869: 68,
-    0x186a: 68,
-    0x186b: 68,
-    0x186c: 68,
-    0x186d: 68,
-    0x186e: 68,
-    0x186f: 68,
+    0x186A: 68,
+    0x186B: 68,
+    0x186C: 68,
+    0x186D: 68,
+    0x186E: 68,
+    0x186F: 68,
     0x1870: 68,
     0x1871: 68,
     0x1872: 68,
@@ -1220,12 +1220,12 @@
     0x1887: 68,
     0x1888: 68,
     0x1889: 68,
-    0x188a: 68,
-    0x188b: 68,
-    0x188c: 68,
-    0x188d: 68,
-    0x188e: 68,
-    0x188f: 68,
+    0x188A: 68,
+    0x188B: 68,
+    0x188C: 68,
+    0x188D: 68,
+    0x188E: 68,
+    0x188F: 68,
     0x1890: 68,
     0x1891: 68,
     0x1892: 68,
@@ -1236,23 +1236,23 @@
     0x1897: 68,
     0x1898: 68,
     0x1899: 68,
-    0x189a: 68,
-    0x189b: 68,
-    0x189c: 68,
-    0x189d: 68,
-    0x189e: 68,
-    0x189f: 68,
-    0x18a0: 68,
-    0x18a1: 68,
-    0x18a2: 68,
-    0x18a3: 68,
-    0x18a4: 68,
-    0x18a5: 68,
-    0x18a6: 68,
-    0x18a7: 68,
-    0x18a8: 68,
-    0x18a9: 84,
-    0x18aa: 68,
+    0x189A: 68,
+    0x189B: 68,
+    0x189C: 68,
+    0x189D: 68,
+    0x189E: 68,
+    0x189F: 68,
+    0x18A0: 68,
+    0x18A1: 68,
+    0x18A2: 68,
+    0x18A3: 68,
+    0x18A4: 68,
+    0x18A5: 68,
+    0x18A6: 68,
+    0x18A7: 68,
+    0x18A8: 68,
+    0x18A9: 84,
+    0x18AA: 68,
     0x1920: 84,
     0x1921: 84,
     0x1922: 84,
@@ -1260,712 +1260,712 @@
     0x1928: 84,
     0x1932: 84,
     0x1939: 84,
-    0x193a: 84,
-    0x193b: 84,
-    0x1a17: 84,
-    0x1a18: 84,
-    0x1a1b: 84,
-    0x1a56: 84,
-    0x1a58: 84,
-    0x1a59: 84,
-    0x1a5a: 84,
-    0x1a5b: 84,
-    0x1a5c: 84,
-    0x1a5d: 84,
-    0x1a5e: 84,
-    0x1a60: 84,
-    0x1a62: 84,
-    0x1a65: 84,
-    0x1a66: 84,
-    0x1a67: 84,
-    0x1a68: 84,
-    0x1a69: 84,
-    0x1a6a: 84,
-    0x1a6b: 84,
-    0x1a6c: 84,
-    0x1a73: 84,
-    0x1a74: 84,
-    0x1a75: 84,
-    0x1a76: 84,
-    0x1a77: 84,
-    0x1a78: 84,
-    0x1a79: 84,
-    0x1a7a: 84,
-    0x1a7b: 84,
-    0x1a7c: 84,
-    0x1a7f: 84,
-    0x1ab0: 84,
-    0x1ab1: 84,
-    0x1ab2: 84,
-    0x1ab3: 84,
-    0x1ab4: 84,
-    0x1ab5: 84,
-    0x1ab6: 84,
-    0x1ab7: 84,
-    0x1ab8: 84,
-    0x1ab9: 84,
-    0x1aba: 84,
-    0x1abb: 84,
-    0x1abc: 84,
-    0x1abd: 84,
-    0x1abe: 84,
-    0x1abf: 84,
-    0x1ac0: 84,
-    0x1ac1: 84,
-    0x1ac2: 84,
-    0x1ac3: 84,
-    0x1ac4: 84,
-    0x1ac5: 84,
-    0x1ac6: 84,
-    0x1ac7: 84,
-    0x1ac8: 84,
-    0x1ac9: 84,
-    0x1aca: 84,
-    0x1acb: 84,
-    0x1acc: 84,
-    0x1acd: 84,
-    0x1ace: 84,
-    0x1b00: 84,
-    0x1b01: 84,
-    0x1b02: 84,
-    0x1b03: 84,
-    0x1b34: 84,
-    0x1b36: 84,
-    0x1b37: 84,
-    0x1b38: 84,
-    0x1b39: 84,
-    0x1b3a: 84,
-    0x1b3c: 84,
-    0x1b42: 84,
-    0x1b6b: 84,
-    0x1b6c: 84,
-    0x1b6d: 84,
-    0x1b6e: 84,
-    0x1b6f: 84,
-    0x1b70: 84,
-    0x1b71: 84,
-    0x1b72: 84,
-    0x1b73: 84,
-    0x1b80: 84,
-    0x1b81: 84,
-    0x1ba2: 84,
-    0x1ba3: 84,
-    0x1ba4: 84,
-    0x1ba5: 84,
-    0x1ba8: 84,
-    0x1ba9: 84,
-    0x1bab: 84,
-    0x1bac: 84,
-    0x1bad: 84,
-    0x1be6: 84,
-    0x1be8: 84,
-    0x1be9: 84,
-    0x1bed: 84,
-    0x1bef: 84,
-    0x1bf0: 84,
-    0x1bf1: 84,
-    0x1c2c: 84,
-    0x1c2d: 84,
-    0x1c2e: 84,
-    0x1c2f: 84,
-    0x1c30: 84,
-    0x1c31: 84,
-    0x1c32: 84,
-    0x1c33: 84,
-    0x1c36: 84,
-    0x1c37: 84,
-    0x1cd0: 84,
-    0x1cd1: 84,
-    0x1cd2: 84,
-    0x1cd4: 84,
-    0x1cd5: 84,
-    0x1cd6: 84,
-    0x1cd7: 84,
-    0x1cd8: 84,
-    0x1cd9: 84,
-    0x1cda: 84,
-    0x1cdb: 84,
-    0x1cdc: 84,
-    0x1cdd: 84,
-    0x1cde: 84,
-    0x1cdf: 84,
-    0x1ce0: 84,
-    0x1ce2: 84,
-    0x1ce3: 84,
-    0x1ce4: 84,
-    0x1ce5: 84,
-    0x1ce6: 84,
-    0x1ce7: 84,
-    0x1ce8: 84,
-    0x1ced: 84,
-    0x1cf4: 84,
-    0x1cf8: 84,
-    0x1cf9: 84,
-    0x1dc0: 84,
-    0x1dc1: 84,
-    0x1dc2: 84,
-    0x1dc3: 84,
-    0x1dc4: 84,
-    0x1dc5: 84,
-    0x1dc6: 84,
-    0x1dc7: 84,
-    0x1dc8: 84,
-    0x1dc9: 84,
-    0x1dca: 84,
-    0x1dcb: 84,
-    0x1dcc: 84,
-    0x1dcd: 84,
-    0x1dce: 84,
-    0x1dcf: 84,
-    0x1dd0: 84,
-    0x1dd1: 84,
-    0x1dd2: 84,
-    0x1dd3: 84,
-    0x1dd4: 84,
-    0x1dd5: 84,
-    0x1dd6: 84,
-    0x1dd7: 84,
-    0x1dd8: 84,
-    0x1dd9: 84,
-    0x1dda: 84,
-    0x1ddb: 84,
-    0x1ddc: 84,
-    0x1ddd: 84,
-    0x1dde: 84,
-    0x1ddf: 84,
-    0x1de0: 84,
-    0x1de1: 84,
-    0x1de2: 84,
-    0x1de3: 84,
-    0x1de4: 84,
-    0x1de5: 84,
-    0x1de6: 84,
-    0x1de7: 84,
-    0x1de8: 84,
-    0x1de9: 84,
-    0x1dea: 84,
-    0x1deb: 84,
-    0x1dec: 84,
-    0x1ded: 84,
-    0x1dee: 84,
-    0x1def: 84,
-    0x1df0: 84,
-    0x1df1: 84,
-    0x1df2: 84,
-    0x1df3: 84,
-    0x1df4: 84,
-    0x1df5: 84,
-    0x1df6: 84,
-    0x1df7: 84,
-    0x1df8: 84,
-    0x1df9: 84,
-    0x1dfa: 84,
-    0x1dfb: 84,
-    0x1dfc: 84,
-    0x1dfd: 84,
-    0x1dfe: 84,
-    0x1dff: 84,
-    0x200b: 84,
-    0x200d: 67,
-    0x200e: 84,
-    0x200f: 84,
-    0x202a: 84,
-    0x202b: 84,
-    0x202c: 84,
-    0x202d: 84,
-    0x202e: 84,
+    0x193A: 84,
+    0x193B: 84,
+    0x1A17: 84,
+    0x1A18: 84,
+    0x1A1B: 84,
+    0x1A56: 84,
+    0x1A58: 84,
+    0x1A59: 84,
+    0x1A5A: 84,
+    0x1A5B: 84,
+    0x1A5C: 84,
+    0x1A5D: 84,
+    0x1A5E: 84,
+    0x1A60: 84,
+    0x1A62: 84,
+    0x1A65: 84,
+    0x1A66: 84,
+    0x1A67: 84,
+    0x1A68: 84,
+    0x1A69: 84,
+    0x1A6A: 84,
+    0x1A6B: 84,
+    0x1A6C: 84,
+    0x1A73: 84,
+    0x1A74: 84,
+    0x1A75: 84,
+    0x1A76: 84,
+    0x1A77: 84,
+    0x1A78: 84,
+    0x1A79: 84,
+    0x1A7A: 84,
+    0x1A7B: 84,
+    0x1A7C: 84,
+    0x1A7F: 84,
+    0x1AB0: 84,
+    0x1AB1: 84,
+    0x1AB2: 84,
+    0x1AB3: 84,
+    0x1AB4: 84,
+    0x1AB5: 84,
+    0x1AB6: 84,
+    0x1AB7: 84,
+    0x1AB8: 84,
+    0x1AB9: 84,
+    0x1ABA: 84,
+    0x1ABB: 84,
+    0x1ABC: 84,
+    0x1ABD: 84,
+    0x1ABE: 84,
+    0x1ABF: 84,
+    0x1AC0: 84,
+    0x1AC1: 84,
+    0x1AC2: 84,
+    0x1AC3: 84,
+    0x1AC4: 84,
+    0x1AC5: 84,
+    0x1AC6: 84,
+    0x1AC7: 84,
+    0x1AC8: 84,
+    0x1AC9: 84,
+    0x1ACA: 84,
+    0x1ACB: 84,
+    0x1ACC: 84,
+    0x1ACD: 84,
+    0x1ACE: 84,
+    0x1B00: 84,
+    0x1B01: 84,
+    0x1B02: 84,
+    0x1B03: 84,
+    0x1B34: 84,
+    0x1B36: 84,
+    0x1B37: 84,
+    0x1B38: 84,
+    0x1B39: 84,
+    0x1B3A: 84,
+    0x1B3C: 84,
+    0x1B42: 84,
+    0x1B6B: 84,
+    0x1B6C: 84,
+    0x1B6D: 84,
+    0x1B6E: 84,
+    0x1B6F: 84,
+    0x1B70: 84,
+    0x1B71: 84,
+    0x1B72: 84,
+    0x1B73: 84,
+    0x1B80: 84,
+    0x1B81: 84,
+    0x1BA2: 84,
+    0x1BA3: 84,
+    0x1BA4: 84,
+    0x1BA5: 84,
+    0x1BA8: 84,
+    0x1BA9: 84,
+    0x1BAB: 84,
+    0x1BAC: 84,
+    0x1BAD: 84,
+    0x1BE6: 84,
+    0x1BE8: 84,
+    0x1BE9: 84,
+    0x1BED: 84,
+    0x1BEF: 84,
+    0x1BF0: 84,
+    0x1BF1: 84,
+    0x1C2C: 84,
+    0x1C2D: 84,
+    0x1C2E: 84,
+    0x1C2F: 84,
+    0x1C30: 84,
+    0x1C31: 84,
+    0x1C32: 84,
+    0x1C33: 84,
+    0x1C36: 84,
+    0x1C37: 84,
+    0x1CD0: 84,
+    0x1CD1: 84,
+    0x1CD2: 84,
+    0x1CD4: 84,
+    0x1CD5: 84,
+    0x1CD6: 84,
+    0x1CD7: 84,
+    0x1CD8: 84,
+    0x1CD9: 84,
+    0x1CDA: 84,
+    0x1CDB: 84,
+    0x1CDC: 84,
+    0x1CDD: 84,
+    0x1CDE: 84,
+    0x1CDF: 84,
+    0x1CE0: 84,
+    0x1CE2: 84,
+    0x1CE3: 84,
+    0x1CE4: 84,
+    0x1CE5: 84,
+    0x1CE6: 84,
+    0x1CE7: 84,
+    0x1CE8: 84,
+    0x1CED: 84,
+    0x1CF4: 84,
+    0x1CF8: 84,
+    0x1CF9: 84,
+    0x1DC0: 84,
+    0x1DC1: 84,
+    0x1DC2: 84,
+    0x1DC3: 84,
+    0x1DC4: 84,
+    0x1DC5: 84,
+    0x1DC6: 84,
+    0x1DC7: 84,
+    0x1DC8: 84,
+    0x1DC9: 84,
+    0x1DCA: 84,
+    0x1DCB: 84,
+    0x1DCC: 84,
+    0x1DCD: 84,
+    0x1DCE: 84,
+    0x1DCF: 84,
+    0x1DD0: 84,
+    0x1DD1: 84,
+    0x1DD2: 84,
+    0x1DD3: 84,
+    0x1DD4: 84,
+    0x1DD5: 84,
+    0x1DD6: 84,
+    0x1DD7: 84,
+    0x1DD8: 84,
+    0x1DD9: 84,
+    0x1DDA: 84,
+    0x1DDB: 84,
+    0x1DDC: 84,
+    0x1DDD: 84,
+    0x1DDE: 84,
+    0x1DDF: 84,
+    0x1DE0: 84,
+    0x1DE1: 84,
+    0x1DE2: 84,
+    0x1DE3: 84,
+    0x1DE4: 84,
+    0x1DE5: 84,
+    0x1DE6: 84,
+    0x1DE7: 84,
+    0x1DE8: 84,
+    0x1DE9: 84,
+    0x1DEA: 84,
+    0x1DEB: 84,
+    0x1DEC: 84,
+    0x1DED: 84,
+    0x1DEE: 84,
+    0x1DEF: 84,
+    0x1DF0: 84,
+    0x1DF1: 84,
+    0x1DF2: 84,
+    0x1DF3: 84,
+    0x1DF4: 84,
+    0x1DF5: 84,
+    0x1DF6: 84,
+    0x1DF7: 84,
+    0x1DF8: 84,
+    0x1DF9: 84,
+    0x1DFA: 84,
+    0x1DFB: 84,
+    0x1DFC: 84,
+    0x1DFD: 84,
+    0x1DFE: 84,
+    0x1DFF: 84,
+    0x200B: 84,
+    0x200D: 67,
+    0x200E: 84,
+    0x200F: 84,
+    0x202A: 84,
+    0x202B: 84,
+    0x202C: 84,
+    0x202D: 84,
+    0x202E: 84,
     0x2060: 84,
     0x2061: 84,
     0x2062: 84,
     0x2063: 84,
     0x2064: 84,
-    0x206a: 84,
-    0x206b: 84,
-    0x206c: 84,
-    0x206d: 84,
-    0x206e: 84,
-    0x206f: 84,
-    0x20d0: 84,
-    0x20d1: 84,
-    0x20d2: 84,
-    0x20d3: 84,
-    0x20d4: 84,
-    0x20d5: 84,
-    0x20d6: 84,
-    0x20d7: 84,
-    0x20d8: 84,
-    0x20d9: 84,
-    0x20da: 84,
-    0x20db: 84,
-    0x20dc: 84,
-    0x20dd: 84,
-    0x20de: 84,
-    0x20df: 84,
-    0x20e0: 84,
-    0x20e1: 84,
-    0x20e2: 84,
-    0x20e3: 84,
-    0x20e4: 84,
-    0x20e5: 84,
-    0x20e6: 84,
-    0x20e7: 84,
-    0x20e8: 84,
-    0x20e9: 84,
-    0x20ea: 84,
-    0x20eb: 84,
-    0x20ec: 84,
-    0x20ed: 84,
-    0x20ee: 84,
-    0x20ef: 84,
-    0x20f0: 84,
-    0x2cef: 84,
-    0x2cf0: 84,
-    0x2cf1: 84,
-    0x2d7f: 84,
-    0x2de0: 84,
-    0x2de1: 84,
-    0x2de2: 84,
-    0x2de3: 84,
-    0x2de4: 84,
-    0x2de5: 84,
-    0x2de6: 84,
-    0x2de7: 84,
-    0x2de8: 84,
-    0x2de9: 84,
-    0x2dea: 84,
-    0x2deb: 84,
-    0x2dec: 84,
-    0x2ded: 84,
-    0x2dee: 84,
-    0x2def: 84,
-    0x2df0: 84,
-    0x2df1: 84,
-    0x2df2: 84,
-    0x2df3: 84,
-    0x2df4: 84,
-    0x2df5: 84,
-    0x2df6: 84,
-    0x2df7: 84,
-    0x2df8: 84,
-    0x2df9: 84,
-    0x2dfa: 84,
-    0x2dfb: 84,
-    0x2dfc: 84,
-    0x2dfd: 84,
-    0x2dfe: 84,
-    0x2dff: 84,
-    0x302a: 84,
-    0x302b: 84,
-    0x302c: 84,
-    0x302d: 84,
+    0x206A: 84,
+    0x206B: 84,
+    0x206C: 84,
+    0x206D: 84,
+    0x206E: 84,
+    0x206F: 84,
+    0x20D0: 84,
+    0x20D1: 84,
+    0x20D2: 84,
+    0x20D3: 84,
+    0x20D4: 84,
+    0x20D5: 84,
+    0x20D6: 84,
+    0x20D7: 84,
+    0x20D8: 84,
+    0x20D9: 84,
+    0x20DA: 84,
+    0x20DB: 84,
+    0x20DC: 84,
+    0x20DD: 84,
+    0x20DE: 84,
+    0x20DF: 84,
+    0x20E0: 84,
+    0x20E1: 84,
+    0x20E2: 84,
+    0x20E3: 84,
+    0x20E4: 84,
+    0x20E5: 84,
+    0x20E6: 84,
+    0x20E7: 84,
+    0x20E8: 84,
+    0x20E9: 84,
+    0x20EA: 84,
+    0x20EB: 84,
+    0x20EC: 84,
+    0x20ED: 84,
+    0x20EE: 84,
+    0x20EF: 84,
+    0x20F0: 84,
+    0x2CEF: 84,
+    0x2CF0: 84,
+    0x2CF1: 84,
+    0x2D7F: 84,
+    0x2DE0: 84,
+    0x2DE1: 84,
+    0x2DE2: 84,
+    0x2DE3: 84,
+    0x2DE4: 84,
+    0x2DE5: 84,
+    0x2DE6: 84,
+    0x2DE7: 84,
+    0x2DE8: 84,
+    0x2DE9: 84,
+    0x2DEA: 84,
+    0x2DEB: 84,
+    0x2DEC: 84,
+    0x2DED: 84,
+    0x2DEE: 84,
+    0x2DEF: 84,
+    0x2DF0: 84,
+    0x2DF1: 84,
+    0x2DF2: 84,
+    0x2DF3: 84,
+    0x2DF4: 84,
+    0x2DF5: 84,
+    0x2DF6: 84,
+    0x2DF7: 84,
+    0x2DF8: 84,
+    0x2DF9: 84,
+    0x2DFA: 84,
+    0x2DFB: 84,
+    0x2DFC: 84,
+    0x2DFD: 84,
+    0x2DFE: 84,
+    0x2DFF: 84,
+    0x302A: 84,
+    0x302B: 84,
+    0x302C: 84,
+    0x302D: 84,
     0x3099: 84,
-    0x309a: 84,
-    0xa66f: 84,
-    0xa670: 84,
-    0xa671: 84,
-    0xa672: 84,
-    0xa674: 84,
-    0xa675: 84,
-    0xa676: 84,
-    0xa677: 84,
-    0xa678: 84,
-    0xa679: 84,
-    0xa67a: 84,
-    0xa67b: 84,
-    0xa67c: 84,
-    0xa67d: 84,
-    0xa69e: 84,
-    0xa69f: 84,
-    0xa6f0: 84,
-    0xa6f1: 84,
-    0xa802: 84,
-    0xa806: 84,
-    0xa80b: 84,
-    0xa825: 84,
-    0xa826: 84,
-    0xa82c: 84,
-    0xa840: 68,
-    0xa841: 68,
-    0xa842: 68,
-    0xa843: 68,
-    0xa844: 68,
-    0xa845: 68,
-    0xa846: 68,
-    0xa847: 68,
-    0xa848: 68,
-    0xa849: 68,
-    0xa84a: 68,
-    0xa84b: 68,
-    0xa84c: 68,
-    0xa84d: 68,
-    0xa84e: 68,
-    0xa84f: 68,
-    0xa850: 68,
-    0xa851: 68,
-    0xa852: 68,
-    0xa853: 68,
-    0xa854: 68,
-    0xa855: 68,
-    0xa856: 68,
-    0xa857: 68,
-    0xa858: 68,
-    0xa859: 68,
-    0xa85a: 68,
-    0xa85b: 68,
-    0xa85c: 68,
-    0xa85d: 68,
-    0xa85e: 68,
-    0xa85f: 68,
-    0xa860: 68,
-    0xa861: 68,
-    0xa862: 68,
-    0xa863: 68,
-    0xa864: 68,
-    0xa865: 68,
-    0xa866: 68,
-    0xa867: 68,
-    0xa868: 68,
-    0xa869: 68,
-    0xa86a: 68,
-    0xa86b: 68,
-    0xa86c: 68,
-    0xa86d: 68,
-    0xa86e: 68,
-    0xa86f: 68,
-    0xa870: 68,
-    0xa871: 68,
-    0xa872: 76,
-    0xa8c4: 84,
-    0xa8c5: 84,
-    0xa8e0: 84,
-    0xa8e1: 84,
-    0xa8e2: 84,
-    0xa8e3: 84,
-    0xa8e4: 84,
-    0xa8e5: 84,
-    0xa8e6: 84,
-    0xa8e7: 84,
-    0xa8e8: 84,
-    0xa8e9: 84,
-    0xa8ea: 84,
-    0xa8eb: 84,
-    0xa8ec: 84,
-    0xa8ed: 84,
-    0xa8ee: 84,
-    0xa8ef: 84,
-    0xa8f0: 84,
-    0xa8f1: 84,
-    0xa8ff: 84,
-    0xa926: 84,
-    0xa927: 84,
-    0xa928: 84,
-    0xa929: 84,
-    0xa92a: 84,
-    0xa92b: 84,
-    0xa92c: 84,
-    0xa92d: 84,
-    0xa947: 84,
-    0xa948: 84,
-    0xa949: 84,
-    0xa94a: 84,
-    0xa94b: 84,
-    0xa94c: 84,
-    0xa94d: 84,
-    0xa94e: 84,
-    0xa94f: 84,
-    0xa950: 84,
-    0xa951: 84,
-    0xa980: 84,
-    0xa981: 84,
-    0xa982: 84,
-    0xa9b3: 84,
-    0xa9b6: 84,
-    0xa9b7: 84,
-    0xa9b8: 84,
-    0xa9b9: 84,
-    0xa9bc: 84,
-    0xa9bd: 84,
-    0xa9e5: 84,
-    0xaa29: 84,
-    0xaa2a: 84,
-    0xaa2b: 84,
-    0xaa2c: 84,
-    0xaa2d: 84,
-    0xaa2e: 84,
-    0xaa31: 84,
-    0xaa32: 84,
-    0xaa35: 84,
-    0xaa36: 84,
-    0xaa43: 84,
-    0xaa4c: 84,
-    0xaa7c: 84,
-    0xaab0: 84,
-    0xaab2: 84,
-    0xaab3: 84,
-    0xaab4: 84,
-    0xaab7: 84,
-    0xaab8: 84,
-    0xaabe: 84,
-    0xaabf: 84,
-    0xaac1: 84,
-    0xaaec: 84,
-    0xaaed: 84,
-    0xaaf6: 84,
-    0xabe5: 84,
-    0xabe8: 84,
-    0xabed: 84,
-    0xfb1e: 84,
-    0xfe00: 84,
-    0xfe01: 84,
-    0xfe02: 84,
-    0xfe03: 84,
-    0xfe04: 84,
-    0xfe05: 84,
-    0xfe06: 84,
-    0xfe07: 84,
-    0xfe08: 84,
-    0xfe09: 84,
-    0xfe0a: 84,
-    0xfe0b: 84,
-    0xfe0c: 84,
-    0xfe0d: 84,
-    0xfe0e: 84,
-    0xfe0f: 84,
-    0xfe20: 84,
-    0xfe21: 84,
-    0xfe22: 84,
-    0xfe23: 84,
-    0xfe24: 84,
-    0xfe25: 84,
-    0xfe26: 84,
-    0xfe27: 84,
-    0xfe28: 84,
-    0xfe29: 84,
-    0xfe2a: 84,
-    0xfe2b: 84,
-    0xfe2c: 84,
-    0xfe2d: 84,
-    0xfe2e: 84,
-    0xfe2f: 84,
-    0xfeff: 84,
-    0xfff9: 84,
-    0xfffa: 84,
-    0xfffb: 84,
-    0x101fd: 84,
-    0x102e0: 84,
+    0x309A: 84,
+    0xA66F: 84,
+    0xA670: 84,
+    0xA671: 84,
+    0xA672: 84,
+    0xA674: 84,
+    0xA675: 84,
+    0xA676: 84,
+    0xA677: 84,
+    0xA678: 84,
+    0xA679: 84,
+    0xA67A: 84,
+    0xA67B: 84,
+    0xA67C: 84,
+    0xA67D: 84,
+    0xA69E: 84,
+    0xA69F: 84,
+    0xA6F0: 84,
+    0xA6F1: 84,
+    0xA802: 84,
+    0xA806: 84,
+    0xA80B: 84,
+    0xA825: 84,
+    0xA826: 84,
+    0xA82C: 84,
+    0xA840: 68,
+    0xA841: 68,
+    0xA842: 68,
+    0xA843: 68,
+    0xA844: 68,
+    0xA845: 68,
+    0xA846: 68,
+    0xA847: 68,
+    0xA848: 68,
+    0xA849: 68,
+    0xA84A: 68,
+    0xA84B: 68,
+    0xA84C: 68,
+    0xA84D: 68,
+    0xA84E: 68,
+    0xA84F: 68,
+    0xA850: 68,
+    0xA851: 68,
+    0xA852: 68,
+    0xA853: 68,
+    0xA854: 68,
+    0xA855: 68,
+    0xA856: 68,
+    0xA857: 68,
+    0xA858: 68,
+    0xA859: 68,
+    0xA85A: 68,
+    0xA85B: 68,
+    0xA85C: 68,
+    0xA85D: 68,
+    0xA85E: 68,
+    0xA85F: 68,
+    0xA860: 68,
+    0xA861: 68,
+    0xA862: 68,
+    0xA863: 68,
+    0xA864: 68,
+    0xA865: 68,
+    0xA866: 68,
+    0xA867: 68,
+    0xA868: 68,
+    0xA869: 68,
+    0xA86A: 68,
+    0xA86B: 68,
+    0xA86C: 68,
+    0xA86D: 68,
+    0xA86E: 68,
+    0xA86F: 68,
+    0xA870: 68,
+    0xA871: 68,
+    0xA872: 76,
+    0xA8C4: 84,
+    0xA8C5: 84,
+    0xA8E0: 84,
+    0xA8E1: 84,
+    0xA8E2: 84,
+    0xA8E3: 84,
+    0xA8E4: 84,
+    0xA8E5: 84,
+    0xA8E6: 84,
+    0xA8E7: 84,
+    0xA8E8: 84,
+    0xA8E9: 84,
+    0xA8EA: 84,
+    0xA8EB: 84,
+    0xA8EC: 84,
+    0xA8ED: 84,
+    0xA8EE: 84,
+    0xA8EF: 84,
+    0xA8F0: 84,
+    0xA8F1: 84,
+    0xA8FF: 84,
+    0xA926: 84,
+    0xA927: 84,
+    0xA928: 84,
+    0xA929: 84,
+    0xA92A: 84,
+    0xA92B: 84,
+    0xA92C: 84,
+    0xA92D: 84,
+    0xA947: 84,
+    0xA948: 84,
+    0xA949: 84,
+    0xA94A: 84,
+    0xA94B: 84,
+    0xA94C: 84,
+    0xA94D: 84,
+    0xA94E: 84,
+    0xA94F: 84,
+    0xA950: 84,
+    0xA951: 84,
+    0xA980: 84,
+    0xA981: 84,
+    0xA982: 84,
+    0xA9B3: 84,
+    0xA9B6: 84,
+    0xA9B7: 84,
+    0xA9B8: 84,
+    0xA9B9: 84,
+    0xA9BC: 84,
+    0xA9BD: 84,
+    0xA9E5: 84,
+    0xAA29: 84,
+    0xAA2A: 84,
+    0xAA2B: 84,
+    0xAA2C: 84,
+    0xAA2D: 84,
+    0xAA2E: 84,
+    0xAA31: 84,
+    0xAA32: 84,
+    0xAA35: 84,
+    0xAA36: 84,
+    0xAA43: 84,
+    0xAA4C: 84,
+    0xAA7C: 84,
+    0xAAB0: 84,
+    0xAAB2: 84,
+    0xAAB3: 84,
+    0xAAB4: 84,
+    0xAAB7: 84,
+    0xAAB8: 84,
+    0xAABE: 84,
+    0xAABF: 84,
+    0xAAC1: 84,
+    0xAAEC: 84,
+    0xAAED: 84,
+    0xAAF6: 84,
+    0xABE5: 84,
+    0xABE8: 84,
+    0xABED: 84,
+    0xFB1E: 84,
+    0xFE00: 84,
+    0xFE01: 84,
+    0xFE02: 84,
+    0xFE03: 84,
+    0xFE04: 84,
+    0xFE05: 84,
+    0xFE06: 84,
+    0xFE07: 84,
+    0xFE08: 84,
+    0xFE09: 84,
+    0xFE0A: 84,
+    0xFE0B: 84,
+    0xFE0C: 84,
+    0xFE0D: 84,
+    0xFE0E: 84,
+    0xFE0F: 84,
+    0xFE20: 84,
+    0xFE21: 84,
+    0xFE22: 84,
+    0xFE23: 84,
+    0xFE24: 84,
+    0xFE25: 84,
+    0xFE26: 84,
+    0xFE27: 84,
+    0xFE28: 84,
+    0xFE29: 84,
+    0xFE2A: 84,
+    0xFE2B: 84,
+    0xFE2C: 84,
+    0xFE2D: 84,
+    0xFE2E: 84,
+    0xFE2F: 84,
+    0xFEFF: 84,
+    0xFFF9: 84,
+    0xFFFA: 84,
+    0xFFFB: 84,
+    0x101FD: 84,
+    0x102E0: 84,
     0x10376: 84,
     0x10377: 84,
     0x10378: 84,
     0x10379: 84,
-    0x1037a: 84,
-    0x10a01: 84,
-    0x10a02: 84,
-    0x10a03: 84,
-    0x10a05: 84,
-    0x10a06: 84,
-    0x10a0c: 84,
-    0x10a0d: 84,
-    0x10a0e: 84,
-    0x10a0f: 84,
-    0x10a38: 84,
-    0x10a39: 84,
-    0x10a3a: 84,
-    0x10a3f: 84,
-    0x10ac0: 68,
-    0x10ac1: 68,
-    0x10ac2: 68,
-    0x10ac3: 68,
-    0x10ac4: 68,
-    0x10ac5: 82,
-    0x10ac7: 82,
-    0x10ac9: 82,
-    0x10aca: 82,
-    0x10acd: 76,
-    0x10ace: 82,
-    0x10acf: 82,
-    0x10ad0: 82,
-    0x10ad1: 82,
-    0x10ad2: 82,
-    0x10ad3: 68,
-    0x10ad4: 68,
-    0x10ad5: 68,
-    0x10ad6: 68,
-    0x10ad7: 76,
-    0x10ad8: 68,
-    0x10ad9: 68,
-    0x10ada: 68,
-    0x10adb: 68,
-    0x10adc: 68,
-    0x10add: 82,
-    0x10ade: 68,
-    0x10adf: 68,
-    0x10ae0: 68,
-    0x10ae1: 82,
-    0x10ae4: 82,
-    0x10ae5: 84,
-    0x10ae6: 84,
-    0x10aeb: 68,
-    0x10aec: 68,
-    0x10aed: 68,
-    0x10aee: 68,
-    0x10aef: 82,
-    0x10b80: 68,
-    0x10b81: 82,
-    0x10b82: 68,
-    0x10b83: 82,
-    0x10b84: 82,
-    0x10b85: 82,
-    0x10b86: 68,
-    0x10b87: 68,
-    0x10b88: 68,
-    0x10b89: 82,
-    0x10b8a: 68,
-    0x10b8b: 68,
-    0x10b8c: 82,
-    0x10b8d: 68,
-    0x10b8e: 82,
-    0x10b8f: 82,
-    0x10b90: 68,
-    0x10b91: 82,
-    0x10ba9: 82,
-    0x10baa: 82,
-    0x10bab: 82,
-    0x10bac: 82,
-    0x10bad: 68,
-    0x10bae: 68,
-    0x10d00: 76,
-    0x10d01: 68,
-    0x10d02: 68,
-    0x10d03: 68,
-    0x10d04: 68,
-    0x10d05: 68,
-    0x10d06: 68,
-    0x10d07: 68,
-    0x10d08: 68,
-    0x10d09: 68,
-    0x10d0a: 68,
-    0x10d0b: 68,
-    0x10d0c: 68,
-    0x10d0d: 68,
-    0x10d0e: 68,
-    0x10d0f: 68,
-    0x10d10: 68,
-    0x10d11: 68,
-    0x10d12: 68,
-    0x10d13: 68,
-    0x10d14: 68,
-    0x10d15: 68,
-    0x10d16: 68,
-    0x10d17: 68,
-    0x10d18: 68,
-    0x10d19: 68,
-    0x10d1a: 68,
-    0x10d1b: 68,
-    0x10d1c: 68,
-    0x10d1d: 68,
-    0x10d1e: 68,
-    0x10d1f: 68,
-    0x10d20: 68,
-    0x10d21: 68,
-    0x10d22: 82,
-    0x10d23: 68,
-    0x10d24: 84,
-    0x10d25: 84,
-    0x10d26: 84,
-    0x10d27: 84,
-    0x10eab: 84,
-    0x10eac: 84,
-    0x10efd: 84,
-    0x10efe: 84,
-    0x10eff: 84,
-    0x10f30: 68,
-    0x10f31: 68,
-    0x10f32: 68,
-    0x10f33: 82,
-    0x10f34: 68,
-    0x10f35: 68,
-    0x10f36: 68,
-    0x10f37: 68,
-    0x10f38: 68,
-    0x10f39: 68,
-    0x10f3a: 68,
-    0x10f3b: 68,
-    0x10f3c: 68,
-    0x10f3d: 68,
-    0x10f3e: 68,
-    0x10f3f: 68,
-    0x10f40: 68,
-    0x10f41: 68,
-    0x10f42: 68,
-    0x10f43: 68,
-    0x10f44: 68,
-    0x10f46: 84,
-    0x10f47: 84,
-    0x10f48: 84,
-    0x10f49: 84,
-    0x10f4a: 84,
-    0x10f4b: 84,
-    0x10f4c: 84,
-    0x10f4d: 84,
-    0x10f4e: 84,
-    0x10f4f: 84,
-    0x10f50: 84,
-    0x10f51: 68,
-    0x10f52: 68,
-    0x10f53: 68,
-    0x10f54: 82,
-    0x10f70: 68,
-    0x10f71: 68,
-    0x10f72: 68,
-    0x10f73: 68,
-    0x10f74: 82,
-    0x10f75: 82,
-    0x10f76: 68,
-    0x10f77: 68,
-    0x10f78: 68,
-    0x10f79: 68,
-    0x10f7a: 68,
-    0x10f7b: 68,
-    0x10f7c: 68,
-    0x10f7d: 68,
-    0x10f7e: 68,
-    0x10f7f: 68,
-    0x10f80: 68,
-    0x10f81: 68,
-    0x10f82: 84,
-    0x10f83: 84,
-    0x10f84: 84,
-    0x10f85: 84,
-    0x10fb0: 68,
-    0x10fb2: 68,
-    0x10fb3: 68,
-    0x10fb4: 82,
-    0x10fb5: 82,
-    0x10fb6: 82,
-    0x10fb8: 68,
-    0x10fb9: 82,
-    0x10fba: 82,
-    0x10fbb: 68,
-    0x10fbc: 68,
-    0x10fbd: 82,
-    0x10fbe: 68,
-    0x10fbf: 68,
-    0x10fc1: 68,
-    0x10fc2: 82,
-    0x10fc3: 82,
-    0x10fc4: 68,
-    0x10fc9: 82,
-    0x10fca: 68,
-    0x10fcb: 76,
+    0x1037A: 84,
+    0x10A01: 84,
+    0x10A02: 84,
+    0x10A03: 84,
+    0x10A05: 84,
+    0x10A06: 84,
+    0x10A0C: 84,
+    0x10A0D: 84,
+    0x10A0E: 84,
+    0x10A0F: 84,
+    0x10A38: 84,
+    0x10A39: 84,
+    0x10A3A: 84,
+    0x10A3F: 84,
+    0x10AC0: 68,
+    0x10AC1: 68,
+    0x10AC2: 68,
+    0x10AC3: 68,
+    0x10AC4: 68,
+    0x10AC5: 82,
+    0x10AC7: 82,
+    0x10AC9: 82,
+    0x10ACA: 82,
+    0x10ACD: 76,
+    0x10ACE: 82,
+    0x10ACF: 82,
+    0x10AD0: 82,
+    0x10AD1: 82,
+    0x10AD2: 82,
+    0x10AD3: 68,
+    0x10AD4: 68,
+    0x10AD5: 68,
+    0x10AD6: 68,
+    0x10AD7: 76,
+    0x10AD8: 68,
+    0x10AD9: 68,
+    0x10ADA: 68,
+    0x10ADB: 68,
+    0x10ADC: 68,
+    0x10ADD: 82,
+    0x10ADE: 68,
+    0x10ADF: 68,
+    0x10AE0: 68,
+    0x10AE1: 82,
+    0x10AE4: 82,
+    0x10AE5: 84,
+    0x10AE6: 84,
+    0x10AEB: 68,
+    0x10AEC: 68,
+    0x10AED: 68,
+    0x10AEE: 68,
+    0x10AEF: 82,
+    0x10B80: 68,
+    0x10B81: 82,
+    0x10B82: 68,
+    0x10B83: 82,
+    0x10B84: 82,
+    0x10B85: 82,
+    0x10B86: 68,
+    0x10B87: 68,
+    0x10B88: 68,
+    0x10B89: 82,
+    0x10B8A: 68,
+    0x10B8B: 68,
+    0x10B8C: 82,
+    0x10B8D: 68,
+    0x10B8E: 82,
+    0x10B8F: 82,
+    0x10B90: 68,
+    0x10B91: 82,
+    0x10BA9: 82,
+    0x10BAA: 82,
+    0x10BAB: 82,
+    0x10BAC: 82,
+    0x10BAD: 68,
+    0x10BAE: 68,
+    0x10D00: 76,
+    0x10D01: 68,
+    0x10D02: 68,
+    0x10D03: 68,
+    0x10D04: 68,
+    0x10D05: 68,
+    0x10D06: 68,
+    0x10D07: 68,
+    0x10D08: 68,
+    0x10D09: 68,
+    0x10D0A: 68,
+    0x10D0B: 68,
+    0x10D0C: 68,
+    0x10D0D: 68,
+    0x10D0E: 68,
+    0x10D0F: 68,
+    0x10D10: 68,
+    0x10D11: 68,
+    0x10D12: 68,
+    0x10D13: 68,
+    0x10D14: 68,
+    0x10D15: 68,
+    0x10D16: 68,
+    0x10D17: 68,
+    0x10D18: 68,
+    0x10D19: 68,
+    0x10D1A: 68,
+    0x10D1B: 68,
+    0x10D1C: 68,
+    0x10D1D: 68,
+    0x10D1E: 68,
+    0x10D1F: 68,
+    0x10D20: 68,
+    0x10D21: 68,
+    0x10D22: 82,
+    0x10D23: 68,
+    0x10D24: 84,
+    0x10D25: 84,
+    0x10D26: 84,
+    0x10D27: 84,
+    0x10EAB: 84,
+    0x10EAC: 84,
+    0x10EFD: 84,
+    0x10EFE: 84,
+    0x10EFF: 84,
+    0x10F30: 68,
+    0x10F31: 68,
+    0x10F32: 68,
+    0x10F33: 82,
+    0x10F34: 68,
+    0x10F35: 68,
+    0x10F36: 68,
+    0x10F37: 68,
+    0x10F38: 68,
+    0x10F39: 68,
+    0x10F3A: 68,
+    0x10F3B: 68,
+    0x10F3C: 68,
+    0x10F3D: 68,
+    0x10F3E: 68,
+    0x10F3F: 68,
+    0x10F40: 68,
+    0x10F41: 68,
+    0x10F42: 68,
+    0x10F43: 68,
+    0x10F44: 68,
+    0x10F46: 84,
+    0x10F47: 84,
+    0x10F48: 84,
+    0x10F49: 84,
+    0x10F4A: 84,
+    0x10F4B: 84,
+    0x10F4C: 84,
+    0x10F4D: 84,
+    0x10F4E: 84,
+    0x10F4F: 84,
+    0x10F50: 84,
+    0x10F51: 68,
+    0x10F52: 68,
+    0x10F53: 68,
+    0x10F54: 82,
+    0x10F70: 68,
+    0x10F71: 68,
+    0x10F72: 68,
+    0x10F73: 68,
+    0x10F74: 82,
+    0x10F75: 82,
+    0x10F76: 68,
+    0x10F77: 68,
+    0x10F78: 68,
+    0x10F79: 68,
+    0x10F7A: 68,
+    0x10F7B: 68,
+    0x10F7C: 68,
+    0x10F7D: 68,
+    0x10F7E: 68,
+    0x10F7F: 68,
+    0x10F80: 68,
+    0x10F81: 68,
+    0x10F82: 84,
+    0x10F83: 84,
+    0x10F84: 84,
+    0x10F85: 84,
+    0x10FB0: 68,
+    0x10FB2: 68,
+    0x10FB3: 68,
+    0x10FB4: 82,
+    0x10FB5: 82,
+    0x10FB6: 82,
+    0x10FB8: 68,
+    0x10FB9: 82,
+    0x10FBA: 82,
+    0x10FBB: 68,
+    0x10FBC: 68,
+    0x10FBD: 82,
+    0x10FBE: 68,
+    0x10FBF: 68,
+    0x10FC1: 68,
+    0x10FC2: 82,
+    0x10FC3: 82,
+    0x10FC4: 68,
+    0x10FC9: 82,
+    0x10FCA: 68,
+    0x10FCB: 76,
     0x11001: 84,
     0x11038: 84,
     0x11039: 84,
-    0x1103a: 84,
-    0x1103b: 84,
-    0x1103c: 84,
-    0x1103d: 84,
-    0x1103e: 84,
-    0x1103f: 84,
+    0x1103A: 84,
+    0x1103B: 84,
+    0x1103C: 84,
+    0x1103D: 84,
+    0x1103E: 84,
+    0x1103F: 84,
     0x11040: 84,
     0x11041: 84,
     0x11042: 84,
@@ -1976,27 +1976,27 @@
     0x11070: 84,
     0x11073: 84,
     0x11074: 84,
-    0x1107f: 84,
+    0x1107F: 84,
     0x11080: 84,
     0x11081: 84,
-    0x110b3: 84,
-    0x110b4: 84,
-    0x110b5: 84,
-    0x110b6: 84,
-    0x110b9: 84,
-    0x110ba: 84,
-    0x110c2: 84,
+    0x110B3: 84,
+    0x110B4: 84,
+    0x110B5: 84,
+    0x110B6: 84,
+    0x110B9: 84,
+    0x110BA: 84,
+    0x110C2: 84,
     0x11100: 84,
     0x11101: 84,
     0x11102: 84,
     0x11127: 84,
     0x11128: 84,
     0x11129: 84,
-    0x1112a: 84,
-    0x1112b: 84,
-    0x1112d: 84,
-    0x1112e: 84,
-    0x1112f: 84,
+    0x1112A: 84,
+    0x1112B: 84,
+    0x1112D: 84,
+    0x1112E: 84,
+    0x1112F: 84,
     0x11130: 84,
     0x11131: 84,
     0x11132: 84,
@@ -2005,49 +2005,49 @@
     0x11173: 84,
     0x11180: 84,
     0x11181: 84,
-    0x111b6: 84,
-    0x111b7: 84,
-    0x111b8: 84,
-    0x111b9: 84,
-    0x111ba: 84,
-    0x111bb: 84,
-    0x111bc: 84,
-    0x111bd: 84,
-    0x111be: 84,
-    0x111c9: 84,
-    0x111ca: 84,
-    0x111cb: 84,
-    0x111cc: 84,
-    0x111cf: 84,
-    0x1122f: 84,
+    0x111B6: 84,
+    0x111B7: 84,
+    0x111B8: 84,
+    0x111B9: 84,
+    0x111BA: 84,
+    0x111BB: 84,
+    0x111BC: 84,
+    0x111BD: 84,
+    0x111BE: 84,
+    0x111C9: 84,
+    0x111CA: 84,
+    0x111CB: 84,
+    0x111CC: 84,
+    0x111CF: 84,
+    0x1122F: 84,
     0x11230: 84,
     0x11231: 84,
     0x11234: 84,
     0x11236: 84,
     0x11237: 84,
-    0x1123e: 84,
+    0x1123E: 84,
     0x11241: 84,
-    0x112df: 84,
-    0x112e3: 84,
-    0x112e4: 84,
-    0x112e5: 84,
-    0x112e6: 84,
-    0x112e7: 84,
-    0x112e8: 84,
-    0x112e9: 84,
-    0x112ea: 84,
+    0x112DF: 84,
+    0x112E3: 84,
+    0x112E4: 84,
+    0x112E5: 84,
+    0x112E6: 84,
+    0x112E7: 84,
+    0x112E8: 84,
+    0x112E9: 84,
+    0x112EA: 84,
     0x11300: 84,
     0x11301: 84,
-    0x1133b: 84,
-    0x1133c: 84,
+    0x1133B: 84,
+    0x1133C: 84,
     0x11340: 84,
     0x11366: 84,
     0x11367: 84,
     0x11368: 84,
     0x11369: 84,
-    0x1136a: 84,
-    0x1136b: 84,
-    0x1136c: 84,
+    0x1136A: 84,
+    0x1136B: 84,
+    0x1136C: 84,
     0x11370: 84,
     0x11371: 84,
     0x11372: 84,
@@ -2055,38 +2055,38 @@
     0x11374: 84,
     0x11438: 84,
     0x11439: 84,
-    0x1143a: 84,
-    0x1143b: 84,
-    0x1143c: 84,
-    0x1143d: 84,
-    0x1143e: 84,
-    0x1143f: 84,
+    0x1143A: 84,
+    0x1143B: 84,
+    0x1143C: 84,
+    0x1143D: 84,
+    0x1143E: 84,
+    0x1143F: 84,
     0x11442: 84,
     0x11443: 84,
     0x11444: 84,
     0x11446: 84,
-    0x1145e: 84,
-    0x114b3: 84,
-    0x114b4: 84,
-    0x114b5: 84,
-    0x114b6: 84,
-    0x114b7: 84,
-    0x114b8: 84,
-    0x114ba: 84,
-    0x114bf: 84,
-    0x114c0: 84,
-    0x114c2: 84,
-    0x114c3: 84,
-    0x115b2: 84,
-    0x115b3: 84,
-    0x115b4: 84,
-    0x115b5: 84,
-    0x115bc: 84,
-    0x115bd: 84,
-    0x115bf: 84,
-    0x115c0: 84,
-    0x115dc: 84,
-    0x115dd: 84,
+    0x1145E: 84,
+    0x114B3: 84,
+    0x114B4: 84,
+    0x114B5: 84,
+    0x114B6: 84,
+    0x114B7: 84,
+    0x114B8: 84,
+    0x114BA: 84,
+    0x114BF: 84,
+    0x114C0: 84,
+    0x114C2: 84,
+    0x114C3: 84,
+    0x115B2: 84,
+    0x115B3: 84,
+    0x115B4: 84,
+    0x115B5: 84,
+    0x115BC: 84,
+    0x115BD: 84,
+    0x115BF: 84,
+    0x115C0: 84,
+    0x115DC: 84,
+    0x115DD: 84,
     0x11633: 84,
     0x11634: 84,
     0x11635: 84,
@@ -2094,22 +2094,22 @@
     0x11637: 84,
     0x11638: 84,
     0x11639: 84,
-    0x1163a: 84,
-    0x1163d: 84,
-    0x1163f: 84,
+    0x1163A: 84,
+    0x1163D: 84,
+    0x1163F: 84,
     0x11640: 84,
-    0x116ab: 84,
-    0x116ad: 84,
-    0x116b0: 84,
-    0x116b1: 84,
-    0x116b2: 84,
-    0x116b3: 84,
-    0x116b4: 84,
-    0x116b5: 84,
-    0x116b7: 84,
-    0x1171d: 84,
-    0x1171e: 84,
-    0x1171f: 84,
+    0x116AB: 84,
+    0x116AD: 84,
+    0x116B0: 84,
+    0x116B1: 84,
+    0x116B2: 84,
+    0x116B3: 84,
+    0x116B4: 84,
+    0x116B5: 84,
+    0x116B7: 84,
+    0x1171D: 84,
+    0x1171E: 84,
+    0x1171F: 84,
     0x11722: 84,
     0x11723: 84,
     0x11724: 84,
@@ -2117,9 +2117,9 @@
     0x11727: 84,
     0x11728: 84,
     0x11729: 84,
-    0x1172a: 84,
-    0x1172b: 84,
-    0x1182f: 84,
+    0x1172A: 84,
+    0x1172B: 84,
+    0x1182F: 84,
     0x11830: 84,
     0x11831: 84,
     0x11832: 84,
@@ -2129,142 +2129,142 @@
     0x11836: 84,
     0x11837: 84,
     0x11839: 84,
-    0x1183a: 84,
-    0x1193b: 84,
-    0x1193c: 84,
-    0x1193e: 84,
+    0x1183A: 84,
+    0x1193B: 84,
+    0x1193C: 84,
+    0x1193E: 84,
     0x11943: 84,
-    0x119d4: 84,
-    0x119d5: 84,
-    0x119d6: 84,
-    0x119d7: 84,
-    0x119da: 84,
-    0x119db: 84,
-    0x119e0: 84,
-    0x11a01: 84,
-    0x11a02: 84,
-    0x11a03: 84,
-    0x11a04: 84,
-    0x11a05: 84,
-    0x11a06: 84,
-    0x11a07: 84,
-    0x11a08: 84,
-    0x11a09: 84,
-    0x11a0a: 84,
-    0x11a33: 84,
-    0x11a34: 84,
-    0x11a35: 84,
-    0x11a36: 84,
-    0x11a37: 84,
-    0x11a38: 84,
-    0x11a3b: 84,
-    0x11a3c: 84,
-    0x11a3d: 84,
-    0x11a3e: 84,
-    0x11a47: 84,
-    0x11a51: 84,
-    0x11a52: 84,
-    0x11a53: 84,
-    0x11a54: 84,
-    0x11a55: 84,
-    0x11a56: 84,
-    0x11a59: 84,
-    0x11a5a: 84,
-    0x11a5b: 84,
-    0x11a8a: 84,
-    0x11a8b: 84,
-    0x11a8c: 84,
-    0x11a8d: 84,
-    0x11a8e: 84,
-    0x11a8f: 84,
-    0x11a90: 84,
-    0x11a91: 84,
-    0x11a92: 84,
-    0x11a93: 84,
-    0x11a94: 84,
-    0x11a95: 84,
-    0x11a96: 84,
-    0x11a98: 84,
-    0x11a99: 84,
-    0x11c30: 84,
-    0x11c31: 84,
-    0x11c32: 84,
-    0x11c33: 84,
-    0x11c34: 84,
-    0x11c35: 84,
-    0x11c36: 84,
-    0x11c38: 84,
-    0x11c39: 84,
-    0x11c3a: 84,
-    0x11c3b: 84,
-    0x11c3c: 84,
-    0x11c3d: 84,
-    0x11c3f: 84,
-    0x11c92: 84,
-    0x11c93: 84,
-    0x11c94: 84,
-    0x11c95: 84,
-    0x11c96: 84,
-    0x11c97: 84,
-    0x11c98: 84,
-    0x11c99: 84,
-    0x11c9a: 84,
-    0x11c9b: 84,
-    0x11c9c: 84,
-    0x11c9d: 84,
-    0x11c9e: 84,
-    0x11c9f: 84,
-    0x11ca0: 84,
-    0x11ca1: 84,
-    0x11ca2: 84,
-    0x11ca3: 84,
-    0x11ca4: 84,
-    0x11ca5: 84,
-    0x11ca6: 84,
-    0x11ca7: 84,
-    0x11caa: 84,
-    0x11cab: 84,
-    0x11cac: 84,
-    0x11cad: 84,
-    0x11cae: 84,
-    0x11caf: 84,
-    0x11cb0: 84,
-    0x11cb2: 84,
-    0x11cb3: 84,
-    0x11cb5: 84,
-    0x11cb6: 84,
-    0x11d31: 84,
-    0x11d32: 84,
-    0x11d33: 84,
-    0x11d34: 84,
-    0x11d35: 84,
-    0x11d36: 84,
-    0x11d3a: 84,
-    0x11d3c: 84,
-    0x11d3d: 84,
-    0x11d3f: 84,
-    0x11d40: 84,
-    0x11d41: 84,
-    0x11d42: 84,
-    0x11d43: 84,
-    0x11d44: 84,
-    0x11d45: 84,
-    0x11d47: 84,
-    0x11d90: 84,
-    0x11d91: 84,
-    0x11d95: 84,
-    0x11d97: 84,
-    0x11ef3: 84,
-    0x11ef4: 84,
-    0x11f00: 84,
-    0x11f01: 84,
-    0x11f36: 84,
-    0x11f37: 84,
-    0x11f38: 84,
-    0x11f39: 84,
-    0x11f3a: 84,
-    0x11f40: 84,
-    0x11f42: 84,
+    0x119D4: 84,
+    0x119D5: 84,
+    0x119D6: 84,
+    0x119D7: 84,
+    0x119DA: 84,
+    0x119DB: 84,
+    0x119E0: 84,
+    0x11A01: 84,
+    0x11A02: 84,
+    0x11A03: 84,
+    0x11A04: 84,
+    0x11A05: 84,
+    0x11A06: 84,
+    0x11A07: 84,
+    0x11A08: 84,
+    0x11A09: 84,
+    0x11A0A: 84,
+    0x11A33: 84,
+    0x11A34: 84,
+    0x11A35: 84,
+    0x11A36: 84,
+    0x11A37: 84,
+    0x11A38: 84,
+    0x11A3B: 84,
+    0x11A3C: 84,
+    0x11A3D: 84,
+    0x11A3E: 84,
+    0x11A47: 84,
+    0x11A51: 84,
+    0x11A52: 84,
+    0x11A53: 84,
+    0x11A54: 84,
+    0x11A55: 84,
+    0x11A56: 84,
+    0x11A59: 84,
+    0x11A5A: 84,
+    0x11A5B: 84,
+    0x11A8A: 84,
+    0x11A8B: 84,
+    0x11A8C: 84,
+    0x11A8D: 84,
+    0x11A8E: 84,
+    0x11A8F: 84,
+    0x11A90: 84,
+    0x11A91: 84,
+    0x11A92: 84,
+    0x11A93: 84,
+    0x11A94: 84,
+    0x11A95: 84,
+    0x11A96: 84,
+    0x11A98: 84,
+    0x11A99: 84,
+    0x11C30: 84,
+    0x11C31: 84,
+    0x11C32: 84,
+    0x11C33: 84,
+    0x11C34: 84,
+    0x11C35: 84,
+    0x11C36: 84,
+    0x11C38: 84,
+    0x11C39: 84,
+    0x11C3A: 84,
+    0x11C3B: 84,
+    0x11C3C: 84,
+    0x11C3D: 84,
+    0x11C3F: 84,
+    0x11C92: 84,
+    0x11C93: 84,
+    0x11C94: 84,
+    0x11C95: 84,
+    0x11C96: 84,
+    0x11C97: 84,
+    0x11C98: 84,
+    0x11C99: 84,
+    0x11C9A: 84,
+    0x11C9B: 84,
+    0x11C9C: 84,
+    0x11C9D: 84,
+    0x11C9E: 84,
+    0x11C9F: 84,
+    0x11CA0: 84,
+    0x11CA1: 84,
+    0x11CA2: 84,
+    0x11CA3: 84,
+    0x11CA4: 84,
+    0x11CA5: 84,
+    0x11CA6: 84,
+    0x11CA7: 84,
+    0x11CAA: 84,
+    0x11CAB: 84,
+    0x11CAC: 84,
+    0x11CAD: 84,
+    0x11CAE: 84,
+    0x11CAF: 84,
+    0x11CB0: 84,
+    0x11CB2: 84,
+    0x11CB3: 84,
+    0x11CB5: 84,
+    0x11CB6: 84,
+    0x11D31: 84,
+    0x11D32: 84,
+    0x11D33: 84,
+    0x11D34: 84,
+    0x11D35: 84,
+    0x11D36: 84,
+    0x11D3A: 84,
+    0x11D3C: 84,
+    0x11D3D: 84,
+    0x11D3F: 84,
+    0x11D40: 84,
+    0x11D41: 84,
+    0x11D42: 84,
+    0x11D43: 84,
+    0x11D44: 84,
+    0x11D45: 84,
+    0x11D47: 84,
+    0x11D90: 84,
+    0x11D91: 84,
+    0x11D95: 84,
+    0x11D97: 84,
+    0x11EF3: 84,
+    0x11EF4: 84,
+    0x11F00: 84,
+    0x11F01: 84,
+    0x11F36: 84,
+    0x11F37: 84,
+    0x11F38: 84,
+    0x11F39: 84,
+    0x11F3A: 84,
+    0x11F40: 84,
+    0x11F42: 84,
     0x13430: 84,
     0x13431: 84,
     0x13432: 84,
@@ -2275,1971 +2275,1969 @@
     0x13437: 84,
     0x13438: 84,
     0x13439: 84,
-    0x1343a: 84,
-    0x1343b: 84,
-    0x1343c: 84,
-    0x1343d: 84,
-    0x1343e: 84,
-    0x1343f: 84,
+    0x1343A: 84,
+    0x1343B: 84,
+    0x1343C: 84,
+    0x1343D: 84,
+    0x1343E: 84,
+    0x1343F: 84,
     0x13440: 84,
     0x13447: 84,
     0x13448: 84,
     0x13449: 84,
-    0x1344a: 84,
-    0x1344b: 84,
-    0x1344c: 84,
-    0x1344d: 84,
-    0x1344e: 84,
-    0x1344f: 84,
+    0x1344A: 84,
+    0x1344B: 84,
+    0x1344C: 84,
+    0x1344D: 84,
+    0x1344E: 84,
+    0x1344F: 84,
     0x13450: 84,
     0x13451: 84,
     0x13452: 84,
     0x13453: 84,
     0x13454: 84,
     0x13455: 84,
-    0x16af0: 84,
-    0x16af1: 84,
-    0x16af2: 84,
-    0x16af3: 84,
-    0x16af4: 84,
-    0x16b30: 84,
-    0x16b31: 84,
-    0x16b32: 84,
-    0x16b33: 84,
-    0x16b34: 84,
-    0x16b35: 84,
-    0x16b36: 84,
-    0x16f4f: 84,
-    0x16f8f: 84,
-    0x16f90: 84,
-    0x16f91: 84,
-    0x16f92: 84,
-    0x16fe4: 84,
-    0x1bc9d: 84,
-    0x1bc9e: 84,
-    0x1bca0: 84,
-    0x1bca1: 84,
-    0x1bca2: 84,
-    0x1bca3: 84,
-    0x1cf00: 84,
-    0x1cf01: 84,
-    0x1cf02: 84,
-    0x1cf03: 84,
-    0x1cf04: 84,
-    0x1cf05: 84,
-    0x1cf06: 84,
-    0x1cf07: 84,
-    0x1cf08: 84,
-    0x1cf09: 84,
-    0x1cf0a: 84,
-    0x1cf0b: 84,
-    0x1cf0c: 84,
-    0x1cf0d: 84,
-    0x1cf0e: 84,
-    0x1cf0f: 84,
-    0x1cf10: 84,
-    0x1cf11: 84,
-    0x1cf12: 84,
-    0x1cf13: 84,
-    0x1cf14: 84,
-    0x1cf15: 84,
-    0x1cf16: 84,
-    0x1cf17: 84,
-    0x1cf18: 84,
-    0x1cf19: 84,
-    0x1cf1a: 84,
-    0x1cf1b: 84,
-    0x1cf1c: 84,
-    0x1cf1d: 84,
-    0x1cf1e: 84,
-    0x1cf1f: 84,
-    0x1cf20: 84,
-    0x1cf21: 84,
-    0x1cf22: 84,
-    0x1cf23: 84,
-    0x1cf24: 84,
-    0x1cf25: 84,
-    0x1cf26: 84,
-    0x1cf27: 84,
-    0x1cf28: 84,
-    0x1cf29: 84,
-    0x1cf2a: 84,
-    0x1cf2b: 84,
-    0x1cf2c: 84,
-    0x1cf2d: 84,
-    0x1cf30: 84,
-    0x1cf31: 84,
-    0x1cf32: 84,
-    0x1cf33: 84,
-    0x1cf34: 84,
-    0x1cf35: 84,
-    0x1cf36: 84,
-    0x1cf37: 84,
-    0x1cf38: 84,
-    0x1cf39: 84,
-    0x1cf3a: 84,
-    0x1cf3b: 84,
-    0x1cf3c: 84,
-    0x1cf3d: 84,
-    0x1cf3e: 84,
-    0x1cf3f: 84,
-    0x1cf40: 84,
-    0x1cf41: 84,
-    0x1cf42: 84,
-    0x1cf43: 84,
-    0x1cf44: 84,
-    0x1cf45: 84,
-    0x1cf46: 84,
-    0x1d167: 84,
-    0x1d168: 84,
-    0x1d169: 84,
-    0x1d173: 84,
-    0x1d174: 84,
-    0x1d175: 84,
-    0x1d176: 84,
-    0x1d177: 84,
-    0x1d178: 84,
-    0x1d179: 84,
-    0x1d17a: 84,
-    0x1d17b: 84,
-    0x1d17c: 84,
-    0x1d17d: 84,
-    0x1d17e: 84,
-    0x1d17f: 84,
-    0x1d180: 84,
-    0x1d181: 84,
-    0x1d182: 84,
-    0x1d185: 84,
-    0x1d186: 84,
-    0x1d187: 84,
-    0x1d188: 84,
-    0x1d189: 84,
-    0x1d18a: 84,
-    0x1d18b: 84,
-    0x1d1aa: 84,
-    0x1d1ab: 84,
-    0x1d1ac: 84,
-    0x1d1ad: 84,
-    0x1d242: 84,
-    0x1d243: 84,
-    0x1d244: 84,
-    0x1da00: 84,
-    0x1da01: 84,
-    0x1da02: 84,
-    0x1da03: 84,
-    0x1da04: 84,
-    0x1da05: 84,
-    0x1da06: 84,
-    0x1da07: 84,
-    0x1da08: 84,
-    0x1da09: 84,
-    0x1da0a: 84,
-    0x1da0b: 84,
-    0x1da0c: 84,
-    0x1da0d: 84,
-    0x1da0e: 84,
-    0x1da0f: 84,
-    0x1da10: 84,
-    0x1da11: 84,
-    0x1da12: 84,
-    0x1da13: 84,
-    0x1da14: 84,
-    0x1da15: 84,
-    0x1da16: 84,
-    0x1da17: 84,
-    0x1da18: 84,
-    0x1da19: 84,
-    0x1da1a: 84,
-    0x1da1b: 84,
-    0x1da1c: 84,
-    0x1da1d: 84,
-    0x1da1e: 84,
-    0x1da1f: 84,
-    0x1da20: 84,
-    0x1da21: 84,
-    0x1da22: 84,
-    0x1da23: 84,
-    0x1da24: 84,
-    0x1da25: 84,
-    0x1da26: 84,
-    0x1da27: 84,
-    0x1da28: 84,
-    0x1da29: 84,
-    0x1da2a: 84,
-    0x1da2b: 84,
-    0x1da2c: 84,
-    0x1da2d: 84,
-    0x1da2e: 84,
-    0x1da2f: 84,
-    0x1da30: 84,
-    0x1da31: 84,
-    0x1da32: 84,
-    0x1da33: 84,
-    0x1da34: 84,
-    0x1da35: 84,
-    0x1da36: 84,
-    0x1da3b: 84,
-    0x1da3c: 84,
-    0x1da3d: 84,
-    0x1da3e: 84,
-    0x1da3f: 84,
-    0x1da40: 84,
-    0x1da41: 84,
-    0x1da42: 84,
-    0x1da43: 84,
-    0x1da44: 84,
-    0x1da45: 84,
-    0x1da46: 84,
-    0x1da47: 84,
-    0x1da48: 84,
-    0x1da49: 84,
-    0x1da4a: 84,
-    0x1da4b: 84,
-    0x1da4c: 84,
-    0x1da4d: 84,
-    0x1da4e: 84,
-    0x1da4f: 84,
-    0x1da50: 84,
-    0x1da51: 84,
-    0x1da52: 84,
-    0x1da53: 84,
-    0x1da54: 84,
-    0x1da55: 84,
-    0x1da56: 84,
-    0x1da57: 84,
-    0x1da58: 84,
-    0x1da59: 84,
-    0x1da5a: 84,
-    0x1da5b: 84,
-    0x1da5c: 84,
-    0x1da5d: 84,
-    0x1da5e: 84,
-    0x1da5f: 84,
-    0x1da60: 84,
-    0x1da61: 84,
-    0x1da62: 84,
-    0x1da63: 84,
-    0x1da64: 84,
-    0x1da65: 84,
-    0x1da66: 84,
-    0x1da67: 84,
-    0x1da68: 84,
-    0x1da69: 84,
-    0x1da6a: 84,
-    0x1da6b: 84,
-    0x1da6c: 84,
-    0x1da75: 84,
-    0x1da84: 84,
-    0x1da9b: 84,
-    0x1da9c: 84,
-    0x1da9d: 84,
-    0x1da9e: 84,
-    0x1da9f: 84,
-    0x1daa1: 84,
-    0x1daa2: 84,
-    0x1daa3: 84,
-    0x1daa4: 84,
-    0x1daa5: 84,
-    0x1daa6: 84,
-    0x1daa7: 84,
-    0x1daa8: 84,
-    0x1daa9: 84,
-    0x1daaa: 84,
-    0x1daab: 84,
-    0x1daac: 84,
-    0x1daad: 84,
-    0x1daae: 84,
-    0x1daaf: 84,
-    0x1e000: 84,
-    0x1e001: 84,
-    0x1e002: 84,
-    0x1e003: 84,
-    0x1e004: 84,
-    0x1e005: 84,
-    0x1e006: 84,
-    0x1e008: 84,
-    0x1e009: 84,
-    0x1e00a: 84,
-    0x1e00b: 84,
-    0x1e00c: 84,
-    0x1e00d: 84,
-    0x1e00e: 84,
-    0x1e00f: 84,
-    0x1e010: 84,
-    0x1e011: 84,
-    0x1e012: 84,
-    0x1e013: 84,
-    0x1e014: 84,
-    0x1e015: 84,
-    0x1e016: 84,
-    0x1e017: 84,
-    0x1e018: 84,
-    0x1e01b: 84,
-    0x1e01c: 84,
-    0x1e01d: 84,
-    0x1e01e: 84,
-    0x1e01f: 84,
-    0x1e020: 84,
-    0x1e021: 84,
-    0x1e023: 84,
-    0x1e024: 84,
-    0x1e026: 84,
-    0x1e027: 84,
-    0x1e028: 84,
-    0x1e029: 84,
-    0x1e02a: 84,
-    0x1e08f: 84,
-    0x1e130: 84,
-    0x1e131: 84,
-    0x1e132: 84,
-    0x1e133: 84,
-    0x1e134: 84,
-    0x1e135: 84,
-    0x1e136: 84,
-    0x1e2ae: 84,
-    0x1e2ec: 84,
-    0x1e2ed: 84,
-    0x1e2ee: 84,
-    0x1e2ef: 84,
-    0x1e4ec: 84,
-    0x1e4ed: 84,
-    0x1e4ee: 84,
-    0x1e4ef: 84,
-    0x1e8d0: 84,
-    0x1e8d1: 84,
-    0x1e8d2: 84,
-    0x1e8d3: 84,
-    0x1e8d4: 84,
-    0x1e8d5: 84,
-    0x1e8d6: 84,
-    0x1e900: 68,
-    0x1e901: 68,
-    0x1e902: 68,
-    0x1e903: 68,
-    0x1e904: 68,
-    0x1e905: 68,
-    0x1e906: 68,
-    0x1e907: 68,
-    0x1e908: 68,
-    0x1e909: 68,
-    0x1e90a: 68,
-    0x1e90b: 68,
-    0x1e90c: 68,
-    0x1e90d: 68,
-    0x1e90e: 68,
-    0x1e90f: 68,
-    0x1e910: 68,
-    0x1e911: 68,
-    0x1e912: 68,
-    0x1e913: 68,
-    0x1e914: 68,
-    0x1e915: 68,
-    0x1e916: 68,
-    0x1e917: 68,
-    0x1e918: 68,
-    0x1e919: 68,
-    0x1e91a: 68,
-    0x1e91b: 68,
-    0x1e91c: 68,
-    0x1e91d: 68,
-    0x1e91e: 68,
-    0x1e91f: 68,
-    0x1e920: 68,
-    0x1e921: 68,
-    0x1e922: 68,
-    0x1e923: 68,
-    0x1e924: 68,
-    0x1e925: 68,
-    0x1e926: 68,
-    0x1e927: 68,
-    0x1e928: 68,
-    0x1e929: 68,
-    0x1e92a: 68,
-    0x1e92b: 68,
-    0x1e92c: 68,
-    0x1e92d: 68,
-    0x1e92e: 68,
-    0x1e92f: 68,
-    0x1e930: 68,
-    0x1e931: 68,
-    0x1e932: 68,
-    0x1e933: 68,
-    0x1e934: 68,
-    0x1e935: 68,
-    0x1e936: 68,
-    0x1e937: 68,
-    0x1e938: 68,
-    0x1e939: 68,
-    0x1e93a: 68,
-    0x1e93b: 68,
-    0x1e93c: 68,
-    0x1e93d: 68,
-    0x1e93e: 68,
-    0x1e93f: 68,
-    0x1e940: 68,
-    0x1e941: 68,
-    0x1e942: 68,
-    0x1e943: 68,
-    0x1e944: 84,
-    0x1e945: 84,
-    0x1e946: 84,
-    0x1e947: 84,
-    0x1e948: 84,
-    0x1e949: 84,
-    0x1e94a: 84,
-    0x1e94b: 84,
-    0xe0001: 84,
-    0xe0020: 84,
-    0xe0021: 84,
-    0xe0022: 84,
-    0xe0023: 84,
-    0xe0024: 84,
-    0xe0025: 84,
-    0xe0026: 84,
-    0xe0027: 84,
-    0xe0028: 84,
-    0xe0029: 84,
-    0xe002a: 84,
-    0xe002b: 84,
-    0xe002c: 84,
-    0xe002d: 84,
-    0xe002e: 84,
-    0xe002f: 84,
-    0xe0030: 84,
-    0xe0031: 84,
-    0xe0032: 84,
-    0xe0033: 84,
-    0xe0034: 84,
-    0xe0035: 84,
-    0xe0036: 84,
-    0xe0037: 84,
-    0xe0038: 84,
-    0xe0039: 84,
-    0xe003a: 84,
-    0xe003b: 84,
-    0xe003c: 84,
-    0xe003d: 84,
-    0xe003e: 84,
-    0xe003f: 84,
-    0xe0040: 84,
-    0xe0041: 84,
-    0xe0042: 84,
-    0xe0043: 84,
-    0xe0044: 84,
-    0xe0045: 84,
-    0xe0046: 84,
-    0xe0047: 84,
-    0xe0048: 84,
-    0xe0049: 84,
-    0xe004a: 84,
-    0xe004b: 84,
-    0xe004c: 84,
-    0xe004d: 84,
-    0xe004e: 84,
-    0xe004f: 84,
-    0xe0050: 84,
-    0xe0051: 84,
-    0xe0052: 84,
-    0xe0053: 84,
-    0xe0054: 84,
-    0xe0055: 84,
-    0xe0056: 84,
-    0xe0057: 84,
-    0xe0058: 84,
-    0xe0059: 84,
-    0xe005a: 84,
-    0xe005b: 84,
-    0xe005c: 84,
-    0xe005d: 84,
-    0xe005e: 84,
-    0xe005f: 84,
-    0xe0060: 84,
-    0xe0061: 84,
-    0xe0062: 84,
-    0xe0063: 84,
-    0xe0064: 84,
-    0xe0065: 84,
-    0xe0066: 84,
-    0xe0067: 84,
-    0xe0068: 84,
-    0xe0069: 84,
-    0xe006a: 84,
-    0xe006b: 84,
-    0xe006c: 84,
-    0xe006d: 84,
-    0xe006e: 84,
-    0xe006f: 84,
-    0xe0070: 84,
-    0xe0071: 84,
-    0xe0072: 84,
-    0xe0073: 84,
-    0xe0074: 84,
-    0xe0075: 84,
-    0xe0076: 84,
-    0xe0077: 84,
-    0xe0078: 84,
-    0xe0079: 84,
-    0xe007a: 84,
-    0xe007b: 84,
-    0xe007c: 84,
-    0xe007d: 84,
-    0xe007e: 84,
-    0xe007f: 84,
-    0xe0100: 84,
-    0xe0101: 84,
-    0xe0102: 84,
-    0xe0103: 84,
-    0xe0104: 84,
-    0xe0105: 84,
-    0xe0106: 84,
-    0xe0107: 84,
-    0xe0108: 84,
-    0xe0109: 84,
-    0xe010a: 84,
-    0xe010b: 84,
-    0xe010c: 84,
-    0xe010d: 84,
-    0xe010e: 84,
-    0xe010f: 84,
-    0xe0110: 84,
-    0xe0111: 84,
-    0xe0112: 84,
-    0xe0113: 84,
-    0xe0114: 84,
-    0xe0115: 84,
-    0xe0116: 84,
-    0xe0117: 84,
-    0xe0118: 84,
-    0xe0119: 84,
-    0xe011a: 84,
-    0xe011b: 84,
-    0xe011c: 84,
-    0xe011d: 84,
-    0xe011e: 84,
-    0xe011f: 84,
-    0xe0120: 84,
-    0xe0121: 84,
-    0xe0122: 84,
-    0xe0123: 84,
-    0xe0124: 84,
-    0xe0125: 84,
-    0xe0126: 84,
-    0xe0127: 84,
-    0xe0128: 84,
-    0xe0129: 84,
-    0xe012a: 84,
-    0xe012b: 84,
-    0xe012c: 84,
-    0xe012d: 84,
-    0xe012e: 84,
-    0xe012f: 84,
-    0xe0130: 84,
-    0xe0131: 84,
-    0xe0132: 84,
-    0xe0133: 84,
-    0xe0134: 84,
-    0xe0135: 84,
-    0xe0136: 84,
-    0xe0137: 84,
-    0xe0138: 84,
-    0xe0139: 84,
-    0xe013a: 84,
-    0xe013b: 84,
-    0xe013c: 84,
-    0xe013d: 84,
-    0xe013e: 84,
-    0xe013f: 84,
-    0xe0140: 84,
-    0xe0141: 84,
-    0xe0142: 84,
-    0xe0143: 84,
-    0xe0144: 84,
-    0xe0145: 84,
-    0xe0146: 84,
-    0xe0147: 84,
-    0xe0148: 84,
-    0xe0149: 84,
-    0xe014a: 84,
-    0xe014b: 84,
-    0xe014c: 84,
-    0xe014d: 84,
-    0xe014e: 84,
-    0xe014f: 84,
-    0xe0150: 84,
-    0xe0151: 84,
-    0xe0152: 84,
-    0xe0153: 84,
-    0xe0154: 84,
-    0xe0155: 84,
-    0xe0156: 84,
-    0xe0157: 84,
-    0xe0158: 84,
-    0xe0159: 84,
-    0xe015a: 84,
-    0xe015b: 84,
-    0xe015c: 84,
-    0xe015d: 84,
-    0xe015e: 84,
-    0xe015f: 84,
-    0xe0160: 84,
-    0xe0161: 84,
-    0xe0162: 84,
-    0xe0163: 84,
-    0xe0164: 84,
-    0xe0165: 84,
-    0xe0166: 84,
-    0xe0167: 84,
-    0xe0168: 84,
-    0xe0169: 84,
-    0xe016a: 84,
-    0xe016b: 84,
-    0xe016c: 84,
-    0xe016d: 84,
-    0xe016e: 84,
-    0xe016f: 84,
-    0xe0170: 84,
-    0xe0171: 84,
-    0xe0172: 84,
-    0xe0173: 84,
-    0xe0174: 84,
-    0xe0175: 84,
-    0xe0176: 84,
-    0xe0177: 84,
-    0xe0178: 84,
-    0xe0179: 84,
-    0xe017a: 84,
-    0xe017b: 84,
-    0xe017c: 84,
-    0xe017d: 84,
-    0xe017e: 84,
-    0xe017f: 84,
-    0xe0180: 84,
-    0xe0181: 84,
-    0xe0182: 84,
-    0xe0183: 84,
-    0xe0184: 84,
-    0xe0185: 84,
-    0xe0186: 84,
-    0xe0187: 84,
-    0xe0188: 84,
-    0xe0189: 84,
-    0xe018a: 84,
-    0xe018b: 84,
-    0xe018c: 84,
-    0xe018d: 84,
-    0xe018e: 84,
-    0xe018f: 84,
-    0xe0190: 84,
-    0xe0191: 84,
-    0xe0192: 84,
-    0xe0193: 84,
-    0xe0194: 84,
-    0xe0195: 84,
-    0xe0196: 84,
-    0xe0197: 84,
-    0xe0198: 84,
-    0xe0199: 84,
-    0xe019a: 84,
-    0xe019b: 84,
-    0xe019c: 84,
-    0xe019d: 84,
-    0xe019e: 84,
-    0xe019f: 84,
-    0xe01a0: 84,
-    0xe01a1: 84,
-    0xe01a2: 84,
-    0xe01a3: 84,
-    0xe01a4: 84,
-    0xe01a5: 84,
-    0xe01a6: 84,
-    0xe01a7: 84,
-    0xe01a8: 84,
-    0xe01a9: 84,
-    0xe01aa: 84,
-    0xe01ab: 84,
-    0xe01ac: 84,
-    0xe01ad: 84,
-    0xe01ae: 84,
-    0xe01af: 84,
-    0xe01b0: 84,
-    0xe01b1: 84,
-    0xe01b2: 84,
-    0xe01b3: 84,
-    0xe01b4: 84,
-    0xe01b5: 84,
-    0xe01b6: 84,
-    0xe01b7: 84,
-    0xe01b8: 84,
-    0xe01b9: 84,
-    0xe01ba: 84,
-    0xe01bb: 84,
-    0xe01bc: 84,
-    0xe01bd: 84,
-    0xe01be: 84,
-    0xe01bf: 84,
-    0xe01c0: 84,
-    0xe01c1: 84,
-    0xe01c2: 84,
-    0xe01c3: 84,
-    0xe01c4: 84,
-    0xe01c5: 84,
-    0xe01c6: 84,
-    0xe01c7: 84,
-    0xe01c8: 84,
-    0xe01c9: 84,
-    0xe01ca: 84,
-    0xe01cb: 84,
-    0xe01cc: 84,
-    0xe01cd: 84,
-    0xe01ce: 84,
-    0xe01cf: 84,
-    0xe01d0: 84,
-    0xe01d1: 84,
-    0xe01d2: 84,
-    0xe01d3: 84,
-    0xe01d4: 84,
-    0xe01d5: 84,
-    0xe01d6: 84,
-    0xe01d7: 84,
-    0xe01d8: 84,
-    0xe01d9: 84,
-    0xe01da: 84,
-    0xe01db: 84,
-    0xe01dc: 84,
-    0xe01dd: 84,
-    0xe01de: 84,
-    0xe01df: 84,
-    0xe01e0: 84,
-    0xe01e1: 84,
-    0xe01e2: 84,
-    0xe01e3: 84,
-    0xe01e4: 84,
-    0xe01e5: 84,
-    0xe01e6: 84,
-    0xe01e7: 84,
-    0xe01e8: 84,
-    0xe01e9: 84,
-    0xe01ea: 84,
-    0xe01eb: 84,
-    0xe01ec: 84,
-    0xe01ed: 84,
-    0xe01ee: 84,
-    0xe01ef: 84,
+    0x16AF0: 84,
+    0x16AF1: 84,
+    0x16AF2: 84,
+    0x16AF3: 84,
+    0x16AF4: 84,
+    0x16B30: 84,
+    0x16B31: 84,
+    0x16B32: 84,
+    0x16B33: 84,
+    0x16B34: 84,
+    0x16B35: 84,
+    0x16B36: 84,
+    0x16F4F: 84,
+    0x16F8F: 84,
+    0x16F90: 84,
+    0x16F91: 84,
+    0x16F92: 84,
+    0x16FE4: 84,
+    0x1BC9D: 84,
+    0x1BC9E: 84,
+    0x1BCA0: 84,
+    0x1BCA1: 84,
+    0x1BCA2: 84,
+    0x1BCA3: 84,
+    0x1CF00: 84,
+    0x1CF01: 84,
+    0x1CF02: 84,
+    0x1CF03: 84,
+    0x1CF04: 84,
+    0x1CF05: 84,
+    0x1CF06: 84,
+    0x1CF07: 84,
+    0x1CF08: 84,
+    0x1CF09: 84,
+    0x1CF0A: 84,
+    0x1CF0B: 84,
+    0x1CF0C: 84,
+    0x1CF0D: 84,
+    0x1CF0E: 84,
+    0x1CF0F: 84,
+    0x1CF10: 84,
+    0x1CF11: 84,
+    0x1CF12: 84,
+    0x1CF13: 84,
+    0x1CF14: 84,
+    0x1CF15: 84,
+    0x1CF16: 84,
+    0x1CF17: 84,
+    0x1CF18: 84,
+    0x1CF19: 84,
+    0x1CF1A: 84,
+    0x1CF1B: 84,
+    0x1CF1C: 84,
+    0x1CF1D: 84,
+    0x1CF1E: 84,
+    0x1CF1F: 84,
+    0x1CF20: 84,
+    0x1CF21: 84,
+    0x1CF22: 84,
+    0x1CF23: 84,
+    0x1CF24: 84,
+    0x1CF25: 84,
+    0x1CF26: 84,
+    0x1CF27: 84,
+    0x1CF28: 84,
+    0x1CF29: 84,
+    0x1CF2A: 84,
+    0x1CF2B: 84,
+    0x1CF2C: 84,
+    0x1CF2D: 84,
+    0x1CF30: 84,
+    0x1CF31: 84,
+    0x1CF32: 84,
+    0x1CF33: 84,
+    0x1CF34: 84,
+    0x1CF35: 84,
+    0x1CF36: 84,
+    0x1CF37: 84,
+    0x1CF38: 84,
+    0x1CF39: 84,
+    0x1CF3A: 84,
+    0x1CF3B: 84,
+    0x1CF3C: 84,
+    0x1CF3D: 84,
+    0x1CF3E: 84,
+    0x1CF3F: 84,
+    0x1CF40: 84,
+    0x1CF41: 84,
+    0x1CF42: 84,
+    0x1CF43: 84,
+    0x1CF44: 84,
+    0x1CF45: 84,
+    0x1CF46: 84,
+    0x1D167: 84,
+    0x1D168: 84,
+    0x1D169: 84,
+    0x1D173: 84,
+    0x1D174: 84,
+    0x1D175: 84,
+    0x1D176: 84,
+    0x1D177: 84,
+    0x1D178: 84,
+    0x1D179: 84,
+    0x1D17A: 84,
+    0x1D17B: 84,
+    0x1D17C: 84,
+    0x1D17D: 84,
+    0x1D17E: 84,
+    0x1D17F: 84,
+    0x1D180: 84,
+    0x1D181: 84,
+    0x1D182: 84,
+    0x1D185: 84,
+    0x1D186: 84,
+    0x1D187: 84,
+    0x1D188: 84,
+    0x1D189: 84,
+    0x1D18A: 84,
+    0x1D18B: 84,
+    0x1D1AA: 84,
+    0x1D1AB: 84,
+    0x1D1AC: 84,
+    0x1D1AD: 84,
+    0x1D242: 84,
+    0x1D243: 84,
+    0x1D244: 84,
+    0x1DA00: 84,
+    0x1DA01: 84,
+    0x1DA02: 84,
+    0x1DA03: 84,
+    0x1DA04: 84,
+    0x1DA05: 84,
+    0x1DA06: 84,
+    0x1DA07: 84,
+    0x1DA08: 84,
+    0x1DA09: 84,
+    0x1DA0A: 84,
+    0x1DA0B: 84,
+    0x1DA0C: 84,
+    0x1DA0D: 84,
+    0x1DA0E: 84,
+    0x1DA0F: 84,
+    0x1DA10: 84,
+    0x1DA11: 84,
+    0x1DA12: 84,
+    0x1DA13: 84,
+    0x1DA14: 84,
+    0x1DA15: 84,
+    0x1DA16: 84,
+    0x1DA17: 84,
+    0x1DA18: 84,
+    0x1DA19: 84,
+    0x1DA1A: 84,
+    0x1DA1B: 84,
+    0x1DA1C: 84,
+    0x1DA1D: 84,
+    0x1DA1E: 84,
+    0x1DA1F: 84,
+    0x1DA20: 84,
+    0x1DA21: 84,
+    0x1DA22: 84,
+    0x1DA23: 84,
+    0x1DA24: 84,
+    0x1DA25: 84,
+    0x1DA26: 84,
+    0x1DA27: 84,
+    0x1DA28: 84,
+    0x1DA29: 84,
+    0x1DA2A: 84,
+    0x1DA2B: 84,
+    0x1DA2C: 84,
+    0x1DA2D: 84,
+    0x1DA2E: 84,
+    0x1DA2F: 84,
+    0x1DA30: 84,
+    0x1DA31: 84,
+    0x1DA32: 84,
+    0x1DA33: 84,
+    0x1DA34: 84,
+    0x1DA35: 84,
+    0x1DA36: 84,
+    0x1DA3B: 84,
+    0x1DA3C: 84,
+    0x1DA3D: 84,
+    0x1DA3E: 84,
+    0x1DA3F: 84,
+    0x1DA40: 84,
+    0x1DA41: 84,
+    0x1DA42: 84,
+    0x1DA43: 84,
+    0x1DA44: 84,
+    0x1DA45: 84,
+    0x1DA46: 84,
+    0x1DA47: 84,
+    0x1DA48: 84,
+    0x1DA49: 84,
+    0x1DA4A: 84,
+    0x1DA4B: 84,
+    0x1DA4C: 84,
+    0x1DA4D: 84,
+    0x1DA4E: 84,
+    0x1DA4F: 84,
+    0x1DA50: 84,
+    0x1DA51: 84,
+    0x1DA52: 84,
+    0x1DA53: 84,
+    0x1DA54: 84,
+    0x1DA55: 84,
+    0x1DA56: 84,
+    0x1DA57: 84,
+    0x1DA58: 84,
+    0x1DA59: 84,
+    0x1DA5A: 84,
+    0x1DA5B: 84,
+    0x1DA5C: 84,
+    0x1DA5D: 84,
+    0x1DA5E: 84,
+    0x1DA5F: 84,
+    0x1DA60: 84,
+    0x1DA61: 84,
+    0x1DA62: 84,
+    0x1DA63: 84,
+    0x1DA64: 84,
+    0x1DA65: 84,
+    0x1DA66: 84,
+    0x1DA67: 84,
+    0x1DA68: 84,
+    0x1DA69: 84,
+    0x1DA6A: 84,
+    0x1DA6B: 84,
+    0x1DA6C: 84,
+    0x1DA75: 84,
+    0x1DA84: 84,
+    0x1DA9B: 84,
+    0x1DA9C: 84,
+    0x1DA9D: 84,
+    0x1DA9E: 84,
+    0x1DA9F: 84,
+    0x1DAA1: 84,
+    0x1DAA2: 84,
+    0x1DAA3: 84,
+    0x1DAA4: 84,
+    0x1DAA5: 84,
+    0x1DAA6: 84,
+    0x1DAA7: 84,
+    0x1DAA8: 84,
+    0x1DAA9: 84,
+    0x1DAAA: 84,
+    0x1DAAB: 84,
+    0x1DAAC: 84,
+    0x1DAAD: 84,
+    0x1DAAE: 84,
+    0x1DAAF: 84,
+    0x1E000: 84,
+    0x1E001: 84,
+    0x1E002: 84,
+    0x1E003: 84,
+    0x1E004: 84,
+    0x1E005: 84,
+    0x1E006: 84,
+    0x1E008: 84,
+    0x1E009: 84,
+    0x1E00A: 84,
+    0x1E00B: 84,
+    0x1E00C: 84,
+    0x1E00D: 84,
+    0x1E00E: 84,
+    0x1E00F: 84,
+    0x1E010: 84,
+    0x1E011: 84,
+    0x1E012: 84,
+    0x1E013: 84,
+    0x1E014: 84,
+    0x1E015: 84,
+    0x1E016: 84,
+    0x1E017: 84,
+    0x1E018: 84,
+    0x1E01B: 84,
+    0x1E01C: 84,
+    0x1E01D: 84,
+    0x1E01E: 84,
+    0x1E01F: 84,
+    0x1E020: 84,
+    0x1E021: 84,
+    0x1E023: 84,
+    0x1E024: 84,
+    0x1E026: 84,
+    0x1E027: 84,
+    0x1E028: 84,
+    0x1E029: 84,
+    0x1E02A: 84,
+    0x1E08F: 84,
+    0x1E130: 84,
+    0x1E131: 84,
+    0x1E132: 84,
+    0x1E133: 84,
+    0x1E134: 84,
+    0x1E135: 84,
+    0x1E136: 84,
+    0x1E2AE: 84,
+    0x1E2EC: 84,
+    0x1E2ED: 84,
+    0x1E2EE: 84,
+    0x1E2EF: 84,
+    0x1E4EC: 84,
+    0x1E4ED: 84,
+    0x1E4EE: 84,
+    0x1E4EF: 84,
+    0x1E8D0: 84,
+    0x1E8D1: 84,
+    0x1E8D2: 84,
+    0x1E8D3: 84,
+    0x1E8D4: 84,
+    0x1E8D5: 84,
+    0x1E8D6: 84,
+    0x1E900: 68,
+    0x1E901: 68,
+    0x1E902: 68,
+    0x1E903: 68,
+    0x1E904: 68,
+    0x1E905: 68,
+    0x1E906: 68,
+    0x1E907: 68,
+    0x1E908: 68,
+    0x1E909: 68,
+    0x1E90A: 68,
+    0x1E90B: 68,
+    0x1E90C: 68,
+    0x1E90D: 68,
+    0x1E90E: 68,
+    0x1E90F: 68,
+    0x1E910: 68,
+    0x1E911: 68,
+    0x1E912: 68,
+    0x1E913: 68,
+    0x1E914: 68,
+    0x1E915: 68,
+    0x1E916: 68,
+    0x1E917: 68,
+    0x1E918: 68,
+    0x1E919: 68,
+    0x1E91A: 68,
+    0x1E91B: 68,
+    0x1E91C: 68,
+    0x1E91D: 68,
+    0x1E91E: 68,
+    0x1E91F: 68,
+    0x1E920: 68,
+    0x1E921: 68,
+    0x1E922: 68,
+    0x1E923: 68,
+    0x1E924: 68,
+    0x1E925: 68,
+    0x1E926: 68,
+    0x1E927: 68,
+    0x1E928: 68,
+    0x1E929: 68,
+    0x1E92A: 68,
+    0x1E92B: 68,
+    0x1E92C: 68,
+    0x1E92D: 68,
+    0x1E92E: 68,
+    0x1E92F: 68,
+    0x1E930: 68,
+    0x1E931: 68,
+    0x1E932: 68,
+    0x1E933: 68,
+    0x1E934: 68,
+    0x1E935: 68,
+    0x1E936: 68,
+    0x1E937: 68,
+    0x1E938: 68,
+    0x1E939: 68,
+    0x1E93A: 68,
+    0x1E93B: 68,
+    0x1E93C: 68,
+    0x1E93D: 68,
+    0x1E93E: 68,
+    0x1E93F: 68,
+    0x1E940: 68,
+    0x1E941: 68,
+    0x1E942: 68,
+    0x1E943: 68,
+    0x1E944: 84,
+    0x1E945: 84,
+    0x1E946: 84,
+    0x1E947: 84,
+    0x1E948: 84,
+    0x1E949: 84,
+    0x1E94A: 84,
+    0x1E94B: 84,
+    0xE0001: 84,
+    0xE0020: 84,
+    0xE0021: 84,
+    0xE0022: 84,
+    0xE0023: 84,
+    0xE0024: 84,
+    0xE0025: 84,
+    0xE0026: 84,
+    0xE0027: 84,
+    0xE0028: 84,
+    0xE0029: 84,
+    0xE002A: 84,
+    0xE002B: 84,
+    0xE002C: 84,
+    0xE002D: 84,
+    0xE002E: 84,
+    0xE002F: 84,
+    0xE0030: 84,
+    0xE0031: 84,
+    0xE0032: 84,
+    0xE0033: 84,
+    0xE0034: 84,
+    0xE0035: 84,
+    0xE0036: 84,
+    0xE0037: 84,
+    0xE0038: 84,
+    0xE0039: 84,
+    0xE003A: 84,
+    0xE003B: 84,
+    0xE003C: 84,
+    0xE003D: 84,
+    0xE003E: 84,
+    0xE003F: 84,
+    0xE0040: 84,
+    0xE0041: 84,
+    0xE0042: 84,
+    0xE0043: 84,
+    0xE0044: 84,
+    0xE0045: 84,
+    0xE0046: 84,
+    0xE0047: 84,
+    0xE0048: 84,
+    0xE0049: 84,
+    0xE004A: 84,
+    0xE004B: 84,
+    0xE004C: 84,
+    0xE004D: 84,
+    0xE004E: 84,
+    0xE004F: 84,
+    0xE0050: 84,
+    0xE0051: 84,
+    0xE0052: 84,
+    0xE0053: 84,
+    0xE0054: 84,
+    0xE0055: 84,
+    0xE0056: 84,
+    0xE0057: 84,
+    0xE0058: 84,
+    0xE0059: 84,
+    0xE005A: 84,
+    0xE005B: 84,
+    0xE005C: 84,
+    0xE005D: 84,
+    0xE005E: 84,
+    0xE005F: 84,
+    0xE0060: 84,
+    0xE0061: 84,
+    0xE0062: 84,
+    0xE0063: 84,
+    0xE0064: 84,
+    0xE0065: 84,
+    0xE0066: 84,
+    0xE0067: 84,
+    0xE0068: 84,
+    0xE0069: 84,
+    0xE006A: 84,
+    0xE006B: 84,
+    0xE006C: 84,
+    0xE006D: 84,
+    0xE006E: 84,
+    0xE006F: 84,
+    0xE0070: 84,
+    0xE0071: 84,
+    0xE0072: 84,
+    0xE0073: 84,
+    0xE0074: 84,
+    0xE0075: 84,
+    0xE0076: 84,
+    0xE0077: 84,
+    0xE0078: 84,
+    0xE0079: 84,
+    0xE007A: 84,
+    0xE007B: 84,
+    0xE007C: 84,
+    0xE007D: 84,
+    0xE007E: 84,
+    0xE007F: 84,
+    0xE0100: 84,
+    0xE0101: 84,
+    0xE0102: 84,
+    0xE0103: 84,
+    0xE0104: 84,
+    0xE0105: 84,
+    0xE0106: 84,
+    0xE0107: 84,
+    0xE0108: 84,
+    0xE0109: 84,
+    0xE010A: 84,
+    0xE010B: 84,
+    0xE010C: 84,
+    0xE010D: 84,
+    0xE010E: 84,
+    0xE010F: 84,
+    0xE0110: 84,
+    0xE0111: 84,
+    0xE0112: 84,
+    0xE0113: 84,
+    0xE0114: 84,
+    0xE0115: 84,
+    0xE0116: 84,
+    0xE0117: 84,
+    0xE0118: 84,
+    0xE0119: 84,
+    0xE011A: 84,
+    0xE011B: 84,
+    0xE011C: 84,
+    0xE011D: 84,
+    0xE011E: 84,
+    0xE011F: 84,
+    0xE0120: 84,
+    0xE0121: 84,
+    0xE0122: 84,
+    0xE0123: 84,
+    0xE0124: 84,
+    0xE0125: 84,
+    0xE0126: 84,
+    0xE0127: 84,
+    0xE0128: 84,
+    0xE0129: 84,
+    0xE012A: 84,
+    0xE012B: 84,
+    0xE012C: 84,
+    0xE012D: 84,
+    0xE012E: 84,
+    0xE012F: 84,
+    0xE0130: 84,
+    0xE0131: 84,
+    0xE0132: 84,
+    0xE0133: 84,
+    0xE0134: 84,
+    0xE0135: 84,
+    0xE0136: 84,
+    0xE0137: 84,
+    0xE0138: 84,
+    0xE0139: 84,
+    0xE013A: 84,
+    0xE013B: 84,
+    0xE013C: 84,
+    0xE013D: 84,
+    0xE013E: 84,
+    0xE013F: 84,
+    0xE0140: 84,
+    0xE0141: 84,
+    0xE0142: 84,
+    0xE0143: 84,
+    0xE0144: 84,
+    0xE0145: 84,
+    0xE0146: 84,
+    0xE0147: 84,
+    0xE0148: 84,
+    0xE0149: 84,
+    0xE014A: 84,
+    0xE014B: 84,
+    0xE014C: 84,
+    0xE014D: 84,
+    0xE014E: 84,
+    0xE014F: 84,
+    0xE0150: 84,
+    0xE0151: 84,
+    0xE0152: 84,
+    0xE0153: 84,
+    0xE0154: 84,
+    0xE0155: 84,
+    0xE0156: 84,
+    0xE0157: 84,
+    0xE0158: 84,
+    0xE0159: 84,
+    0xE015A: 84,
+    0xE015B: 84,
+    0xE015C: 84,
+    0xE015D: 84,
+    0xE015E: 84,
+    0xE015F: 84,
+    0xE0160: 84,
+    0xE0161: 84,
+    0xE0162: 84,
+    0xE0163: 84,
+    0xE0164: 84,
+    0xE0165: 84,
+    0xE0166: 84,
+    0xE0167: 84,
+    0xE0168: 84,
+    0xE0169: 84,
+    0xE016A: 84,
+    0xE016B: 84,
+    0xE016C: 84,
+    0xE016D: 84,
+    0xE016E: 84,
+    0xE016F: 84,
+    0xE0170: 84,
+    0xE0171: 84,
+    0xE0172: 84,
+    0xE0173: 84,
+    0xE0174: 84,
+    0xE0175: 84,
+    0xE0176: 84,
+    0xE0177: 84,
+    0xE0178: 84,
+    0xE0179: 84,
+    0xE017A: 84,
+    0xE017B: 84,
+    0xE017C: 84,
+    0xE017D: 84,
+    0xE017E: 84,
+    0xE017F: 84,
+    0xE0180: 84,
+    0xE0181: 84,
+    0xE0182: 84,
+    0xE0183: 84,
+    0xE0184: 84,
+    0xE0185: 84,
+    0xE0186: 84,
+    0xE0187: 84,
+    0xE0188: 84,
+    0xE0189: 84,
+    0xE018A: 84,
+    0xE018B: 84,
+    0xE018C: 84,
+    0xE018D: 84,
+    0xE018E: 84,
+    0xE018F: 84,
+    0xE0190: 84,
+    0xE0191: 84,
+    0xE0192: 84,
+    0xE0193: 84,
+    0xE0194: 84,
+    0xE0195: 84,
+    0xE0196: 84,
+    0xE0197: 84,
+    0xE0198: 84,
+    0xE0199: 84,
+    0xE019A: 84,
+    0xE019B: 84,
+    0xE019C: 84,
+    0xE019D: 84,
+    0xE019E: 84,
+    0xE019F: 84,
+    0xE01A0: 84,
+    0xE01A1: 84,
+    0xE01A2: 84,
+    0xE01A3: 84,
+    0xE01A4: 84,
+    0xE01A5: 84,
+    0xE01A6: 84,
+    0xE01A7: 84,
+    0xE01A8: 84,
+    0xE01A9: 84,
+    0xE01AA: 84,
+    0xE01AB: 84,
+    0xE01AC: 84,
+    0xE01AD: 84,
+    0xE01AE: 84,
+    0xE01AF: 84,
+    0xE01B0: 84,
+    0xE01B1: 84,
+    0xE01B2: 84,
+    0xE01B3: 84,
+    0xE01B4: 84,
+    0xE01B5: 84,
+    0xE01B6: 84,
+    0xE01B7: 84,
+    0xE01B8: 84,
+    0xE01B9: 84,
+    0xE01BA: 84,
+    0xE01BB: 84,
+    0xE01BC: 84,
+    0xE01BD: 84,
+    0xE01BE: 84,
+    0xE01BF: 84,
+    0xE01C0: 84,
+    0xE01C1: 84,
+    0xE01C2: 84,
+    0xE01C3: 84,
+    0xE01C4: 84,
+    0xE01C5: 84,
+    0xE01C6: 84,
+    0xE01C7: 84,
+    0xE01C8: 84,
+    0xE01C9: 84,
+    0xE01CA: 84,
+    0xE01CB: 84,
+    0xE01CC: 84,
+    0xE01CD: 84,
+    0xE01CE: 84,
+    0xE01CF: 84,
+    0xE01D0: 84,
+    0xE01D1: 84,
+    0xE01D2: 84,
+    0xE01D3: 84,
+    0xE01D4: 84,
+    0xE01D5: 84,
+    0xE01D6: 84,
+    0xE01D7: 84,
+    0xE01D8: 84,
+    0xE01D9: 84,
+    0xE01DA: 84,
+    0xE01DB: 84,
+    0xE01DC: 84,
+    0xE01DD: 84,
+    0xE01DE: 84,
+    0xE01DF: 84,
+    0xE01E0: 84,
+    0xE01E1: 84,
+    0xE01E2: 84,
+    0xE01E3: 84,
+    0xE01E4: 84,
+    0xE01E5: 84,
+    0xE01E6: 84,
+    0xE01E7: 84,
+    0xE01E8: 84,
+    0xE01E9: 84,
+    0xE01EA: 84,
+    0xE01EB: 84,
+    0xE01EC: 84,
+    0xE01ED: 84,
+    0xE01EE: 84,
+    0xE01EF: 84,
 }
 codepoint_classes = {
-    'PVALID': (
-        0x2d0000002e,
-        0x300000003a,
-        0x610000007b,
-        0xdf000000f7,
-        0xf800000100,
+    "PVALID": (
+        0x2D0000002E,
+        0x300000003A,
+        0x610000007B,
+        0xDF000000F7,
+        0xF800000100,
         0x10100000102,
         0x10300000104,
         0x10500000106,
         0x10700000108,
-        0x1090000010a,
-        0x10b0000010c,
-        0x10d0000010e,
-        0x10f00000110,
+        0x1090000010A,
+        0x10B0000010C,
+        0x10D0000010E,
+        0x10F00000110,
         0x11100000112,
         0x11300000114,
         0x11500000116,
         0x11700000118,
-        0x1190000011a,
-        0x11b0000011c,
-        0x11d0000011e,
-        0x11f00000120,
+        0x1190000011A,
+        0x11B0000011C,
+        0x11D0000011E,
+        0x11F00000120,
         0x12100000122,
         0x12300000124,
         0x12500000126,
         0x12700000128,
-        0x1290000012a,
-        0x12b0000012c,
-        0x12d0000012e,
-        0x12f00000130,
+        0x1290000012A,
+        0x12B0000012C,
+        0x12D0000012E,
+        0x12F00000130,
         0x13100000132,
         0x13500000136,
         0x13700000139,
-        0x13a0000013b,
-        0x13c0000013d,
-        0x13e0000013f,
+        0x13A0000013B,
+        0x13C0000013D,
+        0x13E0000013F,
         0x14200000143,
         0x14400000145,
         0x14600000147,
         0x14800000149,
-        0x14b0000014c,
-        0x14d0000014e,
-        0x14f00000150,
+        0x14B0000014C,
+        0x14D0000014E,
+        0x14F00000150,
         0x15100000152,
         0x15300000154,
         0x15500000156,
         0x15700000158,
-        0x1590000015a,
-        0x15b0000015c,
-        0x15d0000015e,
-        0x15f00000160,
+        0x1590000015A,
+        0x15B0000015C,
+        0x15D0000015E,
+        0x15F00000160,
         0x16100000162,
         0x16300000164,
         0x16500000166,
         0x16700000168,
-        0x1690000016a,
-        0x16b0000016c,
-        0x16d0000016e,
-        0x16f00000170,
+        0x1690000016A,
+        0x16B0000016C,
+        0x16D0000016E,
+        0x16F00000170,
         0x17100000172,
         0x17300000174,
         0x17500000176,
         0x17700000178,
-        0x17a0000017b,
-        0x17c0000017d,
-        0x17e0000017f,
+        0x17A0000017B,
+        0x17C0000017D,
+        0x17E0000017F,
         0x18000000181,
         0x18300000184,
         0x18500000186,
         0x18800000189,
-        0x18c0000018e,
+        0x18C0000018E,
         0x19200000193,
         0x19500000196,
-        0x1990000019c,
-        0x19e0000019f,
-        0x1a1000001a2,
-        0x1a3000001a4,
-        0x1a5000001a6,
-        0x1a8000001a9,
-        0x1aa000001ac,
-        0x1ad000001ae,
-        0x1b0000001b1,
-        0x1b4000001b5,
-        0x1b6000001b7,
-        0x1b9000001bc,
-        0x1bd000001c4,
-        0x1ce000001cf,
-        0x1d0000001d1,
-        0x1d2000001d3,
-        0x1d4000001d5,
-        0x1d6000001d7,
-        0x1d8000001d9,
-        0x1da000001db,
-        0x1dc000001de,
-        0x1df000001e0,
-        0x1e1000001e2,
-        0x1e3000001e4,
-        0x1e5000001e6,
-        0x1e7000001e8,
-        0x1e9000001ea,
-        0x1eb000001ec,
-        0x1ed000001ee,
-        0x1ef000001f1,
-        0x1f5000001f6,
-        0x1f9000001fa,
-        0x1fb000001fc,
-        0x1fd000001fe,
-        0x1ff00000200,
+        0x1990000019C,
+        0x19E0000019F,
+        0x1A1000001A2,
+        0x1A3000001A4,
+        0x1A5000001A6,
+        0x1A8000001A9,
+        0x1AA000001AC,
+        0x1AD000001AE,
+        0x1B0000001B1,
+        0x1B4000001B5,
+        0x1B6000001B7,
+        0x1B9000001BC,
+        0x1BD000001C4,
+        0x1CE000001CF,
+        0x1D0000001D1,
+        0x1D2000001D3,
+        0x1D4000001D5,
+        0x1D6000001D7,
+        0x1D8000001D9,
+        0x1DA000001DB,
+        0x1DC000001DE,
+        0x1DF000001E0,
+        0x1E1000001E2,
+        0x1E3000001E4,
+        0x1E5000001E6,
+        0x1E7000001E8,
+        0x1E9000001EA,
+        0x1EB000001EC,
+        0x1ED000001EE,
+        0x1EF000001F1,
+        0x1F5000001F6,
+        0x1F9000001FA,
+        0x1FB000001FC,
+        0x1FD000001FE,
+        0x1FF00000200,
         0x20100000202,
         0x20300000204,
         0x20500000206,
         0x20700000208,
-        0x2090000020a,
-        0x20b0000020c,
-        0x20d0000020e,
-        0x20f00000210,
+        0x2090000020A,
+        0x20B0000020C,
+        0x20D0000020E,
+        0x20F00000210,
         0x21100000212,
         0x21300000214,
         0x21500000216,
         0x21700000218,
-        0x2190000021a,
-        0x21b0000021c,
-        0x21d0000021e,
-        0x21f00000220,
+        0x2190000021A,
+        0x21B0000021C,
+        0x21D0000021E,
+        0x21F00000220,
         0x22100000222,
         0x22300000224,
         0x22500000226,
         0x22700000228,
-        0x2290000022a,
-        0x22b0000022c,
-        0x22d0000022e,
-        0x22f00000230,
+        0x2290000022A,
+        0x22B0000022C,
+        0x22D0000022E,
+        0x22F00000230,
         0x23100000232,
-        0x2330000023a,
-        0x23c0000023d,
-        0x23f00000241,
+        0x2330000023A,
+        0x23C0000023D,
+        0x23F00000241,
         0x24200000243,
         0x24700000248,
-        0x2490000024a,
-        0x24b0000024c,
-        0x24d0000024e,
-        0x24f000002b0,
-        0x2b9000002c2,
-        0x2c6000002d2,
-        0x2ec000002ed,
-        0x2ee000002ef,
+        0x2490000024A,
+        0x24B0000024C,
+        0x24D0000024E,
+        0x24F000002B0,
+        0x2B9000002C2,
+        0x2C6000002D2,
+        0x2EC000002ED,
+        0x2EE000002EF,
         0x30000000340,
         0x34200000343,
-        0x3460000034f,
+        0x3460000034F,
         0x35000000370,
         0x37100000372,
         0x37300000374,
         0x37700000378,
-        0x37b0000037e,
+        0x37B0000037E,
         0x39000000391,
-        0x3ac000003cf,
-        0x3d7000003d8,
-        0x3d9000003da,
-        0x3db000003dc,
-        0x3dd000003de,
-        0x3df000003e0,
-        0x3e1000003e2,
-        0x3e3000003e4,
-        0x3e5000003e6,
-        0x3e7000003e8,
-        0x3e9000003ea,
-        0x3eb000003ec,
-        0x3ed000003ee,
-        0x3ef000003f0,
-        0x3f3000003f4,
-        0x3f8000003f9,
-        0x3fb000003fd,
+        0x3AC000003CF,
+        0x3D7000003D8,
+        0x3D9000003DA,
+        0x3DB000003DC,
+        0x3DD000003DE,
+        0x3DF000003E0,
+        0x3E1000003E2,
+        0x3E3000003E4,
+        0x3E5000003E6,
+        0x3E7000003E8,
+        0x3E9000003EA,
+        0x3EB000003EC,
+        0x3ED000003EE,
+        0x3EF000003F0,
+        0x3F3000003F4,
+        0x3F8000003F9,
+        0x3FB000003FD,
         0x43000000460,
         0x46100000462,
         0x46300000464,
         0x46500000466,
         0x46700000468,
-        0x4690000046a,
-        0x46b0000046c,
-        0x46d0000046e,
-        0x46f00000470,
+        0x4690000046A,
+        0x46B0000046C,
+        0x46D0000046E,
+        0x46F00000470,
         0x47100000472,
         0x47300000474,
         0x47500000476,
         0x47700000478,
-        0x4790000047a,
-        0x47b0000047c,
-        0x47d0000047e,
-        0x47f00000480,
+        0x4790000047A,
+        0x47B0000047C,
+        0x47D0000047E,
+        0x47F00000480,
         0x48100000482,
         0x48300000488,
-        0x48b0000048c,
-        0x48d0000048e,
-        0x48f00000490,
+        0x48B0000048C,
+        0x48D0000048E,
+        0x48F00000490,
         0x49100000492,
         0x49300000494,
         0x49500000496,
         0x49700000498,
-        0x4990000049a,
-        0x49b0000049c,
-        0x49d0000049e,
-        0x49f000004a0,
-        0x4a1000004a2,
-        0x4a3000004a4,
-        0x4a5000004a6,
-        0x4a7000004a8,
-        0x4a9000004aa,
-        0x4ab000004ac,
-        0x4ad000004ae,
-        0x4af000004b0,
-        0x4b1000004b2,
-        0x4b3000004b4,
-        0x4b5000004b6,
-        0x4b7000004b8,
-        0x4b9000004ba,
-        0x4bb000004bc,
-        0x4bd000004be,
-        0x4bf000004c0,
-        0x4c2000004c3,
-        0x4c4000004c5,
-        0x4c6000004c7,
-        0x4c8000004c9,
-        0x4ca000004cb,
-        0x4cc000004cd,
-        0x4ce000004d0,
-        0x4d1000004d2,
-        0x4d3000004d4,
-        0x4d5000004d6,
-        0x4d7000004d8,
-        0x4d9000004da,
-        0x4db000004dc,
-        0x4dd000004de,
-        0x4df000004e0,
-        0x4e1000004e2,
-        0x4e3000004e4,
-        0x4e5000004e6,
-        0x4e7000004e8,
-        0x4e9000004ea,
-        0x4eb000004ec,
-        0x4ed000004ee,
-        0x4ef000004f0,
-        0x4f1000004f2,
-        0x4f3000004f4,
-        0x4f5000004f6,
-        0x4f7000004f8,
-        0x4f9000004fa,
-        0x4fb000004fc,
-        0x4fd000004fe,
-        0x4ff00000500,
+        0x4990000049A,
+        0x49B0000049C,
+        0x49D0000049E,
+        0x49F000004A0,
+        0x4A1000004A2,
+        0x4A3000004A4,
+        0x4A5000004A6,
+        0x4A7000004A8,
+        0x4A9000004AA,
+        0x4AB000004AC,
+        0x4AD000004AE,
+        0x4AF000004B0,
+        0x4B1000004B2,
+        0x4B3000004B4,
+        0x4B5000004B6,
+        0x4B7000004B8,
+        0x4B9000004BA,
+        0x4BB000004BC,
+        0x4BD000004BE,
+        0x4BF000004C0,
+        0x4C2000004C3,
+        0x4C4000004C5,
+        0x4C6000004C7,
+        0x4C8000004C9,
+        0x4CA000004CB,
+        0x4CC000004CD,
+        0x4CE000004D0,
+        0x4D1000004D2,
+        0x4D3000004D4,
+        0x4D5000004D6,
+        0x4D7000004D8,
+        0x4D9000004DA,
+        0x4DB000004DC,
+        0x4DD000004DE,
+        0x4DF000004E0,
+        0x4E1000004E2,
+        0x4E3000004E4,
+        0x4E5000004E6,
+        0x4E7000004E8,
+        0x4E9000004EA,
+        0x4EB000004EC,
+        0x4ED000004EE,
+        0x4EF000004F0,
+        0x4F1000004F2,
+        0x4F3000004F4,
+        0x4F5000004F6,
+        0x4F7000004F8,
+        0x4F9000004FA,
+        0x4FB000004FC,
+        0x4FD000004FE,
+        0x4FF00000500,
         0x50100000502,
         0x50300000504,
         0x50500000506,
         0x50700000508,
-        0x5090000050a,
-        0x50b0000050c,
-        0x50d0000050e,
-        0x50f00000510,
+        0x5090000050A,
+        0x50B0000050C,
+        0x50D0000050E,
+        0x50F00000510,
         0x51100000512,
         0x51300000514,
         0x51500000516,
         0x51700000518,
-        0x5190000051a,
-        0x51b0000051c,
-        0x51d0000051e,
-        0x51f00000520,
+        0x5190000051A,
+        0x51B0000051C,
+        0x51D0000051E,
+        0x51F00000520,
         0x52100000522,
         0x52300000524,
         0x52500000526,
         0x52700000528,
-        0x5290000052a,
-        0x52b0000052c,
-        0x52d0000052e,
-        0x52f00000530,
-        0x5590000055a,
+        0x5290000052A,
+        0x52B0000052C,
+        0x52D0000052E,
+        0x52F00000530,
+        0x5590000055A,
         0x56000000587,
         0x58800000589,
-        0x591000005be,
-        0x5bf000005c0,
-        0x5c1000005c3,
-        0x5c4000005c6,
-        0x5c7000005c8,
-        0x5d0000005eb,
-        0x5ef000005f3,
-        0x6100000061b,
+        0x591000005BE,
+        0x5BF000005C0,
+        0x5C1000005C3,
+        0x5C4000005C6,
+        0x5C7000005C8,
+        0x5D0000005EB,
+        0x5EF000005F3,
+        0x6100000061B,
         0x62000000640,
         0x64100000660,
-        0x66e00000675,
-        0x679000006d4,
-        0x6d5000006dd,
-        0x6df000006e9,
-        0x6ea000006f0,
-        0x6fa00000700,
-        0x7100000074b,
-        0x74d000007b2,
-        0x7c0000007f6,
-        0x7fd000007fe,
-        0x8000000082e,
-        0x8400000085c,
-        0x8600000086b,
+        0x66E00000675,
+        0x679000006D4,
+        0x6D5000006DD,
+        0x6DF000006E9,
+        0x6EA000006F0,
+        0x6FA00000700,
+        0x7100000074B,
+        0x74D000007B2,
+        0x7C0000007F6,
+        0x7FD000007FE,
+        0x8000000082E,
+        0x8400000085C,
+        0x8600000086B,
         0x87000000888,
-        0x8890000088f,
-        0x898000008e2,
-        0x8e300000958,
+        0x8890000088F,
+        0x898000008E2,
+        0x8E300000958,
         0x96000000964,
         0x96600000970,
         0x97100000984,
-        0x9850000098d,
-        0x98f00000991,
-        0x993000009a9,
-        0x9aa000009b1,
-        0x9b2000009b3,
-        0x9b6000009ba,
-        0x9bc000009c5,
-        0x9c7000009c9,
-        0x9cb000009cf,
-        0x9d7000009d8,
-        0x9e0000009e4,
-        0x9e6000009f2,
-        0x9fc000009fd,
-        0x9fe000009ff,
-        0xa0100000a04,
-        0xa0500000a0b,
-        0xa0f00000a11,
-        0xa1300000a29,
-        0xa2a00000a31,
-        0xa3200000a33,
-        0xa3500000a36,
-        0xa3800000a3a,
-        0xa3c00000a3d,
-        0xa3e00000a43,
-        0xa4700000a49,
-        0xa4b00000a4e,
-        0xa5100000a52,
-        0xa5c00000a5d,
-        0xa6600000a76,
-        0xa8100000a84,
-        0xa8500000a8e,
-        0xa8f00000a92,
-        0xa9300000aa9,
-        0xaaa00000ab1,
-        0xab200000ab4,
-        0xab500000aba,
-        0xabc00000ac6,
-        0xac700000aca,
-        0xacb00000ace,
-        0xad000000ad1,
-        0xae000000ae4,
-        0xae600000af0,
-        0xaf900000b00,
-        0xb0100000b04,
-        0xb0500000b0d,
-        0xb0f00000b11,
-        0xb1300000b29,
-        0xb2a00000b31,
-        0xb3200000b34,
-        0xb3500000b3a,
-        0xb3c00000b45,
-        0xb4700000b49,
-        0xb4b00000b4e,
-        0xb5500000b58,
-        0xb5f00000b64,
-        0xb6600000b70,
-        0xb7100000b72,
-        0xb8200000b84,
-        0xb8500000b8b,
-        0xb8e00000b91,
-        0xb9200000b96,
-        0xb9900000b9b,
-        0xb9c00000b9d,
-        0xb9e00000ba0,
-        0xba300000ba5,
-        0xba800000bab,
-        0xbae00000bba,
-        0xbbe00000bc3,
-        0xbc600000bc9,
-        0xbca00000bce,
-        0xbd000000bd1,
-        0xbd700000bd8,
-        0xbe600000bf0,
-        0xc0000000c0d,
-        0xc0e00000c11,
-        0xc1200000c29,
-        0xc2a00000c3a,
-        0xc3c00000c45,
-        0xc4600000c49,
-        0xc4a00000c4e,
-        0xc5500000c57,
-        0xc5800000c5b,
-        0xc5d00000c5e,
-        0xc6000000c64,
-        0xc6600000c70,
-        0xc8000000c84,
-        0xc8500000c8d,
-        0xc8e00000c91,
-        0xc9200000ca9,
-        0xcaa00000cb4,
-        0xcb500000cba,
-        0xcbc00000cc5,
-        0xcc600000cc9,
-        0xcca00000cce,
-        0xcd500000cd7,
-        0xcdd00000cdf,
-        0xce000000ce4,
-        0xce600000cf0,
-        0xcf100000cf4,
-        0xd0000000d0d,
-        0xd0e00000d11,
-        0xd1200000d45,
-        0xd4600000d49,
-        0xd4a00000d4f,
-        0xd5400000d58,
-        0xd5f00000d64,
-        0xd6600000d70,
-        0xd7a00000d80,
-        0xd8100000d84,
-        0xd8500000d97,
-        0xd9a00000db2,
-        0xdb300000dbc,
-        0xdbd00000dbe,
-        0xdc000000dc7,
-        0xdca00000dcb,
-        0xdcf00000dd5,
-        0xdd600000dd7,
-        0xdd800000de0,
-        0xde600000df0,
-        0xdf200000df4,
-        0xe0100000e33,
-        0xe3400000e3b,
-        0xe4000000e4f,
-        0xe5000000e5a,
-        0xe8100000e83,
-        0xe8400000e85,
-        0xe8600000e8b,
-        0xe8c00000ea4,
-        0xea500000ea6,
-        0xea700000eb3,
-        0xeb400000ebe,
-        0xec000000ec5,
-        0xec600000ec7,
-        0xec800000ecf,
-        0xed000000eda,
-        0xede00000ee0,
-        0xf0000000f01,
-        0xf0b00000f0c,
-        0xf1800000f1a,
-        0xf2000000f2a,
-        0xf3500000f36,
-        0xf3700000f38,
-        0xf3900000f3a,
-        0xf3e00000f43,
-        0xf4400000f48,
-        0xf4900000f4d,
-        0xf4e00000f52,
-        0xf5300000f57,
-        0xf5800000f5c,
-        0xf5d00000f69,
-        0xf6a00000f6d,
-        0xf7100000f73,
-        0xf7400000f75,
-        0xf7a00000f81,
-        0xf8200000f85,
-        0xf8600000f93,
-        0xf9400000f98,
-        0xf9900000f9d,
-        0xf9e00000fa2,
-        0xfa300000fa7,
-        0xfa800000fac,
-        0xfad00000fb9,
-        0xfba00000fbd,
-        0xfc600000fc7,
-        0x10000000104a,
-        0x10500000109e,
-        0x10d0000010fb,
-        0x10fd00001100,
+        0x9850000098D,
+        0x98F00000991,
+        0x993000009A9,
+        0x9AA000009B1,
+        0x9B2000009B3,
+        0x9B6000009BA,
+        0x9BC000009C5,
+        0x9C7000009C9,
+        0x9CB000009CF,
+        0x9D7000009D8,
+        0x9E0000009E4,
+        0x9E6000009F2,
+        0x9FC000009FD,
+        0x9FE000009FF,
+        0xA0100000A04,
+        0xA0500000A0B,
+        0xA0F00000A11,
+        0xA1300000A29,
+        0xA2A00000A31,
+        0xA3200000A33,
+        0xA3500000A36,
+        0xA3800000A3A,
+        0xA3C00000A3D,
+        0xA3E00000A43,
+        0xA4700000A49,
+        0xA4B00000A4E,
+        0xA5100000A52,
+        0xA5C00000A5D,
+        0xA6600000A76,
+        0xA8100000A84,
+        0xA8500000A8E,
+        0xA8F00000A92,
+        0xA9300000AA9,
+        0xAAA00000AB1,
+        0xAB200000AB4,
+        0xAB500000ABA,
+        0xABC00000AC6,
+        0xAC700000ACA,
+        0xACB00000ACE,
+        0xAD000000AD1,
+        0xAE000000AE4,
+        0xAE600000AF0,
+        0xAF900000B00,
+        0xB0100000B04,
+        0xB0500000B0D,
+        0xB0F00000B11,
+        0xB1300000B29,
+        0xB2A00000B31,
+        0xB3200000B34,
+        0xB3500000B3A,
+        0xB3C00000B45,
+        0xB4700000B49,
+        0xB4B00000B4E,
+        0xB5500000B58,
+        0xB5F00000B64,
+        0xB6600000B70,
+        0xB7100000B72,
+        0xB8200000B84,
+        0xB8500000B8B,
+        0xB8E00000B91,
+        0xB9200000B96,
+        0xB9900000B9B,
+        0xB9C00000B9D,
+        0xB9E00000BA0,
+        0xBA300000BA5,
+        0xBA800000BAB,
+        0xBAE00000BBA,
+        0xBBE00000BC3,
+        0xBC600000BC9,
+        0xBCA00000BCE,
+        0xBD000000BD1,
+        0xBD700000BD8,
+        0xBE600000BF0,
+        0xC0000000C0D,
+        0xC0E00000C11,
+        0xC1200000C29,
+        0xC2A00000C3A,
+        0xC3C00000C45,
+        0xC4600000C49,
+        0xC4A00000C4E,
+        0xC5500000C57,
+        0xC5800000C5B,
+        0xC5D00000C5E,
+        0xC6000000C64,
+        0xC6600000C70,
+        0xC8000000C84,
+        0xC8500000C8D,
+        0xC8E00000C91,
+        0xC9200000CA9,
+        0xCAA00000CB4,
+        0xCB500000CBA,
+        0xCBC00000CC5,
+        0xCC600000CC9,
+        0xCCA00000CCE,
+        0xCD500000CD7,
+        0xCDD00000CDF,
+        0xCE000000CE4,
+        0xCE600000CF0,
+        0xCF100000CF4,
+        0xD0000000D0D,
+        0xD0E00000D11,
+        0xD1200000D45,
+        0xD4600000D49,
+        0xD4A00000D4F,
+        0xD5400000D58,
+        0xD5F00000D64,
+        0xD6600000D70,
+        0xD7A00000D80,
+        0xD8100000D84,
+        0xD8500000D97,
+        0xD9A00000DB2,
+        0xDB300000DBC,
+        0xDBD00000DBE,
+        0xDC000000DC7,
+        0xDCA00000DCB,
+        0xDCF00000DD5,
+        0xDD600000DD7,
+        0xDD800000DE0,
+        0xDE600000DF0,
+        0xDF200000DF4,
+        0xE0100000E33,
+        0xE3400000E3B,
+        0xE4000000E4F,
+        0xE5000000E5A,
+        0xE8100000E83,
+        0xE8400000E85,
+        0xE8600000E8B,
+        0xE8C00000EA4,
+        0xEA500000EA6,
+        0xEA700000EB3,
+        0xEB400000EBE,
+        0xEC000000EC5,
+        0xEC600000EC7,
+        0xEC800000ECF,
+        0xED000000EDA,
+        0xEDE00000EE0,
+        0xF0000000F01,
+        0xF0B00000F0C,
+        0xF1800000F1A,
+        0xF2000000F2A,
+        0xF3500000F36,
+        0xF3700000F38,
+        0xF3900000F3A,
+        0xF3E00000F43,
+        0xF4400000F48,
+        0xF4900000F4D,
+        0xF4E00000F52,
+        0xF5300000F57,
+        0xF5800000F5C,
+        0xF5D00000F69,
+        0xF6A00000F6D,
+        0xF7100000F73,
+        0xF7400000F75,
+        0xF7A00000F81,
+        0xF8200000F85,
+        0xF8600000F93,
+        0xF9400000F98,
+        0xF9900000F9D,
+        0xF9E00000FA2,
+        0xFA300000FA7,
+        0xFA800000FAC,
+        0xFAD00000FB9,
+        0xFBA00000FBD,
+        0xFC600000FC7,
+        0x10000000104A,
+        0x10500000109E,
+        0x10D0000010FB,
+        0x10FD00001100,
         0x120000001249,
-        0x124a0000124e,
+        0x124A0000124E,
         0x125000001257,
         0x125800001259,
-        0x125a0000125e,
+        0x125A0000125E,
         0x126000001289,
-        0x128a0000128e,
-        0x1290000012b1,
-        0x12b2000012b6,
-        0x12b8000012bf,
-        0x12c0000012c1,
-        0x12c2000012c6,
-        0x12c8000012d7,
-        0x12d800001311,
+        0x128A0000128E,
+        0x1290000012B1,
+        0x12B2000012B6,
+        0x12B8000012BF,
+        0x12C0000012C1,
+        0x12C2000012C6,
+        0x12C8000012D7,
+        0x12D800001311,
         0x131200001316,
-        0x13180000135b,
-        0x135d00001360,
+        0x13180000135B,
+        0x135D00001360,
         0x138000001390,
-        0x13a0000013f6,
-        0x14010000166d,
-        0x166f00001680,
-        0x16810000169b,
-        0x16a0000016eb,
-        0x16f1000016f9,
+        0x13A0000013F6,
+        0x14010000166D,
+        0x166F00001680,
+        0x16810000169B,
+        0x16A0000016EB,
+        0x16F1000016F9,
         0x170000001716,
-        0x171f00001735,
+        0x171F00001735,
         0x174000001754,
-        0x17600000176d,
-        0x176e00001771,
+        0x17600000176D,
+        0x176E00001771,
         0x177200001774,
-        0x1780000017b4,
-        0x17b6000017d4,
-        0x17d7000017d8,
-        0x17dc000017de,
-        0x17e0000017ea,
-        0x18100000181a,
+        0x1780000017B4,
+        0x17B6000017D4,
+        0x17D7000017D8,
+        0x17DC000017DE,
+        0x17E0000017EA,
+        0x18100000181A,
         0x182000001879,
-        0x1880000018ab,
-        0x18b0000018f6,
-        0x19000000191f,
-        0x19200000192c,
-        0x19300000193c,
-        0x19460000196e,
+        0x1880000018AB,
+        0x18B0000018F6,
+        0x19000000191F,
+        0x19200000192C,
+        0x19300000193C,
+        0x19460000196E,
         0x197000001975,
-        0x1980000019ac,
-        0x19b0000019ca,
-        0x19d0000019da,
-        0x1a0000001a1c,
-        0x1a2000001a5f,
-        0x1a6000001a7d,
-        0x1a7f00001a8a,
-        0x1a9000001a9a,
-        0x1aa700001aa8,
-        0x1ab000001abe,
-        0x1abf00001acf,
-        0x1b0000001b4d,
-        0x1b5000001b5a,
-        0x1b6b00001b74,
-        0x1b8000001bf4,
-        0x1c0000001c38,
-        0x1c4000001c4a,
-        0x1c4d00001c7e,
-        0x1cd000001cd3,
-        0x1cd400001cfb,
-        0x1d0000001d2c,
-        0x1d2f00001d30,
-        0x1d3b00001d3c,
-        0x1d4e00001d4f,
-        0x1d6b00001d78,
-        0x1d7900001d9b,
-        0x1dc000001e00,
-        0x1e0100001e02,
-        0x1e0300001e04,
-        0x1e0500001e06,
-        0x1e0700001e08,
-        0x1e0900001e0a,
-        0x1e0b00001e0c,
-        0x1e0d00001e0e,
-        0x1e0f00001e10,
-        0x1e1100001e12,
-        0x1e1300001e14,
-        0x1e1500001e16,
-        0x1e1700001e18,
-        0x1e1900001e1a,
-        0x1e1b00001e1c,
-        0x1e1d00001e1e,
-        0x1e1f00001e20,
-        0x1e2100001e22,
-        0x1e2300001e24,
-        0x1e2500001e26,
-        0x1e2700001e28,
-        0x1e2900001e2a,
-        0x1e2b00001e2c,
-        0x1e2d00001e2e,
-        0x1e2f00001e30,
-        0x1e3100001e32,
-        0x1e3300001e34,
-        0x1e3500001e36,
-        0x1e3700001e38,
-        0x1e3900001e3a,
-        0x1e3b00001e3c,
-        0x1e3d00001e3e,
-        0x1e3f00001e40,
-        0x1e4100001e42,
-        0x1e4300001e44,
-        0x1e4500001e46,
-        0x1e4700001e48,
-        0x1e4900001e4a,
-        0x1e4b00001e4c,
-        0x1e4d00001e4e,
-        0x1e4f00001e50,
-        0x1e5100001e52,
-        0x1e5300001e54,
-        0x1e5500001e56,
-        0x1e5700001e58,
-        0x1e5900001e5a,
-        0x1e5b00001e5c,
-        0x1e5d00001e5e,
-        0x1e5f00001e60,
-        0x1e6100001e62,
-        0x1e6300001e64,
-        0x1e6500001e66,
-        0x1e6700001e68,
-        0x1e6900001e6a,
-        0x1e6b00001e6c,
-        0x1e6d00001e6e,
-        0x1e6f00001e70,
-        0x1e7100001e72,
-        0x1e7300001e74,
-        0x1e7500001e76,
-        0x1e7700001e78,
-        0x1e7900001e7a,
-        0x1e7b00001e7c,
-        0x1e7d00001e7e,
-        0x1e7f00001e80,
-        0x1e8100001e82,
-        0x1e8300001e84,
-        0x1e8500001e86,
-        0x1e8700001e88,
-        0x1e8900001e8a,
-        0x1e8b00001e8c,
-        0x1e8d00001e8e,
-        0x1e8f00001e90,
-        0x1e9100001e92,
-        0x1e9300001e94,
-        0x1e9500001e9a,
-        0x1e9c00001e9e,
-        0x1e9f00001ea0,
-        0x1ea100001ea2,
-        0x1ea300001ea4,
-        0x1ea500001ea6,
-        0x1ea700001ea8,
-        0x1ea900001eaa,
-        0x1eab00001eac,
-        0x1ead00001eae,
-        0x1eaf00001eb0,
-        0x1eb100001eb2,
-        0x1eb300001eb4,
-        0x1eb500001eb6,
-        0x1eb700001eb8,
-        0x1eb900001eba,
-        0x1ebb00001ebc,
-        0x1ebd00001ebe,
-        0x1ebf00001ec0,
-        0x1ec100001ec2,
-        0x1ec300001ec4,
-        0x1ec500001ec6,
-        0x1ec700001ec8,
-        0x1ec900001eca,
-        0x1ecb00001ecc,
-        0x1ecd00001ece,
-        0x1ecf00001ed0,
-        0x1ed100001ed2,
-        0x1ed300001ed4,
-        0x1ed500001ed6,
-        0x1ed700001ed8,
-        0x1ed900001eda,
-        0x1edb00001edc,
-        0x1edd00001ede,
-        0x1edf00001ee0,
-        0x1ee100001ee2,
-        0x1ee300001ee4,
-        0x1ee500001ee6,
-        0x1ee700001ee8,
-        0x1ee900001eea,
-        0x1eeb00001eec,
-        0x1eed00001eee,
-        0x1eef00001ef0,
-        0x1ef100001ef2,
-        0x1ef300001ef4,
-        0x1ef500001ef6,
-        0x1ef700001ef8,
-        0x1ef900001efa,
-        0x1efb00001efc,
-        0x1efd00001efe,
-        0x1eff00001f08,
-        0x1f1000001f16,
-        0x1f2000001f28,
-        0x1f3000001f38,
-        0x1f4000001f46,
-        0x1f5000001f58,
-        0x1f6000001f68,
-        0x1f7000001f71,
-        0x1f7200001f73,
-        0x1f7400001f75,
-        0x1f7600001f77,
-        0x1f7800001f79,
-        0x1f7a00001f7b,
-        0x1f7c00001f7d,
-        0x1fb000001fb2,
-        0x1fb600001fb7,
-        0x1fc600001fc7,
-        0x1fd000001fd3,
-        0x1fd600001fd8,
-        0x1fe000001fe3,
-        0x1fe400001fe8,
-        0x1ff600001ff7,
-        0x214e0000214f,
+        0x1980000019AC,
+        0x19B0000019CA,
+        0x19D0000019DA,
+        0x1A0000001A1C,
+        0x1A2000001A5F,
+        0x1A6000001A7D,
+        0x1A7F00001A8A,
+        0x1A9000001A9A,
+        0x1AA700001AA8,
+        0x1AB000001ABE,
+        0x1ABF00001ACF,
+        0x1B0000001B4D,
+        0x1B5000001B5A,
+        0x1B6B00001B74,
+        0x1B8000001BF4,
+        0x1C0000001C38,
+        0x1C4000001C4A,
+        0x1C4D00001C7E,
+        0x1CD000001CD3,
+        0x1CD400001CFB,
+        0x1D0000001D2C,
+        0x1D2F00001D30,
+        0x1D3B00001D3C,
+        0x1D4E00001D4F,
+        0x1D6B00001D78,
+        0x1D7900001D9B,
+        0x1DC000001E00,
+        0x1E0100001E02,
+        0x1E0300001E04,
+        0x1E0500001E06,
+        0x1E0700001E08,
+        0x1E0900001E0A,
+        0x1E0B00001E0C,
+        0x1E0D00001E0E,
+        0x1E0F00001E10,
+        0x1E1100001E12,
+        0x1E1300001E14,
+        0x1E1500001E16,
+        0x1E1700001E18,
+        0x1E1900001E1A,
+        0x1E1B00001E1C,
+        0x1E1D00001E1E,
+        0x1E1F00001E20,
+        0x1E2100001E22,
+        0x1E2300001E24,
+        0x1E2500001E26,
+        0x1E2700001E28,
+        0x1E2900001E2A,
+        0x1E2B00001E2C,
+        0x1E2D00001E2E,
+        0x1E2F00001E30,
+        0x1E3100001E32,
+        0x1E3300001E34,
+        0x1E3500001E36,
+        0x1E3700001E38,
+        0x1E3900001E3A,
+        0x1E3B00001E3C,
+        0x1E3D00001E3E,
+        0x1E3F00001E40,
+        0x1E4100001E42,
+        0x1E4300001E44,
+        0x1E4500001E46,
+        0x1E4700001E48,
+        0x1E4900001E4A,
+        0x1E4B00001E4C,
+        0x1E4D00001E4E,
+        0x1E4F00001E50,
+        0x1E5100001E52,
+        0x1E5300001E54,
+        0x1E5500001E56,
+        0x1E5700001E58,
+        0x1E5900001E5A,
+        0x1E5B00001E5C,
+        0x1E5D00001E5E,
+        0x1E5F00001E60,
+        0x1E6100001E62,
+        0x1E6300001E64,
+        0x1E6500001E66,
+        0x1E6700001E68,
+        0x1E6900001E6A,
+        0x1E6B00001E6C,
+        0x1E6D00001E6E,
+        0x1E6F00001E70,
+        0x1E7100001E72,
+        0x1E7300001E74,
+        0x1E7500001E76,
+        0x1E7700001E78,
+        0x1E7900001E7A,
+        0x1E7B00001E7C,
+        0x1E7D00001E7E,
+        0x1E7F00001E80,
+        0x1E8100001E82,
+        0x1E8300001E84,
+        0x1E8500001E86,
+        0x1E8700001E88,
+        0x1E8900001E8A,
+        0x1E8B00001E8C,
+        0x1E8D00001E8E,
+        0x1E8F00001E90,
+        0x1E9100001E92,
+        0x1E9300001E94,
+        0x1E9500001E9A,
+        0x1E9C00001E9E,
+        0x1E9F00001EA0,
+        0x1EA100001EA2,
+        0x1EA300001EA4,
+        0x1EA500001EA6,
+        0x1EA700001EA8,
+        0x1EA900001EAA,
+        0x1EAB00001EAC,
+        0x1EAD00001EAE,
+        0x1EAF00001EB0,
+        0x1EB100001EB2,
+        0x1EB300001EB4,
+        0x1EB500001EB6,
+        0x1EB700001EB8,
+        0x1EB900001EBA,
+        0x1EBB00001EBC,
+        0x1EBD00001EBE,
+        0x1EBF00001EC0,
+        0x1EC100001EC2,
+        0x1EC300001EC4,
+        0x1EC500001EC6,
+        0x1EC700001EC8,
+        0x1EC900001ECA,
+        0x1ECB00001ECC,
+        0x1ECD00001ECE,
+        0x1ECF00001ED0,
+        0x1ED100001ED2,
+        0x1ED300001ED4,
+        0x1ED500001ED6,
+        0x1ED700001ED8,
+        0x1ED900001EDA,
+        0x1EDB00001EDC,
+        0x1EDD00001EDE,
+        0x1EDF00001EE0,
+        0x1EE100001EE2,
+        0x1EE300001EE4,
+        0x1EE500001EE6,
+        0x1EE700001EE8,
+        0x1EE900001EEA,
+        0x1EEB00001EEC,
+        0x1EED00001EEE,
+        0x1EEF00001EF0,
+        0x1EF100001EF2,
+        0x1EF300001EF4,
+        0x1EF500001EF6,
+        0x1EF700001EF8,
+        0x1EF900001EFA,
+        0x1EFB00001EFC,
+        0x1EFD00001EFE,
+        0x1EFF00001F08,
+        0x1F1000001F16,
+        0x1F2000001F28,
+        0x1F3000001F38,
+        0x1F4000001F46,
+        0x1F5000001F58,
+        0x1F6000001F68,
+        0x1F7000001F71,
+        0x1F7200001F73,
+        0x1F7400001F75,
+        0x1F7600001F77,
+        0x1F7800001F79,
+        0x1F7A00001F7B,
+        0x1F7C00001F7D,
+        0x1FB000001FB2,
+        0x1FB600001FB7,
+        0x1FC600001FC7,
+        0x1FD000001FD3,
+        0x1FD600001FD8,
+        0x1FE000001FE3,
+        0x1FE400001FE8,
+        0x1FF600001FF7,
+        0x214E0000214F,
         0x218400002185,
-        0x2c3000002c60,
-        0x2c6100002c62,
-        0x2c6500002c67,
-        0x2c6800002c69,
-        0x2c6a00002c6b,
-        0x2c6c00002c6d,
-        0x2c7100002c72,
-        0x2c7300002c75,
-        0x2c7600002c7c,
-        0x2c8100002c82,
-        0x2c8300002c84,
-        0x2c8500002c86,
-        0x2c8700002c88,
-        0x2c8900002c8a,
-        0x2c8b00002c8c,
-        0x2c8d00002c8e,
-        0x2c8f00002c90,
-        0x2c9100002c92,
-        0x2c9300002c94,
-        0x2c9500002c96,
-        0x2c9700002c98,
-        0x2c9900002c9a,
-        0x2c9b00002c9c,
-        0x2c9d00002c9e,
-        0x2c9f00002ca0,
-        0x2ca100002ca2,
-        0x2ca300002ca4,
-        0x2ca500002ca6,
-        0x2ca700002ca8,
-        0x2ca900002caa,
-        0x2cab00002cac,
-        0x2cad00002cae,
-        0x2caf00002cb0,
-        0x2cb100002cb2,
-        0x2cb300002cb4,
-        0x2cb500002cb6,
-        0x2cb700002cb8,
-        0x2cb900002cba,
-        0x2cbb00002cbc,
-        0x2cbd00002cbe,
-        0x2cbf00002cc0,
-        0x2cc100002cc2,
-        0x2cc300002cc4,
-        0x2cc500002cc6,
-        0x2cc700002cc8,
-        0x2cc900002cca,
-        0x2ccb00002ccc,
-        0x2ccd00002cce,
-        0x2ccf00002cd0,
-        0x2cd100002cd2,
-        0x2cd300002cd4,
-        0x2cd500002cd6,
-        0x2cd700002cd8,
-        0x2cd900002cda,
-        0x2cdb00002cdc,
-        0x2cdd00002cde,
-        0x2cdf00002ce0,
-        0x2ce100002ce2,
-        0x2ce300002ce5,
-        0x2cec00002ced,
-        0x2cee00002cf2,
-        0x2cf300002cf4,
-        0x2d0000002d26,
-        0x2d2700002d28,
-        0x2d2d00002d2e,
-        0x2d3000002d68,
-        0x2d7f00002d97,
-        0x2da000002da7,
-        0x2da800002daf,
-        0x2db000002db7,
-        0x2db800002dbf,
-        0x2dc000002dc7,
-        0x2dc800002dcf,
-        0x2dd000002dd7,
-        0x2dd800002ddf,
-        0x2de000002e00,
-        0x2e2f00002e30,
+        0x2C3000002C60,
+        0x2C6100002C62,
+        0x2C6500002C67,
+        0x2C6800002C69,
+        0x2C6A00002C6B,
+        0x2C6C00002C6D,
+        0x2C7100002C72,
+        0x2C7300002C75,
+        0x2C7600002C7C,
+        0x2C8100002C82,
+        0x2C8300002C84,
+        0x2C8500002C86,
+        0x2C8700002C88,
+        0x2C8900002C8A,
+        0x2C8B00002C8C,
+        0x2C8D00002C8E,
+        0x2C8F00002C90,
+        0x2C9100002C92,
+        0x2C9300002C94,
+        0x2C9500002C96,
+        0x2C9700002C98,
+        0x2C9900002C9A,
+        0x2C9B00002C9C,
+        0x2C9D00002C9E,
+        0x2C9F00002CA0,
+        0x2CA100002CA2,
+        0x2CA300002CA4,
+        0x2CA500002CA6,
+        0x2CA700002CA8,
+        0x2CA900002CAA,
+        0x2CAB00002CAC,
+        0x2CAD00002CAE,
+        0x2CAF00002CB0,
+        0x2CB100002CB2,
+        0x2CB300002CB4,
+        0x2CB500002CB6,
+        0x2CB700002CB8,
+        0x2CB900002CBA,
+        0x2CBB00002CBC,
+        0x2CBD00002CBE,
+        0x2CBF00002CC0,
+        0x2CC100002CC2,
+        0x2CC300002CC4,
+        0x2CC500002CC6,
+        0x2CC700002CC8,
+        0x2CC900002CCA,
+        0x2CCB00002CCC,
+        0x2CCD00002CCE,
+        0x2CCF00002CD0,
+        0x2CD100002CD2,
+        0x2CD300002CD4,
+        0x2CD500002CD6,
+        0x2CD700002CD8,
+        0x2CD900002CDA,
+        0x2CDB00002CDC,
+        0x2CDD00002CDE,
+        0x2CDF00002CE0,
+        0x2CE100002CE2,
+        0x2CE300002CE5,
+        0x2CEC00002CED,
+        0x2CEE00002CF2,
+        0x2CF300002CF4,
+        0x2D0000002D26,
+        0x2D2700002D28,
+        0x2D2D00002D2E,
+        0x2D3000002D68,
+        0x2D7F00002D97,
+        0x2DA000002DA7,
+        0x2DA800002DAF,
+        0x2DB000002DB7,
+        0x2DB800002DBF,
+        0x2DC000002DC7,
+        0x2DC800002DCF,
+        0x2DD000002DD7,
+        0x2DD800002DDF,
+        0x2DE000002E00,
+        0x2E2F00002E30,
         0x300500003008,
-        0x302a0000302e,
-        0x303c0000303d,
+        0x302A0000302E,
+        0x303C0000303D,
         0x304100003097,
-        0x30990000309b,
-        0x309d0000309f,
-        0x30a1000030fb,
-        0x30fc000030ff,
+        0x30990000309B,
+        0x309D0000309F,
+        0x30A1000030FB,
+        0x30FC000030FF,
         0x310500003130,
-        0x31a0000031c0,
-        0x31f000003200,
-        0x340000004dc0,
-        0x4e000000a48d,
-        0xa4d00000a4fe,
-        0xa5000000a60d,
-        0xa6100000a62c,
-        0xa6410000a642,
-        0xa6430000a644,
-        0xa6450000a646,
-        0xa6470000a648,
-        0xa6490000a64a,
-        0xa64b0000a64c,
-        0xa64d0000a64e,
-        0xa64f0000a650,
-        0xa6510000a652,
-        0xa6530000a654,
-        0xa6550000a656,
-        0xa6570000a658,
-        0xa6590000a65a,
-        0xa65b0000a65c,
-        0xa65d0000a65e,
-        0xa65f0000a660,
-        0xa6610000a662,
-        0xa6630000a664,
-        0xa6650000a666,
-        0xa6670000a668,
-        0xa6690000a66a,
-        0xa66b0000a66c,
-        0xa66d0000a670,
-        0xa6740000a67e,
-        0xa67f0000a680,
-        0xa6810000a682,
-        0xa6830000a684,
-        0xa6850000a686,
-        0xa6870000a688,
-        0xa6890000a68a,
-        0xa68b0000a68c,
-        0xa68d0000a68e,
-        0xa68f0000a690,
-        0xa6910000a692,
-        0xa6930000a694,
-        0xa6950000a696,
-        0xa6970000a698,
-        0xa6990000a69a,
-        0xa69b0000a69c,
-        0xa69e0000a6e6,
-        0xa6f00000a6f2,
-        0xa7170000a720,
-        0xa7230000a724,
-        0xa7250000a726,
-        0xa7270000a728,
-        0xa7290000a72a,
-        0xa72b0000a72c,
-        0xa72d0000a72e,
-        0xa72f0000a732,
-        0xa7330000a734,
-        0xa7350000a736,
-        0xa7370000a738,
-        0xa7390000a73a,
-        0xa73b0000a73c,
-        0xa73d0000a73e,
-        0xa73f0000a740,
-        0xa7410000a742,
-        0xa7430000a744,
-        0xa7450000a746,
-        0xa7470000a748,
-        0xa7490000a74a,
-        0xa74b0000a74c,
-        0xa74d0000a74e,
-        0xa74f0000a750,
-        0xa7510000a752,
-        0xa7530000a754,
-        0xa7550000a756,
-        0xa7570000a758,
-        0xa7590000a75a,
-        0xa75b0000a75c,
-        0xa75d0000a75e,
-        0xa75f0000a760,
-        0xa7610000a762,
-        0xa7630000a764,
-        0xa7650000a766,
-        0xa7670000a768,
-        0xa7690000a76a,
-        0xa76b0000a76c,
-        0xa76d0000a76e,
-        0xa76f0000a770,
-        0xa7710000a779,
-        0xa77a0000a77b,
-        0xa77c0000a77d,
-        0xa77f0000a780,
-        0xa7810000a782,
-        0xa7830000a784,
-        0xa7850000a786,
-        0xa7870000a789,
-        0xa78c0000a78d,
-        0xa78e0000a790,
-        0xa7910000a792,
-        0xa7930000a796,
-        0xa7970000a798,
-        0xa7990000a79a,
-        0xa79b0000a79c,
-        0xa79d0000a79e,
-        0xa79f0000a7a0,
-        0xa7a10000a7a2,
-        0xa7a30000a7a4,
-        0xa7a50000a7a6,
-        0xa7a70000a7a8,
-        0xa7a90000a7aa,
-        0xa7af0000a7b0,
-        0xa7b50000a7b6,
-        0xa7b70000a7b8,
-        0xa7b90000a7ba,
-        0xa7bb0000a7bc,
-        0xa7bd0000a7be,
-        0xa7bf0000a7c0,
-        0xa7c10000a7c2,
-        0xa7c30000a7c4,
-        0xa7c80000a7c9,
-        0xa7ca0000a7cb,
-        0xa7d10000a7d2,
-        0xa7d30000a7d4,
-        0xa7d50000a7d6,
-        0xa7d70000a7d8,
-        0xa7d90000a7da,
-        0xa7f60000a7f8,
-        0xa7fa0000a828,
-        0xa82c0000a82d,
-        0xa8400000a874,
-        0xa8800000a8c6,
-        0xa8d00000a8da,
-        0xa8e00000a8f8,
-        0xa8fb0000a8fc,
-        0xa8fd0000a92e,
-        0xa9300000a954,
-        0xa9800000a9c1,
-        0xa9cf0000a9da,
-        0xa9e00000a9ff,
-        0xaa000000aa37,
-        0xaa400000aa4e,
-        0xaa500000aa5a,
-        0xaa600000aa77,
-        0xaa7a0000aac3,
-        0xaadb0000aade,
-        0xaae00000aaf0,
-        0xaaf20000aaf7,
-        0xab010000ab07,
-        0xab090000ab0f,
-        0xab110000ab17,
-        0xab200000ab27,
-        0xab280000ab2f,
-        0xab300000ab5b,
-        0xab600000ab69,
-        0xabc00000abeb,
-        0xabec0000abee,
-        0xabf00000abfa,
-        0xac000000d7a4,
-        0xfa0e0000fa10,
-        0xfa110000fa12,
-        0xfa130000fa15,
-        0xfa1f0000fa20,
-        0xfa210000fa22,
-        0xfa230000fa25,
-        0xfa270000fa2a,
-        0xfb1e0000fb1f,
-        0xfe200000fe30,
-        0xfe730000fe74,
-        0x100000001000c,
-        0x1000d00010027,
-        0x100280001003b,
-        0x1003c0001003e,
-        0x1003f0001004e,
-        0x100500001005e,
-        0x10080000100fb,
-        0x101fd000101fe,
-        0x102800001029d,
-        0x102a0000102d1,
-        0x102e0000102e1,
+        0x31A0000031C0,
+        0x31F000003200,
+        0x340000004DC0,
+        0x4E000000A48D,
+        0xA4D00000A4FE,
+        0xA5000000A60D,
+        0xA6100000A62C,
+        0xA6410000A642,
+        0xA6430000A644,
+        0xA6450000A646,
+        0xA6470000A648,
+        0xA6490000A64A,
+        0xA64B0000A64C,
+        0xA64D0000A64E,
+        0xA64F0000A650,
+        0xA6510000A652,
+        0xA6530000A654,
+        0xA6550000A656,
+        0xA6570000A658,
+        0xA6590000A65A,
+        0xA65B0000A65C,
+        0xA65D0000A65E,
+        0xA65F0000A660,
+        0xA6610000A662,
+        0xA6630000A664,
+        0xA6650000A666,
+        0xA6670000A668,
+        0xA6690000A66A,
+        0xA66B0000A66C,
+        0xA66D0000A670,
+        0xA6740000A67E,
+        0xA67F0000A680,
+        0xA6810000A682,
+        0xA6830000A684,
+        0xA6850000A686,
+        0xA6870000A688,
+        0xA6890000A68A,
+        0xA68B0000A68C,
+        0xA68D0000A68E,
+        0xA68F0000A690,
+        0xA6910000A692,
+        0xA6930000A694,
+        0xA6950000A696,
+        0xA6970000A698,
+        0xA6990000A69A,
+        0xA69B0000A69C,
+        0xA69E0000A6E6,
+        0xA6F00000A6F2,
+        0xA7170000A720,
+        0xA7230000A724,
+        0xA7250000A726,
+        0xA7270000A728,
+        0xA7290000A72A,
+        0xA72B0000A72C,
+        0xA72D0000A72E,
+        0xA72F0000A732,
+        0xA7330000A734,
+        0xA7350000A736,
+        0xA7370000A738,
+        0xA7390000A73A,
+        0xA73B0000A73C,
+        0xA73D0000A73E,
+        0xA73F0000A740,
+        0xA7410000A742,
+        0xA7430000A744,
+        0xA7450000A746,
+        0xA7470000A748,
+        0xA7490000A74A,
+        0xA74B0000A74C,
+        0xA74D0000A74E,
+        0xA74F0000A750,
+        0xA7510000A752,
+        0xA7530000A754,
+        0xA7550000A756,
+        0xA7570000A758,
+        0xA7590000A75A,
+        0xA75B0000A75C,
+        0xA75D0000A75E,
+        0xA75F0000A760,
+        0xA7610000A762,
+        0xA7630000A764,
+        0xA7650000A766,
+        0xA7670000A768,
+        0xA7690000A76A,
+        0xA76B0000A76C,
+        0xA76D0000A76E,
+        0xA76F0000A770,
+        0xA7710000A779,
+        0xA77A0000A77B,
+        0xA77C0000A77D,
+        0xA77F0000A780,
+        0xA7810000A782,
+        0xA7830000A784,
+        0xA7850000A786,
+        0xA7870000A789,
+        0xA78C0000A78D,
+        0xA78E0000A790,
+        0xA7910000A792,
+        0xA7930000A796,
+        0xA7970000A798,
+        0xA7990000A79A,
+        0xA79B0000A79C,
+        0xA79D0000A79E,
+        0xA79F0000A7A0,
+        0xA7A10000A7A2,
+        0xA7A30000A7A4,
+        0xA7A50000A7A6,
+        0xA7A70000A7A8,
+        0xA7A90000A7AA,
+        0xA7AF0000A7B0,
+        0xA7B50000A7B6,
+        0xA7B70000A7B8,
+        0xA7B90000A7BA,
+        0xA7BB0000A7BC,
+        0xA7BD0000A7BE,
+        0xA7BF0000A7C0,
+        0xA7C10000A7C2,
+        0xA7C30000A7C4,
+        0xA7C80000A7C9,
+        0xA7CA0000A7CB,
+        0xA7D10000A7D2,
+        0xA7D30000A7D4,
+        0xA7D50000A7D6,
+        0xA7D70000A7D8,
+        0xA7D90000A7DA,
+        0xA7F60000A7F8,
+        0xA7FA0000A828,
+        0xA82C0000A82D,
+        0xA8400000A874,
+        0xA8800000A8C6,
+        0xA8D00000A8DA,
+        0xA8E00000A8F8,
+        0xA8FB0000A8FC,
+        0xA8FD0000A92E,
+        0xA9300000A954,
+        0xA9800000A9C1,
+        0xA9CF0000A9DA,
+        0xA9E00000A9FF,
+        0xAA000000AA37,
+        0xAA400000AA4E,
+        0xAA500000AA5A,
+        0xAA600000AA77,
+        0xAA7A0000AAC3,
+        0xAADB0000AADE,
+        0xAAE00000AAF0,
+        0xAAF20000AAF7,
+        0xAB010000AB07,
+        0xAB090000AB0F,
+        0xAB110000AB17,
+        0xAB200000AB27,
+        0xAB280000AB2F,
+        0xAB300000AB5B,
+        0xAB600000AB69,
+        0xABC00000ABEB,
+        0xABEC0000ABEE,
+        0xABF00000ABFA,
+        0xAC000000D7A4,
+        0xFA0E0000FA10,
+        0xFA110000FA12,
+        0xFA130000FA15,
+        0xFA1F0000FA20,
+        0xFA210000FA22,
+        0xFA230000FA25,
+        0xFA270000FA2A,
+        0xFB1E0000FB1F,
+        0xFE200000FE30,
+        0xFE730000FE74,
+        0x100000001000C,
+        0x1000D00010027,
+        0x100280001003B,
+        0x1003C0001003E,
+        0x1003F0001004E,
+        0x100500001005E,
+        0x10080000100FB,
+        0x101FD000101FE,
+        0x102800001029D,
+        0x102A0000102D1,
+        0x102E0000102E1,
         0x1030000010320,
-        0x1032d00010341,
-        0x103420001034a,
-        0x103500001037b,
-        0x103800001039e,
-        0x103a0000103c4,
-        0x103c8000103d0,
-        0x104280001049e,
-        0x104a0000104aa,
-        0x104d8000104fc,
+        0x1032D00010341,
+        0x103420001034A,
+        0x103500001037B,
+        0x103800001039E,
+        0x103A0000103C4,
+        0x103C8000103D0,
+        0x104280001049E,
+        0x104A0000104AA,
+        0x104D8000104FC,
         0x1050000010528,
         0x1053000010564,
-        0x10597000105a2,
-        0x105a3000105b2,
-        0x105b3000105ba,
-        0x105bb000105bd,
+        0x10597000105A2,
+        0x105A3000105B2,
+        0x105B3000105BA,
+        0x105BB000105BD,
         0x1060000010737,
         0x1074000010756,
         0x1076000010768,
         0x1078000010781,
         0x1080000010806,
         0x1080800010809,
-        0x1080a00010836,
+        0x1080A00010836,
         0x1083700010839,
-        0x1083c0001083d,
-        0x1083f00010856,
+        0x1083C0001083D,
+        0x1083F00010856,
         0x1086000010877,
-        0x108800001089f,
-        0x108e0000108f3,
-        0x108f4000108f6,
+        0x108800001089F,
+        0x108E0000108F3,
+        0x108F4000108F6,
         0x1090000010916,
-        0x109200001093a,
-        0x10980000109b8,
-        0x109be000109c0,
-        0x10a0000010a04,
-        0x10a0500010a07,
-        0x10a0c00010a14,
-        0x10a1500010a18,
-        0x10a1900010a36,
-        0x10a3800010a3b,
-        0x10a3f00010a40,
-        0x10a6000010a7d,
-        0x10a8000010a9d,
-        0x10ac000010ac8,
-        0x10ac900010ae7,
-        0x10b0000010b36,
-        0x10b4000010b56,
-        0x10b6000010b73,
-        0x10b8000010b92,
-        0x10c0000010c49,
-        0x10cc000010cf3,
-        0x10d0000010d28,
-        0x10d3000010d3a,
-        0x10e8000010eaa,
-        0x10eab00010ead,
-        0x10eb000010eb2,
-        0x10efd00010f1d,
-        0x10f2700010f28,
-        0x10f3000010f51,
-        0x10f7000010f86,
-        0x10fb000010fc5,
-        0x10fe000010ff7,
+        0x109200001093A,
+        0x10980000109B8,
+        0x109BE000109C0,
+        0x10A0000010A04,
+        0x10A0500010A07,
+        0x10A0C00010A14,
+        0x10A1500010A18,
+        0x10A1900010A36,
+        0x10A3800010A3B,
+        0x10A3F00010A40,
+        0x10A6000010A7D,
+        0x10A8000010A9D,
+        0x10AC000010AC8,
+        0x10AC900010AE7,
+        0x10B0000010B36,
+        0x10B4000010B56,
+        0x10B6000010B73,
+        0x10B8000010B92,
+        0x10C0000010C49,
+        0x10CC000010CF3,
+        0x10D0000010D28,
+        0x10D3000010D3A,
+        0x10E8000010EAA,
+        0x10EAB00010EAD,
+        0x10EB000010EB2,
+        0x10EFD00010F1D,
+        0x10F2700010F28,
+        0x10F3000010F51,
+        0x10F7000010F86,
+        0x10FB000010FC5,
+        0x10FE000010FF7,
         0x1100000011047,
         0x1106600011076,
-        0x1107f000110bb,
-        0x110c2000110c3,
-        0x110d0000110e9,
-        0x110f0000110fa,
+        0x1107F000110BB,
+        0x110C2000110C3,
+        0x110D0000110E9,
+        0x110F0000110FA,
         0x1110000011135,
         0x1113600011140,
         0x1114400011148,
         0x1115000011174,
         0x1117600011177,
-        0x11180000111c5,
-        0x111c9000111cd,
-        0x111ce000111db,
-        0x111dc000111dd,
+        0x11180000111C5,
+        0x111C9000111CD,
+        0x111CE000111DB,
+        0x111DC000111DD,
         0x1120000011212,
         0x1121300011238,
-        0x1123e00011242,
+        0x1123E00011242,
         0x1128000011287,
         0x1128800011289,
-        0x1128a0001128e,
-        0x1128f0001129e,
-        0x1129f000112a9,
-        0x112b0000112eb,
-        0x112f0000112fa,
+        0x1128A0001128E,
+        0x1128F0001129E,
+        0x1129F000112A9,
+        0x112B0000112EB,
+        0x112F0000112FA,
         0x1130000011304,
-        0x113050001130d,
-        0x1130f00011311,
+        0x113050001130D,
+        0x1130F00011311,
         0x1131300011329,
-        0x1132a00011331,
+        0x1132A00011331,
         0x1133200011334,
-        0x113350001133a,
-        0x1133b00011345,
+        0x113350001133A,
+        0x1133B00011345,
         0x1134700011349,
-        0x1134b0001134e,
+        0x1134B0001134E,
         0x1135000011351,
         0x1135700011358,
-        0x1135d00011364,
-        0x113660001136d,
+        0x1135D00011364,
+        0x113660001136D,
         0x1137000011375,
-        0x114000001144b,
-        0x114500001145a,
-        0x1145e00011462,
-        0x11480000114c6,
-        0x114c7000114c8,
-        0x114d0000114da,
-        0x11580000115b6,
-        0x115b8000115c1,
-        0x115d8000115de,
+        0x114000001144B,
+        0x114500001145A,
+        0x1145E00011462,
+        0x11480000114C6,
+        0x114C7000114C8,
+        0x114D0000114DA,
+        0x11580000115B6,
+        0x115B8000115C1,
+        0x115D8000115DE,
         0x1160000011641,
         0x1164400011645,
-        0x116500001165a,
-        0x11680000116b9,
-        0x116c0000116ca,
-        0x117000001171b,
-        0x1171d0001172c,
-        0x117300001173a,
+        0x116500001165A,
+        0x11680000116B9,
+        0x116C0000116CA,
+        0x117000001171B,
+        0x1171D0001172C,
+        0x117300001173A,
         0x1174000011747,
-        0x118000001183b,
-        0x118c0000118ea,
-        0x118ff00011907,
-        0x119090001190a,
-        0x1190c00011914,
+        0x118000001183B,
+        0x118C0000118EA,
+        0x118FF00011907,
+        0x119090001190A,
+        0x1190C00011914,
         0x1191500011917,
         0x1191800011936,
         0x1193700011939,
-        0x1193b00011944,
-        0x119500001195a,
-        0x119a0000119a8,
-        0x119aa000119d8,
-        0x119da000119e2,
-        0x119e3000119e5,
-        0x11a0000011a3f,
-        0x11a4700011a48,
-        0x11a5000011a9a,
-        0x11a9d00011a9e,
-        0x11ab000011af9,
-        0x11c0000011c09,
-        0x11c0a00011c37,
-        0x11c3800011c41,
-        0x11c5000011c5a,
-        0x11c7200011c90,
-        0x11c9200011ca8,
-        0x11ca900011cb7,
-        0x11d0000011d07,
-        0x11d0800011d0a,
-        0x11d0b00011d37,
-        0x11d3a00011d3b,
-        0x11d3c00011d3e,
-        0x11d3f00011d48,
-        0x11d5000011d5a,
-        0x11d6000011d66,
-        0x11d6700011d69,
-        0x11d6a00011d8f,
-        0x11d9000011d92,
-        0x11d9300011d99,
-        0x11da000011daa,
-        0x11ee000011ef7,
-        0x11f0000011f11,
-        0x11f1200011f3b,
-        0x11f3e00011f43,
-        0x11f5000011f5a,
-        0x11fb000011fb1,
-        0x120000001239a,
+        0x1193B00011944,
+        0x119500001195A,
+        0x119A0000119A8,
+        0x119AA000119D8,
+        0x119DA000119E2,
+        0x119E3000119E5,
+        0x11A0000011A3F,
+        0x11A4700011A48,
+        0x11A5000011A9A,
+        0x11A9D00011A9E,
+        0x11AB000011AF9,
+        0x11C0000011C09,
+        0x11C0A00011C37,
+        0x11C3800011C41,
+        0x11C5000011C5A,
+        0x11C7200011C90,
+        0x11C9200011CA8,
+        0x11CA900011CB7,
+        0x11D0000011D07,
+        0x11D0800011D0A,
+        0x11D0B00011D37,
+        0x11D3A00011D3B,
+        0x11D3C00011D3E,
+        0x11D3F00011D48,
+        0x11D5000011D5A,
+        0x11D6000011D66,
+        0x11D6700011D69,
+        0x11D6A00011D8F,
+        0x11D9000011D92,
+        0x11D9300011D99,
+        0x11DA000011DAA,
+        0x11EE000011EF7,
+        0x11F0000011F11,
+        0x11F1200011F3B,
+        0x11F3E00011F43,
+        0x11F5000011F5A,
+        0x11FB000011FB1,
+        0x120000001239A,
         0x1248000012544,
-        0x12f9000012ff1,
+        0x12F9000012FF1,
         0x1300000013430,
         0x1344000013456,
         0x1440000014647,
-        0x1680000016a39,
-        0x16a4000016a5f,
-        0x16a6000016a6a,
-        0x16a7000016abf,
-        0x16ac000016aca,
-        0x16ad000016aee,
-        0x16af000016af5,
-        0x16b0000016b37,
-        0x16b4000016b44,
-        0x16b5000016b5a,
-        0x16b6300016b78,
-        0x16b7d00016b90,
-        0x16e6000016e80,
-        0x16f0000016f4b,
-        0x16f4f00016f88,
-        0x16f8f00016fa0,
-        0x16fe000016fe2,
-        0x16fe300016fe5,
-        0x16ff000016ff2,
-        0x17000000187f8,
-        0x1880000018cd6,
-        0x18d0000018d09,
-        0x1aff00001aff4,
-        0x1aff50001affc,
-        0x1affd0001afff,
-        0x1b0000001b123,
-        0x1b1320001b133,
-        0x1b1500001b153,
-        0x1b1550001b156,
-        0x1b1640001b168,
-        0x1b1700001b2fc,
-        0x1bc000001bc6b,
-        0x1bc700001bc7d,
-        0x1bc800001bc89,
-        0x1bc900001bc9a,
-        0x1bc9d0001bc9f,
-        0x1cf000001cf2e,
-        0x1cf300001cf47,
-        0x1da000001da37,
-        0x1da3b0001da6d,
-        0x1da750001da76,
-        0x1da840001da85,
-        0x1da9b0001daa0,
-        0x1daa10001dab0,
-        0x1df000001df1f,
-        0x1df250001df2b,
-        0x1e0000001e007,
-        0x1e0080001e019,
-        0x1e01b0001e022,
-        0x1e0230001e025,
-        0x1e0260001e02b,
-        0x1e08f0001e090,
-        0x1e1000001e12d,
-        0x1e1300001e13e,
-        0x1e1400001e14a,
-        0x1e14e0001e14f,
-        0x1e2900001e2af,
-        0x1e2c00001e2fa,
-        0x1e4d00001e4fa,
-        0x1e7e00001e7e7,
-        0x1e7e80001e7ec,
-        0x1e7ed0001e7ef,
-        0x1e7f00001e7ff,
-        0x1e8000001e8c5,
-        0x1e8d00001e8d7,
-        0x1e9220001e94c,
-        0x1e9500001e95a,
-        0x200000002a6e0,
-        0x2a7000002b73a,
-        0x2b7400002b81e,
-        0x2b8200002cea2,
-        0x2ceb00002ebe1,
-        0x2ebf00002ee5e,
-        0x300000003134b,
-        0x31350000323b0,
+        0x1680000016A39,
+        0x16A4000016A5F,
+        0x16A6000016A6A,
+        0x16A7000016ABF,
+        0x16AC000016ACA,
+        0x16AD000016AEE,
+        0x16AF000016AF5,
+        0x16B0000016B37,
+        0x16B4000016B44,
+        0x16B5000016B5A,
+        0x16B6300016B78,
+        0x16B7D00016B90,
+        0x16E6000016E80,
+        0x16F0000016F4B,
+        0x16F4F00016F88,
+        0x16F8F00016FA0,
+        0x16FE000016FE2,
+        0x16FE300016FE5,
+        0x16FF000016FF2,
+        0x17000000187F8,
+        0x1880000018CD6,
+        0x18D0000018D09,
+        0x1AFF00001AFF4,
+        0x1AFF50001AFFC,
+        0x1AFFD0001AFFF,
+        0x1B0000001B123,
+        0x1B1320001B133,
+        0x1B1500001B153,
+        0x1B1550001B156,
+        0x1B1640001B168,
+        0x1B1700001B2FC,
+        0x1BC000001BC6B,
+        0x1BC700001BC7D,
+        0x1BC800001BC89,
+        0x1BC900001BC9A,
+        0x1BC9D0001BC9F,
+        0x1CF000001CF2E,
+        0x1CF300001CF47,
+        0x1DA000001DA37,
+        0x1DA3B0001DA6D,
+        0x1DA750001DA76,
+        0x1DA840001DA85,
+        0x1DA9B0001DAA0,
+        0x1DAA10001DAB0,
+        0x1DF000001DF1F,
+        0x1DF250001DF2B,
+        0x1E0000001E007,
+        0x1E0080001E019,
+        0x1E01B0001E022,
+        0x1E0230001E025,
+        0x1E0260001E02B,
+        0x1E08F0001E090,
+        0x1E1000001E12D,
+        0x1E1300001E13E,
+        0x1E1400001E14A,
+        0x1E14E0001E14F,
+        0x1E2900001E2AF,
+        0x1E2C00001E2FA,
+        0x1E4D00001E4FA,
+        0x1E7E00001E7E7,
+        0x1E7E80001E7EC,
+        0x1E7ED0001E7EF,
+        0x1E7F00001E7FF,
+        0x1E8000001E8C5,
+        0x1E8D00001E8D7,
+        0x1E9220001E94C,
+        0x1E9500001E95A,
+        0x200000002A6E0,
+        0x2A7000002B73A,
+        0x2B7400002B81E,
+        0x2B8200002CEA2,
+        0x2CEB00002EBE1,
+        0x2EBF00002EE5E,
+        0x300000003134B,
+        0x31350000323B0,
     ),
-    'CONTEXTJ': (
-        0x200c0000200e,
-    ),
-    'CONTEXTO': (
-        0xb7000000b8,
+    "CONTEXTJ": (0x200C0000200E,),
+    "CONTEXTO": (
+        0xB7000000B8,
         0x37500000376,
-        0x5f3000005f5,
-        0x6600000066a,
-        0x6f0000006fa,
-        0x30fb000030fc,
+        0x5F3000005F5,
+        0x6600000066A,
+        0x6F0000006FA,
+        0x30FB000030FC,
     ),
 }
diff --git a/idna/intranges.py b/idna/intranges.py
index 6a43b04..7bfaa8d 100644
--- a/idna/intranges.py
+++ b/idna/intranges.py
@@ -8,6 +8,7 @@
 import bisect
 from typing import List, Tuple
 
+
 def intranges_from_list(list_: List[int]) -> Tuple[int, ...]:
     """Represent a list of integers as a sequence of ranges:
     ((start_0, end_0), (start_1, end_1), ...), such that the original
@@ -20,18 +21,20 @@
     ranges = []
     last_write = -1
     for i in range(len(sorted_list)):
-        if i+1 < len(sorted_list):
-            if sorted_list[i] == sorted_list[i+1]-1:
+        if i + 1 < len(sorted_list):
+            if sorted_list[i] == sorted_list[i + 1] - 1:
                 continue
-        current_range = sorted_list[last_write+1:i+1]
+        current_range = sorted_list[last_write + 1 : i + 1]
         ranges.append(_encode_range(current_range[0], current_range[-1] + 1))
         last_write = i
 
     return tuple(ranges)
 
+
 def _encode_range(start: int, end: int) -> int:
     return (start << 32) | end
 
+
 def _decode_range(r: int) -> Tuple[int, int]:
     return (r >> 32), (r & ((1 << 32) - 1))
 
@@ -43,7 +46,7 @@
     # we could be immediately ahead of a tuple (start, end)
     # with start < int_ <= end
     if pos > 0:
-        left, right = _decode_range(ranges[pos-1])
+        left, right = _decode_range(ranges[pos - 1])
         if left <= int_ < right:
             return True
     # or we could be immediately behind a tuple (int_, end)
diff --git a/idna/package_data.py b/idna/package_data.py
index 79aa47c..4c9dba5 100644
--- a/idna/package_data.py
+++ b/idna/package_data.py
@@ -1,2 +1 @@
-__version__ = '3.8'
-
+__version__ = "3.8"
diff --git a/idna/uts46data.py b/idna/uts46data.py
index 6a1eddb..eb89432 100644
--- a/idna/uts46data.py
+++ b/idna/uts46data.py
@@ -3,8515 +3,8598 @@
 
 from typing import List, Tuple, Union
 
-
 """IDNA Mapping Table from UTS46."""
 
 
-__version__ = '15.1.0'
+__version__ = "15.1.0"
+
+
 def _seg_0() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x0, '3'),
-    (0x1, '3'),
-    (0x2, '3'),
-    (0x3, '3'),
-    (0x4, '3'),
-    (0x5, '3'),
-    (0x6, '3'),
-    (0x7, '3'),
-    (0x8, '3'),
-    (0x9, '3'),
-    (0xA, '3'),
-    (0xB, '3'),
-    (0xC, '3'),
-    (0xD, '3'),
-    (0xE, '3'),
-    (0xF, '3'),
-    (0x10, '3'),
-    (0x11, '3'),
-    (0x12, '3'),
-    (0x13, '3'),
-    (0x14, '3'),
-    (0x15, '3'),
-    (0x16, '3'),
-    (0x17, '3'),
-    (0x18, '3'),
-    (0x19, '3'),
-    (0x1A, '3'),
-    (0x1B, '3'),
-    (0x1C, '3'),
-    (0x1D, '3'),
-    (0x1E, '3'),
-    (0x1F, '3'),
-    (0x20, '3'),
-    (0x21, '3'),
-    (0x22, '3'),
-    (0x23, '3'),
-    (0x24, '3'),
-    (0x25, '3'),
-    (0x26, '3'),
-    (0x27, '3'),
-    (0x28, '3'),
-    (0x29, '3'),
-    (0x2A, '3'),
-    (0x2B, '3'),
-    (0x2C, '3'),
-    (0x2D, 'V'),
-    (0x2E, 'V'),
-    (0x2F, '3'),
-    (0x30, 'V'),
-    (0x31, 'V'),
-    (0x32, 'V'),
-    (0x33, 'V'),
-    (0x34, 'V'),
-    (0x35, 'V'),
-    (0x36, 'V'),
-    (0x37, 'V'),
-    (0x38, 'V'),
-    (0x39, 'V'),
-    (0x3A, '3'),
-    (0x3B, '3'),
-    (0x3C, '3'),
-    (0x3D, '3'),
-    (0x3E, '3'),
-    (0x3F, '3'),
-    (0x40, '3'),
-    (0x41, 'M', 'a'),
-    (0x42, 'M', 'b'),
-    (0x43, 'M', 'c'),
-    (0x44, 'M', 'd'),
-    (0x45, 'M', 'e'),
-    (0x46, 'M', 'f'),
-    (0x47, 'M', 'g'),
-    (0x48, 'M', 'h'),
-    (0x49, 'M', 'i'),
-    (0x4A, 'M', 'j'),
-    (0x4B, 'M', 'k'),
-    (0x4C, 'M', 'l'),
-    (0x4D, 'M', 'm'),
-    (0x4E, 'M', 'n'),
-    (0x4F, 'M', 'o'),
-    (0x50, 'M', 'p'),
-    (0x51, 'M', 'q'),
-    (0x52, 'M', 'r'),
-    (0x53, 'M', 's'),
-    (0x54, 'M', 't'),
-    (0x55, 'M', 'u'),
-    (0x56, 'M', 'v'),
-    (0x57, 'M', 'w'),
-    (0x58, 'M', 'x'),
-    (0x59, 'M', 'y'),
-    (0x5A, 'M', 'z'),
-    (0x5B, '3'),
-    (0x5C, '3'),
-    (0x5D, '3'),
-    (0x5E, '3'),
-    (0x5F, '3'),
-    (0x60, '3'),
-    (0x61, 'V'),
-    (0x62, 'V'),
-    (0x63, 'V'),
+        (0x0, "3"),
+        (0x1, "3"),
+        (0x2, "3"),
+        (0x3, "3"),
+        (0x4, "3"),
+        (0x5, "3"),
+        (0x6, "3"),
+        (0x7, "3"),
+        (0x8, "3"),
+        (0x9, "3"),
+        (0xA, "3"),
+        (0xB, "3"),
+        (0xC, "3"),
+        (0xD, "3"),
+        (0xE, "3"),
+        (0xF, "3"),
+        (0x10, "3"),
+        (0x11, "3"),
+        (0x12, "3"),
+        (0x13, "3"),
+        (0x14, "3"),
+        (0x15, "3"),
+        (0x16, "3"),
+        (0x17, "3"),
+        (0x18, "3"),
+        (0x19, "3"),
+        (0x1A, "3"),
+        (0x1B, "3"),
+        (0x1C, "3"),
+        (0x1D, "3"),
+        (0x1E, "3"),
+        (0x1F, "3"),
+        (0x20, "3"),
+        (0x21, "3"),
+        (0x22, "3"),
+        (0x23, "3"),
+        (0x24, "3"),
+        (0x25, "3"),
+        (0x26, "3"),
+        (0x27, "3"),
+        (0x28, "3"),
+        (0x29, "3"),
+        (0x2A, "3"),
+        (0x2B, "3"),
+        (0x2C, "3"),
+        (0x2D, "V"),
+        (0x2E, "V"),
+        (0x2F, "3"),
+        (0x30, "V"),
+        (0x31, "V"),
+        (0x32, "V"),
+        (0x33, "V"),
+        (0x34, "V"),
+        (0x35, "V"),
+        (0x36, "V"),
+        (0x37, "V"),
+        (0x38, "V"),
+        (0x39, "V"),
+        (0x3A, "3"),
+        (0x3B, "3"),
+        (0x3C, "3"),
+        (0x3D, "3"),
+        (0x3E, "3"),
+        (0x3F, "3"),
+        (0x40, "3"),
+        (0x41, "M", "a"),
+        (0x42, "M", "b"),
+        (0x43, "M", "c"),
+        (0x44, "M", "d"),
+        (0x45, "M", "e"),
+        (0x46, "M", "f"),
+        (0x47, "M", "g"),
+        (0x48, "M", "h"),
+        (0x49, "M", "i"),
+        (0x4A, "M", "j"),
+        (0x4B, "M", "k"),
+        (0x4C, "M", "l"),
+        (0x4D, "M", "m"),
+        (0x4E, "M", "n"),
+        (0x4F, "M", "o"),
+        (0x50, "M", "p"),
+        (0x51, "M", "q"),
+        (0x52, "M", "r"),
+        (0x53, "M", "s"),
+        (0x54, "M", "t"),
+        (0x55, "M", "u"),
+        (0x56, "M", "v"),
+        (0x57, "M", "w"),
+        (0x58, "M", "x"),
+        (0x59, "M", "y"),
+        (0x5A, "M", "z"),
+        (0x5B, "3"),
+        (0x5C, "3"),
+        (0x5D, "3"),
+        (0x5E, "3"),
+        (0x5F, "3"),
+        (0x60, "3"),
+        (0x61, "V"),
+        (0x62, "V"),
+        (0x63, "V"),
     ]
 
+
 def _seg_1() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x64, 'V'),
-    (0x65, 'V'),
-    (0x66, 'V'),
-    (0x67, 'V'),
-    (0x68, 'V'),
-    (0x69, 'V'),
-    (0x6A, 'V'),
-    (0x6B, 'V'),
-    (0x6C, 'V'),
-    (0x6D, 'V'),
-    (0x6E, 'V'),
-    (0x6F, 'V'),
-    (0x70, 'V'),
-    (0x71, 'V'),
-    (0x72, 'V'),
-    (0x73, 'V'),
-    (0x74, 'V'),
-    (0x75, 'V'),
-    (0x76, 'V'),
-    (0x77, 'V'),
-    (0x78, 'V'),
-    (0x79, 'V'),
-    (0x7A, 'V'),
-    (0x7B, '3'),
-    (0x7C, '3'),
-    (0x7D, '3'),
-    (0x7E, '3'),
-    (0x7F, '3'),
-    (0x80, 'X'),
-    (0x81, 'X'),
-    (0x82, 'X'),
-    (0x83, 'X'),
-    (0x84, 'X'),
-    (0x85, 'X'),
-    (0x86, 'X'),
-    (0x87, 'X'),
-    (0x88, 'X'),
-    (0x89, 'X'),
-    (0x8A, 'X'),
-    (0x8B, 'X'),
-    (0x8C, 'X'),
-    (0x8D, 'X'),
-    (0x8E, 'X'),
-    (0x8F, 'X'),
-    (0x90, 'X'),
-    (0x91, 'X'),
-    (0x92, 'X'),
-    (0x93, 'X'),
-    (0x94, 'X'),
-    (0x95, 'X'),
-    (0x96, 'X'),
-    (0x97, 'X'),
-    (0x98, 'X'),
-    (0x99, 'X'),
-    (0x9A, 'X'),
-    (0x9B, 'X'),
-    (0x9C, 'X'),
-    (0x9D, 'X'),
-    (0x9E, 'X'),
-    (0x9F, 'X'),
-    (0xA0, '3', ' '),
-    (0xA1, 'V'),
-    (0xA2, 'V'),
-    (0xA3, 'V'),
-    (0xA4, 'V'),
-    (0xA5, 'V'),
-    (0xA6, 'V'),
-    (0xA7, 'V'),
-    (0xA8, '3', ' ̈'),
-    (0xA9, 'V'),
-    (0xAA, 'M', 'a'),
-    (0xAB, 'V'),
-    (0xAC, 'V'),
-    (0xAD, 'I'),
-    (0xAE, 'V'),
-    (0xAF, '3', ' ̄'),
-    (0xB0, 'V'),
-    (0xB1, 'V'),
-    (0xB2, 'M', '2'),
-    (0xB3, 'M', '3'),
-    (0xB4, '3', ' ́'),
-    (0xB5, 'M', 'μ'),
-    (0xB6, 'V'),
-    (0xB7, 'V'),
-    (0xB8, '3', ' ̧'),
-    (0xB9, 'M', '1'),
-    (0xBA, 'M', 'o'),
-    (0xBB, 'V'),
-    (0xBC, 'M', '1⁄4'),
-    (0xBD, 'M', '1⁄2'),
-    (0xBE, 'M', '3⁄4'),
-    (0xBF, 'V'),
-    (0xC0, 'M', 'à'),
-    (0xC1, 'M', 'á'),
-    (0xC2, 'M', 'â'),
-    (0xC3, 'M', 'ã'),
-    (0xC4, 'M', 'ä'),
-    (0xC5, 'M', 'å'),
-    (0xC6, 'M', 'æ'),
-    (0xC7, 'M', 'ç'),
+        (0x64, "V"),
+        (0x65, "V"),
+        (0x66, "V"),
+        (0x67, "V"),
+        (0x68, "V"),
+        (0x69, "V"),
+        (0x6A, "V"),
+        (0x6B, "V"),
+        (0x6C, "V"),
+        (0x6D, "V"),
+        (0x6E, "V"),
+        (0x6F, "V"),
+        (0x70, "V"),
+        (0x71, "V"),
+        (0x72, "V"),
+        (0x73, "V"),
+        (0x74, "V"),
+        (0x75, "V"),
+        (0x76, "V"),
+        (0x77, "V"),
+        (0x78, "V"),
+        (0x79, "V"),
+        (0x7A, "V"),
+        (0x7B, "3"),
+        (0x7C, "3"),
+        (0x7D, "3"),
+        (0x7E, "3"),
+        (0x7F, "3"),
+        (0x80, "X"),
+        (0x81, "X"),
+        (0x82, "X"),
+        (0x83, "X"),
+        (0x84, "X"),
+        (0x85, "X"),
+        (0x86, "X"),
+        (0x87, "X"),
+        (0x88, "X"),
+        (0x89, "X"),
+        (0x8A, "X"),
+        (0x8B, "X"),
+        (0x8C, "X"),
+        (0x8D, "X"),
+        (0x8E, "X"),
+        (0x8F, "X"),
+        (0x90, "X"),
+        (0x91, "X"),
+        (0x92, "X"),
+        (0x93, "X"),
+        (0x94, "X"),
+        (0x95, "X"),
+        (0x96, "X"),
+        (0x97, "X"),
+        (0x98, "X"),
+        (0x99, "X"),
+        (0x9A, "X"),
+        (0x9B, "X"),
+        (0x9C, "X"),
+        (0x9D, "X"),
+        (0x9E, "X"),
+        (0x9F, "X"),
+        (0xA0, "3", " "),
+        (0xA1, "V"),
+        (0xA2, "V"),
+        (0xA3, "V"),
+        (0xA4, "V"),
+        (0xA5, "V"),
+        (0xA6, "V"),
+        (0xA7, "V"),
+        (0xA8, "3", " ̈"),
+        (0xA9, "V"),
+        (0xAA, "M", "a"),
+        (0xAB, "V"),
+        (0xAC, "V"),
+        (0xAD, "I"),
+        (0xAE, "V"),
+        (0xAF, "3", " ̄"),
+        (0xB0, "V"),
+        (0xB1, "V"),
+        (0xB2, "M", "2"),
+        (0xB3, "M", "3"),
+        (0xB4, "3", " ́"),
+        (0xB5, "M", "μ"),
+        (0xB6, "V"),
+        (0xB7, "V"),
+        (0xB8, "3", " ̧"),
+        (0xB9, "M", "1"),
+        (0xBA, "M", "o"),
+        (0xBB, "V"),
+        (0xBC, "M", "1⁄4"),
+        (0xBD, "M", "1⁄2"),
+        (0xBE, "M", "3⁄4"),
+        (0xBF, "V"),
+        (0xC0, "M", "à"),
+        (0xC1, "M", "á"),
+        (0xC2, "M", "â"),
+        (0xC3, "M", "ã"),
+        (0xC4, "M", "ä"),
+        (0xC5, "M", "å"),
+        (0xC6, "M", "æ"),
+        (0xC7, "M", "ç"),
     ]
 
+
 def _seg_2() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xC8, 'M', 'è'),
-    (0xC9, 'M', 'é'),
-    (0xCA, 'M', 'ê'),
-    (0xCB, 'M', 'ë'),
-    (0xCC, 'M', 'ì'),
-    (0xCD, 'M', 'í'),
-    (0xCE, 'M', 'î'),
-    (0xCF, 'M', 'ï'),
-    (0xD0, 'M', 'ð'),
-    (0xD1, 'M', 'ñ'),
-    (0xD2, 'M', 'ò'),
-    (0xD3, 'M', 'ó'),
-    (0xD4, 'M', 'ô'),
-    (0xD5, 'M', 'õ'),
-    (0xD6, 'M', 'ö'),
-    (0xD7, 'V'),
-    (0xD8, 'M', 'ø'),
-    (0xD9, 'M', 'ù'),
-    (0xDA, 'M', 'ú'),
-    (0xDB, 'M', 'û'),
-    (0xDC, 'M', 'ü'),
-    (0xDD, 'M', 'ý'),
-    (0xDE, 'M', 'þ'),
-    (0xDF, 'D', 'ss'),
-    (0xE0, 'V'),
-    (0xE1, 'V'),
-    (0xE2, 'V'),
-    (0xE3, 'V'),
-    (0xE4, 'V'),
-    (0xE5, 'V'),
-    (0xE6, 'V'),
-    (0xE7, 'V'),
-    (0xE8, 'V'),
-    (0xE9, 'V'),
-    (0xEA, 'V'),
-    (0xEB, 'V'),
-    (0xEC, 'V'),
-    (0xED, 'V'),
-    (0xEE, 'V'),
-    (0xEF, 'V'),
-    (0xF0, 'V'),
-    (0xF1, 'V'),
-    (0xF2, 'V'),
-    (0xF3, 'V'),
-    (0xF4, 'V'),
-    (0xF5, 'V'),
-    (0xF6, 'V'),
-    (0xF7, 'V'),
-    (0xF8, 'V'),
-    (0xF9, 'V'),
-    (0xFA, 'V'),
-    (0xFB, 'V'),
-    (0xFC, 'V'),
-    (0xFD, 'V'),
-    (0xFE, 'V'),
-    (0xFF, 'V'),
-    (0x100, 'M', 'ā'),
-    (0x101, 'V'),
-    (0x102, 'M', 'ă'),
-    (0x103, 'V'),
-    (0x104, 'M', 'ą'),
-    (0x105, 'V'),
-    (0x106, 'M', 'ć'),
-    (0x107, 'V'),
-    (0x108, 'M', 'ĉ'),
-    (0x109, 'V'),
-    (0x10A, 'M', 'ċ'),
-    (0x10B, 'V'),
-    (0x10C, 'M', 'č'),
-    (0x10D, 'V'),
-    (0x10E, 'M', 'ď'),
-    (0x10F, 'V'),
-    (0x110, 'M', 'đ'),
-    (0x111, 'V'),
-    (0x112, 'M', 'ē'),
-    (0x113, 'V'),
-    (0x114, 'M', 'ĕ'),
-    (0x115, 'V'),
-    (0x116, 'M', 'ė'),
-    (0x117, 'V'),
-    (0x118, 'M', 'ę'),
-    (0x119, 'V'),
-    (0x11A, 'M', 'ě'),
-    (0x11B, 'V'),
-    (0x11C, 'M', 'ĝ'),
-    (0x11D, 'V'),
-    (0x11E, 'M', 'ğ'),
-    (0x11F, 'V'),
-    (0x120, 'M', 'ġ'),
-    (0x121, 'V'),
-    (0x122, 'M', 'ģ'),
-    (0x123, 'V'),
-    (0x124, 'M', 'ĥ'),
-    (0x125, 'V'),
-    (0x126, 'M', 'ħ'),
-    (0x127, 'V'),
-    (0x128, 'M', 'ĩ'),
-    (0x129, 'V'),
-    (0x12A, 'M', 'ī'),
-    (0x12B, 'V'),
+        (0xC8, "M", "è"),
+        (0xC9, "M", "é"),
+        (0xCA, "M", "ê"),
+        (0xCB, "M", "ë"),
+        (0xCC, "M", "ì"),
+        (0xCD, "M", "í"),
+        (0xCE, "M", "î"),
+        (0xCF, "M", "ï"),
+        (0xD0, "M", "ð"),
+        (0xD1, "M", "ñ"),
+        (0xD2, "M", "ò"),
+        (0xD3, "M", "ó"),
+        (0xD4, "M", "ô"),
+        (0xD5, "M", "õ"),
+        (0xD6, "M", "ö"),
+        (0xD7, "V"),
+        (0xD8, "M", "ø"),
+        (0xD9, "M", "ù"),
+        (0xDA, "M", "ú"),
+        (0xDB, "M", "û"),
+        (0xDC, "M", "ü"),
+        (0xDD, "M", "ý"),
+        (0xDE, "M", "þ"),
+        (0xDF, "D", "ss"),
+        (0xE0, "V"),
+        (0xE1, "V"),
+        (0xE2, "V"),
+        (0xE3, "V"),
+        (0xE4, "V"),
+        (0xE5, "V"),
+        (0xE6, "V"),
+        (0xE7, "V"),
+        (0xE8, "V"),
+        (0xE9, "V"),
+        (0xEA, "V"),
+        (0xEB, "V"),
+        (0xEC, "V"),
+        (0xED, "V"),
+        (0xEE, "V"),
+        (0xEF, "V"),
+        (0xF0, "V"),
+        (0xF1, "V"),
+        (0xF2, "V"),
+        (0xF3, "V"),
+        (0xF4, "V"),
+        (0xF5, "V"),
+        (0xF6, "V"),
+        (0xF7, "V"),
+        (0xF8, "V"),
+        (0xF9, "V"),
+        (0xFA, "V"),
+        (0xFB, "V"),
+        (0xFC, "V"),
+        (0xFD, "V"),
+        (0xFE, "V"),
+        (0xFF, "V"),
+        (0x100, "M", "ā"),
+        (0x101, "V"),
+        (0x102, "M", "ă"),
+        (0x103, "V"),
+        (0x104, "M", "ą"),
+        (0x105, "V"),
+        (0x106, "M", "ć"),
+        (0x107, "V"),
+        (0x108, "M", "ĉ"),
+        (0x109, "V"),
+        (0x10A, "M", "ċ"),
+        (0x10B, "V"),
+        (0x10C, "M", "č"),
+        (0x10D, "V"),
+        (0x10E, "M", "ď"),
+        (0x10F, "V"),
+        (0x110, "M", "đ"),
+        (0x111, "V"),
+        (0x112, "M", "ē"),
+        (0x113, "V"),
+        (0x114, "M", "ĕ"),
+        (0x115, "V"),
+        (0x116, "M", "ė"),
+        (0x117, "V"),
+        (0x118, "M", "ę"),
+        (0x119, "V"),
+        (0x11A, "M", "ě"),
+        (0x11B, "V"),
+        (0x11C, "M", "ĝ"),
+        (0x11D, "V"),
+        (0x11E, "M", "ğ"),
+        (0x11F, "V"),
+        (0x120, "M", "ġ"),
+        (0x121, "V"),
+        (0x122, "M", "ģ"),
+        (0x123, "V"),
+        (0x124, "M", "ĥ"),
+        (0x125, "V"),
+        (0x126, "M", "ħ"),
+        (0x127, "V"),
+        (0x128, "M", "ĩ"),
+        (0x129, "V"),
+        (0x12A, "M", "ī"),
+        (0x12B, "V"),
     ]
 
+
 def _seg_3() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x12C, 'M', 'ĭ'),
-    (0x12D, 'V'),
-    (0x12E, 'M', 'į'),
-    (0x12F, 'V'),
-    (0x130, 'M', 'i̇'),
-    (0x131, 'V'),
-    (0x132, 'M', 'ij'),
-    (0x134, 'M', 'ĵ'),
-    (0x135, 'V'),
-    (0x136, 'M', 'ķ'),
-    (0x137, 'V'),
-    (0x139, 'M', 'ĺ'),
-    (0x13A, 'V'),
-    (0x13B, 'M', 'ļ'),
-    (0x13C, 'V'),
-    (0x13D, 'M', 'ľ'),
-    (0x13E, 'V'),
-    (0x13F, 'M', 'l·'),
-    (0x141, 'M', 'ł'),
-    (0x142, 'V'),
-    (0x143, 'M', 'ń'),
-    (0x144, 'V'),
-    (0x145, 'M', 'ņ'),
-    (0x146, 'V'),
-    (0x147, 'M', 'ň'),
-    (0x148, 'V'),
-    (0x149, 'M', 'ʼn'),
-    (0x14A, 'M', 'ŋ'),
-    (0x14B, 'V'),
-    (0x14C, 'M', 'ō'),
-    (0x14D, 'V'),
-    (0x14E, 'M', 'ŏ'),
-    (0x14F, 'V'),
-    (0x150, 'M', 'ő'),
-    (0x151, 'V'),
-    (0x152, 'M', 'œ'),
-    (0x153, 'V'),
-    (0x154, 'M', 'ŕ'),
-    (0x155, 'V'),
-    (0x156, 'M', 'ŗ'),
-    (0x157, 'V'),
-    (0x158, 'M', 'ř'),
-    (0x159, 'V'),
-    (0x15A, 'M', 'ś'),
-    (0x15B, 'V'),
-    (0x15C, 'M', 'ŝ'),
-    (0x15D, 'V'),
-    (0x15E, 'M', 'ş'),
-    (0x15F, 'V'),
-    (0x160, 'M', 'š'),
-    (0x161, 'V'),
-    (0x162, 'M', 'ţ'),
-    (0x163, 'V'),
-    (0x164, 'M', 'ť'),
-    (0x165, 'V'),
-    (0x166, 'M', 'ŧ'),
-    (0x167, 'V'),
-    (0x168, 'M', 'ũ'),
-    (0x169, 'V'),
-    (0x16A, 'M', 'ū'),
-    (0x16B, 'V'),
-    (0x16C, 'M', 'ŭ'),
-    (0x16D, 'V'),
-    (0x16E, 'M', 'ů'),
-    (0x16F, 'V'),
-    (0x170, 'M', 'ű'),
-    (0x171, 'V'),
-    (0x172, 'M', 'ų'),
-    (0x173, 'V'),
-    (0x174, 'M', 'ŵ'),
-    (0x175, 'V'),
-    (0x176, 'M', 'ŷ'),
-    (0x177, 'V'),
-    (0x178, 'M', 'ÿ'),
-    (0x179, 'M', 'ź'),
-    (0x17A, 'V'),
-    (0x17B, 'M', 'ż'),
-    (0x17C, 'V'),
-    (0x17D, 'M', 'ž'),
-    (0x17E, 'V'),
-    (0x17F, 'M', 's'),
-    (0x180, 'V'),
-    (0x181, 'M', 'ɓ'),
-    (0x182, 'M', 'ƃ'),
-    (0x183, 'V'),
-    (0x184, 'M', 'ƅ'),
-    (0x185, 'V'),
-    (0x186, 'M', 'ɔ'),
-    (0x187, 'M', 'ƈ'),
-    (0x188, 'V'),
-    (0x189, 'M', 'ɖ'),
-    (0x18A, 'M', 'ɗ'),
-    (0x18B, 'M', 'ƌ'),
-    (0x18C, 'V'),
-    (0x18E, 'M', 'ǝ'),
-    (0x18F, 'M', 'ə'),
-    (0x190, 'M', 'ɛ'),
-    (0x191, 'M', 'ƒ'),
-    (0x192, 'V'),
-    (0x193, 'M', 'ɠ'),
+        (0x12C, "M", "ĭ"),
+        (0x12D, "V"),
+        (0x12E, "M", "į"),
+        (0x12F, "V"),
+        (0x130, "M", "i̇"),
+        (0x131, "V"),
+        (0x132, "M", "ij"),
+        (0x134, "M", "ĵ"),
+        (0x135, "V"),
+        (0x136, "M", "ķ"),
+        (0x137, "V"),
+        (0x139, "M", "ĺ"),
+        (0x13A, "V"),
+        (0x13B, "M", "ļ"),
+        (0x13C, "V"),
+        (0x13D, "M", "ľ"),
+        (0x13E, "V"),
+        (0x13F, "M", "l·"),
+        (0x141, "M", "ł"),
+        (0x142, "V"),
+        (0x143, "M", "ń"),
+        (0x144, "V"),
+        (0x145, "M", "ņ"),
+        (0x146, "V"),
+        (0x147, "M", "ň"),
+        (0x148, "V"),
+        (0x149, "M", "ʼn"),
+        (0x14A, "M", "ŋ"),
+        (0x14B, "V"),
+        (0x14C, "M", "ō"),
+        (0x14D, "V"),
+        (0x14E, "M", "ŏ"),
+        (0x14F, "V"),
+        (0x150, "M", "ő"),
+        (0x151, "V"),
+        (0x152, "M", "œ"),
+        (0x153, "V"),
+        (0x154, "M", "ŕ"),
+        (0x155, "V"),
+        (0x156, "M", "ŗ"),
+        (0x157, "V"),
+        (0x158, "M", "ř"),
+        (0x159, "V"),
+        (0x15A, "M", "ś"),
+        (0x15B, "V"),
+        (0x15C, "M", "ŝ"),
+        (0x15D, "V"),
+        (0x15E, "M", "ş"),
+        (0x15F, "V"),
+        (0x160, "M", "š"),
+        (0x161, "V"),
+        (0x162, "M", "ţ"),
+        (0x163, "V"),
+        (0x164, "M", "ť"),
+        (0x165, "V"),
+        (0x166, "M", "ŧ"),
+        (0x167, "V"),
+        (0x168, "M", "ũ"),
+        (0x169, "V"),
+        (0x16A, "M", "ū"),
+        (0x16B, "V"),
+        (0x16C, "M", "ŭ"),
+        (0x16D, "V"),
+        (0x16E, "M", "ů"),
+        (0x16F, "V"),
+        (0x170, "M", "ű"),
+        (0x171, "V"),
+        (0x172, "M", "ų"),
+        (0x173, "V"),
+        (0x174, "M", "ŵ"),
+        (0x175, "V"),
+        (0x176, "M", "ŷ"),
+        (0x177, "V"),
+        (0x178, "M", "ÿ"),
+        (0x179, "M", "ź"),
+        (0x17A, "V"),
+        (0x17B, "M", "ż"),
+        (0x17C, "V"),
+        (0x17D, "M", "ž"),
+        (0x17E, "V"),
+        (0x17F, "M", "s"),
+        (0x180, "V"),
+        (0x181, "M", "ɓ"),
+        (0x182, "M", "ƃ"),
+        (0x183, "V"),
+        (0x184, "M", "ƅ"),
+        (0x185, "V"),
+        (0x186, "M", "ɔ"),
+        (0x187, "M", "ƈ"),
+        (0x188, "V"),
+        (0x189, "M", "ɖ"),
+        (0x18A, "M", "ɗ"),
+        (0x18B, "M", "ƌ"),
+        (0x18C, "V"),
+        (0x18E, "M", "ǝ"),
+        (0x18F, "M", "ə"),
+        (0x190, "M", "ɛ"),
+        (0x191, "M", "ƒ"),
+        (0x192, "V"),
+        (0x193, "M", "ɠ"),
     ]
 
+
 def _seg_4() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x194, 'M', 'ɣ'),
-    (0x195, 'V'),
-    (0x196, 'M', 'ɩ'),
-    (0x197, 'M', 'ɨ'),
-    (0x198, 'M', 'ƙ'),
-    (0x199, 'V'),
-    (0x19C, 'M', 'ɯ'),
-    (0x19D, 'M', 'ɲ'),
-    (0x19E, 'V'),
-    (0x19F, 'M', 'ɵ'),
-    (0x1A0, 'M', 'ơ'),
-    (0x1A1, 'V'),
-    (0x1A2, 'M', 'ƣ'),
-    (0x1A3, 'V'),
-    (0x1A4, 'M', 'ƥ'),
-    (0x1A5, 'V'),
-    (0x1A6, 'M', 'ʀ'),
-    (0x1A7, 'M', 'ƨ'),
-    (0x1A8, 'V'),
-    (0x1A9, 'M', 'ʃ'),
-    (0x1AA, 'V'),
-    (0x1AC, 'M', 'ƭ'),
-    (0x1AD, 'V'),
-    (0x1AE, 'M', 'ʈ'),
-    (0x1AF, 'M', 'ư'),
-    (0x1B0, 'V'),
-    (0x1B1, 'M', 'ʊ'),
-    (0x1B2, 'M', 'ʋ'),
-    (0x1B3, 'M', 'ƴ'),
-    (0x1B4, 'V'),
-    (0x1B5, 'M', 'ƶ'),
-    (0x1B6, 'V'),
-    (0x1B7, 'M', 'ʒ'),
-    (0x1B8, 'M', 'ƹ'),
-    (0x1B9, 'V'),
-    (0x1BC, 'M', 'ƽ'),
-    (0x1BD, 'V'),
-    (0x1C4, 'M', 'dž'),
-    (0x1C7, 'M', 'lj'),
-    (0x1CA, 'M', 'nj'),
-    (0x1CD, 'M', 'ǎ'),
-    (0x1CE, 'V'),
-    (0x1CF, 'M', 'ǐ'),
-    (0x1D0, 'V'),
-    (0x1D1, 'M', 'ǒ'),
-    (0x1D2, 'V'),
-    (0x1D3, 'M', 'ǔ'),
-    (0x1D4, 'V'),
-    (0x1D5, 'M', 'ǖ'),
-    (0x1D6, 'V'),
-    (0x1D7, 'M', 'ǘ'),
-    (0x1D8, 'V'),
-    (0x1D9, 'M', 'ǚ'),
-    (0x1DA, 'V'),
-    (0x1DB, 'M', 'ǜ'),
-    (0x1DC, 'V'),
-    (0x1DE, 'M', 'ǟ'),
-    (0x1DF, 'V'),
-    (0x1E0, 'M', 'ǡ'),
-    (0x1E1, 'V'),
-    (0x1E2, 'M', 'ǣ'),
-    (0x1E3, 'V'),
-    (0x1E4, 'M', 'ǥ'),
-    (0x1E5, 'V'),
-    (0x1E6, 'M', 'ǧ'),
-    (0x1E7, 'V'),
-    (0x1E8, 'M', 'ǩ'),
-    (0x1E9, 'V'),
-    (0x1EA, 'M', 'ǫ'),
-    (0x1EB, 'V'),
-    (0x1EC, 'M', 'ǭ'),
-    (0x1ED, 'V'),
-    (0x1EE, 'M', 'ǯ'),
-    (0x1EF, 'V'),
-    (0x1F1, 'M', 'dz'),
-    (0x1F4, 'M', 'ǵ'),
-    (0x1F5, 'V'),
-    (0x1F6, 'M', 'ƕ'),
-    (0x1F7, 'M', 'ƿ'),
-    (0x1F8, 'M', 'ǹ'),
-    (0x1F9, 'V'),
-    (0x1FA, 'M', 'ǻ'),
-    (0x1FB, 'V'),
-    (0x1FC, 'M', 'ǽ'),
-    (0x1FD, 'V'),
-    (0x1FE, 'M', 'ǿ'),
-    (0x1FF, 'V'),
-    (0x200, 'M', 'ȁ'),
-    (0x201, 'V'),
-    (0x202, 'M', 'ȃ'),
-    (0x203, 'V'),
-    (0x204, 'M', 'ȅ'),
-    (0x205, 'V'),
-    (0x206, 'M', 'ȇ'),
-    (0x207, 'V'),
-    (0x208, 'M', 'ȉ'),
-    (0x209, 'V'),
-    (0x20A, 'M', 'ȋ'),
-    (0x20B, 'V'),
-    (0x20C, 'M', 'ȍ'),
+        (0x194, "M", "ɣ"),
+        (0x195, "V"),
+        (0x196, "M", "ɩ"),
+        (0x197, "M", "ɨ"),
+        (0x198, "M", "ƙ"),
+        (0x199, "V"),
+        (0x19C, "M", "ɯ"),
+        (0x19D, "M", "ɲ"),
+        (0x19E, "V"),
+        (0x19F, "M", "ɵ"),
+        (0x1A0, "M", "ơ"),
+        (0x1A1, "V"),
+        (0x1A2, "M", "ƣ"),
+        (0x1A3, "V"),
+        (0x1A4, "M", "ƥ"),
+        (0x1A5, "V"),
+        (0x1A6, "M", "ʀ"),
+        (0x1A7, "M", "ƨ"),
+        (0x1A8, "V"),
+        (0x1A9, "M", "ʃ"),
+        (0x1AA, "V"),
+        (0x1AC, "M", "ƭ"),
+        (0x1AD, "V"),
+        (0x1AE, "M", "ʈ"),
+        (0x1AF, "M", "ư"),
+        (0x1B0, "V"),
+        (0x1B1, "M", "ʊ"),
+        (0x1B2, "M", "ʋ"),
+        (0x1B3, "M", "ƴ"),
+        (0x1B4, "V"),
+        (0x1B5, "M", "ƶ"),
+        (0x1B6, "V"),
+        (0x1B7, "M", "ʒ"),
+        (0x1B8, "M", "ƹ"),
+        (0x1B9, "V"),
+        (0x1BC, "M", "ƽ"),
+        (0x1BD, "V"),
+        (0x1C4, "M", "dž"),
+        (0x1C7, "M", "lj"),
+        (0x1CA, "M", "nj"),
+        (0x1CD, "M", "ǎ"),
+        (0x1CE, "V"),
+        (0x1CF, "M", "ǐ"),
+        (0x1D0, "V"),
+        (0x1D1, "M", "ǒ"),
+        (0x1D2, "V"),
+        (0x1D3, "M", "ǔ"),
+        (0x1D4, "V"),
+        (0x1D5, "M", "ǖ"),
+        (0x1D6, "V"),
+        (0x1D7, "M", "ǘ"),
+        (0x1D8, "V"),
+        (0x1D9, "M", "ǚ"),
+        (0x1DA, "V"),
+        (0x1DB, "M", "ǜ"),
+        (0x1DC, "V"),
+        (0x1DE, "M", "ǟ"),
+        (0x1DF, "V"),
+        (0x1E0, "M", "ǡ"),
+        (0x1E1, "V"),
+        (0x1E2, "M", "ǣ"),
+        (0x1E3, "V"),
+        (0x1E4, "M", "ǥ"),
+        (0x1E5, "V"),
+        (0x1E6, "M", "ǧ"),
+        (0x1E7, "V"),
+        (0x1E8, "M", "ǩ"),
+        (0x1E9, "V"),
+        (0x1EA, "M", "ǫ"),
+        (0x1EB, "V"),
+        (0x1EC, "M", "ǭ"),
+        (0x1ED, "V"),
+        (0x1EE, "M", "ǯ"),
+        (0x1EF, "V"),
+        (0x1F1, "M", "dz"),
+        (0x1F4, "M", "ǵ"),
+        (0x1F5, "V"),
+        (0x1F6, "M", "ƕ"),
+        (0x1F7, "M", "ƿ"),
+        (0x1F8, "M", "ǹ"),
+        (0x1F9, "V"),
+        (0x1FA, "M", "ǻ"),
+        (0x1FB, "V"),
+        (0x1FC, "M", "ǽ"),
+        (0x1FD, "V"),
+        (0x1FE, "M", "ǿ"),
+        (0x1FF, "V"),
+        (0x200, "M", "ȁ"),
+        (0x201, "V"),
+        (0x202, "M", "ȃ"),
+        (0x203, "V"),
+        (0x204, "M", "ȅ"),
+        (0x205, "V"),
+        (0x206, "M", "ȇ"),
+        (0x207, "V"),
+        (0x208, "M", "ȉ"),
+        (0x209, "V"),
+        (0x20A, "M", "ȋ"),
+        (0x20B, "V"),
+        (0x20C, "M", "ȍ"),
     ]
 
+
 def _seg_5() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x20D, 'V'),
-    (0x20E, 'M', 'ȏ'),
-    (0x20F, 'V'),
-    (0x210, 'M', 'ȑ'),
-    (0x211, 'V'),
-    (0x212, 'M', 'ȓ'),
-    (0x213, 'V'),
-    (0x214, 'M', 'ȕ'),
-    (0x215, 'V'),
-    (0x216, 'M', 'ȗ'),
-    (0x217, 'V'),
-    (0x218, 'M', 'ș'),
-    (0x219, 'V'),
-    (0x21A, 'M', 'ț'),
-    (0x21B, 'V'),
-    (0x21C, 'M', 'ȝ'),
-    (0x21D, 'V'),
-    (0x21E, 'M', 'ȟ'),
-    (0x21F, 'V'),
-    (0x220, 'M', 'ƞ'),
-    (0x221, 'V'),
-    (0x222, 'M', 'ȣ'),
-    (0x223, 'V'),
-    (0x224, 'M', 'ȥ'),
-    (0x225, 'V'),
-    (0x226, 'M', 'ȧ'),
-    (0x227, 'V'),
-    (0x228, 'M', 'ȩ'),
-    (0x229, 'V'),
-    (0x22A, 'M', 'ȫ'),
-    (0x22B, 'V'),
-    (0x22C, 'M', 'ȭ'),
-    (0x22D, 'V'),
-    (0x22E, 'M', 'ȯ'),
-    (0x22F, 'V'),
-    (0x230, 'M', 'ȱ'),
-    (0x231, 'V'),
-    (0x232, 'M', 'ȳ'),
-    (0x233, 'V'),
-    (0x23A, 'M', 'ⱥ'),
-    (0x23B, 'M', 'ȼ'),
-    (0x23C, 'V'),
-    (0x23D, 'M', 'ƚ'),
-    (0x23E, 'M', 'ⱦ'),
-    (0x23F, 'V'),
-    (0x241, 'M', 'ɂ'),
-    (0x242, 'V'),
-    (0x243, 'M', 'ƀ'),
-    (0x244, 'M', 'ʉ'),
-    (0x245, 'M', 'ʌ'),
-    (0x246, 'M', 'ɇ'),
-    (0x247, 'V'),
-    (0x248, 'M', 'ɉ'),
-    (0x249, 'V'),
-    (0x24A, 'M', 'ɋ'),
-    (0x24B, 'V'),
-    (0x24C, 'M', 'ɍ'),
-    (0x24D, 'V'),
-    (0x24E, 'M', 'ɏ'),
-    (0x24F, 'V'),
-    (0x2B0, 'M', 'h'),
-    (0x2B1, 'M', 'ɦ'),
-    (0x2B2, 'M', 'j'),
-    (0x2B3, 'M', 'r'),
-    (0x2B4, 'M', 'ɹ'),
-    (0x2B5, 'M', 'ɻ'),
-    (0x2B6, 'M', 'ʁ'),
-    (0x2B7, 'M', 'w'),
-    (0x2B8, 'M', 'y'),
-    (0x2B9, 'V'),
-    (0x2D8, '3', ' ̆'),
-    (0x2D9, '3', ' ̇'),
-    (0x2DA, '3', ' ̊'),
-    (0x2DB, '3', ' ̨'),
-    (0x2DC, '3', ' ̃'),
-    (0x2DD, '3', ' ̋'),
-    (0x2DE, 'V'),
-    (0x2E0, 'M', 'ɣ'),
-    (0x2E1, 'M', 'l'),
-    (0x2E2, 'M', 's'),
-    (0x2E3, 'M', 'x'),
-    (0x2E4, 'M', 'ʕ'),
-    (0x2E5, 'V'),
-    (0x340, 'M', '̀'),
-    (0x341, 'M', '́'),
-    (0x342, 'V'),
-    (0x343, 'M', '̓'),
-    (0x344, 'M', '̈́'),
-    (0x345, 'M', 'ι'),
-    (0x346, 'V'),
-    (0x34F, 'I'),
-    (0x350, 'V'),
-    (0x370, 'M', 'ͱ'),
-    (0x371, 'V'),
-    (0x372, 'M', 'ͳ'),
-    (0x373, 'V'),
-    (0x374, 'M', 'ʹ'),
-    (0x375, 'V'),
-    (0x376, 'M', 'ͷ'),
-    (0x377, 'V'),
+        (0x20D, "V"),
+        (0x20E, "M", "ȏ"),
+        (0x20F, "V"),
+        (0x210, "M", "ȑ"),
+        (0x211, "V"),
+        (0x212, "M", "ȓ"),
+        (0x213, "V"),
+        (0x214, "M", "ȕ"),
+        (0x215, "V"),
+        (0x216, "M", "ȗ"),
+        (0x217, "V"),
+        (0x218, "M", "ș"),
+        (0x219, "V"),
+        (0x21A, "M", "ț"),
+        (0x21B, "V"),
+        (0x21C, "M", "ȝ"),
+        (0x21D, "V"),
+        (0x21E, "M", "ȟ"),
+        (0x21F, "V"),
+        (0x220, "M", "ƞ"),
+        (0x221, "V"),
+        (0x222, "M", "ȣ"),
+        (0x223, "V"),
+        (0x224, "M", "ȥ"),
+        (0x225, "V"),
+        (0x226, "M", "ȧ"),
+        (0x227, "V"),
+        (0x228, "M", "ȩ"),
+        (0x229, "V"),
+        (0x22A, "M", "ȫ"),
+        (0x22B, "V"),
+        (0x22C, "M", "ȭ"),
+        (0x22D, "V"),
+        (0x22E, "M", "ȯ"),
+        (0x22F, "V"),
+        (0x230, "M", "ȱ"),
+        (0x231, "V"),
+        (0x232, "M", "ȳ"),
+        (0x233, "V"),
+        (0x23A, "M", "ⱥ"),
+        (0x23B, "M", "ȼ"),
+        (0x23C, "V"),
+        (0x23D, "M", "ƚ"),
+        (0x23E, "M", "ⱦ"),
+        (0x23F, "V"),
+        (0x241, "M", "ɂ"),
+        (0x242, "V"),
+        (0x243, "M", "ƀ"),
+        (0x244, "M", "ʉ"),
+        (0x245, "M", "ʌ"),
+        (0x246, "M", "ɇ"),
+        (0x247, "V"),
+        (0x248, "M", "ɉ"),
+        (0x249, "V"),
+        (0x24A, "M", "ɋ"),
+        (0x24B, "V"),
+        (0x24C, "M", "ɍ"),
+        (0x24D, "V"),
+        (0x24E, "M", "ɏ"),
+        (0x24F, "V"),
+        (0x2B0, "M", "h"),
+        (0x2B1, "M", "ɦ"),
+        (0x2B2, "M", "j"),
+        (0x2B3, "M", "r"),
+        (0x2B4, "M", "ɹ"),
+        (0x2B5, "M", "ɻ"),
+        (0x2B6, "M", "ʁ"),
+        (0x2B7, "M", "w"),
+        (0x2B8, "M", "y"),
+        (0x2B9, "V"),
+        (0x2D8, "3", " ̆"),
+        (0x2D9, "3", " ̇"),
+        (0x2DA, "3", " ̊"),
+        (0x2DB, "3", " ̨"),
+        (0x2DC, "3", " ̃"),
+        (0x2DD, "3", " ̋"),
+        (0x2DE, "V"),
+        (0x2E0, "M", "ɣ"),
+        (0x2E1, "M", "l"),
+        (0x2E2, "M", "s"),
+        (0x2E3, "M", "x"),
+        (0x2E4, "M", "ʕ"),
+        (0x2E5, "V"),
+        (0x340, "M", "̀"),
+        (0x341, "M", "́"),
+        (0x342, "V"),
+        (0x343, "M", "̓"),
+        (0x344, "M", "̈́"),
+        (0x345, "M", "ι"),
+        (0x346, "V"),
+        (0x34F, "I"),
+        (0x350, "V"),
+        (0x370, "M", "ͱ"),
+        (0x371, "V"),
+        (0x372, "M", "ͳ"),
+        (0x373, "V"),
+        (0x374, "M", "ʹ"),
+        (0x375, "V"),
+        (0x376, "M", "ͷ"),
+        (0x377, "V"),
     ]
 
+
 def _seg_6() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x378, 'X'),
-    (0x37A, '3', ' ι'),
-    (0x37B, 'V'),
-    (0x37E, '3', ';'),
-    (0x37F, 'M', 'ϳ'),
-    (0x380, 'X'),
-    (0x384, '3', ' ́'),
-    (0x385, '3', ' ̈́'),
-    (0x386, 'M', 'ά'),
-    (0x387, 'M', '·'),
-    (0x388, 'M', 'έ'),
-    (0x389, 'M', 'ή'),
-    (0x38A, 'M', 'ί'),
-    (0x38B, 'X'),
-    (0x38C, 'M', 'ό'),
-    (0x38D, 'X'),
-    (0x38E, 'M', 'ύ'),
-    (0x38F, 'M', 'ώ'),
-    (0x390, 'V'),
-    (0x391, 'M', 'α'),
-    (0x392, 'M', 'β'),
-    (0x393, 'M', 'γ'),
-    (0x394, 'M', 'δ'),
-    (0x395, 'M', 'ε'),
-    (0x396, 'M', 'ζ'),
-    (0x397, 'M', 'η'),
-    (0x398, 'M', 'θ'),
-    (0x399, 'M', 'ι'),
-    (0x39A, 'M', 'κ'),
-    (0x39B, 'M', 'λ'),
-    (0x39C, 'M', 'μ'),
-    (0x39D, 'M', 'ν'),
-    (0x39E, 'M', 'ξ'),
-    (0x39F, 'M', 'ο'),
-    (0x3A0, 'M', 'π'),
-    (0x3A1, 'M', 'ρ'),
-    (0x3A2, 'X'),
-    (0x3A3, 'M', 'σ'),
-    (0x3A4, 'M', 'τ'),
-    (0x3A5, 'M', 'υ'),
-    (0x3A6, 'M', 'φ'),
-    (0x3A7, 'M', 'χ'),
-    (0x3A8, 'M', 'ψ'),
-    (0x3A9, 'M', 'ω'),
-    (0x3AA, 'M', 'ϊ'),
-    (0x3AB, 'M', 'ϋ'),
-    (0x3AC, 'V'),
-    (0x3C2, 'D', 'σ'),
-    (0x3C3, 'V'),
-    (0x3CF, 'M', 'ϗ'),
-    (0x3D0, 'M', 'β'),
-    (0x3D1, 'M', 'θ'),
-    (0x3D2, 'M', 'υ'),
-    (0x3D3, 'M', 'ύ'),
-    (0x3D4, 'M', 'ϋ'),
-    (0x3D5, 'M', 'φ'),
-    (0x3D6, 'M', 'π'),
-    (0x3D7, 'V'),
-    (0x3D8, 'M', 'ϙ'),
-    (0x3D9, 'V'),
-    (0x3DA, 'M', 'ϛ'),
-    (0x3DB, 'V'),
-    (0x3DC, 'M', 'ϝ'),
-    (0x3DD, 'V'),
-    (0x3DE, 'M', 'ϟ'),
-    (0x3DF, 'V'),
-    (0x3E0, 'M', 'ϡ'),
-    (0x3E1, 'V'),
-    (0x3E2, 'M', 'ϣ'),
-    (0x3E3, 'V'),
-    (0x3E4, 'M', 'ϥ'),
-    (0x3E5, 'V'),
-    (0x3E6, 'M', 'ϧ'),
-    (0x3E7, 'V'),
-    (0x3E8, 'M', 'ϩ'),
-    (0x3E9, 'V'),
-    (0x3EA, 'M', 'ϫ'),
-    (0x3EB, 'V'),
-    (0x3EC, 'M', 'ϭ'),
-    (0x3ED, 'V'),
-    (0x3EE, 'M', 'ϯ'),
-    (0x3EF, 'V'),
-    (0x3F0, 'M', 'κ'),
-    (0x3F1, 'M', 'ρ'),
-    (0x3F2, 'M', 'σ'),
-    (0x3F3, 'V'),
-    (0x3F4, 'M', 'θ'),
-    (0x3F5, 'M', 'ε'),
-    (0x3F6, 'V'),
-    (0x3F7, 'M', 'ϸ'),
-    (0x3F8, 'V'),
-    (0x3F9, 'M', 'σ'),
-    (0x3FA, 'M', 'ϻ'),
-    (0x3FB, 'V'),
-    (0x3FD, 'M', 'ͻ'),
-    (0x3FE, 'M', 'ͼ'),
-    (0x3FF, 'M', 'ͽ'),
-    (0x400, 'M', 'ѐ'),
-    (0x401, 'M', 'ё'),
-    (0x402, 'M', 'ђ'),
+        (0x378, "X"),
+        (0x37A, "3", " ι"),
+        (0x37B, "V"),
+        (0x37E, "3", ";"),
+        (0x37F, "M", "ϳ"),
+        (0x380, "X"),
+        (0x384, "3", " ́"),
+        (0x385, "3", " ̈́"),
+        (0x386, "M", "ά"),
+        (0x387, "M", "·"),
+        (0x388, "M", "έ"),
+        (0x389, "M", "ή"),
+        (0x38A, "M", "ί"),
+        (0x38B, "X"),
+        (0x38C, "M", "ό"),
+        (0x38D, "X"),
+        (0x38E, "M", "ύ"),
+        (0x38F, "M", "ώ"),
+        (0x390, "V"),
+        (0x391, "M", "α"),
+        (0x392, "M", "β"),
+        (0x393, "M", "γ"),
+        (0x394, "M", "δ"),
+        (0x395, "M", "ε"),
+        (0x396, "M", "ζ"),
+        (0x397, "M", "η"),
+        (0x398, "M", "θ"),
+        (0x399, "M", "ι"),
+        (0x39A, "M", "κ"),
+        (0x39B, "M", "λ"),
+        (0x39C, "M", "μ"),
+        (0x39D, "M", "ν"),
+        (0x39E, "M", "ξ"),
+        (0x39F, "M", "ο"),
+        (0x3A0, "M", "π"),
+        (0x3A1, "M", "ρ"),
+        (0x3A2, "X"),
+        (0x3A3, "M", "σ"),
+        (0x3A4, "M", "τ"),
+        (0x3A5, "M", "υ"),
+        (0x3A6, "M", "φ"),
+        (0x3A7, "M", "χ"),
+        (0x3A8, "M", "ψ"),
+        (0x3A9, "M", "ω"),
+        (0x3AA, "M", "ϊ"),
+        (0x3AB, "M", "ϋ"),
+        (0x3AC, "V"),
+        (0x3C2, "D", "σ"),
+        (0x3C3, "V"),
+        (0x3CF, "M", "ϗ"),
+        (0x3D0, "M", "β"),
+        (0x3D1, "M", "θ"),
+        (0x3D2, "M", "υ"),
+        (0x3D3, "M", "ύ"),
+        (0x3D4, "M", "ϋ"),
+        (0x3D5, "M", "φ"),
+        (0x3D6, "M", "π"),
+        (0x3D7, "V"),
+        (0x3D8, "M", "ϙ"),
+        (0x3D9, "V"),
+        (0x3DA, "M", "ϛ"),
+        (0x3DB, "V"),
+        (0x3DC, "M", "ϝ"),
+        (0x3DD, "V"),
+        (0x3DE, "M", "ϟ"),
+        (0x3DF, "V"),
+        (0x3E0, "M", "ϡ"),
+        (0x3E1, "V"),
+        (0x3E2, "M", "ϣ"),
+        (0x3E3, "V"),
+        (0x3E4, "M", "ϥ"),
+        (0x3E5, "V"),
+        (0x3E6, "M", "ϧ"),
+        (0x3E7, "V"),
+        (0x3E8, "M", "ϩ"),
+        (0x3E9, "V"),
+        (0x3EA, "M", "ϫ"),
+        (0x3EB, "V"),
+        (0x3EC, "M", "ϭ"),
+        (0x3ED, "V"),
+        (0x3EE, "M", "ϯ"),
+        (0x3EF, "V"),
+        (0x3F0, "M", "κ"),
+        (0x3F1, "M", "ρ"),
+        (0x3F2, "M", "σ"),
+        (0x3F3, "V"),
+        (0x3F4, "M", "θ"),
+        (0x3F5, "M", "ε"),
+        (0x3F6, "V"),
+        (0x3F7, "M", "ϸ"),
+        (0x3F8, "V"),
+        (0x3F9, "M", "σ"),
+        (0x3FA, "M", "ϻ"),
+        (0x3FB, "V"),
+        (0x3FD, "M", "ͻ"),
+        (0x3FE, "M", "ͼ"),
+        (0x3FF, "M", "ͽ"),
+        (0x400, "M", "ѐ"),
+        (0x401, "M", "ё"),
+        (0x402, "M", "ђ"),
     ]
 
+
 def _seg_7() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x403, 'M', 'ѓ'),
-    (0x404, 'M', 'є'),
-    (0x405, 'M', 'ѕ'),
-    (0x406, 'M', 'і'),
-    (0x407, 'M', 'ї'),
-    (0x408, 'M', 'ј'),
-    (0x409, 'M', 'љ'),
-    (0x40A, 'M', 'њ'),
-    (0x40B, 'M', 'ћ'),
-    (0x40C, 'M', 'ќ'),
-    (0x40D, 'M', 'ѝ'),
-    (0x40E, 'M', 'ў'),
-    (0x40F, 'M', 'џ'),
-    (0x410, 'M', 'а'),
-    (0x411, 'M', 'б'),
-    (0x412, 'M', 'в'),
-    (0x413, 'M', 'г'),
-    (0x414, 'M', 'д'),
-    (0x415, 'M', 'е'),
-    (0x416, 'M', 'ж'),
-    (0x417, 'M', 'з'),
-    (0x418, 'M', 'и'),
-    (0x419, 'M', 'й'),
-    (0x41A, 'M', 'к'),
-    (0x41B, 'M', 'л'),
-    (0x41C, 'M', 'м'),
-    (0x41D, 'M', 'н'),
-    (0x41E, 'M', 'о'),
-    (0x41F, 'M', 'п'),
-    (0x420, 'M', 'р'),
-    (0x421, 'M', 'с'),
-    (0x422, 'M', 'т'),
-    (0x423, 'M', 'у'),
-    (0x424, 'M', 'ф'),
-    (0x425, 'M', 'х'),
-    (0x426, 'M', 'ц'),
-    (0x427, 'M', 'ч'),
-    (0x428, 'M', 'ш'),
-    (0x429, 'M', 'щ'),
-    (0x42A, 'M', 'ъ'),
-    (0x42B, 'M', 'ы'),
-    (0x42C, 'M', 'ь'),
-    (0x42D, 'M', 'э'),
-    (0x42E, 'M', 'ю'),
-    (0x42F, 'M', 'я'),
-    (0x430, 'V'),
-    (0x460, 'M', 'ѡ'),
-    (0x461, 'V'),
-    (0x462, 'M', 'ѣ'),
-    (0x463, 'V'),
-    (0x464, 'M', 'ѥ'),
-    (0x465, 'V'),
-    (0x466, 'M', 'ѧ'),
-    (0x467, 'V'),
-    (0x468, 'M', 'ѩ'),
-    (0x469, 'V'),
-    (0x46A, 'M', 'ѫ'),
-    (0x46B, 'V'),
-    (0x46C, 'M', 'ѭ'),
-    (0x46D, 'V'),
-    (0x46E, 'M', 'ѯ'),
-    (0x46F, 'V'),
-    (0x470, 'M', 'ѱ'),
-    (0x471, 'V'),
-    (0x472, 'M', 'ѳ'),
-    (0x473, 'V'),
-    (0x474, 'M', 'ѵ'),
-    (0x475, 'V'),
-    (0x476, 'M', 'ѷ'),
-    (0x477, 'V'),
-    (0x478, 'M', 'ѹ'),
-    (0x479, 'V'),
-    (0x47A, 'M', 'ѻ'),
-    (0x47B, 'V'),
-    (0x47C, 'M', 'ѽ'),
-    (0x47D, 'V'),
-    (0x47E, 'M', 'ѿ'),
-    (0x47F, 'V'),
-    (0x480, 'M', 'ҁ'),
-    (0x481, 'V'),
-    (0x48A, 'M', 'ҋ'),
-    (0x48B, 'V'),
-    (0x48C, 'M', 'ҍ'),
-    (0x48D, 'V'),
-    (0x48E, 'M', 'ҏ'),
-    (0x48F, 'V'),
-    (0x490, 'M', 'ґ'),
-    (0x491, 'V'),
-    (0x492, 'M', 'ғ'),
-    (0x493, 'V'),
-    (0x494, 'M', 'ҕ'),
-    (0x495, 'V'),
-    (0x496, 'M', 'җ'),
-    (0x497, 'V'),
-    (0x498, 'M', 'ҙ'),
-    (0x499, 'V'),
-    (0x49A, 'M', 'қ'),
-    (0x49B, 'V'),
-    (0x49C, 'M', 'ҝ'),
-    (0x49D, 'V'),
+        (0x403, "M", "ѓ"),
+        (0x404, "M", "є"),
+        (0x405, "M", "ѕ"),
+        (0x406, "M", "і"),
+        (0x407, "M", "ї"),
+        (0x408, "M", "ј"),
+        (0x409, "M", "љ"),
+        (0x40A, "M", "њ"),
+        (0x40B, "M", "ћ"),
+        (0x40C, "M", "ќ"),
+        (0x40D, "M", "ѝ"),
+        (0x40E, "M", "ў"),
+        (0x40F, "M", "џ"),
+        (0x410, "M", "а"),
+        (0x411, "M", "б"),
+        (0x412, "M", "в"),
+        (0x413, "M", "г"),
+        (0x414, "M", "д"),
+        (0x415, "M", "е"),
+        (0x416, "M", "ж"),
+        (0x417, "M", "з"),
+        (0x418, "M", "и"),
+        (0x419, "M", "й"),
+        (0x41A, "M", "к"),
+        (0x41B, "M", "л"),
+        (0x41C, "M", "м"),
+        (0x41D, "M", "н"),
+        (0x41E, "M", "о"),
+        (0x41F, "M", "п"),
+        (0x420, "M", "р"),
+        (0x421, "M", "с"),
+        (0x422, "M", "т"),
+        (0x423, "M", "у"),
+        (0x424, "M", "ф"),
+        (0x425, "M", "х"),
+        (0x426, "M", "ц"),
+        (0x427, "M", "ч"),
+        (0x428, "M", "ш"),
+        (0x429, "M", "щ"),
+        (0x42A, "M", "ъ"),
+        (0x42B, "M", "ы"),
+        (0x42C, "M", "ь"),
+        (0x42D, "M", "э"),
+        (0x42E, "M", "ю"),
+        (0x42F, "M", "я"),
+        (0x430, "V"),
+        (0x460, "M", "ѡ"),
+        (0x461, "V"),
+        (0x462, "M", "ѣ"),
+        (0x463, "V"),
+        (0x464, "M", "ѥ"),
+        (0x465, "V"),
+        (0x466, "M", "ѧ"),
+        (0x467, "V"),
+        (0x468, "M", "ѩ"),
+        (0x469, "V"),
+        (0x46A, "M", "ѫ"),
+        (0x46B, "V"),
+        (0x46C, "M", "ѭ"),
+        (0x46D, "V"),
+        (0x46E, "M", "ѯ"),
+        (0x46F, "V"),
+        (0x470, "M", "ѱ"),
+        (0x471, "V"),
+        (0x472, "M", "ѳ"),
+        (0x473, "V"),
+        (0x474, "M", "ѵ"),
+        (0x475, "V"),
+        (0x476, "M", "ѷ"),
+        (0x477, "V"),
+        (0x478, "M", "ѹ"),
+        (0x479, "V"),
+        (0x47A, "M", "ѻ"),
+        (0x47B, "V"),
+        (0x47C, "M", "ѽ"),
+        (0x47D, "V"),
+        (0x47E, "M", "ѿ"),
+        (0x47F, "V"),
+        (0x480, "M", "ҁ"),
+        (0x481, "V"),
+        (0x48A, "M", "ҋ"),
+        (0x48B, "V"),
+        (0x48C, "M", "ҍ"),
+        (0x48D, "V"),
+        (0x48E, "M", "ҏ"),
+        (0x48F, "V"),
+        (0x490, "M", "ґ"),
+        (0x491, "V"),
+        (0x492, "M", "ғ"),
+        (0x493, "V"),
+        (0x494, "M", "ҕ"),
+        (0x495, "V"),
+        (0x496, "M", "җ"),
+        (0x497, "V"),
+        (0x498, "M", "ҙ"),
+        (0x499, "V"),
+        (0x49A, "M", "қ"),
+        (0x49B, "V"),
+        (0x49C, "M", "ҝ"),
+        (0x49D, "V"),
     ]
 
+
 def _seg_8() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x49E, 'M', 'ҟ'),
-    (0x49F, 'V'),
-    (0x4A0, 'M', 'ҡ'),
-    (0x4A1, 'V'),
-    (0x4A2, 'M', 'ң'),
-    (0x4A3, 'V'),
-    (0x4A4, 'M', 'ҥ'),
-    (0x4A5, 'V'),
-    (0x4A6, 'M', 'ҧ'),
-    (0x4A7, 'V'),
-    (0x4A8, 'M', 'ҩ'),
-    (0x4A9, 'V'),
-    (0x4AA, 'M', 'ҫ'),
-    (0x4AB, 'V'),
-    (0x4AC, 'M', 'ҭ'),
-    (0x4AD, 'V'),
-    (0x4AE, 'M', 'ү'),
-    (0x4AF, 'V'),
-    (0x4B0, 'M', 'ұ'),
-    (0x4B1, 'V'),
-    (0x4B2, 'M', 'ҳ'),
-    (0x4B3, 'V'),
-    (0x4B4, 'M', 'ҵ'),
-    (0x4B5, 'V'),
-    (0x4B6, 'M', 'ҷ'),
-    (0x4B7, 'V'),
-    (0x4B8, 'M', 'ҹ'),
-    (0x4B9, 'V'),
-    (0x4BA, 'M', 'һ'),
-    (0x4BB, 'V'),
-    (0x4BC, 'M', 'ҽ'),
-    (0x4BD, 'V'),
-    (0x4BE, 'M', 'ҿ'),
-    (0x4BF, 'V'),
-    (0x4C0, 'X'),
-    (0x4C1, 'M', 'ӂ'),
-    (0x4C2, 'V'),
-    (0x4C3, 'M', 'ӄ'),
-    (0x4C4, 'V'),
-    (0x4C5, 'M', 'ӆ'),
-    (0x4C6, 'V'),
-    (0x4C7, 'M', 'ӈ'),
-    (0x4C8, 'V'),
-    (0x4C9, 'M', 'ӊ'),
-    (0x4CA, 'V'),
-    (0x4CB, 'M', 'ӌ'),
-    (0x4CC, 'V'),
-    (0x4CD, 'M', 'ӎ'),
-    (0x4CE, 'V'),
-    (0x4D0, 'M', 'ӑ'),
-    (0x4D1, 'V'),
-    (0x4D2, 'M', 'ӓ'),
-    (0x4D3, 'V'),
-    (0x4D4, 'M', 'ӕ'),
-    (0x4D5, 'V'),
-    (0x4D6, 'M', 'ӗ'),
-    (0x4D7, 'V'),
-    (0x4D8, 'M', 'ә'),
-    (0x4D9, 'V'),
-    (0x4DA, 'M', 'ӛ'),
-    (0x4DB, 'V'),
-    (0x4DC, 'M', 'ӝ'),
-    (0x4DD, 'V'),
-    (0x4DE, 'M', 'ӟ'),
-    (0x4DF, 'V'),
-    (0x4E0, 'M', 'ӡ'),
-    (0x4E1, 'V'),
-    (0x4E2, 'M', 'ӣ'),
-    (0x4E3, 'V'),
-    (0x4E4, 'M', 'ӥ'),
-    (0x4E5, 'V'),
-    (0x4E6, 'M', 'ӧ'),
-    (0x4E7, 'V'),
-    (0x4E8, 'M', 'ө'),
-    (0x4E9, 'V'),
-    (0x4EA, 'M', 'ӫ'),
-    (0x4EB, 'V'),
-    (0x4EC, 'M', 'ӭ'),
-    (0x4ED, 'V'),
-    (0x4EE, 'M', 'ӯ'),
-    (0x4EF, 'V'),
-    (0x4F0, 'M', 'ӱ'),
-    (0x4F1, 'V'),
-    (0x4F2, 'M', 'ӳ'),
-    (0x4F3, 'V'),
-    (0x4F4, 'M', 'ӵ'),
-    (0x4F5, 'V'),
-    (0x4F6, 'M', 'ӷ'),
-    (0x4F7, 'V'),
-    (0x4F8, 'M', 'ӹ'),
-    (0x4F9, 'V'),
-    (0x4FA, 'M', 'ӻ'),
-    (0x4FB, 'V'),
-    (0x4FC, 'M', 'ӽ'),
-    (0x4FD, 'V'),
-    (0x4FE, 'M', 'ӿ'),
-    (0x4FF, 'V'),
-    (0x500, 'M', 'ԁ'),
-    (0x501, 'V'),
-    (0x502, 'M', 'ԃ'),
+        (0x49E, "M", "ҟ"),
+        (0x49F, "V"),
+        (0x4A0, "M", "ҡ"),
+        (0x4A1, "V"),
+        (0x4A2, "M", "ң"),
+        (0x4A3, "V"),
+        (0x4A4, "M", "ҥ"),
+        (0x4A5, "V"),
+        (0x4A6, "M", "ҧ"),
+        (0x4A7, "V"),
+        (0x4A8, "M", "ҩ"),
+        (0x4A9, "V"),
+        (0x4AA, "M", "ҫ"),
+        (0x4AB, "V"),
+        (0x4AC, "M", "ҭ"),
+        (0x4AD, "V"),
+        (0x4AE, "M", "ү"),
+        (0x4AF, "V"),
+        (0x4B0, "M", "ұ"),
+        (0x4B1, "V"),
+        (0x4B2, "M", "ҳ"),
+        (0x4B3, "V"),
+        (0x4B4, "M", "ҵ"),
+        (0x4B5, "V"),
+        (0x4B6, "M", "ҷ"),
+        (0x4B7, "V"),
+        (0x4B8, "M", "ҹ"),
+        (0x4B9, "V"),
+        (0x4BA, "M", "һ"),
+        (0x4BB, "V"),
+        (0x4BC, "M", "ҽ"),
+        (0x4BD, "V"),
+        (0x4BE, "M", "ҿ"),
+        (0x4BF, "V"),
+        (0x4C0, "X"),
+        (0x4C1, "M", "ӂ"),
+        (0x4C2, "V"),
+        (0x4C3, "M", "ӄ"),
+        (0x4C4, "V"),
+        (0x4C5, "M", "ӆ"),
+        (0x4C6, "V"),
+        (0x4C7, "M", "ӈ"),
+        (0x4C8, "V"),
+        (0x4C9, "M", "ӊ"),
+        (0x4CA, "V"),
+        (0x4CB, "M", "ӌ"),
+        (0x4CC, "V"),
+        (0x4CD, "M", "ӎ"),
+        (0x4CE, "V"),
+        (0x4D0, "M", "ӑ"),
+        (0x4D1, "V"),
+        (0x4D2, "M", "ӓ"),
+        (0x4D3, "V"),
+        (0x4D4, "M", "ӕ"),
+        (0x4D5, "V"),
+        (0x4D6, "M", "ӗ"),
+        (0x4D7, "V"),
+        (0x4D8, "M", "ә"),
+        (0x4D9, "V"),
+        (0x4DA, "M", "ӛ"),
+        (0x4DB, "V"),
+        (0x4DC, "M", "ӝ"),
+        (0x4DD, "V"),
+        (0x4DE, "M", "ӟ"),
+        (0x4DF, "V"),
+        (0x4E0, "M", "ӡ"),
+        (0x4E1, "V"),
+        (0x4E2, "M", "ӣ"),
+        (0x4E3, "V"),
+        (0x4E4, "M", "ӥ"),
+        (0x4E5, "V"),
+        (0x4E6, "M", "ӧ"),
+        (0x4E7, "V"),
+        (0x4E8, "M", "ө"),
+        (0x4E9, "V"),
+        (0x4EA, "M", "ӫ"),
+        (0x4EB, "V"),
+        (0x4EC, "M", "ӭ"),
+        (0x4ED, "V"),
+        (0x4EE, "M", "ӯ"),
+        (0x4EF, "V"),
+        (0x4F0, "M", "ӱ"),
+        (0x4F1, "V"),
+        (0x4F2, "M", "ӳ"),
+        (0x4F3, "V"),
+        (0x4F4, "M", "ӵ"),
+        (0x4F5, "V"),
+        (0x4F6, "M", "ӷ"),
+        (0x4F7, "V"),
+        (0x4F8, "M", "ӹ"),
+        (0x4F9, "V"),
+        (0x4FA, "M", "ӻ"),
+        (0x4FB, "V"),
+        (0x4FC, "M", "ӽ"),
+        (0x4FD, "V"),
+        (0x4FE, "M", "ӿ"),
+        (0x4FF, "V"),
+        (0x500, "M", "ԁ"),
+        (0x501, "V"),
+        (0x502, "M", "ԃ"),
     ]
 
+
 def _seg_9() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x503, 'V'),
-    (0x504, 'M', 'ԅ'),
-    (0x505, 'V'),
-    (0x506, 'M', 'ԇ'),
-    (0x507, 'V'),
-    (0x508, 'M', 'ԉ'),
-    (0x509, 'V'),
-    (0x50A, 'M', 'ԋ'),
-    (0x50B, 'V'),
-    (0x50C, 'M', 'ԍ'),
-    (0x50D, 'V'),
-    (0x50E, 'M', 'ԏ'),
-    (0x50F, 'V'),
-    (0x510, 'M', 'ԑ'),
-    (0x511, 'V'),
-    (0x512, 'M', 'ԓ'),
-    (0x513, 'V'),
-    (0x514, 'M', 'ԕ'),
-    (0x515, 'V'),
-    (0x516, 'M', 'ԗ'),
-    (0x517, 'V'),
-    (0x518, 'M', 'ԙ'),
-    (0x519, 'V'),
-    (0x51A, 'M', 'ԛ'),
-    (0x51B, 'V'),
-    (0x51C, 'M', 'ԝ'),
-    (0x51D, 'V'),
-    (0x51E, 'M', 'ԟ'),
-    (0x51F, 'V'),
-    (0x520, 'M', 'ԡ'),
-    (0x521, 'V'),
-    (0x522, 'M', 'ԣ'),
-    (0x523, 'V'),
-    (0x524, 'M', 'ԥ'),
-    (0x525, 'V'),
-    (0x526, 'M', 'ԧ'),
-    (0x527, 'V'),
-    (0x528, 'M', 'ԩ'),
-    (0x529, 'V'),
-    (0x52A, 'M', 'ԫ'),
-    (0x52B, 'V'),
-    (0x52C, 'M', 'ԭ'),
-    (0x52D, 'V'),
-    (0x52E, 'M', 'ԯ'),
-    (0x52F, 'V'),
-    (0x530, 'X'),
-    (0x531, 'M', 'ա'),
-    (0x532, 'M', 'բ'),
-    (0x533, 'M', 'գ'),
-    (0x534, 'M', 'դ'),
-    (0x535, 'M', 'ե'),
-    (0x536, 'M', 'զ'),
-    (0x537, 'M', 'է'),
-    (0x538, 'M', 'ը'),
-    (0x539, 'M', 'թ'),
-    (0x53A, 'M', 'ժ'),
-    (0x53B, 'M', 'ի'),
-    (0x53C, 'M', 'լ'),
-    (0x53D, 'M', 'խ'),
-    (0x53E, 'M', 'ծ'),
-    (0x53F, 'M', 'կ'),
-    (0x540, 'M', 'հ'),
-    (0x541, 'M', 'ձ'),
-    (0x542, 'M', 'ղ'),
-    (0x543, 'M', 'ճ'),
-    (0x544, 'M', 'մ'),
-    (0x545, 'M', 'յ'),
-    (0x546, 'M', 'ն'),
-    (0x547, 'M', 'շ'),
-    (0x548, 'M', 'ո'),
-    (0x549, 'M', 'չ'),
-    (0x54A, 'M', 'պ'),
-    (0x54B, 'M', 'ջ'),
-    (0x54C, 'M', 'ռ'),
-    (0x54D, 'M', 'ս'),
-    (0x54E, 'M', 'վ'),
-    (0x54F, 'M', 'տ'),
-    (0x550, 'M', 'ր'),
-    (0x551, 'M', 'ց'),
-    (0x552, 'M', 'ւ'),
-    (0x553, 'M', 'փ'),
-    (0x554, 'M', 'ք'),
-    (0x555, 'M', 'օ'),
-    (0x556, 'M', 'ֆ'),
-    (0x557, 'X'),
-    (0x559, 'V'),
-    (0x587, 'M', 'եւ'),
-    (0x588, 'V'),
-    (0x58B, 'X'),
-    (0x58D, 'V'),
-    (0x590, 'X'),
-    (0x591, 'V'),
-    (0x5C8, 'X'),
-    (0x5D0, 'V'),
-    (0x5EB, 'X'),
-    (0x5EF, 'V'),
-    (0x5F5, 'X'),
-    (0x606, 'V'),
-    (0x61C, 'X'),
-    (0x61D, 'V'),
+        (0x503, "V"),
+        (0x504, "M", "ԅ"),
+        (0x505, "V"),
+        (0x506, "M", "ԇ"),
+        (0x507, "V"),
+        (0x508, "M", "ԉ"),
+        (0x509, "V"),
+        (0x50A, "M", "ԋ"),
+        (0x50B, "V"),
+        (0x50C, "M", "ԍ"),
+        (0x50D, "V"),
+        (0x50E, "M", "ԏ"),
+        (0x50F, "V"),
+        (0x510, "M", "ԑ"),
+        (0x511, "V"),
+        (0x512, "M", "ԓ"),
+        (0x513, "V"),
+        (0x514, "M", "ԕ"),
+        (0x515, "V"),
+        (0x516, "M", "ԗ"),
+        (0x517, "V"),
+        (0x518, "M", "ԙ"),
+        (0x519, "V"),
+        (0x51A, "M", "ԛ"),
+        (0x51B, "V"),
+        (0x51C, "M", "ԝ"),
+        (0x51D, "V"),
+        (0x51E, "M", "ԟ"),
+        (0x51F, "V"),
+        (0x520, "M", "ԡ"),
+        (0x521, "V"),
+        (0x522, "M", "ԣ"),
+        (0x523, "V"),
+        (0x524, "M", "ԥ"),
+        (0x525, "V"),
+        (0x526, "M", "ԧ"),
+        (0x527, "V"),
+        (0x528, "M", "ԩ"),
+        (0x529, "V"),
+        (0x52A, "M", "ԫ"),
+        (0x52B, "V"),
+        (0x52C, "M", "ԭ"),
+        (0x52D, "V"),
+        (0x52E, "M", "ԯ"),
+        (0x52F, "V"),
+        (0x530, "X"),
+        (0x531, "M", "ա"),
+        (0x532, "M", "բ"),
+        (0x533, "M", "գ"),
+        (0x534, "M", "դ"),
+        (0x535, "M", "ե"),
+        (0x536, "M", "զ"),
+        (0x537, "M", "է"),
+        (0x538, "M", "ը"),
+        (0x539, "M", "թ"),
+        (0x53A, "M", "ժ"),
+        (0x53B, "M", "ի"),
+        (0x53C, "M", "լ"),
+        (0x53D, "M", "խ"),
+        (0x53E, "M", "ծ"),
+        (0x53F, "M", "կ"),
+        (0x540, "M", "հ"),
+        (0x541, "M", "ձ"),
+        (0x542, "M", "ղ"),
+        (0x543, "M", "ճ"),
+        (0x544, "M", "մ"),
+        (0x545, "M", "յ"),
+        (0x546, "M", "ն"),
+        (0x547, "M", "շ"),
+        (0x548, "M", "ո"),
+        (0x549, "M", "չ"),
+        (0x54A, "M", "պ"),
+        (0x54B, "M", "ջ"),
+        (0x54C, "M", "ռ"),
+        (0x54D, "M", "ս"),
+        (0x54E, "M", "վ"),
+        (0x54F, "M", "տ"),
+        (0x550, "M", "ր"),
+        (0x551, "M", "ց"),
+        (0x552, "M", "ւ"),
+        (0x553, "M", "փ"),
+        (0x554, "M", "ք"),
+        (0x555, "M", "օ"),
+        (0x556, "M", "ֆ"),
+        (0x557, "X"),
+        (0x559, "V"),
+        (0x587, "M", "եւ"),
+        (0x588, "V"),
+        (0x58B, "X"),
+        (0x58D, "V"),
+        (0x590, "X"),
+        (0x591, "V"),
+        (0x5C8, "X"),
+        (0x5D0, "V"),
+        (0x5EB, "X"),
+        (0x5EF, "V"),
+        (0x5F5, "X"),
+        (0x606, "V"),
+        (0x61C, "X"),
+        (0x61D, "V"),
     ]
 
+
 def _seg_10() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x675, 'M', 'اٴ'),
-    (0x676, 'M', 'وٴ'),
-    (0x677, 'M', 'ۇٴ'),
-    (0x678, 'M', 'يٴ'),
-    (0x679, 'V'),
-    (0x6DD, 'X'),
-    (0x6DE, 'V'),
-    (0x70E, 'X'),
-    (0x710, 'V'),
-    (0x74B, 'X'),
-    (0x74D, 'V'),
-    (0x7B2, 'X'),
-    (0x7C0, 'V'),
-    (0x7FB, 'X'),
-    (0x7FD, 'V'),
-    (0x82E, 'X'),
-    (0x830, 'V'),
-    (0x83F, 'X'),
-    (0x840, 'V'),
-    (0x85C, 'X'),
-    (0x85E, 'V'),
-    (0x85F, 'X'),
-    (0x860, 'V'),
-    (0x86B, 'X'),
-    (0x870, 'V'),
-    (0x88F, 'X'),
-    (0x898, 'V'),
-    (0x8E2, 'X'),
-    (0x8E3, 'V'),
-    (0x958, 'M', 'क़'),
-    (0x959, 'M', 'ख़'),
-    (0x95A, 'M', 'ग़'),
-    (0x95B, 'M', 'ज़'),
-    (0x95C, 'M', 'ड़'),
-    (0x95D, 'M', 'ढ़'),
-    (0x95E, 'M', 'फ़'),
-    (0x95F, 'M', 'य़'),
-    (0x960, 'V'),
-    (0x984, 'X'),
-    (0x985, 'V'),
-    (0x98D, 'X'),
-    (0x98F, 'V'),
-    (0x991, 'X'),
-    (0x993, 'V'),
-    (0x9A9, 'X'),
-    (0x9AA, 'V'),
-    (0x9B1, 'X'),
-    (0x9B2, 'V'),
-    (0x9B3, 'X'),
-    (0x9B6, 'V'),
-    (0x9BA, 'X'),
-    (0x9BC, 'V'),
-    (0x9C5, 'X'),
-    (0x9C7, 'V'),
-    (0x9C9, 'X'),
-    (0x9CB, 'V'),
-    (0x9CF, 'X'),
-    (0x9D7, 'V'),
-    (0x9D8, 'X'),
-    (0x9DC, 'M', 'ড়'),
-    (0x9DD, 'M', 'ঢ়'),
-    (0x9DE, 'X'),
-    (0x9DF, 'M', 'য়'),
-    (0x9E0, 'V'),
-    (0x9E4, 'X'),
-    (0x9E6, 'V'),
-    (0x9FF, 'X'),
-    (0xA01, 'V'),
-    (0xA04, 'X'),
-    (0xA05, 'V'),
-    (0xA0B, 'X'),
-    (0xA0F, 'V'),
-    (0xA11, 'X'),
-    (0xA13, 'V'),
-    (0xA29, 'X'),
-    (0xA2A, 'V'),
-    (0xA31, 'X'),
-    (0xA32, 'V'),
-    (0xA33, 'M', 'ਲ਼'),
-    (0xA34, 'X'),
-    (0xA35, 'V'),
-    (0xA36, 'M', 'ਸ਼'),
-    (0xA37, 'X'),
-    (0xA38, 'V'),
-    (0xA3A, 'X'),
-    (0xA3C, 'V'),
-    (0xA3D, 'X'),
-    (0xA3E, 'V'),
-    (0xA43, 'X'),
-    (0xA47, 'V'),
-    (0xA49, 'X'),
-    (0xA4B, 'V'),
-    (0xA4E, 'X'),
-    (0xA51, 'V'),
-    (0xA52, 'X'),
-    (0xA59, 'M', 'ਖ਼'),
-    (0xA5A, 'M', 'ਗ਼'),
-    (0xA5B, 'M', 'ਜ਼'),
-    (0xA5C, 'V'),
-    (0xA5D, 'X'),
+        (0x675, "M", "اٴ"),
+        (0x676, "M", "وٴ"),
+        (0x677, "M", "ۇٴ"),
+        (0x678, "M", "يٴ"),
+        (0x679, "V"),
+        (0x6DD, "X"),
+        (0x6DE, "V"),
+        (0x70E, "X"),
+        (0x710, "V"),
+        (0x74B, "X"),
+        (0x74D, "V"),
+        (0x7B2, "X"),
+        (0x7C0, "V"),
+        (0x7FB, "X"),
+        (0x7FD, "V"),
+        (0x82E, "X"),
+        (0x830, "V"),
+        (0x83F, "X"),
+        (0x840, "V"),
+        (0x85C, "X"),
+        (0x85E, "V"),
+        (0x85F, "X"),
+        (0x860, "V"),
+        (0x86B, "X"),
+        (0x870, "V"),
+        (0x88F, "X"),
+        (0x898, "V"),
+        (0x8E2, "X"),
+        (0x8E3, "V"),
+        (0x958, "M", "क़"),
+        (0x959, "M", "ख़"),
+        (0x95A, "M", "ग़"),
+        (0x95B, "M", "ज़"),
+        (0x95C, "M", "ड़"),
+        (0x95D, "M", "ढ़"),
+        (0x95E, "M", "फ़"),
+        (0x95F, "M", "य़"),
+        (0x960, "V"),
+        (0x984, "X"),
+        (0x985, "V"),
+        (0x98D, "X"),
+        (0x98F, "V"),
+        (0x991, "X"),
+        (0x993, "V"),
+        (0x9A9, "X"),
+        (0x9AA, "V"),
+        (0x9B1, "X"),
+        (0x9B2, "V"),
+        (0x9B3, "X"),
+        (0x9B6, "V"),
+        (0x9BA, "X"),
+        (0x9BC, "V"),
+        (0x9C5, "X"),
+        (0x9C7, "V"),
+        (0x9C9, "X"),
+        (0x9CB, "V"),
+        (0x9CF, "X"),
+        (0x9D7, "V"),
+        (0x9D8, "X"),
+        (0x9DC, "M", "ড়"),
+        (0x9DD, "M", "ঢ়"),
+        (0x9DE, "X"),
+        (0x9DF, "M", "য়"),
+        (0x9E0, "V"),
+        (0x9E4, "X"),
+        (0x9E6, "V"),
+        (0x9FF, "X"),
+        (0xA01, "V"),
+        (0xA04, "X"),
+        (0xA05, "V"),
+        (0xA0B, "X"),
+        (0xA0F, "V"),
+        (0xA11, "X"),
+        (0xA13, "V"),
+        (0xA29, "X"),
+        (0xA2A, "V"),
+        (0xA31, "X"),
+        (0xA32, "V"),
+        (0xA33, "M", "ਲ਼"),
+        (0xA34, "X"),
+        (0xA35, "V"),
+        (0xA36, "M", "ਸ਼"),
+        (0xA37, "X"),
+        (0xA38, "V"),
+        (0xA3A, "X"),
+        (0xA3C, "V"),
+        (0xA3D, "X"),
+        (0xA3E, "V"),
+        (0xA43, "X"),
+        (0xA47, "V"),
+        (0xA49, "X"),
+        (0xA4B, "V"),
+        (0xA4E, "X"),
+        (0xA51, "V"),
+        (0xA52, "X"),
+        (0xA59, "M", "ਖ਼"),
+        (0xA5A, "M", "ਗ਼"),
+        (0xA5B, "M", "ਜ਼"),
+        (0xA5C, "V"),
+        (0xA5D, "X"),
     ]
 
+
 def _seg_11() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xA5E, 'M', 'ਫ਼'),
-    (0xA5F, 'X'),
-    (0xA66, 'V'),
-    (0xA77, 'X'),
-    (0xA81, 'V'),
-    (0xA84, 'X'),
-    (0xA85, 'V'),
-    (0xA8E, 'X'),
-    (0xA8F, 'V'),
-    (0xA92, 'X'),
-    (0xA93, 'V'),
-    (0xAA9, 'X'),
-    (0xAAA, 'V'),
-    (0xAB1, 'X'),
-    (0xAB2, 'V'),
-    (0xAB4, 'X'),
-    (0xAB5, 'V'),
-    (0xABA, 'X'),
-    (0xABC, 'V'),
-    (0xAC6, 'X'),
-    (0xAC7, 'V'),
-    (0xACA, 'X'),
-    (0xACB, 'V'),
-    (0xACE, 'X'),
-    (0xAD0, 'V'),
-    (0xAD1, 'X'),
-    (0xAE0, 'V'),
-    (0xAE4, 'X'),
-    (0xAE6, 'V'),
-    (0xAF2, 'X'),
-    (0xAF9, 'V'),
-    (0xB00, 'X'),
-    (0xB01, 'V'),
-    (0xB04, 'X'),
-    (0xB05, 'V'),
-    (0xB0D, 'X'),
-    (0xB0F, 'V'),
-    (0xB11, 'X'),
-    (0xB13, 'V'),
-    (0xB29, 'X'),
-    (0xB2A, 'V'),
-    (0xB31, 'X'),
-    (0xB32, 'V'),
-    (0xB34, 'X'),
-    (0xB35, 'V'),
-    (0xB3A, 'X'),
-    (0xB3C, 'V'),
-    (0xB45, 'X'),
-    (0xB47, 'V'),
-    (0xB49, 'X'),
-    (0xB4B, 'V'),
-    (0xB4E, 'X'),
-    (0xB55, 'V'),
-    (0xB58, 'X'),
-    (0xB5C, 'M', 'ଡ଼'),
-    (0xB5D, 'M', 'ଢ଼'),
-    (0xB5E, 'X'),
-    (0xB5F, 'V'),
-    (0xB64, 'X'),
-    (0xB66, 'V'),
-    (0xB78, 'X'),
-    (0xB82, 'V'),
-    (0xB84, 'X'),
-    (0xB85, 'V'),
-    (0xB8B, 'X'),
-    (0xB8E, 'V'),
-    (0xB91, 'X'),
-    (0xB92, 'V'),
-    (0xB96, 'X'),
-    (0xB99, 'V'),
-    (0xB9B, 'X'),
-    (0xB9C, 'V'),
-    (0xB9D, 'X'),
-    (0xB9E, 'V'),
-    (0xBA0, 'X'),
-    (0xBA3, 'V'),
-    (0xBA5, 'X'),
-    (0xBA8, 'V'),
-    (0xBAB, 'X'),
-    (0xBAE, 'V'),
-    (0xBBA, 'X'),
-    (0xBBE, 'V'),
-    (0xBC3, 'X'),
-    (0xBC6, 'V'),
-    (0xBC9, 'X'),
-    (0xBCA, 'V'),
-    (0xBCE, 'X'),
-    (0xBD0, 'V'),
-    (0xBD1, 'X'),
-    (0xBD7, 'V'),
-    (0xBD8, 'X'),
-    (0xBE6, 'V'),
-    (0xBFB, 'X'),
-    (0xC00, 'V'),
-    (0xC0D, 'X'),
-    (0xC0E, 'V'),
-    (0xC11, 'X'),
-    (0xC12, 'V'),
-    (0xC29, 'X'),
-    (0xC2A, 'V'),
+        (0xA5E, "M", "ਫ਼"),
+        (0xA5F, "X"),
+        (0xA66, "V"),
+        (0xA77, "X"),
+        (0xA81, "V"),
+        (0xA84, "X"),
+        (0xA85, "V"),
+        (0xA8E, "X"),
+        (0xA8F, "V"),
+        (0xA92, "X"),
+        (0xA93, "V"),
+        (0xAA9, "X"),
+        (0xAAA, "V"),
+        (0xAB1, "X"),
+        (0xAB2, "V"),
+        (0xAB4, "X"),
+        (0xAB5, "V"),
+        (0xABA, "X"),
+        (0xABC, "V"),
+        (0xAC6, "X"),
+        (0xAC7, "V"),
+        (0xACA, "X"),
+        (0xACB, "V"),
+        (0xACE, "X"),
+        (0xAD0, "V"),
+        (0xAD1, "X"),
+        (0xAE0, "V"),
+        (0xAE4, "X"),
+        (0xAE6, "V"),
+        (0xAF2, "X"),
+        (0xAF9, "V"),
+        (0xB00, "X"),
+        (0xB01, "V"),
+        (0xB04, "X"),
+        (0xB05, "V"),
+        (0xB0D, "X"),
+        (0xB0F, "V"),
+        (0xB11, "X"),
+        (0xB13, "V"),
+        (0xB29, "X"),
+        (0xB2A, "V"),
+        (0xB31, "X"),
+        (0xB32, "V"),
+        (0xB34, "X"),
+        (0xB35, "V"),
+        (0xB3A, "X"),
+        (0xB3C, "V"),
+        (0xB45, "X"),
+        (0xB47, "V"),
+        (0xB49, "X"),
+        (0xB4B, "V"),
+        (0xB4E, "X"),
+        (0xB55, "V"),
+        (0xB58, "X"),
+        (0xB5C, "M", "ଡ଼"),
+        (0xB5D, "M", "ଢ଼"),
+        (0xB5E, "X"),
+        (0xB5F, "V"),
+        (0xB64, "X"),
+        (0xB66, "V"),
+        (0xB78, "X"),
+        (0xB82, "V"),
+        (0xB84, "X"),
+        (0xB85, "V"),
+        (0xB8B, "X"),
+        (0xB8E, "V"),
+        (0xB91, "X"),
+        (0xB92, "V"),
+        (0xB96, "X"),
+        (0xB99, "V"),
+        (0xB9B, "X"),
+        (0xB9C, "V"),
+        (0xB9D, "X"),
+        (0xB9E, "V"),
+        (0xBA0, "X"),
+        (0xBA3, "V"),
+        (0xBA5, "X"),
+        (0xBA8, "V"),
+        (0xBAB, "X"),
+        (0xBAE, "V"),
+        (0xBBA, "X"),
+        (0xBBE, "V"),
+        (0xBC3, "X"),
+        (0xBC6, "V"),
+        (0xBC9, "X"),
+        (0xBCA, "V"),
+        (0xBCE, "X"),
+        (0xBD0, "V"),
+        (0xBD1, "X"),
+        (0xBD7, "V"),
+        (0xBD8, "X"),
+        (0xBE6, "V"),
+        (0xBFB, "X"),
+        (0xC00, "V"),
+        (0xC0D, "X"),
+        (0xC0E, "V"),
+        (0xC11, "X"),
+        (0xC12, "V"),
+        (0xC29, "X"),
+        (0xC2A, "V"),
     ]
 
+
 def _seg_12() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xC3A, 'X'),
-    (0xC3C, 'V'),
-    (0xC45, 'X'),
-    (0xC46, 'V'),
-    (0xC49, 'X'),
-    (0xC4A, 'V'),
-    (0xC4E, 'X'),
-    (0xC55, 'V'),
-    (0xC57, 'X'),
-    (0xC58, 'V'),
-    (0xC5B, 'X'),
-    (0xC5D, 'V'),
-    (0xC5E, 'X'),
-    (0xC60, 'V'),
-    (0xC64, 'X'),
-    (0xC66, 'V'),
-    (0xC70, 'X'),
-    (0xC77, 'V'),
-    (0xC8D, 'X'),
-    (0xC8E, 'V'),
-    (0xC91, 'X'),
-    (0xC92, 'V'),
-    (0xCA9, 'X'),
-    (0xCAA, 'V'),
-    (0xCB4, 'X'),
-    (0xCB5, 'V'),
-    (0xCBA, 'X'),
-    (0xCBC, 'V'),
-    (0xCC5, 'X'),
-    (0xCC6, 'V'),
-    (0xCC9, 'X'),
-    (0xCCA, 'V'),
-    (0xCCE, 'X'),
-    (0xCD5, 'V'),
-    (0xCD7, 'X'),
-    (0xCDD, 'V'),
-    (0xCDF, 'X'),
-    (0xCE0, 'V'),
-    (0xCE4, 'X'),
-    (0xCE6, 'V'),
-    (0xCF0, 'X'),
-    (0xCF1, 'V'),
-    (0xCF4, 'X'),
-    (0xD00, 'V'),
-    (0xD0D, 'X'),
-    (0xD0E, 'V'),
-    (0xD11, 'X'),
-    (0xD12, 'V'),
-    (0xD45, 'X'),
-    (0xD46, 'V'),
-    (0xD49, 'X'),
-    (0xD4A, 'V'),
-    (0xD50, 'X'),
-    (0xD54, 'V'),
-    (0xD64, 'X'),
-    (0xD66, 'V'),
-    (0xD80, 'X'),
-    (0xD81, 'V'),
-    (0xD84, 'X'),
-    (0xD85, 'V'),
-    (0xD97, 'X'),
-    (0xD9A, 'V'),
-    (0xDB2, 'X'),
-    (0xDB3, 'V'),
-    (0xDBC, 'X'),
-    (0xDBD, 'V'),
-    (0xDBE, 'X'),
-    (0xDC0, 'V'),
-    (0xDC7, 'X'),
-    (0xDCA, 'V'),
-    (0xDCB, 'X'),
-    (0xDCF, 'V'),
-    (0xDD5, 'X'),
-    (0xDD6, 'V'),
-    (0xDD7, 'X'),
-    (0xDD8, 'V'),
-    (0xDE0, 'X'),
-    (0xDE6, 'V'),
-    (0xDF0, 'X'),
-    (0xDF2, 'V'),
-    (0xDF5, 'X'),
-    (0xE01, 'V'),
-    (0xE33, 'M', 'ํา'),
-    (0xE34, 'V'),
-    (0xE3B, 'X'),
-    (0xE3F, 'V'),
-    (0xE5C, 'X'),
-    (0xE81, 'V'),
-    (0xE83, 'X'),
-    (0xE84, 'V'),
-    (0xE85, 'X'),
-    (0xE86, 'V'),
-    (0xE8B, 'X'),
-    (0xE8C, 'V'),
-    (0xEA4, 'X'),
-    (0xEA5, 'V'),
-    (0xEA6, 'X'),
-    (0xEA7, 'V'),
-    (0xEB3, 'M', 'ໍາ'),
-    (0xEB4, 'V'),
+        (0xC3A, "X"),
+        (0xC3C, "V"),
+        (0xC45, "X"),
+        (0xC46, "V"),
+        (0xC49, "X"),
+        (0xC4A, "V"),
+        (0xC4E, "X"),
+        (0xC55, "V"),
+        (0xC57, "X"),
+        (0xC58, "V"),
+        (0xC5B, "X"),
+        (0xC5D, "V"),
+        (0xC5E, "X"),
+        (0xC60, "V"),
+        (0xC64, "X"),
+        (0xC66, "V"),
+        (0xC70, "X"),
+        (0xC77, "V"),
+        (0xC8D, "X"),
+        (0xC8E, "V"),
+        (0xC91, "X"),
+        (0xC92, "V"),
+        (0xCA9, "X"),
+        (0xCAA, "V"),
+        (0xCB4, "X"),
+        (0xCB5, "V"),
+        (0xCBA, "X"),
+        (0xCBC, "V"),
+        (0xCC5, "X"),
+        (0xCC6, "V"),
+        (0xCC9, "X"),
+        (0xCCA, "V"),
+        (0xCCE, "X"),
+        (0xCD5, "V"),
+        (0xCD7, "X"),
+        (0xCDD, "V"),
+        (0xCDF, "X"),
+        (0xCE0, "V"),
+        (0xCE4, "X"),
+        (0xCE6, "V"),
+        (0xCF0, "X"),
+        (0xCF1, "V"),
+        (0xCF4, "X"),
+        (0xD00, "V"),
+        (0xD0D, "X"),
+        (0xD0E, "V"),
+        (0xD11, "X"),
+        (0xD12, "V"),
+        (0xD45, "X"),
+        (0xD46, "V"),
+        (0xD49, "X"),
+        (0xD4A, "V"),
+        (0xD50, "X"),
+        (0xD54, "V"),
+        (0xD64, "X"),
+        (0xD66, "V"),
+        (0xD80, "X"),
+        (0xD81, "V"),
+        (0xD84, "X"),
+        (0xD85, "V"),
+        (0xD97, "X"),
+        (0xD9A, "V"),
+        (0xDB2, "X"),
+        (0xDB3, "V"),
+        (0xDBC, "X"),
+        (0xDBD, "V"),
+        (0xDBE, "X"),
+        (0xDC0, "V"),
+        (0xDC7, "X"),
+        (0xDCA, "V"),
+        (0xDCB, "X"),
+        (0xDCF, "V"),
+        (0xDD5, "X"),
+        (0xDD6, "V"),
+        (0xDD7, "X"),
+        (0xDD8, "V"),
+        (0xDE0, "X"),
+        (0xDE6, "V"),
+        (0xDF0, "X"),
+        (0xDF2, "V"),
+        (0xDF5, "X"),
+        (0xE01, "V"),
+        (0xE33, "M", "ํา"),
+        (0xE34, "V"),
+        (0xE3B, "X"),
+        (0xE3F, "V"),
+        (0xE5C, "X"),
+        (0xE81, "V"),
+        (0xE83, "X"),
+        (0xE84, "V"),
+        (0xE85, "X"),
+        (0xE86, "V"),
+        (0xE8B, "X"),
+        (0xE8C, "V"),
+        (0xEA4, "X"),
+        (0xEA5, "V"),
+        (0xEA6, "X"),
+        (0xEA7, "V"),
+        (0xEB3, "M", "ໍາ"),
+        (0xEB4, "V"),
     ]
 
+
 def _seg_13() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xEBE, 'X'),
-    (0xEC0, 'V'),
-    (0xEC5, 'X'),
-    (0xEC6, 'V'),
-    (0xEC7, 'X'),
-    (0xEC8, 'V'),
-    (0xECF, 'X'),
-    (0xED0, 'V'),
-    (0xEDA, 'X'),
-    (0xEDC, 'M', 'ຫນ'),
-    (0xEDD, 'M', 'ຫມ'),
-    (0xEDE, 'V'),
-    (0xEE0, 'X'),
-    (0xF00, 'V'),
-    (0xF0C, 'M', '་'),
-    (0xF0D, 'V'),
-    (0xF43, 'M', 'གྷ'),
-    (0xF44, 'V'),
-    (0xF48, 'X'),
-    (0xF49, 'V'),
-    (0xF4D, 'M', 'ཌྷ'),
-    (0xF4E, 'V'),
-    (0xF52, 'M', 'དྷ'),
-    (0xF53, 'V'),
-    (0xF57, 'M', 'བྷ'),
-    (0xF58, 'V'),
-    (0xF5C, 'M', 'ཛྷ'),
-    (0xF5D, 'V'),
-    (0xF69, 'M', 'ཀྵ'),
-    (0xF6A, 'V'),
-    (0xF6D, 'X'),
-    (0xF71, 'V'),
-    (0xF73, 'M', 'ཱི'),
-    (0xF74, 'V'),
-    (0xF75, 'M', 'ཱུ'),
-    (0xF76, 'M', 'ྲྀ'),
-    (0xF77, 'M', 'ྲཱྀ'),
-    (0xF78, 'M', 'ླྀ'),
-    (0xF79, 'M', 'ླཱྀ'),
-    (0xF7A, 'V'),
-    (0xF81, 'M', 'ཱྀ'),
-    (0xF82, 'V'),
-    (0xF93, 'M', 'ྒྷ'),
-    (0xF94, 'V'),
-    (0xF98, 'X'),
-    (0xF99, 'V'),
-    (0xF9D, 'M', 'ྜྷ'),
-    (0xF9E, 'V'),
-    (0xFA2, 'M', 'ྡྷ'),
-    (0xFA3, 'V'),
-    (0xFA7, 'M', 'ྦྷ'),
-    (0xFA8, 'V'),
-    (0xFAC, 'M', 'ྫྷ'),
-    (0xFAD, 'V'),
-    (0xFB9, 'M', 'ྐྵ'),
-    (0xFBA, 'V'),
-    (0xFBD, 'X'),
-    (0xFBE, 'V'),
-    (0xFCD, 'X'),
-    (0xFCE, 'V'),
-    (0xFDB, 'X'),
-    (0x1000, 'V'),
-    (0x10A0, 'X'),
-    (0x10C7, 'M', 'ⴧ'),
-    (0x10C8, 'X'),
-    (0x10CD, 'M', 'ⴭ'),
-    (0x10CE, 'X'),
-    (0x10D0, 'V'),
-    (0x10FC, 'M', 'ნ'),
-    (0x10FD, 'V'),
-    (0x115F, 'X'),
-    (0x1161, 'V'),
-    (0x1249, 'X'),
-    (0x124A, 'V'),
-    (0x124E, 'X'),
-    (0x1250, 'V'),
-    (0x1257, 'X'),
-    (0x1258, 'V'),
-    (0x1259, 'X'),
-    (0x125A, 'V'),
-    (0x125E, 'X'),
-    (0x1260, 'V'),
-    (0x1289, 'X'),
-    (0x128A, 'V'),
-    (0x128E, 'X'),
-    (0x1290, 'V'),
-    (0x12B1, 'X'),
-    (0x12B2, 'V'),
-    (0x12B6, 'X'),
-    (0x12B8, 'V'),
-    (0x12BF, 'X'),
-    (0x12C0, 'V'),
-    (0x12C1, 'X'),
-    (0x12C2, 'V'),
-    (0x12C6, 'X'),
-    (0x12C8, 'V'),
-    (0x12D7, 'X'),
-    (0x12D8, 'V'),
-    (0x1311, 'X'),
-    (0x1312, 'V'),
+        (0xEBE, "X"),
+        (0xEC0, "V"),
+        (0xEC5, "X"),
+        (0xEC6, "V"),
+        (0xEC7, "X"),
+        (0xEC8, "V"),
+        (0xECF, "X"),
+        (0xED0, "V"),
+        (0xEDA, "X"),
+        (0xEDC, "M", "ຫນ"),
+        (0xEDD, "M", "ຫມ"),
+        (0xEDE, "V"),
+        (0xEE0, "X"),
+        (0xF00, "V"),
+        (0xF0C, "M", "་"),
+        (0xF0D, "V"),
+        (0xF43, "M", "གྷ"),
+        (0xF44, "V"),
+        (0xF48, "X"),
+        (0xF49, "V"),
+        (0xF4D, "M", "ཌྷ"),
+        (0xF4E, "V"),
+        (0xF52, "M", "དྷ"),
+        (0xF53, "V"),
+        (0xF57, "M", "བྷ"),
+        (0xF58, "V"),
+        (0xF5C, "M", "ཛྷ"),
+        (0xF5D, "V"),
+        (0xF69, "M", "ཀྵ"),
+        (0xF6A, "V"),
+        (0xF6D, "X"),
+        (0xF71, "V"),
+        (0xF73, "M", "ཱི"),
+        (0xF74, "V"),
+        (0xF75, "M", "ཱུ"),
+        (0xF76, "M", "ྲྀ"),
+        (0xF77, "M", "ྲཱྀ"),
+        (0xF78, "M", "ླྀ"),
+        (0xF79, "M", "ླཱྀ"),
+        (0xF7A, "V"),
+        (0xF81, "M", "ཱྀ"),
+        (0xF82, "V"),
+        (0xF93, "M", "ྒྷ"),
+        (0xF94, "V"),
+        (0xF98, "X"),
+        (0xF99, "V"),
+        (0xF9D, "M", "ྜྷ"),
+        (0xF9E, "V"),
+        (0xFA2, "M", "ྡྷ"),
+        (0xFA3, "V"),
+        (0xFA7, "M", "ྦྷ"),
+        (0xFA8, "V"),
+        (0xFAC, "M", "ྫྷ"),
+        (0xFAD, "V"),
+        (0xFB9, "M", "ྐྵ"),
+        (0xFBA, "V"),
+        (0xFBD, "X"),
+        (0xFBE, "V"),
+        (0xFCD, "X"),
+        (0xFCE, "V"),
+        (0xFDB, "X"),
+        (0x1000, "V"),
+        (0x10A0, "X"),
+        (0x10C7, "M", "ⴧ"),
+        (0x10C8, "X"),
+        (0x10CD, "M", "ⴭ"),
+        (0x10CE, "X"),
+        (0x10D0, "V"),
+        (0x10FC, "M", "ნ"),
+        (0x10FD, "V"),
+        (0x115F, "X"),
+        (0x1161, "V"),
+        (0x1249, "X"),
+        (0x124A, "V"),
+        (0x124E, "X"),
+        (0x1250, "V"),
+        (0x1257, "X"),
+        (0x1258, "V"),
+        (0x1259, "X"),
+        (0x125A, "V"),
+        (0x125E, "X"),
+        (0x1260, "V"),
+        (0x1289, "X"),
+        (0x128A, "V"),
+        (0x128E, "X"),
+        (0x1290, "V"),
+        (0x12B1, "X"),
+        (0x12B2, "V"),
+        (0x12B6, "X"),
+        (0x12B8, "V"),
+        (0x12BF, "X"),
+        (0x12C0, "V"),
+        (0x12C1, "X"),
+        (0x12C2, "V"),
+        (0x12C6, "X"),
+        (0x12C8, "V"),
+        (0x12D7, "X"),
+        (0x12D8, "V"),
+        (0x1311, "X"),
+        (0x1312, "V"),
     ]
 
+
 def _seg_14() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1316, 'X'),
-    (0x1318, 'V'),
-    (0x135B, 'X'),
-    (0x135D, 'V'),
-    (0x137D, 'X'),
-    (0x1380, 'V'),
-    (0x139A, 'X'),
-    (0x13A0, 'V'),
-    (0x13F6, 'X'),
-    (0x13F8, 'M', 'Ᏸ'),
-    (0x13F9, 'M', 'Ᏹ'),
-    (0x13FA, 'M', 'Ᏺ'),
-    (0x13FB, 'M', 'Ᏻ'),
-    (0x13FC, 'M', 'Ᏼ'),
-    (0x13FD, 'M', 'Ᏽ'),
-    (0x13FE, 'X'),
-    (0x1400, 'V'),
-    (0x1680, 'X'),
-    (0x1681, 'V'),
-    (0x169D, 'X'),
-    (0x16A0, 'V'),
-    (0x16F9, 'X'),
-    (0x1700, 'V'),
-    (0x1716, 'X'),
-    (0x171F, 'V'),
-    (0x1737, 'X'),
-    (0x1740, 'V'),
-    (0x1754, 'X'),
-    (0x1760, 'V'),
-    (0x176D, 'X'),
-    (0x176E, 'V'),
-    (0x1771, 'X'),
-    (0x1772, 'V'),
-    (0x1774, 'X'),
-    (0x1780, 'V'),
-    (0x17B4, 'X'),
-    (0x17B6, 'V'),
-    (0x17DE, 'X'),
-    (0x17E0, 'V'),
-    (0x17EA, 'X'),
-    (0x17F0, 'V'),
-    (0x17FA, 'X'),
-    (0x1800, 'V'),
-    (0x1806, 'X'),
-    (0x1807, 'V'),
-    (0x180B, 'I'),
-    (0x180E, 'X'),
-    (0x180F, 'I'),
-    (0x1810, 'V'),
-    (0x181A, 'X'),
-    (0x1820, 'V'),
-    (0x1879, 'X'),
-    (0x1880, 'V'),
-    (0x18AB, 'X'),
-    (0x18B0, 'V'),
-    (0x18F6, 'X'),
-    (0x1900, 'V'),
-    (0x191F, 'X'),
-    (0x1920, 'V'),
-    (0x192C, 'X'),
-    (0x1930, 'V'),
-    (0x193C, 'X'),
-    (0x1940, 'V'),
-    (0x1941, 'X'),
-    (0x1944, 'V'),
-    (0x196E, 'X'),
-    (0x1970, 'V'),
-    (0x1975, 'X'),
-    (0x1980, 'V'),
-    (0x19AC, 'X'),
-    (0x19B0, 'V'),
-    (0x19CA, 'X'),
-    (0x19D0, 'V'),
-    (0x19DB, 'X'),
-    (0x19DE, 'V'),
-    (0x1A1C, 'X'),
-    (0x1A1E, 'V'),
-    (0x1A5F, 'X'),
-    (0x1A60, 'V'),
-    (0x1A7D, 'X'),
-    (0x1A7F, 'V'),
-    (0x1A8A, 'X'),
-    (0x1A90, 'V'),
-    (0x1A9A, 'X'),
-    (0x1AA0, 'V'),
-    (0x1AAE, 'X'),
-    (0x1AB0, 'V'),
-    (0x1ACF, 'X'),
-    (0x1B00, 'V'),
-    (0x1B4D, 'X'),
-    (0x1B50, 'V'),
-    (0x1B7F, 'X'),
-    (0x1B80, 'V'),
-    (0x1BF4, 'X'),
-    (0x1BFC, 'V'),
-    (0x1C38, 'X'),
-    (0x1C3B, 'V'),
-    (0x1C4A, 'X'),
-    (0x1C4D, 'V'),
-    (0x1C80, 'M', 'в'),
+        (0x1316, "X"),
+        (0x1318, "V"),
+        (0x135B, "X"),
+        (0x135D, "V"),
+        (0x137D, "X"),
+        (0x1380, "V"),
+        (0x139A, "X"),
+        (0x13A0, "V"),
+        (0x13F6, "X"),
+        (0x13F8, "M", "Ᏸ"),
+        (0x13F9, "M", "Ᏹ"),
+        (0x13FA, "M", "Ᏺ"),
+        (0x13FB, "M", "Ᏻ"),
+        (0x13FC, "M", "Ᏼ"),
+        (0x13FD, "M", "Ᏽ"),
+        (0x13FE, "X"),
+        (0x1400, "V"),
+        (0x1680, "X"),
+        (0x1681, "V"),
+        (0x169D, "X"),
+        (0x16A0, "V"),
+        (0x16F9, "X"),
+        (0x1700, "V"),
+        (0x1716, "X"),
+        (0x171F, "V"),
+        (0x1737, "X"),
+        (0x1740, "V"),
+        (0x1754, "X"),
+        (0x1760, "V"),
+        (0x176D, "X"),
+        (0x176E, "V"),
+        (0x1771, "X"),
+        (0x1772, "V"),
+        (0x1774, "X"),
+        (0x1780, "V"),
+        (0x17B4, "X"),
+        (0x17B6, "V"),
+        (0x17DE, "X"),
+        (0x17E0, "V"),
+        (0x17EA, "X"),
+        (0x17F0, "V"),
+        (0x17FA, "X"),
+        (0x1800, "V"),
+        (0x1806, "X"),
+        (0x1807, "V"),
+        (0x180B, "I"),
+        (0x180E, "X"),
+        (0x180F, "I"),
+        (0x1810, "V"),
+        (0x181A, "X"),
+        (0x1820, "V"),
+        (0x1879, "X"),
+        (0x1880, "V"),
+        (0x18AB, "X"),
+        (0x18B0, "V"),
+        (0x18F6, "X"),
+        (0x1900, "V"),
+        (0x191F, "X"),
+        (0x1920, "V"),
+        (0x192C, "X"),
+        (0x1930, "V"),
+        (0x193C, "X"),
+        (0x1940, "V"),
+        (0x1941, "X"),
+        (0x1944, "V"),
+        (0x196E, "X"),
+        (0x1970, "V"),
+        (0x1975, "X"),
+        (0x1980, "V"),
+        (0x19AC, "X"),
+        (0x19B0, "V"),
+        (0x19CA, "X"),
+        (0x19D0, "V"),
+        (0x19DB, "X"),
+        (0x19DE, "V"),
+        (0x1A1C, "X"),
+        (0x1A1E, "V"),
+        (0x1A5F, "X"),
+        (0x1A60, "V"),
+        (0x1A7D, "X"),
+        (0x1A7F, "V"),
+        (0x1A8A, "X"),
+        (0x1A90, "V"),
+        (0x1A9A, "X"),
+        (0x1AA0, "V"),
+        (0x1AAE, "X"),
+        (0x1AB0, "V"),
+        (0x1ACF, "X"),
+        (0x1B00, "V"),
+        (0x1B4D, "X"),
+        (0x1B50, "V"),
+        (0x1B7F, "X"),
+        (0x1B80, "V"),
+        (0x1BF4, "X"),
+        (0x1BFC, "V"),
+        (0x1C38, "X"),
+        (0x1C3B, "V"),
+        (0x1C4A, "X"),
+        (0x1C4D, "V"),
+        (0x1C80, "M", "в"),
     ]
 
+
 def _seg_15() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1C81, 'M', 'д'),
-    (0x1C82, 'M', 'о'),
-    (0x1C83, 'M', 'с'),
-    (0x1C84, 'M', 'т'),
-    (0x1C86, 'M', 'ъ'),
-    (0x1C87, 'M', 'ѣ'),
-    (0x1C88, 'M', 'ꙋ'),
-    (0x1C89, 'X'),
-    (0x1C90, 'M', 'ა'),
-    (0x1C91, 'M', 'ბ'),
-    (0x1C92, 'M', 'გ'),
-    (0x1C93, 'M', 'დ'),
-    (0x1C94, 'M', 'ე'),
-    (0x1C95, 'M', 'ვ'),
-    (0x1C96, 'M', 'ზ'),
-    (0x1C97, 'M', 'თ'),
-    (0x1C98, 'M', 'ი'),
-    (0x1C99, 'M', 'კ'),
-    (0x1C9A, 'M', 'ლ'),
-    (0x1C9B, 'M', 'მ'),
-    (0x1C9C, 'M', 'ნ'),
-    (0x1C9D, 'M', 'ო'),
-    (0x1C9E, 'M', 'პ'),
-    (0x1C9F, 'M', 'ჟ'),
-    (0x1CA0, 'M', 'რ'),
-    (0x1CA1, 'M', 'ს'),
-    (0x1CA2, 'M', 'ტ'),
-    (0x1CA3, 'M', 'უ'),
-    (0x1CA4, 'M', 'ფ'),
-    (0x1CA5, 'M', 'ქ'),
-    (0x1CA6, 'M', 'ღ'),
-    (0x1CA7, 'M', 'ყ'),
-    (0x1CA8, 'M', 'შ'),
-    (0x1CA9, 'M', 'ჩ'),
-    (0x1CAA, 'M', 'ც'),
-    (0x1CAB, 'M', 'ძ'),
-    (0x1CAC, 'M', 'წ'),
-    (0x1CAD, 'M', 'ჭ'),
-    (0x1CAE, 'M', 'ხ'),
-    (0x1CAF, 'M', 'ჯ'),
-    (0x1CB0, 'M', 'ჰ'),
-    (0x1CB1, 'M', 'ჱ'),
-    (0x1CB2, 'M', 'ჲ'),
-    (0x1CB3, 'M', 'ჳ'),
-    (0x1CB4, 'M', 'ჴ'),
-    (0x1CB5, 'M', 'ჵ'),
-    (0x1CB6, 'M', 'ჶ'),
-    (0x1CB7, 'M', 'ჷ'),
-    (0x1CB8, 'M', 'ჸ'),
-    (0x1CB9, 'M', 'ჹ'),
-    (0x1CBA, 'M', 'ჺ'),
-    (0x1CBB, 'X'),
-    (0x1CBD, 'M', 'ჽ'),
-    (0x1CBE, 'M', 'ჾ'),
-    (0x1CBF, 'M', 'ჿ'),
-    (0x1CC0, 'V'),
-    (0x1CC8, 'X'),
-    (0x1CD0, 'V'),
-    (0x1CFB, 'X'),
-    (0x1D00, 'V'),
-    (0x1D2C, 'M', 'a'),
-    (0x1D2D, 'M', 'æ'),
-    (0x1D2E, 'M', 'b'),
-    (0x1D2F, 'V'),
-    (0x1D30, 'M', 'd'),
-    (0x1D31, 'M', 'e'),
-    (0x1D32, 'M', 'ǝ'),
-    (0x1D33, 'M', 'g'),
-    (0x1D34, 'M', 'h'),
-    (0x1D35, 'M', 'i'),
-    (0x1D36, 'M', 'j'),
-    (0x1D37, 'M', 'k'),
-    (0x1D38, 'M', 'l'),
-    (0x1D39, 'M', 'm'),
-    (0x1D3A, 'M', 'n'),
-    (0x1D3B, 'V'),
-    (0x1D3C, 'M', 'o'),
-    (0x1D3D, 'M', 'ȣ'),
-    (0x1D3E, 'M', 'p'),
-    (0x1D3F, 'M', 'r'),
-    (0x1D40, 'M', 't'),
-    (0x1D41, 'M', 'u'),
-    (0x1D42, 'M', 'w'),
-    (0x1D43, 'M', 'a'),
-    (0x1D44, 'M', 'ɐ'),
-    (0x1D45, 'M', 'ɑ'),
-    (0x1D46, 'M', 'ᴂ'),
-    (0x1D47, 'M', 'b'),
-    (0x1D48, 'M', 'd'),
-    (0x1D49, 'M', 'e'),
-    (0x1D4A, 'M', 'ə'),
-    (0x1D4B, 'M', 'ɛ'),
-    (0x1D4C, 'M', 'ɜ'),
-    (0x1D4D, 'M', 'g'),
-    (0x1D4E, 'V'),
-    (0x1D4F, 'M', 'k'),
-    (0x1D50, 'M', 'm'),
-    (0x1D51, 'M', 'ŋ'),
-    (0x1D52, 'M', 'o'),
-    (0x1D53, 'M', 'ɔ'),
+        (0x1C81, "M", "д"),
+        (0x1C82, "M", "о"),
+        (0x1C83, "M", "с"),
+        (0x1C84, "M", "т"),
+        (0x1C86, "M", "ъ"),
+        (0x1C87, "M", "ѣ"),
+        (0x1C88, "M", "ꙋ"),
+        (0x1C89, "X"),
+        (0x1C90, "M", "ა"),
+        (0x1C91, "M", "ბ"),
+        (0x1C92, "M", "გ"),
+        (0x1C93, "M", "დ"),
+        (0x1C94, "M", "ე"),
+        (0x1C95, "M", "ვ"),
+        (0x1C96, "M", "ზ"),
+        (0x1C97, "M", "თ"),
+        (0x1C98, "M", "ი"),
+        (0x1C99, "M", "კ"),
+        (0x1C9A, "M", "ლ"),
+        (0x1C9B, "M", "მ"),
+        (0x1C9C, "M", "ნ"),
+        (0x1C9D, "M", "ო"),
+        (0x1C9E, "M", "პ"),
+        (0x1C9F, "M", "ჟ"),
+        (0x1CA0, "M", "რ"),
+        (0x1CA1, "M", "ს"),
+        (0x1CA2, "M", "ტ"),
+        (0x1CA3, "M", "უ"),
+        (0x1CA4, "M", "ფ"),
+        (0x1CA5, "M", "ქ"),
+        (0x1CA6, "M", "ღ"),
+        (0x1CA7, "M", "ყ"),
+        (0x1CA8, "M", "შ"),
+        (0x1CA9, "M", "ჩ"),
+        (0x1CAA, "M", "ც"),
+        (0x1CAB, "M", "ძ"),
+        (0x1CAC, "M", "წ"),
+        (0x1CAD, "M", "ჭ"),
+        (0x1CAE, "M", "ხ"),
+        (0x1CAF, "M", "ჯ"),
+        (0x1CB0, "M", "ჰ"),
+        (0x1CB1, "M", "ჱ"),
+        (0x1CB2, "M", "ჲ"),
+        (0x1CB3, "M", "ჳ"),
+        (0x1CB4, "M", "ჴ"),
+        (0x1CB5, "M", "ჵ"),
+        (0x1CB6, "M", "ჶ"),
+        (0x1CB7, "M", "ჷ"),
+        (0x1CB8, "M", "ჸ"),
+        (0x1CB9, "M", "ჹ"),
+        (0x1CBA, "M", "ჺ"),
+        (0x1CBB, "X"),
+        (0x1CBD, "M", "ჽ"),
+        (0x1CBE, "M", "ჾ"),
+        (0x1CBF, "M", "ჿ"),
+        (0x1CC0, "V"),
+        (0x1CC8, "X"),
+        (0x1CD0, "V"),
+        (0x1CFB, "X"),
+        (0x1D00, "V"),
+        (0x1D2C, "M", "a"),
+        (0x1D2D, "M", "æ"),
+        (0x1D2E, "M", "b"),
+        (0x1D2F, "V"),
+        (0x1D30, "M", "d"),
+        (0x1D31, "M", "e"),
+        (0x1D32, "M", "ǝ"),
+        (0x1D33, "M", "g"),
+        (0x1D34, "M", "h"),
+        (0x1D35, "M", "i"),
+        (0x1D36, "M", "j"),
+        (0x1D37, "M", "k"),
+        (0x1D38, "M", "l"),
+        (0x1D39, "M", "m"),
+        (0x1D3A, "M", "n"),
+        (0x1D3B, "V"),
+        (0x1D3C, "M", "o"),
+        (0x1D3D, "M", "ȣ"),
+        (0x1D3E, "M", "p"),
+        (0x1D3F, "M", "r"),
+        (0x1D40, "M", "t"),
+        (0x1D41, "M", "u"),
+        (0x1D42, "M", "w"),
+        (0x1D43, "M", "a"),
+        (0x1D44, "M", "ɐ"),
+        (0x1D45, "M", "ɑ"),
+        (0x1D46, "M", "ᴂ"),
+        (0x1D47, "M", "b"),
+        (0x1D48, "M", "d"),
+        (0x1D49, "M", "e"),
+        (0x1D4A, "M", "ə"),
+        (0x1D4B, "M", "ɛ"),
+        (0x1D4C, "M", "ɜ"),
+        (0x1D4D, "M", "g"),
+        (0x1D4E, "V"),
+        (0x1D4F, "M", "k"),
+        (0x1D50, "M", "m"),
+        (0x1D51, "M", "ŋ"),
+        (0x1D52, "M", "o"),
+        (0x1D53, "M", "ɔ"),
     ]
 
+
 def _seg_16() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1D54, 'M', 'ᴖ'),
-    (0x1D55, 'M', 'ᴗ'),
-    (0x1D56, 'M', 'p'),
-    (0x1D57, 'M', 't'),
-    (0x1D58, 'M', 'u'),
-    (0x1D59, 'M', 'ᴝ'),
-    (0x1D5A, 'M', 'ɯ'),
-    (0x1D5B, 'M', 'v'),
-    (0x1D5C, 'M', 'ᴥ'),
-    (0x1D5D, 'M', 'β'),
-    (0x1D5E, 'M', 'γ'),
-    (0x1D5F, 'M', 'δ'),
-    (0x1D60, 'M', 'φ'),
-    (0x1D61, 'M', 'χ'),
-    (0x1D62, 'M', 'i'),
-    (0x1D63, 'M', 'r'),
-    (0x1D64, 'M', 'u'),
-    (0x1D65, 'M', 'v'),
-    (0x1D66, 'M', 'β'),
-    (0x1D67, 'M', 'γ'),
-    (0x1D68, 'M', 'ρ'),
-    (0x1D69, 'M', 'φ'),
-    (0x1D6A, 'M', 'χ'),
-    (0x1D6B, 'V'),
-    (0x1D78, 'M', 'н'),
-    (0x1D79, 'V'),
-    (0x1D9B, 'M', 'ɒ'),
-    (0x1D9C, 'M', 'c'),
-    (0x1D9D, 'M', 'ɕ'),
-    (0x1D9E, 'M', 'ð'),
-    (0x1D9F, 'M', 'ɜ'),
-    (0x1DA0, 'M', 'f'),
-    (0x1DA1, 'M', 'ɟ'),
-    (0x1DA2, 'M', 'ɡ'),
-    (0x1DA3, 'M', 'ɥ'),
-    (0x1DA4, 'M', 'ɨ'),
-    (0x1DA5, 'M', 'ɩ'),
-    (0x1DA6, 'M', 'ɪ'),
-    (0x1DA7, 'M', 'ᵻ'),
-    (0x1DA8, 'M', 'ʝ'),
-    (0x1DA9, 'M', 'ɭ'),
-    (0x1DAA, 'M', 'ᶅ'),
-    (0x1DAB, 'M', 'ʟ'),
-    (0x1DAC, 'M', 'ɱ'),
-    (0x1DAD, 'M', 'ɰ'),
-    (0x1DAE, 'M', 'ɲ'),
-    (0x1DAF, 'M', 'ɳ'),
-    (0x1DB0, 'M', 'ɴ'),
-    (0x1DB1, 'M', 'ɵ'),
-    (0x1DB2, 'M', 'ɸ'),
-    (0x1DB3, 'M', 'ʂ'),
-    (0x1DB4, 'M', 'ʃ'),
-    (0x1DB5, 'M', 'ƫ'),
-    (0x1DB6, 'M', 'ʉ'),
-    (0x1DB7, 'M', 'ʊ'),
-    (0x1DB8, 'M', 'ᴜ'),
-    (0x1DB9, 'M', 'ʋ'),
-    (0x1DBA, 'M', 'ʌ'),
-    (0x1DBB, 'M', 'z'),
-    (0x1DBC, 'M', 'ʐ'),
-    (0x1DBD, 'M', 'ʑ'),
-    (0x1DBE, 'M', 'ʒ'),
-    (0x1DBF, 'M', 'θ'),
-    (0x1DC0, 'V'),
-    (0x1E00, 'M', 'ḁ'),
-    (0x1E01, 'V'),
-    (0x1E02, 'M', 'ḃ'),
-    (0x1E03, 'V'),
-    (0x1E04, 'M', 'ḅ'),
-    (0x1E05, 'V'),
-    (0x1E06, 'M', 'ḇ'),
-    (0x1E07, 'V'),
-    (0x1E08, 'M', 'ḉ'),
-    (0x1E09, 'V'),
-    (0x1E0A, 'M', 'ḋ'),
-    (0x1E0B, 'V'),
-    (0x1E0C, 'M', 'ḍ'),
-    (0x1E0D, 'V'),
-    (0x1E0E, 'M', 'ḏ'),
-    (0x1E0F, 'V'),
-    (0x1E10, 'M', 'ḑ'),
-    (0x1E11, 'V'),
-    (0x1E12, 'M', 'ḓ'),
-    (0x1E13, 'V'),
-    (0x1E14, 'M', 'ḕ'),
-    (0x1E15, 'V'),
-    (0x1E16, 'M', 'ḗ'),
-    (0x1E17, 'V'),
-    (0x1E18, 'M', 'ḙ'),
-    (0x1E19, 'V'),
-    (0x1E1A, 'M', 'ḛ'),
-    (0x1E1B, 'V'),
-    (0x1E1C, 'M', 'ḝ'),
-    (0x1E1D, 'V'),
-    (0x1E1E, 'M', 'ḟ'),
-    (0x1E1F, 'V'),
-    (0x1E20, 'M', 'ḡ'),
-    (0x1E21, 'V'),
-    (0x1E22, 'M', 'ḣ'),
-    (0x1E23, 'V'),
+        (0x1D54, "M", "ᴖ"),
+        (0x1D55, "M", "ᴗ"),
+        (0x1D56, "M", "p"),
+        (0x1D57, "M", "t"),
+        (0x1D58, "M", "u"),
+        (0x1D59, "M", "ᴝ"),
+        (0x1D5A, "M", "ɯ"),
+        (0x1D5B, "M", "v"),
+        (0x1D5C, "M", "ᴥ"),
+        (0x1D5D, "M", "β"),
+        (0x1D5E, "M", "γ"),
+        (0x1D5F, "M", "δ"),
+        (0x1D60, "M", "φ"),
+        (0x1D61, "M", "χ"),
+        (0x1D62, "M", "i"),
+        (0x1D63, "M", "r"),
+        (0x1D64, "M", "u"),
+        (0x1D65, "M", "v"),
+        (0x1D66, "M", "β"),
+        (0x1D67, "M", "γ"),
+        (0x1D68, "M", "ρ"),
+        (0x1D69, "M", "φ"),
+        (0x1D6A, "M", "χ"),
+        (0x1D6B, "V"),
+        (0x1D78, "M", "н"),
+        (0x1D79, "V"),
+        (0x1D9B, "M", "ɒ"),
+        (0x1D9C, "M", "c"),
+        (0x1D9D, "M", "ɕ"),
+        (0x1D9E, "M", "ð"),
+        (0x1D9F, "M", "ɜ"),
+        (0x1DA0, "M", "f"),
+        (0x1DA1, "M", "ɟ"),
+        (0x1DA2, "M", "ɡ"),
+        (0x1DA3, "M", "ɥ"),
+        (0x1DA4, "M", "ɨ"),
+        (0x1DA5, "M", "ɩ"),
+        (0x1DA6, "M", "ɪ"),
+        (0x1DA7, "M", "ᵻ"),
+        (0x1DA8, "M", "ʝ"),
+        (0x1DA9, "M", "ɭ"),
+        (0x1DAA, "M", "ᶅ"),
+        (0x1DAB, "M", "ʟ"),
+        (0x1DAC, "M", "ɱ"),
+        (0x1DAD, "M", "ɰ"),
+        (0x1DAE, "M", "ɲ"),
+        (0x1DAF, "M", "ɳ"),
+        (0x1DB0, "M", "ɴ"),
+        (0x1DB1, "M", "ɵ"),
+        (0x1DB2, "M", "ɸ"),
+        (0x1DB3, "M", "ʂ"),
+        (0x1DB4, "M", "ʃ"),
+        (0x1DB5, "M", "ƫ"),
+        (0x1DB6, "M", "ʉ"),
+        (0x1DB7, "M", "ʊ"),
+        (0x1DB8, "M", "ᴜ"),
+        (0x1DB9, "M", "ʋ"),
+        (0x1DBA, "M", "ʌ"),
+        (0x1DBB, "M", "z"),
+        (0x1DBC, "M", "ʐ"),
+        (0x1DBD, "M", "ʑ"),
+        (0x1DBE, "M", "ʒ"),
+        (0x1DBF, "M", "θ"),
+        (0x1DC0, "V"),
+        (0x1E00, "M", "ḁ"),
+        (0x1E01, "V"),
+        (0x1E02, "M", "ḃ"),
+        (0x1E03, "V"),
+        (0x1E04, "M", "ḅ"),
+        (0x1E05, "V"),
+        (0x1E06, "M", "ḇ"),
+        (0x1E07, "V"),
+        (0x1E08, "M", "ḉ"),
+        (0x1E09, "V"),
+        (0x1E0A, "M", "ḋ"),
+        (0x1E0B, "V"),
+        (0x1E0C, "M", "ḍ"),
+        (0x1E0D, "V"),
+        (0x1E0E, "M", "ḏ"),
+        (0x1E0F, "V"),
+        (0x1E10, "M", "ḑ"),
+        (0x1E11, "V"),
+        (0x1E12, "M", "ḓ"),
+        (0x1E13, "V"),
+        (0x1E14, "M", "ḕ"),
+        (0x1E15, "V"),
+        (0x1E16, "M", "ḗ"),
+        (0x1E17, "V"),
+        (0x1E18, "M", "ḙ"),
+        (0x1E19, "V"),
+        (0x1E1A, "M", "ḛ"),
+        (0x1E1B, "V"),
+        (0x1E1C, "M", "ḝ"),
+        (0x1E1D, "V"),
+        (0x1E1E, "M", "ḟ"),
+        (0x1E1F, "V"),
+        (0x1E20, "M", "ḡ"),
+        (0x1E21, "V"),
+        (0x1E22, "M", "ḣ"),
+        (0x1E23, "V"),
     ]
 
+
 def _seg_17() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1E24, 'M', 'ḥ'),
-    (0x1E25, 'V'),
-    (0x1E26, 'M', 'ḧ'),
-    (0x1E27, 'V'),
-    (0x1E28, 'M', 'ḩ'),
-    (0x1E29, 'V'),
-    (0x1E2A, 'M', 'ḫ'),
-    (0x1E2B, 'V'),
-    (0x1E2C, 'M', 'ḭ'),
-    (0x1E2D, 'V'),
-    (0x1E2E, 'M', 'ḯ'),
-    (0x1E2F, 'V'),
-    (0x1E30, 'M', 'ḱ'),
-    (0x1E31, 'V'),
-    (0x1E32, 'M', 'ḳ'),
-    (0x1E33, 'V'),
-    (0x1E34, 'M', 'ḵ'),
-    (0x1E35, 'V'),
-    (0x1E36, 'M', 'ḷ'),
-    (0x1E37, 'V'),
-    (0x1E38, 'M', 'ḹ'),
-    (0x1E39, 'V'),
-    (0x1E3A, 'M', 'ḻ'),
-    (0x1E3B, 'V'),
-    (0x1E3C, 'M', 'ḽ'),
-    (0x1E3D, 'V'),
-    (0x1E3E, 'M', 'ḿ'),
-    (0x1E3F, 'V'),
-    (0x1E40, 'M', 'ṁ'),
-    (0x1E41, 'V'),
-    (0x1E42, 'M', 'ṃ'),
-    (0x1E43, 'V'),
-    (0x1E44, 'M', 'ṅ'),
-    (0x1E45, 'V'),
-    (0x1E46, 'M', 'ṇ'),
-    (0x1E47, 'V'),
-    (0x1E48, 'M', 'ṉ'),
-    (0x1E49, 'V'),
-    (0x1E4A, 'M', 'ṋ'),
-    (0x1E4B, 'V'),
-    (0x1E4C, 'M', 'ṍ'),
-    (0x1E4D, 'V'),
-    (0x1E4E, 'M', 'ṏ'),
-    (0x1E4F, 'V'),
-    (0x1E50, 'M', 'ṑ'),
-    (0x1E51, 'V'),
-    (0x1E52, 'M', 'ṓ'),
-    (0x1E53, 'V'),
-    (0x1E54, 'M', 'ṕ'),
-    (0x1E55, 'V'),
-    (0x1E56, 'M', 'ṗ'),
-    (0x1E57, 'V'),
-    (0x1E58, 'M', 'ṙ'),
-    (0x1E59, 'V'),
-    (0x1E5A, 'M', 'ṛ'),
-    (0x1E5B, 'V'),
-    (0x1E5C, 'M', 'ṝ'),
-    (0x1E5D, 'V'),
-    (0x1E5E, 'M', 'ṟ'),
-    (0x1E5F, 'V'),
-    (0x1E60, 'M', 'ṡ'),
-    (0x1E61, 'V'),
-    (0x1E62, 'M', 'ṣ'),
-    (0x1E63, 'V'),
-    (0x1E64, 'M', 'ṥ'),
-    (0x1E65, 'V'),
-    (0x1E66, 'M', 'ṧ'),
-    (0x1E67, 'V'),
-    (0x1E68, 'M', 'ṩ'),
-    (0x1E69, 'V'),
-    (0x1E6A, 'M', 'ṫ'),
-    (0x1E6B, 'V'),
-    (0x1E6C, 'M', 'ṭ'),
-    (0x1E6D, 'V'),
-    (0x1E6E, 'M', 'ṯ'),
-    (0x1E6F, 'V'),
-    (0x1E70, 'M', 'ṱ'),
-    (0x1E71, 'V'),
-    (0x1E72, 'M', 'ṳ'),
-    (0x1E73, 'V'),
-    (0x1E74, 'M', 'ṵ'),
-    (0x1E75, 'V'),
-    (0x1E76, 'M', 'ṷ'),
-    (0x1E77, 'V'),
-    (0x1E78, 'M', 'ṹ'),
-    (0x1E79, 'V'),
-    (0x1E7A, 'M', 'ṻ'),
-    (0x1E7B, 'V'),
-    (0x1E7C, 'M', 'ṽ'),
-    (0x1E7D, 'V'),
-    (0x1E7E, 'M', 'ṿ'),
-    (0x1E7F, 'V'),
-    (0x1E80, 'M', 'ẁ'),
-    (0x1E81, 'V'),
-    (0x1E82, 'M', 'ẃ'),
-    (0x1E83, 'V'),
-    (0x1E84, 'M', 'ẅ'),
-    (0x1E85, 'V'),
-    (0x1E86, 'M', 'ẇ'),
-    (0x1E87, 'V'),
+        (0x1E24, "M", "ḥ"),
+        (0x1E25, "V"),
+        (0x1E26, "M", "ḧ"),
+        (0x1E27, "V"),
+        (0x1E28, "M", "ḩ"),
+        (0x1E29, "V"),
+        (0x1E2A, "M", "ḫ"),
+        (0x1E2B, "V"),
+        (0x1E2C, "M", "ḭ"),
+        (0x1E2D, "V"),
+        (0x1E2E, "M", "ḯ"),
+        (0x1E2F, "V"),
+        (0x1E30, "M", "ḱ"),
+        (0x1E31, "V"),
+        (0x1E32, "M", "ḳ"),
+        (0x1E33, "V"),
+        (0x1E34, "M", "ḵ"),
+        (0x1E35, "V"),
+        (0x1E36, "M", "ḷ"),
+        (0x1E37, "V"),
+        (0x1E38, "M", "ḹ"),
+        (0x1E39, "V"),
+        (0x1E3A, "M", "ḻ"),
+        (0x1E3B, "V"),
+        (0x1E3C, "M", "ḽ"),
+        (0x1E3D, "V"),
+        (0x1E3E, "M", "ḿ"),
+        (0x1E3F, "V"),
+        (0x1E40, "M", "ṁ"),
+        (0x1E41, "V"),
+        (0x1E42, "M", "ṃ"),
+        (0x1E43, "V"),
+        (0x1E44, "M", "ṅ"),
+        (0x1E45, "V"),
+        (0x1E46, "M", "ṇ"),
+        (0x1E47, "V"),
+        (0x1E48, "M", "ṉ"),
+        (0x1E49, "V"),
+        (0x1E4A, "M", "ṋ"),
+        (0x1E4B, "V"),
+        (0x1E4C, "M", "ṍ"),
+        (0x1E4D, "V"),
+        (0x1E4E, "M", "ṏ"),
+        (0x1E4F, "V"),
+        (0x1E50, "M", "ṑ"),
+        (0x1E51, "V"),
+        (0x1E52, "M", "ṓ"),
+        (0x1E53, "V"),
+        (0x1E54, "M", "ṕ"),
+        (0x1E55, "V"),
+        (0x1E56, "M", "ṗ"),
+        (0x1E57, "V"),
+        (0x1E58, "M", "ṙ"),
+        (0x1E59, "V"),
+        (0x1E5A, "M", "ṛ"),
+        (0x1E5B, "V"),
+        (0x1E5C, "M", "ṝ"),
+        (0x1E5D, "V"),
+        (0x1E5E, "M", "ṟ"),
+        (0x1E5F, "V"),
+        (0x1E60, "M", "ṡ"),
+        (0x1E61, "V"),
+        (0x1E62, "M", "ṣ"),
+        (0x1E63, "V"),
+        (0x1E64, "M", "ṥ"),
+        (0x1E65, "V"),
+        (0x1E66, "M", "ṧ"),
+        (0x1E67, "V"),
+        (0x1E68, "M", "ṩ"),
+        (0x1E69, "V"),
+        (0x1E6A, "M", "ṫ"),
+        (0x1E6B, "V"),
+        (0x1E6C, "M", "ṭ"),
+        (0x1E6D, "V"),
+        (0x1E6E, "M", "ṯ"),
+        (0x1E6F, "V"),
+        (0x1E70, "M", "ṱ"),
+        (0x1E71, "V"),
+        (0x1E72, "M", "ṳ"),
+        (0x1E73, "V"),
+        (0x1E74, "M", "ṵ"),
+        (0x1E75, "V"),
+        (0x1E76, "M", "ṷ"),
+        (0x1E77, "V"),
+        (0x1E78, "M", "ṹ"),
+        (0x1E79, "V"),
+        (0x1E7A, "M", "ṻ"),
+        (0x1E7B, "V"),
+        (0x1E7C, "M", "ṽ"),
+        (0x1E7D, "V"),
+        (0x1E7E, "M", "ṿ"),
+        (0x1E7F, "V"),
+        (0x1E80, "M", "ẁ"),
+        (0x1E81, "V"),
+        (0x1E82, "M", "ẃ"),
+        (0x1E83, "V"),
+        (0x1E84, "M", "ẅ"),
+        (0x1E85, "V"),
+        (0x1E86, "M", "ẇ"),
+        (0x1E87, "V"),
     ]
 
+
 def _seg_18() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1E88, 'M', 'ẉ'),
-    (0x1E89, 'V'),
-    (0x1E8A, 'M', 'ẋ'),
-    (0x1E8B, 'V'),
-    (0x1E8C, 'M', 'ẍ'),
-    (0x1E8D, 'V'),
-    (0x1E8E, 'M', 'ẏ'),
-    (0x1E8F, 'V'),
-    (0x1E90, 'M', 'ẑ'),
-    (0x1E91, 'V'),
-    (0x1E92, 'M', 'ẓ'),
-    (0x1E93, 'V'),
-    (0x1E94, 'M', 'ẕ'),
-    (0x1E95, 'V'),
-    (0x1E9A, 'M', 'aʾ'),
-    (0x1E9B, 'M', 'ṡ'),
-    (0x1E9C, 'V'),
-    (0x1E9E, 'M', 'ß'),
-    (0x1E9F, 'V'),
-    (0x1EA0, 'M', 'ạ'),
-    (0x1EA1, 'V'),
-    (0x1EA2, 'M', 'ả'),
-    (0x1EA3, 'V'),
-    (0x1EA4, 'M', 'ấ'),
-    (0x1EA5, 'V'),
-    (0x1EA6, 'M', 'ầ'),
-    (0x1EA7, 'V'),
-    (0x1EA8, 'M', 'ẩ'),
-    (0x1EA9, 'V'),
-    (0x1EAA, 'M', 'ẫ'),
-    (0x1EAB, 'V'),
-    (0x1EAC, 'M', 'ậ'),
-    (0x1EAD, 'V'),
-    (0x1EAE, 'M', 'ắ'),
-    (0x1EAF, 'V'),
-    (0x1EB0, 'M', 'ằ'),
-    (0x1EB1, 'V'),
-    (0x1EB2, 'M', 'ẳ'),
-    (0x1EB3, 'V'),
-    (0x1EB4, 'M', 'ẵ'),
-    (0x1EB5, 'V'),
-    (0x1EB6, 'M', 'ặ'),
-    (0x1EB7, 'V'),
-    (0x1EB8, 'M', 'ẹ'),
-    (0x1EB9, 'V'),
-    (0x1EBA, 'M', 'ẻ'),
-    (0x1EBB, 'V'),
-    (0x1EBC, 'M', 'ẽ'),
-    (0x1EBD, 'V'),
-    (0x1EBE, 'M', 'ế'),
-    (0x1EBF, 'V'),
-    (0x1EC0, 'M', 'ề'),
-    (0x1EC1, 'V'),
-    (0x1EC2, 'M', 'ể'),
-    (0x1EC3, 'V'),
-    (0x1EC4, 'M', 'ễ'),
-    (0x1EC5, 'V'),
-    (0x1EC6, 'M', 'ệ'),
-    (0x1EC7, 'V'),
-    (0x1EC8, 'M', 'ỉ'),
-    (0x1EC9, 'V'),
-    (0x1ECA, 'M', 'ị'),
-    (0x1ECB, 'V'),
-    (0x1ECC, 'M', 'ọ'),
-    (0x1ECD, 'V'),
-    (0x1ECE, 'M', 'ỏ'),
-    (0x1ECF, 'V'),
-    (0x1ED0, 'M', 'ố'),
-    (0x1ED1, 'V'),
-    (0x1ED2, 'M', 'ồ'),
-    (0x1ED3, 'V'),
-    (0x1ED4, 'M', 'ổ'),
-    (0x1ED5, 'V'),
-    (0x1ED6, 'M', 'ỗ'),
-    (0x1ED7, 'V'),
-    (0x1ED8, 'M', 'ộ'),
-    (0x1ED9, 'V'),
-    (0x1EDA, 'M', 'ớ'),
-    (0x1EDB, 'V'),
-    (0x1EDC, 'M', 'ờ'),
-    (0x1EDD, 'V'),
-    (0x1EDE, 'M', 'ở'),
-    (0x1EDF, 'V'),
-    (0x1EE0, 'M', 'ỡ'),
-    (0x1EE1, 'V'),
-    (0x1EE2, 'M', 'ợ'),
-    (0x1EE3, 'V'),
-    (0x1EE4, 'M', 'ụ'),
-    (0x1EE5, 'V'),
-    (0x1EE6, 'M', 'ủ'),
-    (0x1EE7, 'V'),
-    (0x1EE8, 'M', 'ứ'),
-    (0x1EE9, 'V'),
-    (0x1EEA, 'M', 'ừ'),
-    (0x1EEB, 'V'),
-    (0x1EEC, 'M', 'ử'),
-    (0x1EED, 'V'),
-    (0x1EEE, 'M', 'ữ'),
-    (0x1EEF, 'V'),
-    (0x1EF0, 'M', 'ự'),
+        (0x1E88, "M", "ẉ"),
+        (0x1E89, "V"),
+        (0x1E8A, "M", "ẋ"),
+        (0x1E8B, "V"),
+        (0x1E8C, "M", "ẍ"),
+        (0x1E8D, "V"),
+        (0x1E8E, "M", "ẏ"),
+        (0x1E8F, "V"),
+        (0x1E90, "M", "ẑ"),
+        (0x1E91, "V"),
+        (0x1E92, "M", "ẓ"),
+        (0x1E93, "V"),
+        (0x1E94, "M", "ẕ"),
+        (0x1E95, "V"),
+        (0x1E9A, "M", "aʾ"),
+        (0x1E9B, "M", "ṡ"),
+        (0x1E9C, "V"),
+        (0x1E9E, "M", "ß"),
+        (0x1E9F, "V"),
+        (0x1EA0, "M", "ạ"),
+        (0x1EA1, "V"),
+        (0x1EA2, "M", "ả"),
+        (0x1EA3, "V"),
+        (0x1EA4, "M", "ấ"),
+        (0x1EA5, "V"),
+        (0x1EA6, "M", "ầ"),
+        (0x1EA7, "V"),
+        (0x1EA8, "M", "ẩ"),
+        (0x1EA9, "V"),
+        (0x1EAA, "M", "ẫ"),
+        (0x1EAB, "V"),
+        (0x1EAC, "M", "ậ"),
+        (0x1EAD, "V"),
+        (0x1EAE, "M", "ắ"),
+        (0x1EAF, "V"),
+        (0x1EB0, "M", "ằ"),
+        (0x1EB1, "V"),
+        (0x1EB2, "M", "ẳ"),
+        (0x1EB3, "V"),
+        (0x1EB4, "M", "ẵ"),
+        (0x1EB5, "V"),
+        (0x1EB6, "M", "ặ"),
+        (0x1EB7, "V"),
+        (0x1EB8, "M", "ẹ"),
+        (0x1EB9, "V"),
+        (0x1EBA, "M", "ẻ"),
+        (0x1EBB, "V"),
+        (0x1EBC, "M", "ẽ"),
+        (0x1EBD, "V"),
+        (0x1EBE, "M", "ế"),
+        (0x1EBF, "V"),
+        (0x1EC0, "M", "ề"),
+        (0x1EC1, "V"),
+        (0x1EC2, "M", "ể"),
+        (0x1EC3, "V"),
+        (0x1EC4, "M", "ễ"),
+        (0x1EC5, "V"),
+        (0x1EC6, "M", "ệ"),
+        (0x1EC7, "V"),
+        (0x1EC8, "M", "ỉ"),
+        (0x1EC9, "V"),
+        (0x1ECA, "M", "ị"),
+        (0x1ECB, "V"),
+        (0x1ECC, "M", "ọ"),
+        (0x1ECD, "V"),
+        (0x1ECE, "M", "ỏ"),
+        (0x1ECF, "V"),
+        (0x1ED0, "M", "ố"),
+        (0x1ED1, "V"),
+        (0x1ED2, "M", "ồ"),
+        (0x1ED3, "V"),
+        (0x1ED4, "M", "ổ"),
+        (0x1ED5, "V"),
+        (0x1ED6, "M", "ỗ"),
+        (0x1ED7, "V"),
+        (0x1ED8, "M", "ộ"),
+        (0x1ED9, "V"),
+        (0x1EDA, "M", "ớ"),
+        (0x1EDB, "V"),
+        (0x1EDC, "M", "ờ"),
+        (0x1EDD, "V"),
+        (0x1EDE, "M", "ở"),
+        (0x1EDF, "V"),
+        (0x1EE0, "M", "ỡ"),
+        (0x1EE1, "V"),
+        (0x1EE2, "M", "ợ"),
+        (0x1EE3, "V"),
+        (0x1EE4, "M", "ụ"),
+        (0x1EE5, "V"),
+        (0x1EE6, "M", "ủ"),
+        (0x1EE7, "V"),
+        (0x1EE8, "M", "ứ"),
+        (0x1EE9, "V"),
+        (0x1EEA, "M", "ừ"),
+        (0x1EEB, "V"),
+        (0x1EEC, "M", "ử"),
+        (0x1EED, "V"),
+        (0x1EEE, "M", "ữ"),
+        (0x1EEF, "V"),
+        (0x1EF0, "M", "ự"),
     ]
 
+
 def _seg_19() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1EF1, 'V'),
-    (0x1EF2, 'M', 'ỳ'),
-    (0x1EF3, 'V'),
-    (0x1EF4, 'M', 'ỵ'),
-    (0x1EF5, 'V'),
-    (0x1EF6, 'M', 'ỷ'),
-    (0x1EF7, 'V'),
-    (0x1EF8, 'M', 'ỹ'),
-    (0x1EF9, 'V'),
-    (0x1EFA, 'M', 'ỻ'),
-    (0x1EFB, 'V'),
-    (0x1EFC, 'M', 'ỽ'),
-    (0x1EFD, 'V'),
-    (0x1EFE, 'M', 'ỿ'),
-    (0x1EFF, 'V'),
-    (0x1F08, 'M', 'ἀ'),
-    (0x1F09, 'M', 'ἁ'),
-    (0x1F0A, 'M', 'ἂ'),
-    (0x1F0B, 'M', 'ἃ'),
-    (0x1F0C, 'M', 'ἄ'),
-    (0x1F0D, 'M', 'ἅ'),
-    (0x1F0E, 'M', 'ἆ'),
-    (0x1F0F, 'M', 'ἇ'),
-    (0x1F10, 'V'),
-    (0x1F16, 'X'),
-    (0x1F18, 'M', 'ἐ'),
-    (0x1F19, 'M', 'ἑ'),
-    (0x1F1A, 'M', 'ἒ'),
-    (0x1F1B, 'M', 'ἓ'),
-    (0x1F1C, 'M', 'ἔ'),
-    (0x1F1D, 'M', 'ἕ'),
-    (0x1F1E, 'X'),
-    (0x1F20, 'V'),
-    (0x1F28, 'M', 'ἠ'),
-    (0x1F29, 'M', 'ἡ'),
-    (0x1F2A, 'M', 'ἢ'),
-    (0x1F2B, 'M', 'ἣ'),
-    (0x1F2C, 'M', 'ἤ'),
-    (0x1F2D, 'M', 'ἥ'),
-    (0x1F2E, 'M', 'ἦ'),
-    (0x1F2F, 'M', 'ἧ'),
-    (0x1F30, 'V'),
-    (0x1F38, 'M', 'ἰ'),
-    (0x1F39, 'M', 'ἱ'),
-    (0x1F3A, 'M', 'ἲ'),
-    (0x1F3B, 'M', 'ἳ'),
-    (0x1F3C, 'M', 'ἴ'),
-    (0x1F3D, 'M', 'ἵ'),
-    (0x1F3E, 'M', 'ἶ'),
-    (0x1F3F, 'M', 'ἷ'),
-    (0x1F40, 'V'),
-    (0x1F46, 'X'),
-    (0x1F48, 'M', 'ὀ'),
-    (0x1F49, 'M', 'ὁ'),
-    (0x1F4A, 'M', 'ὂ'),
-    (0x1F4B, 'M', 'ὃ'),
-    (0x1F4C, 'M', 'ὄ'),
-    (0x1F4D, 'M', 'ὅ'),
-    (0x1F4E, 'X'),
-    (0x1F50, 'V'),
-    (0x1F58, 'X'),
-    (0x1F59, 'M', 'ὑ'),
-    (0x1F5A, 'X'),
-    (0x1F5B, 'M', 'ὓ'),
-    (0x1F5C, 'X'),
-    (0x1F5D, 'M', 'ὕ'),
-    (0x1F5E, 'X'),
-    (0x1F5F, 'M', 'ὗ'),
-    (0x1F60, 'V'),
-    (0x1F68, 'M', 'ὠ'),
-    (0x1F69, 'M', 'ὡ'),
-    (0x1F6A, 'M', 'ὢ'),
-    (0x1F6B, 'M', 'ὣ'),
-    (0x1F6C, 'M', 'ὤ'),
-    (0x1F6D, 'M', 'ὥ'),
-    (0x1F6E, 'M', 'ὦ'),
-    (0x1F6F, 'M', 'ὧ'),
-    (0x1F70, 'V'),
-    (0x1F71, 'M', 'ά'),
-    (0x1F72, 'V'),
-    (0x1F73, 'M', 'έ'),
-    (0x1F74, 'V'),
-    (0x1F75, 'M', 'ή'),
-    (0x1F76, 'V'),
-    (0x1F77, 'M', 'ί'),
-    (0x1F78, 'V'),
-    (0x1F79, 'M', 'ό'),
-    (0x1F7A, 'V'),
-    (0x1F7B, 'M', 'ύ'),
-    (0x1F7C, 'V'),
-    (0x1F7D, 'M', 'ώ'),
-    (0x1F7E, 'X'),
-    (0x1F80, 'M', 'ἀι'),
-    (0x1F81, 'M', 'ἁι'),
-    (0x1F82, 'M', 'ἂι'),
-    (0x1F83, 'M', 'ἃι'),
-    (0x1F84, 'M', 'ἄι'),
-    (0x1F85, 'M', 'ἅι'),
-    (0x1F86, 'M', 'ἆι'),
-    (0x1F87, 'M', 'ἇι'),
+        (0x1EF1, "V"),
+        (0x1EF2, "M", "ỳ"),
+        (0x1EF3, "V"),
+        (0x1EF4, "M", "ỵ"),
+        (0x1EF5, "V"),
+        (0x1EF6, "M", "ỷ"),
+        (0x1EF7, "V"),
+        (0x1EF8, "M", "ỹ"),
+        (0x1EF9, "V"),
+        (0x1EFA, "M", "ỻ"),
+        (0x1EFB, "V"),
+        (0x1EFC, "M", "ỽ"),
+        (0x1EFD, "V"),
+        (0x1EFE, "M", "ỿ"),
+        (0x1EFF, "V"),
+        (0x1F08, "M", "ἀ"),
+        (0x1F09, "M", "ἁ"),
+        (0x1F0A, "M", "ἂ"),
+        (0x1F0B, "M", "ἃ"),
+        (0x1F0C, "M", "ἄ"),
+        (0x1F0D, "M", "ἅ"),
+        (0x1F0E, "M", "ἆ"),
+        (0x1F0F, "M", "ἇ"),
+        (0x1F10, "V"),
+        (0x1F16, "X"),
+        (0x1F18, "M", "ἐ"),
+        (0x1F19, "M", "ἑ"),
+        (0x1F1A, "M", "ἒ"),
+        (0x1F1B, "M", "ἓ"),
+        (0x1F1C, "M", "ἔ"),
+        (0x1F1D, "M", "ἕ"),
+        (0x1F1E, "X"),
+        (0x1F20, "V"),
+        (0x1F28, "M", "ἠ"),
+        (0x1F29, "M", "ἡ"),
+        (0x1F2A, "M", "ἢ"),
+        (0x1F2B, "M", "ἣ"),
+        (0x1F2C, "M", "ἤ"),
+        (0x1F2D, "M", "ἥ"),
+        (0x1F2E, "M", "ἦ"),
+        (0x1F2F, "M", "ἧ"),
+        (0x1F30, "V"),
+        (0x1F38, "M", "ἰ"),
+        (0x1F39, "M", "ἱ"),
+        (0x1F3A, "M", "ἲ"),
+        (0x1F3B, "M", "ἳ"),
+        (0x1F3C, "M", "ἴ"),
+        (0x1F3D, "M", "ἵ"),
+        (0x1F3E, "M", "ἶ"),
+        (0x1F3F, "M", "ἷ"),
+        (0x1F40, "V"),
+        (0x1F46, "X"),
+        (0x1F48, "M", "ὀ"),
+        (0x1F49, "M", "ὁ"),
+        (0x1F4A, "M", "ὂ"),
+        (0x1F4B, "M", "ὃ"),
+        (0x1F4C, "M", "ὄ"),
+        (0x1F4D, "M", "ὅ"),
+        (0x1F4E, "X"),
+        (0x1F50, "V"),
+        (0x1F58, "X"),
+        (0x1F59, "M", "ὑ"),
+        (0x1F5A, "X"),
+        (0x1F5B, "M", "ὓ"),
+        (0x1F5C, "X"),
+        (0x1F5D, "M", "ὕ"),
+        (0x1F5E, "X"),
+        (0x1F5F, "M", "ὗ"),
+        (0x1F60, "V"),
+        (0x1F68, "M", "ὠ"),
+        (0x1F69, "M", "ὡ"),
+        (0x1F6A, "M", "ὢ"),
+        (0x1F6B, "M", "ὣ"),
+        (0x1F6C, "M", "ὤ"),
+        (0x1F6D, "M", "ὥ"),
+        (0x1F6E, "M", "ὦ"),
+        (0x1F6F, "M", "ὧ"),
+        (0x1F70, "V"),
+        (0x1F71, "M", "ά"),
+        (0x1F72, "V"),
+        (0x1F73, "M", "έ"),
+        (0x1F74, "V"),
+        (0x1F75, "M", "ή"),
+        (0x1F76, "V"),
+        (0x1F77, "M", "ί"),
+        (0x1F78, "V"),
+        (0x1F79, "M", "ό"),
+        (0x1F7A, "V"),
+        (0x1F7B, "M", "ύ"),
+        (0x1F7C, "V"),
+        (0x1F7D, "M", "ώ"),
+        (0x1F7E, "X"),
+        (0x1F80, "M", "ἀι"),
+        (0x1F81, "M", "ἁι"),
+        (0x1F82, "M", "ἂι"),
+        (0x1F83, "M", "ἃι"),
+        (0x1F84, "M", "ἄι"),
+        (0x1F85, "M", "ἅι"),
+        (0x1F86, "M", "ἆι"),
+        (0x1F87, "M", "ἇι"),
     ]
 
+
 def _seg_20() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1F88, 'M', 'ἀι'),
-    (0x1F89, 'M', 'ἁι'),
-    (0x1F8A, 'M', 'ἂι'),
-    (0x1F8B, 'M', 'ἃι'),
-    (0x1F8C, 'M', 'ἄι'),
-    (0x1F8D, 'M', 'ἅι'),
-    (0x1F8E, 'M', 'ἆι'),
-    (0x1F8F, 'M', 'ἇι'),
-    (0x1F90, 'M', 'ἠι'),
-    (0x1F91, 'M', 'ἡι'),
-    (0x1F92, 'M', 'ἢι'),
-    (0x1F93, 'M', 'ἣι'),
-    (0x1F94, 'M', 'ἤι'),
-    (0x1F95, 'M', 'ἥι'),
-    (0x1F96, 'M', 'ἦι'),
-    (0x1F97, 'M', 'ἧι'),
-    (0x1F98, 'M', 'ἠι'),
-    (0x1F99, 'M', 'ἡι'),
-    (0x1F9A, 'M', 'ἢι'),
-    (0x1F9B, 'M', 'ἣι'),
-    (0x1F9C, 'M', 'ἤι'),
-    (0x1F9D, 'M', 'ἥι'),
-    (0x1F9E, 'M', 'ἦι'),
-    (0x1F9F, 'M', 'ἧι'),
-    (0x1FA0, 'M', 'ὠι'),
-    (0x1FA1, 'M', 'ὡι'),
-    (0x1FA2, 'M', 'ὢι'),
-    (0x1FA3, 'M', 'ὣι'),
-    (0x1FA4, 'M', 'ὤι'),
-    (0x1FA5, 'M', 'ὥι'),
-    (0x1FA6, 'M', 'ὦι'),
-    (0x1FA7, 'M', 'ὧι'),
-    (0x1FA8, 'M', 'ὠι'),
-    (0x1FA9, 'M', 'ὡι'),
-    (0x1FAA, 'M', 'ὢι'),
-    (0x1FAB, 'M', 'ὣι'),
-    (0x1FAC, 'M', 'ὤι'),
-    (0x1FAD, 'M', 'ὥι'),
-    (0x1FAE, 'M', 'ὦι'),
-    (0x1FAF, 'M', 'ὧι'),
-    (0x1FB0, 'V'),
-    (0x1FB2, 'M', 'ὰι'),
-    (0x1FB3, 'M', 'αι'),
-    (0x1FB4, 'M', 'άι'),
-    (0x1FB5, 'X'),
-    (0x1FB6, 'V'),
-    (0x1FB7, 'M', 'ᾶι'),
-    (0x1FB8, 'M', 'ᾰ'),
-    (0x1FB9, 'M', 'ᾱ'),
-    (0x1FBA, 'M', 'ὰ'),
-    (0x1FBB, 'M', 'ά'),
-    (0x1FBC, 'M', 'αι'),
-    (0x1FBD, '3', ' ̓'),
-    (0x1FBE, 'M', 'ι'),
-    (0x1FBF, '3', ' ̓'),
-    (0x1FC0, '3', ' ͂'),
-    (0x1FC1, '3', ' ̈͂'),
-    (0x1FC2, 'M', 'ὴι'),
-    (0x1FC3, 'M', 'ηι'),
-    (0x1FC4, 'M', 'ήι'),
-    (0x1FC5, 'X'),
-    (0x1FC6, 'V'),
-    (0x1FC7, 'M', 'ῆι'),
-    (0x1FC8, 'M', 'ὲ'),
-    (0x1FC9, 'M', 'έ'),
-    (0x1FCA, 'M', 'ὴ'),
-    (0x1FCB, 'M', 'ή'),
-    (0x1FCC, 'M', 'ηι'),
-    (0x1FCD, '3', ' ̓̀'),
-    (0x1FCE, '3', ' ̓́'),
-    (0x1FCF, '3', ' ̓͂'),
-    (0x1FD0, 'V'),
-    (0x1FD3, 'M', 'ΐ'),
-    (0x1FD4, 'X'),
-    (0x1FD6, 'V'),
-    (0x1FD8, 'M', 'ῐ'),
-    (0x1FD9, 'M', 'ῑ'),
-    (0x1FDA, 'M', 'ὶ'),
-    (0x1FDB, 'M', 'ί'),
-    (0x1FDC, 'X'),
-    (0x1FDD, '3', ' ̔̀'),
-    (0x1FDE, '3', ' ̔́'),
-    (0x1FDF, '3', ' ̔͂'),
-    (0x1FE0, 'V'),
-    (0x1FE3, 'M', 'ΰ'),
-    (0x1FE4, 'V'),
-    (0x1FE8, 'M', 'ῠ'),
-    (0x1FE9, 'M', 'ῡ'),
-    (0x1FEA, 'M', 'ὺ'),
-    (0x1FEB, 'M', 'ύ'),
-    (0x1FEC, 'M', 'ῥ'),
-    (0x1FED, '3', ' ̈̀'),
-    (0x1FEE, '3', ' ̈́'),
-    (0x1FEF, '3', '`'),
-    (0x1FF0, 'X'),
-    (0x1FF2, 'M', 'ὼι'),
-    (0x1FF3, 'M', 'ωι'),
-    (0x1FF4, 'M', 'ώι'),
-    (0x1FF5, 'X'),
-    (0x1FF6, 'V'),
+        (0x1F88, "M", "ἀι"),
+        (0x1F89, "M", "ἁι"),
+        (0x1F8A, "M", "ἂι"),
+        (0x1F8B, "M", "ἃι"),
+        (0x1F8C, "M", "ἄι"),
+        (0x1F8D, "M", "ἅι"),
+        (0x1F8E, "M", "ἆι"),
+        (0x1F8F, "M", "ἇι"),
+        (0x1F90, "M", "ἠι"),
+        (0x1F91, "M", "ἡι"),
+        (0x1F92, "M", "ἢι"),
+        (0x1F93, "M", "ἣι"),
+        (0x1F94, "M", "ἤι"),
+        (0x1F95, "M", "ἥι"),
+        (0x1F96, "M", "ἦι"),
+        (0x1F97, "M", "ἧι"),
+        (0x1F98, "M", "ἠι"),
+        (0x1F99, "M", "ἡι"),
+        (0x1F9A, "M", "ἢι"),
+        (0x1F9B, "M", "ἣι"),
+        (0x1F9C, "M", "ἤι"),
+        (0x1F9D, "M", "ἥι"),
+        (0x1F9E, "M", "ἦι"),
+        (0x1F9F, "M", "ἧι"),
+        (0x1FA0, "M", "ὠι"),
+        (0x1FA1, "M", "ὡι"),
+        (0x1FA2, "M", "ὢι"),
+        (0x1FA3, "M", "ὣι"),
+        (0x1FA4, "M", "ὤι"),
+        (0x1FA5, "M", "ὥι"),
+        (0x1FA6, "M", "ὦι"),
+        (0x1FA7, "M", "ὧι"),
+        (0x1FA8, "M", "ὠι"),
+        (0x1FA9, "M", "ὡι"),
+        (0x1FAA, "M", "ὢι"),
+        (0x1FAB, "M", "ὣι"),
+        (0x1FAC, "M", "ὤι"),
+        (0x1FAD, "M", "ὥι"),
+        (0x1FAE, "M", "ὦι"),
+        (0x1FAF, "M", "ὧι"),
+        (0x1FB0, "V"),
+        (0x1FB2, "M", "ὰι"),
+        (0x1FB3, "M", "αι"),
+        (0x1FB4, "M", "άι"),
+        (0x1FB5, "X"),
+        (0x1FB6, "V"),
+        (0x1FB7, "M", "ᾶι"),
+        (0x1FB8, "M", "ᾰ"),
+        (0x1FB9, "M", "ᾱ"),
+        (0x1FBA, "M", "ὰ"),
+        (0x1FBB, "M", "ά"),
+        (0x1FBC, "M", "αι"),
+        (0x1FBD, "3", " ̓"),
+        (0x1FBE, "M", "ι"),
+        (0x1FBF, "3", " ̓"),
+        (0x1FC0, "3", " ͂"),
+        (0x1FC1, "3", " ̈͂"),
+        (0x1FC2, "M", "ὴι"),
+        (0x1FC3, "M", "ηι"),
+        (0x1FC4, "M", "ήι"),
+        (0x1FC5, "X"),
+        (0x1FC6, "V"),
+        (0x1FC7, "M", "ῆι"),
+        (0x1FC8, "M", "ὲ"),
+        (0x1FC9, "M", "έ"),
+        (0x1FCA, "M", "ὴ"),
+        (0x1FCB, "M", "ή"),
+        (0x1FCC, "M", "ηι"),
+        (0x1FCD, "3", " ̓̀"),
+        (0x1FCE, "3", " ̓́"),
+        (0x1FCF, "3", " ̓͂"),
+        (0x1FD0, "V"),
+        (0x1FD3, "M", "ΐ"),
+        (0x1FD4, "X"),
+        (0x1FD6, "V"),
+        (0x1FD8, "M", "ῐ"),
+        (0x1FD9, "M", "ῑ"),
+        (0x1FDA, "M", "ὶ"),
+        (0x1FDB, "M", "ί"),
+        (0x1FDC, "X"),
+        (0x1FDD, "3", " ̔̀"),
+        (0x1FDE, "3", " ̔́"),
+        (0x1FDF, "3", " ̔͂"),
+        (0x1FE0, "V"),
+        (0x1FE3, "M", "ΰ"),
+        (0x1FE4, "V"),
+        (0x1FE8, "M", "ῠ"),
+        (0x1FE9, "M", "ῡ"),
+        (0x1FEA, "M", "ὺ"),
+        (0x1FEB, "M", "ύ"),
+        (0x1FEC, "M", "ῥ"),
+        (0x1FED, "3", " ̈̀"),
+        (0x1FEE, "3", " ̈́"),
+        (0x1FEF, "3", "`"),
+        (0x1FF0, "X"),
+        (0x1FF2, "M", "ὼι"),
+        (0x1FF3, "M", "ωι"),
+        (0x1FF4, "M", "ώι"),
+        (0x1FF5, "X"),
+        (0x1FF6, "V"),
     ]
 
+
 def _seg_21() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1FF7, 'M', 'ῶι'),
-    (0x1FF8, 'M', 'ὸ'),
-    (0x1FF9, 'M', 'ό'),
-    (0x1FFA, 'M', 'ὼ'),
-    (0x1FFB, 'M', 'ώ'),
-    (0x1FFC, 'M', 'ωι'),
-    (0x1FFD, '3', ' ́'),
-    (0x1FFE, '3', ' ̔'),
-    (0x1FFF, 'X'),
-    (0x2000, '3', ' '),
-    (0x200B, 'I'),
-    (0x200C, 'D', ''),
-    (0x200E, 'X'),
-    (0x2010, 'V'),
-    (0x2011, 'M', '‐'),
-    (0x2012, 'V'),
-    (0x2017, '3', ' ̳'),
-    (0x2018, 'V'),
-    (0x2024, 'X'),
-    (0x2027, 'V'),
-    (0x2028, 'X'),
-    (0x202F, '3', ' '),
-    (0x2030, 'V'),
-    (0x2033, 'M', '′′'),
-    (0x2034, 'M', '′′′'),
-    (0x2035, 'V'),
-    (0x2036, 'M', '‵‵'),
-    (0x2037, 'M', '‵‵‵'),
-    (0x2038, 'V'),
-    (0x203C, '3', '!!'),
-    (0x203D, 'V'),
-    (0x203E, '3', ' ̅'),
-    (0x203F, 'V'),
-    (0x2047, '3', '??'),
-    (0x2048, '3', '?!'),
-    (0x2049, '3', '!?'),
-    (0x204A, 'V'),
-    (0x2057, 'M', '′′′′'),
-    (0x2058, 'V'),
-    (0x205F, '3', ' '),
-    (0x2060, 'I'),
-    (0x2061, 'X'),
-    (0x2064, 'I'),
-    (0x2065, 'X'),
-    (0x2070, 'M', '0'),
-    (0x2071, 'M', 'i'),
-    (0x2072, 'X'),
-    (0x2074, 'M', '4'),
-    (0x2075, 'M', '5'),
-    (0x2076, 'M', '6'),
-    (0x2077, 'M', '7'),
-    (0x2078, 'M', '8'),
-    (0x2079, 'M', '9'),
-    (0x207A, '3', '+'),
-    (0x207B, 'M', '−'),
-    (0x207C, '3', '='),
-    (0x207D, '3', '('),
-    (0x207E, '3', ')'),
-    (0x207F, 'M', 'n'),
-    (0x2080, 'M', '0'),
-    (0x2081, 'M', '1'),
-    (0x2082, 'M', '2'),
-    (0x2083, 'M', '3'),
-    (0x2084, 'M', '4'),
-    (0x2085, 'M', '5'),
-    (0x2086, 'M', '6'),
-    (0x2087, 'M', '7'),
-    (0x2088, 'M', '8'),
-    (0x2089, 'M', '9'),
-    (0x208A, '3', '+'),
-    (0x208B, 'M', '−'),
-    (0x208C, '3', '='),
-    (0x208D, '3', '('),
-    (0x208E, '3', ')'),
-    (0x208F, 'X'),
-    (0x2090, 'M', 'a'),
-    (0x2091, 'M', 'e'),
-    (0x2092, 'M', 'o'),
-    (0x2093, 'M', 'x'),
-    (0x2094, 'M', 'ə'),
-    (0x2095, 'M', 'h'),
-    (0x2096, 'M', 'k'),
-    (0x2097, 'M', 'l'),
-    (0x2098, 'M', 'm'),
-    (0x2099, 'M', 'n'),
-    (0x209A, 'M', 'p'),
-    (0x209B, 'M', 's'),
-    (0x209C, 'M', 't'),
-    (0x209D, 'X'),
-    (0x20A0, 'V'),
-    (0x20A8, 'M', 'rs'),
-    (0x20A9, 'V'),
-    (0x20C1, 'X'),
-    (0x20D0, 'V'),
-    (0x20F1, 'X'),
-    (0x2100, '3', 'a/c'),
-    (0x2101, '3', 'a/s'),
-    (0x2102, 'M', 'c'),
-    (0x2103, 'M', '°c'),
-    (0x2104, 'V'),
+        (0x1FF7, "M", "ῶι"),
+        (0x1FF8, "M", "ὸ"),
+        (0x1FF9, "M", "ό"),
+        (0x1FFA, "M", "ὼ"),
+        (0x1FFB, "M", "ώ"),
+        (0x1FFC, "M", "ωι"),
+        (0x1FFD, "3", " ́"),
+        (0x1FFE, "3", " ̔"),
+        (0x1FFF, "X"),
+        (0x2000, "3", " "),
+        (0x200B, "I"),
+        (0x200C, "D", ""),
+        (0x200E, "X"),
+        (0x2010, "V"),
+        (0x2011, "M", "‐"),
+        (0x2012, "V"),
+        (0x2017, "3", " ̳"),
+        (0x2018, "V"),
+        (0x2024, "X"),
+        (0x2027, "V"),
+        (0x2028, "X"),
+        (0x202F, "3", " "),
+        (0x2030, "V"),
+        (0x2033, "M", "′′"),
+        (0x2034, "M", "′′′"),
+        (0x2035, "V"),
+        (0x2036, "M", "‵‵"),
+        (0x2037, "M", "‵‵‵"),
+        (0x2038, "V"),
+        (0x203C, "3", "!!"),
+        (0x203D, "V"),
+        (0x203E, "3", " ̅"),
+        (0x203F, "V"),
+        (0x2047, "3", "??"),
+        (0x2048, "3", "?!"),
+        (0x2049, "3", "!?"),
+        (0x204A, "V"),
+        (0x2057, "M", "′′′′"),
+        (0x2058, "V"),
+        (0x205F, "3", " "),
+        (0x2060, "I"),
+        (0x2061, "X"),
+        (0x2064, "I"),
+        (0x2065, "X"),
+        (0x2070, "M", "0"),
+        (0x2071, "M", "i"),
+        (0x2072, "X"),
+        (0x2074, "M", "4"),
+        (0x2075, "M", "5"),
+        (0x2076, "M", "6"),
+        (0x2077, "M", "7"),
+        (0x2078, "M", "8"),
+        (0x2079, "M", "9"),
+        (0x207A, "3", "+"),
+        (0x207B, "M", "−"),
+        (0x207C, "3", "="),
+        (0x207D, "3", "("),
+        (0x207E, "3", ")"),
+        (0x207F, "M", "n"),
+        (0x2080, "M", "0"),
+        (0x2081, "M", "1"),
+        (0x2082, "M", "2"),
+        (0x2083, "M", "3"),
+        (0x2084, "M", "4"),
+        (0x2085, "M", "5"),
+        (0x2086, "M", "6"),
+        (0x2087, "M", "7"),
+        (0x2088, "M", "8"),
+        (0x2089, "M", "9"),
+        (0x208A, "3", "+"),
+        (0x208B, "M", "−"),
+        (0x208C, "3", "="),
+        (0x208D, "3", "("),
+        (0x208E, "3", ")"),
+        (0x208F, "X"),
+        (0x2090, "M", "a"),
+        (0x2091, "M", "e"),
+        (0x2092, "M", "o"),
+        (0x2093, "M", "x"),
+        (0x2094, "M", "ə"),
+        (0x2095, "M", "h"),
+        (0x2096, "M", "k"),
+        (0x2097, "M", "l"),
+        (0x2098, "M", "m"),
+        (0x2099, "M", "n"),
+        (0x209A, "M", "p"),
+        (0x209B, "M", "s"),
+        (0x209C, "M", "t"),
+        (0x209D, "X"),
+        (0x20A0, "V"),
+        (0x20A8, "M", "rs"),
+        (0x20A9, "V"),
+        (0x20C1, "X"),
+        (0x20D0, "V"),
+        (0x20F1, "X"),
+        (0x2100, "3", "a/c"),
+        (0x2101, "3", "a/s"),
+        (0x2102, "M", "c"),
+        (0x2103, "M", "°c"),
+        (0x2104, "V"),
     ]
 
+
 def _seg_22() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x2105, '3', 'c/o'),
-    (0x2106, '3', 'c/u'),
-    (0x2107, 'M', 'ɛ'),
-    (0x2108, 'V'),
-    (0x2109, 'M', '°f'),
-    (0x210A, 'M', 'g'),
-    (0x210B, 'M', 'h'),
-    (0x210F, 'M', 'ħ'),
-    (0x2110, 'M', 'i'),
-    (0x2112, 'M', 'l'),
-    (0x2114, 'V'),
-    (0x2115, 'M', 'n'),
-    (0x2116, 'M', 'no'),
-    (0x2117, 'V'),
-    (0x2119, 'M', 'p'),
-    (0x211A, 'M', 'q'),
-    (0x211B, 'M', 'r'),
-    (0x211E, 'V'),
-    (0x2120, 'M', 'sm'),
-    (0x2121, 'M', 'tel'),
-    (0x2122, 'M', 'tm'),
-    (0x2123, 'V'),
-    (0x2124, 'M', 'z'),
-    (0x2125, 'V'),
-    (0x2126, 'M', 'ω'),
-    (0x2127, 'V'),
-    (0x2128, 'M', 'z'),
-    (0x2129, 'V'),
-    (0x212A, 'M', 'k'),
-    (0x212B, 'M', 'å'),
-    (0x212C, 'M', 'b'),
-    (0x212D, 'M', 'c'),
-    (0x212E, 'V'),
-    (0x212F, 'M', 'e'),
-    (0x2131, 'M', 'f'),
-    (0x2132, 'X'),
-    (0x2133, 'M', 'm'),
-    (0x2134, 'M', 'o'),
-    (0x2135, 'M', 'א'),
-    (0x2136, 'M', 'ב'),
-    (0x2137, 'M', 'ג'),
-    (0x2138, 'M', 'ד'),
-    (0x2139, 'M', 'i'),
-    (0x213A, 'V'),
-    (0x213B, 'M', 'fax'),
-    (0x213C, 'M', 'π'),
-    (0x213D, 'M', 'γ'),
-    (0x213F, 'M', 'π'),
-    (0x2140, 'M', '∑'),
-    (0x2141, 'V'),
-    (0x2145, 'M', 'd'),
-    (0x2147, 'M', 'e'),
-    (0x2148, 'M', 'i'),
-    (0x2149, 'M', 'j'),
-    (0x214A, 'V'),
-    (0x2150, 'M', '1⁄7'),
-    (0x2151, 'M', '1⁄9'),
-    (0x2152, 'M', '1⁄10'),
-    (0x2153, 'M', '1⁄3'),
-    (0x2154, 'M', '2⁄3'),
-    (0x2155, 'M', '1⁄5'),
-    (0x2156, 'M', '2⁄5'),
-    (0x2157, 'M', '3⁄5'),
-    (0x2158, 'M', '4⁄5'),
-    (0x2159, 'M', '1⁄6'),
-    (0x215A, 'M', '5⁄6'),
-    (0x215B, 'M', '1⁄8'),
-    (0x215C, 'M', '3⁄8'),
-    (0x215D, 'M', '5⁄8'),
-    (0x215E, 'M', '7⁄8'),
-    (0x215F, 'M', '1⁄'),
-    (0x2160, 'M', 'i'),
-    (0x2161, 'M', 'ii'),
-    (0x2162, 'M', 'iii'),
-    (0x2163, 'M', 'iv'),
-    (0x2164, 'M', 'v'),
-    (0x2165, 'M', 'vi'),
-    (0x2166, 'M', 'vii'),
-    (0x2167, 'M', 'viii'),
-    (0x2168, 'M', 'ix'),
-    (0x2169, 'M', 'x'),
-    (0x216A, 'M', 'xi'),
-    (0x216B, 'M', 'xii'),
-    (0x216C, 'M', 'l'),
-    (0x216D, 'M', 'c'),
-    (0x216E, 'M', 'd'),
-    (0x216F, 'M', 'm'),
-    (0x2170, 'M', 'i'),
-    (0x2171, 'M', 'ii'),
-    (0x2172, 'M', 'iii'),
-    (0x2173, 'M', 'iv'),
-    (0x2174, 'M', 'v'),
-    (0x2175, 'M', 'vi'),
-    (0x2176, 'M', 'vii'),
-    (0x2177, 'M', 'viii'),
-    (0x2178, 'M', 'ix'),
-    (0x2179, 'M', 'x'),
-    (0x217A, 'M', 'xi'),
-    (0x217B, 'M', 'xii'),
-    (0x217C, 'M', 'l'),
+        (0x2105, "3", "c/o"),
+        (0x2106, "3", "c/u"),
+        (0x2107, "M", "ɛ"),
+        (0x2108, "V"),
+        (0x2109, "M", "°f"),
+        (0x210A, "M", "g"),
+        (0x210B, "M", "h"),
+        (0x210F, "M", "ħ"),
+        (0x2110, "M", "i"),
+        (0x2112, "M", "l"),
+        (0x2114, "V"),
+        (0x2115, "M", "n"),
+        (0x2116, "M", "no"),
+        (0x2117, "V"),
+        (0x2119, "M", "p"),
+        (0x211A, "M", "q"),
+        (0x211B, "M", "r"),
+        (0x211E, "V"),
+        (0x2120, "M", "sm"),
+        (0x2121, "M", "tel"),
+        (0x2122, "M", "tm"),
+        (0x2123, "V"),
+        (0x2124, "M", "z"),
+        (0x2125, "V"),
+        (0x2126, "M", "ω"),
+        (0x2127, "V"),
+        (0x2128, "M", "z"),
+        (0x2129, "V"),
+        (0x212A, "M", "k"),
+        (0x212B, "M", "å"),
+        (0x212C, "M", "b"),
+        (0x212D, "M", "c"),
+        (0x212E, "V"),
+        (0x212F, "M", "e"),
+        (0x2131, "M", "f"),
+        (0x2132, "X"),
+        (0x2133, "M", "m"),
+        (0x2134, "M", "o"),
+        (0x2135, "M", "א"),
+        (0x2136, "M", "ב"),
+        (0x2137, "M", "ג"),
+        (0x2138, "M", "ד"),
+        (0x2139, "M", "i"),
+        (0x213A, "V"),
+        (0x213B, "M", "fax"),
+        (0x213C, "M", "π"),
+        (0x213D, "M", "γ"),
+        (0x213F, "M", "π"),
+        (0x2140, "M", "∑"),
+        (0x2141, "V"),
+        (0x2145, "M", "d"),
+        (0x2147, "M", "e"),
+        (0x2148, "M", "i"),
+        (0x2149, "M", "j"),
+        (0x214A, "V"),
+        (0x2150, "M", "1⁄7"),
+        (0x2151, "M", "1⁄9"),
+        (0x2152, "M", "1⁄10"),
+        (0x2153, "M", "1⁄3"),
+        (0x2154, "M", "2⁄3"),
+        (0x2155, "M", "1⁄5"),
+        (0x2156, "M", "2⁄5"),
+        (0x2157, "M", "3⁄5"),
+        (0x2158, "M", "4⁄5"),
+        (0x2159, "M", "1⁄6"),
+        (0x215A, "M", "5⁄6"),
+        (0x215B, "M", "1⁄8"),
+        (0x215C, "M", "3⁄8"),
+        (0x215D, "M", "5⁄8"),
+        (0x215E, "M", "7⁄8"),
+        (0x215F, "M", "1⁄"),
+        (0x2160, "M", "i"),
+        (0x2161, "M", "ii"),
+        (0x2162, "M", "iii"),
+        (0x2163, "M", "iv"),
+        (0x2164, "M", "v"),
+        (0x2165, "M", "vi"),
+        (0x2166, "M", "vii"),
+        (0x2167, "M", "viii"),
+        (0x2168, "M", "ix"),
+        (0x2169, "M", "x"),
+        (0x216A, "M", "xi"),
+        (0x216B, "M", "xii"),
+        (0x216C, "M", "l"),
+        (0x216D, "M", "c"),
+        (0x216E, "M", "d"),
+        (0x216F, "M", "m"),
+        (0x2170, "M", "i"),
+        (0x2171, "M", "ii"),
+        (0x2172, "M", "iii"),
+        (0x2173, "M", "iv"),
+        (0x2174, "M", "v"),
+        (0x2175, "M", "vi"),
+        (0x2176, "M", "vii"),
+        (0x2177, "M", "viii"),
+        (0x2178, "M", "ix"),
+        (0x2179, "M", "x"),
+        (0x217A, "M", "xi"),
+        (0x217B, "M", "xii"),
+        (0x217C, "M", "l"),
     ]
 
+
 def _seg_23() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x217D, 'M', 'c'),
-    (0x217E, 'M', 'd'),
-    (0x217F, 'M', 'm'),
-    (0x2180, 'V'),
-    (0x2183, 'X'),
-    (0x2184, 'V'),
-    (0x2189, 'M', '0⁄3'),
-    (0x218A, 'V'),
-    (0x218C, 'X'),
-    (0x2190, 'V'),
-    (0x222C, 'M', '∫∫'),
-    (0x222D, 'M', '∫∫∫'),
-    (0x222E, 'V'),
-    (0x222F, 'M', '∮∮'),
-    (0x2230, 'M', '∮∮∮'),
-    (0x2231, 'V'),
-    (0x2329, 'M', '〈'),
-    (0x232A, 'M', '〉'),
-    (0x232B, 'V'),
-    (0x2427, 'X'),
-    (0x2440, 'V'),
-    (0x244B, 'X'),
-    (0x2460, 'M', '1'),
-    (0x2461, 'M', '2'),
-    (0x2462, 'M', '3'),
-    (0x2463, 'M', '4'),
-    (0x2464, 'M', '5'),
-    (0x2465, 'M', '6'),
-    (0x2466, 'M', '7'),
-    (0x2467, 'M', '8'),
-    (0x2468, 'M', '9'),
-    (0x2469, 'M', '10'),
-    (0x246A, 'M', '11'),
-    (0x246B, 'M', '12'),
-    (0x246C, 'M', '13'),
-    (0x246D, 'M', '14'),
-    (0x246E, 'M', '15'),
-    (0x246F, 'M', '16'),
-    (0x2470, 'M', '17'),
-    (0x2471, 'M', '18'),
-    (0x2472, 'M', '19'),
-    (0x2473, 'M', '20'),
-    (0x2474, '3', '(1)'),
-    (0x2475, '3', '(2)'),
-    (0x2476, '3', '(3)'),
-    (0x2477, '3', '(4)'),
-    (0x2478, '3', '(5)'),
-    (0x2479, '3', '(6)'),
-    (0x247A, '3', '(7)'),
-    (0x247B, '3', '(8)'),
-    (0x247C, '3', '(9)'),
-    (0x247D, '3', '(10)'),
-    (0x247E, '3', '(11)'),
-    (0x247F, '3', '(12)'),
-    (0x2480, '3', '(13)'),
-    (0x2481, '3', '(14)'),
-    (0x2482, '3', '(15)'),
-    (0x2483, '3', '(16)'),
-    (0x2484, '3', '(17)'),
-    (0x2485, '3', '(18)'),
-    (0x2486, '3', '(19)'),
-    (0x2487, '3', '(20)'),
-    (0x2488, 'X'),
-    (0x249C, '3', '(a)'),
-    (0x249D, '3', '(b)'),
-    (0x249E, '3', '(c)'),
-    (0x249F, '3', '(d)'),
-    (0x24A0, '3', '(e)'),
-    (0x24A1, '3', '(f)'),
-    (0x24A2, '3', '(g)'),
-    (0x24A3, '3', '(h)'),
-    (0x24A4, '3', '(i)'),
-    (0x24A5, '3', '(j)'),
-    (0x24A6, '3', '(k)'),
-    (0x24A7, '3', '(l)'),
-    (0x24A8, '3', '(m)'),
-    (0x24A9, '3', '(n)'),
-    (0x24AA, '3', '(o)'),
-    (0x24AB, '3', '(p)'),
-    (0x24AC, '3', '(q)'),
-    (0x24AD, '3', '(r)'),
-    (0x24AE, '3', '(s)'),
-    (0x24AF, '3', '(t)'),
-    (0x24B0, '3', '(u)'),
-    (0x24B1, '3', '(v)'),
-    (0x24B2, '3', '(w)'),
-    (0x24B3, '3', '(x)'),
-    (0x24B4, '3', '(y)'),
-    (0x24B5, '3', '(z)'),
-    (0x24B6, 'M', 'a'),
-    (0x24B7, 'M', 'b'),
-    (0x24B8, 'M', 'c'),
-    (0x24B9, 'M', 'd'),
-    (0x24BA, 'M', 'e'),
-    (0x24BB, 'M', 'f'),
-    (0x24BC, 'M', 'g'),
-    (0x24BD, 'M', 'h'),
-    (0x24BE, 'M', 'i'),
-    (0x24BF, 'M', 'j'),
-    (0x24C0, 'M', 'k'),
+        (0x217D, "M", "c"),
+        (0x217E, "M", "d"),
+        (0x217F, "M", "m"),
+        (0x2180, "V"),
+        (0x2183, "X"),
+        (0x2184, "V"),
+        (0x2189, "M", "0⁄3"),
+        (0x218A, "V"),
+        (0x218C, "X"),
+        (0x2190, "V"),
+        (0x222C, "M", "∫∫"),
+        (0x222D, "M", "∫∫∫"),
+        (0x222E, "V"),
+        (0x222F, "M", "∮∮"),
+        (0x2230, "M", "∮∮∮"),
+        (0x2231, "V"),
+        (0x2329, "M", "〈"),
+        (0x232A, "M", "〉"),
+        (0x232B, "V"),
+        (0x2427, "X"),
+        (0x2440, "V"),
+        (0x244B, "X"),
+        (0x2460, "M", "1"),
+        (0x2461, "M", "2"),
+        (0x2462, "M", "3"),
+        (0x2463, "M", "4"),
+        (0x2464, "M", "5"),
+        (0x2465, "M", "6"),
+        (0x2466, "M", "7"),
+        (0x2467, "M", "8"),
+        (0x2468, "M", "9"),
+        (0x2469, "M", "10"),
+        (0x246A, "M", "11"),
+        (0x246B, "M", "12"),
+        (0x246C, "M", "13"),
+        (0x246D, "M", "14"),
+        (0x246E, "M", "15"),
+        (0x246F, "M", "16"),
+        (0x2470, "M", "17"),
+        (0x2471, "M", "18"),
+        (0x2472, "M", "19"),
+        (0x2473, "M", "20"),
+        (0x2474, "3", "(1)"),
+        (0x2475, "3", "(2)"),
+        (0x2476, "3", "(3)"),
+        (0x2477, "3", "(4)"),
+        (0x2478, "3", "(5)"),
+        (0x2479, "3", "(6)"),
+        (0x247A, "3", "(7)"),
+        (0x247B, "3", "(8)"),
+        (0x247C, "3", "(9)"),
+        (0x247D, "3", "(10)"),
+        (0x247E, "3", "(11)"),
+        (0x247F, "3", "(12)"),
+        (0x2480, "3", "(13)"),
+        (0x2481, "3", "(14)"),
+        (0x2482, "3", "(15)"),
+        (0x2483, "3", "(16)"),
+        (0x2484, "3", "(17)"),
+        (0x2485, "3", "(18)"),
+        (0x2486, "3", "(19)"),
+        (0x2487, "3", "(20)"),
+        (0x2488, "X"),
+        (0x249C, "3", "(a)"),
+        (0x249D, "3", "(b)"),
+        (0x249E, "3", "(c)"),
+        (0x249F, "3", "(d)"),
+        (0x24A0, "3", "(e)"),
+        (0x24A1, "3", "(f)"),
+        (0x24A2, "3", "(g)"),
+        (0x24A3, "3", "(h)"),
+        (0x24A4, "3", "(i)"),
+        (0x24A5, "3", "(j)"),
+        (0x24A6, "3", "(k)"),
+        (0x24A7, "3", "(l)"),
+        (0x24A8, "3", "(m)"),
+        (0x24A9, "3", "(n)"),
+        (0x24AA, "3", "(o)"),
+        (0x24AB, "3", "(p)"),
+        (0x24AC, "3", "(q)"),
+        (0x24AD, "3", "(r)"),
+        (0x24AE, "3", "(s)"),
+        (0x24AF, "3", "(t)"),
+        (0x24B0, "3", "(u)"),
+        (0x24B1, "3", "(v)"),
+        (0x24B2, "3", "(w)"),
+        (0x24B3, "3", "(x)"),
+        (0x24B4, "3", "(y)"),
+        (0x24B5, "3", "(z)"),
+        (0x24B6, "M", "a"),
+        (0x24B7, "M", "b"),
+        (0x24B8, "M", "c"),
+        (0x24B9, "M", "d"),
+        (0x24BA, "M", "e"),
+        (0x24BB, "M", "f"),
+        (0x24BC, "M", "g"),
+        (0x24BD, "M", "h"),
+        (0x24BE, "M", "i"),
+        (0x24BF, "M", "j"),
+        (0x24C0, "M", "k"),
     ]
 
+
 def _seg_24() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x24C1, 'M', 'l'),
-    (0x24C2, 'M', 'm'),
-    (0x24C3, 'M', 'n'),
-    (0x24C4, 'M', 'o'),
-    (0x24C5, 'M', 'p'),
-    (0x24C6, 'M', 'q'),
-    (0x24C7, 'M', 'r'),
-    (0x24C8, 'M', 's'),
-    (0x24C9, 'M', 't'),
-    (0x24CA, 'M', 'u'),
-    (0x24CB, 'M', 'v'),
-    (0x24CC, 'M', 'w'),
-    (0x24CD, 'M', 'x'),
-    (0x24CE, 'M', 'y'),
-    (0x24CF, 'M', 'z'),
-    (0x24D0, 'M', 'a'),
-    (0x24D1, 'M', 'b'),
-    (0x24D2, 'M', 'c'),
-    (0x24D3, 'M', 'd'),
-    (0x24D4, 'M', 'e'),
-    (0x24D5, 'M', 'f'),
-    (0x24D6, 'M', 'g'),
-    (0x24D7, 'M', 'h'),
-    (0x24D8, 'M', 'i'),
-    (0x24D9, 'M', 'j'),
-    (0x24DA, 'M', 'k'),
-    (0x24DB, 'M', 'l'),
-    (0x24DC, 'M', 'm'),
-    (0x24DD, 'M', 'n'),
-    (0x24DE, 'M', 'o'),
-    (0x24DF, 'M', 'p'),
-    (0x24E0, 'M', 'q'),
-    (0x24E1, 'M', 'r'),
-    (0x24E2, 'M', 's'),
-    (0x24E3, 'M', 't'),
-    (0x24E4, 'M', 'u'),
-    (0x24E5, 'M', 'v'),
-    (0x24E6, 'M', 'w'),
-    (0x24E7, 'M', 'x'),
-    (0x24E8, 'M', 'y'),
-    (0x24E9, 'M', 'z'),
-    (0x24EA, 'M', '0'),
-    (0x24EB, 'V'),
-    (0x2A0C, 'M', '∫∫∫∫'),
-    (0x2A0D, 'V'),
-    (0x2A74, '3', '::='),
-    (0x2A75, '3', '=='),
-    (0x2A76, '3', '==='),
-    (0x2A77, 'V'),
-    (0x2ADC, 'M', '⫝̸'),
-    (0x2ADD, 'V'),
-    (0x2B74, 'X'),
-    (0x2B76, 'V'),
-    (0x2B96, 'X'),
-    (0x2B97, 'V'),
-    (0x2C00, 'M', 'ⰰ'),
-    (0x2C01, 'M', 'ⰱ'),
-    (0x2C02, 'M', 'ⰲ'),
-    (0x2C03, 'M', 'ⰳ'),
-    (0x2C04, 'M', 'ⰴ'),
-    (0x2C05, 'M', 'ⰵ'),
-    (0x2C06, 'M', 'ⰶ'),
-    (0x2C07, 'M', 'ⰷ'),
-    (0x2C08, 'M', 'ⰸ'),
-    (0x2C09, 'M', 'ⰹ'),
-    (0x2C0A, 'M', 'ⰺ'),
-    (0x2C0B, 'M', 'ⰻ'),
-    (0x2C0C, 'M', 'ⰼ'),
-    (0x2C0D, 'M', 'ⰽ'),
-    (0x2C0E, 'M', 'ⰾ'),
-    (0x2C0F, 'M', 'ⰿ'),
-    (0x2C10, 'M', 'ⱀ'),
-    (0x2C11, 'M', 'ⱁ'),
-    (0x2C12, 'M', 'ⱂ'),
-    (0x2C13, 'M', 'ⱃ'),
-    (0x2C14, 'M', 'ⱄ'),
-    (0x2C15, 'M', 'ⱅ'),
-    (0x2C16, 'M', 'ⱆ'),
-    (0x2C17, 'M', 'ⱇ'),
-    (0x2C18, 'M', 'ⱈ'),
-    (0x2C19, 'M', 'ⱉ'),
-    (0x2C1A, 'M', 'ⱊ'),
-    (0x2C1B, 'M', 'ⱋ'),
-    (0x2C1C, 'M', 'ⱌ'),
-    (0x2C1D, 'M', 'ⱍ'),
-    (0x2C1E, 'M', 'ⱎ'),
-    (0x2C1F, 'M', 'ⱏ'),
-    (0x2C20, 'M', 'ⱐ'),
-    (0x2C21, 'M', 'ⱑ'),
-    (0x2C22, 'M', 'ⱒ'),
-    (0x2C23, 'M', 'ⱓ'),
-    (0x2C24, 'M', 'ⱔ'),
-    (0x2C25, 'M', 'ⱕ'),
-    (0x2C26, 'M', 'ⱖ'),
-    (0x2C27, 'M', 'ⱗ'),
-    (0x2C28, 'M', 'ⱘ'),
-    (0x2C29, 'M', 'ⱙ'),
-    (0x2C2A, 'M', 'ⱚ'),
-    (0x2C2B, 'M', 'ⱛ'),
-    (0x2C2C, 'M', 'ⱜ'),
+        (0x24C1, "M", "l"),
+        (0x24C2, "M", "m"),
+        (0x24C3, "M", "n"),
+        (0x24C4, "M", "o"),
+        (0x24C5, "M", "p"),
+        (0x24C6, "M", "q"),
+        (0x24C7, "M", "r"),
+        (0x24C8, "M", "s"),
+        (0x24C9, "M", "t"),
+        (0x24CA, "M", "u"),
+        (0x24CB, "M", "v"),
+        (0x24CC, "M", "w"),
+        (0x24CD, "M", "x"),
+        (0x24CE, "M", "y"),
+        (0x24CF, "M", "z"),
+        (0x24D0, "M", "a"),
+        (0x24D1, "M", "b"),
+        (0x24D2, "M", "c"),
+        (0x24D3, "M", "d"),
+        (0x24D4, "M", "e"),
+        (0x24D5, "M", "f"),
+        (0x24D6, "M", "g"),
+        (0x24D7, "M", "h"),
+        (0x24D8, "M", "i"),
+        (0x24D9, "M", "j"),
+        (0x24DA, "M", "k"),
+        (0x24DB, "M", "l"),
+        (0x24DC, "M", "m"),
+        (0x24DD, "M", "n"),
+        (0x24DE, "M", "o"),
+        (0x24DF, "M", "p"),
+        (0x24E0, "M", "q"),
+        (0x24E1, "M", "r"),
+        (0x24E2, "M", "s"),
+        (0x24E3, "M", "t"),
+        (0x24E4, "M", "u"),
+        (0x24E5, "M", "v"),
+        (0x24E6, "M", "w"),
+        (0x24E7, "M", "x"),
+        (0x24E8, "M", "y"),
+        (0x24E9, "M", "z"),
+        (0x24EA, "M", "0"),
+        (0x24EB, "V"),
+        (0x2A0C, "M", "∫∫∫∫"),
+        (0x2A0D, "V"),
+        (0x2A74, "3", "::="),
+        (0x2A75, "3", "=="),
+        (0x2A76, "3", "==="),
+        (0x2A77, "V"),
+        (0x2ADC, "M", "⫝̸"),
+        (0x2ADD, "V"),
+        (0x2B74, "X"),
+        (0x2B76, "V"),
+        (0x2B96, "X"),
+        (0x2B97, "V"),
+        (0x2C00, "M", "ⰰ"),
+        (0x2C01, "M", "ⰱ"),
+        (0x2C02, "M", "ⰲ"),
+        (0x2C03, "M", "ⰳ"),
+        (0x2C04, "M", "ⰴ"),
+        (0x2C05, "M", "ⰵ"),
+        (0x2C06, "M", "ⰶ"),
+        (0x2C07, "M", "ⰷ"),
+        (0x2C08, "M", "ⰸ"),
+        (0x2C09, "M", "ⰹ"),
+        (0x2C0A, "M", "ⰺ"),
+        (0x2C0B, "M", "ⰻ"),
+        (0x2C0C, "M", "ⰼ"),
+        (0x2C0D, "M", "ⰽ"),
+        (0x2C0E, "M", "ⰾ"),
+        (0x2C0F, "M", "ⰿ"),
+        (0x2C10, "M", "ⱀ"),
+        (0x2C11, "M", "ⱁ"),
+        (0x2C12, "M", "ⱂ"),
+        (0x2C13, "M", "ⱃ"),
+        (0x2C14, "M", "ⱄ"),
+        (0x2C15, "M", "ⱅ"),
+        (0x2C16, "M", "ⱆ"),
+        (0x2C17, "M", "ⱇ"),
+        (0x2C18, "M", "ⱈ"),
+        (0x2C19, "M", "ⱉ"),
+        (0x2C1A, "M", "ⱊ"),
+        (0x2C1B, "M", "ⱋ"),
+        (0x2C1C, "M", "ⱌ"),
+        (0x2C1D, "M", "ⱍ"),
+        (0x2C1E, "M", "ⱎ"),
+        (0x2C1F, "M", "ⱏ"),
+        (0x2C20, "M", "ⱐ"),
+        (0x2C21, "M", "ⱑ"),
+        (0x2C22, "M", "ⱒ"),
+        (0x2C23, "M", "ⱓ"),
+        (0x2C24, "M", "ⱔ"),
+        (0x2C25, "M", "ⱕ"),
+        (0x2C26, "M", "ⱖ"),
+        (0x2C27, "M", "ⱗ"),
+        (0x2C28, "M", "ⱘ"),
+        (0x2C29, "M", "ⱙ"),
+        (0x2C2A, "M", "ⱚ"),
+        (0x2C2B, "M", "ⱛ"),
+        (0x2C2C, "M", "ⱜ"),
     ]
 
+
 def _seg_25() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x2C2D, 'M', 'ⱝ'),
-    (0x2C2E, 'M', 'ⱞ'),
-    (0x2C2F, 'M', 'ⱟ'),
-    (0x2C30, 'V'),
-    (0x2C60, 'M', 'ⱡ'),
-    (0x2C61, 'V'),
-    (0x2C62, 'M', 'ɫ'),
-    (0x2C63, 'M', 'ᵽ'),
-    (0x2C64, 'M', 'ɽ'),
-    (0x2C65, 'V'),
-    (0x2C67, 'M', 'ⱨ'),
-    (0x2C68, 'V'),
-    (0x2C69, 'M', 'ⱪ'),
-    (0x2C6A, 'V'),
-    (0x2C6B, 'M', 'ⱬ'),
-    (0x2C6C, 'V'),
-    (0x2C6D, 'M', 'ɑ'),
-    (0x2C6E, 'M', 'ɱ'),
-    (0x2C6F, 'M', 'ɐ'),
-    (0x2C70, 'M', 'ɒ'),
-    (0x2C71, 'V'),
-    (0x2C72, 'M', 'ⱳ'),
-    (0x2C73, 'V'),
-    (0x2C75, 'M', 'ⱶ'),
-    (0x2C76, 'V'),
-    (0x2C7C, 'M', 'j'),
-    (0x2C7D, 'M', 'v'),
-    (0x2C7E, 'M', 'ȿ'),
-    (0x2C7F, 'M', 'ɀ'),
-    (0x2C80, 'M', 'ⲁ'),
-    (0x2C81, 'V'),
-    (0x2C82, 'M', 'ⲃ'),
-    (0x2C83, 'V'),
-    (0x2C84, 'M', 'ⲅ'),
-    (0x2C85, 'V'),
-    (0x2C86, 'M', 'ⲇ'),
-    (0x2C87, 'V'),
-    (0x2C88, 'M', 'ⲉ'),
-    (0x2C89, 'V'),
-    (0x2C8A, 'M', 'ⲋ'),
-    (0x2C8B, 'V'),
-    (0x2C8C, 'M', 'ⲍ'),
-    (0x2C8D, 'V'),
-    (0x2C8E, 'M', 'ⲏ'),
-    (0x2C8F, 'V'),
-    (0x2C90, 'M', 'ⲑ'),
-    (0x2C91, 'V'),
-    (0x2C92, 'M', 'ⲓ'),
-    (0x2C93, 'V'),
-    (0x2C94, 'M', 'ⲕ'),
-    (0x2C95, 'V'),
-    (0x2C96, 'M', 'ⲗ'),
-    (0x2C97, 'V'),
-    (0x2C98, 'M', 'ⲙ'),
-    (0x2C99, 'V'),
-    (0x2C9A, 'M', 'ⲛ'),
-    (0x2C9B, 'V'),
-    (0x2C9C, 'M', 'ⲝ'),
-    (0x2C9D, 'V'),
-    (0x2C9E, 'M', 'ⲟ'),
-    (0x2C9F, 'V'),
-    (0x2CA0, 'M', 'ⲡ'),
-    (0x2CA1, 'V'),
-    (0x2CA2, 'M', 'ⲣ'),
-    (0x2CA3, 'V'),
-    (0x2CA4, 'M', 'ⲥ'),
-    (0x2CA5, 'V'),
-    (0x2CA6, 'M', 'ⲧ'),
-    (0x2CA7, 'V'),
-    (0x2CA8, 'M', 'ⲩ'),
-    (0x2CA9, 'V'),
-    (0x2CAA, 'M', 'ⲫ'),
-    (0x2CAB, 'V'),
-    (0x2CAC, 'M', 'ⲭ'),
-    (0x2CAD, 'V'),
-    (0x2CAE, 'M', 'ⲯ'),
-    (0x2CAF, 'V'),
-    (0x2CB0, 'M', 'ⲱ'),
-    (0x2CB1, 'V'),
-    (0x2CB2, 'M', 'ⲳ'),
-    (0x2CB3, 'V'),
-    (0x2CB4, 'M', 'ⲵ'),
-    (0x2CB5, 'V'),
-    (0x2CB6, 'M', 'ⲷ'),
-    (0x2CB7, 'V'),
-    (0x2CB8, 'M', 'ⲹ'),
-    (0x2CB9, 'V'),
-    (0x2CBA, 'M', 'ⲻ'),
-    (0x2CBB, 'V'),
-    (0x2CBC, 'M', 'ⲽ'),
-    (0x2CBD, 'V'),
-    (0x2CBE, 'M', 'ⲿ'),
-    (0x2CBF, 'V'),
-    (0x2CC0, 'M', 'ⳁ'),
-    (0x2CC1, 'V'),
-    (0x2CC2, 'M', 'ⳃ'),
-    (0x2CC3, 'V'),
-    (0x2CC4, 'M', 'ⳅ'),
-    (0x2CC5, 'V'),
-    (0x2CC6, 'M', 'ⳇ'),
+        (0x2C2D, "M", "ⱝ"),
+        (0x2C2E, "M", "ⱞ"),
+        (0x2C2F, "M", "ⱟ"),
+        (0x2C30, "V"),
+        (0x2C60, "M", "ⱡ"),
+        (0x2C61, "V"),
+        (0x2C62, "M", "ɫ"),
+        (0x2C63, "M", "ᵽ"),
+        (0x2C64, "M", "ɽ"),
+        (0x2C65, "V"),
+        (0x2C67, "M", "ⱨ"),
+        (0x2C68, "V"),
+        (0x2C69, "M", "ⱪ"),
+        (0x2C6A, "V"),
+        (0x2C6B, "M", "ⱬ"),
+        (0x2C6C, "V"),
+        (0x2C6D, "M", "ɑ"),
+        (0x2C6E, "M", "ɱ"),
+        (0x2C6F, "M", "ɐ"),
+        (0x2C70, "M", "ɒ"),
+        (0x2C71, "V"),
+        (0x2C72, "M", "ⱳ"),
+        (0x2C73, "V"),
+        (0x2C75, "M", "ⱶ"),
+        (0x2C76, "V"),
+        (0x2C7C, "M", "j"),
+        (0x2C7D, "M", "v"),
+        (0x2C7E, "M", "ȿ"),
+        (0x2C7F, "M", "ɀ"),
+        (0x2C80, "M", "ⲁ"),
+        (0x2C81, "V"),
+        (0x2C82, "M", "ⲃ"),
+        (0x2C83, "V"),
+        (0x2C84, "M", "ⲅ"),
+        (0x2C85, "V"),
+        (0x2C86, "M", "ⲇ"),
+        (0x2C87, "V"),
+        (0x2C88, "M", "ⲉ"),
+        (0x2C89, "V"),
+        (0x2C8A, "M", "ⲋ"),
+        (0x2C8B, "V"),
+        (0x2C8C, "M", "ⲍ"),
+        (0x2C8D, "V"),
+        (0x2C8E, "M", "ⲏ"),
+        (0x2C8F, "V"),
+        (0x2C90, "M", "ⲑ"),
+        (0x2C91, "V"),
+        (0x2C92, "M", "ⲓ"),
+        (0x2C93, "V"),
+        (0x2C94, "M", "ⲕ"),
+        (0x2C95, "V"),
+        (0x2C96, "M", "ⲗ"),
+        (0x2C97, "V"),
+        (0x2C98, "M", "ⲙ"),
+        (0x2C99, "V"),
+        (0x2C9A, "M", "ⲛ"),
+        (0x2C9B, "V"),
+        (0x2C9C, "M", "ⲝ"),
+        (0x2C9D, "V"),
+        (0x2C9E, "M", "ⲟ"),
+        (0x2C9F, "V"),
+        (0x2CA0, "M", "ⲡ"),
+        (0x2CA1, "V"),
+        (0x2CA2, "M", "ⲣ"),
+        (0x2CA3, "V"),
+        (0x2CA4, "M", "ⲥ"),
+        (0x2CA5, "V"),
+        (0x2CA6, "M", "ⲧ"),
+        (0x2CA7, "V"),
+        (0x2CA8, "M", "ⲩ"),
+        (0x2CA9, "V"),
+        (0x2CAA, "M", "ⲫ"),
+        (0x2CAB, "V"),
+        (0x2CAC, "M", "ⲭ"),
+        (0x2CAD, "V"),
+        (0x2CAE, "M", "ⲯ"),
+        (0x2CAF, "V"),
+        (0x2CB0, "M", "ⲱ"),
+        (0x2CB1, "V"),
+        (0x2CB2, "M", "ⲳ"),
+        (0x2CB3, "V"),
+        (0x2CB4, "M", "ⲵ"),
+        (0x2CB5, "V"),
+        (0x2CB6, "M", "ⲷ"),
+        (0x2CB7, "V"),
+        (0x2CB8, "M", "ⲹ"),
+        (0x2CB9, "V"),
+        (0x2CBA, "M", "ⲻ"),
+        (0x2CBB, "V"),
+        (0x2CBC, "M", "ⲽ"),
+        (0x2CBD, "V"),
+        (0x2CBE, "M", "ⲿ"),
+        (0x2CBF, "V"),
+        (0x2CC0, "M", "ⳁ"),
+        (0x2CC1, "V"),
+        (0x2CC2, "M", "ⳃ"),
+        (0x2CC3, "V"),
+        (0x2CC4, "M", "ⳅ"),
+        (0x2CC5, "V"),
+        (0x2CC6, "M", "ⳇ"),
     ]
 
+
 def _seg_26() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x2CC7, 'V'),
-    (0x2CC8, 'M', 'ⳉ'),
-    (0x2CC9, 'V'),
-    (0x2CCA, 'M', 'ⳋ'),
-    (0x2CCB, 'V'),
-    (0x2CCC, 'M', 'ⳍ'),
-    (0x2CCD, 'V'),
-    (0x2CCE, 'M', 'ⳏ'),
-    (0x2CCF, 'V'),
-    (0x2CD0, 'M', 'ⳑ'),
-    (0x2CD1, 'V'),
-    (0x2CD2, 'M', 'ⳓ'),
-    (0x2CD3, 'V'),
-    (0x2CD4, 'M', 'ⳕ'),
-    (0x2CD5, 'V'),
-    (0x2CD6, 'M', 'ⳗ'),
-    (0x2CD7, 'V'),
-    (0x2CD8, 'M', 'ⳙ'),
-    (0x2CD9, 'V'),
-    (0x2CDA, 'M', 'ⳛ'),
-    (0x2CDB, 'V'),
-    (0x2CDC, 'M', 'ⳝ'),
-    (0x2CDD, 'V'),
-    (0x2CDE, 'M', 'ⳟ'),
-    (0x2CDF, 'V'),
-    (0x2CE0, 'M', 'ⳡ'),
-    (0x2CE1, 'V'),
-    (0x2CE2, 'M', 'ⳣ'),
-    (0x2CE3, 'V'),
-    (0x2CEB, 'M', 'ⳬ'),
-    (0x2CEC, 'V'),
-    (0x2CED, 'M', 'ⳮ'),
-    (0x2CEE, 'V'),
-    (0x2CF2, 'M', 'ⳳ'),
-    (0x2CF3, 'V'),
-    (0x2CF4, 'X'),
-    (0x2CF9, 'V'),
-    (0x2D26, 'X'),
-    (0x2D27, 'V'),
-    (0x2D28, 'X'),
-    (0x2D2D, 'V'),
-    (0x2D2E, 'X'),
-    (0x2D30, 'V'),
-    (0x2D68, 'X'),
-    (0x2D6F, 'M', 'ⵡ'),
-    (0x2D70, 'V'),
-    (0x2D71, 'X'),
-    (0x2D7F, 'V'),
-    (0x2D97, 'X'),
-    (0x2DA0, 'V'),
-    (0x2DA7, 'X'),
-    (0x2DA8, 'V'),
-    (0x2DAF, 'X'),
-    (0x2DB0, 'V'),
-    (0x2DB7, 'X'),
-    (0x2DB8, 'V'),
-    (0x2DBF, 'X'),
-    (0x2DC0, 'V'),
-    (0x2DC7, 'X'),
-    (0x2DC8, 'V'),
-    (0x2DCF, 'X'),
-    (0x2DD0, 'V'),
-    (0x2DD7, 'X'),
-    (0x2DD8, 'V'),
-    (0x2DDF, 'X'),
-    (0x2DE0, 'V'),
-    (0x2E5E, 'X'),
-    (0x2E80, 'V'),
-    (0x2E9A, 'X'),
-    (0x2E9B, 'V'),
-    (0x2E9F, 'M', '母'),
-    (0x2EA0, 'V'),
-    (0x2EF3, 'M', '龟'),
-    (0x2EF4, 'X'),
-    (0x2F00, 'M', '一'),
-    (0x2F01, 'M', '丨'),
-    (0x2F02, 'M', '丶'),
-    (0x2F03, 'M', '丿'),
-    (0x2F04, 'M', '乙'),
-    (0x2F05, 'M', '亅'),
-    (0x2F06, 'M', '二'),
-    (0x2F07, 'M', '亠'),
-    (0x2F08, 'M', '人'),
-    (0x2F09, 'M', '儿'),
-    (0x2F0A, 'M', '入'),
-    (0x2F0B, 'M', '八'),
-    (0x2F0C, 'M', '冂'),
-    (0x2F0D, 'M', '冖'),
-    (0x2F0E, 'M', '冫'),
-    (0x2F0F, 'M', '几'),
-    (0x2F10, 'M', '凵'),
-    (0x2F11, 'M', '刀'),
-    (0x2F12, 'M', '力'),
-    (0x2F13, 'M', '勹'),
-    (0x2F14, 'M', '匕'),
-    (0x2F15, 'M', '匚'),
-    (0x2F16, 'M', '匸'),
-    (0x2F17, 'M', '十'),
-    (0x2F18, 'M', '卜'),
-    (0x2F19, 'M', '卩'),
+        (0x2CC7, "V"),
+        (0x2CC8, "M", "ⳉ"),
+        (0x2CC9, "V"),
+        (0x2CCA, "M", "ⳋ"),
+        (0x2CCB, "V"),
+        (0x2CCC, "M", "ⳍ"),
+        (0x2CCD, "V"),
+        (0x2CCE, "M", "ⳏ"),
+        (0x2CCF, "V"),
+        (0x2CD0, "M", "ⳑ"),
+        (0x2CD1, "V"),
+        (0x2CD2, "M", "ⳓ"),
+        (0x2CD3, "V"),
+        (0x2CD4, "M", "ⳕ"),
+        (0x2CD5, "V"),
+        (0x2CD6, "M", "ⳗ"),
+        (0x2CD7, "V"),
+        (0x2CD8, "M", "ⳙ"),
+        (0x2CD9, "V"),
+        (0x2CDA, "M", "ⳛ"),
+        (0x2CDB, "V"),
+        (0x2CDC, "M", "ⳝ"),
+        (0x2CDD, "V"),
+        (0x2CDE, "M", "ⳟ"),
+        (0x2CDF, "V"),
+        (0x2CE0, "M", "ⳡ"),
+        (0x2CE1, "V"),
+        (0x2CE2, "M", "ⳣ"),
+        (0x2CE3, "V"),
+        (0x2CEB, "M", "ⳬ"),
+        (0x2CEC, "V"),
+        (0x2CED, "M", "ⳮ"),
+        (0x2CEE, "V"),
+        (0x2CF2, "M", "ⳳ"),
+        (0x2CF3, "V"),
+        (0x2CF4, "X"),
+        (0x2CF9, "V"),
+        (0x2D26, "X"),
+        (0x2D27, "V"),
+        (0x2D28, "X"),
+        (0x2D2D, "V"),
+        (0x2D2E, "X"),
+        (0x2D30, "V"),
+        (0x2D68, "X"),
+        (0x2D6F, "M", "ⵡ"),
+        (0x2D70, "V"),
+        (0x2D71, "X"),
+        (0x2D7F, "V"),
+        (0x2D97, "X"),
+        (0x2DA0, "V"),
+        (0x2DA7, "X"),
+        (0x2DA8, "V"),
+        (0x2DAF, "X"),
+        (0x2DB0, "V"),
+        (0x2DB7, "X"),
+        (0x2DB8, "V"),
+        (0x2DBF, "X"),
+        (0x2DC0, "V"),
+        (0x2DC7, "X"),
+        (0x2DC8, "V"),
+        (0x2DCF, "X"),
+        (0x2DD0, "V"),
+        (0x2DD7, "X"),
+        (0x2DD8, "V"),
+        (0x2DDF, "X"),
+        (0x2DE0, "V"),
+        (0x2E5E, "X"),
+        (0x2E80, "V"),
+        (0x2E9A, "X"),
+        (0x2E9B, "V"),
+        (0x2E9F, "M", "母"),
+        (0x2EA0, "V"),
+        (0x2EF3, "M", "龟"),
+        (0x2EF4, "X"),
+        (0x2F00, "M", "一"),
+        (0x2F01, "M", "丨"),
+        (0x2F02, "M", "丶"),
+        (0x2F03, "M", "丿"),
+        (0x2F04, "M", "乙"),
+        (0x2F05, "M", "亅"),
+        (0x2F06, "M", "二"),
+        (0x2F07, "M", "亠"),
+        (0x2F08, "M", "人"),
+        (0x2F09, "M", "儿"),
+        (0x2F0A, "M", "入"),
+        (0x2F0B, "M", "八"),
+        (0x2F0C, "M", "冂"),
+        (0x2F0D, "M", "冖"),
+        (0x2F0E, "M", "冫"),
+        (0x2F0F, "M", "几"),
+        (0x2F10, "M", "凵"),
+        (0x2F11, "M", "刀"),
+        (0x2F12, "M", "力"),
+        (0x2F13, "M", "勹"),
+        (0x2F14, "M", "匕"),
+        (0x2F15, "M", "匚"),
+        (0x2F16, "M", "匸"),
+        (0x2F17, "M", "十"),
+        (0x2F18, "M", "卜"),
+        (0x2F19, "M", "卩"),
     ]
 
+
 def _seg_27() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x2F1A, 'M', '厂'),
-    (0x2F1B, 'M', '厶'),
-    (0x2F1C, 'M', '又'),
-    (0x2F1D, 'M', '口'),
-    (0x2F1E, 'M', '囗'),
-    (0x2F1F, 'M', '土'),
-    (0x2F20, 'M', '士'),
-    (0x2F21, 'M', '夂'),
-    (0x2F22, 'M', '夊'),
-    (0x2F23, 'M', '夕'),
-    (0x2F24, 'M', '大'),
-    (0x2F25, 'M', '女'),
-    (0x2F26, 'M', '子'),
-    (0x2F27, 'M', '宀'),
-    (0x2F28, 'M', '寸'),
-    (0x2F29, 'M', '小'),
-    (0x2F2A, 'M', '尢'),
-    (0x2F2B, 'M', '尸'),
-    (0x2F2C, 'M', '屮'),
-    (0x2F2D, 'M', '山'),
-    (0x2F2E, 'M', '巛'),
-    (0x2F2F, 'M', '工'),
-    (0x2F30, 'M', '己'),
-    (0x2F31, 'M', '巾'),
-    (0x2F32, 'M', '干'),
-    (0x2F33, 'M', '幺'),
-    (0x2F34, 'M', '广'),
-    (0x2F35, 'M', '廴'),
-    (0x2F36, 'M', '廾'),
-    (0x2F37, 'M', '弋'),
-    (0x2F38, 'M', '弓'),
-    (0x2F39, 'M', '彐'),
-    (0x2F3A, 'M', '彡'),
-    (0x2F3B, 'M', '彳'),
-    (0x2F3C, 'M', '心'),
-    (0x2F3D, 'M', '戈'),
-    (0x2F3E, 'M', '戶'),
-    (0x2F3F, 'M', '手'),
-    (0x2F40, 'M', '支'),
-    (0x2F41, 'M', '攴'),
-    (0x2F42, 'M', '文'),
-    (0x2F43, 'M', '斗'),
-    (0x2F44, 'M', '斤'),
-    (0x2F45, 'M', '方'),
-    (0x2F46, 'M', '无'),
-    (0x2F47, 'M', '日'),
-    (0x2F48, 'M', '曰'),
-    (0x2F49, 'M', '月'),
-    (0x2F4A, 'M', '木'),
-    (0x2F4B, 'M', '欠'),
-    (0x2F4C, 'M', '止'),
-    (0x2F4D, 'M', '歹'),
-    (0x2F4E, 'M', '殳'),
-    (0x2F4F, 'M', '毋'),
-    (0x2F50, 'M', '比'),
-    (0x2F51, 'M', '毛'),
-    (0x2F52, 'M', '氏'),
-    (0x2F53, 'M', '气'),
-    (0x2F54, 'M', '水'),
-    (0x2F55, 'M', '火'),
-    (0x2F56, 'M', '爪'),
-    (0x2F57, 'M', '父'),
-    (0x2F58, 'M', '爻'),
-    (0x2F59, 'M', '爿'),
-    (0x2F5A, 'M', '片'),
-    (0x2F5B, 'M', '牙'),
-    (0x2F5C, 'M', '牛'),
-    (0x2F5D, 'M', '犬'),
-    (0x2F5E, 'M', '玄'),
-    (0x2F5F, 'M', '玉'),
-    (0x2F60, 'M', '瓜'),
-    (0x2F61, 'M', '瓦'),
-    (0x2F62, 'M', '甘'),
-    (0x2F63, 'M', '生'),
-    (0x2F64, 'M', '用'),
-    (0x2F65, 'M', '田'),
-    (0x2F66, 'M', '疋'),
-    (0x2F67, 'M', '疒'),
-    (0x2F68, 'M', '癶'),
-    (0x2F69, 'M', '白'),
-    (0x2F6A, 'M', '皮'),
-    (0x2F6B, 'M', '皿'),
-    (0x2F6C, 'M', '目'),
-    (0x2F6D, 'M', '矛'),
-    (0x2F6E, 'M', '矢'),
-    (0x2F6F, 'M', '石'),
-    (0x2F70, 'M', '示'),
-    (0x2F71, 'M', '禸'),
-    (0x2F72, 'M', '禾'),
-    (0x2F73, 'M', '穴'),
-    (0x2F74, 'M', '立'),
-    (0x2F75, 'M', '竹'),
-    (0x2F76, 'M', '米'),
-    (0x2F77, 'M', '糸'),
-    (0x2F78, 'M', '缶'),
-    (0x2F79, 'M', '网'),
-    (0x2F7A, 'M', '羊'),
-    (0x2F7B, 'M', '羽'),
-    (0x2F7C, 'M', '老'),
-    (0x2F7D, 'M', '而'),
+        (0x2F1A, "M", "厂"),
+        (0x2F1B, "M", "厶"),
+        (0x2F1C, "M", "又"),
+        (0x2F1D, "M", "口"),
+        (0x2F1E, "M", "囗"),
+        (0x2F1F, "M", "土"),
+        (0x2F20, "M", "士"),
+        (0x2F21, "M", "夂"),
+        (0x2F22, "M", "夊"),
+        (0x2F23, "M", "夕"),
+        (0x2F24, "M", "大"),
+        (0x2F25, "M", "女"),
+        (0x2F26, "M", "子"),
+        (0x2F27, "M", "宀"),
+        (0x2F28, "M", "寸"),
+        (0x2F29, "M", "小"),
+        (0x2F2A, "M", "尢"),
+        (0x2F2B, "M", "尸"),
+        (0x2F2C, "M", "屮"),
+        (0x2F2D, "M", "山"),
+        (0x2F2E, "M", "巛"),
+        (0x2F2F, "M", "工"),
+        (0x2F30, "M", "己"),
+        (0x2F31, "M", "巾"),
+        (0x2F32, "M", "干"),
+        (0x2F33, "M", "幺"),
+        (0x2F34, "M", "广"),
+        (0x2F35, "M", "廴"),
+        (0x2F36, "M", "廾"),
+        (0x2F37, "M", "弋"),
+        (0x2F38, "M", "弓"),
+        (0x2F39, "M", "彐"),
+        (0x2F3A, "M", "彡"),
+        (0x2F3B, "M", "彳"),
+        (0x2F3C, "M", "心"),
+        (0x2F3D, "M", "戈"),
+        (0x2F3E, "M", "戶"),
+        (0x2F3F, "M", "手"),
+        (0x2F40, "M", "支"),
+        (0x2F41, "M", "攴"),
+        (0x2F42, "M", "文"),
+        (0x2F43, "M", "斗"),
+        (0x2F44, "M", "斤"),
+        (0x2F45, "M", "方"),
+        (0x2F46, "M", "无"),
+        (0x2F47, "M", "日"),
+        (0x2F48, "M", "曰"),
+        (0x2F49, "M", "月"),
+        (0x2F4A, "M", "木"),
+        (0x2F4B, "M", "欠"),
+        (0x2F4C, "M", "止"),
+        (0x2F4D, "M", "歹"),
+        (0x2F4E, "M", "殳"),
+        (0x2F4F, "M", "毋"),
+        (0x2F50, "M", "比"),
+        (0x2F51, "M", "毛"),
+        (0x2F52, "M", "氏"),
+        (0x2F53, "M", "气"),
+        (0x2F54, "M", "水"),
+        (0x2F55, "M", "火"),
+        (0x2F56, "M", "爪"),
+        (0x2F57, "M", "父"),
+        (0x2F58, "M", "爻"),
+        (0x2F59, "M", "爿"),
+        (0x2F5A, "M", "片"),
+        (0x2F5B, "M", "牙"),
+        (0x2F5C, "M", "牛"),
+        (0x2F5D, "M", "犬"),
+        (0x2F5E, "M", "玄"),
+        (0x2F5F, "M", "玉"),
+        (0x2F60, "M", "瓜"),
+        (0x2F61, "M", "瓦"),
+        (0x2F62, "M", "甘"),
+        (0x2F63, "M", "生"),
+        (0x2F64, "M", "用"),
+        (0x2F65, "M", "田"),
+        (0x2F66, "M", "疋"),
+        (0x2F67, "M", "疒"),
+        (0x2F68, "M", "癶"),
+        (0x2F69, "M", "白"),
+        (0x2F6A, "M", "皮"),
+        (0x2F6B, "M", "皿"),
+        (0x2F6C, "M", "目"),
+        (0x2F6D, "M", "矛"),
+        (0x2F6E, "M", "矢"),
+        (0x2F6F, "M", "石"),
+        (0x2F70, "M", "示"),
+        (0x2F71, "M", "禸"),
+        (0x2F72, "M", "禾"),
+        (0x2F73, "M", "穴"),
+        (0x2F74, "M", "立"),
+        (0x2F75, "M", "竹"),
+        (0x2F76, "M", "米"),
+        (0x2F77, "M", "糸"),
+        (0x2F78, "M", "缶"),
+        (0x2F79, "M", "网"),
+        (0x2F7A, "M", "羊"),
+        (0x2F7B, "M", "羽"),
+        (0x2F7C, "M", "老"),
+        (0x2F7D, "M", "而"),
     ]
 
+
 def _seg_28() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x2F7E, 'M', '耒'),
-    (0x2F7F, 'M', '耳'),
-    (0x2F80, 'M', '聿'),
-    (0x2F81, 'M', '肉'),
-    (0x2F82, 'M', '臣'),
-    (0x2F83, 'M', '自'),
-    (0x2F84, 'M', '至'),
-    (0x2F85, 'M', '臼'),
-    (0x2F86, 'M', '舌'),
-    (0x2F87, 'M', '舛'),
-    (0x2F88, 'M', '舟'),
-    (0x2F89, 'M', '艮'),
-    (0x2F8A, 'M', '色'),
-    (0x2F8B, 'M', '艸'),
-    (0x2F8C, 'M', '虍'),
-    (0x2F8D, 'M', '虫'),
-    (0x2F8E, 'M', '血'),
-    (0x2F8F, 'M', '行'),
-    (0x2F90, 'M', '衣'),
-    (0x2F91, 'M', '襾'),
-    (0x2F92, 'M', '見'),
-    (0x2F93, 'M', '角'),
-    (0x2F94, 'M', '言'),
-    (0x2F95, 'M', '谷'),
-    (0x2F96, 'M', '豆'),
-    (0x2F97, 'M', '豕'),
-    (0x2F98, 'M', '豸'),
-    (0x2F99, 'M', '貝'),
-    (0x2F9A, 'M', '赤'),
-    (0x2F9B, 'M', '走'),
-    (0x2F9C, 'M', '足'),
-    (0x2F9D, 'M', '身'),
-    (0x2F9E, 'M', '車'),
-    (0x2F9F, 'M', '辛'),
-    (0x2FA0, 'M', '辰'),
-    (0x2FA1, 'M', '辵'),
-    (0x2FA2, 'M', '邑'),
-    (0x2FA3, 'M', '酉'),
-    (0x2FA4, 'M', '釆'),
-    (0x2FA5, 'M', '里'),
-    (0x2FA6, 'M', '金'),
-    (0x2FA7, 'M', '長'),
-    (0x2FA8, 'M', '門'),
-    (0x2FA9, 'M', '阜'),
-    (0x2FAA, 'M', '隶'),
-    (0x2FAB, 'M', '隹'),
-    (0x2FAC, 'M', '雨'),
-    (0x2FAD, 'M', '靑'),
-    (0x2FAE, 'M', '非'),
-    (0x2FAF, 'M', '面'),
-    (0x2FB0, 'M', '革'),
-    (0x2FB1, 'M', '韋'),
-    (0x2FB2, 'M', '韭'),
-    (0x2FB3, 'M', '音'),
-    (0x2FB4, 'M', '頁'),
-    (0x2FB5, 'M', '風'),
-    (0x2FB6, 'M', '飛'),
-    (0x2FB7, 'M', '食'),
-    (0x2FB8, 'M', '首'),
-    (0x2FB9, 'M', '香'),
-    (0x2FBA, 'M', '馬'),
-    (0x2FBB, 'M', '骨'),
-    (0x2FBC, 'M', '高'),
-    (0x2FBD, 'M', '髟'),
-    (0x2FBE, 'M', '鬥'),
-    (0x2FBF, 'M', '鬯'),
-    (0x2FC0, 'M', '鬲'),
-    (0x2FC1, 'M', '鬼'),
-    (0x2FC2, 'M', '魚'),
-    (0x2FC3, 'M', '鳥'),
-    (0x2FC4, 'M', '鹵'),
-    (0x2FC5, 'M', '鹿'),
-    (0x2FC6, 'M', '麥'),
-    (0x2FC7, 'M', '麻'),
-    (0x2FC8, 'M', '黃'),
-    (0x2FC9, 'M', '黍'),
-    (0x2FCA, 'M', '黑'),
-    (0x2FCB, 'M', '黹'),
-    (0x2FCC, 'M', '黽'),
-    (0x2FCD, 'M', '鼎'),
-    (0x2FCE, 'M', '鼓'),
-    (0x2FCF, 'M', '鼠'),
-    (0x2FD0, 'M', '鼻'),
-    (0x2FD1, 'M', '齊'),
-    (0x2FD2, 'M', '齒'),
-    (0x2FD3, 'M', '龍'),
-    (0x2FD4, 'M', '龜'),
-    (0x2FD5, 'M', '龠'),
-    (0x2FD6, 'X'),
-    (0x3000, '3', ' '),
-    (0x3001, 'V'),
-    (0x3002, 'M', '.'),
-    (0x3003, 'V'),
-    (0x3036, 'M', '〒'),
-    (0x3037, 'V'),
-    (0x3038, 'M', '十'),
-    (0x3039, 'M', '卄'),
-    (0x303A, 'M', '卅'),
-    (0x303B, 'V'),
-    (0x3040, 'X'),
+        (0x2F7E, "M", "耒"),
+        (0x2F7F, "M", "耳"),
+        (0x2F80, "M", "聿"),
+        (0x2F81, "M", "肉"),
+        (0x2F82, "M", "臣"),
+        (0x2F83, "M", "自"),
+        (0x2F84, "M", "至"),
+        (0x2F85, "M", "臼"),
+        (0x2F86, "M", "舌"),
+        (0x2F87, "M", "舛"),
+        (0x2F88, "M", "舟"),
+        (0x2F89, "M", "艮"),
+        (0x2F8A, "M", "色"),
+        (0x2F8B, "M", "艸"),
+        (0x2F8C, "M", "虍"),
+        (0x2F8D, "M", "虫"),
+        (0x2F8E, "M", "血"),
+        (0x2F8F, "M", "行"),
+        (0x2F90, "M", "衣"),
+        (0x2F91, "M", "襾"),
+        (0x2F92, "M", "見"),
+        (0x2F93, "M", "角"),
+        (0x2F94, "M", "言"),
+        (0x2F95, "M", "谷"),
+        (0x2F96, "M", "豆"),
+        (0x2F97, "M", "豕"),
+        (0x2F98, "M", "豸"),
+        (0x2F99, "M", "貝"),
+        (0x2F9A, "M", "赤"),
+        (0x2F9B, "M", "走"),
+        (0x2F9C, "M", "足"),
+        (0x2F9D, "M", "身"),
+        (0x2F9E, "M", "車"),
+        (0x2F9F, "M", "辛"),
+        (0x2FA0, "M", "辰"),
+        (0x2FA1, "M", "辵"),
+        (0x2FA2, "M", "邑"),
+        (0x2FA3, "M", "酉"),
+        (0x2FA4, "M", "釆"),
+        (0x2FA5, "M", "里"),
+        (0x2FA6, "M", "金"),
+        (0x2FA7, "M", "長"),
+        (0x2FA8, "M", "門"),
+        (0x2FA9, "M", "阜"),
+        (0x2FAA, "M", "隶"),
+        (0x2FAB, "M", "隹"),
+        (0x2FAC, "M", "雨"),
+        (0x2FAD, "M", "靑"),
+        (0x2FAE, "M", "非"),
+        (0x2FAF, "M", "面"),
+        (0x2FB0, "M", "革"),
+        (0x2FB1, "M", "韋"),
+        (0x2FB2, "M", "韭"),
+        (0x2FB3, "M", "音"),
+        (0x2FB4, "M", "頁"),
+        (0x2FB5, "M", "風"),
+        (0x2FB6, "M", "飛"),
+        (0x2FB7, "M", "食"),
+        (0x2FB8, "M", "首"),
+        (0x2FB9, "M", "香"),
+        (0x2FBA, "M", "馬"),
+        (0x2FBB, "M", "骨"),
+        (0x2FBC, "M", "高"),
+        (0x2FBD, "M", "髟"),
+        (0x2FBE, "M", "鬥"),
+        (0x2FBF, "M", "鬯"),
+        (0x2FC0, "M", "鬲"),
+        (0x2FC1, "M", "鬼"),
+        (0x2FC2, "M", "魚"),
+        (0x2FC3, "M", "鳥"),
+        (0x2FC4, "M", "鹵"),
+        (0x2FC5, "M", "鹿"),
+        (0x2FC6, "M", "麥"),
+        (0x2FC7, "M", "麻"),
+        (0x2FC8, "M", "黃"),
+        (0x2FC9, "M", "黍"),
+        (0x2FCA, "M", "黑"),
+        (0x2FCB, "M", "黹"),
+        (0x2FCC, "M", "黽"),
+        (0x2FCD, "M", "鼎"),
+        (0x2FCE, "M", "鼓"),
+        (0x2FCF, "M", "鼠"),
+        (0x2FD0, "M", "鼻"),
+        (0x2FD1, "M", "齊"),
+        (0x2FD2, "M", "齒"),
+        (0x2FD3, "M", "龍"),
+        (0x2FD4, "M", "龜"),
+        (0x2FD5, "M", "龠"),
+        (0x2FD6, "X"),
+        (0x3000, "3", " "),
+        (0x3001, "V"),
+        (0x3002, "M", "."),
+        (0x3003, "V"),
+        (0x3036, "M", "〒"),
+        (0x3037, "V"),
+        (0x3038, "M", "十"),
+        (0x3039, "M", "卄"),
+        (0x303A, "M", "卅"),
+        (0x303B, "V"),
+        (0x3040, "X"),
     ]
 
+
 def _seg_29() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x3041, 'V'),
-    (0x3097, 'X'),
-    (0x3099, 'V'),
-    (0x309B, '3', ' ゙'),
-    (0x309C, '3', ' ゚'),
-    (0x309D, 'V'),
-    (0x309F, 'M', 'より'),
-    (0x30A0, 'V'),
-    (0x30FF, 'M', 'コト'),
-    (0x3100, 'X'),
-    (0x3105, 'V'),
-    (0x3130, 'X'),
-    (0x3131, 'M', 'ᄀ'),
-    (0x3132, 'M', 'ᄁ'),
-    (0x3133, 'M', 'ᆪ'),
-    (0x3134, 'M', 'ᄂ'),
-    (0x3135, 'M', 'ᆬ'),
-    (0x3136, 'M', 'ᆭ'),
-    (0x3137, 'M', 'ᄃ'),
-    (0x3138, 'M', 'ᄄ'),
-    (0x3139, 'M', 'ᄅ'),
-    (0x313A, 'M', 'ᆰ'),
-    (0x313B, 'M', 'ᆱ'),
-    (0x313C, 'M', 'ᆲ'),
-    (0x313D, 'M', 'ᆳ'),
-    (0x313E, 'M', 'ᆴ'),
-    (0x313F, 'M', 'ᆵ'),
-    (0x3140, 'M', 'ᄚ'),
-    (0x3141, 'M', 'ᄆ'),
-    (0x3142, 'M', 'ᄇ'),
-    (0x3143, 'M', 'ᄈ'),
-    (0x3144, 'M', 'ᄡ'),
-    (0x3145, 'M', 'ᄉ'),
-    (0x3146, 'M', 'ᄊ'),
-    (0x3147, 'M', 'ᄋ'),
-    (0x3148, 'M', 'ᄌ'),
-    (0x3149, 'M', 'ᄍ'),
-    (0x314A, 'M', 'ᄎ'),
-    (0x314B, 'M', 'ᄏ'),
-    (0x314C, 'M', 'ᄐ'),
-    (0x314D, 'M', 'ᄑ'),
-    (0x314E, 'M', 'ᄒ'),
-    (0x314F, 'M', 'ᅡ'),
-    (0x3150, 'M', 'ᅢ'),
-    (0x3151, 'M', 'ᅣ'),
-    (0x3152, 'M', 'ᅤ'),
-    (0x3153, 'M', 'ᅥ'),
-    (0x3154, 'M', 'ᅦ'),
-    (0x3155, 'M', 'ᅧ'),
-    (0x3156, 'M', 'ᅨ'),
-    (0x3157, 'M', 'ᅩ'),
-    (0x3158, 'M', 'ᅪ'),
-    (0x3159, 'M', 'ᅫ'),
-    (0x315A, 'M', 'ᅬ'),
-    (0x315B, 'M', 'ᅭ'),
-    (0x315C, 'M', 'ᅮ'),
-    (0x315D, 'M', 'ᅯ'),
-    (0x315E, 'M', 'ᅰ'),
-    (0x315F, 'M', 'ᅱ'),
-    (0x3160, 'M', 'ᅲ'),
-    (0x3161, 'M', 'ᅳ'),
-    (0x3162, 'M', 'ᅴ'),
-    (0x3163, 'M', 'ᅵ'),
-    (0x3164, 'X'),
-    (0x3165, 'M', 'ᄔ'),
-    (0x3166, 'M', 'ᄕ'),
-    (0x3167, 'M', 'ᇇ'),
-    (0x3168, 'M', 'ᇈ'),
-    (0x3169, 'M', 'ᇌ'),
-    (0x316A, 'M', 'ᇎ'),
-    (0x316B, 'M', 'ᇓ'),
-    (0x316C, 'M', 'ᇗ'),
-    (0x316D, 'M', 'ᇙ'),
-    (0x316E, 'M', 'ᄜ'),
-    (0x316F, 'M', 'ᇝ'),
-    (0x3170, 'M', 'ᇟ'),
-    (0x3171, 'M', 'ᄝ'),
-    (0x3172, 'M', 'ᄞ'),
-    (0x3173, 'M', 'ᄠ'),
-    (0x3174, 'M', 'ᄢ'),
-    (0x3175, 'M', 'ᄣ'),
-    (0x3176, 'M', 'ᄧ'),
-    (0x3177, 'M', 'ᄩ'),
-    (0x3178, 'M', 'ᄫ'),
-    (0x3179, 'M', 'ᄬ'),
-    (0x317A, 'M', 'ᄭ'),
-    (0x317B, 'M', 'ᄮ'),
-    (0x317C, 'M', 'ᄯ'),
-    (0x317D, 'M', 'ᄲ'),
-    (0x317E, 'M', 'ᄶ'),
-    (0x317F, 'M', 'ᅀ'),
-    (0x3180, 'M', 'ᅇ'),
-    (0x3181, 'M', 'ᅌ'),
-    (0x3182, 'M', 'ᇱ'),
-    (0x3183, 'M', 'ᇲ'),
-    (0x3184, 'M', 'ᅗ'),
-    (0x3185, 'M', 'ᅘ'),
-    (0x3186, 'M', 'ᅙ'),
-    (0x3187, 'M', 'ᆄ'),
-    (0x3188, 'M', 'ᆅ'),
+        (0x3041, "V"),
+        (0x3097, "X"),
+        (0x3099, "V"),
+        (0x309B, "3", " ゙"),
+        (0x309C, "3", " ゚"),
+        (0x309D, "V"),
+        (0x309F, "M", "より"),
+        (0x30A0, "V"),
+        (0x30FF, "M", "コト"),
+        (0x3100, "X"),
+        (0x3105, "V"),
+        (0x3130, "X"),
+        (0x3131, "M", "ᄀ"),
+        (0x3132, "M", "ᄁ"),
+        (0x3133, "M", "ᆪ"),
+        (0x3134, "M", "ᄂ"),
+        (0x3135, "M", "ᆬ"),
+        (0x3136, "M", "ᆭ"),
+        (0x3137, "M", "ᄃ"),
+        (0x3138, "M", "ᄄ"),
+        (0x3139, "M", "ᄅ"),
+        (0x313A, "M", "ᆰ"),
+        (0x313B, "M", "ᆱ"),
+        (0x313C, "M", "ᆲ"),
+        (0x313D, "M", "ᆳ"),
+        (0x313E, "M", "ᆴ"),
+        (0x313F, "M", "ᆵ"),
+        (0x3140, "M", "ᄚ"),
+        (0x3141, "M", "ᄆ"),
+        (0x3142, "M", "ᄇ"),
+        (0x3143, "M", "ᄈ"),
+        (0x3144, "M", "ᄡ"),
+        (0x3145, "M", "ᄉ"),
+        (0x3146, "M", "ᄊ"),
+        (0x3147, "M", "ᄋ"),
+        (0x3148, "M", "ᄌ"),
+        (0x3149, "M", "ᄍ"),
+        (0x314A, "M", "ᄎ"),
+        (0x314B, "M", "ᄏ"),
+        (0x314C, "M", "ᄐ"),
+        (0x314D, "M", "ᄑ"),
+        (0x314E, "M", "ᄒ"),
+        (0x314F, "M", "ᅡ"),
+        (0x3150, "M", "ᅢ"),
+        (0x3151, "M", "ᅣ"),
+        (0x3152, "M", "ᅤ"),
+        (0x3153, "M", "ᅥ"),
+        (0x3154, "M", "ᅦ"),
+        (0x3155, "M", "ᅧ"),
+        (0x3156, "M", "ᅨ"),
+        (0x3157, "M", "ᅩ"),
+        (0x3158, "M", "ᅪ"),
+        (0x3159, "M", "ᅫ"),
+        (0x315A, "M", "ᅬ"),
+        (0x315B, "M", "ᅭ"),
+        (0x315C, "M", "ᅮ"),
+        (0x315D, "M", "ᅯ"),
+        (0x315E, "M", "ᅰ"),
+        (0x315F, "M", "ᅱ"),
+        (0x3160, "M", "ᅲ"),
+        (0x3161, "M", "ᅳ"),
+        (0x3162, "M", "ᅴ"),
+        (0x3163, "M", "ᅵ"),
+        (0x3164, "X"),
+        (0x3165, "M", "ᄔ"),
+        (0x3166, "M", "ᄕ"),
+        (0x3167, "M", "ᇇ"),
+        (0x3168, "M", "ᇈ"),
+        (0x3169, "M", "ᇌ"),
+        (0x316A, "M", "ᇎ"),
+        (0x316B, "M", "ᇓ"),
+        (0x316C, "M", "ᇗ"),
+        (0x316D, "M", "ᇙ"),
+        (0x316E, "M", "ᄜ"),
+        (0x316F, "M", "ᇝ"),
+        (0x3170, "M", "ᇟ"),
+        (0x3171, "M", "ᄝ"),
+        (0x3172, "M", "ᄞ"),
+        (0x3173, "M", "ᄠ"),
+        (0x3174, "M", "ᄢ"),
+        (0x3175, "M", "ᄣ"),
+        (0x3176, "M", "ᄧ"),
+        (0x3177, "M", "ᄩ"),
+        (0x3178, "M", "ᄫ"),
+        (0x3179, "M", "ᄬ"),
+        (0x317A, "M", "ᄭ"),
+        (0x317B, "M", "ᄮ"),
+        (0x317C, "M", "ᄯ"),
+        (0x317D, "M", "ᄲ"),
+        (0x317E, "M", "ᄶ"),
+        (0x317F, "M", "ᅀ"),
+        (0x3180, "M", "ᅇ"),
+        (0x3181, "M", "ᅌ"),
+        (0x3182, "M", "ᇱ"),
+        (0x3183, "M", "ᇲ"),
+        (0x3184, "M", "ᅗ"),
+        (0x3185, "M", "ᅘ"),
+        (0x3186, "M", "ᅙ"),
+        (0x3187, "M", "ᆄ"),
+        (0x3188, "M", "ᆅ"),
     ]
 
+
 def _seg_30() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x3189, 'M', 'ᆈ'),
-    (0x318A, 'M', 'ᆑ'),
-    (0x318B, 'M', 'ᆒ'),
-    (0x318C, 'M', 'ᆔ'),
-    (0x318D, 'M', 'ᆞ'),
-    (0x318E, 'M', 'ᆡ'),
-    (0x318F, 'X'),
-    (0x3190, 'V'),
-    (0x3192, 'M', '一'),
-    (0x3193, 'M', '二'),
-    (0x3194, 'M', '三'),
-    (0x3195, 'M', '四'),
-    (0x3196, 'M', '上'),
-    (0x3197, 'M', '中'),
-    (0x3198, 'M', '下'),
-    (0x3199, 'M', '甲'),
-    (0x319A, 'M', '乙'),
-    (0x319B, 'M', '丙'),
-    (0x319C, 'M', '丁'),
-    (0x319D, 'M', '天'),
-    (0x319E, 'M', '地'),
-    (0x319F, 'M', '人'),
-    (0x31A0, 'V'),
-    (0x31E4, 'X'),
-    (0x31F0, 'V'),
-    (0x3200, '3', '(ᄀ)'),
-    (0x3201, '3', '(ᄂ)'),
-    (0x3202, '3', '(ᄃ)'),
-    (0x3203, '3', '(ᄅ)'),
-    (0x3204, '3', '(ᄆ)'),
-    (0x3205, '3', '(ᄇ)'),
-    (0x3206, '3', '(ᄉ)'),
-    (0x3207, '3', '(ᄋ)'),
-    (0x3208, '3', '(ᄌ)'),
-    (0x3209, '3', '(ᄎ)'),
-    (0x320A, '3', '(ᄏ)'),
-    (0x320B, '3', '(ᄐ)'),
-    (0x320C, '3', '(ᄑ)'),
-    (0x320D, '3', '(ᄒ)'),
-    (0x320E, '3', '(가)'),
-    (0x320F, '3', '(나)'),
-    (0x3210, '3', '(다)'),
-    (0x3211, '3', '(라)'),
-    (0x3212, '3', '(마)'),
-    (0x3213, '3', '(바)'),
-    (0x3214, '3', '(사)'),
-    (0x3215, '3', '(아)'),
-    (0x3216, '3', '(자)'),
-    (0x3217, '3', '(차)'),
-    (0x3218, '3', '(카)'),
-    (0x3219, '3', '(타)'),
-    (0x321A, '3', '(파)'),
-    (0x321B, '3', '(하)'),
-    (0x321C, '3', '(주)'),
-    (0x321D, '3', '(오전)'),
-    (0x321E, '3', '(오후)'),
-    (0x321F, 'X'),
-    (0x3220, '3', '(一)'),
-    (0x3221, '3', '(二)'),
-    (0x3222, '3', '(三)'),
-    (0x3223, '3', '(四)'),
-    (0x3224, '3', '(五)'),
-    (0x3225, '3', '(六)'),
-    (0x3226, '3', '(七)'),
-    (0x3227, '3', '(八)'),
-    (0x3228, '3', '(九)'),
-    (0x3229, '3', '(十)'),
-    (0x322A, '3', '(月)'),
-    (0x322B, '3', '(火)'),
-    (0x322C, '3', '(水)'),
-    (0x322D, '3', '(木)'),
-    (0x322E, '3', '(金)'),
-    (0x322F, '3', '(土)'),
-    (0x3230, '3', '(日)'),
-    (0x3231, '3', '(株)'),
-    (0x3232, '3', '(有)'),
-    (0x3233, '3', '(社)'),
-    (0x3234, '3', '(名)'),
-    (0x3235, '3', '(特)'),
-    (0x3236, '3', '(財)'),
-    (0x3237, '3', '(祝)'),
-    (0x3238, '3', '(労)'),
-    (0x3239, '3', '(代)'),
-    (0x323A, '3', '(呼)'),
-    (0x323B, '3', '(学)'),
-    (0x323C, '3', '(監)'),
-    (0x323D, '3', '(企)'),
-    (0x323E, '3', '(資)'),
-    (0x323F, '3', '(協)'),
-    (0x3240, '3', '(祭)'),
-    (0x3241, '3', '(休)'),
-    (0x3242, '3', '(自)'),
-    (0x3243, '3', '(至)'),
-    (0x3244, 'M', '問'),
-    (0x3245, 'M', '幼'),
-    (0x3246, 'M', '文'),
-    (0x3247, 'M', '箏'),
-    (0x3248, 'V'),
-    (0x3250, 'M', 'pte'),
-    (0x3251, 'M', '21'),
+        (0x3189, "M", "ᆈ"),
+        (0x318A, "M", "ᆑ"),
+        (0x318B, "M", "ᆒ"),
+        (0x318C, "M", "ᆔ"),
+        (0x318D, "M", "ᆞ"),
+        (0x318E, "M", "ᆡ"),
+        (0x318F, "X"),
+        (0x3190, "V"),
+        (0x3192, "M", "一"),
+        (0x3193, "M", "二"),
+        (0x3194, "M", "三"),
+        (0x3195, "M", "四"),
+        (0x3196, "M", "上"),
+        (0x3197, "M", "中"),
+        (0x3198, "M", "下"),
+        (0x3199, "M", "甲"),
+        (0x319A, "M", "乙"),
+        (0x319B, "M", "丙"),
+        (0x319C, "M", "丁"),
+        (0x319D, "M", "天"),
+        (0x319E, "M", "地"),
+        (0x319F, "M", "人"),
+        (0x31A0, "V"),
+        (0x31E4, "X"),
+        (0x31F0, "V"),
+        (0x3200, "3", "(ᄀ)"),
+        (0x3201, "3", "(ᄂ)"),
+        (0x3202, "3", "(ᄃ)"),
+        (0x3203, "3", "(ᄅ)"),
+        (0x3204, "3", "(ᄆ)"),
+        (0x3205, "3", "(ᄇ)"),
+        (0x3206, "3", "(ᄉ)"),
+        (0x3207, "3", "(ᄋ)"),
+        (0x3208, "3", "(ᄌ)"),
+        (0x3209, "3", "(ᄎ)"),
+        (0x320A, "3", "(ᄏ)"),
+        (0x320B, "3", "(ᄐ)"),
+        (0x320C, "3", "(ᄑ)"),
+        (0x320D, "3", "(ᄒ)"),
+        (0x320E, "3", "(가)"),
+        (0x320F, "3", "(나)"),
+        (0x3210, "3", "(다)"),
+        (0x3211, "3", "(라)"),
+        (0x3212, "3", "(마)"),
+        (0x3213, "3", "(바)"),
+        (0x3214, "3", "(사)"),
+        (0x3215, "3", "(아)"),
+        (0x3216, "3", "(자)"),
+        (0x3217, "3", "(차)"),
+        (0x3218, "3", "(카)"),
+        (0x3219, "3", "(타)"),
+        (0x321A, "3", "(파)"),
+        (0x321B, "3", "(하)"),
+        (0x321C, "3", "(주)"),
+        (0x321D, "3", "(오전)"),
+        (0x321E, "3", "(오후)"),
+        (0x321F, "X"),
+        (0x3220, "3", "(一)"),
+        (0x3221, "3", "(二)"),
+        (0x3222, "3", "(三)"),
+        (0x3223, "3", "(四)"),
+        (0x3224, "3", "(五)"),
+        (0x3225, "3", "(六)"),
+        (0x3226, "3", "(七)"),
+        (0x3227, "3", "(八)"),
+        (0x3228, "3", "(九)"),
+        (0x3229, "3", "(十)"),
+        (0x322A, "3", "(月)"),
+        (0x322B, "3", "(火)"),
+        (0x322C, "3", "(水)"),
+        (0x322D, "3", "(木)"),
+        (0x322E, "3", "(金)"),
+        (0x322F, "3", "(土)"),
+        (0x3230, "3", "(日)"),
+        (0x3231, "3", "(株)"),
+        (0x3232, "3", "(有)"),
+        (0x3233, "3", "(社)"),
+        (0x3234, "3", "(名)"),
+        (0x3235, "3", "(特)"),
+        (0x3236, "3", "(財)"),
+        (0x3237, "3", "(祝)"),
+        (0x3238, "3", "(労)"),
+        (0x3239, "3", "(代)"),
+        (0x323A, "3", "(呼)"),
+        (0x323B, "3", "(学)"),
+        (0x323C, "3", "(監)"),
+        (0x323D, "3", "(企)"),
+        (0x323E, "3", "(資)"),
+        (0x323F, "3", "(協)"),
+        (0x3240, "3", "(祭)"),
+        (0x3241, "3", "(休)"),
+        (0x3242, "3", "(自)"),
+        (0x3243, "3", "(至)"),
+        (0x3244, "M", "問"),
+        (0x3245, "M", "幼"),
+        (0x3246, "M", "文"),
+        (0x3247, "M", "箏"),
+        (0x3248, "V"),
+        (0x3250, "M", "pte"),
+        (0x3251, "M", "21"),
     ]
 
+
 def _seg_31() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x3252, 'M', '22'),
-    (0x3253, 'M', '23'),
-    (0x3254, 'M', '24'),
-    (0x3255, 'M', '25'),
-    (0x3256, 'M', '26'),
-    (0x3257, 'M', '27'),
-    (0x3258, 'M', '28'),
-    (0x3259, 'M', '29'),
-    (0x325A, 'M', '30'),
-    (0x325B, 'M', '31'),
-    (0x325C, 'M', '32'),
-    (0x325D, 'M', '33'),
-    (0x325E, 'M', '34'),
-    (0x325F, 'M', '35'),
-    (0x3260, 'M', 'ᄀ'),
-    (0x3261, 'M', 'ᄂ'),
-    (0x3262, 'M', 'ᄃ'),
-    (0x3263, 'M', 'ᄅ'),
-    (0x3264, 'M', 'ᄆ'),
-    (0x3265, 'M', 'ᄇ'),
-    (0x3266, 'M', 'ᄉ'),
-    (0x3267, 'M', 'ᄋ'),
-    (0x3268, 'M', 'ᄌ'),
-    (0x3269, 'M', 'ᄎ'),
-    (0x326A, 'M', 'ᄏ'),
-    (0x326B, 'M', 'ᄐ'),
-    (0x326C, 'M', 'ᄑ'),
-    (0x326D, 'M', 'ᄒ'),
-    (0x326E, 'M', '가'),
-    (0x326F, 'M', '나'),
-    (0x3270, 'M', '다'),
-    (0x3271, 'M', '라'),
-    (0x3272, 'M', '마'),
-    (0x3273, 'M', '바'),
-    (0x3274, 'M', '사'),
-    (0x3275, 'M', '아'),
-    (0x3276, 'M', '자'),
-    (0x3277, 'M', '차'),
-    (0x3278, 'M', '카'),
-    (0x3279, 'M', '타'),
-    (0x327A, 'M', '파'),
-    (0x327B, 'M', '하'),
-    (0x327C, 'M', '참고'),
-    (0x327D, 'M', '주의'),
-    (0x327E, 'M', '우'),
-    (0x327F, 'V'),
-    (0x3280, 'M', '一'),
-    (0x3281, 'M', '二'),
-    (0x3282, 'M', '三'),
-    (0x3283, 'M', '四'),
-    (0x3284, 'M', '五'),
-    (0x3285, 'M', '六'),
-    (0x3286, 'M', '七'),
-    (0x3287, 'M', '八'),
-    (0x3288, 'M', '九'),
-    (0x3289, 'M', '十'),
-    (0x328A, 'M', '月'),
-    (0x328B, 'M', '火'),
-    (0x328C, 'M', '水'),
-    (0x328D, 'M', '木'),
-    (0x328E, 'M', '金'),
-    (0x328F, 'M', '土'),
-    (0x3290, 'M', '日'),
-    (0x3291, 'M', '株'),
-    (0x3292, 'M', '有'),
-    (0x3293, 'M', '社'),
-    (0x3294, 'M', '名'),
-    (0x3295, 'M', '特'),
-    (0x3296, 'M', '財'),
-    (0x3297, 'M', '祝'),
-    (0x3298, 'M', '労'),
-    (0x3299, 'M', '秘'),
-    (0x329A, 'M', '男'),
-    (0x329B, 'M', '女'),
-    (0x329C, 'M', '適'),
-    (0x329D, 'M', '優'),
-    (0x329E, 'M', '印'),
-    (0x329F, 'M', '注'),
-    (0x32A0, 'M', '項'),
-    (0x32A1, 'M', '休'),
-    (0x32A2, 'M', '写'),
-    (0x32A3, 'M', '正'),
-    (0x32A4, 'M', '上'),
-    (0x32A5, 'M', '中'),
-    (0x32A6, 'M', '下'),
-    (0x32A7, 'M', '左'),
-    (0x32A8, 'M', '右'),
-    (0x32A9, 'M', '医'),
-    (0x32AA, 'M', '宗'),
-    (0x32AB, 'M', '学'),
-    (0x32AC, 'M', '監'),
-    (0x32AD, 'M', '企'),
-    (0x32AE, 'M', '資'),
-    (0x32AF, 'M', '協'),
-    (0x32B0, 'M', '夜'),
-    (0x32B1, 'M', '36'),
-    (0x32B2, 'M', '37'),
-    (0x32B3, 'M', '38'),
-    (0x32B4, 'M', '39'),
-    (0x32B5, 'M', '40'),
+        (0x3252, "M", "22"),
+        (0x3253, "M", "23"),
+        (0x3254, "M", "24"),
+        (0x3255, "M", "25"),
+        (0x3256, "M", "26"),
+        (0x3257, "M", "27"),
+        (0x3258, "M", "28"),
+        (0x3259, "M", "29"),
+        (0x325A, "M", "30"),
+        (0x325B, "M", "31"),
+        (0x325C, "M", "32"),
+        (0x325D, "M", "33"),
+        (0x325E, "M", "34"),
+        (0x325F, "M", "35"),
+        (0x3260, "M", "ᄀ"),
+        (0x3261, "M", "ᄂ"),
+        (0x3262, "M", "ᄃ"),
+        (0x3263, "M", "ᄅ"),
+        (0x3264, "M", "ᄆ"),
+        (0x3265, "M", "ᄇ"),
+        (0x3266, "M", "ᄉ"),
+        (0x3267, "M", "ᄋ"),
+        (0x3268, "M", "ᄌ"),
+        (0x3269, "M", "ᄎ"),
+        (0x326A, "M", "ᄏ"),
+        (0x326B, "M", "ᄐ"),
+        (0x326C, "M", "ᄑ"),
+        (0x326D, "M", "ᄒ"),
+        (0x326E, "M", "가"),
+        (0x326F, "M", "나"),
+        (0x3270, "M", "다"),
+        (0x3271, "M", "라"),
+        (0x3272, "M", "마"),
+        (0x3273, "M", "바"),
+        (0x3274, "M", "사"),
+        (0x3275, "M", "아"),
+        (0x3276, "M", "자"),
+        (0x3277, "M", "차"),
+        (0x3278, "M", "카"),
+        (0x3279, "M", "타"),
+        (0x327A, "M", "파"),
+        (0x327B, "M", "하"),
+        (0x327C, "M", "참고"),
+        (0x327D, "M", "주의"),
+        (0x327E, "M", "우"),
+        (0x327F, "V"),
+        (0x3280, "M", "一"),
+        (0x3281, "M", "二"),
+        (0x3282, "M", "三"),
+        (0x3283, "M", "四"),
+        (0x3284, "M", "五"),
+        (0x3285, "M", "六"),
+        (0x3286, "M", "七"),
+        (0x3287, "M", "八"),
+        (0x3288, "M", "九"),
+        (0x3289, "M", "十"),
+        (0x328A, "M", "月"),
+        (0x328B, "M", "火"),
+        (0x328C, "M", "水"),
+        (0x328D, "M", "木"),
+        (0x328E, "M", "金"),
+        (0x328F, "M", "土"),
+        (0x3290, "M", "日"),
+        (0x3291, "M", "株"),
+        (0x3292, "M", "有"),
+        (0x3293, "M", "社"),
+        (0x3294, "M", "名"),
+        (0x3295, "M", "特"),
+        (0x3296, "M", "財"),
+        (0x3297, "M", "祝"),
+        (0x3298, "M", "労"),
+        (0x3299, "M", "秘"),
+        (0x329A, "M", "男"),
+        (0x329B, "M", "女"),
+        (0x329C, "M", "適"),
+        (0x329D, "M", "優"),
+        (0x329E, "M", "印"),
+        (0x329F, "M", "注"),
+        (0x32A0, "M", "項"),
+        (0x32A1, "M", "休"),
+        (0x32A2, "M", "写"),
+        (0x32A3, "M", "正"),
+        (0x32A4, "M", "上"),
+        (0x32A5, "M", "中"),
+        (0x32A6, "M", "下"),
+        (0x32A7, "M", "左"),
+        (0x32A8, "M", "右"),
+        (0x32A9, "M", "医"),
+        (0x32AA, "M", "宗"),
+        (0x32AB, "M", "学"),
+        (0x32AC, "M", "監"),
+        (0x32AD, "M", "企"),
+        (0x32AE, "M", "資"),
+        (0x32AF, "M", "協"),
+        (0x32B0, "M", "夜"),
+        (0x32B1, "M", "36"),
+        (0x32B2, "M", "37"),
+        (0x32B3, "M", "38"),
+        (0x32B4, "M", "39"),
+        (0x32B5, "M", "40"),
     ]
 
+
 def _seg_32() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x32B6, 'M', '41'),
-    (0x32B7, 'M', '42'),
-    (0x32B8, 'M', '43'),
-    (0x32B9, 'M', '44'),
-    (0x32BA, 'M', '45'),
-    (0x32BB, 'M', '46'),
-    (0x32BC, 'M', '47'),
-    (0x32BD, 'M', '48'),
-    (0x32BE, 'M', '49'),
-    (0x32BF, 'M', '50'),
-    (0x32C0, 'M', '1月'),
-    (0x32C1, 'M', '2月'),
-    (0x32C2, 'M', '3月'),
-    (0x32C3, 'M', '4月'),
-    (0x32C4, 'M', '5月'),
-    (0x32C5, 'M', '6月'),
-    (0x32C6, 'M', '7月'),
-    (0x32C7, 'M', '8月'),
-    (0x32C8, 'M', '9月'),
-    (0x32C9, 'M', '10月'),
-    (0x32CA, 'M', '11月'),
-    (0x32CB, 'M', '12月'),
-    (0x32CC, 'M', 'hg'),
-    (0x32CD, 'M', 'erg'),
-    (0x32CE, 'M', 'ev'),
-    (0x32CF, 'M', 'ltd'),
-    (0x32D0, 'M', 'ア'),
-    (0x32D1, 'M', 'イ'),
-    (0x32D2, 'M', 'ウ'),
-    (0x32D3, 'M', 'エ'),
-    (0x32D4, 'M', 'オ'),
-    (0x32D5, 'M', 'カ'),
-    (0x32D6, 'M', 'キ'),
-    (0x32D7, 'M', 'ク'),
-    (0x32D8, 'M', 'ケ'),
-    (0x32D9, 'M', 'コ'),
-    (0x32DA, 'M', 'サ'),
-    (0x32DB, 'M', 'シ'),
-    (0x32DC, 'M', 'ス'),
-    (0x32DD, 'M', 'セ'),
-    (0x32DE, 'M', 'ソ'),
-    (0x32DF, 'M', 'タ'),
-    (0x32E0, 'M', 'チ'),
-    (0x32E1, 'M', 'ツ'),
-    (0x32E2, 'M', 'テ'),
-    (0x32E3, 'M', 'ト'),
-    (0x32E4, 'M', 'ナ'),
-    (0x32E5, 'M', 'ニ'),
-    (0x32E6, 'M', 'ヌ'),
-    (0x32E7, 'M', 'ネ'),
-    (0x32E8, 'M', 'ノ'),
-    (0x32E9, 'M', 'ハ'),
-    (0x32EA, 'M', 'ヒ'),
-    (0x32EB, 'M', 'フ'),
-    (0x32EC, 'M', 'ヘ'),
-    (0x32ED, 'M', 'ホ'),
-    (0x32EE, 'M', 'マ'),
-    (0x32EF, 'M', 'ミ'),
-    (0x32F0, 'M', 'ム'),
-    (0x32F1, 'M', 'メ'),
-    (0x32F2, 'M', 'モ'),
-    (0x32F3, 'M', 'ヤ'),
-    (0x32F4, 'M', 'ユ'),
-    (0x32F5, 'M', 'ヨ'),
-    (0x32F6, 'M', 'ラ'),
-    (0x32F7, 'M', 'リ'),
-    (0x32F8, 'M', 'ル'),
-    (0x32F9, 'M', 'レ'),
-    (0x32FA, 'M', 'ロ'),
-    (0x32FB, 'M', 'ワ'),
-    (0x32FC, 'M', 'ヰ'),
-    (0x32FD, 'M', 'ヱ'),
-    (0x32FE, 'M', 'ヲ'),
-    (0x32FF, 'M', '令和'),
-    (0x3300, 'M', 'アパート'),
-    (0x3301, 'M', 'アルファ'),
-    (0x3302, 'M', 'アンペア'),
-    (0x3303, 'M', 'アール'),
-    (0x3304, 'M', 'イニング'),
-    (0x3305, 'M', 'インチ'),
-    (0x3306, 'M', 'ウォン'),
-    (0x3307, 'M', 'エスクード'),
-    (0x3308, 'M', 'エーカー'),
-    (0x3309, 'M', 'オンス'),
-    (0x330A, 'M', 'オーム'),
-    (0x330B, 'M', 'カイリ'),
-    (0x330C, 'M', 'カラット'),
-    (0x330D, 'M', 'カロリー'),
-    (0x330E, 'M', 'ガロン'),
-    (0x330F, 'M', 'ガンマ'),
-    (0x3310, 'M', 'ギガ'),
-    (0x3311, 'M', 'ギニー'),
-    (0x3312, 'M', 'キュリー'),
-    (0x3313, 'M', 'ギルダー'),
-    (0x3314, 'M', 'キロ'),
-    (0x3315, 'M', 'キログラム'),
-    (0x3316, 'M', 'キロメートル'),
-    (0x3317, 'M', 'キロワット'),
-    (0x3318, 'M', 'グラム'),
-    (0x3319, 'M', 'グラムトン'),
+        (0x32B6, "M", "41"),
+        (0x32B7, "M", "42"),
+        (0x32B8, "M", "43"),
+        (0x32B9, "M", "44"),
+        (0x32BA, "M", "45"),
+        (0x32BB, "M", "46"),
+        (0x32BC, "M", "47"),
+        (0x32BD, "M", "48"),
+        (0x32BE, "M", "49"),
+        (0x32BF, "M", "50"),
+        (0x32C0, "M", "1月"),
+        (0x32C1, "M", "2月"),
+        (0x32C2, "M", "3月"),
+        (0x32C3, "M", "4月"),
+        (0x32C4, "M", "5月"),
+        (0x32C5, "M", "6月"),
+        (0x32C6, "M", "7月"),
+        (0x32C7, "M", "8月"),
+        (0x32C8, "M", "9月"),
+        (0x32C9, "M", "10月"),
+        (0x32CA, "M", "11月"),
+        (0x32CB, "M", "12月"),
+        (0x32CC, "M", "hg"),
+        (0x32CD, "M", "erg"),
+        (0x32CE, "M", "ev"),
+        (0x32CF, "M", "ltd"),
+        (0x32D0, "M", "ア"),
+        (0x32D1, "M", "イ"),
+        (0x32D2, "M", "ウ"),
+        (0x32D3, "M", "エ"),
+        (0x32D4, "M", "オ"),
+        (0x32D5, "M", "カ"),
+        (0x32D6, "M", "キ"),
+        (0x32D7, "M", "ク"),
+        (0x32D8, "M", "ケ"),
+        (0x32D9, "M", "コ"),
+        (0x32DA, "M", "サ"),
+        (0x32DB, "M", "シ"),
+        (0x32DC, "M", "ス"),
+        (0x32DD, "M", "セ"),
+        (0x32DE, "M", "ソ"),
+        (0x32DF, "M", "タ"),
+        (0x32E0, "M", "チ"),
+        (0x32E1, "M", "ツ"),
+        (0x32E2, "M", "テ"),
+        (0x32E3, "M", "ト"),
+        (0x32E4, "M", "ナ"),
+        (0x32E5, "M", "ニ"),
+        (0x32E6, "M", "ヌ"),
+        (0x32E7, "M", "ネ"),
+        (0x32E8, "M", "ノ"),
+        (0x32E9, "M", "ハ"),
+        (0x32EA, "M", "ヒ"),
+        (0x32EB, "M", "フ"),
+        (0x32EC, "M", "ヘ"),
+        (0x32ED, "M", "ホ"),
+        (0x32EE, "M", "マ"),
+        (0x32EF, "M", "ミ"),
+        (0x32F0, "M", "ム"),
+        (0x32F1, "M", "メ"),
+        (0x32F2, "M", "モ"),
+        (0x32F3, "M", "ヤ"),
+        (0x32F4, "M", "ユ"),
+        (0x32F5, "M", "ヨ"),
+        (0x32F6, "M", "ラ"),
+        (0x32F7, "M", "リ"),
+        (0x32F8, "M", "ル"),
+        (0x32F9, "M", "レ"),
+        (0x32FA, "M", "ロ"),
+        (0x32FB, "M", "ワ"),
+        (0x32FC, "M", "ヰ"),
+        (0x32FD, "M", "ヱ"),
+        (0x32FE, "M", "ヲ"),
+        (0x32FF, "M", "令和"),
+        (0x3300, "M", "アパート"),
+        (0x3301, "M", "アルファ"),
+        (0x3302, "M", "アンペア"),
+        (0x3303, "M", "アール"),
+        (0x3304, "M", "イニング"),
+        (0x3305, "M", "インチ"),
+        (0x3306, "M", "ウォン"),
+        (0x3307, "M", "エスクード"),
+        (0x3308, "M", "エーカー"),
+        (0x3309, "M", "オンス"),
+        (0x330A, "M", "オーム"),
+        (0x330B, "M", "カイリ"),
+        (0x330C, "M", "カラット"),
+        (0x330D, "M", "カロリー"),
+        (0x330E, "M", "ガロン"),
+        (0x330F, "M", "ガンマ"),
+        (0x3310, "M", "ギガ"),
+        (0x3311, "M", "ギニー"),
+        (0x3312, "M", "キュリー"),
+        (0x3313, "M", "ギルダー"),
+        (0x3314, "M", "キロ"),
+        (0x3315, "M", "キログラム"),
+        (0x3316, "M", "キロメートル"),
+        (0x3317, "M", "キロワット"),
+        (0x3318, "M", "グラム"),
+        (0x3319, "M", "グラムトン"),
     ]
 
+
 def _seg_33() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x331A, 'M', 'クルゼイロ'),
-    (0x331B, 'M', 'クローネ'),
-    (0x331C, 'M', 'ケース'),
-    (0x331D, 'M', 'コルナ'),
-    (0x331E, 'M', 'コーポ'),
-    (0x331F, 'M', 'サイクル'),
-    (0x3320, 'M', 'サンチーム'),
-    (0x3321, 'M', 'シリング'),
-    (0x3322, 'M', 'センチ'),
-    (0x3323, 'M', 'セント'),
-    (0x3324, 'M', 'ダース'),
-    (0x3325, 'M', 'デシ'),
-    (0x3326, 'M', 'ドル'),
-    (0x3327, 'M', 'トン'),
-    (0x3328, 'M', 'ナノ'),
-    (0x3329, 'M', 'ノット'),
-    (0x332A, 'M', 'ハイツ'),
-    (0x332B, 'M', 'パーセント'),
-    (0x332C, 'M', 'パーツ'),
-    (0x332D, 'M', 'バーレル'),
-    (0x332E, 'M', 'ピアストル'),
-    (0x332F, 'M', 'ピクル'),
-    (0x3330, 'M', 'ピコ'),
-    (0x3331, 'M', 'ビル'),
-    (0x3332, 'M', 'ファラッド'),
-    (0x3333, 'M', 'フィート'),
-    (0x3334, 'M', 'ブッシェル'),
-    (0x3335, 'M', 'フラン'),
-    (0x3336, 'M', 'ヘクタール'),
-    (0x3337, 'M', 'ペソ'),
-    (0x3338, 'M', 'ペニヒ'),
-    (0x3339, 'M', 'ヘルツ'),
-    (0x333A, 'M', 'ペンス'),
-    (0x333B, 'M', 'ページ'),
-    (0x333C, 'M', 'ベータ'),
-    (0x333D, 'M', 'ポイント'),
-    (0x333E, 'M', 'ボルト'),
-    (0x333F, 'M', 'ホン'),
-    (0x3340, 'M', 'ポンド'),
-    (0x3341, 'M', 'ホール'),
-    (0x3342, 'M', 'ホーン'),
-    (0x3343, 'M', 'マイクロ'),
-    (0x3344, 'M', 'マイル'),
-    (0x3345, 'M', 'マッハ'),
-    (0x3346, 'M', 'マルク'),
-    (0x3347, 'M', 'マンション'),
-    (0x3348, 'M', 'ミクロン'),
-    (0x3349, 'M', 'ミリ'),
-    (0x334A, 'M', 'ミリバール'),
-    (0x334B, 'M', 'メガ'),
-    (0x334C, 'M', 'メガトン'),
-    (0x334D, 'M', 'メートル'),
-    (0x334E, 'M', 'ヤード'),
-    (0x334F, 'M', 'ヤール'),
-    (0x3350, 'M', 'ユアン'),
-    (0x3351, 'M', 'リットル'),
-    (0x3352, 'M', 'リラ'),
-    (0x3353, 'M', 'ルピー'),
-    (0x3354, 'M', 'ルーブル'),
-    (0x3355, 'M', 'レム'),
-    (0x3356, 'M', 'レントゲン'),
-    (0x3357, 'M', 'ワット'),
-    (0x3358, 'M', '0点'),
-    (0x3359, 'M', '1点'),
-    (0x335A, 'M', '2点'),
-    (0x335B, 'M', '3点'),
-    (0x335C, 'M', '4点'),
-    (0x335D, 'M', '5点'),
-    (0x335E, 'M', '6点'),
-    (0x335F, 'M', '7点'),
-    (0x3360, 'M', '8点'),
-    (0x3361, 'M', '9点'),
-    (0x3362, 'M', '10点'),
-    (0x3363, 'M', '11点'),
-    (0x3364, 'M', '12点'),
-    (0x3365, 'M', '13点'),
-    (0x3366, 'M', '14点'),
-    (0x3367, 'M', '15点'),
-    (0x3368, 'M', '16点'),
-    (0x3369, 'M', '17点'),
-    (0x336A, 'M', '18点'),
-    (0x336B, 'M', '19点'),
-    (0x336C, 'M', '20点'),
-    (0x336D, 'M', '21点'),
-    (0x336E, 'M', '22点'),
-    (0x336F, 'M', '23点'),
-    (0x3370, 'M', '24点'),
-    (0x3371, 'M', 'hpa'),
-    (0x3372, 'M', 'da'),
-    (0x3373, 'M', 'au'),
-    (0x3374, 'M', 'bar'),
-    (0x3375, 'M', 'ov'),
-    (0x3376, 'M', 'pc'),
-    (0x3377, 'M', 'dm'),
-    (0x3378, 'M', 'dm2'),
-    (0x3379, 'M', 'dm3'),
-    (0x337A, 'M', 'iu'),
-    (0x337B, 'M', '平成'),
-    (0x337C, 'M', '昭和'),
-    (0x337D, 'M', '大正'),
+        (0x331A, "M", "クルゼイロ"),
+        (0x331B, "M", "クローネ"),
+        (0x331C, "M", "ケース"),
+        (0x331D, "M", "コルナ"),
+        (0x331E, "M", "コーポ"),
+        (0x331F, "M", "サイクル"),
+        (0x3320, "M", "サンチーム"),
+        (0x3321, "M", "シリング"),
+        (0x3322, "M", "センチ"),
+        (0x3323, "M", "セント"),
+        (0x3324, "M", "ダース"),
+        (0x3325, "M", "デシ"),
+        (0x3326, "M", "ドル"),
+        (0x3327, "M", "トン"),
+        (0x3328, "M", "ナノ"),
+        (0x3329, "M", "ノット"),
+        (0x332A, "M", "ハイツ"),
+        (0x332B, "M", "パーセント"),
+        (0x332C, "M", "パーツ"),
+        (0x332D, "M", "バーレル"),
+        (0x332E, "M", "ピアストル"),
+        (0x332F, "M", "ピクル"),
+        (0x3330, "M", "ピコ"),
+        (0x3331, "M", "ビル"),
+        (0x3332, "M", "ファラッド"),
+        (0x3333, "M", "フィート"),
+        (0x3334, "M", "ブッシェル"),
+        (0x3335, "M", "フラン"),
+        (0x3336, "M", "ヘクタール"),
+        (0x3337, "M", "ペソ"),
+        (0x3338, "M", "ペニヒ"),
+        (0x3339, "M", "ヘルツ"),
+        (0x333A, "M", "ペンス"),
+        (0x333B, "M", "ページ"),
+        (0x333C, "M", "ベータ"),
+        (0x333D, "M", "ポイント"),
+        (0x333E, "M", "ボルト"),
+        (0x333F, "M", "ホン"),
+        (0x3340, "M", "ポンド"),
+        (0x3341, "M", "ホール"),
+        (0x3342, "M", "ホーン"),
+        (0x3343, "M", "マイクロ"),
+        (0x3344, "M", "マイル"),
+        (0x3345, "M", "マッハ"),
+        (0x3346, "M", "マルク"),
+        (0x3347, "M", "マンション"),
+        (0x3348, "M", "ミクロン"),
+        (0x3349, "M", "ミリ"),
+        (0x334A, "M", "ミリバール"),
+        (0x334B, "M", "メガ"),
+        (0x334C, "M", "メガトン"),
+        (0x334D, "M", "メートル"),
+        (0x334E, "M", "ヤード"),
+        (0x334F, "M", "ヤール"),
+        (0x3350, "M", "ユアン"),
+        (0x3351, "M", "リットル"),
+        (0x3352, "M", "リラ"),
+        (0x3353, "M", "ルピー"),
+        (0x3354, "M", "ルーブル"),
+        (0x3355, "M", "レム"),
+        (0x3356, "M", "レントゲン"),
+        (0x3357, "M", "ワット"),
+        (0x3358, "M", "0点"),
+        (0x3359, "M", "1点"),
+        (0x335A, "M", "2点"),
+        (0x335B, "M", "3点"),
+        (0x335C, "M", "4点"),
+        (0x335D, "M", "5点"),
+        (0x335E, "M", "6点"),
+        (0x335F, "M", "7点"),
+        (0x3360, "M", "8点"),
+        (0x3361, "M", "9点"),
+        (0x3362, "M", "10点"),
+        (0x3363, "M", "11点"),
+        (0x3364, "M", "12点"),
+        (0x3365, "M", "13点"),
+        (0x3366, "M", "14点"),
+        (0x3367, "M", "15点"),
+        (0x3368, "M", "16点"),
+        (0x3369, "M", "17点"),
+        (0x336A, "M", "18点"),
+        (0x336B, "M", "19点"),
+        (0x336C, "M", "20点"),
+        (0x336D, "M", "21点"),
+        (0x336E, "M", "22点"),
+        (0x336F, "M", "23点"),
+        (0x3370, "M", "24点"),
+        (0x3371, "M", "hpa"),
+        (0x3372, "M", "da"),
+        (0x3373, "M", "au"),
+        (0x3374, "M", "bar"),
+        (0x3375, "M", "ov"),
+        (0x3376, "M", "pc"),
+        (0x3377, "M", "dm"),
+        (0x3378, "M", "dm2"),
+        (0x3379, "M", "dm3"),
+        (0x337A, "M", "iu"),
+        (0x337B, "M", "平成"),
+        (0x337C, "M", "昭和"),
+        (0x337D, "M", "大正"),
     ]
 
+
 def _seg_34() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x337E, 'M', '明治'),
-    (0x337F, 'M', '株式会社'),
-    (0x3380, 'M', 'pa'),
-    (0x3381, 'M', 'na'),
-    (0x3382, 'M', 'μa'),
-    (0x3383, 'M', 'ma'),
-    (0x3384, 'M', 'ka'),
-    (0x3385, 'M', 'kb'),
-    (0x3386, 'M', 'mb'),
-    (0x3387, 'M', 'gb'),
-    (0x3388, 'M', 'cal'),
-    (0x3389, 'M', 'kcal'),
-    (0x338A, 'M', 'pf'),
-    (0x338B, 'M', 'nf'),
-    (0x338C, 'M', 'μf'),
-    (0x338D, 'M', 'μg'),
-    (0x338E, 'M', 'mg'),
-    (0x338F, 'M', 'kg'),
-    (0x3390, 'M', 'hz'),
-    (0x3391, 'M', 'khz'),
-    (0x3392, 'M', 'mhz'),
-    (0x3393, 'M', 'ghz'),
-    (0x3394, 'M', 'thz'),
-    (0x3395, 'M', 'μl'),
-    (0x3396, 'M', 'ml'),
-    (0x3397, 'M', 'dl'),
-    (0x3398, 'M', 'kl'),
-    (0x3399, 'M', 'fm'),
-    (0x339A, 'M', 'nm'),
-    (0x339B, 'M', 'μm'),
-    (0x339C, 'M', 'mm'),
-    (0x339D, 'M', 'cm'),
-    (0x339E, 'M', 'km'),
-    (0x339F, 'M', 'mm2'),
-    (0x33A0, 'M', 'cm2'),
-    (0x33A1, 'M', 'm2'),
-    (0x33A2, 'M', 'km2'),
-    (0x33A3, 'M', 'mm3'),
-    (0x33A4, 'M', 'cm3'),
-    (0x33A5, 'M', 'm3'),
-    (0x33A6, 'M', 'km3'),
-    (0x33A7, 'M', 'm∕s'),
-    (0x33A8, 'M', 'm∕s2'),
-    (0x33A9, 'M', 'pa'),
-    (0x33AA, 'M', 'kpa'),
-    (0x33AB, 'M', 'mpa'),
-    (0x33AC, 'M', 'gpa'),
-    (0x33AD, 'M', 'rad'),
-    (0x33AE, 'M', 'rad∕s'),
-    (0x33AF, 'M', 'rad∕s2'),
-    (0x33B0, 'M', 'ps'),
-    (0x33B1, 'M', 'ns'),
-    (0x33B2, 'M', 'μs'),
-    (0x33B3, 'M', 'ms'),
-    (0x33B4, 'M', 'pv'),
-    (0x33B5, 'M', 'nv'),
-    (0x33B6, 'M', 'μv'),
-    (0x33B7, 'M', 'mv'),
-    (0x33B8, 'M', 'kv'),
-    (0x33B9, 'M', 'mv'),
-    (0x33BA, 'M', 'pw'),
-    (0x33BB, 'M', 'nw'),
-    (0x33BC, 'M', 'μw'),
-    (0x33BD, 'M', 'mw'),
-    (0x33BE, 'M', 'kw'),
-    (0x33BF, 'M', 'mw'),
-    (0x33C0, 'M', 'kω'),
-    (0x33C1, 'M', 'mω'),
-    (0x33C2, 'X'),
-    (0x33C3, 'M', 'bq'),
-    (0x33C4, 'M', 'cc'),
-    (0x33C5, 'M', 'cd'),
-    (0x33C6, 'M', 'c∕kg'),
-    (0x33C7, 'X'),
-    (0x33C8, 'M', 'db'),
-    (0x33C9, 'M', 'gy'),
-    (0x33CA, 'M', 'ha'),
-    (0x33CB, 'M', 'hp'),
-    (0x33CC, 'M', 'in'),
-    (0x33CD, 'M', 'kk'),
-    (0x33CE, 'M', 'km'),
-    (0x33CF, 'M', 'kt'),
-    (0x33D0, 'M', 'lm'),
-    (0x33D1, 'M', 'ln'),
-    (0x33D2, 'M', 'log'),
-    (0x33D3, 'M', 'lx'),
-    (0x33D4, 'M', 'mb'),
-    (0x33D5, 'M', 'mil'),
-    (0x33D6, 'M', 'mol'),
-    (0x33D7, 'M', 'ph'),
-    (0x33D8, 'X'),
-    (0x33D9, 'M', 'ppm'),
-    (0x33DA, 'M', 'pr'),
-    (0x33DB, 'M', 'sr'),
-    (0x33DC, 'M', 'sv'),
-    (0x33DD, 'M', 'wb'),
-    (0x33DE, 'M', 'v∕m'),
-    (0x33DF, 'M', 'a∕m'),
-    (0x33E0, 'M', '1日'),
-    (0x33E1, 'M', '2日'),
+        (0x337E, "M", "明治"),
+        (0x337F, "M", "株式会社"),
+        (0x3380, "M", "pa"),
+        (0x3381, "M", "na"),
+        (0x3382, "M", "μa"),
+        (0x3383, "M", "ma"),
+        (0x3384, "M", "ka"),
+        (0x3385, "M", "kb"),
+        (0x3386, "M", "mb"),
+        (0x3387, "M", "gb"),
+        (0x3388, "M", "cal"),
+        (0x3389, "M", "kcal"),
+        (0x338A, "M", "pf"),
+        (0x338B, "M", "nf"),
+        (0x338C, "M", "μf"),
+        (0x338D, "M", "μg"),
+        (0x338E, "M", "mg"),
+        (0x338F, "M", "kg"),
+        (0x3390, "M", "hz"),
+        (0x3391, "M", "khz"),
+        (0x3392, "M", "mhz"),
+        (0x3393, "M", "ghz"),
+        (0x3394, "M", "thz"),
+        (0x3395, "M", "μl"),
+        (0x3396, "M", "ml"),
+        (0x3397, "M", "dl"),
+        (0x3398, "M", "kl"),
+        (0x3399, "M", "fm"),
+        (0x339A, "M", "nm"),
+        (0x339B, "M", "μm"),
+        (0x339C, "M", "mm"),
+        (0x339D, "M", "cm"),
+        (0x339E, "M", "km"),
+        (0x339F, "M", "mm2"),
+        (0x33A0, "M", "cm2"),
+        (0x33A1, "M", "m2"),
+        (0x33A2, "M", "km2"),
+        (0x33A3, "M", "mm3"),
+        (0x33A4, "M", "cm3"),
+        (0x33A5, "M", "m3"),
+        (0x33A6, "M", "km3"),
+        (0x33A7, "M", "m∕s"),
+        (0x33A8, "M", "m∕s2"),
+        (0x33A9, "M", "pa"),
+        (0x33AA, "M", "kpa"),
+        (0x33AB, "M", "mpa"),
+        (0x33AC, "M", "gpa"),
+        (0x33AD, "M", "rad"),
+        (0x33AE, "M", "rad∕s"),
+        (0x33AF, "M", "rad∕s2"),
+        (0x33B0, "M", "ps"),
+        (0x33B1, "M", "ns"),
+        (0x33B2, "M", "μs"),
+        (0x33B3, "M", "ms"),
+        (0x33B4, "M", "pv"),
+        (0x33B5, "M", "nv"),
+        (0x33B6, "M", "μv"),
+        (0x33B7, "M", "mv"),
+        (0x33B8, "M", "kv"),
+        (0x33B9, "M", "mv"),
+        (0x33BA, "M", "pw"),
+        (0x33BB, "M", "nw"),
+        (0x33BC, "M", "μw"),
+        (0x33BD, "M", "mw"),
+        (0x33BE, "M", "kw"),
+        (0x33BF, "M", "mw"),
+        (0x33C0, "M", "kω"),
+        (0x33C1, "M", "mω"),
+        (0x33C2, "X"),
+        (0x33C3, "M", "bq"),
+        (0x33C4, "M", "cc"),
+        (0x33C5, "M", "cd"),
+        (0x33C6, "M", "c∕kg"),
+        (0x33C7, "X"),
+        (0x33C8, "M", "db"),
+        (0x33C9, "M", "gy"),
+        (0x33CA, "M", "ha"),
+        (0x33CB, "M", "hp"),
+        (0x33CC, "M", "in"),
+        (0x33CD, "M", "kk"),
+        (0x33CE, "M", "km"),
+        (0x33CF, "M", "kt"),
+        (0x33D0, "M", "lm"),
+        (0x33D1, "M", "ln"),
+        (0x33D2, "M", "log"),
+        (0x33D3, "M", "lx"),
+        (0x33D4, "M", "mb"),
+        (0x33D5, "M", "mil"),
+        (0x33D6, "M", "mol"),
+        (0x33D7, "M", "ph"),
+        (0x33D8, "X"),
+        (0x33D9, "M", "ppm"),
+        (0x33DA, "M", "pr"),
+        (0x33DB, "M", "sr"),
+        (0x33DC, "M", "sv"),
+        (0x33DD, "M", "wb"),
+        (0x33DE, "M", "v∕m"),
+        (0x33DF, "M", "a∕m"),
+        (0x33E0, "M", "1日"),
+        (0x33E1, "M", "2日"),
     ]
 
+
 def _seg_35() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x33E2, 'M', '3日'),
-    (0x33E3, 'M', '4日'),
-    (0x33E4, 'M', '5日'),
-    (0x33E5, 'M', '6日'),
-    (0x33E6, 'M', '7日'),
-    (0x33E7, 'M', '8日'),
-    (0x33E8, 'M', '9日'),
-    (0x33E9, 'M', '10日'),
-    (0x33EA, 'M', '11日'),
-    (0x33EB, 'M', '12日'),
-    (0x33EC, 'M', '13日'),
-    (0x33ED, 'M', '14日'),
-    (0x33EE, 'M', '15日'),
-    (0x33EF, 'M', '16日'),
-    (0x33F0, 'M', '17日'),
-    (0x33F1, 'M', '18日'),
-    (0x33F2, 'M', '19日'),
-    (0x33F3, 'M', '20日'),
-    (0x33F4, 'M', '21日'),
-    (0x33F5, 'M', '22日'),
-    (0x33F6, 'M', '23日'),
-    (0x33F7, 'M', '24日'),
-    (0x33F8, 'M', '25日'),
-    (0x33F9, 'M', '26日'),
-    (0x33FA, 'M', '27日'),
-    (0x33FB, 'M', '28日'),
-    (0x33FC, 'M', '29日'),
-    (0x33FD, 'M', '30日'),
-    (0x33FE, 'M', '31日'),
-    (0x33FF, 'M', 'gal'),
-    (0x3400, 'V'),
-    (0xA48D, 'X'),
-    (0xA490, 'V'),
-    (0xA4C7, 'X'),
-    (0xA4D0, 'V'),
-    (0xA62C, 'X'),
-    (0xA640, 'M', 'ꙁ'),
-    (0xA641, 'V'),
-    (0xA642, 'M', 'ꙃ'),
-    (0xA643, 'V'),
-    (0xA644, 'M', 'ꙅ'),
-    (0xA645, 'V'),
-    (0xA646, 'M', 'ꙇ'),
-    (0xA647, 'V'),
-    (0xA648, 'M', 'ꙉ'),
-    (0xA649, 'V'),
-    (0xA64A, 'M', 'ꙋ'),
-    (0xA64B, 'V'),
-    (0xA64C, 'M', 'ꙍ'),
-    (0xA64D, 'V'),
-    (0xA64E, 'M', 'ꙏ'),
-    (0xA64F, 'V'),
-    (0xA650, 'M', 'ꙑ'),
-    (0xA651, 'V'),
-    (0xA652, 'M', 'ꙓ'),
-    (0xA653, 'V'),
-    (0xA654, 'M', 'ꙕ'),
-    (0xA655, 'V'),
-    (0xA656, 'M', 'ꙗ'),
-    (0xA657, 'V'),
-    (0xA658, 'M', 'ꙙ'),
-    (0xA659, 'V'),
-    (0xA65A, 'M', 'ꙛ'),
-    (0xA65B, 'V'),
-    (0xA65C, 'M', 'ꙝ'),
-    (0xA65D, 'V'),
-    (0xA65E, 'M', 'ꙟ'),
-    (0xA65F, 'V'),
-    (0xA660, 'M', 'ꙡ'),
-    (0xA661, 'V'),
-    (0xA662, 'M', 'ꙣ'),
-    (0xA663, 'V'),
-    (0xA664, 'M', 'ꙥ'),
-    (0xA665, 'V'),
-    (0xA666, 'M', 'ꙧ'),
-    (0xA667, 'V'),
-    (0xA668, 'M', 'ꙩ'),
-    (0xA669, 'V'),
-    (0xA66A, 'M', 'ꙫ'),
-    (0xA66B, 'V'),
-    (0xA66C, 'M', 'ꙭ'),
-    (0xA66D, 'V'),
-    (0xA680, 'M', 'ꚁ'),
-    (0xA681, 'V'),
-    (0xA682, 'M', 'ꚃ'),
-    (0xA683, 'V'),
-    (0xA684, 'M', 'ꚅ'),
-    (0xA685, 'V'),
-    (0xA686, 'M', 'ꚇ'),
-    (0xA687, 'V'),
-    (0xA688, 'M', 'ꚉ'),
-    (0xA689, 'V'),
-    (0xA68A, 'M', 'ꚋ'),
-    (0xA68B, 'V'),
-    (0xA68C, 'M', 'ꚍ'),
-    (0xA68D, 'V'),
-    (0xA68E, 'M', 'ꚏ'),
-    (0xA68F, 'V'),
-    (0xA690, 'M', 'ꚑ'),
-    (0xA691, 'V'),
+        (0x33E2, "M", "3日"),
+        (0x33E3, "M", "4日"),
+        (0x33E4, "M", "5日"),
+        (0x33E5, "M", "6日"),
+        (0x33E6, "M", "7日"),
+        (0x33E7, "M", "8日"),
+        (0x33E8, "M", "9日"),
+        (0x33E9, "M", "10日"),
+        (0x33EA, "M", "11日"),
+        (0x33EB, "M", "12日"),
+        (0x33EC, "M", "13日"),
+        (0x33ED, "M", "14日"),
+        (0x33EE, "M", "15日"),
+        (0x33EF, "M", "16日"),
+        (0x33F0, "M", "17日"),
+        (0x33F1, "M", "18日"),
+        (0x33F2, "M", "19日"),
+        (0x33F3, "M", "20日"),
+        (0x33F4, "M", "21日"),
+        (0x33F5, "M", "22日"),
+        (0x33F6, "M", "23日"),
+        (0x33F7, "M", "24日"),
+        (0x33F8, "M", "25日"),
+        (0x33F9, "M", "26日"),
+        (0x33FA, "M", "27日"),
+        (0x33FB, "M", "28日"),
+        (0x33FC, "M", "29日"),
+        (0x33FD, "M", "30日"),
+        (0x33FE, "M", "31日"),
+        (0x33FF, "M", "gal"),
+        (0x3400, "V"),
+        (0xA48D, "X"),
+        (0xA490, "V"),
+        (0xA4C7, "X"),
+        (0xA4D0, "V"),
+        (0xA62C, "X"),
+        (0xA640, "M", "ꙁ"),
+        (0xA641, "V"),
+        (0xA642, "M", "ꙃ"),
+        (0xA643, "V"),
+        (0xA644, "M", "ꙅ"),
+        (0xA645, "V"),
+        (0xA646, "M", "ꙇ"),
+        (0xA647, "V"),
+        (0xA648, "M", "ꙉ"),
+        (0xA649, "V"),
+        (0xA64A, "M", "ꙋ"),
+        (0xA64B, "V"),
+        (0xA64C, "M", "ꙍ"),
+        (0xA64D, "V"),
+        (0xA64E, "M", "ꙏ"),
+        (0xA64F, "V"),
+        (0xA650, "M", "ꙑ"),
+        (0xA651, "V"),
+        (0xA652, "M", "ꙓ"),
+        (0xA653, "V"),
+        (0xA654, "M", "ꙕ"),
+        (0xA655, "V"),
+        (0xA656, "M", "ꙗ"),
+        (0xA657, "V"),
+        (0xA658, "M", "ꙙ"),
+        (0xA659, "V"),
+        (0xA65A, "M", "ꙛ"),
+        (0xA65B, "V"),
+        (0xA65C, "M", "ꙝ"),
+        (0xA65D, "V"),
+        (0xA65E, "M", "ꙟ"),
+        (0xA65F, "V"),
+        (0xA660, "M", "ꙡ"),
+        (0xA661, "V"),
+        (0xA662, "M", "ꙣ"),
+        (0xA663, "V"),
+        (0xA664, "M", "ꙥ"),
+        (0xA665, "V"),
+        (0xA666, "M", "ꙧ"),
+        (0xA667, "V"),
+        (0xA668, "M", "ꙩ"),
+        (0xA669, "V"),
+        (0xA66A, "M", "ꙫ"),
+        (0xA66B, "V"),
+        (0xA66C, "M", "ꙭ"),
+        (0xA66D, "V"),
+        (0xA680, "M", "ꚁ"),
+        (0xA681, "V"),
+        (0xA682, "M", "ꚃ"),
+        (0xA683, "V"),
+        (0xA684, "M", "ꚅ"),
+        (0xA685, "V"),
+        (0xA686, "M", "ꚇ"),
+        (0xA687, "V"),
+        (0xA688, "M", "ꚉ"),
+        (0xA689, "V"),
+        (0xA68A, "M", "ꚋ"),
+        (0xA68B, "V"),
+        (0xA68C, "M", "ꚍ"),
+        (0xA68D, "V"),
+        (0xA68E, "M", "ꚏ"),
+        (0xA68F, "V"),
+        (0xA690, "M", "ꚑ"),
+        (0xA691, "V"),
     ]
 
+
 def _seg_36() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xA692, 'M', 'ꚓ'),
-    (0xA693, 'V'),
-    (0xA694, 'M', 'ꚕ'),
-    (0xA695, 'V'),
-    (0xA696, 'M', 'ꚗ'),
-    (0xA697, 'V'),
-    (0xA698, 'M', 'ꚙ'),
-    (0xA699, 'V'),
-    (0xA69A, 'M', 'ꚛ'),
-    (0xA69B, 'V'),
-    (0xA69C, 'M', 'ъ'),
-    (0xA69D, 'M', 'ь'),
-    (0xA69E, 'V'),
-    (0xA6F8, 'X'),
-    (0xA700, 'V'),
-    (0xA722, 'M', 'ꜣ'),
-    (0xA723, 'V'),
-    (0xA724, 'M', 'ꜥ'),
-    (0xA725, 'V'),
-    (0xA726, 'M', 'ꜧ'),
-    (0xA727, 'V'),
-    (0xA728, 'M', 'ꜩ'),
-    (0xA729, 'V'),
-    (0xA72A, 'M', 'ꜫ'),
-    (0xA72B, 'V'),
-    (0xA72C, 'M', 'ꜭ'),
-    (0xA72D, 'V'),
-    (0xA72E, 'M', 'ꜯ'),
-    (0xA72F, 'V'),
-    (0xA732, 'M', 'ꜳ'),
-    (0xA733, 'V'),
-    (0xA734, 'M', 'ꜵ'),
-    (0xA735, 'V'),
-    (0xA736, 'M', 'ꜷ'),
-    (0xA737, 'V'),
-    (0xA738, 'M', 'ꜹ'),
-    (0xA739, 'V'),
-    (0xA73A, 'M', 'ꜻ'),
-    (0xA73B, 'V'),
-    (0xA73C, 'M', 'ꜽ'),
-    (0xA73D, 'V'),
-    (0xA73E, 'M', 'ꜿ'),
-    (0xA73F, 'V'),
-    (0xA740, 'M', 'ꝁ'),
-    (0xA741, 'V'),
-    (0xA742, 'M', 'ꝃ'),
-    (0xA743, 'V'),
-    (0xA744, 'M', 'ꝅ'),
-    (0xA745, 'V'),
-    (0xA746, 'M', 'ꝇ'),
-    (0xA747, 'V'),
-    (0xA748, 'M', 'ꝉ'),
-    (0xA749, 'V'),
-    (0xA74A, 'M', 'ꝋ'),
-    (0xA74B, 'V'),
-    (0xA74C, 'M', 'ꝍ'),
-    (0xA74D, 'V'),
-    (0xA74E, 'M', 'ꝏ'),
-    (0xA74F, 'V'),
-    (0xA750, 'M', 'ꝑ'),
-    (0xA751, 'V'),
-    (0xA752, 'M', 'ꝓ'),
-    (0xA753, 'V'),
-    (0xA754, 'M', 'ꝕ'),
-    (0xA755, 'V'),
-    (0xA756, 'M', 'ꝗ'),
-    (0xA757, 'V'),
-    (0xA758, 'M', 'ꝙ'),
-    (0xA759, 'V'),
-    (0xA75A, 'M', 'ꝛ'),
-    (0xA75B, 'V'),
-    (0xA75C, 'M', 'ꝝ'),
-    (0xA75D, 'V'),
-    (0xA75E, 'M', 'ꝟ'),
-    (0xA75F, 'V'),
-    (0xA760, 'M', 'ꝡ'),
-    (0xA761, 'V'),
-    (0xA762, 'M', 'ꝣ'),
-    (0xA763, 'V'),
-    (0xA764, 'M', 'ꝥ'),
-    (0xA765, 'V'),
-    (0xA766, 'M', 'ꝧ'),
-    (0xA767, 'V'),
-    (0xA768, 'M', 'ꝩ'),
-    (0xA769, 'V'),
-    (0xA76A, 'M', 'ꝫ'),
-    (0xA76B, 'V'),
-    (0xA76C, 'M', 'ꝭ'),
-    (0xA76D, 'V'),
-    (0xA76E, 'M', 'ꝯ'),
-    (0xA76F, 'V'),
-    (0xA770, 'M', 'ꝯ'),
-    (0xA771, 'V'),
-    (0xA779, 'M', 'ꝺ'),
-    (0xA77A, 'V'),
-    (0xA77B, 'M', 'ꝼ'),
-    (0xA77C, 'V'),
-    (0xA77D, 'M', 'ᵹ'),
-    (0xA77E, 'M', 'ꝿ'),
-    (0xA77F, 'V'),
+        (0xA692, "M", "ꚓ"),
+        (0xA693, "V"),
+        (0xA694, "M", "ꚕ"),
+        (0xA695, "V"),
+        (0xA696, "M", "ꚗ"),
+        (0xA697, "V"),
+        (0xA698, "M", "ꚙ"),
+        (0xA699, "V"),
+        (0xA69A, "M", "ꚛ"),
+        (0xA69B, "V"),
+        (0xA69C, "M", "ъ"),
+        (0xA69D, "M", "ь"),
+        (0xA69E, "V"),
+        (0xA6F8, "X"),
+        (0xA700, "V"),
+        (0xA722, "M", "ꜣ"),
+        (0xA723, "V"),
+        (0xA724, "M", "ꜥ"),
+        (0xA725, "V"),
+        (0xA726, "M", "ꜧ"),
+        (0xA727, "V"),
+        (0xA728, "M", "ꜩ"),
+        (0xA729, "V"),
+        (0xA72A, "M", "ꜫ"),
+        (0xA72B, "V"),
+        (0xA72C, "M", "ꜭ"),
+        (0xA72D, "V"),
+        (0xA72E, "M", "ꜯ"),
+        (0xA72F, "V"),
+        (0xA732, "M", "ꜳ"),
+        (0xA733, "V"),
+        (0xA734, "M", "ꜵ"),
+        (0xA735, "V"),
+        (0xA736, "M", "ꜷ"),
+        (0xA737, "V"),
+        (0xA738, "M", "ꜹ"),
+        (0xA739, "V"),
+        (0xA73A, "M", "ꜻ"),
+        (0xA73B, "V"),
+        (0xA73C, "M", "ꜽ"),
+        (0xA73D, "V"),
+        (0xA73E, "M", "ꜿ"),
+        (0xA73F, "V"),
+        (0xA740, "M", "ꝁ"),
+        (0xA741, "V"),
+        (0xA742, "M", "ꝃ"),
+        (0xA743, "V"),
+        (0xA744, "M", "ꝅ"),
+        (0xA745, "V"),
+        (0xA746, "M", "ꝇ"),
+        (0xA747, "V"),
+        (0xA748, "M", "ꝉ"),
+        (0xA749, "V"),
+        (0xA74A, "M", "ꝋ"),
+        (0xA74B, "V"),
+        (0xA74C, "M", "ꝍ"),
+        (0xA74D, "V"),
+        (0xA74E, "M", "ꝏ"),
+        (0xA74F, "V"),
+        (0xA750, "M", "ꝑ"),
+        (0xA751, "V"),
+        (0xA752, "M", "ꝓ"),
+        (0xA753, "V"),
+        (0xA754, "M", "ꝕ"),
+        (0xA755, "V"),
+        (0xA756, "M", "ꝗ"),
+        (0xA757, "V"),
+        (0xA758, "M", "ꝙ"),
+        (0xA759, "V"),
+        (0xA75A, "M", "ꝛ"),
+        (0xA75B, "V"),
+        (0xA75C, "M", "ꝝ"),
+        (0xA75D, "V"),
+        (0xA75E, "M", "ꝟ"),
+        (0xA75F, "V"),
+        (0xA760, "M", "ꝡ"),
+        (0xA761, "V"),
+        (0xA762, "M", "ꝣ"),
+        (0xA763, "V"),
+        (0xA764, "M", "ꝥ"),
+        (0xA765, "V"),
+        (0xA766, "M", "ꝧ"),
+        (0xA767, "V"),
+        (0xA768, "M", "ꝩ"),
+        (0xA769, "V"),
+        (0xA76A, "M", "ꝫ"),
+        (0xA76B, "V"),
+        (0xA76C, "M", "ꝭ"),
+        (0xA76D, "V"),
+        (0xA76E, "M", "ꝯ"),
+        (0xA76F, "V"),
+        (0xA770, "M", "ꝯ"),
+        (0xA771, "V"),
+        (0xA779, "M", "ꝺ"),
+        (0xA77A, "V"),
+        (0xA77B, "M", "ꝼ"),
+        (0xA77C, "V"),
+        (0xA77D, "M", "ᵹ"),
+        (0xA77E, "M", "ꝿ"),
+        (0xA77F, "V"),
     ]
 
+
 def _seg_37() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xA780, 'M', 'ꞁ'),
-    (0xA781, 'V'),
-    (0xA782, 'M', 'ꞃ'),
-    (0xA783, 'V'),
-    (0xA784, 'M', 'ꞅ'),
-    (0xA785, 'V'),
-    (0xA786, 'M', 'ꞇ'),
-    (0xA787, 'V'),
-    (0xA78B, 'M', 'ꞌ'),
-    (0xA78C, 'V'),
-    (0xA78D, 'M', 'ɥ'),
-    (0xA78E, 'V'),
-    (0xA790, 'M', 'ꞑ'),
-    (0xA791, 'V'),
-    (0xA792, 'M', 'ꞓ'),
-    (0xA793, 'V'),
-    (0xA796, 'M', 'ꞗ'),
-    (0xA797, 'V'),
-    (0xA798, 'M', 'ꞙ'),
-    (0xA799, 'V'),
-    (0xA79A, 'M', 'ꞛ'),
-    (0xA79B, 'V'),
-    (0xA79C, 'M', 'ꞝ'),
-    (0xA79D, 'V'),
-    (0xA79E, 'M', 'ꞟ'),
-    (0xA79F, 'V'),
-    (0xA7A0, 'M', 'ꞡ'),
-    (0xA7A1, 'V'),
-    (0xA7A2, 'M', 'ꞣ'),
-    (0xA7A3, 'V'),
-    (0xA7A4, 'M', 'ꞥ'),
-    (0xA7A5, 'V'),
-    (0xA7A6, 'M', 'ꞧ'),
-    (0xA7A7, 'V'),
-    (0xA7A8, 'M', 'ꞩ'),
-    (0xA7A9, 'V'),
-    (0xA7AA, 'M', 'ɦ'),
-    (0xA7AB, 'M', 'ɜ'),
-    (0xA7AC, 'M', 'ɡ'),
-    (0xA7AD, 'M', 'ɬ'),
-    (0xA7AE, 'M', 'ɪ'),
-    (0xA7AF, 'V'),
-    (0xA7B0, 'M', 'ʞ'),
-    (0xA7B1, 'M', 'ʇ'),
-    (0xA7B2, 'M', 'ʝ'),
-    (0xA7B3, 'M', 'ꭓ'),
-    (0xA7B4, 'M', 'ꞵ'),
-    (0xA7B5, 'V'),
-    (0xA7B6, 'M', 'ꞷ'),
-    (0xA7B7, 'V'),
-    (0xA7B8, 'M', 'ꞹ'),
-    (0xA7B9, 'V'),
-    (0xA7BA, 'M', 'ꞻ'),
-    (0xA7BB, 'V'),
-    (0xA7BC, 'M', 'ꞽ'),
-    (0xA7BD, 'V'),
-    (0xA7BE, 'M', 'ꞿ'),
-    (0xA7BF, 'V'),
-    (0xA7C0, 'M', 'ꟁ'),
-    (0xA7C1, 'V'),
-    (0xA7C2, 'M', 'ꟃ'),
-    (0xA7C3, 'V'),
-    (0xA7C4, 'M', 'ꞔ'),
-    (0xA7C5, 'M', 'ʂ'),
-    (0xA7C6, 'M', 'ᶎ'),
-    (0xA7C7, 'M', 'ꟈ'),
-    (0xA7C8, 'V'),
-    (0xA7C9, 'M', 'ꟊ'),
-    (0xA7CA, 'V'),
-    (0xA7CB, 'X'),
-    (0xA7D0, 'M', 'ꟑ'),
-    (0xA7D1, 'V'),
-    (0xA7D2, 'X'),
-    (0xA7D3, 'V'),
-    (0xA7D4, 'X'),
-    (0xA7D5, 'V'),
-    (0xA7D6, 'M', 'ꟗ'),
-    (0xA7D7, 'V'),
-    (0xA7D8, 'M', 'ꟙ'),
-    (0xA7D9, 'V'),
-    (0xA7DA, 'X'),
-    (0xA7F2, 'M', 'c'),
-    (0xA7F3, 'M', 'f'),
-    (0xA7F4, 'M', 'q'),
-    (0xA7F5, 'M', 'ꟶ'),
-    (0xA7F6, 'V'),
-    (0xA7F8, 'M', 'ħ'),
-    (0xA7F9, 'M', 'œ'),
-    (0xA7FA, 'V'),
-    (0xA82D, 'X'),
-    (0xA830, 'V'),
-    (0xA83A, 'X'),
-    (0xA840, 'V'),
-    (0xA878, 'X'),
-    (0xA880, 'V'),
-    (0xA8C6, 'X'),
-    (0xA8CE, 'V'),
-    (0xA8DA, 'X'),
-    (0xA8E0, 'V'),
-    (0xA954, 'X'),
+        (0xA780, "M", "ꞁ"),
+        (0xA781, "V"),
+        (0xA782, "M", "ꞃ"),
+        (0xA783, "V"),
+        (0xA784, "M", "ꞅ"),
+        (0xA785, "V"),
+        (0xA786, "M", "ꞇ"),
+        (0xA787, "V"),
+        (0xA78B, "M", "ꞌ"),
+        (0xA78C, "V"),
+        (0xA78D, "M", "ɥ"),
+        (0xA78E, "V"),
+        (0xA790, "M", "ꞑ"),
+        (0xA791, "V"),
+        (0xA792, "M", "ꞓ"),
+        (0xA793, "V"),
+        (0xA796, "M", "ꞗ"),
+        (0xA797, "V"),
+        (0xA798, "M", "ꞙ"),
+        (0xA799, "V"),
+        (0xA79A, "M", "ꞛ"),
+        (0xA79B, "V"),
+        (0xA79C, "M", "ꞝ"),
+        (0xA79D, "V"),
+        (0xA79E, "M", "ꞟ"),
+        (0xA79F, "V"),
+        (0xA7A0, "M", "ꞡ"),
+        (0xA7A1, "V"),
+        (0xA7A2, "M", "ꞣ"),
+        (0xA7A3, "V"),
+        (0xA7A4, "M", "ꞥ"),
+        (0xA7A5, "V"),
+        (0xA7A6, "M", "ꞧ"),
+        (0xA7A7, "V"),
+        (0xA7A8, "M", "ꞩ"),
+        (0xA7A9, "V"),
+        (0xA7AA, "M", "ɦ"),
+        (0xA7AB, "M", "ɜ"),
+        (0xA7AC, "M", "ɡ"),
+        (0xA7AD, "M", "ɬ"),
+        (0xA7AE, "M", "ɪ"),
+        (0xA7AF, "V"),
+        (0xA7B0, "M", "ʞ"),
+        (0xA7B1, "M", "ʇ"),
+        (0xA7B2, "M", "ʝ"),
+        (0xA7B3, "M", "ꭓ"),
+        (0xA7B4, "M", "ꞵ"),
+        (0xA7B5, "V"),
+        (0xA7B6, "M", "ꞷ"),
+        (0xA7B7, "V"),
+        (0xA7B8, "M", "ꞹ"),
+        (0xA7B9, "V"),
+        (0xA7BA, "M", "ꞻ"),
+        (0xA7BB, "V"),
+        (0xA7BC, "M", "ꞽ"),
+        (0xA7BD, "V"),
+        (0xA7BE, "M", "ꞿ"),
+        (0xA7BF, "V"),
+        (0xA7C0, "M", "ꟁ"),
+        (0xA7C1, "V"),
+        (0xA7C2, "M", "ꟃ"),
+        (0xA7C3, "V"),
+        (0xA7C4, "M", "ꞔ"),
+        (0xA7C5, "M", "ʂ"),
+        (0xA7C6, "M", "ᶎ"),
+        (0xA7C7, "M", "ꟈ"),
+        (0xA7C8, "V"),
+        (0xA7C9, "M", "ꟊ"),
+        (0xA7CA, "V"),
+        (0xA7CB, "X"),
+        (0xA7D0, "M", "ꟑ"),
+        (0xA7D1, "V"),
+        (0xA7D2, "X"),
+        (0xA7D3, "V"),
+        (0xA7D4, "X"),
+        (0xA7D5, "V"),
+        (0xA7D6, "M", "ꟗ"),
+        (0xA7D7, "V"),
+        (0xA7D8, "M", "ꟙ"),
+        (0xA7D9, "V"),
+        (0xA7DA, "X"),
+        (0xA7F2, "M", "c"),
+        (0xA7F3, "M", "f"),
+        (0xA7F4, "M", "q"),
+        (0xA7F5, "M", "ꟶ"),
+        (0xA7F6, "V"),
+        (0xA7F8, "M", "ħ"),
+        (0xA7F9, "M", "œ"),
+        (0xA7FA, "V"),
+        (0xA82D, "X"),
+        (0xA830, "V"),
+        (0xA83A, "X"),
+        (0xA840, "V"),
+        (0xA878, "X"),
+        (0xA880, "V"),
+        (0xA8C6, "X"),
+        (0xA8CE, "V"),
+        (0xA8DA, "X"),
+        (0xA8E0, "V"),
+        (0xA954, "X"),
     ]
 
+
 def _seg_38() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xA95F, 'V'),
-    (0xA97D, 'X'),
-    (0xA980, 'V'),
-    (0xA9CE, 'X'),
-    (0xA9CF, 'V'),
-    (0xA9DA, 'X'),
-    (0xA9DE, 'V'),
-    (0xA9FF, 'X'),
-    (0xAA00, 'V'),
-    (0xAA37, 'X'),
-    (0xAA40, 'V'),
-    (0xAA4E, 'X'),
-    (0xAA50, 'V'),
-    (0xAA5A, 'X'),
-    (0xAA5C, 'V'),
-    (0xAAC3, 'X'),
-    (0xAADB, 'V'),
-    (0xAAF7, 'X'),
-    (0xAB01, 'V'),
-    (0xAB07, 'X'),
-    (0xAB09, 'V'),
-    (0xAB0F, 'X'),
-    (0xAB11, 'V'),
-    (0xAB17, 'X'),
-    (0xAB20, 'V'),
-    (0xAB27, 'X'),
-    (0xAB28, 'V'),
-    (0xAB2F, 'X'),
-    (0xAB30, 'V'),
-    (0xAB5C, 'M', 'ꜧ'),
-    (0xAB5D, 'M', 'ꬷ'),
-    (0xAB5E, 'M', 'ɫ'),
-    (0xAB5F, 'M', 'ꭒ'),
-    (0xAB60, 'V'),
-    (0xAB69, 'M', 'ʍ'),
-    (0xAB6A, 'V'),
-    (0xAB6C, 'X'),
-    (0xAB70, 'M', 'Ꭰ'),
-    (0xAB71, 'M', 'Ꭱ'),
-    (0xAB72, 'M', 'Ꭲ'),
-    (0xAB73, 'M', 'Ꭳ'),
-    (0xAB74, 'M', 'Ꭴ'),
-    (0xAB75, 'M', 'Ꭵ'),
-    (0xAB76, 'M', 'Ꭶ'),
-    (0xAB77, 'M', 'Ꭷ'),
-    (0xAB78, 'M', 'Ꭸ'),
-    (0xAB79, 'M', 'Ꭹ'),
-    (0xAB7A, 'M', 'Ꭺ'),
-    (0xAB7B, 'M', 'Ꭻ'),
-    (0xAB7C, 'M', 'Ꭼ'),
-    (0xAB7D, 'M', 'Ꭽ'),
-    (0xAB7E, 'M', 'Ꭾ'),
-    (0xAB7F, 'M', 'Ꭿ'),
-    (0xAB80, 'M', 'Ꮀ'),
-    (0xAB81, 'M', 'Ꮁ'),
-    (0xAB82, 'M', 'Ꮂ'),
-    (0xAB83, 'M', 'Ꮃ'),
-    (0xAB84, 'M', 'Ꮄ'),
-    (0xAB85, 'M', 'Ꮅ'),
-    (0xAB86, 'M', 'Ꮆ'),
-    (0xAB87, 'M', 'Ꮇ'),
-    (0xAB88, 'M', 'Ꮈ'),
-    (0xAB89, 'M', 'Ꮉ'),
-    (0xAB8A, 'M', 'Ꮊ'),
-    (0xAB8B, 'M', 'Ꮋ'),
-    (0xAB8C, 'M', 'Ꮌ'),
-    (0xAB8D, 'M', 'Ꮍ'),
-    (0xAB8E, 'M', 'Ꮎ'),
-    (0xAB8F, 'M', 'Ꮏ'),
-    (0xAB90, 'M', 'Ꮐ'),
-    (0xAB91, 'M', 'Ꮑ'),
-    (0xAB92, 'M', 'Ꮒ'),
-    (0xAB93, 'M', 'Ꮓ'),
-    (0xAB94, 'M', 'Ꮔ'),
-    (0xAB95, 'M', 'Ꮕ'),
-    (0xAB96, 'M', 'Ꮖ'),
-    (0xAB97, 'M', 'Ꮗ'),
-    (0xAB98, 'M', 'Ꮘ'),
-    (0xAB99, 'M', 'Ꮙ'),
-    (0xAB9A, 'M', 'Ꮚ'),
-    (0xAB9B, 'M', 'Ꮛ'),
-    (0xAB9C, 'M', 'Ꮜ'),
-    (0xAB9D, 'M', 'Ꮝ'),
-    (0xAB9E, 'M', 'Ꮞ'),
-    (0xAB9F, 'M', 'Ꮟ'),
-    (0xABA0, 'M', 'Ꮠ'),
-    (0xABA1, 'M', 'Ꮡ'),
-    (0xABA2, 'M', 'Ꮢ'),
-    (0xABA3, 'M', 'Ꮣ'),
-    (0xABA4, 'M', 'Ꮤ'),
-    (0xABA5, 'M', 'Ꮥ'),
-    (0xABA6, 'M', 'Ꮦ'),
-    (0xABA7, 'M', 'Ꮧ'),
-    (0xABA8, 'M', 'Ꮨ'),
-    (0xABA9, 'M', 'Ꮩ'),
-    (0xABAA, 'M', 'Ꮪ'),
-    (0xABAB, 'M', 'Ꮫ'),
-    (0xABAC, 'M', 'Ꮬ'),
-    (0xABAD, 'M', 'Ꮭ'),
-    (0xABAE, 'M', 'Ꮮ'),
+        (0xA95F, "V"),
+        (0xA97D, "X"),
+        (0xA980, "V"),
+        (0xA9CE, "X"),
+        (0xA9CF, "V"),
+        (0xA9DA, "X"),
+        (0xA9DE, "V"),
+        (0xA9FF, "X"),
+        (0xAA00, "V"),
+        (0xAA37, "X"),
+        (0xAA40, "V"),
+        (0xAA4E, "X"),
+        (0xAA50, "V"),
+        (0xAA5A, "X"),
+        (0xAA5C, "V"),
+        (0xAAC3, "X"),
+        (0xAADB, "V"),
+        (0xAAF7, "X"),
+        (0xAB01, "V"),
+        (0xAB07, "X"),
+        (0xAB09, "V"),
+        (0xAB0F, "X"),
+        (0xAB11, "V"),
+        (0xAB17, "X"),
+        (0xAB20, "V"),
+        (0xAB27, "X"),
+        (0xAB28, "V"),
+        (0xAB2F, "X"),
+        (0xAB30, "V"),
+        (0xAB5C, "M", "ꜧ"),
+        (0xAB5D, "M", "ꬷ"),
+        (0xAB5E, "M", "ɫ"),
+        (0xAB5F, "M", "ꭒ"),
+        (0xAB60, "V"),
+        (0xAB69, "M", "ʍ"),
+        (0xAB6A, "V"),
+        (0xAB6C, "X"),
+        (0xAB70, "M", "Ꭰ"),
+        (0xAB71, "M", "Ꭱ"),
+        (0xAB72, "M", "Ꭲ"),
+        (0xAB73, "M", "Ꭳ"),
+        (0xAB74, "M", "Ꭴ"),
+        (0xAB75, "M", "Ꭵ"),
+        (0xAB76, "M", "Ꭶ"),
+        (0xAB77, "M", "Ꭷ"),
+        (0xAB78, "M", "Ꭸ"),
+        (0xAB79, "M", "Ꭹ"),
+        (0xAB7A, "M", "Ꭺ"),
+        (0xAB7B, "M", "Ꭻ"),
+        (0xAB7C, "M", "Ꭼ"),
+        (0xAB7D, "M", "Ꭽ"),
+        (0xAB7E, "M", "Ꭾ"),
+        (0xAB7F, "M", "Ꭿ"),
+        (0xAB80, "M", "Ꮀ"),
+        (0xAB81, "M", "Ꮁ"),
+        (0xAB82, "M", "Ꮂ"),
+        (0xAB83, "M", "Ꮃ"),
+        (0xAB84, "M", "Ꮄ"),
+        (0xAB85, "M", "Ꮅ"),
+        (0xAB86, "M", "Ꮆ"),
+        (0xAB87, "M", "Ꮇ"),
+        (0xAB88, "M", "Ꮈ"),
+        (0xAB89, "M", "Ꮉ"),
+        (0xAB8A, "M", "Ꮊ"),
+        (0xAB8B, "M", "Ꮋ"),
+        (0xAB8C, "M", "Ꮌ"),
+        (0xAB8D, "M", "Ꮍ"),
+        (0xAB8E, "M", "Ꮎ"),
+        (0xAB8F, "M", "Ꮏ"),
+        (0xAB90, "M", "Ꮐ"),
+        (0xAB91, "M", "Ꮑ"),
+        (0xAB92, "M", "Ꮒ"),
+        (0xAB93, "M", "Ꮓ"),
+        (0xAB94, "M", "Ꮔ"),
+        (0xAB95, "M", "Ꮕ"),
+        (0xAB96, "M", "Ꮖ"),
+        (0xAB97, "M", "Ꮗ"),
+        (0xAB98, "M", "Ꮘ"),
+        (0xAB99, "M", "Ꮙ"),
+        (0xAB9A, "M", "Ꮚ"),
+        (0xAB9B, "M", "Ꮛ"),
+        (0xAB9C, "M", "Ꮜ"),
+        (0xAB9D, "M", "Ꮝ"),
+        (0xAB9E, "M", "Ꮞ"),
+        (0xAB9F, "M", "Ꮟ"),
+        (0xABA0, "M", "Ꮠ"),
+        (0xABA1, "M", "Ꮡ"),
+        (0xABA2, "M", "Ꮢ"),
+        (0xABA3, "M", "Ꮣ"),
+        (0xABA4, "M", "Ꮤ"),
+        (0xABA5, "M", "Ꮥ"),
+        (0xABA6, "M", "Ꮦ"),
+        (0xABA7, "M", "Ꮧ"),
+        (0xABA8, "M", "Ꮨ"),
+        (0xABA9, "M", "Ꮩ"),
+        (0xABAA, "M", "Ꮪ"),
+        (0xABAB, "M", "Ꮫ"),
+        (0xABAC, "M", "Ꮬ"),
+        (0xABAD, "M", "Ꮭ"),
+        (0xABAE, "M", "Ꮮ"),
     ]
 
+
 def _seg_39() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xABAF, 'M', 'Ꮯ'),
-    (0xABB0, 'M', 'Ꮰ'),
-    (0xABB1, 'M', 'Ꮱ'),
-    (0xABB2, 'M', 'Ꮲ'),
-    (0xABB3, 'M', 'Ꮳ'),
-    (0xABB4, 'M', 'Ꮴ'),
-    (0xABB5, 'M', 'Ꮵ'),
-    (0xABB6, 'M', 'Ꮶ'),
-    (0xABB7, 'M', 'Ꮷ'),
-    (0xABB8, 'M', 'Ꮸ'),
-    (0xABB9, 'M', 'Ꮹ'),
-    (0xABBA, 'M', 'Ꮺ'),
-    (0xABBB, 'M', 'Ꮻ'),
-    (0xABBC, 'M', 'Ꮼ'),
-    (0xABBD, 'M', 'Ꮽ'),
-    (0xABBE, 'M', 'Ꮾ'),
-    (0xABBF, 'M', 'Ꮿ'),
-    (0xABC0, 'V'),
-    (0xABEE, 'X'),
-    (0xABF0, 'V'),
-    (0xABFA, 'X'),
-    (0xAC00, 'V'),
-    (0xD7A4, 'X'),
-    (0xD7B0, 'V'),
-    (0xD7C7, 'X'),
-    (0xD7CB, 'V'),
-    (0xD7FC, 'X'),
-    (0xF900, 'M', '豈'),
-    (0xF901, 'M', '更'),
-    (0xF902, 'M', '車'),
-    (0xF903, 'M', '賈'),
-    (0xF904, 'M', '滑'),
-    (0xF905, 'M', '串'),
-    (0xF906, 'M', '句'),
-    (0xF907, 'M', '龜'),
-    (0xF909, 'M', '契'),
-    (0xF90A, 'M', '金'),
-    (0xF90B, 'M', '喇'),
-    (0xF90C, 'M', '奈'),
-    (0xF90D, 'M', '懶'),
-    (0xF90E, 'M', '癩'),
-    (0xF90F, 'M', '羅'),
-    (0xF910, 'M', '蘿'),
-    (0xF911, 'M', '螺'),
-    (0xF912, 'M', '裸'),
-    (0xF913, 'M', '邏'),
-    (0xF914, 'M', '樂'),
-    (0xF915, 'M', '洛'),
-    (0xF916, 'M', '烙'),
-    (0xF917, 'M', '珞'),
-    (0xF918, 'M', '落'),
-    (0xF919, 'M', '酪'),
-    (0xF91A, 'M', '駱'),
-    (0xF91B, 'M', '亂'),
-    (0xF91C, 'M', '卵'),
-    (0xF91D, 'M', '欄'),
-    (0xF91E, 'M', '爛'),
-    (0xF91F, 'M', '蘭'),
-    (0xF920, 'M', '鸞'),
-    (0xF921, 'M', '嵐'),
-    (0xF922, 'M', '濫'),
-    (0xF923, 'M', '藍'),
-    (0xF924, 'M', '襤'),
-    (0xF925, 'M', '拉'),
-    (0xF926, 'M', '臘'),
-    (0xF927, 'M', '蠟'),
-    (0xF928, 'M', '廊'),
-    (0xF929, 'M', '朗'),
-    (0xF92A, 'M', '浪'),
-    (0xF92B, 'M', '狼'),
-    (0xF92C, 'M', '郎'),
-    (0xF92D, 'M', '來'),
-    (0xF92E, 'M', '冷'),
-    (0xF92F, 'M', '勞'),
-    (0xF930, 'M', '擄'),
-    (0xF931, 'M', '櫓'),
-    (0xF932, 'M', '爐'),
-    (0xF933, 'M', '盧'),
-    (0xF934, 'M', '老'),
-    (0xF935, 'M', '蘆'),
-    (0xF936, 'M', '虜'),
-    (0xF937, 'M', '路'),
-    (0xF938, 'M', '露'),
-    (0xF939, 'M', '魯'),
-    (0xF93A, 'M', '鷺'),
-    (0xF93B, 'M', '碌'),
-    (0xF93C, 'M', '祿'),
-    (0xF93D, 'M', '綠'),
-    (0xF93E, 'M', '菉'),
-    (0xF93F, 'M', '錄'),
-    (0xF940, 'M', '鹿'),
-    (0xF941, 'M', '論'),
-    (0xF942, 'M', '壟'),
-    (0xF943, 'M', '弄'),
-    (0xF944, 'M', '籠'),
-    (0xF945, 'M', '聾'),
-    (0xF946, 'M', '牢'),
-    (0xF947, 'M', '磊'),
-    (0xF948, 'M', '賂'),
-    (0xF949, 'M', '雷'),
+        (0xABAF, "M", "Ꮯ"),
+        (0xABB0, "M", "Ꮰ"),
+        (0xABB1, "M", "Ꮱ"),
+        (0xABB2, "M", "Ꮲ"),
+        (0xABB3, "M", "Ꮳ"),
+        (0xABB4, "M", "Ꮴ"),
+        (0xABB5, "M", "Ꮵ"),
+        (0xABB6, "M", "Ꮶ"),
+        (0xABB7, "M", "Ꮷ"),
+        (0xABB8, "M", "Ꮸ"),
+        (0xABB9, "M", "Ꮹ"),
+        (0xABBA, "M", "Ꮺ"),
+        (0xABBB, "M", "Ꮻ"),
+        (0xABBC, "M", "Ꮼ"),
+        (0xABBD, "M", "Ꮽ"),
+        (0xABBE, "M", "Ꮾ"),
+        (0xABBF, "M", "Ꮿ"),
+        (0xABC0, "V"),
+        (0xABEE, "X"),
+        (0xABF0, "V"),
+        (0xABFA, "X"),
+        (0xAC00, "V"),
+        (0xD7A4, "X"),
+        (0xD7B0, "V"),
+        (0xD7C7, "X"),
+        (0xD7CB, "V"),
+        (0xD7FC, "X"),
+        (0xF900, "M", "豈"),
+        (0xF901, "M", "更"),
+        (0xF902, "M", "車"),
+        (0xF903, "M", "賈"),
+        (0xF904, "M", "滑"),
+        (0xF905, "M", "串"),
+        (0xF906, "M", "句"),
+        (0xF907, "M", "龜"),
+        (0xF909, "M", "契"),
+        (0xF90A, "M", "金"),
+        (0xF90B, "M", "喇"),
+        (0xF90C, "M", "奈"),
+        (0xF90D, "M", "懶"),
+        (0xF90E, "M", "癩"),
+        (0xF90F, "M", "羅"),
+        (0xF910, "M", "蘿"),
+        (0xF911, "M", "螺"),
+        (0xF912, "M", "裸"),
+        (0xF913, "M", "邏"),
+        (0xF914, "M", "樂"),
+        (0xF915, "M", "洛"),
+        (0xF916, "M", "烙"),
+        (0xF917, "M", "珞"),
+        (0xF918, "M", "落"),
+        (0xF919, "M", "酪"),
+        (0xF91A, "M", "駱"),
+        (0xF91B, "M", "亂"),
+        (0xF91C, "M", "卵"),
+        (0xF91D, "M", "欄"),
+        (0xF91E, "M", "爛"),
+        (0xF91F, "M", "蘭"),
+        (0xF920, "M", "鸞"),
+        (0xF921, "M", "嵐"),
+        (0xF922, "M", "濫"),
+        (0xF923, "M", "藍"),
+        (0xF924, "M", "襤"),
+        (0xF925, "M", "拉"),
+        (0xF926, "M", "臘"),
+        (0xF927, "M", "蠟"),
+        (0xF928, "M", "廊"),
+        (0xF929, "M", "朗"),
+        (0xF92A, "M", "浪"),
+        (0xF92B, "M", "狼"),
+        (0xF92C, "M", "郎"),
+        (0xF92D, "M", "來"),
+        (0xF92E, "M", "冷"),
+        (0xF92F, "M", "勞"),
+        (0xF930, "M", "擄"),
+        (0xF931, "M", "櫓"),
+        (0xF932, "M", "爐"),
+        (0xF933, "M", "盧"),
+        (0xF934, "M", "老"),
+        (0xF935, "M", "蘆"),
+        (0xF936, "M", "虜"),
+        (0xF937, "M", "路"),
+        (0xF938, "M", "露"),
+        (0xF939, "M", "魯"),
+        (0xF93A, "M", "鷺"),
+        (0xF93B, "M", "碌"),
+        (0xF93C, "M", "祿"),
+        (0xF93D, "M", "綠"),
+        (0xF93E, "M", "菉"),
+        (0xF93F, "M", "錄"),
+        (0xF940, "M", "鹿"),
+        (0xF941, "M", "論"),
+        (0xF942, "M", "壟"),
+        (0xF943, "M", "弄"),
+        (0xF944, "M", "籠"),
+        (0xF945, "M", "聾"),
+        (0xF946, "M", "牢"),
+        (0xF947, "M", "磊"),
+        (0xF948, "M", "賂"),
+        (0xF949, "M", "雷"),
     ]
 
+
 def _seg_40() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xF94A, 'M', '壘'),
-    (0xF94B, 'M', '屢'),
-    (0xF94C, 'M', '樓'),
-    (0xF94D, 'M', '淚'),
-    (0xF94E, 'M', '漏'),
-    (0xF94F, 'M', '累'),
-    (0xF950, 'M', '縷'),
-    (0xF951, 'M', '陋'),
-    (0xF952, 'M', '勒'),
-    (0xF953, 'M', '肋'),
-    (0xF954, 'M', '凜'),
-    (0xF955, 'M', '凌'),
-    (0xF956, 'M', '稜'),
-    (0xF957, 'M', '綾'),
-    (0xF958, 'M', '菱'),
-    (0xF959, 'M', '陵'),
-    (0xF95A, 'M', '讀'),
-    (0xF95B, 'M', '拏'),
-    (0xF95C, 'M', '樂'),
-    (0xF95D, 'M', '諾'),
-    (0xF95E, 'M', '丹'),
-    (0xF95F, 'M', '寧'),
-    (0xF960, 'M', '怒'),
-    (0xF961, 'M', '率'),
-    (0xF962, 'M', '異'),
-    (0xF963, 'M', '北'),
-    (0xF964, 'M', '磻'),
-    (0xF965, 'M', '便'),
-    (0xF966, 'M', '復'),
-    (0xF967, 'M', '不'),
-    (0xF968, 'M', '泌'),
-    (0xF969, 'M', '數'),
-    (0xF96A, 'M', '索'),
-    (0xF96B, 'M', '參'),
-    (0xF96C, 'M', '塞'),
-    (0xF96D, 'M', '省'),
-    (0xF96E, 'M', '葉'),
-    (0xF96F, 'M', '說'),
-    (0xF970, 'M', '殺'),
-    (0xF971, 'M', '辰'),
-    (0xF972, 'M', '沈'),
-    (0xF973, 'M', '拾'),
-    (0xF974, 'M', '若'),
-    (0xF975, 'M', '掠'),
-    (0xF976, 'M', '略'),
-    (0xF977, 'M', '亮'),
-    (0xF978, 'M', '兩'),
-    (0xF979, 'M', '凉'),
-    (0xF97A, 'M', '梁'),
-    (0xF97B, 'M', '糧'),
-    (0xF97C, 'M', '良'),
-    (0xF97D, 'M', '諒'),
-    (0xF97E, 'M', '量'),
-    (0xF97F, 'M', '勵'),
-    (0xF980, 'M', '呂'),
-    (0xF981, 'M', '女'),
-    (0xF982, 'M', '廬'),
-    (0xF983, 'M', '旅'),
-    (0xF984, 'M', '濾'),
-    (0xF985, 'M', '礪'),
-    (0xF986, 'M', '閭'),
-    (0xF987, 'M', '驪'),
-    (0xF988, 'M', '麗'),
-    (0xF989, 'M', '黎'),
-    (0xF98A, 'M', '力'),
-    (0xF98B, 'M', '曆'),
-    (0xF98C, 'M', '歷'),
-    (0xF98D, 'M', '轢'),
-    (0xF98E, 'M', '年'),
-    (0xF98F, 'M', '憐'),
-    (0xF990, 'M', '戀'),
-    (0xF991, 'M', '撚'),
-    (0xF992, 'M', '漣'),
-    (0xF993, 'M', '煉'),
-    (0xF994, 'M', '璉'),
-    (0xF995, 'M', '秊'),
-    (0xF996, 'M', '練'),
-    (0xF997, 'M', '聯'),
-    (0xF998, 'M', '輦'),
-    (0xF999, 'M', '蓮'),
-    (0xF99A, 'M', '連'),
-    (0xF99B, 'M', '鍊'),
-    (0xF99C, 'M', '列'),
-    (0xF99D, 'M', '劣'),
-    (0xF99E, 'M', '咽'),
-    (0xF99F, 'M', '烈'),
-    (0xF9A0, 'M', '裂'),
-    (0xF9A1, 'M', '說'),
-    (0xF9A2, 'M', '廉'),
-    (0xF9A3, 'M', '念'),
-    (0xF9A4, 'M', '捻'),
-    (0xF9A5, 'M', '殮'),
-    (0xF9A6, 'M', '簾'),
-    (0xF9A7, 'M', '獵'),
-    (0xF9A8, 'M', '令'),
-    (0xF9A9, 'M', '囹'),
-    (0xF9AA, 'M', '寧'),
-    (0xF9AB, 'M', '嶺'),
-    (0xF9AC, 'M', '怜'),
-    (0xF9AD, 'M', '玲'),
+        (0xF94A, "M", "壘"),
+        (0xF94B, "M", "屢"),
+        (0xF94C, "M", "樓"),
+        (0xF94D, "M", "淚"),
+        (0xF94E, "M", "漏"),
+        (0xF94F, "M", "累"),
+        (0xF950, "M", "縷"),
+        (0xF951, "M", "陋"),
+        (0xF952, "M", "勒"),
+        (0xF953, "M", "肋"),
+        (0xF954, "M", "凜"),
+        (0xF955, "M", "凌"),
+        (0xF956, "M", "稜"),
+        (0xF957, "M", "綾"),
+        (0xF958, "M", "菱"),
+        (0xF959, "M", "陵"),
+        (0xF95A, "M", "讀"),
+        (0xF95B, "M", "拏"),
+        (0xF95C, "M", "樂"),
+        (0xF95D, "M", "諾"),
+        (0xF95E, "M", "丹"),
+        (0xF95F, "M", "寧"),
+        (0xF960, "M", "怒"),
+        (0xF961, "M", "率"),
+        (0xF962, "M", "異"),
+        (0xF963, "M", "北"),
+        (0xF964, "M", "磻"),
+        (0xF965, "M", "便"),
+        (0xF966, "M", "復"),
+        (0xF967, "M", "不"),
+        (0xF968, "M", "泌"),
+        (0xF969, "M", "數"),
+        (0xF96A, "M", "索"),
+        (0xF96B, "M", "參"),
+        (0xF96C, "M", "塞"),
+        (0xF96D, "M", "省"),
+        (0xF96E, "M", "葉"),
+        (0xF96F, "M", "說"),
+        (0xF970, "M", "殺"),
+        (0xF971, "M", "辰"),
+        (0xF972, "M", "沈"),
+        (0xF973, "M", "拾"),
+        (0xF974, "M", "若"),
+        (0xF975, "M", "掠"),
+        (0xF976, "M", "略"),
+        (0xF977, "M", "亮"),
+        (0xF978, "M", "兩"),
+        (0xF979, "M", "凉"),
+        (0xF97A, "M", "梁"),
+        (0xF97B, "M", "糧"),
+        (0xF97C, "M", "良"),
+        (0xF97D, "M", "諒"),
+        (0xF97E, "M", "量"),
+        (0xF97F, "M", "勵"),
+        (0xF980, "M", "呂"),
+        (0xF981, "M", "女"),
+        (0xF982, "M", "廬"),
+        (0xF983, "M", "旅"),
+        (0xF984, "M", "濾"),
+        (0xF985, "M", "礪"),
+        (0xF986, "M", "閭"),
+        (0xF987, "M", "驪"),
+        (0xF988, "M", "麗"),
+        (0xF989, "M", "黎"),
+        (0xF98A, "M", "力"),
+        (0xF98B, "M", "曆"),
+        (0xF98C, "M", "歷"),
+        (0xF98D, "M", "轢"),
+        (0xF98E, "M", "年"),
+        (0xF98F, "M", "憐"),
+        (0xF990, "M", "戀"),
+        (0xF991, "M", "撚"),
+        (0xF992, "M", "漣"),
+        (0xF993, "M", "煉"),
+        (0xF994, "M", "璉"),
+        (0xF995, "M", "秊"),
+        (0xF996, "M", "練"),
+        (0xF997, "M", "聯"),
+        (0xF998, "M", "輦"),
+        (0xF999, "M", "蓮"),
+        (0xF99A, "M", "連"),
+        (0xF99B, "M", "鍊"),
+        (0xF99C, "M", "列"),
+        (0xF99D, "M", "劣"),
+        (0xF99E, "M", "咽"),
+        (0xF99F, "M", "烈"),
+        (0xF9A0, "M", "裂"),
+        (0xF9A1, "M", "說"),
+        (0xF9A2, "M", "廉"),
+        (0xF9A3, "M", "念"),
+        (0xF9A4, "M", "捻"),
+        (0xF9A5, "M", "殮"),
+        (0xF9A6, "M", "簾"),
+        (0xF9A7, "M", "獵"),
+        (0xF9A8, "M", "令"),
+        (0xF9A9, "M", "囹"),
+        (0xF9AA, "M", "寧"),
+        (0xF9AB, "M", "嶺"),
+        (0xF9AC, "M", "怜"),
+        (0xF9AD, "M", "玲"),
     ]
 
+
 def _seg_41() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xF9AE, 'M', '瑩'),
-    (0xF9AF, 'M', '羚'),
-    (0xF9B0, 'M', '聆'),
-    (0xF9B1, 'M', '鈴'),
-    (0xF9B2, 'M', '零'),
-    (0xF9B3, 'M', '靈'),
-    (0xF9B4, 'M', '領'),
-    (0xF9B5, 'M', '例'),
-    (0xF9B6, 'M', '禮'),
-    (0xF9B7, 'M', '醴'),
-    (0xF9B8, 'M', '隸'),
-    (0xF9B9, 'M', '惡'),
-    (0xF9BA, 'M', '了'),
-    (0xF9BB, 'M', '僚'),
-    (0xF9BC, 'M', '寮'),
-    (0xF9BD, 'M', '尿'),
-    (0xF9BE, 'M', '料'),
-    (0xF9BF, 'M', '樂'),
-    (0xF9C0, 'M', '燎'),
-    (0xF9C1, 'M', '療'),
-    (0xF9C2, 'M', '蓼'),
-    (0xF9C3, 'M', '遼'),
-    (0xF9C4, 'M', '龍'),
-    (0xF9C5, 'M', '暈'),
-    (0xF9C6, 'M', '阮'),
-    (0xF9C7, 'M', '劉'),
-    (0xF9C8, 'M', '杻'),
-    (0xF9C9, 'M', '柳'),
-    (0xF9CA, 'M', '流'),
-    (0xF9CB, 'M', '溜'),
-    (0xF9CC, 'M', '琉'),
-    (0xF9CD, 'M', '留'),
-    (0xF9CE, 'M', '硫'),
-    (0xF9CF, 'M', '紐'),
-    (0xF9D0, 'M', '類'),
-    (0xF9D1, 'M', '六'),
-    (0xF9D2, 'M', '戮'),
-    (0xF9D3, 'M', '陸'),
-    (0xF9D4, 'M', '倫'),
-    (0xF9D5, 'M', '崙'),
-    (0xF9D6, 'M', '淪'),
-    (0xF9D7, 'M', '輪'),
-    (0xF9D8, 'M', '律'),
-    (0xF9D9, 'M', '慄'),
-    (0xF9DA, 'M', '栗'),
-    (0xF9DB, 'M', '率'),
-    (0xF9DC, 'M', '隆'),
-    (0xF9DD, 'M', '利'),
-    (0xF9DE, 'M', '吏'),
-    (0xF9DF, 'M', '履'),
-    (0xF9E0, 'M', '易'),
-    (0xF9E1, 'M', '李'),
-    (0xF9E2, 'M', '梨'),
-    (0xF9E3, 'M', '泥'),
-    (0xF9E4, 'M', '理'),
-    (0xF9E5, 'M', '痢'),
-    (0xF9E6, 'M', '罹'),
-    (0xF9E7, 'M', '裏'),
-    (0xF9E8, 'M', '裡'),
-    (0xF9E9, 'M', '里'),
-    (0xF9EA, 'M', '離'),
-    (0xF9EB, 'M', '匿'),
-    (0xF9EC, 'M', '溺'),
-    (0xF9ED, 'M', '吝'),
-    (0xF9EE, 'M', '燐'),
-    (0xF9EF, 'M', '璘'),
-    (0xF9F0, 'M', '藺'),
-    (0xF9F1, 'M', '隣'),
-    (0xF9F2, 'M', '鱗'),
-    (0xF9F3, 'M', '麟'),
-    (0xF9F4, 'M', '林'),
-    (0xF9F5, 'M', '淋'),
-    (0xF9F6, 'M', '臨'),
-    (0xF9F7, 'M', '立'),
-    (0xF9F8, 'M', '笠'),
-    (0xF9F9, 'M', '粒'),
-    (0xF9FA, 'M', '狀'),
-    (0xF9FB, 'M', '炙'),
-    (0xF9FC, 'M', '識'),
-    (0xF9FD, 'M', '什'),
-    (0xF9FE, 'M', '茶'),
-    (0xF9FF, 'M', '刺'),
-    (0xFA00, 'M', '切'),
-    (0xFA01, 'M', '度'),
-    (0xFA02, 'M', '拓'),
-    (0xFA03, 'M', '糖'),
-    (0xFA04, 'M', '宅'),
-    (0xFA05, 'M', '洞'),
-    (0xFA06, 'M', '暴'),
-    (0xFA07, 'M', '輻'),
-    (0xFA08, 'M', '行'),
-    (0xFA09, 'M', '降'),
-    (0xFA0A, 'M', '見'),
-    (0xFA0B, 'M', '廓'),
-    (0xFA0C, 'M', '兀'),
-    (0xFA0D, 'M', '嗀'),
-    (0xFA0E, 'V'),
-    (0xFA10, 'M', '塚'),
-    (0xFA11, 'V'),
-    (0xFA12, 'M', '晴'),
+        (0xF9AE, "M", "瑩"),
+        (0xF9AF, "M", "羚"),
+        (0xF9B0, "M", "聆"),
+        (0xF9B1, "M", "鈴"),
+        (0xF9B2, "M", "零"),
+        (0xF9B3, "M", "靈"),
+        (0xF9B4, "M", "領"),
+        (0xF9B5, "M", "例"),
+        (0xF9B6, "M", "禮"),
+        (0xF9B7, "M", "醴"),
+        (0xF9B8, "M", "隸"),
+        (0xF9B9, "M", "惡"),
+        (0xF9BA, "M", "了"),
+        (0xF9BB, "M", "僚"),
+        (0xF9BC, "M", "寮"),
+        (0xF9BD, "M", "尿"),
+        (0xF9BE, "M", "料"),
+        (0xF9BF, "M", "樂"),
+        (0xF9C0, "M", "燎"),
+        (0xF9C1, "M", "療"),
+        (0xF9C2, "M", "蓼"),
+        (0xF9C3, "M", "遼"),
+        (0xF9C4, "M", "龍"),
+        (0xF9C5, "M", "暈"),
+        (0xF9C6, "M", "阮"),
+        (0xF9C7, "M", "劉"),
+        (0xF9C8, "M", "杻"),
+        (0xF9C9, "M", "柳"),
+        (0xF9CA, "M", "流"),
+        (0xF9CB, "M", "溜"),
+        (0xF9CC, "M", "琉"),
+        (0xF9CD, "M", "留"),
+        (0xF9CE, "M", "硫"),
+        (0xF9CF, "M", "紐"),
+        (0xF9D0, "M", "類"),
+        (0xF9D1, "M", "六"),
+        (0xF9D2, "M", "戮"),
+        (0xF9D3, "M", "陸"),
+        (0xF9D4, "M", "倫"),
+        (0xF9D5, "M", "崙"),
+        (0xF9D6, "M", "淪"),
+        (0xF9D7, "M", "輪"),
+        (0xF9D8, "M", "律"),
+        (0xF9D9, "M", "慄"),
+        (0xF9DA, "M", "栗"),
+        (0xF9DB, "M", "率"),
+        (0xF9DC, "M", "隆"),
+        (0xF9DD, "M", "利"),
+        (0xF9DE, "M", "吏"),
+        (0xF9DF, "M", "履"),
+        (0xF9E0, "M", "易"),
+        (0xF9E1, "M", "李"),
+        (0xF9E2, "M", "梨"),
+        (0xF9E3, "M", "泥"),
+        (0xF9E4, "M", "理"),
+        (0xF9E5, "M", "痢"),
+        (0xF9E6, "M", "罹"),
+        (0xF9E7, "M", "裏"),
+        (0xF9E8, "M", "裡"),
+        (0xF9E9, "M", "里"),
+        (0xF9EA, "M", "離"),
+        (0xF9EB, "M", "匿"),
+        (0xF9EC, "M", "溺"),
+        (0xF9ED, "M", "吝"),
+        (0xF9EE, "M", "燐"),
+        (0xF9EF, "M", "璘"),
+        (0xF9F0, "M", "藺"),
+        (0xF9F1, "M", "隣"),
+        (0xF9F2, "M", "鱗"),
+        (0xF9F3, "M", "麟"),
+        (0xF9F4, "M", "林"),
+        (0xF9F5, "M", "淋"),
+        (0xF9F6, "M", "臨"),
+        (0xF9F7, "M", "立"),
+        (0xF9F8, "M", "笠"),
+        (0xF9F9, "M", "粒"),
+        (0xF9FA, "M", "狀"),
+        (0xF9FB, "M", "炙"),
+        (0xF9FC, "M", "識"),
+        (0xF9FD, "M", "什"),
+        (0xF9FE, "M", "茶"),
+        (0xF9FF, "M", "刺"),
+        (0xFA00, "M", "切"),
+        (0xFA01, "M", "度"),
+        (0xFA02, "M", "拓"),
+        (0xFA03, "M", "糖"),
+        (0xFA04, "M", "宅"),
+        (0xFA05, "M", "洞"),
+        (0xFA06, "M", "暴"),
+        (0xFA07, "M", "輻"),
+        (0xFA08, "M", "行"),
+        (0xFA09, "M", "降"),
+        (0xFA0A, "M", "見"),
+        (0xFA0B, "M", "廓"),
+        (0xFA0C, "M", "兀"),
+        (0xFA0D, "M", "嗀"),
+        (0xFA0E, "V"),
+        (0xFA10, "M", "塚"),
+        (0xFA11, "V"),
+        (0xFA12, "M", "晴"),
     ]
 
+
 def _seg_42() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFA13, 'V'),
-    (0xFA15, 'M', '凞'),
-    (0xFA16, 'M', '猪'),
-    (0xFA17, 'M', '益'),
-    (0xFA18, 'M', '礼'),
-    (0xFA19, 'M', '神'),
-    (0xFA1A, 'M', '祥'),
-    (0xFA1B, 'M', '福'),
-    (0xFA1C, 'M', '靖'),
-    (0xFA1D, 'M', '精'),
-    (0xFA1E, 'M', '羽'),
-    (0xFA1F, 'V'),
-    (0xFA20, 'M', '蘒'),
-    (0xFA21, 'V'),
-    (0xFA22, 'M', '諸'),
-    (0xFA23, 'V'),
-    (0xFA25, 'M', '逸'),
-    (0xFA26, 'M', '都'),
-    (0xFA27, 'V'),
-    (0xFA2A, 'M', '飯'),
-    (0xFA2B, 'M', '飼'),
-    (0xFA2C, 'M', '館'),
-    (0xFA2D, 'M', '鶴'),
-    (0xFA2E, 'M', '郞'),
-    (0xFA2F, 'M', '隷'),
-    (0xFA30, 'M', '侮'),
-    (0xFA31, 'M', '僧'),
-    (0xFA32, 'M', '免'),
-    (0xFA33, 'M', '勉'),
-    (0xFA34, 'M', '勤'),
-    (0xFA35, 'M', '卑'),
-    (0xFA36, 'M', '喝'),
-    (0xFA37, 'M', '嘆'),
-    (0xFA38, 'M', '器'),
-    (0xFA39, 'M', '塀'),
-    (0xFA3A, 'M', '墨'),
-    (0xFA3B, 'M', '層'),
-    (0xFA3C, 'M', '屮'),
-    (0xFA3D, 'M', '悔'),
-    (0xFA3E, 'M', '慨'),
-    (0xFA3F, 'M', '憎'),
-    (0xFA40, 'M', '懲'),
-    (0xFA41, 'M', '敏'),
-    (0xFA42, 'M', '既'),
-    (0xFA43, 'M', '暑'),
-    (0xFA44, 'M', '梅'),
-    (0xFA45, 'M', '海'),
-    (0xFA46, 'M', '渚'),
-    (0xFA47, 'M', '漢'),
-    (0xFA48, 'M', '煮'),
-    (0xFA49, 'M', '爫'),
-    (0xFA4A, 'M', '琢'),
-    (0xFA4B, 'M', '碑'),
-    (0xFA4C, 'M', '社'),
-    (0xFA4D, 'M', '祉'),
-    (0xFA4E, 'M', '祈'),
-    (0xFA4F, 'M', '祐'),
-    (0xFA50, 'M', '祖'),
-    (0xFA51, 'M', '祝'),
-    (0xFA52, 'M', '禍'),
-    (0xFA53, 'M', '禎'),
-    (0xFA54, 'M', '穀'),
-    (0xFA55, 'M', '突'),
-    (0xFA56, 'M', '節'),
-    (0xFA57, 'M', '練'),
-    (0xFA58, 'M', '縉'),
-    (0xFA59, 'M', '繁'),
-    (0xFA5A, 'M', '署'),
-    (0xFA5B, 'M', '者'),
-    (0xFA5C, 'M', '臭'),
-    (0xFA5D, 'M', '艹'),
-    (0xFA5F, 'M', '著'),
-    (0xFA60, 'M', '褐'),
-    (0xFA61, 'M', '視'),
-    (0xFA62, 'M', '謁'),
-    (0xFA63, 'M', '謹'),
-    (0xFA64, 'M', '賓'),
-    (0xFA65, 'M', '贈'),
-    (0xFA66, 'M', '辶'),
-    (0xFA67, 'M', '逸'),
-    (0xFA68, 'M', '難'),
-    (0xFA69, 'M', '響'),
-    (0xFA6A, 'M', '頻'),
-    (0xFA6B, 'M', '恵'),
-    (0xFA6C, 'M', '𤋮'),
-    (0xFA6D, 'M', '舘'),
-    (0xFA6E, 'X'),
-    (0xFA70, 'M', '並'),
-    (0xFA71, 'M', '况'),
-    (0xFA72, 'M', '全'),
-    (0xFA73, 'M', '侀'),
-    (0xFA74, 'M', '充'),
-    (0xFA75, 'M', '冀'),
-    (0xFA76, 'M', '勇'),
-    (0xFA77, 'M', '勺'),
-    (0xFA78, 'M', '喝'),
-    (0xFA79, 'M', '啕'),
-    (0xFA7A, 'M', '喙'),
-    (0xFA7B, 'M', '嗢'),
-    (0xFA7C, 'M', '塚'),
+        (0xFA13, "V"),
+        (0xFA15, "M", "凞"),
+        (0xFA16, "M", "猪"),
+        (0xFA17, "M", "益"),
+        (0xFA18, "M", "礼"),
+        (0xFA19, "M", "神"),
+        (0xFA1A, "M", "祥"),
+        (0xFA1B, "M", "福"),
+        (0xFA1C, "M", "靖"),
+        (0xFA1D, "M", "精"),
+        (0xFA1E, "M", "羽"),
+        (0xFA1F, "V"),
+        (0xFA20, "M", "蘒"),
+        (0xFA21, "V"),
+        (0xFA22, "M", "諸"),
+        (0xFA23, "V"),
+        (0xFA25, "M", "逸"),
+        (0xFA26, "M", "都"),
+        (0xFA27, "V"),
+        (0xFA2A, "M", "飯"),
+        (0xFA2B, "M", "飼"),
+        (0xFA2C, "M", "館"),
+        (0xFA2D, "M", "鶴"),
+        (0xFA2E, "M", "郞"),
+        (0xFA2F, "M", "隷"),
+        (0xFA30, "M", "侮"),
+        (0xFA31, "M", "僧"),
+        (0xFA32, "M", "免"),
+        (0xFA33, "M", "勉"),
+        (0xFA34, "M", "勤"),
+        (0xFA35, "M", "卑"),
+        (0xFA36, "M", "喝"),
+        (0xFA37, "M", "嘆"),
+        (0xFA38, "M", "器"),
+        (0xFA39, "M", "塀"),
+        (0xFA3A, "M", "墨"),
+        (0xFA3B, "M", "層"),
+        (0xFA3C, "M", "屮"),
+        (0xFA3D, "M", "悔"),
+        (0xFA3E, "M", "慨"),
+        (0xFA3F, "M", "憎"),
+        (0xFA40, "M", "懲"),
+        (0xFA41, "M", "敏"),
+        (0xFA42, "M", "既"),
+        (0xFA43, "M", "暑"),
+        (0xFA44, "M", "梅"),
+        (0xFA45, "M", "海"),
+        (0xFA46, "M", "渚"),
+        (0xFA47, "M", "漢"),
+        (0xFA48, "M", "煮"),
+        (0xFA49, "M", "爫"),
+        (0xFA4A, "M", "琢"),
+        (0xFA4B, "M", "碑"),
+        (0xFA4C, "M", "社"),
+        (0xFA4D, "M", "祉"),
+        (0xFA4E, "M", "祈"),
+        (0xFA4F, "M", "祐"),
+        (0xFA50, "M", "祖"),
+        (0xFA51, "M", "祝"),
+        (0xFA52, "M", "禍"),
+        (0xFA53, "M", "禎"),
+        (0xFA54, "M", "穀"),
+        (0xFA55, "M", "突"),
+        (0xFA56, "M", "節"),
+        (0xFA57, "M", "練"),
+        (0xFA58, "M", "縉"),
+        (0xFA59, "M", "繁"),
+        (0xFA5A, "M", "署"),
+        (0xFA5B, "M", "者"),
+        (0xFA5C, "M", "臭"),
+        (0xFA5D, "M", "艹"),
+        (0xFA5F, "M", "著"),
+        (0xFA60, "M", "褐"),
+        (0xFA61, "M", "視"),
+        (0xFA62, "M", "謁"),
+        (0xFA63, "M", "謹"),
+        (0xFA64, "M", "賓"),
+        (0xFA65, "M", "贈"),
+        (0xFA66, "M", "辶"),
+        (0xFA67, "M", "逸"),
+        (0xFA68, "M", "難"),
+        (0xFA69, "M", "響"),
+        (0xFA6A, "M", "頻"),
+        (0xFA6B, "M", "恵"),
+        (0xFA6C, "M", "𤋮"),
+        (0xFA6D, "M", "舘"),
+        (0xFA6E, "X"),
+        (0xFA70, "M", "並"),
+        (0xFA71, "M", "况"),
+        (0xFA72, "M", "全"),
+        (0xFA73, "M", "侀"),
+        (0xFA74, "M", "充"),
+        (0xFA75, "M", "冀"),
+        (0xFA76, "M", "勇"),
+        (0xFA77, "M", "勺"),
+        (0xFA78, "M", "喝"),
+        (0xFA79, "M", "啕"),
+        (0xFA7A, "M", "喙"),
+        (0xFA7B, "M", "嗢"),
+        (0xFA7C, "M", "塚"),
     ]
 
+
 def _seg_43() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFA7D, 'M', '墳'),
-    (0xFA7E, 'M', '奄'),
-    (0xFA7F, 'M', '奔'),
-    (0xFA80, 'M', '婢'),
-    (0xFA81, 'M', '嬨'),
-    (0xFA82, 'M', '廒'),
-    (0xFA83, 'M', '廙'),
-    (0xFA84, 'M', '彩'),
-    (0xFA85, 'M', '徭'),
-    (0xFA86, 'M', '惘'),
-    (0xFA87, 'M', '慎'),
-    (0xFA88, 'M', '愈'),
-    (0xFA89, 'M', '憎'),
-    (0xFA8A, 'M', '慠'),
-    (0xFA8B, 'M', '懲'),
-    (0xFA8C, 'M', '戴'),
-    (0xFA8D, 'M', '揄'),
-    (0xFA8E, 'M', '搜'),
-    (0xFA8F, 'M', '摒'),
-    (0xFA90, 'M', '敖'),
-    (0xFA91, 'M', '晴'),
-    (0xFA92, 'M', '朗'),
-    (0xFA93, 'M', '望'),
-    (0xFA94, 'M', '杖'),
-    (0xFA95, 'M', '歹'),
-    (0xFA96, 'M', '殺'),
-    (0xFA97, 'M', '流'),
-    (0xFA98, 'M', '滛'),
-    (0xFA99, 'M', '滋'),
-    (0xFA9A, 'M', '漢'),
-    (0xFA9B, 'M', '瀞'),
-    (0xFA9C, 'M', '煮'),
-    (0xFA9D, 'M', '瞧'),
-    (0xFA9E, 'M', '爵'),
-    (0xFA9F, 'M', '犯'),
-    (0xFAA0, 'M', '猪'),
-    (0xFAA1, 'M', '瑱'),
-    (0xFAA2, 'M', '甆'),
-    (0xFAA3, 'M', '画'),
-    (0xFAA4, 'M', '瘝'),
-    (0xFAA5, 'M', '瘟'),
-    (0xFAA6, 'M', '益'),
-    (0xFAA7, 'M', '盛'),
-    (0xFAA8, 'M', '直'),
-    (0xFAA9, 'M', '睊'),
-    (0xFAAA, 'M', '着'),
-    (0xFAAB, 'M', '磌'),
-    (0xFAAC, 'M', '窱'),
-    (0xFAAD, 'M', '節'),
-    (0xFAAE, 'M', '类'),
-    (0xFAAF, 'M', '絛'),
-    (0xFAB0, 'M', '練'),
-    (0xFAB1, 'M', '缾'),
-    (0xFAB2, 'M', '者'),
-    (0xFAB3, 'M', '荒'),
-    (0xFAB4, 'M', '華'),
-    (0xFAB5, 'M', '蝹'),
-    (0xFAB6, 'M', '襁'),
-    (0xFAB7, 'M', '覆'),
-    (0xFAB8, 'M', '視'),
-    (0xFAB9, 'M', '調'),
-    (0xFABA, 'M', '諸'),
-    (0xFABB, 'M', '請'),
-    (0xFABC, 'M', '謁'),
-    (0xFABD, 'M', '諾'),
-    (0xFABE, 'M', '諭'),
-    (0xFABF, 'M', '謹'),
-    (0xFAC0, 'M', '變'),
-    (0xFAC1, 'M', '贈'),
-    (0xFAC2, 'M', '輸'),
-    (0xFAC3, 'M', '遲'),
-    (0xFAC4, 'M', '醙'),
-    (0xFAC5, 'M', '鉶'),
-    (0xFAC6, 'M', '陼'),
-    (0xFAC7, 'M', '難'),
-    (0xFAC8, 'M', '靖'),
-    (0xFAC9, 'M', '韛'),
-    (0xFACA, 'M', '響'),
-    (0xFACB, 'M', '頋'),
-    (0xFACC, 'M', '頻'),
-    (0xFACD, 'M', '鬒'),
-    (0xFACE, 'M', '龜'),
-    (0xFACF, 'M', '𢡊'),
-    (0xFAD0, 'M', '𢡄'),
-    (0xFAD1, 'M', '𣏕'),
-    (0xFAD2, 'M', '㮝'),
-    (0xFAD3, 'M', '䀘'),
-    (0xFAD4, 'M', '䀹'),
-    (0xFAD5, 'M', '𥉉'),
-    (0xFAD6, 'M', '𥳐'),
-    (0xFAD7, 'M', '𧻓'),
-    (0xFAD8, 'M', '齃'),
-    (0xFAD9, 'M', '龎'),
-    (0xFADA, 'X'),
-    (0xFB00, 'M', 'ff'),
-    (0xFB01, 'M', 'fi'),
-    (0xFB02, 'M', 'fl'),
-    (0xFB03, 'M', 'ffi'),
-    (0xFB04, 'M', 'ffl'),
-    (0xFB05, 'M', 'st'),
+        (0xFA7D, "M", "墳"),
+        (0xFA7E, "M", "奄"),
+        (0xFA7F, "M", "奔"),
+        (0xFA80, "M", "婢"),
+        (0xFA81, "M", "嬨"),
+        (0xFA82, "M", "廒"),
+        (0xFA83, "M", "廙"),
+        (0xFA84, "M", "彩"),
+        (0xFA85, "M", "徭"),
+        (0xFA86, "M", "惘"),
+        (0xFA87, "M", "慎"),
+        (0xFA88, "M", "愈"),
+        (0xFA89, "M", "憎"),
+        (0xFA8A, "M", "慠"),
+        (0xFA8B, "M", "懲"),
+        (0xFA8C, "M", "戴"),
+        (0xFA8D, "M", "揄"),
+        (0xFA8E, "M", "搜"),
+        (0xFA8F, "M", "摒"),
+        (0xFA90, "M", "敖"),
+        (0xFA91, "M", "晴"),
+        (0xFA92, "M", "朗"),
+        (0xFA93, "M", "望"),
+        (0xFA94, "M", "杖"),
+        (0xFA95, "M", "歹"),
+        (0xFA96, "M", "殺"),
+        (0xFA97, "M", "流"),
+        (0xFA98, "M", "滛"),
+        (0xFA99, "M", "滋"),
+        (0xFA9A, "M", "漢"),
+        (0xFA9B, "M", "瀞"),
+        (0xFA9C, "M", "煮"),
+        (0xFA9D, "M", "瞧"),
+        (0xFA9E, "M", "爵"),
+        (0xFA9F, "M", "犯"),
+        (0xFAA0, "M", "猪"),
+        (0xFAA1, "M", "瑱"),
+        (0xFAA2, "M", "甆"),
+        (0xFAA3, "M", "画"),
+        (0xFAA4, "M", "瘝"),
+        (0xFAA5, "M", "瘟"),
+        (0xFAA6, "M", "益"),
+        (0xFAA7, "M", "盛"),
+        (0xFAA8, "M", "直"),
+        (0xFAA9, "M", "睊"),
+        (0xFAAA, "M", "着"),
+        (0xFAAB, "M", "磌"),
+        (0xFAAC, "M", "窱"),
+        (0xFAAD, "M", "節"),
+        (0xFAAE, "M", "类"),
+        (0xFAAF, "M", "絛"),
+        (0xFAB0, "M", "練"),
+        (0xFAB1, "M", "缾"),
+        (0xFAB2, "M", "者"),
+        (0xFAB3, "M", "荒"),
+        (0xFAB4, "M", "華"),
+        (0xFAB5, "M", "蝹"),
+        (0xFAB6, "M", "襁"),
+        (0xFAB7, "M", "覆"),
+        (0xFAB8, "M", "視"),
+        (0xFAB9, "M", "調"),
+        (0xFABA, "M", "諸"),
+        (0xFABB, "M", "請"),
+        (0xFABC, "M", "謁"),
+        (0xFABD, "M", "諾"),
+        (0xFABE, "M", "諭"),
+        (0xFABF, "M", "謹"),
+        (0xFAC0, "M", "變"),
+        (0xFAC1, "M", "贈"),
+        (0xFAC2, "M", "輸"),
+        (0xFAC3, "M", "遲"),
+        (0xFAC4, "M", "醙"),
+        (0xFAC5, "M", "鉶"),
+        (0xFAC6, "M", "陼"),
+        (0xFAC7, "M", "難"),
+        (0xFAC8, "M", "靖"),
+        (0xFAC9, "M", "韛"),
+        (0xFACA, "M", "響"),
+        (0xFACB, "M", "頋"),
+        (0xFACC, "M", "頻"),
+        (0xFACD, "M", "鬒"),
+        (0xFACE, "M", "龜"),
+        (0xFACF, "M", "𢡊"),
+        (0xFAD0, "M", "𢡄"),
+        (0xFAD1, "M", "𣏕"),
+        (0xFAD2, "M", "㮝"),
+        (0xFAD3, "M", "䀘"),
+        (0xFAD4, "M", "䀹"),
+        (0xFAD5, "M", "𥉉"),
+        (0xFAD6, "M", "𥳐"),
+        (0xFAD7, "M", "𧻓"),
+        (0xFAD8, "M", "齃"),
+        (0xFAD9, "M", "龎"),
+        (0xFADA, "X"),
+        (0xFB00, "M", "ff"),
+        (0xFB01, "M", "fi"),
+        (0xFB02, "M", "fl"),
+        (0xFB03, "M", "ffi"),
+        (0xFB04, "M", "ffl"),
+        (0xFB05, "M", "st"),
     ]
 
+
 def _seg_44() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFB07, 'X'),
-    (0xFB13, 'M', 'մն'),
-    (0xFB14, 'M', 'մե'),
-    (0xFB15, 'M', 'մի'),
-    (0xFB16, 'M', 'վն'),
-    (0xFB17, 'M', 'մխ'),
-    (0xFB18, 'X'),
-    (0xFB1D, 'M', 'יִ'),
-    (0xFB1E, 'V'),
-    (0xFB1F, 'M', 'ײַ'),
-    (0xFB20, 'M', 'ע'),
-    (0xFB21, 'M', 'א'),
-    (0xFB22, 'M', 'ד'),
-    (0xFB23, 'M', 'ה'),
-    (0xFB24, 'M', 'כ'),
-    (0xFB25, 'M', 'ל'),
-    (0xFB26, 'M', 'ם'),
-    (0xFB27, 'M', 'ר'),
-    (0xFB28, 'M', 'ת'),
-    (0xFB29, '3', '+'),
-    (0xFB2A, 'M', 'שׁ'),
-    (0xFB2B, 'M', 'שׂ'),
-    (0xFB2C, 'M', 'שּׁ'),
-    (0xFB2D, 'M', 'שּׂ'),
-    (0xFB2E, 'M', 'אַ'),
-    (0xFB2F, 'M', 'אָ'),
-    (0xFB30, 'M', 'אּ'),
-    (0xFB31, 'M', 'בּ'),
-    (0xFB32, 'M', 'גּ'),
-    (0xFB33, 'M', 'דּ'),
-    (0xFB34, 'M', 'הּ'),
-    (0xFB35, 'M', 'וּ'),
-    (0xFB36, 'M', 'זּ'),
-    (0xFB37, 'X'),
-    (0xFB38, 'M', 'טּ'),
-    (0xFB39, 'M', 'יּ'),
-    (0xFB3A, 'M', 'ךּ'),
-    (0xFB3B, 'M', 'כּ'),
-    (0xFB3C, 'M', 'לּ'),
-    (0xFB3D, 'X'),
-    (0xFB3E, 'M', 'מּ'),
-    (0xFB3F, 'X'),
-    (0xFB40, 'M', 'נּ'),
-    (0xFB41, 'M', 'סּ'),
-    (0xFB42, 'X'),
-    (0xFB43, 'M', 'ףּ'),
-    (0xFB44, 'M', 'פּ'),
-    (0xFB45, 'X'),
-    (0xFB46, 'M', 'צּ'),
-    (0xFB47, 'M', 'קּ'),
-    (0xFB48, 'M', 'רּ'),
-    (0xFB49, 'M', 'שּ'),
-    (0xFB4A, 'M', 'תּ'),
-    (0xFB4B, 'M', 'וֹ'),
-    (0xFB4C, 'M', 'בֿ'),
-    (0xFB4D, 'M', 'כֿ'),
-    (0xFB4E, 'M', 'פֿ'),
-    (0xFB4F, 'M', 'אל'),
-    (0xFB50, 'M', 'ٱ'),
-    (0xFB52, 'M', 'ٻ'),
-    (0xFB56, 'M', 'پ'),
-    (0xFB5A, 'M', 'ڀ'),
-    (0xFB5E, 'M', 'ٺ'),
-    (0xFB62, 'M', 'ٿ'),
-    (0xFB66, 'M', 'ٹ'),
-    (0xFB6A, 'M', 'ڤ'),
-    (0xFB6E, 'M', 'ڦ'),
-    (0xFB72, 'M', 'ڄ'),
-    (0xFB76, 'M', 'ڃ'),
-    (0xFB7A, 'M', 'چ'),
-    (0xFB7E, 'M', 'ڇ'),
-    (0xFB82, 'M', 'ڍ'),
-    (0xFB84, 'M', 'ڌ'),
-    (0xFB86, 'M', 'ڎ'),
-    (0xFB88, 'M', 'ڈ'),
-    (0xFB8A, 'M', 'ژ'),
-    (0xFB8C, 'M', 'ڑ'),
-    (0xFB8E, 'M', 'ک'),
-    (0xFB92, 'M', 'گ'),
-    (0xFB96, 'M', 'ڳ'),
-    (0xFB9A, 'M', 'ڱ'),
-    (0xFB9E, 'M', 'ں'),
-    (0xFBA0, 'M', 'ڻ'),
-    (0xFBA4, 'M', 'ۀ'),
-    (0xFBA6, 'M', 'ہ'),
-    (0xFBAA, 'M', 'ھ'),
-    (0xFBAE, 'M', 'ے'),
-    (0xFBB0, 'M', 'ۓ'),
-    (0xFBB2, 'V'),
-    (0xFBC3, 'X'),
-    (0xFBD3, 'M', 'ڭ'),
-    (0xFBD7, 'M', 'ۇ'),
-    (0xFBD9, 'M', 'ۆ'),
-    (0xFBDB, 'M', 'ۈ'),
-    (0xFBDD, 'M', 'ۇٴ'),
-    (0xFBDE, 'M', 'ۋ'),
-    (0xFBE0, 'M', 'ۅ'),
-    (0xFBE2, 'M', 'ۉ'),
-    (0xFBE4, 'M', 'ې'),
-    (0xFBE8, 'M', 'ى'),
+        (0xFB07, "X"),
+        (0xFB13, "M", "մն"),
+        (0xFB14, "M", "մե"),
+        (0xFB15, "M", "մի"),
+        (0xFB16, "M", "վն"),
+        (0xFB17, "M", "մխ"),
+        (0xFB18, "X"),
+        (0xFB1D, "M", "יִ"),
+        (0xFB1E, "V"),
+        (0xFB1F, "M", "ײַ"),
+        (0xFB20, "M", "ע"),
+        (0xFB21, "M", "א"),
+        (0xFB22, "M", "ד"),
+        (0xFB23, "M", "ה"),
+        (0xFB24, "M", "כ"),
+        (0xFB25, "M", "ל"),
+        (0xFB26, "M", "ם"),
+        (0xFB27, "M", "ר"),
+        (0xFB28, "M", "ת"),
+        (0xFB29, "3", "+"),
+        (0xFB2A, "M", "שׁ"),
+        (0xFB2B, "M", "שׂ"),
+        (0xFB2C, "M", "שּׁ"),
+        (0xFB2D, "M", "שּׂ"),
+        (0xFB2E, "M", "אַ"),
+        (0xFB2F, "M", "אָ"),
+        (0xFB30, "M", "אּ"),
+        (0xFB31, "M", "בּ"),
+        (0xFB32, "M", "גּ"),
+        (0xFB33, "M", "דּ"),
+        (0xFB34, "M", "הּ"),
+        (0xFB35, "M", "וּ"),
+        (0xFB36, "M", "זּ"),
+        (0xFB37, "X"),
+        (0xFB38, "M", "טּ"),
+        (0xFB39, "M", "יּ"),
+        (0xFB3A, "M", "ךּ"),
+        (0xFB3B, "M", "כּ"),
+        (0xFB3C, "M", "לּ"),
+        (0xFB3D, "X"),
+        (0xFB3E, "M", "מּ"),
+        (0xFB3F, "X"),
+        (0xFB40, "M", "נּ"),
+        (0xFB41, "M", "סּ"),
+        (0xFB42, "X"),
+        (0xFB43, "M", "ףּ"),
+        (0xFB44, "M", "פּ"),
+        (0xFB45, "X"),
+        (0xFB46, "M", "צּ"),
+        (0xFB47, "M", "קּ"),
+        (0xFB48, "M", "רּ"),
+        (0xFB49, "M", "שּ"),
+        (0xFB4A, "M", "תּ"),
+        (0xFB4B, "M", "וֹ"),
+        (0xFB4C, "M", "בֿ"),
+        (0xFB4D, "M", "כֿ"),
+        (0xFB4E, "M", "פֿ"),
+        (0xFB4F, "M", "אל"),
+        (0xFB50, "M", "ٱ"),
+        (0xFB52, "M", "ٻ"),
+        (0xFB56, "M", "پ"),
+        (0xFB5A, "M", "ڀ"),
+        (0xFB5E, "M", "ٺ"),
+        (0xFB62, "M", "ٿ"),
+        (0xFB66, "M", "ٹ"),
+        (0xFB6A, "M", "ڤ"),
+        (0xFB6E, "M", "ڦ"),
+        (0xFB72, "M", "ڄ"),
+        (0xFB76, "M", "ڃ"),
+        (0xFB7A, "M", "چ"),
+        (0xFB7E, "M", "ڇ"),
+        (0xFB82, "M", "ڍ"),
+        (0xFB84, "M", "ڌ"),
+        (0xFB86, "M", "ڎ"),
+        (0xFB88, "M", "ڈ"),
+        (0xFB8A, "M", "ژ"),
+        (0xFB8C, "M", "ڑ"),
+        (0xFB8E, "M", "ک"),
+        (0xFB92, "M", "گ"),
+        (0xFB96, "M", "ڳ"),
+        (0xFB9A, "M", "ڱ"),
+        (0xFB9E, "M", "ں"),
+        (0xFBA0, "M", "ڻ"),
+        (0xFBA4, "M", "ۀ"),
+        (0xFBA6, "M", "ہ"),
+        (0xFBAA, "M", "ھ"),
+        (0xFBAE, "M", "ے"),
+        (0xFBB0, "M", "ۓ"),
+        (0xFBB2, "V"),
+        (0xFBC3, "X"),
+        (0xFBD3, "M", "ڭ"),
+        (0xFBD7, "M", "ۇ"),
+        (0xFBD9, "M", "ۆ"),
+        (0xFBDB, "M", "ۈ"),
+        (0xFBDD, "M", "ۇٴ"),
+        (0xFBDE, "M", "ۋ"),
+        (0xFBE0, "M", "ۅ"),
+        (0xFBE2, "M", "ۉ"),
+        (0xFBE4, "M", "ې"),
+        (0xFBE8, "M", "ى"),
     ]
 
+
 def _seg_45() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFBEA, 'M', 'ئا'),
-    (0xFBEC, 'M', 'ئە'),
-    (0xFBEE, 'M', 'ئو'),
-    (0xFBF0, 'M', 'ئۇ'),
-    (0xFBF2, 'M', 'ئۆ'),
-    (0xFBF4, 'M', 'ئۈ'),
-    (0xFBF6, 'M', 'ئې'),
-    (0xFBF9, 'M', 'ئى'),
-    (0xFBFC, 'M', 'ی'),
-    (0xFC00, 'M', 'ئج'),
-    (0xFC01, 'M', 'ئح'),
-    (0xFC02, 'M', 'ئم'),
-    (0xFC03, 'M', 'ئى'),
-    (0xFC04, 'M', 'ئي'),
-    (0xFC05, 'M', 'بج'),
-    (0xFC06, 'M', 'بح'),
-    (0xFC07, 'M', 'بخ'),
-    (0xFC08, 'M', 'بم'),
-    (0xFC09, 'M', 'بى'),
-    (0xFC0A, 'M', 'بي'),
-    (0xFC0B, 'M', 'تج'),
-    (0xFC0C, 'M', 'تح'),
-    (0xFC0D, 'M', 'تخ'),
-    (0xFC0E, 'M', 'تم'),
-    (0xFC0F, 'M', 'تى'),
-    (0xFC10, 'M', 'تي'),
-    (0xFC11, 'M', 'ثج'),
-    (0xFC12, 'M', 'ثم'),
-    (0xFC13, 'M', 'ثى'),
-    (0xFC14, 'M', 'ثي'),
-    (0xFC15, 'M', 'جح'),
-    (0xFC16, 'M', 'جم'),
-    (0xFC17, 'M', 'حج'),
-    (0xFC18, 'M', 'حم'),
-    (0xFC19, 'M', 'خج'),
-    (0xFC1A, 'M', 'خح'),
-    (0xFC1B, 'M', 'خم'),
-    (0xFC1C, 'M', 'سج'),
-    (0xFC1D, 'M', 'سح'),
-    (0xFC1E, 'M', 'سخ'),
-    (0xFC1F, 'M', 'سم'),
-    (0xFC20, 'M', 'صح'),
-    (0xFC21, 'M', 'صم'),
-    (0xFC22, 'M', 'ضج'),
-    (0xFC23, 'M', 'ضح'),
-    (0xFC24, 'M', 'ضخ'),
-    (0xFC25, 'M', 'ضم'),
-    (0xFC26, 'M', 'طح'),
-    (0xFC27, 'M', 'طم'),
-    (0xFC28, 'M', 'ظم'),
-    (0xFC29, 'M', 'عج'),
-    (0xFC2A, 'M', 'عم'),
-    (0xFC2B, 'M', 'غج'),
-    (0xFC2C, 'M', 'غم'),
-    (0xFC2D, 'M', 'فج'),
-    (0xFC2E, 'M', 'فح'),
-    (0xFC2F, 'M', 'فخ'),
-    (0xFC30, 'M', 'فم'),
-    (0xFC31, 'M', 'فى'),
-    (0xFC32, 'M', 'في'),
-    (0xFC33, 'M', 'قح'),
-    (0xFC34, 'M', 'قم'),
-    (0xFC35, 'M', 'قى'),
-    (0xFC36, 'M', 'قي'),
-    (0xFC37, 'M', 'كا'),
-    (0xFC38, 'M', 'كج'),
-    (0xFC39, 'M', 'كح'),
-    (0xFC3A, 'M', 'كخ'),
-    (0xFC3B, 'M', 'كل'),
-    (0xFC3C, 'M', 'كم'),
-    (0xFC3D, 'M', 'كى'),
-    (0xFC3E, 'M', 'كي'),
-    (0xFC3F, 'M', 'لج'),
-    (0xFC40, 'M', 'لح'),
-    (0xFC41, 'M', 'لخ'),
-    (0xFC42, 'M', 'لم'),
-    (0xFC43, 'M', 'لى'),
-    (0xFC44, 'M', 'لي'),
-    (0xFC45, 'M', 'مج'),
-    (0xFC46, 'M', 'مح'),
-    (0xFC47, 'M', 'مخ'),
-    (0xFC48, 'M', 'مم'),
-    (0xFC49, 'M', 'مى'),
-    (0xFC4A, 'M', 'مي'),
-    (0xFC4B, 'M', 'نج'),
-    (0xFC4C, 'M', 'نح'),
-    (0xFC4D, 'M', 'نخ'),
-    (0xFC4E, 'M', 'نم'),
-    (0xFC4F, 'M', 'نى'),
-    (0xFC50, 'M', 'ني'),
-    (0xFC51, 'M', 'هج'),
-    (0xFC52, 'M', 'هم'),
-    (0xFC53, 'M', 'هى'),
-    (0xFC54, 'M', 'هي'),
-    (0xFC55, 'M', 'يج'),
-    (0xFC56, 'M', 'يح'),
-    (0xFC57, 'M', 'يخ'),
-    (0xFC58, 'M', 'يم'),
-    (0xFC59, 'M', 'يى'),
-    (0xFC5A, 'M', 'يي'),
+        (0xFBEA, "M", "ئا"),
+        (0xFBEC, "M", "ئە"),
+        (0xFBEE, "M", "ئو"),
+        (0xFBF0, "M", "ئۇ"),
+        (0xFBF2, "M", "ئۆ"),
+        (0xFBF4, "M", "ئۈ"),
+        (0xFBF6, "M", "ئې"),
+        (0xFBF9, "M", "ئى"),
+        (0xFBFC, "M", "ی"),
+        (0xFC00, "M", "ئج"),
+        (0xFC01, "M", "ئح"),
+        (0xFC02, "M", "ئم"),
+        (0xFC03, "M", "ئى"),
+        (0xFC04, "M", "ئي"),
+        (0xFC05, "M", "بج"),
+        (0xFC06, "M", "بح"),
+        (0xFC07, "M", "بخ"),
+        (0xFC08, "M", "بم"),
+        (0xFC09, "M", "بى"),
+        (0xFC0A, "M", "بي"),
+        (0xFC0B, "M", "تج"),
+        (0xFC0C, "M", "تح"),
+        (0xFC0D, "M", "تخ"),
+        (0xFC0E, "M", "تم"),
+        (0xFC0F, "M", "تى"),
+        (0xFC10, "M", "تي"),
+        (0xFC11, "M", "ثج"),
+        (0xFC12, "M", "ثم"),
+        (0xFC13, "M", "ثى"),
+        (0xFC14, "M", "ثي"),
+        (0xFC15, "M", "جح"),
+        (0xFC16, "M", "جم"),
+        (0xFC17, "M", "حج"),
+        (0xFC18, "M", "حم"),
+        (0xFC19, "M", "خج"),
+        (0xFC1A, "M", "خح"),
+        (0xFC1B, "M", "خم"),
+        (0xFC1C, "M", "سج"),
+        (0xFC1D, "M", "سح"),
+        (0xFC1E, "M", "سخ"),
+        (0xFC1F, "M", "سم"),
+        (0xFC20, "M", "صح"),
+        (0xFC21, "M", "صم"),
+        (0xFC22, "M", "ضج"),
+        (0xFC23, "M", "ضح"),
+        (0xFC24, "M", "ضخ"),
+        (0xFC25, "M", "ضم"),
+        (0xFC26, "M", "طح"),
+        (0xFC27, "M", "طم"),
+        (0xFC28, "M", "ظم"),
+        (0xFC29, "M", "عج"),
+        (0xFC2A, "M", "عم"),
+        (0xFC2B, "M", "غج"),
+        (0xFC2C, "M", "غم"),
+        (0xFC2D, "M", "فج"),
+        (0xFC2E, "M", "فح"),
+        (0xFC2F, "M", "فخ"),
+        (0xFC30, "M", "فم"),
+        (0xFC31, "M", "فى"),
+        (0xFC32, "M", "في"),
+        (0xFC33, "M", "قح"),
+        (0xFC34, "M", "قم"),
+        (0xFC35, "M", "قى"),
+        (0xFC36, "M", "قي"),
+        (0xFC37, "M", "كا"),
+        (0xFC38, "M", "كج"),
+        (0xFC39, "M", "كح"),
+        (0xFC3A, "M", "كخ"),
+        (0xFC3B, "M", "كل"),
+        (0xFC3C, "M", "كم"),
+        (0xFC3D, "M", "كى"),
+        (0xFC3E, "M", "كي"),
+        (0xFC3F, "M", "لج"),
+        (0xFC40, "M", "لح"),
+        (0xFC41, "M", "لخ"),
+        (0xFC42, "M", "لم"),
+        (0xFC43, "M", "لى"),
+        (0xFC44, "M", "لي"),
+        (0xFC45, "M", "مج"),
+        (0xFC46, "M", "مح"),
+        (0xFC47, "M", "مخ"),
+        (0xFC48, "M", "مم"),
+        (0xFC49, "M", "مى"),
+        (0xFC4A, "M", "مي"),
+        (0xFC4B, "M", "نج"),
+        (0xFC4C, "M", "نح"),
+        (0xFC4D, "M", "نخ"),
+        (0xFC4E, "M", "نم"),
+        (0xFC4F, "M", "نى"),
+        (0xFC50, "M", "ني"),
+        (0xFC51, "M", "هج"),
+        (0xFC52, "M", "هم"),
+        (0xFC53, "M", "هى"),
+        (0xFC54, "M", "هي"),
+        (0xFC55, "M", "يج"),
+        (0xFC56, "M", "يح"),
+        (0xFC57, "M", "يخ"),
+        (0xFC58, "M", "يم"),
+        (0xFC59, "M", "يى"),
+        (0xFC5A, "M", "يي"),
     ]
 
+
 def _seg_46() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFC5B, 'M', 'ذٰ'),
-    (0xFC5C, 'M', 'رٰ'),
-    (0xFC5D, 'M', 'ىٰ'),
-    (0xFC5E, '3', ' ٌّ'),
-    (0xFC5F, '3', ' ٍّ'),
-    (0xFC60, '3', ' َّ'),
-    (0xFC61, '3', ' ُّ'),
-    (0xFC62, '3', ' ِّ'),
-    (0xFC63, '3', ' ّٰ'),
-    (0xFC64, 'M', 'ئر'),
-    (0xFC65, 'M', 'ئز'),
-    (0xFC66, 'M', 'ئم'),
-    (0xFC67, 'M', 'ئن'),
-    (0xFC68, 'M', 'ئى'),
-    (0xFC69, 'M', 'ئي'),
-    (0xFC6A, 'M', 'بر'),
-    (0xFC6B, 'M', 'بز'),
-    (0xFC6C, 'M', 'بم'),
-    (0xFC6D, 'M', 'بن'),
-    (0xFC6E, 'M', 'بى'),
-    (0xFC6F, 'M', 'بي'),
-    (0xFC70, 'M', 'تر'),
-    (0xFC71, 'M', 'تز'),
-    (0xFC72, 'M', 'تم'),
-    (0xFC73, 'M', 'تن'),
-    (0xFC74, 'M', 'تى'),
-    (0xFC75, 'M', 'تي'),
-    (0xFC76, 'M', 'ثر'),
-    (0xFC77, 'M', 'ثز'),
-    (0xFC78, 'M', 'ثم'),
-    (0xFC79, 'M', 'ثن'),
-    (0xFC7A, 'M', 'ثى'),
-    (0xFC7B, 'M', 'ثي'),
-    (0xFC7C, 'M', 'فى'),
-    (0xFC7D, 'M', 'في'),
-    (0xFC7E, 'M', 'قى'),
-    (0xFC7F, 'M', 'قي'),
-    (0xFC80, 'M', 'كا'),
-    (0xFC81, 'M', 'كل'),
-    (0xFC82, 'M', 'كم'),
-    (0xFC83, 'M', 'كى'),
-    (0xFC84, 'M', 'كي'),
-    (0xFC85, 'M', 'لم'),
-    (0xFC86, 'M', 'لى'),
-    (0xFC87, 'M', 'لي'),
-    (0xFC88, 'M', 'ما'),
-    (0xFC89, 'M', 'مم'),
-    (0xFC8A, 'M', 'نر'),
-    (0xFC8B, 'M', 'نز'),
-    (0xFC8C, 'M', 'نم'),
-    (0xFC8D, 'M', 'نن'),
-    (0xFC8E, 'M', 'نى'),
-    (0xFC8F, 'M', 'ني'),
-    (0xFC90, 'M', 'ىٰ'),
-    (0xFC91, 'M', 'ير'),
-    (0xFC92, 'M', 'يز'),
-    (0xFC93, 'M', 'يم'),
-    (0xFC94, 'M', 'ين'),
-    (0xFC95, 'M', 'يى'),
-    (0xFC96, 'M', 'يي'),
-    (0xFC97, 'M', 'ئج'),
-    (0xFC98, 'M', 'ئح'),
-    (0xFC99, 'M', 'ئخ'),
-    (0xFC9A, 'M', 'ئم'),
-    (0xFC9B, 'M', 'ئه'),
-    (0xFC9C, 'M', 'بج'),
-    (0xFC9D, 'M', 'بح'),
-    (0xFC9E, 'M', 'بخ'),
-    (0xFC9F, 'M', 'بم'),
-    (0xFCA0, 'M', 'به'),
-    (0xFCA1, 'M', 'تج'),
-    (0xFCA2, 'M', 'تح'),
-    (0xFCA3, 'M', 'تخ'),
-    (0xFCA4, 'M', 'تم'),
-    (0xFCA5, 'M', 'ته'),
-    (0xFCA6, 'M', 'ثم'),
-    (0xFCA7, 'M', 'جح'),
-    (0xFCA8, 'M', 'جم'),
-    (0xFCA9, 'M', 'حج'),
-    (0xFCAA, 'M', 'حم'),
-    (0xFCAB, 'M', 'خج'),
-    (0xFCAC, 'M', 'خم'),
-    (0xFCAD, 'M', 'سج'),
-    (0xFCAE, 'M', 'سح'),
-    (0xFCAF, 'M', 'سخ'),
-    (0xFCB0, 'M', 'سم'),
-    (0xFCB1, 'M', 'صح'),
-    (0xFCB2, 'M', 'صخ'),
-    (0xFCB3, 'M', 'صم'),
-    (0xFCB4, 'M', 'ضج'),
-    (0xFCB5, 'M', 'ضح'),
-    (0xFCB6, 'M', 'ضخ'),
-    (0xFCB7, 'M', 'ضم'),
-    (0xFCB8, 'M', 'طح'),
-    (0xFCB9, 'M', 'ظم'),
-    (0xFCBA, 'M', 'عج'),
-    (0xFCBB, 'M', 'عم'),
-    (0xFCBC, 'M', 'غج'),
-    (0xFCBD, 'M', 'غم'),
-    (0xFCBE, 'M', 'فج'),
+        (0xFC5B, "M", "ذٰ"),
+        (0xFC5C, "M", "رٰ"),
+        (0xFC5D, "M", "ىٰ"),
+        (0xFC5E, "3", " ٌّ"),
+        (0xFC5F, "3", " ٍّ"),
+        (0xFC60, "3", " َّ"),
+        (0xFC61, "3", " ُّ"),
+        (0xFC62, "3", " ِّ"),
+        (0xFC63, "3", " ّٰ"),
+        (0xFC64, "M", "ئر"),
+        (0xFC65, "M", "ئز"),
+        (0xFC66, "M", "ئم"),
+        (0xFC67, "M", "ئن"),
+        (0xFC68, "M", "ئى"),
+        (0xFC69, "M", "ئي"),
+        (0xFC6A, "M", "بر"),
+        (0xFC6B, "M", "بز"),
+        (0xFC6C, "M", "بم"),
+        (0xFC6D, "M", "بن"),
+        (0xFC6E, "M", "بى"),
+        (0xFC6F, "M", "بي"),
+        (0xFC70, "M", "تر"),
+        (0xFC71, "M", "تز"),
+        (0xFC72, "M", "تم"),
+        (0xFC73, "M", "تن"),
+        (0xFC74, "M", "تى"),
+        (0xFC75, "M", "تي"),
+        (0xFC76, "M", "ثر"),
+        (0xFC77, "M", "ثز"),
+        (0xFC78, "M", "ثم"),
+        (0xFC79, "M", "ثن"),
+        (0xFC7A, "M", "ثى"),
+        (0xFC7B, "M", "ثي"),
+        (0xFC7C, "M", "فى"),
+        (0xFC7D, "M", "في"),
+        (0xFC7E, "M", "قى"),
+        (0xFC7F, "M", "قي"),
+        (0xFC80, "M", "كا"),
+        (0xFC81, "M", "كل"),
+        (0xFC82, "M", "كم"),
+        (0xFC83, "M", "كى"),
+        (0xFC84, "M", "كي"),
+        (0xFC85, "M", "لم"),
+        (0xFC86, "M", "لى"),
+        (0xFC87, "M", "لي"),
+        (0xFC88, "M", "ما"),
+        (0xFC89, "M", "مم"),
+        (0xFC8A, "M", "نر"),
+        (0xFC8B, "M", "نز"),
+        (0xFC8C, "M", "نم"),
+        (0xFC8D, "M", "نن"),
+        (0xFC8E, "M", "نى"),
+        (0xFC8F, "M", "ني"),
+        (0xFC90, "M", "ىٰ"),
+        (0xFC91, "M", "ير"),
+        (0xFC92, "M", "يز"),
+        (0xFC93, "M", "يم"),
+        (0xFC94, "M", "ين"),
+        (0xFC95, "M", "يى"),
+        (0xFC96, "M", "يي"),
+        (0xFC97, "M", "ئج"),
+        (0xFC98, "M", "ئح"),
+        (0xFC99, "M", "ئخ"),
+        (0xFC9A, "M", "ئم"),
+        (0xFC9B, "M", "ئه"),
+        (0xFC9C, "M", "بج"),
+        (0xFC9D, "M", "بح"),
+        (0xFC9E, "M", "بخ"),
+        (0xFC9F, "M", "بم"),
+        (0xFCA0, "M", "به"),
+        (0xFCA1, "M", "تج"),
+        (0xFCA2, "M", "تح"),
+        (0xFCA3, "M", "تخ"),
+        (0xFCA4, "M", "تم"),
+        (0xFCA5, "M", "ته"),
+        (0xFCA6, "M", "ثم"),
+        (0xFCA7, "M", "جح"),
+        (0xFCA8, "M", "جم"),
+        (0xFCA9, "M", "حج"),
+        (0xFCAA, "M", "حم"),
+        (0xFCAB, "M", "خج"),
+        (0xFCAC, "M", "خم"),
+        (0xFCAD, "M", "سج"),
+        (0xFCAE, "M", "سح"),
+        (0xFCAF, "M", "سخ"),
+        (0xFCB0, "M", "سم"),
+        (0xFCB1, "M", "صح"),
+        (0xFCB2, "M", "صخ"),
+        (0xFCB3, "M", "صم"),
+        (0xFCB4, "M", "ضج"),
+        (0xFCB5, "M", "ضح"),
+        (0xFCB6, "M", "ضخ"),
+        (0xFCB7, "M", "ضم"),
+        (0xFCB8, "M", "طح"),
+        (0xFCB9, "M", "ظم"),
+        (0xFCBA, "M", "عج"),
+        (0xFCBB, "M", "عم"),
+        (0xFCBC, "M", "غج"),
+        (0xFCBD, "M", "غم"),
+        (0xFCBE, "M", "فج"),
     ]
 
+
 def _seg_47() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFCBF, 'M', 'فح'),
-    (0xFCC0, 'M', 'فخ'),
-    (0xFCC1, 'M', 'فم'),
-    (0xFCC2, 'M', 'قح'),
-    (0xFCC3, 'M', 'قم'),
-    (0xFCC4, 'M', 'كج'),
-    (0xFCC5, 'M', 'كح'),
-    (0xFCC6, 'M', 'كخ'),
-    (0xFCC7, 'M', 'كل'),
-    (0xFCC8, 'M', 'كم'),
-    (0xFCC9, 'M', 'لج'),
-    (0xFCCA, 'M', 'لح'),
-    (0xFCCB, 'M', 'لخ'),
-    (0xFCCC, 'M', 'لم'),
-    (0xFCCD, 'M', 'له'),
-    (0xFCCE, 'M', 'مج'),
-    (0xFCCF, 'M', 'مح'),
-    (0xFCD0, 'M', 'مخ'),
-    (0xFCD1, 'M', 'مم'),
-    (0xFCD2, 'M', 'نج'),
-    (0xFCD3, 'M', 'نح'),
-    (0xFCD4, 'M', 'نخ'),
-    (0xFCD5, 'M', 'نم'),
-    (0xFCD6, 'M', 'نه'),
-    (0xFCD7, 'M', 'هج'),
-    (0xFCD8, 'M', 'هم'),
-    (0xFCD9, 'M', 'هٰ'),
-    (0xFCDA, 'M', 'يج'),
-    (0xFCDB, 'M', 'يح'),
-    (0xFCDC, 'M', 'يخ'),
-    (0xFCDD, 'M', 'يم'),
-    (0xFCDE, 'M', 'يه'),
-    (0xFCDF, 'M', 'ئم'),
-    (0xFCE0, 'M', 'ئه'),
-    (0xFCE1, 'M', 'بم'),
-    (0xFCE2, 'M', 'به'),
-    (0xFCE3, 'M', 'تم'),
-    (0xFCE4, 'M', 'ته'),
-    (0xFCE5, 'M', 'ثم'),
-    (0xFCE6, 'M', 'ثه'),
-    (0xFCE7, 'M', 'سم'),
-    (0xFCE8, 'M', 'سه'),
-    (0xFCE9, 'M', 'شم'),
-    (0xFCEA, 'M', 'شه'),
-    (0xFCEB, 'M', 'كل'),
-    (0xFCEC, 'M', 'كم'),
-    (0xFCED, 'M', 'لم'),
-    (0xFCEE, 'M', 'نم'),
-    (0xFCEF, 'M', 'نه'),
-    (0xFCF0, 'M', 'يم'),
-    (0xFCF1, 'M', 'يه'),
-    (0xFCF2, 'M', 'ـَّ'),
-    (0xFCF3, 'M', 'ـُّ'),
-    (0xFCF4, 'M', 'ـِّ'),
-    (0xFCF5, 'M', 'طى'),
-    (0xFCF6, 'M', 'طي'),
-    (0xFCF7, 'M', 'عى'),
-    (0xFCF8, 'M', 'عي'),
-    (0xFCF9, 'M', 'غى'),
-    (0xFCFA, 'M', 'غي'),
-    (0xFCFB, 'M', 'سى'),
-    (0xFCFC, 'M', 'سي'),
-    (0xFCFD, 'M', 'شى'),
-    (0xFCFE, 'M', 'شي'),
-    (0xFCFF, 'M', 'حى'),
-    (0xFD00, 'M', 'حي'),
-    (0xFD01, 'M', 'جى'),
-    (0xFD02, 'M', 'جي'),
-    (0xFD03, 'M', 'خى'),
-    (0xFD04, 'M', 'خي'),
-    (0xFD05, 'M', 'صى'),
-    (0xFD06, 'M', 'صي'),
-    (0xFD07, 'M', 'ضى'),
-    (0xFD08, 'M', 'ضي'),
-    (0xFD09, 'M', 'شج'),
-    (0xFD0A, 'M', 'شح'),
-    (0xFD0B, 'M', 'شخ'),
-    (0xFD0C, 'M', 'شم'),
-    (0xFD0D, 'M', 'شر'),
-    (0xFD0E, 'M', 'سر'),
-    (0xFD0F, 'M', 'صر'),
-    (0xFD10, 'M', 'ضر'),
-    (0xFD11, 'M', 'طى'),
-    (0xFD12, 'M', 'طي'),
-    (0xFD13, 'M', 'عى'),
-    (0xFD14, 'M', 'عي'),
-    (0xFD15, 'M', 'غى'),
-    (0xFD16, 'M', 'غي'),
-    (0xFD17, 'M', 'سى'),
-    (0xFD18, 'M', 'سي'),
-    (0xFD19, 'M', 'شى'),
-    (0xFD1A, 'M', 'شي'),
-    (0xFD1B, 'M', 'حى'),
-    (0xFD1C, 'M', 'حي'),
-    (0xFD1D, 'M', 'جى'),
-    (0xFD1E, 'M', 'جي'),
-    (0xFD1F, 'M', 'خى'),
-    (0xFD20, 'M', 'خي'),
-    (0xFD21, 'M', 'صى'),
-    (0xFD22, 'M', 'صي'),
+        (0xFCBF, "M", "فح"),
+        (0xFCC0, "M", "فخ"),
+        (0xFCC1, "M", "فم"),
+        (0xFCC2, "M", "قح"),
+        (0xFCC3, "M", "قم"),
+        (0xFCC4, "M", "كج"),
+        (0xFCC5, "M", "كح"),
+        (0xFCC6, "M", "كخ"),
+        (0xFCC7, "M", "كل"),
+        (0xFCC8, "M", "كم"),
+        (0xFCC9, "M", "لج"),
+        (0xFCCA, "M", "لح"),
+        (0xFCCB, "M", "لخ"),
+        (0xFCCC, "M", "لم"),
+        (0xFCCD, "M", "له"),
+        (0xFCCE, "M", "مج"),
+        (0xFCCF, "M", "مح"),
+        (0xFCD0, "M", "مخ"),
+        (0xFCD1, "M", "مم"),
+        (0xFCD2, "M", "نج"),
+        (0xFCD3, "M", "نح"),
+        (0xFCD4, "M", "نخ"),
+        (0xFCD5, "M", "نم"),
+        (0xFCD6, "M", "نه"),
+        (0xFCD7, "M", "هج"),
+        (0xFCD8, "M", "هم"),
+        (0xFCD9, "M", "هٰ"),
+        (0xFCDA, "M", "يج"),
+        (0xFCDB, "M", "يح"),
+        (0xFCDC, "M", "يخ"),
+        (0xFCDD, "M", "يم"),
+        (0xFCDE, "M", "يه"),
+        (0xFCDF, "M", "ئم"),
+        (0xFCE0, "M", "ئه"),
+        (0xFCE1, "M", "بم"),
+        (0xFCE2, "M", "به"),
+        (0xFCE3, "M", "تم"),
+        (0xFCE4, "M", "ته"),
+        (0xFCE5, "M", "ثم"),
+        (0xFCE6, "M", "ثه"),
+        (0xFCE7, "M", "سم"),
+        (0xFCE8, "M", "سه"),
+        (0xFCE9, "M", "شم"),
+        (0xFCEA, "M", "شه"),
+        (0xFCEB, "M", "كل"),
+        (0xFCEC, "M", "كم"),
+        (0xFCED, "M", "لم"),
+        (0xFCEE, "M", "نم"),
+        (0xFCEF, "M", "نه"),
+        (0xFCF0, "M", "يم"),
+        (0xFCF1, "M", "يه"),
+        (0xFCF2, "M", "ـَّ"),
+        (0xFCF3, "M", "ـُّ"),
+        (0xFCF4, "M", "ـِّ"),
+        (0xFCF5, "M", "طى"),
+        (0xFCF6, "M", "طي"),
+        (0xFCF7, "M", "عى"),
+        (0xFCF8, "M", "عي"),
+        (0xFCF9, "M", "غى"),
+        (0xFCFA, "M", "غي"),
+        (0xFCFB, "M", "سى"),
+        (0xFCFC, "M", "سي"),
+        (0xFCFD, "M", "شى"),
+        (0xFCFE, "M", "شي"),
+        (0xFCFF, "M", "حى"),
+        (0xFD00, "M", "حي"),
+        (0xFD01, "M", "جى"),
+        (0xFD02, "M", "جي"),
+        (0xFD03, "M", "خى"),
+        (0xFD04, "M", "خي"),
+        (0xFD05, "M", "صى"),
+        (0xFD06, "M", "صي"),
+        (0xFD07, "M", "ضى"),
+        (0xFD08, "M", "ضي"),
+        (0xFD09, "M", "شج"),
+        (0xFD0A, "M", "شح"),
+        (0xFD0B, "M", "شخ"),
+        (0xFD0C, "M", "شم"),
+        (0xFD0D, "M", "شر"),
+        (0xFD0E, "M", "سر"),
+        (0xFD0F, "M", "صر"),
+        (0xFD10, "M", "ضر"),
+        (0xFD11, "M", "طى"),
+        (0xFD12, "M", "طي"),
+        (0xFD13, "M", "عى"),
+        (0xFD14, "M", "عي"),
+        (0xFD15, "M", "غى"),
+        (0xFD16, "M", "غي"),
+        (0xFD17, "M", "سى"),
+        (0xFD18, "M", "سي"),
+        (0xFD19, "M", "شى"),
+        (0xFD1A, "M", "شي"),
+        (0xFD1B, "M", "حى"),
+        (0xFD1C, "M", "حي"),
+        (0xFD1D, "M", "جى"),
+        (0xFD1E, "M", "جي"),
+        (0xFD1F, "M", "خى"),
+        (0xFD20, "M", "خي"),
+        (0xFD21, "M", "صى"),
+        (0xFD22, "M", "صي"),
     ]
 
+
 def _seg_48() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFD23, 'M', 'ضى'),
-    (0xFD24, 'M', 'ضي'),
-    (0xFD25, 'M', 'شج'),
-    (0xFD26, 'M', 'شح'),
-    (0xFD27, 'M', 'شخ'),
-    (0xFD28, 'M', 'شم'),
-    (0xFD29, 'M', 'شر'),
-    (0xFD2A, 'M', 'سر'),
-    (0xFD2B, 'M', 'صر'),
-    (0xFD2C, 'M', 'ضر'),
-    (0xFD2D, 'M', 'شج'),
-    (0xFD2E, 'M', 'شح'),
-    (0xFD2F, 'M', 'شخ'),
-    (0xFD30, 'M', 'شم'),
-    (0xFD31, 'M', 'سه'),
-    (0xFD32, 'M', 'شه'),
-    (0xFD33, 'M', 'طم'),
-    (0xFD34, 'M', 'سج'),
-    (0xFD35, 'M', 'سح'),
-    (0xFD36, 'M', 'سخ'),
-    (0xFD37, 'M', 'شج'),
-    (0xFD38, 'M', 'شح'),
-    (0xFD39, 'M', 'شخ'),
-    (0xFD3A, 'M', 'طم'),
-    (0xFD3B, 'M', 'ظم'),
-    (0xFD3C, 'M', 'اً'),
-    (0xFD3E, 'V'),
-    (0xFD50, 'M', 'تجم'),
-    (0xFD51, 'M', 'تحج'),
-    (0xFD53, 'M', 'تحم'),
-    (0xFD54, 'M', 'تخم'),
-    (0xFD55, 'M', 'تمج'),
-    (0xFD56, 'M', 'تمح'),
-    (0xFD57, 'M', 'تمخ'),
-    (0xFD58, 'M', 'جمح'),
-    (0xFD5A, 'M', 'حمي'),
-    (0xFD5B, 'M', 'حمى'),
-    (0xFD5C, 'M', 'سحج'),
-    (0xFD5D, 'M', 'سجح'),
-    (0xFD5E, 'M', 'سجى'),
-    (0xFD5F, 'M', 'سمح'),
-    (0xFD61, 'M', 'سمج'),
-    (0xFD62, 'M', 'سمم'),
-    (0xFD64, 'M', 'صحح'),
-    (0xFD66, 'M', 'صمم'),
-    (0xFD67, 'M', 'شحم'),
-    (0xFD69, 'M', 'شجي'),
-    (0xFD6A, 'M', 'شمخ'),
-    (0xFD6C, 'M', 'شمم'),
-    (0xFD6E, 'M', 'ضحى'),
-    (0xFD6F, 'M', 'ضخم'),
-    (0xFD71, 'M', 'طمح'),
-    (0xFD73, 'M', 'طمم'),
-    (0xFD74, 'M', 'طمي'),
-    (0xFD75, 'M', 'عجم'),
-    (0xFD76, 'M', 'عمم'),
-    (0xFD78, 'M', 'عمى'),
-    (0xFD79, 'M', 'غمم'),
-    (0xFD7A, 'M', 'غمي'),
-    (0xFD7B, 'M', 'غمى'),
-    (0xFD7C, 'M', 'فخم'),
-    (0xFD7E, 'M', 'قمح'),
-    (0xFD7F, 'M', 'قمم'),
-    (0xFD80, 'M', 'لحم'),
-    (0xFD81, 'M', 'لحي'),
-    (0xFD82, 'M', 'لحى'),
-    (0xFD83, 'M', 'لجج'),
-    (0xFD85, 'M', 'لخم'),
-    (0xFD87, 'M', 'لمح'),
-    (0xFD89, 'M', 'محج'),
-    (0xFD8A, 'M', 'محم'),
-    (0xFD8B, 'M', 'محي'),
-    (0xFD8C, 'M', 'مجح'),
-    (0xFD8D, 'M', 'مجم'),
-    (0xFD8E, 'M', 'مخج'),
-    (0xFD8F, 'M', 'مخم'),
-    (0xFD90, 'X'),
-    (0xFD92, 'M', 'مجخ'),
-    (0xFD93, 'M', 'همج'),
-    (0xFD94, 'M', 'همم'),
-    (0xFD95, 'M', 'نحم'),
-    (0xFD96, 'M', 'نحى'),
-    (0xFD97, 'M', 'نجم'),
-    (0xFD99, 'M', 'نجى'),
-    (0xFD9A, 'M', 'نمي'),
-    (0xFD9B, 'M', 'نمى'),
-    (0xFD9C, 'M', 'يمم'),
-    (0xFD9E, 'M', 'بخي'),
-    (0xFD9F, 'M', 'تجي'),
-    (0xFDA0, 'M', 'تجى'),
-    (0xFDA1, 'M', 'تخي'),
-    (0xFDA2, 'M', 'تخى'),
-    (0xFDA3, 'M', 'تمي'),
-    (0xFDA4, 'M', 'تمى'),
-    (0xFDA5, 'M', 'جمي'),
-    (0xFDA6, 'M', 'جحى'),
-    (0xFDA7, 'M', 'جمى'),
-    (0xFDA8, 'M', 'سخى'),
-    (0xFDA9, 'M', 'صحي'),
-    (0xFDAA, 'M', 'شحي'),
+        (0xFD23, "M", "ضى"),
+        (0xFD24, "M", "ضي"),
+        (0xFD25, "M", "شج"),
+        (0xFD26, "M", "شح"),
+        (0xFD27, "M", "شخ"),
+        (0xFD28, "M", "شم"),
+        (0xFD29, "M", "شر"),
+        (0xFD2A, "M", "سر"),
+        (0xFD2B, "M", "صر"),
+        (0xFD2C, "M", "ضر"),
+        (0xFD2D, "M", "شج"),
+        (0xFD2E, "M", "شح"),
+        (0xFD2F, "M", "شخ"),
+        (0xFD30, "M", "شم"),
+        (0xFD31, "M", "سه"),
+        (0xFD32, "M", "شه"),
+        (0xFD33, "M", "طم"),
+        (0xFD34, "M", "سج"),
+        (0xFD35, "M", "سح"),
+        (0xFD36, "M", "سخ"),
+        (0xFD37, "M", "شج"),
+        (0xFD38, "M", "شح"),
+        (0xFD39, "M", "شخ"),
+        (0xFD3A, "M", "طم"),
+        (0xFD3B, "M", "ظم"),
+        (0xFD3C, "M", "اً"),
+        (0xFD3E, "V"),
+        (0xFD50, "M", "تجم"),
+        (0xFD51, "M", "تحج"),
+        (0xFD53, "M", "تحم"),
+        (0xFD54, "M", "تخم"),
+        (0xFD55, "M", "تمج"),
+        (0xFD56, "M", "تمح"),
+        (0xFD57, "M", "تمخ"),
+        (0xFD58, "M", "جمح"),
+        (0xFD5A, "M", "حمي"),
+        (0xFD5B, "M", "حمى"),
+        (0xFD5C, "M", "سحج"),
+        (0xFD5D, "M", "سجح"),
+        (0xFD5E, "M", "سجى"),
+        (0xFD5F, "M", "سمح"),
+        (0xFD61, "M", "سمج"),
+        (0xFD62, "M", "سمم"),
+        (0xFD64, "M", "صحح"),
+        (0xFD66, "M", "صمم"),
+        (0xFD67, "M", "شحم"),
+        (0xFD69, "M", "شجي"),
+        (0xFD6A, "M", "شمخ"),
+        (0xFD6C, "M", "شمم"),
+        (0xFD6E, "M", "ضحى"),
+        (0xFD6F, "M", "ضخم"),
+        (0xFD71, "M", "طمح"),
+        (0xFD73, "M", "طمم"),
+        (0xFD74, "M", "طمي"),
+        (0xFD75, "M", "عجم"),
+        (0xFD76, "M", "عمم"),
+        (0xFD78, "M", "عمى"),
+        (0xFD79, "M", "غمم"),
+        (0xFD7A, "M", "غمي"),
+        (0xFD7B, "M", "غمى"),
+        (0xFD7C, "M", "فخم"),
+        (0xFD7E, "M", "قمح"),
+        (0xFD7F, "M", "قمم"),
+        (0xFD80, "M", "لحم"),
+        (0xFD81, "M", "لحي"),
+        (0xFD82, "M", "لحى"),
+        (0xFD83, "M", "لجج"),
+        (0xFD85, "M", "لخم"),
+        (0xFD87, "M", "لمح"),
+        (0xFD89, "M", "محج"),
+        (0xFD8A, "M", "محم"),
+        (0xFD8B, "M", "محي"),
+        (0xFD8C, "M", "مجح"),
+        (0xFD8D, "M", "مجم"),
+        (0xFD8E, "M", "مخج"),
+        (0xFD8F, "M", "مخم"),
+        (0xFD90, "X"),
+        (0xFD92, "M", "مجخ"),
+        (0xFD93, "M", "همج"),
+        (0xFD94, "M", "همم"),
+        (0xFD95, "M", "نحم"),
+        (0xFD96, "M", "نحى"),
+        (0xFD97, "M", "نجم"),
+        (0xFD99, "M", "نجى"),
+        (0xFD9A, "M", "نمي"),
+        (0xFD9B, "M", "نمى"),
+        (0xFD9C, "M", "يمم"),
+        (0xFD9E, "M", "بخي"),
+        (0xFD9F, "M", "تجي"),
+        (0xFDA0, "M", "تجى"),
+        (0xFDA1, "M", "تخي"),
+        (0xFDA2, "M", "تخى"),
+        (0xFDA3, "M", "تمي"),
+        (0xFDA4, "M", "تمى"),
+        (0xFDA5, "M", "جمي"),
+        (0xFDA6, "M", "جحى"),
+        (0xFDA7, "M", "جمى"),
+        (0xFDA8, "M", "سخى"),
+        (0xFDA9, "M", "صحي"),
+        (0xFDAA, "M", "شحي"),
     ]
 
+
 def _seg_49() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFDAB, 'M', 'ضحي'),
-    (0xFDAC, 'M', 'لجي'),
-    (0xFDAD, 'M', 'لمي'),
-    (0xFDAE, 'M', 'يحي'),
-    (0xFDAF, 'M', 'يجي'),
-    (0xFDB0, 'M', 'يمي'),
-    (0xFDB1, 'M', 'ممي'),
-    (0xFDB2, 'M', 'قمي'),
-    (0xFDB3, 'M', 'نحي'),
-    (0xFDB4, 'M', 'قمح'),
-    (0xFDB5, 'M', 'لحم'),
-    (0xFDB6, 'M', 'عمي'),
-    (0xFDB7, 'M', 'كمي'),
-    (0xFDB8, 'M', 'نجح'),
-    (0xFDB9, 'M', 'مخي'),
-    (0xFDBA, 'M', 'لجم'),
-    (0xFDBB, 'M', 'كمم'),
-    (0xFDBC, 'M', 'لجم'),
-    (0xFDBD, 'M', 'نجح'),
-    (0xFDBE, 'M', 'جحي'),
-    (0xFDBF, 'M', 'حجي'),
-    (0xFDC0, 'M', 'مجي'),
-    (0xFDC1, 'M', 'فمي'),
-    (0xFDC2, 'M', 'بحي'),
-    (0xFDC3, 'M', 'كمم'),
-    (0xFDC4, 'M', 'عجم'),
-    (0xFDC5, 'M', 'صمم'),
-    (0xFDC6, 'M', 'سخي'),
-    (0xFDC7, 'M', 'نجي'),
-    (0xFDC8, 'X'),
-    (0xFDCF, 'V'),
-    (0xFDD0, 'X'),
-    (0xFDF0, 'M', 'صلے'),
-    (0xFDF1, 'M', 'قلے'),
-    (0xFDF2, 'M', 'الله'),
-    (0xFDF3, 'M', 'اكبر'),
-    (0xFDF4, 'M', 'محمد'),
-    (0xFDF5, 'M', 'صلعم'),
-    (0xFDF6, 'M', 'رسول'),
-    (0xFDF7, 'M', 'عليه'),
-    (0xFDF8, 'M', 'وسلم'),
-    (0xFDF9, 'M', 'صلى'),
-    (0xFDFA, '3', 'صلى الله عليه وسلم'),
-    (0xFDFB, '3', 'جل جلاله'),
-    (0xFDFC, 'M', 'ریال'),
-    (0xFDFD, 'V'),
-    (0xFE00, 'I'),
-    (0xFE10, '3', ','),
-    (0xFE11, 'M', '、'),
-    (0xFE12, 'X'),
-    (0xFE13, '3', ':'),
-    (0xFE14, '3', ';'),
-    (0xFE15, '3', '!'),
-    (0xFE16, '3', '?'),
-    (0xFE17, 'M', '〖'),
-    (0xFE18, 'M', '〗'),
-    (0xFE19, 'X'),
-    (0xFE20, 'V'),
-    (0xFE30, 'X'),
-    (0xFE31, 'M', '—'),
-    (0xFE32, 'M', '–'),
-    (0xFE33, '3', '_'),
-    (0xFE35, '3', '('),
-    (0xFE36, '3', ')'),
-    (0xFE37, '3', '{'),
-    (0xFE38, '3', '}'),
-    (0xFE39, 'M', '〔'),
-    (0xFE3A, 'M', '〕'),
-    (0xFE3B, 'M', '【'),
-    (0xFE3C, 'M', '】'),
-    (0xFE3D, 'M', '《'),
-    (0xFE3E, 'M', '》'),
-    (0xFE3F, 'M', '〈'),
-    (0xFE40, 'M', '〉'),
-    (0xFE41, 'M', '「'),
-    (0xFE42, 'M', '」'),
-    (0xFE43, 'M', '『'),
-    (0xFE44, 'M', '』'),
-    (0xFE45, 'V'),
-    (0xFE47, '3', '['),
-    (0xFE48, '3', ']'),
-    (0xFE49, '3', ' ̅'),
-    (0xFE4D, '3', '_'),
-    (0xFE50, '3', ','),
-    (0xFE51, 'M', '、'),
-    (0xFE52, 'X'),
-    (0xFE54, '3', ';'),
-    (0xFE55, '3', ':'),
-    (0xFE56, '3', '?'),
-    (0xFE57, '3', '!'),
-    (0xFE58, 'M', '—'),
-    (0xFE59, '3', '('),
-    (0xFE5A, '3', ')'),
-    (0xFE5B, '3', '{'),
-    (0xFE5C, '3', '}'),
-    (0xFE5D, 'M', '〔'),
-    (0xFE5E, 'M', '〕'),
-    (0xFE5F, '3', '#'),
-    (0xFE60, '3', '&'),
-    (0xFE61, '3', '*'),
+        (0xFDAB, "M", "ضحي"),
+        (0xFDAC, "M", "لجي"),
+        (0xFDAD, "M", "لمي"),
+        (0xFDAE, "M", "يحي"),
+        (0xFDAF, "M", "يجي"),
+        (0xFDB0, "M", "يمي"),
+        (0xFDB1, "M", "ممي"),
+        (0xFDB2, "M", "قمي"),
+        (0xFDB3, "M", "نحي"),
+        (0xFDB4, "M", "قمح"),
+        (0xFDB5, "M", "لحم"),
+        (0xFDB6, "M", "عمي"),
+        (0xFDB7, "M", "كمي"),
+        (0xFDB8, "M", "نجح"),
+        (0xFDB9, "M", "مخي"),
+        (0xFDBA, "M", "لجم"),
+        (0xFDBB, "M", "كمم"),
+        (0xFDBC, "M", "لجم"),
+        (0xFDBD, "M", "نجح"),
+        (0xFDBE, "M", "جحي"),
+        (0xFDBF, "M", "حجي"),
+        (0xFDC0, "M", "مجي"),
+        (0xFDC1, "M", "فمي"),
+        (0xFDC2, "M", "بحي"),
+        (0xFDC3, "M", "كمم"),
+        (0xFDC4, "M", "عجم"),
+        (0xFDC5, "M", "صمم"),
+        (0xFDC6, "M", "سخي"),
+        (0xFDC7, "M", "نجي"),
+        (0xFDC8, "X"),
+        (0xFDCF, "V"),
+        (0xFDD0, "X"),
+        (0xFDF0, "M", "صلے"),
+        (0xFDF1, "M", "قلے"),
+        (0xFDF2, "M", "الله"),
+        (0xFDF3, "M", "اكبر"),
+        (0xFDF4, "M", "محمد"),
+        (0xFDF5, "M", "صلعم"),
+        (0xFDF6, "M", "رسول"),
+        (0xFDF7, "M", "عليه"),
+        (0xFDF8, "M", "وسلم"),
+        (0xFDF9, "M", "صلى"),
+        (0xFDFA, "3", "صلى الله عليه وسلم"),
+        (0xFDFB, "3", "جل جلاله"),
+        (0xFDFC, "M", "ریال"),
+        (0xFDFD, "V"),
+        (0xFE00, "I"),
+        (0xFE10, "3", ","),
+        (0xFE11, "M", "、"),
+        (0xFE12, "X"),
+        (0xFE13, "3", ":"),
+        (0xFE14, "3", ";"),
+        (0xFE15, "3", "!"),
+        (0xFE16, "3", "?"),
+        (0xFE17, "M", "〖"),
+        (0xFE18, "M", "〗"),
+        (0xFE19, "X"),
+        (0xFE20, "V"),
+        (0xFE30, "X"),
+        (0xFE31, "M", "—"),
+        (0xFE32, "M", "–"),
+        (0xFE33, "3", "_"),
+        (0xFE35, "3", "("),
+        (0xFE36, "3", ")"),
+        (0xFE37, "3", "{"),
+        (0xFE38, "3", "}"),
+        (0xFE39, "M", "〔"),
+        (0xFE3A, "M", "〕"),
+        (0xFE3B, "M", "【"),
+        (0xFE3C, "M", "】"),
+        (0xFE3D, "M", "《"),
+        (0xFE3E, "M", "》"),
+        (0xFE3F, "M", "〈"),
+        (0xFE40, "M", "〉"),
+        (0xFE41, "M", "「"),
+        (0xFE42, "M", "」"),
+        (0xFE43, "M", "『"),
+        (0xFE44, "M", "』"),
+        (0xFE45, "V"),
+        (0xFE47, "3", "["),
+        (0xFE48, "3", "]"),
+        (0xFE49, "3", " ̅"),
+        (0xFE4D, "3", "_"),
+        (0xFE50, "3", ","),
+        (0xFE51, "M", "、"),
+        (0xFE52, "X"),
+        (0xFE54, "3", ";"),
+        (0xFE55, "3", ":"),
+        (0xFE56, "3", "?"),
+        (0xFE57, "3", "!"),
+        (0xFE58, "M", "—"),
+        (0xFE59, "3", "("),
+        (0xFE5A, "3", ")"),
+        (0xFE5B, "3", "{"),
+        (0xFE5C, "3", "}"),
+        (0xFE5D, "M", "〔"),
+        (0xFE5E, "M", "〕"),
+        (0xFE5F, "3", "#"),
+        (0xFE60, "3", "&"),
+        (0xFE61, "3", "*"),
     ]
 
+
 def _seg_50() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFE62, '3', '+'),
-    (0xFE63, 'M', '-'),
-    (0xFE64, '3', '<'),
-    (0xFE65, '3', '>'),
-    (0xFE66, '3', '='),
-    (0xFE67, 'X'),
-    (0xFE68, '3', '\\'),
-    (0xFE69, '3', '$'),
-    (0xFE6A, '3', '%'),
-    (0xFE6B, '3', '@'),
-    (0xFE6C, 'X'),
-    (0xFE70, '3', ' ً'),
-    (0xFE71, 'M', 'ـً'),
-    (0xFE72, '3', ' ٌ'),
-    (0xFE73, 'V'),
-    (0xFE74, '3', ' ٍ'),
-    (0xFE75, 'X'),
-    (0xFE76, '3', ' َ'),
-    (0xFE77, 'M', 'ـَ'),
-    (0xFE78, '3', ' ُ'),
-    (0xFE79, 'M', 'ـُ'),
-    (0xFE7A, '3', ' ِ'),
-    (0xFE7B, 'M', 'ـِ'),
-    (0xFE7C, '3', ' ّ'),
-    (0xFE7D, 'M', 'ـّ'),
-    (0xFE7E, '3', ' ْ'),
-    (0xFE7F, 'M', 'ـْ'),
-    (0xFE80, 'M', 'ء'),
-    (0xFE81, 'M', 'آ'),
-    (0xFE83, 'M', 'أ'),
-    (0xFE85, 'M', 'ؤ'),
-    (0xFE87, 'M', 'إ'),
-    (0xFE89, 'M', 'ئ'),
-    (0xFE8D, 'M', 'ا'),
-    (0xFE8F, 'M', 'ب'),
-    (0xFE93, 'M', 'ة'),
-    (0xFE95, 'M', 'ت'),
-    (0xFE99, 'M', 'ث'),
-    (0xFE9D, 'M', 'ج'),
-    (0xFEA1, 'M', 'ح'),
-    (0xFEA5, 'M', 'خ'),
-    (0xFEA9, 'M', 'د'),
-    (0xFEAB, 'M', 'ذ'),
-    (0xFEAD, 'M', 'ر'),
-    (0xFEAF, 'M', 'ز'),
-    (0xFEB1, 'M', 'س'),
-    (0xFEB5, 'M', 'ش'),
-    (0xFEB9, 'M', 'ص'),
-    (0xFEBD, 'M', 'ض'),
-    (0xFEC1, 'M', 'ط'),
-    (0xFEC5, 'M', 'ظ'),
-    (0xFEC9, 'M', 'ع'),
-    (0xFECD, 'M', 'غ'),
-    (0xFED1, 'M', 'ف'),
-    (0xFED5, 'M', 'ق'),
-    (0xFED9, 'M', 'ك'),
-    (0xFEDD, 'M', 'ل'),
-    (0xFEE1, 'M', 'م'),
-    (0xFEE5, 'M', 'ن'),
-    (0xFEE9, 'M', 'ه'),
-    (0xFEED, 'M', 'و'),
-    (0xFEEF, 'M', 'ى'),
-    (0xFEF1, 'M', 'ي'),
-    (0xFEF5, 'M', 'لآ'),
-    (0xFEF7, 'M', 'لأ'),
-    (0xFEF9, 'M', 'لإ'),
-    (0xFEFB, 'M', 'لا'),
-    (0xFEFD, 'X'),
-    (0xFEFF, 'I'),
-    (0xFF00, 'X'),
-    (0xFF01, '3', '!'),
-    (0xFF02, '3', '"'),
-    (0xFF03, '3', '#'),
-    (0xFF04, '3', '$'),
-    (0xFF05, '3', '%'),
-    (0xFF06, '3', '&'),
-    (0xFF07, '3', '\''),
-    (0xFF08, '3', '('),
-    (0xFF09, '3', ')'),
-    (0xFF0A, '3', '*'),
-    (0xFF0B, '3', '+'),
-    (0xFF0C, '3', ','),
-    (0xFF0D, 'M', '-'),
-    (0xFF0E, 'M', '.'),
-    (0xFF0F, '3', '/'),
-    (0xFF10, 'M', '0'),
-    (0xFF11, 'M', '1'),
-    (0xFF12, 'M', '2'),
-    (0xFF13, 'M', '3'),
-    (0xFF14, 'M', '4'),
-    (0xFF15, 'M', '5'),
-    (0xFF16, 'M', '6'),
-    (0xFF17, 'M', '7'),
-    (0xFF18, 'M', '8'),
-    (0xFF19, 'M', '9'),
-    (0xFF1A, '3', ':'),
-    (0xFF1B, '3', ';'),
-    (0xFF1C, '3', '<'),
-    (0xFF1D, '3', '='),
-    (0xFF1E, '3', '>'),
+        (0xFE62, "3", "+"),
+        (0xFE63, "M", "-"),
+        (0xFE64, "3", "<"),
+        (0xFE65, "3", ">"),
+        (0xFE66, "3", "="),
+        (0xFE67, "X"),
+        (0xFE68, "3", "\\"),
+        (0xFE69, "3", "$"),
+        (0xFE6A, "3", "%"),
+        (0xFE6B, "3", "@"),
+        (0xFE6C, "X"),
+        (0xFE70, "3", " ً"),
+        (0xFE71, "M", "ـً"),
+        (0xFE72, "3", " ٌ"),
+        (0xFE73, "V"),
+        (0xFE74, "3", " ٍ"),
+        (0xFE75, "X"),
+        (0xFE76, "3", " َ"),
+        (0xFE77, "M", "ـَ"),
+        (0xFE78, "3", " ُ"),
+        (0xFE79, "M", "ـُ"),
+        (0xFE7A, "3", " ِ"),
+        (0xFE7B, "M", "ـِ"),
+        (0xFE7C, "3", " ّ"),
+        (0xFE7D, "M", "ـّ"),
+        (0xFE7E, "3", " ْ"),
+        (0xFE7F, "M", "ـْ"),
+        (0xFE80, "M", "ء"),
+        (0xFE81, "M", "آ"),
+        (0xFE83, "M", "أ"),
+        (0xFE85, "M", "ؤ"),
+        (0xFE87, "M", "إ"),
+        (0xFE89, "M", "ئ"),
+        (0xFE8D, "M", "ا"),
+        (0xFE8F, "M", "ب"),
+        (0xFE93, "M", "ة"),
+        (0xFE95, "M", "ت"),
+        (0xFE99, "M", "ث"),
+        (0xFE9D, "M", "ج"),
+        (0xFEA1, "M", "ح"),
+        (0xFEA5, "M", "خ"),
+        (0xFEA9, "M", "د"),
+        (0xFEAB, "M", "ذ"),
+        (0xFEAD, "M", "ر"),
+        (0xFEAF, "M", "ز"),
+        (0xFEB1, "M", "س"),
+        (0xFEB5, "M", "ش"),
+        (0xFEB9, "M", "ص"),
+        (0xFEBD, "M", "ض"),
+        (0xFEC1, "M", "ط"),
+        (0xFEC5, "M", "ظ"),
+        (0xFEC9, "M", "ع"),
+        (0xFECD, "M", "غ"),
+        (0xFED1, "M", "ف"),
+        (0xFED5, "M", "ق"),
+        (0xFED9, "M", "ك"),
+        (0xFEDD, "M", "ل"),
+        (0xFEE1, "M", "م"),
+        (0xFEE5, "M", "ن"),
+        (0xFEE9, "M", "ه"),
+        (0xFEED, "M", "و"),
+        (0xFEEF, "M", "ى"),
+        (0xFEF1, "M", "ي"),
+        (0xFEF5, "M", "لآ"),
+        (0xFEF7, "M", "لأ"),
+        (0xFEF9, "M", "لإ"),
+        (0xFEFB, "M", "لا"),
+        (0xFEFD, "X"),
+        (0xFEFF, "I"),
+        (0xFF00, "X"),
+        (0xFF01, "3", "!"),
+        (0xFF02, "3", '"'),
+        (0xFF03, "3", "#"),
+        (0xFF04, "3", "$"),
+        (0xFF05, "3", "%"),
+        (0xFF06, "3", "&"),
+        (0xFF07, "3", "'"),
+        (0xFF08, "3", "("),
+        (0xFF09, "3", ")"),
+        (0xFF0A, "3", "*"),
+        (0xFF0B, "3", "+"),
+        (0xFF0C, "3", ","),
+        (0xFF0D, "M", "-"),
+        (0xFF0E, "M", "."),
+        (0xFF0F, "3", "/"),
+        (0xFF10, "M", "0"),
+        (0xFF11, "M", "1"),
+        (0xFF12, "M", "2"),
+        (0xFF13, "M", "3"),
+        (0xFF14, "M", "4"),
+        (0xFF15, "M", "5"),
+        (0xFF16, "M", "6"),
+        (0xFF17, "M", "7"),
+        (0xFF18, "M", "8"),
+        (0xFF19, "M", "9"),
+        (0xFF1A, "3", ":"),
+        (0xFF1B, "3", ";"),
+        (0xFF1C, "3", "<"),
+        (0xFF1D, "3", "="),
+        (0xFF1E, "3", ">"),
     ]
 
+
 def _seg_51() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFF1F, '3', '?'),
-    (0xFF20, '3', '@'),
-    (0xFF21, 'M', 'a'),
-    (0xFF22, 'M', 'b'),
-    (0xFF23, 'M', 'c'),
-    (0xFF24, 'M', 'd'),
-    (0xFF25, 'M', 'e'),
-    (0xFF26, 'M', 'f'),
-    (0xFF27, 'M', 'g'),
-    (0xFF28, 'M', 'h'),
-    (0xFF29, 'M', 'i'),
-    (0xFF2A, 'M', 'j'),
-    (0xFF2B, 'M', 'k'),
-    (0xFF2C, 'M', 'l'),
-    (0xFF2D, 'M', 'm'),
-    (0xFF2E, 'M', 'n'),
-    (0xFF2F, 'M', 'o'),
-    (0xFF30, 'M', 'p'),
-    (0xFF31, 'M', 'q'),
-    (0xFF32, 'M', 'r'),
-    (0xFF33, 'M', 's'),
-    (0xFF34, 'M', 't'),
-    (0xFF35, 'M', 'u'),
-    (0xFF36, 'M', 'v'),
-    (0xFF37, 'M', 'w'),
-    (0xFF38, 'M', 'x'),
-    (0xFF39, 'M', 'y'),
-    (0xFF3A, 'M', 'z'),
-    (0xFF3B, '3', '['),
-    (0xFF3C, '3', '\\'),
-    (0xFF3D, '3', ']'),
-    (0xFF3E, '3', '^'),
-    (0xFF3F, '3', '_'),
-    (0xFF40, '3', '`'),
-    (0xFF41, 'M', 'a'),
-    (0xFF42, 'M', 'b'),
-    (0xFF43, 'M', 'c'),
-    (0xFF44, 'M', 'd'),
-    (0xFF45, 'M', 'e'),
-    (0xFF46, 'M', 'f'),
-    (0xFF47, 'M', 'g'),
-    (0xFF48, 'M', 'h'),
-    (0xFF49, 'M', 'i'),
-    (0xFF4A, 'M', 'j'),
-    (0xFF4B, 'M', 'k'),
-    (0xFF4C, 'M', 'l'),
-    (0xFF4D, 'M', 'm'),
-    (0xFF4E, 'M', 'n'),
-    (0xFF4F, 'M', 'o'),
-    (0xFF50, 'M', 'p'),
-    (0xFF51, 'M', 'q'),
-    (0xFF52, 'M', 'r'),
-    (0xFF53, 'M', 's'),
-    (0xFF54, 'M', 't'),
-    (0xFF55, 'M', 'u'),
-    (0xFF56, 'M', 'v'),
-    (0xFF57, 'M', 'w'),
-    (0xFF58, 'M', 'x'),
-    (0xFF59, 'M', 'y'),
-    (0xFF5A, 'M', 'z'),
-    (0xFF5B, '3', '{'),
-    (0xFF5C, '3', '|'),
-    (0xFF5D, '3', '}'),
-    (0xFF5E, '3', '~'),
-    (0xFF5F, 'M', '⦅'),
-    (0xFF60, 'M', '⦆'),
-    (0xFF61, 'M', '.'),
-    (0xFF62, 'M', '「'),
-    (0xFF63, 'M', '」'),
-    (0xFF64, 'M', '、'),
-    (0xFF65, 'M', '・'),
-    (0xFF66, 'M', 'ヲ'),
-    (0xFF67, 'M', 'ァ'),
-    (0xFF68, 'M', 'ィ'),
-    (0xFF69, 'M', 'ゥ'),
-    (0xFF6A, 'M', 'ェ'),
-    (0xFF6B, 'M', 'ォ'),
-    (0xFF6C, 'M', 'ャ'),
-    (0xFF6D, 'M', 'ュ'),
-    (0xFF6E, 'M', 'ョ'),
-    (0xFF6F, 'M', 'ッ'),
-    (0xFF70, 'M', 'ー'),
-    (0xFF71, 'M', 'ア'),
-    (0xFF72, 'M', 'イ'),
-    (0xFF73, 'M', 'ウ'),
-    (0xFF74, 'M', 'エ'),
-    (0xFF75, 'M', 'オ'),
-    (0xFF76, 'M', 'カ'),
-    (0xFF77, 'M', 'キ'),
-    (0xFF78, 'M', 'ク'),
-    (0xFF79, 'M', 'ケ'),
-    (0xFF7A, 'M', 'コ'),
-    (0xFF7B, 'M', 'サ'),
-    (0xFF7C, 'M', 'シ'),
-    (0xFF7D, 'M', 'ス'),
-    (0xFF7E, 'M', 'セ'),
-    (0xFF7F, 'M', 'ソ'),
-    (0xFF80, 'M', 'タ'),
-    (0xFF81, 'M', 'チ'),
-    (0xFF82, 'M', 'ツ'),
+        (0xFF1F, "3", "?"),
+        (0xFF20, "3", "@"),
+        (0xFF21, "M", "a"),
+        (0xFF22, "M", "b"),
+        (0xFF23, "M", "c"),
+        (0xFF24, "M", "d"),
+        (0xFF25, "M", "e"),
+        (0xFF26, "M", "f"),
+        (0xFF27, "M", "g"),
+        (0xFF28, "M", "h"),
+        (0xFF29, "M", "i"),
+        (0xFF2A, "M", "j"),
+        (0xFF2B, "M", "k"),
+        (0xFF2C, "M", "l"),
+        (0xFF2D, "M", "m"),
+        (0xFF2E, "M", "n"),
+        (0xFF2F, "M", "o"),
+        (0xFF30, "M", "p"),
+        (0xFF31, "M", "q"),
+        (0xFF32, "M", "r"),
+        (0xFF33, "M", "s"),
+        (0xFF34, "M", "t"),
+        (0xFF35, "M", "u"),
+        (0xFF36, "M", "v"),
+        (0xFF37, "M", "w"),
+        (0xFF38, "M", "x"),
+        (0xFF39, "M", "y"),
+        (0xFF3A, "M", "z"),
+        (0xFF3B, "3", "["),
+        (0xFF3C, "3", "\\"),
+        (0xFF3D, "3", "]"),
+        (0xFF3E, "3", "^"),
+        (0xFF3F, "3", "_"),
+        (0xFF40, "3", "`"),
+        (0xFF41, "M", "a"),
+        (0xFF42, "M", "b"),
+        (0xFF43, "M", "c"),
+        (0xFF44, "M", "d"),
+        (0xFF45, "M", "e"),
+        (0xFF46, "M", "f"),
+        (0xFF47, "M", "g"),
+        (0xFF48, "M", "h"),
+        (0xFF49, "M", "i"),
+        (0xFF4A, "M", "j"),
+        (0xFF4B, "M", "k"),
+        (0xFF4C, "M", "l"),
+        (0xFF4D, "M", "m"),
+        (0xFF4E, "M", "n"),
+        (0xFF4F, "M", "o"),
+        (0xFF50, "M", "p"),
+        (0xFF51, "M", "q"),
+        (0xFF52, "M", "r"),
+        (0xFF53, "M", "s"),
+        (0xFF54, "M", "t"),
+        (0xFF55, "M", "u"),
+        (0xFF56, "M", "v"),
+        (0xFF57, "M", "w"),
+        (0xFF58, "M", "x"),
+        (0xFF59, "M", "y"),
+        (0xFF5A, "M", "z"),
+        (0xFF5B, "3", "{"),
+        (0xFF5C, "3", "|"),
+        (0xFF5D, "3", "}"),
+        (0xFF5E, "3", "~"),
+        (0xFF5F, "M", "⦅"),
+        (0xFF60, "M", "⦆"),
+        (0xFF61, "M", "."),
+        (0xFF62, "M", "「"),
+        (0xFF63, "M", "」"),
+        (0xFF64, "M", "、"),
+        (0xFF65, "M", "・"),
+        (0xFF66, "M", "ヲ"),
+        (0xFF67, "M", "ァ"),
+        (0xFF68, "M", "ィ"),
+        (0xFF69, "M", "ゥ"),
+        (0xFF6A, "M", "ェ"),
+        (0xFF6B, "M", "ォ"),
+        (0xFF6C, "M", "ャ"),
+        (0xFF6D, "M", "ュ"),
+        (0xFF6E, "M", "ョ"),
+        (0xFF6F, "M", "ッ"),
+        (0xFF70, "M", "ー"),
+        (0xFF71, "M", "ア"),
+        (0xFF72, "M", "イ"),
+        (0xFF73, "M", "ウ"),
+        (0xFF74, "M", "エ"),
+        (0xFF75, "M", "オ"),
+        (0xFF76, "M", "カ"),
+        (0xFF77, "M", "キ"),
+        (0xFF78, "M", "ク"),
+        (0xFF79, "M", "ケ"),
+        (0xFF7A, "M", "コ"),
+        (0xFF7B, "M", "サ"),
+        (0xFF7C, "M", "シ"),
+        (0xFF7D, "M", "ス"),
+        (0xFF7E, "M", "セ"),
+        (0xFF7F, "M", "ソ"),
+        (0xFF80, "M", "タ"),
+        (0xFF81, "M", "チ"),
+        (0xFF82, "M", "ツ"),
     ]
 
+
 def _seg_52() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFF83, 'M', 'テ'),
-    (0xFF84, 'M', 'ト'),
-    (0xFF85, 'M', 'ナ'),
-    (0xFF86, 'M', 'ニ'),
-    (0xFF87, 'M', 'ヌ'),
-    (0xFF88, 'M', 'ネ'),
-    (0xFF89, 'M', 'ノ'),
-    (0xFF8A, 'M', 'ハ'),
-    (0xFF8B, 'M', 'ヒ'),
-    (0xFF8C, 'M', 'フ'),
-    (0xFF8D, 'M', 'ヘ'),
-    (0xFF8E, 'M', 'ホ'),
-    (0xFF8F, 'M', 'マ'),
-    (0xFF90, 'M', 'ミ'),
-    (0xFF91, 'M', 'ム'),
-    (0xFF92, 'M', 'メ'),
-    (0xFF93, 'M', 'モ'),
-    (0xFF94, 'M', 'ヤ'),
-    (0xFF95, 'M', 'ユ'),
-    (0xFF96, 'M', 'ヨ'),
-    (0xFF97, 'M', 'ラ'),
-    (0xFF98, 'M', 'リ'),
-    (0xFF99, 'M', 'ル'),
-    (0xFF9A, 'M', 'レ'),
-    (0xFF9B, 'M', 'ロ'),
-    (0xFF9C, 'M', 'ワ'),
-    (0xFF9D, 'M', 'ン'),
-    (0xFF9E, 'M', '゙'),
-    (0xFF9F, 'M', '゚'),
-    (0xFFA0, 'X'),
-    (0xFFA1, 'M', 'ᄀ'),
-    (0xFFA2, 'M', 'ᄁ'),
-    (0xFFA3, 'M', 'ᆪ'),
-    (0xFFA4, 'M', 'ᄂ'),
-    (0xFFA5, 'M', 'ᆬ'),
-    (0xFFA6, 'M', 'ᆭ'),
-    (0xFFA7, 'M', 'ᄃ'),
-    (0xFFA8, 'M', 'ᄄ'),
-    (0xFFA9, 'M', 'ᄅ'),
-    (0xFFAA, 'M', 'ᆰ'),
-    (0xFFAB, 'M', 'ᆱ'),
-    (0xFFAC, 'M', 'ᆲ'),
-    (0xFFAD, 'M', 'ᆳ'),
-    (0xFFAE, 'M', 'ᆴ'),
-    (0xFFAF, 'M', 'ᆵ'),
-    (0xFFB0, 'M', 'ᄚ'),
-    (0xFFB1, 'M', 'ᄆ'),
-    (0xFFB2, 'M', 'ᄇ'),
-    (0xFFB3, 'M', 'ᄈ'),
-    (0xFFB4, 'M', 'ᄡ'),
-    (0xFFB5, 'M', 'ᄉ'),
-    (0xFFB6, 'M', 'ᄊ'),
-    (0xFFB7, 'M', 'ᄋ'),
-    (0xFFB8, 'M', 'ᄌ'),
-    (0xFFB9, 'M', 'ᄍ'),
-    (0xFFBA, 'M', 'ᄎ'),
-    (0xFFBB, 'M', 'ᄏ'),
-    (0xFFBC, 'M', 'ᄐ'),
-    (0xFFBD, 'M', 'ᄑ'),
-    (0xFFBE, 'M', 'ᄒ'),
-    (0xFFBF, 'X'),
-    (0xFFC2, 'M', 'ᅡ'),
-    (0xFFC3, 'M', 'ᅢ'),
-    (0xFFC4, 'M', 'ᅣ'),
-    (0xFFC5, 'M', 'ᅤ'),
-    (0xFFC6, 'M', 'ᅥ'),
-    (0xFFC7, 'M', 'ᅦ'),
-    (0xFFC8, 'X'),
-    (0xFFCA, 'M', 'ᅧ'),
-    (0xFFCB, 'M', 'ᅨ'),
-    (0xFFCC, 'M', 'ᅩ'),
-    (0xFFCD, 'M', 'ᅪ'),
-    (0xFFCE, 'M', 'ᅫ'),
-    (0xFFCF, 'M', 'ᅬ'),
-    (0xFFD0, 'X'),
-    (0xFFD2, 'M', 'ᅭ'),
-    (0xFFD3, 'M', 'ᅮ'),
-    (0xFFD4, 'M', 'ᅯ'),
-    (0xFFD5, 'M', 'ᅰ'),
-    (0xFFD6, 'M', 'ᅱ'),
-    (0xFFD7, 'M', 'ᅲ'),
-    (0xFFD8, 'X'),
-    (0xFFDA, 'M', 'ᅳ'),
-    (0xFFDB, 'M', 'ᅴ'),
-    (0xFFDC, 'M', 'ᅵ'),
-    (0xFFDD, 'X'),
-    (0xFFE0, 'M', '¢'),
-    (0xFFE1, 'M', '£'),
-    (0xFFE2, 'M', '¬'),
-    (0xFFE3, '3', ' ̄'),
-    (0xFFE4, 'M', '¦'),
-    (0xFFE5, 'M', '¥'),
-    (0xFFE6, 'M', '₩'),
-    (0xFFE7, 'X'),
-    (0xFFE8, 'M', '│'),
-    (0xFFE9, 'M', '←'),
-    (0xFFEA, 'M', '↑'),
-    (0xFFEB, 'M', '→'),
-    (0xFFEC, 'M', '↓'),
-    (0xFFED, 'M', '■'),
+        (0xFF83, "M", "テ"),
+        (0xFF84, "M", "ト"),
+        (0xFF85, "M", "ナ"),
+        (0xFF86, "M", "ニ"),
+        (0xFF87, "M", "ヌ"),
+        (0xFF88, "M", "ネ"),
+        (0xFF89, "M", "ノ"),
+        (0xFF8A, "M", "ハ"),
+        (0xFF8B, "M", "ヒ"),
+        (0xFF8C, "M", "フ"),
+        (0xFF8D, "M", "ヘ"),
+        (0xFF8E, "M", "ホ"),
+        (0xFF8F, "M", "マ"),
+        (0xFF90, "M", "ミ"),
+        (0xFF91, "M", "ム"),
+        (0xFF92, "M", "メ"),
+        (0xFF93, "M", "モ"),
+        (0xFF94, "M", "ヤ"),
+        (0xFF95, "M", "ユ"),
+        (0xFF96, "M", "ヨ"),
+        (0xFF97, "M", "ラ"),
+        (0xFF98, "M", "リ"),
+        (0xFF99, "M", "ル"),
+        (0xFF9A, "M", "レ"),
+        (0xFF9B, "M", "ロ"),
+        (0xFF9C, "M", "ワ"),
+        (0xFF9D, "M", "ン"),
+        (0xFF9E, "M", "゙"),
+        (0xFF9F, "M", "゚"),
+        (0xFFA0, "X"),
+        (0xFFA1, "M", "ᄀ"),
+        (0xFFA2, "M", "ᄁ"),
+        (0xFFA3, "M", "ᆪ"),
+        (0xFFA4, "M", "ᄂ"),
+        (0xFFA5, "M", "ᆬ"),
+        (0xFFA6, "M", "ᆭ"),
+        (0xFFA7, "M", "ᄃ"),
+        (0xFFA8, "M", "ᄄ"),
+        (0xFFA9, "M", "ᄅ"),
+        (0xFFAA, "M", "ᆰ"),
+        (0xFFAB, "M", "ᆱ"),
+        (0xFFAC, "M", "ᆲ"),
+        (0xFFAD, "M", "ᆳ"),
+        (0xFFAE, "M", "ᆴ"),
+        (0xFFAF, "M", "ᆵ"),
+        (0xFFB0, "M", "ᄚ"),
+        (0xFFB1, "M", "ᄆ"),
+        (0xFFB2, "M", "ᄇ"),
+        (0xFFB3, "M", "ᄈ"),
+        (0xFFB4, "M", "ᄡ"),
+        (0xFFB5, "M", "ᄉ"),
+        (0xFFB6, "M", "ᄊ"),
+        (0xFFB7, "M", "ᄋ"),
+        (0xFFB8, "M", "ᄌ"),
+        (0xFFB9, "M", "ᄍ"),
+        (0xFFBA, "M", "ᄎ"),
+        (0xFFBB, "M", "ᄏ"),
+        (0xFFBC, "M", "ᄐ"),
+        (0xFFBD, "M", "ᄑ"),
+        (0xFFBE, "M", "ᄒ"),
+        (0xFFBF, "X"),
+        (0xFFC2, "M", "ᅡ"),
+        (0xFFC3, "M", "ᅢ"),
+        (0xFFC4, "M", "ᅣ"),
+        (0xFFC5, "M", "ᅤ"),
+        (0xFFC6, "M", "ᅥ"),
+        (0xFFC7, "M", "ᅦ"),
+        (0xFFC8, "X"),
+        (0xFFCA, "M", "ᅧ"),
+        (0xFFCB, "M", "ᅨ"),
+        (0xFFCC, "M", "ᅩ"),
+        (0xFFCD, "M", "ᅪ"),
+        (0xFFCE, "M", "ᅫ"),
+        (0xFFCF, "M", "ᅬ"),
+        (0xFFD0, "X"),
+        (0xFFD2, "M", "ᅭ"),
+        (0xFFD3, "M", "ᅮ"),
+        (0xFFD4, "M", "ᅯ"),
+        (0xFFD5, "M", "ᅰ"),
+        (0xFFD6, "M", "ᅱ"),
+        (0xFFD7, "M", "ᅲ"),
+        (0xFFD8, "X"),
+        (0xFFDA, "M", "ᅳ"),
+        (0xFFDB, "M", "ᅴ"),
+        (0xFFDC, "M", "ᅵ"),
+        (0xFFDD, "X"),
+        (0xFFE0, "M", "¢"),
+        (0xFFE1, "M", "£"),
+        (0xFFE2, "M", "¬"),
+        (0xFFE3, "3", " ̄"),
+        (0xFFE4, "M", "¦"),
+        (0xFFE5, "M", "¥"),
+        (0xFFE6, "M", "₩"),
+        (0xFFE7, "X"),
+        (0xFFE8, "M", "│"),
+        (0xFFE9, "M", "←"),
+        (0xFFEA, "M", "↑"),
+        (0xFFEB, "M", "→"),
+        (0xFFEC, "M", "↓"),
+        (0xFFED, "M", "■"),
     ]
 
+
 def _seg_53() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0xFFEE, 'M', '○'),
-    (0xFFEF, 'X'),
-    (0x10000, 'V'),
-    (0x1000C, 'X'),
-    (0x1000D, 'V'),
-    (0x10027, 'X'),
-    (0x10028, 'V'),
-    (0x1003B, 'X'),
-    (0x1003C, 'V'),
-    (0x1003E, 'X'),
-    (0x1003F, 'V'),
-    (0x1004E, 'X'),
-    (0x10050, 'V'),
-    (0x1005E, 'X'),
-    (0x10080, 'V'),
-    (0x100FB, 'X'),
-    (0x10100, 'V'),
-    (0x10103, 'X'),
-    (0x10107, 'V'),
-    (0x10134, 'X'),
-    (0x10137, 'V'),
-    (0x1018F, 'X'),
-    (0x10190, 'V'),
-    (0x1019D, 'X'),
-    (0x101A0, 'V'),
-    (0x101A1, 'X'),
-    (0x101D0, 'V'),
-    (0x101FE, 'X'),
-    (0x10280, 'V'),
-    (0x1029D, 'X'),
-    (0x102A0, 'V'),
-    (0x102D1, 'X'),
-    (0x102E0, 'V'),
-    (0x102FC, 'X'),
-    (0x10300, 'V'),
-    (0x10324, 'X'),
-    (0x1032D, 'V'),
-    (0x1034B, 'X'),
-    (0x10350, 'V'),
-    (0x1037B, 'X'),
-    (0x10380, 'V'),
-    (0x1039E, 'X'),
-    (0x1039F, 'V'),
-    (0x103C4, 'X'),
-    (0x103C8, 'V'),
-    (0x103D6, 'X'),
-    (0x10400, 'M', '𐐨'),
-    (0x10401, 'M', '𐐩'),
-    (0x10402, 'M', '𐐪'),
-    (0x10403, 'M', '𐐫'),
-    (0x10404, 'M', '𐐬'),
-    (0x10405, 'M', '𐐭'),
-    (0x10406, 'M', '𐐮'),
-    (0x10407, 'M', '𐐯'),
-    (0x10408, 'M', '𐐰'),
-    (0x10409, 'M', '𐐱'),
-    (0x1040A, 'M', '𐐲'),
-    (0x1040B, 'M', '𐐳'),
-    (0x1040C, 'M', '𐐴'),
-    (0x1040D, 'M', '𐐵'),
-    (0x1040E, 'M', '𐐶'),
-    (0x1040F, 'M', '𐐷'),
-    (0x10410, 'M', '𐐸'),
-    (0x10411, 'M', '𐐹'),
-    (0x10412, 'M', '𐐺'),
-    (0x10413, 'M', '𐐻'),
-    (0x10414, 'M', '𐐼'),
-    (0x10415, 'M', '𐐽'),
-    (0x10416, 'M', '𐐾'),
-    (0x10417, 'M', '𐐿'),
-    (0x10418, 'M', '𐑀'),
-    (0x10419, 'M', '𐑁'),
-    (0x1041A, 'M', '𐑂'),
-    (0x1041B, 'M', '𐑃'),
-    (0x1041C, 'M', '𐑄'),
-    (0x1041D, 'M', '𐑅'),
-    (0x1041E, 'M', '𐑆'),
-    (0x1041F, 'M', '𐑇'),
-    (0x10420, 'M', '𐑈'),
-    (0x10421, 'M', '𐑉'),
-    (0x10422, 'M', '𐑊'),
-    (0x10423, 'M', '𐑋'),
-    (0x10424, 'M', '𐑌'),
-    (0x10425, 'M', '𐑍'),
-    (0x10426, 'M', '𐑎'),
-    (0x10427, 'M', '𐑏'),
-    (0x10428, 'V'),
-    (0x1049E, 'X'),
-    (0x104A0, 'V'),
-    (0x104AA, 'X'),
-    (0x104B0, 'M', '𐓘'),
-    (0x104B1, 'M', '𐓙'),
-    (0x104B2, 'M', '𐓚'),
-    (0x104B3, 'M', '𐓛'),
-    (0x104B4, 'M', '𐓜'),
-    (0x104B5, 'M', '𐓝'),
-    (0x104B6, 'M', '𐓞'),
-    (0x104B7, 'M', '𐓟'),
-    (0x104B8, 'M', '𐓠'),
-    (0x104B9, 'M', '𐓡'),
+        (0xFFEE, "M", "○"),
+        (0xFFEF, "X"),
+        (0x10000, "V"),
+        (0x1000C, "X"),
+        (0x1000D, "V"),
+        (0x10027, "X"),
+        (0x10028, "V"),
+        (0x1003B, "X"),
+        (0x1003C, "V"),
+        (0x1003E, "X"),
+        (0x1003F, "V"),
+        (0x1004E, "X"),
+        (0x10050, "V"),
+        (0x1005E, "X"),
+        (0x10080, "V"),
+        (0x100FB, "X"),
+        (0x10100, "V"),
+        (0x10103, "X"),
+        (0x10107, "V"),
+        (0x10134, "X"),
+        (0x10137, "V"),
+        (0x1018F, "X"),
+        (0x10190, "V"),
+        (0x1019D, "X"),
+        (0x101A0, "V"),
+        (0x101A1, "X"),
+        (0x101D0, "V"),
+        (0x101FE, "X"),
+        (0x10280, "V"),
+        (0x1029D, "X"),
+        (0x102A0, "V"),
+        (0x102D1, "X"),
+        (0x102E0, "V"),
+        (0x102FC, "X"),
+        (0x10300, "V"),
+        (0x10324, "X"),
+        (0x1032D, "V"),
+        (0x1034B, "X"),
+        (0x10350, "V"),
+        (0x1037B, "X"),
+        (0x10380, "V"),
+        (0x1039E, "X"),
+        (0x1039F, "V"),
+        (0x103C4, "X"),
+        (0x103C8, "V"),
+        (0x103D6, "X"),
+        (0x10400, "M", "𐐨"),
+        (0x10401, "M", "𐐩"),
+        (0x10402, "M", "𐐪"),
+        (0x10403, "M", "𐐫"),
+        (0x10404, "M", "𐐬"),
+        (0x10405, "M", "𐐭"),
+        (0x10406, "M", "𐐮"),
+        (0x10407, "M", "𐐯"),
+        (0x10408, "M", "𐐰"),
+        (0x10409, "M", "𐐱"),
+        (0x1040A, "M", "𐐲"),
+        (0x1040B, "M", "𐐳"),
+        (0x1040C, "M", "𐐴"),
+        (0x1040D, "M", "𐐵"),
+        (0x1040E, "M", "𐐶"),
+        (0x1040F, "M", "𐐷"),
+        (0x10410, "M", "𐐸"),
+        (0x10411, "M", "𐐹"),
+        (0x10412, "M", "𐐺"),
+        (0x10413, "M", "𐐻"),
+        (0x10414, "M", "𐐼"),
+        (0x10415, "M", "𐐽"),
+        (0x10416, "M", "𐐾"),
+        (0x10417, "M", "𐐿"),
+        (0x10418, "M", "𐑀"),
+        (0x10419, "M", "𐑁"),
+        (0x1041A, "M", "𐑂"),
+        (0x1041B, "M", "𐑃"),
+        (0x1041C, "M", "𐑄"),
+        (0x1041D, "M", "𐑅"),
+        (0x1041E, "M", "𐑆"),
+        (0x1041F, "M", "𐑇"),
+        (0x10420, "M", "𐑈"),
+        (0x10421, "M", "𐑉"),
+        (0x10422, "M", "𐑊"),
+        (0x10423, "M", "𐑋"),
+        (0x10424, "M", "𐑌"),
+        (0x10425, "M", "𐑍"),
+        (0x10426, "M", "𐑎"),
+        (0x10427, "M", "𐑏"),
+        (0x10428, "V"),
+        (0x1049E, "X"),
+        (0x104A0, "V"),
+        (0x104AA, "X"),
+        (0x104B0, "M", "𐓘"),
+        (0x104B1, "M", "𐓙"),
+        (0x104B2, "M", "𐓚"),
+        (0x104B3, "M", "𐓛"),
+        (0x104B4, "M", "𐓜"),
+        (0x104B5, "M", "𐓝"),
+        (0x104B6, "M", "𐓞"),
+        (0x104B7, "M", "𐓟"),
+        (0x104B8, "M", "𐓠"),
+        (0x104B9, "M", "𐓡"),
     ]
 
+
 def _seg_54() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x104BA, 'M', '𐓢'),
-    (0x104BB, 'M', '𐓣'),
-    (0x104BC, 'M', '𐓤'),
-    (0x104BD, 'M', '𐓥'),
-    (0x104BE, 'M', '𐓦'),
-    (0x104BF, 'M', '𐓧'),
-    (0x104C0, 'M', '𐓨'),
-    (0x104C1, 'M', '𐓩'),
-    (0x104C2, 'M', '𐓪'),
-    (0x104C3, 'M', '𐓫'),
-    (0x104C4, 'M', '𐓬'),
-    (0x104C5, 'M', '𐓭'),
-    (0x104C6, 'M', '𐓮'),
-    (0x104C7, 'M', '𐓯'),
-    (0x104C8, 'M', '𐓰'),
-    (0x104C9, 'M', '𐓱'),
-    (0x104CA, 'M', '𐓲'),
-    (0x104CB, 'M', '𐓳'),
-    (0x104CC, 'M', '𐓴'),
-    (0x104CD, 'M', '𐓵'),
-    (0x104CE, 'M', '𐓶'),
-    (0x104CF, 'M', '𐓷'),
-    (0x104D0, 'M', '𐓸'),
-    (0x104D1, 'M', '𐓹'),
-    (0x104D2, 'M', '𐓺'),
-    (0x104D3, 'M', '𐓻'),
-    (0x104D4, 'X'),
-    (0x104D8, 'V'),
-    (0x104FC, 'X'),
-    (0x10500, 'V'),
-    (0x10528, 'X'),
-    (0x10530, 'V'),
-    (0x10564, 'X'),
-    (0x1056F, 'V'),
-    (0x10570, 'M', '𐖗'),
-    (0x10571, 'M', '𐖘'),
-    (0x10572, 'M', '𐖙'),
-    (0x10573, 'M', '𐖚'),
-    (0x10574, 'M', '𐖛'),
-    (0x10575, 'M', '𐖜'),
-    (0x10576, 'M', '𐖝'),
-    (0x10577, 'M', '𐖞'),
-    (0x10578, 'M', '𐖟'),
-    (0x10579, 'M', '𐖠'),
-    (0x1057A, 'M', '𐖡'),
-    (0x1057B, 'X'),
-    (0x1057C, 'M', '𐖣'),
-    (0x1057D, 'M', '𐖤'),
-    (0x1057E, 'M', '𐖥'),
-    (0x1057F, 'M', '𐖦'),
-    (0x10580, 'M', '𐖧'),
-    (0x10581, 'M', '𐖨'),
-    (0x10582, 'M', '𐖩'),
-    (0x10583, 'M', '𐖪'),
-    (0x10584, 'M', '𐖫'),
-    (0x10585, 'M', '𐖬'),
-    (0x10586, 'M', '𐖭'),
-    (0x10587, 'M', '𐖮'),
-    (0x10588, 'M', '𐖯'),
-    (0x10589, 'M', '𐖰'),
-    (0x1058A, 'M', '𐖱'),
-    (0x1058B, 'X'),
-    (0x1058C, 'M', '𐖳'),
-    (0x1058D, 'M', '𐖴'),
-    (0x1058E, 'M', '𐖵'),
-    (0x1058F, 'M', '𐖶'),
-    (0x10590, 'M', '𐖷'),
-    (0x10591, 'M', '𐖸'),
-    (0x10592, 'M', '𐖹'),
-    (0x10593, 'X'),
-    (0x10594, 'M', '𐖻'),
-    (0x10595, 'M', '𐖼'),
-    (0x10596, 'X'),
-    (0x10597, 'V'),
-    (0x105A2, 'X'),
-    (0x105A3, 'V'),
-    (0x105B2, 'X'),
-    (0x105B3, 'V'),
-    (0x105BA, 'X'),
-    (0x105BB, 'V'),
-    (0x105BD, 'X'),
-    (0x10600, 'V'),
-    (0x10737, 'X'),
-    (0x10740, 'V'),
-    (0x10756, 'X'),
-    (0x10760, 'V'),
-    (0x10768, 'X'),
-    (0x10780, 'V'),
-    (0x10781, 'M', 'ː'),
-    (0x10782, 'M', 'ˑ'),
-    (0x10783, 'M', 'æ'),
-    (0x10784, 'M', 'ʙ'),
-    (0x10785, 'M', 'ɓ'),
-    (0x10786, 'X'),
-    (0x10787, 'M', 'ʣ'),
-    (0x10788, 'M', 'ꭦ'),
-    (0x10789, 'M', 'ʥ'),
-    (0x1078A, 'M', 'ʤ'),
-    (0x1078B, 'M', 'ɖ'),
-    (0x1078C, 'M', 'ɗ'),
+        (0x104BA, "M", "𐓢"),
+        (0x104BB, "M", "𐓣"),
+        (0x104BC, "M", "𐓤"),
+        (0x104BD, "M", "𐓥"),
+        (0x104BE, "M", "𐓦"),
+        (0x104BF, "M", "𐓧"),
+        (0x104C0, "M", "𐓨"),
+        (0x104C1, "M", "𐓩"),
+        (0x104C2, "M", "𐓪"),
+        (0x104C3, "M", "𐓫"),
+        (0x104C4, "M", "𐓬"),
+        (0x104C5, "M", "𐓭"),
+        (0x104C6, "M", "𐓮"),
+        (0x104C7, "M", "𐓯"),
+        (0x104C8, "M", "𐓰"),
+        (0x104C9, "M", "𐓱"),
+        (0x104CA, "M", "𐓲"),
+        (0x104CB, "M", "𐓳"),
+        (0x104CC, "M", "𐓴"),
+        (0x104CD, "M", "𐓵"),
+        (0x104CE, "M", "𐓶"),
+        (0x104CF, "M", "𐓷"),
+        (0x104D0, "M", "𐓸"),
+        (0x104D1, "M", "𐓹"),
+        (0x104D2, "M", "𐓺"),
+        (0x104D3, "M", "𐓻"),
+        (0x104D4, "X"),
+        (0x104D8, "V"),
+        (0x104FC, "X"),
+        (0x10500, "V"),
+        (0x10528, "X"),
+        (0x10530, "V"),
+        (0x10564, "X"),
+        (0x1056F, "V"),
+        (0x10570, "M", "𐖗"),
+        (0x10571, "M", "𐖘"),
+        (0x10572, "M", "𐖙"),
+        (0x10573, "M", "𐖚"),
+        (0x10574, "M", "𐖛"),
+        (0x10575, "M", "𐖜"),
+        (0x10576, "M", "𐖝"),
+        (0x10577, "M", "𐖞"),
+        (0x10578, "M", "𐖟"),
+        (0x10579, "M", "𐖠"),
+        (0x1057A, "M", "𐖡"),
+        (0x1057B, "X"),
+        (0x1057C, "M", "𐖣"),
+        (0x1057D, "M", "𐖤"),
+        (0x1057E, "M", "𐖥"),
+        (0x1057F, "M", "𐖦"),
+        (0x10580, "M", "𐖧"),
+        (0x10581, "M", "𐖨"),
+        (0x10582, "M", "𐖩"),
+        (0x10583, "M", "𐖪"),
+        (0x10584, "M", "𐖫"),
+        (0x10585, "M", "𐖬"),
+        (0x10586, "M", "𐖭"),
+        (0x10587, "M", "𐖮"),
+        (0x10588, "M", "𐖯"),
+        (0x10589, "M", "𐖰"),
+        (0x1058A, "M", "𐖱"),
+        (0x1058B, "X"),
+        (0x1058C, "M", "𐖳"),
+        (0x1058D, "M", "𐖴"),
+        (0x1058E, "M", "𐖵"),
+        (0x1058F, "M", "𐖶"),
+        (0x10590, "M", "𐖷"),
+        (0x10591, "M", "𐖸"),
+        (0x10592, "M", "𐖹"),
+        (0x10593, "X"),
+        (0x10594, "M", "𐖻"),
+        (0x10595, "M", "𐖼"),
+        (0x10596, "X"),
+        (0x10597, "V"),
+        (0x105A2, "X"),
+        (0x105A3, "V"),
+        (0x105B2, "X"),
+        (0x105B3, "V"),
+        (0x105BA, "X"),
+        (0x105BB, "V"),
+        (0x105BD, "X"),
+        (0x10600, "V"),
+        (0x10737, "X"),
+        (0x10740, "V"),
+        (0x10756, "X"),
+        (0x10760, "V"),
+        (0x10768, "X"),
+        (0x10780, "V"),
+        (0x10781, "M", "ː"),
+        (0x10782, "M", "ˑ"),
+        (0x10783, "M", "æ"),
+        (0x10784, "M", "ʙ"),
+        (0x10785, "M", "ɓ"),
+        (0x10786, "X"),
+        (0x10787, "M", "ʣ"),
+        (0x10788, "M", "ꭦ"),
+        (0x10789, "M", "ʥ"),
+        (0x1078A, "M", "ʤ"),
+        (0x1078B, "M", "ɖ"),
+        (0x1078C, "M", "ɗ"),
     ]
 
+
 def _seg_55() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1078D, 'M', 'ᶑ'),
-    (0x1078E, 'M', 'ɘ'),
-    (0x1078F, 'M', 'ɞ'),
-    (0x10790, 'M', 'ʩ'),
-    (0x10791, 'M', 'ɤ'),
-    (0x10792, 'M', 'ɢ'),
-    (0x10793, 'M', 'ɠ'),
-    (0x10794, 'M', 'ʛ'),
-    (0x10795, 'M', 'ħ'),
-    (0x10796, 'M', 'ʜ'),
-    (0x10797, 'M', 'ɧ'),
-    (0x10798, 'M', 'ʄ'),
-    (0x10799, 'M', 'ʪ'),
-    (0x1079A, 'M', 'ʫ'),
-    (0x1079B, 'M', 'ɬ'),
-    (0x1079C, 'M', '𝼄'),
-    (0x1079D, 'M', 'ꞎ'),
-    (0x1079E, 'M', 'ɮ'),
-    (0x1079F, 'M', '𝼅'),
-    (0x107A0, 'M', 'ʎ'),
-    (0x107A1, 'M', '𝼆'),
-    (0x107A2, 'M', 'ø'),
-    (0x107A3, 'M', 'ɶ'),
-    (0x107A4, 'M', 'ɷ'),
-    (0x107A5, 'M', 'q'),
-    (0x107A6, 'M', 'ɺ'),
-    (0x107A7, 'M', '𝼈'),
-    (0x107A8, 'M', 'ɽ'),
-    (0x107A9, 'M', 'ɾ'),
-    (0x107AA, 'M', 'ʀ'),
-    (0x107AB, 'M', 'ʨ'),
-    (0x107AC, 'M', 'ʦ'),
-    (0x107AD, 'M', 'ꭧ'),
-    (0x107AE, 'M', 'ʧ'),
-    (0x107AF, 'M', 'ʈ'),
-    (0x107B0, 'M', 'ⱱ'),
-    (0x107B1, 'X'),
-    (0x107B2, 'M', 'ʏ'),
-    (0x107B3, 'M', 'ʡ'),
-    (0x107B4, 'M', 'ʢ'),
-    (0x107B5, 'M', 'ʘ'),
-    (0x107B6, 'M', 'ǀ'),
-    (0x107B7, 'M', 'ǁ'),
-    (0x107B8, 'M', 'ǂ'),
-    (0x107B9, 'M', '𝼊'),
-    (0x107BA, 'M', '𝼞'),
-    (0x107BB, 'X'),
-    (0x10800, 'V'),
-    (0x10806, 'X'),
-    (0x10808, 'V'),
-    (0x10809, 'X'),
-    (0x1080A, 'V'),
-    (0x10836, 'X'),
-    (0x10837, 'V'),
-    (0x10839, 'X'),
-    (0x1083C, 'V'),
-    (0x1083D, 'X'),
-    (0x1083F, 'V'),
-    (0x10856, 'X'),
-    (0x10857, 'V'),
-    (0x1089F, 'X'),
-    (0x108A7, 'V'),
-    (0x108B0, 'X'),
-    (0x108E0, 'V'),
-    (0x108F3, 'X'),
-    (0x108F4, 'V'),
-    (0x108F6, 'X'),
-    (0x108FB, 'V'),
-    (0x1091C, 'X'),
-    (0x1091F, 'V'),
-    (0x1093A, 'X'),
-    (0x1093F, 'V'),
-    (0x10940, 'X'),
-    (0x10980, 'V'),
-    (0x109B8, 'X'),
-    (0x109BC, 'V'),
-    (0x109D0, 'X'),
-    (0x109D2, 'V'),
-    (0x10A04, 'X'),
-    (0x10A05, 'V'),
-    (0x10A07, 'X'),
-    (0x10A0C, 'V'),
-    (0x10A14, 'X'),
-    (0x10A15, 'V'),
-    (0x10A18, 'X'),
-    (0x10A19, 'V'),
-    (0x10A36, 'X'),
-    (0x10A38, 'V'),
-    (0x10A3B, 'X'),
-    (0x10A3F, 'V'),
-    (0x10A49, 'X'),
-    (0x10A50, 'V'),
-    (0x10A59, 'X'),
-    (0x10A60, 'V'),
-    (0x10AA0, 'X'),
-    (0x10AC0, 'V'),
-    (0x10AE7, 'X'),
-    (0x10AEB, 'V'),
-    (0x10AF7, 'X'),
-    (0x10B00, 'V'),
+        (0x1078D, "M", "ᶑ"),
+        (0x1078E, "M", "ɘ"),
+        (0x1078F, "M", "ɞ"),
+        (0x10790, "M", "ʩ"),
+        (0x10791, "M", "ɤ"),
+        (0x10792, "M", "ɢ"),
+        (0x10793, "M", "ɠ"),
+        (0x10794, "M", "ʛ"),
+        (0x10795, "M", "ħ"),
+        (0x10796, "M", "ʜ"),
+        (0x10797, "M", "ɧ"),
+        (0x10798, "M", "ʄ"),
+        (0x10799, "M", "ʪ"),
+        (0x1079A, "M", "ʫ"),
+        (0x1079B, "M", "ɬ"),
+        (0x1079C, "M", "𝼄"),
+        (0x1079D, "M", "ꞎ"),
+        (0x1079E, "M", "ɮ"),
+        (0x1079F, "M", "𝼅"),
+        (0x107A0, "M", "ʎ"),
+        (0x107A1, "M", "𝼆"),
+        (0x107A2, "M", "ø"),
+        (0x107A3, "M", "ɶ"),
+        (0x107A4, "M", "ɷ"),
+        (0x107A5, "M", "q"),
+        (0x107A6, "M", "ɺ"),
+        (0x107A7, "M", "𝼈"),
+        (0x107A8, "M", "ɽ"),
+        (0x107A9, "M", "ɾ"),
+        (0x107AA, "M", "ʀ"),
+        (0x107AB, "M", "ʨ"),
+        (0x107AC, "M", "ʦ"),
+        (0x107AD, "M", "ꭧ"),
+        (0x107AE, "M", "ʧ"),
+        (0x107AF, "M", "ʈ"),
+        (0x107B0, "M", "ⱱ"),
+        (0x107B1, "X"),
+        (0x107B2, "M", "ʏ"),
+        (0x107B3, "M", "ʡ"),
+        (0x107B4, "M", "ʢ"),
+        (0x107B5, "M", "ʘ"),
+        (0x107B6, "M", "ǀ"),
+        (0x107B7, "M", "ǁ"),
+        (0x107B8, "M", "ǂ"),
+        (0x107B9, "M", "𝼊"),
+        (0x107BA, "M", "𝼞"),
+        (0x107BB, "X"),
+        (0x10800, "V"),
+        (0x10806, "X"),
+        (0x10808, "V"),
+        (0x10809, "X"),
+        (0x1080A, "V"),
+        (0x10836, "X"),
+        (0x10837, "V"),
+        (0x10839, "X"),
+        (0x1083C, "V"),
+        (0x1083D, "X"),
+        (0x1083F, "V"),
+        (0x10856, "X"),
+        (0x10857, "V"),
+        (0x1089F, "X"),
+        (0x108A7, "V"),
+        (0x108B0, "X"),
+        (0x108E0, "V"),
+        (0x108F3, "X"),
+        (0x108F4, "V"),
+        (0x108F6, "X"),
+        (0x108FB, "V"),
+        (0x1091C, "X"),
+        (0x1091F, "V"),
+        (0x1093A, "X"),
+        (0x1093F, "V"),
+        (0x10940, "X"),
+        (0x10980, "V"),
+        (0x109B8, "X"),
+        (0x109BC, "V"),
+        (0x109D0, "X"),
+        (0x109D2, "V"),
+        (0x10A04, "X"),
+        (0x10A05, "V"),
+        (0x10A07, "X"),
+        (0x10A0C, "V"),
+        (0x10A14, "X"),
+        (0x10A15, "V"),
+        (0x10A18, "X"),
+        (0x10A19, "V"),
+        (0x10A36, "X"),
+        (0x10A38, "V"),
+        (0x10A3B, "X"),
+        (0x10A3F, "V"),
+        (0x10A49, "X"),
+        (0x10A50, "V"),
+        (0x10A59, "X"),
+        (0x10A60, "V"),
+        (0x10AA0, "X"),
+        (0x10AC0, "V"),
+        (0x10AE7, "X"),
+        (0x10AEB, "V"),
+        (0x10AF7, "X"),
+        (0x10B00, "V"),
     ]
 
+
 def _seg_56() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x10B36, 'X'),
-    (0x10B39, 'V'),
-    (0x10B56, 'X'),
-    (0x10B58, 'V'),
-    (0x10B73, 'X'),
-    (0x10B78, 'V'),
-    (0x10B92, 'X'),
-    (0x10B99, 'V'),
-    (0x10B9D, 'X'),
-    (0x10BA9, 'V'),
-    (0x10BB0, 'X'),
-    (0x10C00, 'V'),
-    (0x10C49, 'X'),
-    (0x10C80, 'M', '𐳀'),
-    (0x10C81, 'M', '𐳁'),
-    (0x10C82, 'M', '𐳂'),
-    (0x10C83, 'M', '𐳃'),
-    (0x10C84, 'M', '𐳄'),
-    (0x10C85, 'M', '𐳅'),
-    (0x10C86, 'M', '𐳆'),
-    (0x10C87, 'M', '𐳇'),
-    (0x10C88, 'M', '𐳈'),
-    (0x10C89, 'M', '𐳉'),
-    (0x10C8A, 'M', '𐳊'),
-    (0x10C8B, 'M', '𐳋'),
-    (0x10C8C, 'M', '𐳌'),
-    (0x10C8D, 'M', '𐳍'),
-    (0x10C8E, 'M', '𐳎'),
-    (0x10C8F, 'M', '𐳏'),
-    (0x10C90, 'M', '𐳐'),
-    (0x10C91, 'M', '𐳑'),
-    (0x10C92, 'M', '𐳒'),
-    (0x10C93, 'M', '𐳓'),
-    (0x10C94, 'M', '𐳔'),
-    (0x10C95, 'M', '𐳕'),
-    (0x10C96, 'M', '𐳖'),
-    (0x10C97, 'M', '𐳗'),
-    (0x10C98, 'M', '𐳘'),
-    (0x10C99, 'M', '𐳙'),
-    (0x10C9A, 'M', '𐳚'),
-    (0x10C9B, 'M', '𐳛'),
-    (0x10C9C, 'M', '𐳜'),
-    (0x10C9D, 'M', '𐳝'),
-    (0x10C9E, 'M', '𐳞'),
-    (0x10C9F, 'M', '𐳟'),
-    (0x10CA0, 'M', '𐳠'),
-    (0x10CA1, 'M', '𐳡'),
-    (0x10CA2, 'M', '𐳢'),
-    (0x10CA3, 'M', '𐳣'),
-    (0x10CA4, 'M', '𐳤'),
-    (0x10CA5, 'M', '𐳥'),
-    (0x10CA6, 'M', '𐳦'),
-    (0x10CA7, 'M', '𐳧'),
-    (0x10CA8, 'M', '𐳨'),
-    (0x10CA9, 'M', '𐳩'),
-    (0x10CAA, 'M', '𐳪'),
-    (0x10CAB, 'M', '𐳫'),
-    (0x10CAC, 'M', '𐳬'),
-    (0x10CAD, 'M', '𐳭'),
-    (0x10CAE, 'M', '𐳮'),
-    (0x10CAF, 'M', '𐳯'),
-    (0x10CB0, 'M', '𐳰'),
-    (0x10CB1, 'M', '𐳱'),
-    (0x10CB2, 'M', '𐳲'),
-    (0x10CB3, 'X'),
-    (0x10CC0, 'V'),
-    (0x10CF3, 'X'),
-    (0x10CFA, 'V'),
-    (0x10D28, 'X'),
-    (0x10D30, 'V'),
-    (0x10D3A, 'X'),
-    (0x10E60, 'V'),
-    (0x10E7F, 'X'),
-    (0x10E80, 'V'),
-    (0x10EAA, 'X'),
-    (0x10EAB, 'V'),
-    (0x10EAE, 'X'),
-    (0x10EB0, 'V'),
-    (0x10EB2, 'X'),
-    (0x10EFD, 'V'),
-    (0x10F28, 'X'),
-    (0x10F30, 'V'),
-    (0x10F5A, 'X'),
-    (0x10F70, 'V'),
-    (0x10F8A, 'X'),
-    (0x10FB0, 'V'),
-    (0x10FCC, 'X'),
-    (0x10FE0, 'V'),
-    (0x10FF7, 'X'),
-    (0x11000, 'V'),
-    (0x1104E, 'X'),
-    (0x11052, 'V'),
-    (0x11076, 'X'),
-    (0x1107F, 'V'),
-    (0x110BD, 'X'),
-    (0x110BE, 'V'),
-    (0x110C3, 'X'),
-    (0x110D0, 'V'),
-    (0x110E9, 'X'),
-    (0x110F0, 'V'),
+        (0x10B36, "X"),
+        (0x10B39, "V"),
+        (0x10B56, "X"),
+        (0x10B58, "V"),
+        (0x10B73, "X"),
+        (0x10B78, "V"),
+        (0x10B92, "X"),
+        (0x10B99, "V"),
+        (0x10B9D, "X"),
+        (0x10BA9, "V"),
+        (0x10BB0, "X"),
+        (0x10C00, "V"),
+        (0x10C49, "X"),
+        (0x10C80, "M", "𐳀"),
+        (0x10C81, "M", "𐳁"),
+        (0x10C82, "M", "𐳂"),
+        (0x10C83, "M", "𐳃"),
+        (0x10C84, "M", "𐳄"),
+        (0x10C85, "M", "𐳅"),
+        (0x10C86, "M", "𐳆"),
+        (0x10C87, "M", "𐳇"),
+        (0x10C88, "M", "𐳈"),
+        (0x10C89, "M", "𐳉"),
+        (0x10C8A, "M", "𐳊"),
+        (0x10C8B, "M", "𐳋"),
+        (0x10C8C, "M", "𐳌"),
+        (0x10C8D, "M", "𐳍"),
+        (0x10C8E, "M", "𐳎"),
+        (0x10C8F, "M", "𐳏"),
+        (0x10C90, "M", "𐳐"),
+        (0x10C91, "M", "𐳑"),
+        (0x10C92, "M", "𐳒"),
+        (0x10C93, "M", "𐳓"),
+        (0x10C94, "M", "𐳔"),
+        (0x10C95, "M", "𐳕"),
+        (0x10C96, "M", "𐳖"),
+        (0x10C97, "M", "𐳗"),
+        (0x10C98, "M", "𐳘"),
+        (0x10C99, "M", "𐳙"),
+        (0x10C9A, "M", "𐳚"),
+        (0x10C9B, "M", "𐳛"),
+        (0x10C9C, "M", "𐳜"),
+        (0x10C9D, "M", "𐳝"),
+        (0x10C9E, "M", "𐳞"),
+        (0x10C9F, "M", "𐳟"),
+        (0x10CA0, "M", "𐳠"),
+        (0x10CA1, "M", "𐳡"),
+        (0x10CA2, "M", "𐳢"),
+        (0x10CA3, "M", "𐳣"),
+        (0x10CA4, "M", "𐳤"),
+        (0x10CA5, "M", "𐳥"),
+        (0x10CA6, "M", "𐳦"),
+        (0x10CA7, "M", "𐳧"),
+        (0x10CA8, "M", "𐳨"),
+        (0x10CA9, "M", "𐳩"),
+        (0x10CAA, "M", "𐳪"),
+        (0x10CAB, "M", "𐳫"),
+        (0x10CAC, "M", "𐳬"),
+        (0x10CAD, "M", "𐳭"),
+        (0x10CAE, "M", "𐳮"),
+        (0x10CAF, "M", "𐳯"),
+        (0x10CB0, "M", "𐳰"),
+        (0x10CB1, "M", "𐳱"),
+        (0x10CB2, "M", "𐳲"),
+        (0x10CB3, "X"),
+        (0x10CC0, "V"),
+        (0x10CF3, "X"),
+        (0x10CFA, "V"),
+        (0x10D28, "X"),
+        (0x10D30, "V"),
+        (0x10D3A, "X"),
+        (0x10E60, "V"),
+        (0x10E7F, "X"),
+        (0x10E80, "V"),
+        (0x10EAA, "X"),
+        (0x10EAB, "V"),
+        (0x10EAE, "X"),
+        (0x10EB0, "V"),
+        (0x10EB2, "X"),
+        (0x10EFD, "V"),
+        (0x10F28, "X"),
+        (0x10F30, "V"),
+        (0x10F5A, "X"),
+        (0x10F70, "V"),
+        (0x10F8A, "X"),
+        (0x10FB0, "V"),
+        (0x10FCC, "X"),
+        (0x10FE0, "V"),
+        (0x10FF7, "X"),
+        (0x11000, "V"),
+        (0x1104E, "X"),
+        (0x11052, "V"),
+        (0x11076, "X"),
+        (0x1107F, "V"),
+        (0x110BD, "X"),
+        (0x110BE, "V"),
+        (0x110C3, "X"),
+        (0x110D0, "V"),
+        (0x110E9, "X"),
+        (0x110F0, "V"),
     ]
 
+
 def _seg_57() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x110FA, 'X'),
-    (0x11100, 'V'),
-    (0x11135, 'X'),
-    (0x11136, 'V'),
-    (0x11148, 'X'),
-    (0x11150, 'V'),
-    (0x11177, 'X'),
-    (0x11180, 'V'),
-    (0x111E0, 'X'),
-    (0x111E1, 'V'),
-    (0x111F5, 'X'),
-    (0x11200, 'V'),
-    (0x11212, 'X'),
-    (0x11213, 'V'),
-    (0x11242, 'X'),
-    (0x11280, 'V'),
-    (0x11287, 'X'),
-    (0x11288, 'V'),
-    (0x11289, 'X'),
-    (0x1128A, 'V'),
-    (0x1128E, 'X'),
-    (0x1128F, 'V'),
-    (0x1129E, 'X'),
-    (0x1129F, 'V'),
-    (0x112AA, 'X'),
-    (0x112B0, 'V'),
-    (0x112EB, 'X'),
-    (0x112F0, 'V'),
-    (0x112FA, 'X'),
-    (0x11300, 'V'),
-    (0x11304, 'X'),
-    (0x11305, 'V'),
-    (0x1130D, 'X'),
-    (0x1130F, 'V'),
-    (0x11311, 'X'),
-    (0x11313, 'V'),
-    (0x11329, 'X'),
-    (0x1132A, 'V'),
-    (0x11331, 'X'),
-    (0x11332, 'V'),
-    (0x11334, 'X'),
-    (0x11335, 'V'),
-    (0x1133A, 'X'),
-    (0x1133B, 'V'),
-    (0x11345, 'X'),
-    (0x11347, 'V'),
-    (0x11349, 'X'),
-    (0x1134B, 'V'),
-    (0x1134E, 'X'),
-    (0x11350, 'V'),
-    (0x11351, 'X'),
-    (0x11357, 'V'),
-    (0x11358, 'X'),
-    (0x1135D, 'V'),
-    (0x11364, 'X'),
-    (0x11366, 'V'),
-    (0x1136D, 'X'),
-    (0x11370, 'V'),
-    (0x11375, 'X'),
-    (0x11400, 'V'),
-    (0x1145C, 'X'),
-    (0x1145D, 'V'),
-    (0x11462, 'X'),
-    (0x11480, 'V'),
-    (0x114C8, 'X'),
-    (0x114D0, 'V'),
-    (0x114DA, 'X'),
-    (0x11580, 'V'),
-    (0x115B6, 'X'),
-    (0x115B8, 'V'),
-    (0x115DE, 'X'),
-    (0x11600, 'V'),
-    (0x11645, 'X'),
-    (0x11650, 'V'),
-    (0x1165A, 'X'),
-    (0x11660, 'V'),
-    (0x1166D, 'X'),
-    (0x11680, 'V'),
-    (0x116BA, 'X'),
-    (0x116C0, 'V'),
-    (0x116CA, 'X'),
-    (0x11700, 'V'),
-    (0x1171B, 'X'),
-    (0x1171D, 'V'),
-    (0x1172C, 'X'),
-    (0x11730, 'V'),
-    (0x11747, 'X'),
-    (0x11800, 'V'),
-    (0x1183C, 'X'),
-    (0x118A0, 'M', '𑣀'),
-    (0x118A1, 'M', '𑣁'),
-    (0x118A2, 'M', '𑣂'),
-    (0x118A3, 'M', '𑣃'),
-    (0x118A4, 'M', '𑣄'),
-    (0x118A5, 'M', '𑣅'),
-    (0x118A6, 'M', '𑣆'),
-    (0x118A7, 'M', '𑣇'),
-    (0x118A8, 'M', '𑣈'),
-    (0x118A9, 'M', '𑣉'),
-    (0x118AA, 'M', '𑣊'),
+        (0x110FA, "X"),
+        (0x11100, "V"),
+        (0x11135, "X"),
+        (0x11136, "V"),
+        (0x11148, "X"),
+        (0x11150, "V"),
+        (0x11177, "X"),
+        (0x11180, "V"),
+        (0x111E0, "X"),
+        (0x111E1, "V"),
+        (0x111F5, "X"),
+        (0x11200, "V"),
+        (0x11212, "X"),
+        (0x11213, "V"),
+        (0x11242, "X"),
+        (0x11280, "V"),
+        (0x11287, "X"),
+        (0x11288, "V"),
+        (0x11289, "X"),
+        (0x1128A, "V"),
+        (0x1128E, "X"),
+        (0x1128F, "V"),
+        (0x1129E, "X"),
+        (0x1129F, "V"),
+        (0x112AA, "X"),
+        (0x112B0, "V"),
+        (0x112EB, "X"),
+        (0x112F0, "V"),
+        (0x112FA, "X"),
+        (0x11300, "V"),
+        (0x11304, "X"),
+        (0x11305, "V"),
+        (0x1130D, "X"),
+        (0x1130F, "V"),
+        (0x11311, "X"),
+        (0x11313, "V"),
+        (0x11329, "X"),
+        (0x1132A, "V"),
+        (0x11331, "X"),
+        (0x11332, "V"),
+        (0x11334, "X"),
+        (0x11335, "V"),
+        (0x1133A, "X"),
+        (0x1133B, "V"),
+        (0x11345, "X"),
+        (0x11347, "V"),
+        (0x11349, "X"),
+        (0x1134B, "V"),
+        (0x1134E, "X"),
+        (0x11350, "V"),
+        (0x11351, "X"),
+        (0x11357, "V"),
+        (0x11358, "X"),
+        (0x1135D, "V"),
+        (0x11364, "X"),
+        (0x11366, "V"),
+        (0x1136D, "X"),
+        (0x11370, "V"),
+        (0x11375, "X"),
+        (0x11400, "V"),
+        (0x1145C, "X"),
+        (0x1145D, "V"),
+        (0x11462, "X"),
+        (0x11480, "V"),
+        (0x114C8, "X"),
+        (0x114D0, "V"),
+        (0x114DA, "X"),
+        (0x11580, "V"),
+        (0x115B6, "X"),
+        (0x115B8, "V"),
+        (0x115DE, "X"),
+        (0x11600, "V"),
+        (0x11645, "X"),
+        (0x11650, "V"),
+        (0x1165A, "X"),
+        (0x11660, "V"),
+        (0x1166D, "X"),
+        (0x11680, "V"),
+        (0x116BA, "X"),
+        (0x116C0, "V"),
+        (0x116CA, "X"),
+        (0x11700, "V"),
+        (0x1171B, "X"),
+        (0x1171D, "V"),
+        (0x1172C, "X"),
+        (0x11730, "V"),
+        (0x11747, "X"),
+        (0x11800, "V"),
+        (0x1183C, "X"),
+        (0x118A0, "M", "𑣀"),
+        (0x118A1, "M", "𑣁"),
+        (0x118A2, "M", "𑣂"),
+        (0x118A3, "M", "𑣃"),
+        (0x118A4, "M", "𑣄"),
+        (0x118A5, "M", "𑣅"),
+        (0x118A6, "M", "𑣆"),
+        (0x118A7, "M", "𑣇"),
+        (0x118A8, "M", "𑣈"),
+        (0x118A9, "M", "𑣉"),
+        (0x118AA, "M", "𑣊"),
     ]
 
+
 def _seg_58() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x118AB, 'M', '𑣋'),
-    (0x118AC, 'M', '𑣌'),
-    (0x118AD, 'M', '𑣍'),
-    (0x118AE, 'M', '𑣎'),
-    (0x118AF, 'M', '𑣏'),
-    (0x118B0, 'M', '𑣐'),
-    (0x118B1, 'M', '𑣑'),
-    (0x118B2, 'M', '𑣒'),
-    (0x118B3, 'M', '𑣓'),
-    (0x118B4, 'M', '𑣔'),
-    (0x118B5, 'M', '𑣕'),
-    (0x118B6, 'M', '𑣖'),
-    (0x118B7, 'M', '𑣗'),
-    (0x118B8, 'M', '𑣘'),
-    (0x118B9, 'M', '𑣙'),
-    (0x118BA, 'M', '𑣚'),
-    (0x118BB, 'M', '𑣛'),
-    (0x118BC, 'M', '𑣜'),
-    (0x118BD, 'M', '𑣝'),
-    (0x118BE, 'M', '𑣞'),
-    (0x118BF, 'M', '𑣟'),
-    (0x118C0, 'V'),
-    (0x118F3, 'X'),
-    (0x118FF, 'V'),
-    (0x11907, 'X'),
-    (0x11909, 'V'),
-    (0x1190A, 'X'),
-    (0x1190C, 'V'),
-    (0x11914, 'X'),
-    (0x11915, 'V'),
-    (0x11917, 'X'),
-    (0x11918, 'V'),
-    (0x11936, 'X'),
-    (0x11937, 'V'),
-    (0x11939, 'X'),
-    (0x1193B, 'V'),
-    (0x11947, 'X'),
-    (0x11950, 'V'),
-    (0x1195A, 'X'),
-    (0x119A0, 'V'),
-    (0x119A8, 'X'),
-    (0x119AA, 'V'),
-    (0x119D8, 'X'),
-    (0x119DA, 'V'),
-    (0x119E5, 'X'),
-    (0x11A00, 'V'),
-    (0x11A48, 'X'),
-    (0x11A50, 'V'),
-    (0x11AA3, 'X'),
-    (0x11AB0, 'V'),
-    (0x11AF9, 'X'),
-    (0x11B00, 'V'),
-    (0x11B0A, 'X'),
-    (0x11C00, 'V'),
-    (0x11C09, 'X'),
-    (0x11C0A, 'V'),
-    (0x11C37, 'X'),
-    (0x11C38, 'V'),
-    (0x11C46, 'X'),
-    (0x11C50, 'V'),
-    (0x11C6D, 'X'),
-    (0x11C70, 'V'),
-    (0x11C90, 'X'),
-    (0x11C92, 'V'),
-    (0x11CA8, 'X'),
-    (0x11CA9, 'V'),
-    (0x11CB7, 'X'),
-    (0x11D00, 'V'),
-    (0x11D07, 'X'),
-    (0x11D08, 'V'),
-    (0x11D0A, 'X'),
-    (0x11D0B, 'V'),
-    (0x11D37, 'X'),
-    (0x11D3A, 'V'),
-    (0x11D3B, 'X'),
-    (0x11D3C, 'V'),
-    (0x11D3E, 'X'),
-    (0x11D3F, 'V'),
-    (0x11D48, 'X'),
-    (0x11D50, 'V'),
-    (0x11D5A, 'X'),
-    (0x11D60, 'V'),
-    (0x11D66, 'X'),
-    (0x11D67, 'V'),
-    (0x11D69, 'X'),
-    (0x11D6A, 'V'),
-    (0x11D8F, 'X'),
-    (0x11D90, 'V'),
-    (0x11D92, 'X'),
-    (0x11D93, 'V'),
-    (0x11D99, 'X'),
-    (0x11DA0, 'V'),
-    (0x11DAA, 'X'),
-    (0x11EE0, 'V'),
-    (0x11EF9, 'X'),
-    (0x11F00, 'V'),
-    (0x11F11, 'X'),
-    (0x11F12, 'V'),
-    (0x11F3B, 'X'),
-    (0x11F3E, 'V'),
+        (0x118AB, "M", "𑣋"),
+        (0x118AC, "M", "𑣌"),
+        (0x118AD, "M", "𑣍"),
+        (0x118AE, "M", "𑣎"),
+        (0x118AF, "M", "𑣏"),
+        (0x118B0, "M", "𑣐"),
+        (0x118B1, "M", "𑣑"),
+        (0x118B2, "M", "𑣒"),
+        (0x118B3, "M", "𑣓"),
+        (0x118B4, "M", "𑣔"),
+        (0x118B5, "M", "𑣕"),
+        (0x118B6, "M", "𑣖"),
+        (0x118B7, "M", "𑣗"),
+        (0x118B8, "M", "𑣘"),
+        (0x118B9, "M", "𑣙"),
+        (0x118BA, "M", "𑣚"),
+        (0x118BB, "M", "𑣛"),
+        (0x118BC, "M", "𑣜"),
+        (0x118BD, "M", "𑣝"),
+        (0x118BE, "M", "𑣞"),
+        (0x118BF, "M", "𑣟"),
+        (0x118C0, "V"),
+        (0x118F3, "X"),
+        (0x118FF, "V"),
+        (0x11907, "X"),
+        (0x11909, "V"),
+        (0x1190A, "X"),
+        (0x1190C, "V"),
+        (0x11914, "X"),
+        (0x11915, "V"),
+        (0x11917, "X"),
+        (0x11918, "V"),
+        (0x11936, "X"),
+        (0x11937, "V"),
+        (0x11939, "X"),
+        (0x1193B, "V"),
+        (0x11947, "X"),
+        (0x11950, "V"),
+        (0x1195A, "X"),
+        (0x119A0, "V"),
+        (0x119A8, "X"),
+        (0x119AA, "V"),
+        (0x119D8, "X"),
+        (0x119DA, "V"),
+        (0x119E5, "X"),
+        (0x11A00, "V"),
+        (0x11A48, "X"),
+        (0x11A50, "V"),
+        (0x11AA3, "X"),
+        (0x11AB0, "V"),
+        (0x11AF9, "X"),
+        (0x11B00, "V"),
+        (0x11B0A, "X"),
+        (0x11C00, "V"),
+        (0x11C09, "X"),
+        (0x11C0A, "V"),
+        (0x11C37, "X"),
+        (0x11C38, "V"),
+        (0x11C46, "X"),
+        (0x11C50, "V"),
+        (0x11C6D, "X"),
+        (0x11C70, "V"),
+        (0x11C90, "X"),
+        (0x11C92, "V"),
+        (0x11CA8, "X"),
+        (0x11CA9, "V"),
+        (0x11CB7, "X"),
+        (0x11D00, "V"),
+        (0x11D07, "X"),
+        (0x11D08, "V"),
+        (0x11D0A, "X"),
+        (0x11D0B, "V"),
+        (0x11D37, "X"),
+        (0x11D3A, "V"),
+        (0x11D3B, "X"),
+        (0x11D3C, "V"),
+        (0x11D3E, "X"),
+        (0x11D3F, "V"),
+        (0x11D48, "X"),
+        (0x11D50, "V"),
+        (0x11D5A, "X"),
+        (0x11D60, "V"),
+        (0x11D66, "X"),
+        (0x11D67, "V"),
+        (0x11D69, "X"),
+        (0x11D6A, "V"),
+        (0x11D8F, "X"),
+        (0x11D90, "V"),
+        (0x11D92, "X"),
+        (0x11D93, "V"),
+        (0x11D99, "X"),
+        (0x11DA0, "V"),
+        (0x11DAA, "X"),
+        (0x11EE0, "V"),
+        (0x11EF9, "X"),
+        (0x11F00, "V"),
+        (0x11F11, "X"),
+        (0x11F12, "V"),
+        (0x11F3B, "X"),
+        (0x11F3E, "V"),
     ]
 
+
 def _seg_59() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x11F5A, 'X'),
-    (0x11FB0, 'V'),
-    (0x11FB1, 'X'),
-    (0x11FC0, 'V'),
-    (0x11FF2, 'X'),
-    (0x11FFF, 'V'),
-    (0x1239A, 'X'),
-    (0x12400, 'V'),
-    (0x1246F, 'X'),
-    (0x12470, 'V'),
-    (0x12475, 'X'),
-    (0x12480, 'V'),
-    (0x12544, 'X'),
-    (0x12F90, 'V'),
-    (0x12FF3, 'X'),
-    (0x13000, 'V'),
-    (0x13430, 'X'),
-    (0x13440, 'V'),
-    (0x13456, 'X'),
-    (0x14400, 'V'),
-    (0x14647, 'X'),
-    (0x16800, 'V'),
-    (0x16A39, 'X'),
-    (0x16A40, 'V'),
-    (0x16A5F, 'X'),
-    (0x16A60, 'V'),
-    (0x16A6A, 'X'),
-    (0x16A6E, 'V'),
-    (0x16ABF, 'X'),
-    (0x16AC0, 'V'),
-    (0x16ACA, 'X'),
-    (0x16AD0, 'V'),
-    (0x16AEE, 'X'),
-    (0x16AF0, 'V'),
-    (0x16AF6, 'X'),
-    (0x16B00, 'V'),
-    (0x16B46, 'X'),
-    (0x16B50, 'V'),
-    (0x16B5A, 'X'),
-    (0x16B5B, 'V'),
-    (0x16B62, 'X'),
-    (0x16B63, 'V'),
-    (0x16B78, 'X'),
-    (0x16B7D, 'V'),
-    (0x16B90, 'X'),
-    (0x16E40, 'M', '𖹠'),
-    (0x16E41, 'M', '𖹡'),
-    (0x16E42, 'M', '𖹢'),
-    (0x16E43, 'M', '𖹣'),
-    (0x16E44, 'M', '𖹤'),
-    (0x16E45, 'M', '𖹥'),
-    (0x16E46, 'M', '𖹦'),
-    (0x16E47, 'M', '𖹧'),
-    (0x16E48, 'M', '𖹨'),
-    (0x16E49, 'M', '𖹩'),
-    (0x16E4A, 'M', '𖹪'),
-    (0x16E4B, 'M', '𖹫'),
-    (0x16E4C, 'M', '𖹬'),
-    (0x16E4D, 'M', '𖹭'),
-    (0x16E4E, 'M', '𖹮'),
-    (0x16E4F, 'M', '𖹯'),
-    (0x16E50, 'M', '𖹰'),
-    (0x16E51, 'M', '𖹱'),
-    (0x16E52, 'M', '𖹲'),
-    (0x16E53, 'M', '𖹳'),
-    (0x16E54, 'M', '𖹴'),
-    (0x16E55, 'M', '𖹵'),
-    (0x16E56, 'M', '𖹶'),
-    (0x16E57, 'M', '𖹷'),
-    (0x16E58, 'M', '𖹸'),
-    (0x16E59, 'M', '𖹹'),
-    (0x16E5A, 'M', '𖹺'),
-    (0x16E5B, 'M', '𖹻'),
-    (0x16E5C, 'M', '𖹼'),
-    (0x16E5D, 'M', '𖹽'),
-    (0x16E5E, 'M', '𖹾'),
-    (0x16E5F, 'M', '𖹿'),
-    (0x16E60, 'V'),
-    (0x16E9B, 'X'),
-    (0x16F00, 'V'),
-    (0x16F4B, 'X'),
-    (0x16F4F, 'V'),
-    (0x16F88, 'X'),
-    (0x16F8F, 'V'),
-    (0x16FA0, 'X'),
-    (0x16FE0, 'V'),
-    (0x16FE5, 'X'),
-    (0x16FF0, 'V'),
-    (0x16FF2, 'X'),
-    (0x17000, 'V'),
-    (0x187F8, 'X'),
-    (0x18800, 'V'),
-    (0x18CD6, 'X'),
-    (0x18D00, 'V'),
-    (0x18D09, 'X'),
-    (0x1AFF0, 'V'),
-    (0x1AFF4, 'X'),
-    (0x1AFF5, 'V'),
-    (0x1AFFC, 'X'),
-    (0x1AFFD, 'V'),
+        (0x11F5A, "X"),
+        (0x11FB0, "V"),
+        (0x11FB1, "X"),
+        (0x11FC0, "V"),
+        (0x11FF2, "X"),
+        (0x11FFF, "V"),
+        (0x1239A, "X"),
+        (0x12400, "V"),
+        (0x1246F, "X"),
+        (0x12470, "V"),
+        (0x12475, "X"),
+        (0x12480, "V"),
+        (0x12544, "X"),
+        (0x12F90, "V"),
+        (0x12FF3, "X"),
+        (0x13000, "V"),
+        (0x13430, "X"),
+        (0x13440, "V"),
+        (0x13456, "X"),
+        (0x14400, "V"),
+        (0x14647, "X"),
+        (0x16800, "V"),
+        (0x16A39, "X"),
+        (0x16A40, "V"),
+        (0x16A5F, "X"),
+        (0x16A60, "V"),
+        (0x16A6A, "X"),
+        (0x16A6E, "V"),
+        (0x16ABF, "X"),
+        (0x16AC0, "V"),
+        (0x16ACA, "X"),
+        (0x16AD0, "V"),
+        (0x16AEE, "X"),
+        (0x16AF0, "V"),
+        (0x16AF6, "X"),
+        (0x16B00, "V"),
+        (0x16B46, "X"),
+        (0x16B50, "V"),
+        (0x16B5A, "X"),
+        (0x16B5B, "V"),
+        (0x16B62, "X"),
+        (0x16B63, "V"),
+        (0x16B78, "X"),
+        (0x16B7D, "V"),
+        (0x16B90, "X"),
+        (0x16E40, "M", "𖹠"),
+        (0x16E41, "M", "𖹡"),
+        (0x16E42, "M", "𖹢"),
+        (0x16E43, "M", "𖹣"),
+        (0x16E44, "M", "𖹤"),
+        (0x16E45, "M", "𖹥"),
+        (0x16E46, "M", "𖹦"),
+        (0x16E47, "M", "𖹧"),
+        (0x16E48, "M", "𖹨"),
+        (0x16E49, "M", "𖹩"),
+        (0x16E4A, "M", "𖹪"),
+        (0x16E4B, "M", "𖹫"),
+        (0x16E4C, "M", "𖹬"),
+        (0x16E4D, "M", "𖹭"),
+        (0x16E4E, "M", "𖹮"),
+        (0x16E4F, "M", "𖹯"),
+        (0x16E50, "M", "𖹰"),
+        (0x16E51, "M", "𖹱"),
+        (0x16E52, "M", "𖹲"),
+        (0x16E53, "M", "𖹳"),
+        (0x16E54, "M", "𖹴"),
+        (0x16E55, "M", "𖹵"),
+        (0x16E56, "M", "𖹶"),
+        (0x16E57, "M", "𖹷"),
+        (0x16E58, "M", "𖹸"),
+        (0x16E59, "M", "𖹹"),
+        (0x16E5A, "M", "𖹺"),
+        (0x16E5B, "M", "𖹻"),
+        (0x16E5C, "M", "𖹼"),
+        (0x16E5D, "M", "𖹽"),
+        (0x16E5E, "M", "𖹾"),
+        (0x16E5F, "M", "𖹿"),
+        (0x16E60, "V"),
+        (0x16E9B, "X"),
+        (0x16F00, "V"),
+        (0x16F4B, "X"),
+        (0x16F4F, "V"),
+        (0x16F88, "X"),
+        (0x16F8F, "V"),
+        (0x16FA0, "X"),
+        (0x16FE0, "V"),
+        (0x16FE5, "X"),
+        (0x16FF0, "V"),
+        (0x16FF2, "X"),
+        (0x17000, "V"),
+        (0x187F8, "X"),
+        (0x18800, "V"),
+        (0x18CD6, "X"),
+        (0x18D00, "V"),
+        (0x18D09, "X"),
+        (0x1AFF0, "V"),
+        (0x1AFF4, "X"),
+        (0x1AFF5, "V"),
+        (0x1AFFC, "X"),
+        (0x1AFFD, "V"),
     ]
 
+
 def _seg_60() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1AFFF, 'X'),
-    (0x1B000, 'V'),
-    (0x1B123, 'X'),
-    (0x1B132, 'V'),
-    (0x1B133, 'X'),
-    (0x1B150, 'V'),
-    (0x1B153, 'X'),
-    (0x1B155, 'V'),
-    (0x1B156, 'X'),
-    (0x1B164, 'V'),
-    (0x1B168, 'X'),
-    (0x1B170, 'V'),
-    (0x1B2FC, 'X'),
-    (0x1BC00, 'V'),
-    (0x1BC6B, 'X'),
-    (0x1BC70, 'V'),
-    (0x1BC7D, 'X'),
-    (0x1BC80, 'V'),
-    (0x1BC89, 'X'),
-    (0x1BC90, 'V'),
-    (0x1BC9A, 'X'),
-    (0x1BC9C, 'V'),
-    (0x1BCA0, 'I'),
-    (0x1BCA4, 'X'),
-    (0x1CF00, 'V'),
-    (0x1CF2E, 'X'),
-    (0x1CF30, 'V'),
-    (0x1CF47, 'X'),
-    (0x1CF50, 'V'),
-    (0x1CFC4, 'X'),
-    (0x1D000, 'V'),
-    (0x1D0F6, 'X'),
-    (0x1D100, 'V'),
-    (0x1D127, 'X'),
-    (0x1D129, 'V'),
-    (0x1D15E, 'M', '𝅗𝅥'),
-    (0x1D15F, 'M', '𝅘𝅥'),
-    (0x1D160, 'M', '𝅘𝅥𝅮'),
-    (0x1D161, 'M', '𝅘𝅥𝅯'),
-    (0x1D162, 'M', '𝅘𝅥𝅰'),
-    (0x1D163, 'M', '𝅘𝅥𝅱'),
-    (0x1D164, 'M', '𝅘𝅥𝅲'),
-    (0x1D165, 'V'),
-    (0x1D173, 'X'),
-    (0x1D17B, 'V'),
-    (0x1D1BB, 'M', '𝆹𝅥'),
-    (0x1D1BC, 'M', '𝆺𝅥'),
-    (0x1D1BD, 'M', '𝆹𝅥𝅮'),
-    (0x1D1BE, 'M', '𝆺𝅥𝅮'),
-    (0x1D1BF, 'M', '𝆹𝅥𝅯'),
-    (0x1D1C0, 'M', '𝆺𝅥𝅯'),
-    (0x1D1C1, 'V'),
-    (0x1D1EB, 'X'),
-    (0x1D200, 'V'),
-    (0x1D246, 'X'),
-    (0x1D2C0, 'V'),
-    (0x1D2D4, 'X'),
-    (0x1D2E0, 'V'),
-    (0x1D2F4, 'X'),
-    (0x1D300, 'V'),
-    (0x1D357, 'X'),
-    (0x1D360, 'V'),
-    (0x1D379, 'X'),
-    (0x1D400, 'M', 'a'),
-    (0x1D401, 'M', 'b'),
-    (0x1D402, 'M', 'c'),
-    (0x1D403, 'M', 'd'),
-    (0x1D404, 'M', 'e'),
-    (0x1D405, 'M', 'f'),
-    (0x1D406, 'M', 'g'),
-    (0x1D407, 'M', 'h'),
-    (0x1D408, 'M', 'i'),
-    (0x1D409, 'M', 'j'),
-    (0x1D40A, 'M', 'k'),
-    (0x1D40B, 'M', 'l'),
-    (0x1D40C, 'M', 'm'),
-    (0x1D40D, 'M', 'n'),
-    (0x1D40E, 'M', 'o'),
-    (0x1D40F, 'M', 'p'),
-    (0x1D410, 'M', 'q'),
-    (0x1D411, 'M', 'r'),
-    (0x1D412, 'M', 's'),
-    (0x1D413, 'M', 't'),
-    (0x1D414, 'M', 'u'),
-    (0x1D415, 'M', 'v'),
-    (0x1D416, 'M', 'w'),
-    (0x1D417, 'M', 'x'),
-    (0x1D418, 'M', 'y'),
-    (0x1D419, 'M', 'z'),
-    (0x1D41A, 'M', 'a'),
-    (0x1D41B, 'M', 'b'),
-    (0x1D41C, 'M', 'c'),
-    (0x1D41D, 'M', 'd'),
-    (0x1D41E, 'M', 'e'),
-    (0x1D41F, 'M', 'f'),
-    (0x1D420, 'M', 'g'),
-    (0x1D421, 'M', 'h'),
-    (0x1D422, 'M', 'i'),
-    (0x1D423, 'M', 'j'),
-    (0x1D424, 'M', 'k'),
+        (0x1AFFF, "X"),
+        (0x1B000, "V"),
+        (0x1B123, "X"),
+        (0x1B132, "V"),
+        (0x1B133, "X"),
+        (0x1B150, "V"),
+        (0x1B153, "X"),
+        (0x1B155, "V"),
+        (0x1B156, "X"),
+        (0x1B164, "V"),
+        (0x1B168, "X"),
+        (0x1B170, "V"),
+        (0x1B2FC, "X"),
+        (0x1BC00, "V"),
+        (0x1BC6B, "X"),
+        (0x1BC70, "V"),
+        (0x1BC7D, "X"),
+        (0x1BC80, "V"),
+        (0x1BC89, "X"),
+        (0x1BC90, "V"),
+        (0x1BC9A, "X"),
+        (0x1BC9C, "V"),
+        (0x1BCA0, "I"),
+        (0x1BCA4, "X"),
+        (0x1CF00, "V"),
+        (0x1CF2E, "X"),
+        (0x1CF30, "V"),
+        (0x1CF47, "X"),
+        (0x1CF50, "V"),
+        (0x1CFC4, "X"),
+        (0x1D000, "V"),
+        (0x1D0F6, "X"),
+        (0x1D100, "V"),
+        (0x1D127, "X"),
+        (0x1D129, "V"),
+        (0x1D15E, "M", "𝅗𝅥"),
+        (0x1D15F, "M", "𝅘𝅥"),
+        (0x1D160, "M", "𝅘𝅥𝅮"),
+        (0x1D161, "M", "𝅘𝅥𝅯"),
+        (0x1D162, "M", "𝅘𝅥𝅰"),
+        (0x1D163, "M", "𝅘𝅥𝅱"),
+        (0x1D164, "M", "𝅘𝅥𝅲"),
+        (0x1D165, "V"),
+        (0x1D173, "X"),
+        (0x1D17B, "V"),
+        (0x1D1BB, "M", "𝆹𝅥"),
+        (0x1D1BC, "M", "𝆺𝅥"),
+        (0x1D1BD, "M", "𝆹𝅥𝅮"),
+        (0x1D1BE, "M", "𝆺𝅥𝅮"),
+        (0x1D1BF, "M", "𝆹𝅥𝅯"),
+        (0x1D1C0, "M", "𝆺𝅥𝅯"),
+        (0x1D1C1, "V"),
+        (0x1D1EB, "X"),
+        (0x1D200, "V"),
+        (0x1D246, "X"),
+        (0x1D2C0, "V"),
+        (0x1D2D4, "X"),
+        (0x1D2E0, "V"),
+        (0x1D2F4, "X"),
+        (0x1D300, "V"),
+        (0x1D357, "X"),
+        (0x1D360, "V"),
+        (0x1D379, "X"),
+        (0x1D400, "M", "a"),
+        (0x1D401, "M", "b"),
+        (0x1D402, "M", "c"),
+        (0x1D403, "M", "d"),
+        (0x1D404, "M", "e"),
+        (0x1D405, "M", "f"),
+        (0x1D406, "M", "g"),
+        (0x1D407, "M", "h"),
+        (0x1D408, "M", "i"),
+        (0x1D409, "M", "j"),
+        (0x1D40A, "M", "k"),
+        (0x1D40B, "M", "l"),
+        (0x1D40C, "M", "m"),
+        (0x1D40D, "M", "n"),
+        (0x1D40E, "M", "o"),
+        (0x1D40F, "M", "p"),
+        (0x1D410, "M", "q"),
+        (0x1D411, "M", "r"),
+        (0x1D412, "M", "s"),
+        (0x1D413, "M", "t"),
+        (0x1D414, "M", "u"),
+        (0x1D415, "M", "v"),
+        (0x1D416, "M", "w"),
+        (0x1D417, "M", "x"),
+        (0x1D418, "M", "y"),
+        (0x1D419, "M", "z"),
+        (0x1D41A, "M", "a"),
+        (0x1D41B, "M", "b"),
+        (0x1D41C, "M", "c"),
+        (0x1D41D, "M", "d"),
+        (0x1D41E, "M", "e"),
+        (0x1D41F, "M", "f"),
+        (0x1D420, "M", "g"),
+        (0x1D421, "M", "h"),
+        (0x1D422, "M", "i"),
+        (0x1D423, "M", "j"),
+        (0x1D424, "M", "k"),
     ]
 
+
 def _seg_61() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1D425, 'M', 'l'),
-    (0x1D426, 'M', 'm'),
-    (0x1D427, 'M', 'n'),
-    (0x1D428, 'M', 'o'),
-    (0x1D429, 'M', 'p'),
-    (0x1D42A, 'M', 'q'),
-    (0x1D42B, 'M', 'r'),
-    (0x1D42C, 'M', 's'),
-    (0x1D42D, 'M', 't'),
-    (0x1D42E, 'M', 'u'),
-    (0x1D42F, 'M', 'v'),
-    (0x1D430, 'M', 'w'),
-    (0x1D431, 'M', 'x'),
-    (0x1D432, 'M', 'y'),
-    (0x1D433, 'M', 'z'),
-    (0x1D434, 'M', 'a'),
-    (0x1D435, 'M', 'b'),
-    (0x1D436, 'M', 'c'),
-    (0x1D437, 'M', 'd'),
-    (0x1D438, 'M', 'e'),
-    (0x1D439, 'M', 'f'),
-    (0x1D43A, 'M', 'g'),
-    (0x1D43B, 'M', 'h'),
-    (0x1D43C, 'M', 'i'),
-    (0x1D43D, 'M', 'j'),
-    (0x1D43E, 'M', 'k'),
-    (0x1D43F, 'M', 'l'),
-    (0x1D440, 'M', 'm'),
-    (0x1D441, 'M', 'n'),
-    (0x1D442, 'M', 'o'),
-    (0x1D443, 'M', 'p'),
-    (0x1D444, 'M', 'q'),
-    (0x1D445, 'M', 'r'),
-    (0x1D446, 'M', 's'),
-    (0x1D447, 'M', 't'),
-    (0x1D448, 'M', 'u'),
-    (0x1D449, 'M', 'v'),
-    (0x1D44A, 'M', 'w'),
-    (0x1D44B, 'M', 'x'),
-    (0x1D44C, 'M', 'y'),
-    (0x1D44D, 'M', 'z'),
-    (0x1D44E, 'M', 'a'),
-    (0x1D44F, 'M', 'b'),
-    (0x1D450, 'M', 'c'),
-    (0x1D451, 'M', 'd'),
-    (0x1D452, 'M', 'e'),
-    (0x1D453, 'M', 'f'),
-    (0x1D454, 'M', 'g'),
-    (0x1D455, 'X'),
-    (0x1D456, 'M', 'i'),
-    (0x1D457, 'M', 'j'),
-    (0x1D458, 'M', 'k'),
-    (0x1D459, 'M', 'l'),
-    (0x1D45A, 'M', 'm'),
-    (0x1D45B, 'M', 'n'),
-    (0x1D45C, 'M', 'o'),
-    (0x1D45D, 'M', 'p'),
-    (0x1D45E, 'M', 'q'),
-    (0x1D45F, 'M', 'r'),
-    (0x1D460, 'M', 's'),
-    (0x1D461, 'M', 't'),
-    (0x1D462, 'M', 'u'),
-    (0x1D463, 'M', 'v'),
-    (0x1D464, 'M', 'w'),
-    (0x1D465, 'M', 'x'),
-    (0x1D466, 'M', 'y'),
-    (0x1D467, 'M', 'z'),
-    (0x1D468, 'M', 'a'),
-    (0x1D469, 'M', 'b'),
-    (0x1D46A, 'M', 'c'),
-    (0x1D46B, 'M', 'd'),
-    (0x1D46C, 'M', 'e'),
-    (0x1D46D, 'M', 'f'),
-    (0x1D46E, 'M', 'g'),
-    (0x1D46F, 'M', 'h'),
-    (0x1D470, 'M', 'i'),
-    (0x1D471, 'M', 'j'),
-    (0x1D472, 'M', 'k'),
-    (0x1D473, 'M', 'l'),
-    (0x1D474, 'M', 'm'),
-    (0x1D475, 'M', 'n'),
-    (0x1D476, 'M', 'o'),
-    (0x1D477, 'M', 'p'),
-    (0x1D478, 'M', 'q'),
-    (0x1D479, 'M', 'r'),
-    (0x1D47A, 'M', 's'),
-    (0x1D47B, 'M', 't'),
-    (0x1D47C, 'M', 'u'),
-    (0x1D47D, 'M', 'v'),
-    (0x1D47E, 'M', 'w'),
-    (0x1D47F, 'M', 'x'),
-    (0x1D480, 'M', 'y'),
-    (0x1D481, 'M', 'z'),
-    (0x1D482, 'M', 'a'),
-    (0x1D483, 'M', 'b'),
-    (0x1D484, 'M', 'c'),
-    (0x1D485, 'M', 'd'),
-    (0x1D486, 'M', 'e'),
-    (0x1D487, 'M', 'f'),
-    (0x1D488, 'M', 'g'),
+        (0x1D425, "M", "l"),
+        (0x1D426, "M", "m"),
+        (0x1D427, "M", "n"),
+        (0x1D428, "M", "o"),
+        (0x1D429, "M", "p"),
+        (0x1D42A, "M", "q"),
+        (0x1D42B, "M", "r"),
+        (0x1D42C, "M", "s"),
+        (0x1D42D, "M", "t"),
+        (0x1D42E, "M", "u"),
+        (0x1D42F, "M", "v"),
+        (0x1D430, "M", "w"),
+        (0x1D431, "M", "x"),
+        (0x1D432, "M", "y"),
+        (0x1D433, "M", "z"),
+        (0x1D434, "M", "a"),
+        (0x1D435, "M", "b"),
+        (0x1D436, "M", "c"),
+        (0x1D437, "M", "d"),
+        (0x1D438, "M", "e"),
+        (0x1D439, "M", "f"),
+        (0x1D43A, "M", "g"),
+        (0x1D43B, "M", "h"),
+        (0x1D43C, "M", "i"),
+        (0x1D43D, "M", "j"),
+        (0x1D43E, "M", "k"),
+        (0x1D43F, "M", "l"),
+        (0x1D440, "M", "m"),
+        (0x1D441, "M", "n"),
+        (0x1D442, "M", "o"),
+        (0x1D443, "M", "p"),
+        (0x1D444, "M", "q"),
+        (0x1D445, "M", "r"),
+        (0x1D446, "M", "s"),
+        (0x1D447, "M", "t"),
+        (0x1D448, "M", "u"),
+        (0x1D449, "M", "v"),
+        (0x1D44A, "M", "w"),
+        (0x1D44B, "M", "x"),
+        (0x1D44C, "M", "y"),
+        (0x1D44D, "M", "z"),
+        (0x1D44E, "M", "a"),
+        (0x1D44F, "M", "b"),
+        (0x1D450, "M", "c"),
+        (0x1D451, "M", "d"),
+        (0x1D452, "M", "e"),
+        (0x1D453, "M", "f"),
+        (0x1D454, "M", "g"),
+        (0x1D455, "X"),
+        (0x1D456, "M", "i"),
+        (0x1D457, "M", "j"),
+        (0x1D458, "M", "k"),
+        (0x1D459, "M", "l"),
+        (0x1D45A, "M", "m"),
+        (0x1D45B, "M", "n"),
+        (0x1D45C, "M", "o"),
+        (0x1D45D, "M", "p"),
+        (0x1D45E, "M", "q"),
+        (0x1D45F, "M", "r"),
+        (0x1D460, "M", "s"),
+        (0x1D461, "M", "t"),
+        (0x1D462, "M", "u"),
+        (0x1D463, "M", "v"),
+        (0x1D464, "M", "w"),
+        (0x1D465, "M", "x"),
+        (0x1D466, "M", "y"),
+        (0x1D467, "M", "z"),
+        (0x1D468, "M", "a"),
+        (0x1D469, "M", "b"),
+        (0x1D46A, "M", "c"),
+        (0x1D46B, "M", "d"),
+        (0x1D46C, "M", "e"),
+        (0x1D46D, "M", "f"),
+        (0x1D46E, "M", "g"),
+        (0x1D46F, "M", "h"),
+        (0x1D470, "M", "i"),
+        (0x1D471, "M", "j"),
+        (0x1D472, "M", "k"),
+        (0x1D473, "M", "l"),
+        (0x1D474, "M", "m"),
+        (0x1D475, "M", "n"),
+        (0x1D476, "M", "o"),
+        (0x1D477, "M", "p"),
+        (0x1D478, "M", "q"),
+        (0x1D479, "M", "r"),
+        (0x1D47A, "M", "s"),
+        (0x1D47B, "M", "t"),
+        (0x1D47C, "M", "u"),
+        (0x1D47D, "M", "v"),
+        (0x1D47E, "M", "w"),
+        (0x1D47F, "M", "x"),
+        (0x1D480, "M", "y"),
+        (0x1D481, "M", "z"),
+        (0x1D482, "M", "a"),
+        (0x1D483, "M", "b"),
+        (0x1D484, "M", "c"),
+        (0x1D485, "M", "d"),
+        (0x1D486, "M", "e"),
+        (0x1D487, "M", "f"),
+        (0x1D488, "M", "g"),
     ]
 
+
 def _seg_62() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1D489, 'M', 'h'),
-    (0x1D48A, 'M', 'i'),
-    (0x1D48B, 'M', 'j'),
-    (0x1D48C, 'M', 'k'),
-    (0x1D48D, 'M', 'l'),
-    (0x1D48E, 'M', 'm'),
-    (0x1D48F, 'M', 'n'),
-    (0x1D490, 'M', 'o'),
-    (0x1D491, 'M', 'p'),
-    (0x1D492, 'M', 'q'),
-    (0x1D493, 'M', 'r'),
-    (0x1D494, 'M', 's'),
-    (0x1D495, 'M', 't'),
-    (0x1D496, 'M', 'u'),
-    (0x1D497, 'M', 'v'),
-    (0x1D498, 'M', 'w'),
-    (0x1D499, 'M', 'x'),
-    (0x1D49A, 'M', 'y'),
-    (0x1D49B, 'M', 'z'),
-    (0x1D49C, 'M', 'a'),
-    (0x1D49D, 'X'),
-    (0x1D49E, 'M', 'c'),
-    (0x1D49F, 'M', 'd'),
-    (0x1D4A0, 'X'),
-    (0x1D4A2, 'M', 'g'),
-    (0x1D4A3, 'X'),
-    (0x1D4A5, 'M', 'j'),
-    (0x1D4A6, 'M', 'k'),
-    (0x1D4A7, 'X'),
-    (0x1D4A9, 'M', 'n'),
-    (0x1D4AA, 'M', 'o'),
-    (0x1D4AB, 'M', 'p'),
-    (0x1D4AC, 'M', 'q'),
-    (0x1D4AD, 'X'),
-    (0x1D4AE, 'M', 's'),
-    (0x1D4AF, 'M', 't'),
-    (0x1D4B0, 'M', 'u'),
-    (0x1D4B1, 'M', 'v'),
-    (0x1D4B2, 'M', 'w'),
-    (0x1D4B3, 'M', 'x'),
-    (0x1D4B4, 'M', 'y'),
-    (0x1D4B5, 'M', 'z'),
-    (0x1D4B6, 'M', 'a'),
-    (0x1D4B7, 'M', 'b'),
-    (0x1D4B8, 'M', 'c'),
-    (0x1D4B9, 'M', 'd'),
-    (0x1D4BA, 'X'),
-    (0x1D4BB, 'M', 'f'),
-    (0x1D4BC, 'X'),
-    (0x1D4BD, 'M', 'h'),
-    (0x1D4BE, 'M', 'i'),
-    (0x1D4BF, 'M', 'j'),
-    (0x1D4C0, 'M', 'k'),
-    (0x1D4C1, 'M', 'l'),
-    (0x1D4C2, 'M', 'm'),
-    (0x1D4C3, 'M', 'n'),
-    (0x1D4C4, 'X'),
-    (0x1D4C5, 'M', 'p'),
-    (0x1D4C6, 'M', 'q'),
-    (0x1D4C7, 'M', 'r'),
-    (0x1D4C8, 'M', 's'),
-    (0x1D4C9, 'M', 't'),
-    (0x1D4CA, 'M', 'u'),
-    (0x1D4CB, 'M', 'v'),
-    (0x1D4CC, 'M', 'w'),
-    (0x1D4CD, 'M', 'x'),
-    (0x1D4CE, 'M', 'y'),
-    (0x1D4CF, 'M', 'z'),
-    (0x1D4D0, 'M', 'a'),
-    (0x1D4D1, 'M', 'b'),
-    (0x1D4D2, 'M', 'c'),
-    (0x1D4D3, 'M', 'd'),
-    (0x1D4D4, 'M', 'e'),
-    (0x1D4D5, 'M', 'f'),
-    (0x1D4D6, 'M', 'g'),
-    (0x1D4D7, 'M', 'h'),
-    (0x1D4D8, 'M', 'i'),
-    (0x1D4D9, 'M', 'j'),
-    (0x1D4DA, 'M', 'k'),
-    (0x1D4DB, 'M', 'l'),
-    (0x1D4DC, 'M', 'm'),
-    (0x1D4DD, 'M', 'n'),
-    (0x1D4DE, 'M', 'o'),
-    (0x1D4DF, 'M', 'p'),
-    (0x1D4E0, 'M', 'q'),
-    (0x1D4E1, 'M', 'r'),
-    (0x1D4E2, 'M', 's'),
-    (0x1D4E3, 'M', 't'),
-    (0x1D4E4, 'M', 'u'),
-    (0x1D4E5, 'M', 'v'),
-    (0x1D4E6, 'M', 'w'),
-    (0x1D4E7, 'M', 'x'),
-    (0x1D4E8, 'M', 'y'),
-    (0x1D4E9, 'M', 'z'),
-    (0x1D4EA, 'M', 'a'),
-    (0x1D4EB, 'M', 'b'),
-    (0x1D4EC, 'M', 'c'),
-    (0x1D4ED, 'M', 'd'),
-    (0x1D4EE, 'M', 'e'),
-    (0x1D4EF, 'M', 'f'),
+        (0x1D489, "M", "h"),
+        (0x1D48A, "M", "i"),
+        (0x1D48B, "M", "j"),
+        (0x1D48C, "M", "k"),
+        (0x1D48D, "M", "l"),
+        (0x1D48E, "M", "m"),
+        (0x1D48F, "M", "n"),
+        (0x1D490, "M", "o"),
+        (0x1D491, "M", "p"),
+        (0x1D492, "M", "q"),
+        (0x1D493, "M", "r"),
+        (0x1D494, "M", "s"),
+        (0x1D495, "M", "t"),
+        (0x1D496, "M", "u"),
+        (0x1D497, "M", "v"),
+        (0x1D498, "M", "w"),
+        (0x1D499, "M", "x"),
+        (0x1D49A, "M", "y"),
+        (0x1D49B, "M", "z"),
+        (0x1D49C, "M", "a"),
+        (0x1D49D, "X"),
+        (0x1D49E, "M", "c"),
+        (0x1D49F, "M", "d"),
+        (0x1D4A0, "X"),
+        (0x1D4A2, "M", "g"),
+        (0x1D4A3, "X"),
+        (0x1D4A5, "M", "j"),
+        (0x1D4A6, "M", "k"),
+        (0x1D4A7, "X"),
+        (0x1D4A9, "M", "n"),
+        (0x1D4AA, "M", "o"),
+        (0x1D4AB, "M", "p"),
+        (0x1D4AC, "M", "q"),
+        (0x1D4AD, "X"),
+        (0x1D4AE, "M", "s"),
+        (0x1D4AF, "M", "t"),
+        (0x1D4B0, "M", "u"),
+        (0x1D4B1, "M", "v"),
+        (0x1D4B2, "M", "w"),
+        (0x1D4B3, "M", "x"),
+        (0x1D4B4, "M", "y"),
+        (0x1D4B5, "M", "z"),
+        (0x1D4B6, "M", "a"),
+        (0x1D4B7, "M", "b"),
+        (0x1D4B8, "M", "c"),
+        (0x1D4B9, "M", "d"),
+        (0x1D4BA, "X"),
+        (0x1D4BB, "M", "f"),
+        (0x1D4BC, "X"),
+        (0x1D4BD, "M", "h"),
+        (0x1D4BE, "M", "i"),
+        (0x1D4BF, "M", "j"),
+        (0x1D4C0, "M", "k"),
+        (0x1D4C1, "M", "l"),
+        (0x1D4C2, "M", "m"),
+        (0x1D4C3, "M", "n"),
+        (0x1D4C4, "X"),
+        (0x1D4C5, "M", "p"),
+        (0x1D4C6, "M", "q"),
+        (0x1D4C7, "M", "r"),
+        (0x1D4C8, "M", "s"),
+        (0x1D4C9, "M", "t"),
+        (0x1D4CA, "M", "u"),
+        (0x1D4CB, "M", "v"),
+        (0x1D4CC, "M", "w"),
+        (0x1D4CD, "M", "x"),
+        (0x1D4CE, "M", "y"),
+        (0x1D4CF, "M", "z"),
+        (0x1D4D0, "M", "a"),
+        (0x1D4D1, "M", "b"),
+        (0x1D4D2, "M", "c"),
+        (0x1D4D3, "M", "d"),
+        (0x1D4D4, "M", "e"),
+        (0x1D4D5, "M", "f"),
+        (0x1D4D6, "M", "g"),
+        (0x1D4D7, "M", "h"),
+        (0x1D4D8, "M", "i"),
+        (0x1D4D9, "M", "j"),
+        (0x1D4DA, "M", "k"),
+        (0x1D4DB, "M", "l"),
+        (0x1D4DC, "M", "m"),
+        (0x1D4DD, "M", "n"),
+        (0x1D4DE, "M", "o"),
+        (0x1D4DF, "M", "p"),
+        (0x1D4E0, "M", "q"),
+        (0x1D4E1, "M", "r"),
+        (0x1D4E2, "M", "s"),
+        (0x1D4E3, "M", "t"),
+        (0x1D4E4, "M", "u"),
+        (0x1D4E5, "M", "v"),
+        (0x1D4E6, "M", "w"),
+        (0x1D4E7, "M", "x"),
+        (0x1D4E8, "M", "y"),
+        (0x1D4E9, "M", "z"),
+        (0x1D4EA, "M", "a"),
+        (0x1D4EB, "M", "b"),
+        (0x1D4EC, "M", "c"),
+        (0x1D4ED, "M", "d"),
+        (0x1D4EE, "M", "e"),
+        (0x1D4EF, "M", "f"),
     ]
 
+
 def _seg_63() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1D4F0, 'M', 'g'),
-    (0x1D4F1, 'M', 'h'),
-    (0x1D4F2, 'M', 'i'),
-    (0x1D4F3, 'M', 'j'),
-    (0x1D4F4, 'M', 'k'),
-    (0x1D4F5, 'M', 'l'),
-    (0x1D4F6, 'M', 'm'),
-    (0x1D4F7, 'M', 'n'),
-    (0x1D4F8, 'M', 'o'),
-    (0x1D4F9, 'M', 'p'),
-    (0x1D4FA, 'M', 'q'),
-    (0x1D4FB, 'M', 'r'),
-    (0x1D4FC, 'M', 's'),
-    (0x1D4FD, 'M', 't'),
-    (0x1D4FE, 'M', 'u'),
-    (0x1D4FF, 'M', 'v'),
-    (0x1D500, 'M', 'w'),
-    (0x1D501, 'M', 'x'),
-    (0x1D502, 'M', 'y'),
-    (0x1D503, 'M', 'z'),
-    (0x1D504, 'M', 'a'),
-    (0x1D505, 'M', 'b'),
-    (0x1D506, 'X'),
-    (0x1D507, 'M', 'd'),
-    (0x1D508, 'M', 'e'),
-    (0x1D509, 'M', 'f'),
-    (0x1D50A, 'M', 'g'),
-    (0x1D50B, 'X'),
-    (0x1D50D, 'M', 'j'),
-    (0x1D50E, 'M', 'k'),
-    (0x1D50F, 'M', 'l'),
-    (0x1D510, 'M', 'm'),
-    (0x1D511, 'M', 'n'),
-    (0x1D512, 'M', 'o'),
-    (0x1D513, 'M', 'p'),
-    (0x1D514, 'M', 'q'),
-    (0x1D515, 'X'),
-    (0x1D516, 'M', 's'),
-    (0x1D517, 'M', 't'),
-    (0x1D518, 'M', 'u'),
-    (0x1D519, 'M', 'v'),
-    (0x1D51A, 'M', 'w'),
-    (0x1D51B, 'M', 'x'),
-    (0x1D51C, 'M', 'y'),
-    (0x1D51D, 'X'),
-    (0x1D51E, 'M', 'a'),
-    (0x1D51F, 'M', 'b'),
-    (0x1D520, 'M', 'c'),
-    (0x1D521, 'M', 'd'),
-    (0x1D522, 'M', 'e'),
-    (0x1D523, 'M', 'f'),
-    (0x1D524, 'M', 'g'),
-    (0x1D525, 'M', 'h'),
-    (0x1D526, 'M', 'i'),
-    (0x1D527, 'M', 'j'),
-    (0x1D528, 'M', 'k'),
-    (0x1D529, 'M', 'l'),
-    (0x1D52A, 'M', 'm'),
-    (0x1D52B, 'M', 'n'),
-    (0x1D52C, 'M', 'o'),
-    (0x1D52D, 'M', 'p'),
-    (0x1D52E, 'M', 'q'),
-    (0x1D52F, 'M', 'r'),
-    (0x1D530, 'M', 's'),
-    (0x1D531, 'M', 't'),
-    (0x1D532, 'M', 'u'),
-    (0x1D533, 'M', 'v'),
-    (0x1D534, 'M', 'w'),
-    (0x1D535, 'M', 'x'),
-    (0x1D536, 'M', 'y'),
-    (0x1D537, 'M', 'z'),
-    (0x1D538, 'M', 'a'),
-    (0x1D539, 'M', 'b'),
-    (0x1D53A, 'X'),
-    (0x1D53B, 'M', 'd'),
-    (0x1D53C, 'M', 'e'),
-    (0x1D53D, 'M', 'f'),
-    (0x1D53E, 'M', 'g'),
-    (0x1D53F, 'X'),
-    (0x1D540, 'M', 'i'),
-    (0x1D541, 'M', 'j'),
-    (0x1D542, 'M', 'k'),
-    (0x1D543, 'M', 'l'),
-    (0x1D544, 'M', 'm'),
-    (0x1D545, 'X'),
-    (0x1D546, 'M', 'o'),
-    (0x1D547, 'X'),
-    (0x1D54A, 'M', 's'),
-    (0x1D54B, 'M', 't'),
-    (0x1D54C, 'M', 'u'),
-    (0x1D54D, 'M', 'v'),
-    (0x1D54E, 'M', 'w'),
-    (0x1D54F, 'M', 'x'),
-    (0x1D550, 'M', 'y'),
-    (0x1D551, 'X'),
-    (0x1D552, 'M', 'a'),
-    (0x1D553, 'M', 'b'),
-    (0x1D554, 'M', 'c'),
-    (0x1D555, 'M', 'd'),
-    (0x1D556, 'M', 'e'),
+        (0x1D4F0, "M", "g"),
+        (0x1D4F1, "M", "h"),
+        (0x1D4F2, "M", "i"),
+        (0x1D4F3, "M", "j"),
+        (0x1D4F4, "M", "k"),
+        (0x1D4F5, "M", "l"),
+        (0x1D4F6, "M", "m"),
+        (0x1D4F7, "M", "n"),
+        (0x1D4F8, "M", "o"),
+        (0x1D4F9, "M", "p"),
+        (0x1D4FA, "M", "q"),
+        (0x1D4FB, "M", "r"),
+        (0x1D4FC, "M", "s"),
+        (0x1D4FD, "M", "t"),
+        (0x1D4FE, "M", "u"),
+        (0x1D4FF, "M", "v"),
+        (0x1D500, "M", "w"),
+        (0x1D501, "M", "x"),
+        (0x1D502, "M", "y"),
+        (0x1D503, "M", "z"),
+        (0x1D504, "M", "a"),
+        (0x1D505, "M", "b"),
+        (0x1D506, "X"),
+        (0x1D507, "M", "d"),
+        (0x1D508, "M", "e"),
+        (0x1D509, "M", "f"),
+        (0x1D50A, "M", "g"),
+        (0x1D50B, "X"),
+        (0x1D50D, "M", "j"),
+        (0x1D50E, "M", "k"),
+        (0x1D50F, "M", "l"),
+        (0x1D510, "M", "m"),
+        (0x1D511, "M", "n"),
+        (0x1D512, "M", "o"),
+        (0x1D513, "M", "p"),
+        (0x1D514, "M", "q"),
+        (0x1D515, "X"),
+        (0x1D516, "M", "s"),
+        (0x1D517, "M", "t"),
+        (0x1D518, "M", "u"),
+        (0x1D519, "M", "v"),
+        (0x1D51A, "M", "w"),
+        (0x1D51B, "M", "x"),
+        (0x1D51C, "M", "y"),
+        (0x1D51D, "X"),
+        (0x1D51E, "M", "a"),
+        (0x1D51F, "M", "b"),
+        (0x1D520, "M", "c"),
+        (0x1D521, "M", "d"),
+        (0x1D522, "M", "e"),
+        (0x1D523, "M", "f"),
+        (0x1D524, "M", "g"),
+        (0x1D525, "M", "h"),
+        (0x1D526, "M", "i"),
+        (0x1D527, "M", "j"),
+        (0x1D528, "M", "k"),
+        (0x1D529, "M", "l"),
+        (0x1D52A, "M", "m"),
+        (0x1D52B, "M", "n"),
+        (0x1D52C, "M", "o"),
+        (0x1D52D, "M", "p"),
+        (0x1D52E, "M", "q"),
+        (0x1D52F, "M", "r"),
+        (0x1D530, "M", "s"),
+        (0x1D531, "M", "t"),
+        (0x1D532, "M", "u"),
+        (0x1D533, "M", "v"),
+        (0x1D534, "M", "w"),
+        (0x1D535, "M", "x"),
+        (0x1D536, "M", "y"),
+        (0x1D537, "M", "z"),
+        (0x1D538, "M", "a"),
+        (0x1D539, "M", "b"),
+        (0x1D53A, "X"),
+        (0x1D53B, "M", "d"),
+        (0x1D53C, "M", "e"),
+        (0x1D53D, "M", "f"),
+        (0x1D53E, "M", "g"),
+        (0x1D53F, "X"),
+        (0x1D540, "M", "i"),
+        (0x1D541, "M", "j"),
+        (0x1D542, "M", "k"),
+        (0x1D543, "M", "l"),
+        (0x1D544, "M", "m"),
+        (0x1D545, "X"),
+        (0x1D546, "M", "o"),
+        (0x1D547, "X"),
+        (0x1D54A, "M", "s"),
+        (0x1D54B, "M", "t"),
+        (0x1D54C, "M", "u"),
+        (0x1D54D, "M", "v"),
+        (0x1D54E, "M", "w"),
+        (0x1D54F, "M", "x"),
+        (0x1D550, "M", "y"),
+        (0x1D551, "X"),
+        (0x1D552, "M", "a"),
+        (0x1D553, "M", "b"),
+        (0x1D554, "M", "c"),
+        (0x1D555, "M", "d"),
+        (0x1D556, "M", "e"),
     ]
 
+
 def _seg_64() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1D557, 'M', 'f'),
-    (0x1D558, 'M', 'g'),
-    (0x1D559, 'M', 'h'),
-    (0x1D55A, 'M', 'i'),
-    (0x1D55B, 'M', 'j'),
-    (0x1D55C, 'M', 'k'),
-    (0x1D55D, 'M', 'l'),
-    (0x1D55E, 'M', 'm'),
-    (0x1D55F, 'M', 'n'),
-    (0x1D560, 'M', 'o'),
-    (0x1D561, 'M', 'p'),
-    (0x1D562, 'M', 'q'),
-    (0x1D563, 'M', 'r'),
-    (0x1D564, 'M', 's'),
-    (0x1D565, 'M', 't'),
-    (0x1D566, 'M', 'u'),
-    (0x1D567, 'M', 'v'),
-    (0x1D568, 'M', 'w'),
-    (0x1D569, 'M', 'x'),
-    (0x1D56A, 'M', 'y'),
-    (0x1D56B, 'M', 'z'),
-    (0x1D56C, 'M', 'a'),
-    (0x1D56D, 'M', 'b'),
-    (0x1D56E, 'M', 'c'),
-    (0x1D56F, 'M', 'd'),
-    (0x1D570, 'M', 'e'),
-    (0x1D571, 'M', 'f'),
-    (0x1D572, 'M', 'g'),
-    (0x1D573, 'M', 'h'),
-    (0x1D574, 'M', 'i'),
-    (0x1D575, 'M', 'j'),
-    (0x1D576, 'M', 'k'),
-    (0x1D577, 'M', 'l'),
-    (0x1D578, 'M', 'm'),
-    (0x1D579, 'M', 'n'),
-    (0x1D57A, 'M', 'o'),
-    (0x1D57B, 'M', 'p'),
-    (0x1D57C, 'M', 'q'),
-    (0x1D57D, 'M', 'r'),
-    (0x1D57E, 'M', 's'),
-    (0x1D57F, 'M', 't'),
-    (0x1D580, 'M', 'u'),
-    (0x1D581, 'M', 'v'),
-    (0x1D582, 'M', 'w'),
-    (0x1D583, 'M', 'x'),
-    (0x1D584, 'M', 'y'),
-    (0x1D585, 'M', 'z'),
-    (0x1D586, 'M', 'a'),
-    (0x1D587, 'M', 'b'),
-    (0x1D588, 'M', 'c'),
-    (0x1D589, 'M', 'd'),
-    (0x1D58A, 'M', 'e'),
-    (0x1D58B, 'M', 'f'),
-    (0x1D58C, 'M', 'g'),
-    (0x1D58D, 'M', 'h'),
-    (0x1D58E, 'M', 'i'),
-    (0x1D58F, 'M', 'j'),
-    (0x1D590, 'M', 'k'),
-    (0x1D591, 'M', 'l'),
-    (0x1D592, 'M', 'm'),
-    (0x1D593, 'M', 'n'),
-    (0x1D594, 'M', 'o'),
-    (0x1D595, 'M', 'p'),
-    (0x1D596, 'M', 'q'),
-    (0x1D597, 'M', 'r'),
-    (0x1D598, 'M', 's'),
-    (0x1D599, 'M', 't'),
-    (0x1D59A, 'M', 'u'),
-    (0x1D59B, 'M', 'v'),
-    (0x1D59C, 'M', 'w'),
-    (0x1D59D, 'M', 'x'),
-    (0x1D59E, 'M', 'y'),
-    (0x1D59F, 'M', 'z'),
-    (0x1D5A0, 'M', 'a'),
-    (0x1D5A1, 'M', 'b'),
-    (0x1D5A2, 'M', 'c'),
-    (0x1D5A3, 'M', 'd'),
-    (0x1D5A4, 'M', 'e'),
-    (0x1D5A5, 'M', 'f'),
-    (0x1D5A6, 'M', 'g'),
-    (0x1D5A7, 'M', 'h'),
-    (0x1D5A8, 'M', 'i'),
-    (0x1D5A9, 'M', 'j'),
-    (0x1D5AA, 'M', 'k'),
-    (0x1D5AB, 'M', 'l'),
-    (0x1D5AC, 'M', 'm'),
-    (0x1D5AD, 'M', 'n'),
-    (0x1D5AE, 'M', 'o'),
-    (0x1D5AF, 'M', 'p'),
-    (0x1D5B0, 'M', 'q'),
-    (0x1D5B1, 'M', 'r'),
-    (0x1D5B2, 'M', 's'),
-    (0x1D5B3, 'M', 't'),
-    (0x1D5B4, 'M', 'u'),
-    (0x1D5B5, 'M', 'v'),
-    (0x1D5B6, 'M', 'w'),
-    (0x1D5B7, 'M', 'x'),
-    (0x1D5B8, 'M', 'y'),
-    (0x1D5B9, 'M', 'z'),
-    (0x1D5BA, 'M', 'a'),
+        (0x1D557, "M", "f"),
+        (0x1D558, "M", "g"),
+        (0x1D559, "M", "h"),
+        (0x1D55A, "M", "i"),
+        (0x1D55B, "M", "j"),
+        (0x1D55C, "M", "k"),
+        (0x1D55D, "M", "l"),
+        (0x1D55E, "M", "m"),
+        (0x1D55F, "M", "n"),
+        (0x1D560, "M", "o"),
+        (0x1D561, "M", "p"),
+        (0x1D562, "M", "q"),
+        (0x1D563, "M", "r"),
+        (0x1D564, "M", "s"),
+        (0x1D565, "M", "t"),
+        (0x1D566, "M", "u"),
+        (0x1D567, "M", "v"),
+        (0x1D568, "M", "w"),
+        (0x1D569, "M", "x"),
+        (0x1D56A, "M", "y"),
+        (0x1D56B, "M", "z"),
+        (0x1D56C, "M", "a"),
+        (0x1D56D, "M", "b"),
+        (0x1D56E, "M", "c"),
+        (0x1D56F, "M", "d"),
+        (0x1D570, "M", "e"),
+        (0x1D571, "M", "f"),
+        (0x1D572, "M", "g"),
+        (0x1D573, "M", "h"),
+        (0x1D574, "M", "i"),
+        (0x1D575, "M", "j"),
+        (0x1D576, "M", "k"),
+        (0x1D577, "M", "l"),
+        (0x1D578, "M", "m"),
+        (0x1D579, "M", "n"),
+        (0x1D57A, "M", "o"),
+        (0x1D57B, "M", "p"),
+        (0x1D57C, "M", "q"),
+        (0x1D57D, "M", "r"),
+        (0x1D57E, "M", "s"),
+        (0x1D57F, "M", "t"),
+        (0x1D580, "M", "u"),
+        (0x1D581, "M", "v"),
+        (0x1D582, "M", "w"),
+        (0x1D583, "M", "x"),
+        (0x1D584, "M", "y"),
+        (0x1D585, "M", "z"),
+        (0x1D586, "M", "a"),
+        (0x1D587, "M", "b"),
+        (0x1D588, "M", "c"),
+        (0x1D589, "M", "d"),
+        (0x1D58A, "M", "e"),
+        (0x1D58B, "M", "f"),
+        (0x1D58C, "M", "g"),
+        (0x1D58D, "M", "h"),
+        (0x1D58E, "M", "i"),
+        (0x1D58F, "M", "j"),
+        (0x1D590, "M", "k"),
+        (0x1D591, "M", "l"),
+        (0x1D592, "M", "m"),
+        (0x1D593, "M", "n"),
+        (0x1D594, "M", "o"),
+        (0x1D595, "M", "p"),
+        (0x1D596, "M", "q"),
+        (0x1D597, "M", "r"),
+        (0x1D598, "M", "s"),
+        (0x1D599, "M", "t"),
+        (0x1D59A, "M", "u"),
+        (0x1D59B, "M", "v"),
+        (0x1D59C, "M", "w"),
+        (0x1D59D, "M", "x"),
+        (0x1D59E, "M", "y"),
+        (0x1D59F, "M", "z"),
+        (0x1D5A0, "M", "a"),
+        (0x1D5A1, "M", "b"),
+        (0x1D5A2, "M", "c"),
+        (0x1D5A3, "M", "d"),
+        (0x1D5A4, "M", "e"),
+        (0x1D5A5, "M", "f"),
+        (0x1D5A6, "M", "g"),
+        (0x1D5A7, "M", "h"),
+        (0x1D5A8, "M", "i"),
+        (0x1D5A9, "M", "j"),
+        (0x1D5AA, "M", "k"),
+        (0x1D5AB, "M", "l"),
+        (0x1D5AC, "M", "m"),
+        (0x1D5AD, "M", "n"),
+        (0x1D5AE, "M", "o"),
+        (0x1D5AF, "M", "p"),
+        (0x1D5B0, "M", "q"),
+        (0x1D5B1, "M", "r"),
+        (0x1D5B2, "M", "s"),
+        (0x1D5B3, "M", "t"),
+        (0x1D5B4, "M", "u"),
+        (0x1D5B5, "M", "v"),
+        (0x1D5B6, "M", "w"),
+        (0x1D5B7, "M", "x"),
+        (0x1D5B8, "M", "y"),
+        (0x1D5B9, "M", "z"),
+        (0x1D5BA, "M", "a"),
     ]
 
+
 def _seg_65() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1D5BB, 'M', 'b'),
-    (0x1D5BC, 'M', 'c'),
-    (0x1D5BD, 'M', 'd'),
-    (0x1D5BE, 'M', 'e'),
-    (0x1D5BF, 'M', 'f'),
-    (0x1D5C0, 'M', 'g'),
-    (0x1D5C1, 'M', 'h'),
-    (0x1D5C2, 'M', 'i'),
-    (0x1D5C3, 'M', 'j'),
-    (0x1D5C4, 'M', 'k'),
-    (0x1D5C5, 'M', 'l'),
-    (0x1D5C6, 'M', 'm'),
-    (0x1D5C7, 'M', 'n'),
-    (0x1D5C8, 'M', 'o'),
-    (0x1D5C9, 'M', 'p'),
-    (0x1D5CA, 'M', 'q'),
-    (0x1D5CB, 'M', 'r'),
-    (0x1D5CC, 'M', 's'),
-    (0x1D5CD, 'M', 't'),
-    (0x1D5CE, 'M', 'u'),
-    (0x1D5CF, 'M', 'v'),
-    (0x1D5D0, 'M', 'w'),
-    (0x1D5D1, 'M', 'x'),
-    (0x1D5D2, 'M', 'y'),
-    (0x1D5D3, 'M', 'z'),
-    (0x1D5D4, 'M', 'a'),
-    (0x1D5D5, 'M', 'b'),
-    (0x1D5D6, 'M', 'c'),
-    (0x1D5D7, 'M', 'd'),
-    (0x1D5D8, 'M', 'e'),
-    (0x1D5D9, 'M', 'f'),
-    (0x1D5DA, 'M', 'g'),
-    (0x1D5DB, 'M', 'h'),
-    (0x1D5DC, 'M', 'i'),
-    (0x1D5DD, 'M', 'j'),
-    (0x1D5DE, 'M', 'k'),
-    (0x1D5DF, 'M', 'l'),
-    (0x1D5E0, 'M', 'm'),
-    (0x1D5E1, 'M', 'n'),
-    (0x1D5E2, 'M', 'o'),
-    (0x1D5E3, 'M', 'p'),
-    (0x1D5E4, 'M', 'q'),
-    (0x1D5E5, 'M', 'r'),
-    (0x1D5E6, 'M', 's'),
-    (0x1D5E7, 'M', 't'),
-    (0x1D5E8, 'M', 'u'),
-    (0x1D5E9, 'M', 'v'),
-    (0x1D5EA, 'M', 'w'),
-    (0x1D5EB, 'M', 'x'),
-    (0x1D5EC, 'M', 'y'),
-    (0x1D5ED, 'M', 'z'),
-    (0x1D5EE, 'M', 'a'),
-    (0x1D5EF, 'M', 'b'),
-    (0x1D5F0, 'M', 'c'),
-    (0x1D5F1, 'M', 'd'),
-    (0x1D5F2, 'M', 'e'),
-    (0x1D5F3, 'M', 'f'),
-    (0x1D5F4, 'M', 'g'),
-    (0x1D5F5, 'M', 'h'),
-    (0x1D5F6, 'M', 'i'),
-    (0x1D5F7, 'M', 'j'),
-    (0x1D5F8, 'M', 'k'),
-    (0x1D5F9, 'M', 'l'),
-    (0x1D5FA, 'M', 'm'),
-    (0x1D5FB, 'M', 'n'),
-    (0x1D5FC, 'M', 'o'),
-    (0x1D5FD, 'M', 'p'),
-    (0x1D5FE, 'M', 'q'),
-    (0x1D5FF, 'M', 'r'),
-    (0x1D600, 'M', 's'),
-    (0x1D601, 'M', 't'),
-    (0x1D602, 'M', 'u'),
-    (0x1D603, 'M', 'v'),
-    (0x1D604, 'M', 'w'),
-    (0x1D605, 'M', 'x'),
-    (0x1D606, 'M', 'y'),
-    (0x1D607, 'M', 'z'),
-    (0x1D608, 'M', 'a'),
-    (0x1D609, 'M', 'b'),
-    (0x1D60A, 'M', 'c'),
-    (0x1D60B, 'M', 'd'),
-    (0x1D60C, 'M', 'e'),
-    (0x1D60D, 'M', 'f'),
-    (0x1D60E, 'M', 'g'),
-    (0x1D60F, 'M', 'h'),
-    (0x1D610, 'M', 'i'),
-    (0x1D611, 'M', 'j'),
-    (0x1D612, 'M', 'k'),
-    (0x1D613, 'M', 'l'),
-    (0x1D614, 'M', 'm'),
-    (0x1D615, 'M', 'n'),
-    (0x1D616, 'M', 'o'),
-    (0x1D617, 'M', 'p'),
-    (0x1D618, 'M', 'q'),
-    (0x1D619, 'M', 'r'),
-    (0x1D61A, 'M', 's'),
-    (0x1D61B, 'M', 't'),
-    (0x1D61C, 'M', 'u'),
-    (0x1D61D, 'M', 'v'),
-    (0x1D61E, 'M', 'w'),
+        (0x1D5BB, "M", "b"),
+        (0x1D5BC, "M", "c"),
+        (0x1D5BD, "M", "d"),
+        (0x1D5BE, "M", "e"),
+        (0x1D5BF, "M", "f"),
+        (0x1D5C0, "M", "g"),
+        (0x1D5C1, "M", "h"),
+        (0x1D5C2, "M", "i"),
+        (0x1D5C3, "M", "j"),
+        (0x1D5C4, "M", "k"),
+        (0x1D5C5, "M", "l"),
+        (0x1D5C6, "M", "m"),
+        (0x1D5C7, "M", "n"),
+        (0x1D5C8, "M", "o"),
+        (0x1D5C9, "M", "p"),
+        (0x1D5CA, "M", "q"),
+        (0x1D5CB, "M", "r"),
+        (0x1D5CC, "M", "s"),
+        (0x1D5CD, "M", "t"),
+        (0x1D5CE, "M", "u"),
+        (0x1D5CF, "M", "v"),
+        (0x1D5D0, "M", "w"),
+        (0x1D5D1, "M", "x"),
+        (0x1D5D2, "M", "y"),
+        (0x1D5D3, "M", "z"),
+        (0x1D5D4, "M", "a"),
+        (0x1D5D5, "M", "b"),
+        (0x1D5D6, "M", "c"),
+        (0x1D5D7, "M", "d"),
+        (0x1D5D8, "M", "e"),
+        (0x1D5D9, "M", "f"),
+        (0x1D5DA, "M", "g"),
+        (0x1D5DB, "M", "h"),
+        (0x1D5DC, "M", "i"),
+        (0x1D5DD, "M", "j"),
+        (0x1D5DE, "M", "k"),
+        (0x1D5DF, "M", "l"),
+        (0x1D5E0, "M", "m"),
+        (0x1D5E1, "M", "n"),
+        (0x1D5E2, "M", "o"),
+        (0x1D5E3, "M", "p"),
+        (0x1D5E4, "M", "q"),
+        (0x1D5E5, "M", "r"),
+        (0x1D5E6, "M", "s"),
+        (0x1D5E7, "M", "t"),
+        (0x1D5E8, "M", "u"),
+        (0x1D5E9, "M", "v"),
+        (0x1D5EA, "M", "w"),
+        (0x1D5EB, "M", "x"),
+        (0x1D5EC, "M", "y"),
+        (0x1D5ED, "M", "z"),
+        (0x1D5EE, "M", "a"),
+        (0x1D5EF, "M", "b"),
+        (0x1D5F0, "M", "c"),
+        (0x1D5F1, "M", "d"),
+        (0x1D5F2, "M", "e"),
+        (0x1D5F3, "M", "f"),
+        (0x1D5F4, "M", "g"),
+        (0x1D5F5, "M", "h"),
+        (0x1D5F6, "M", "i"),
+        (0x1D5F7, "M", "j"),
+        (0x1D5F8, "M", "k"),
+        (0x1D5F9, "M", "l"),
+        (0x1D5FA, "M", "m"),
+        (0x1D5FB, "M", "n"),
+        (0x1D5FC, "M", "o"),
+        (0x1D5FD, "M", "p"),
+        (0x1D5FE, "M", "q"),
+        (0x1D5FF, "M", "r"),
+        (0x1D600, "M", "s"),
+        (0x1D601, "M", "t"),
+        (0x1D602, "M", "u"),
+        (0x1D603, "M", "v"),
+        (0x1D604, "M", "w"),
+        (0x1D605, "M", "x"),
+        (0x1D606, "M", "y"),
+        (0x1D607, "M", "z"),
+        (0x1D608, "M", "a"),
+        (0x1D609, "M", "b"),
+        (0x1D60A, "M", "c"),
+        (0x1D60B, "M", "d"),
+        (0x1D60C, "M", "e"),
+        (0x1D60D, "M", "f"),
+        (0x1D60E, "M", "g"),
+        (0x1D60F, "M", "h"),
+        (0x1D610, "M", "i"),
+        (0x1D611, "M", "j"),
+        (0x1D612, "M", "k"),
+        (0x1D613, "M", "l"),
+        (0x1D614, "M", "m"),
+        (0x1D615, "M", "n"),
+        (0x1D616, "M", "o"),
+        (0x1D617, "M", "p"),
+        (0x1D618, "M", "q"),
+        (0x1D619, "M", "r"),
+        (0x1D61A, "M", "s"),
+        (0x1D61B, "M", "t"),
+        (0x1D61C, "M", "u"),
+        (0x1D61D, "M", "v"),
+        (0x1D61E, "M", "w"),
     ]
 
+
 def _seg_66() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1D61F, 'M', 'x'),
-    (0x1D620, 'M', 'y'),
-    (0x1D621, 'M', 'z'),
-    (0x1D622, 'M', 'a'),
-    (0x1D623, 'M', 'b'),
-    (0x1D624, 'M', 'c'),
-    (0x1D625, 'M', 'd'),
-    (0x1D626, 'M', 'e'),
-    (0x1D627, 'M', 'f'),
-    (0x1D628, 'M', 'g'),
-    (0x1D629, 'M', 'h'),
-    (0x1D62A, 'M', 'i'),
-    (0x1D62B, 'M', 'j'),
-    (0x1D62C, 'M', 'k'),
-    (0x1D62D, 'M', 'l'),
-    (0x1D62E, 'M', 'm'),
-    (0x1D62F, 'M', 'n'),
-    (0x1D630, 'M', 'o'),
-    (0x1D631, 'M', 'p'),
-    (0x1D632, 'M', 'q'),
-    (0x1D633, 'M', 'r'),
-    (0x1D634, 'M', 's'),
-    (0x1D635, 'M', 't'),
-    (0x1D636, 'M', 'u'),
-    (0x1D637, 'M', 'v'),
-    (0x1D638, 'M', 'w'),
-    (0x1D639, 'M', 'x'),
-    (0x1D63A, 'M', 'y'),
-    (0x1D63B, 'M', 'z'),
-    (0x1D63C, 'M', 'a'),
-    (0x1D63D, 'M', 'b'),
-    (0x1D63E, 'M', 'c'),
-    (0x1D63F, 'M', 'd'),
-    (0x1D640, 'M', 'e'),
-    (0x1D641, 'M', 'f'),
-    (0x1D642, 'M', 'g'),
-    (0x1D643, 'M', 'h'),
-    (0x1D644, 'M', 'i'),
-    (0x1D645, 'M', 'j'),
-    (0x1D646, 'M', 'k'),
-    (0x1D647, 'M', 'l'),
-    (0x1D648, 'M', 'm'),
-    (0x1D649, 'M', 'n'),
-    (0x1D64A, 'M', 'o'),
-    (0x1D64B, 'M', 'p'),
-    (0x1D64C, 'M', 'q'),
-    (0x1D64D, 'M', 'r'),
-    (0x1D64E, 'M', 's'),
-    (0x1D64F, 'M', 't'),
-    (0x1D650, 'M', 'u'),
-    (0x1D651, 'M', 'v'),
-    (0x1D652, 'M', 'w'),
-    (0x1D653, 'M', 'x'),
-    (0x1D654, 'M', 'y'),
-    (0x1D655, 'M', 'z'),
-    (0x1D656, 'M', 'a'),
-    (0x1D657, 'M', 'b'),
-    (0x1D658, 'M', 'c'),
-    (0x1D659, 'M', 'd'),
-    (0x1D65A, 'M', 'e'),
-    (0x1D65B, 'M', 'f'),
-    (0x1D65C, 'M', 'g'),
-    (0x1D65D, 'M', 'h'),
-    (0x1D65E, 'M', 'i'),
-    (0x1D65F, 'M', 'j'),
-    (0x1D660, 'M', 'k'),
-    (0x1D661, 'M', 'l'),
-    (0x1D662, 'M', 'm'),
-    (0x1D663, 'M', 'n'),
-    (0x1D664, 'M', 'o'),
-    (0x1D665, 'M', 'p'),
-    (0x1D666, 'M', 'q'),
-    (0x1D667, 'M', 'r'),
-    (0x1D668, 'M', 's'),
-    (0x1D669, 'M', 't'),
-    (0x1D66A, 'M', 'u'),
-    (0x1D66B, 'M', 'v'),
-    (0x1D66C, 'M', 'w'),
-    (0x1D66D, 'M', 'x'),
-    (0x1D66E, 'M', 'y'),
-    (0x1D66F, 'M', 'z'),
-    (0x1D670, 'M', 'a'),
-    (0x1D671, 'M', 'b'),
-    (0x1D672, 'M', 'c'),
-    (0x1D673, 'M', 'd'),
-    (0x1D674, 'M', 'e'),
-    (0x1D675, 'M', 'f'),
-    (0x1D676, 'M', 'g'),
-    (0x1D677, 'M', 'h'),
-    (0x1D678, 'M', 'i'),
-    (0x1D679, 'M', 'j'),
-    (0x1D67A, 'M', 'k'),
-    (0x1D67B, 'M', 'l'),
-    (0x1D67C, 'M', 'm'),
-    (0x1D67D, 'M', 'n'),
-    (0x1D67E, 'M', 'o'),
-    (0x1D67F, 'M', 'p'),
-    (0x1D680, 'M', 'q'),
-    (0x1D681, 'M', 'r'),
-    (0x1D682, 'M', 's'),
+        (0x1D61F, "M", "x"),
+        (0x1D620, "M", "y"),
+        (0x1D621, "M", "z"),
+        (0x1D622, "M", "a"),
+        (0x1D623, "M", "b"),
+        (0x1D624, "M", "c"),
+        (0x1D625, "M", "d"),
+        (0x1D626, "M", "e"),
+        (0x1D627, "M", "f"),
+        (0x1D628, "M", "g"),
+        (0x1D629, "M", "h"),
+        (0x1D62A, "M", "i"),
+        (0x1D62B, "M", "j"),
+        (0x1D62C, "M", "k"),
+        (0x1D62D, "M", "l"),
+        (0x1D62E, "M", "m"),
+        (0x1D62F, "M", "n"),
+        (0x1D630, "M", "o"),
+        (0x1D631, "M", "p"),
+        (0x1D632, "M", "q"),
+        (0x1D633, "M", "r"),
+        (0x1D634, "M", "s"),
+        (0x1D635, "M", "t"),
+        (0x1D636, "M", "u"),
+        (0x1D637, "M", "v"),
+        (0x1D638, "M", "w"),
+        (0x1D639, "M", "x"),
+        (0x1D63A, "M", "y"),
+        (0x1D63B, "M", "z"),
+        (0x1D63C, "M", "a"),
+        (0x1D63D, "M", "b"),
+        (0x1D63E, "M", "c"),
+        (0x1D63F, "M", "d"),
+        (0x1D640, "M", "e"),
+        (0x1D641, "M", "f"),
+        (0x1D642, "M", "g"),
+        (0x1D643, "M", "h"),
+        (0x1D644, "M", "i"),
+        (0x1D645, "M", "j"),
+        (0x1D646, "M", "k"),
+        (0x1D647, "M", "l"),
+        (0x1D648, "M", "m"),
+        (0x1D649, "M", "n"),
+        (0x1D64A, "M", "o"),
+        (0x1D64B, "M", "p"),
+        (0x1D64C, "M", "q"),
+        (0x1D64D, "M", "r"),
+        (0x1D64E, "M", "s"),
+        (0x1D64F, "M", "t"),
+        (0x1D650, "M", "u"),
+        (0x1D651, "M", "v"),
+        (0x1D652, "M", "w"),
+        (0x1D653, "M", "x"),
+        (0x1D654, "M", "y"),
+        (0x1D655, "M", "z"),
+        (0x1D656, "M", "a"),
+        (0x1D657, "M", "b"),
+        (0x1D658, "M", "c"),
+        (0x1D659, "M", "d"),
+        (0x1D65A, "M", "e"),
+        (0x1D65B, "M", "f"),
+        (0x1D65C, "M", "g"),
+        (0x1D65D, "M", "h"),
+        (0x1D65E, "M", "i"),
+        (0x1D65F, "M", "j"),
+        (0x1D660, "M", "k"),
+        (0x1D661, "M", "l"),
+        (0x1D662, "M", "m"),
+        (0x1D663, "M", "n"),
+        (0x1D664, "M", "o"),
+        (0x1D665, "M", "p"),
+        (0x1D666, "M", "q"),
+        (0x1D667, "M", "r"),
+        (0x1D668, "M", "s"),
+        (0x1D669, "M", "t"),
+        (0x1D66A, "M", "u"),
+        (0x1D66B, "M", "v"),
+        (0x1D66C, "M", "w"),
+        (0x1D66D, "M", "x"),
+        (0x1D66E, "M", "y"),
+        (0x1D66F, "M", "z"),
+        (0x1D670, "M", "a"),
+        (0x1D671, "M", "b"),
+        (0x1D672, "M", "c"),
+        (0x1D673, "M", "d"),
+        (0x1D674, "M", "e"),
+        (0x1D675, "M", "f"),
+        (0x1D676, "M", "g"),
+        (0x1D677, "M", "h"),
+        (0x1D678, "M", "i"),
+        (0x1D679, "M", "j"),
+        (0x1D67A, "M", "k"),
+        (0x1D67B, "M", "l"),
+        (0x1D67C, "M", "m"),
+        (0x1D67D, "M", "n"),
+        (0x1D67E, "M", "o"),
+        (0x1D67F, "M", "p"),
+        (0x1D680, "M", "q"),
+        (0x1D681, "M", "r"),
+        (0x1D682, "M", "s"),
     ]
 
+
 def _seg_67() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1D683, 'M', 't'),
-    (0x1D684, 'M', 'u'),
-    (0x1D685, 'M', 'v'),
-    (0x1D686, 'M', 'w'),
-    (0x1D687, 'M', 'x'),
-    (0x1D688, 'M', 'y'),
-    (0x1D689, 'M', 'z'),
-    (0x1D68A, 'M', 'a'),
-    (0x1D68B, 'M', 'b'),
-    (0x1D68C, 'M', 'c'),
-    (0x1D68D, 'M', 'd'),
-    (0x1D68E, 'M', 'e'),
-    (0x1D68F, 'M', 'f'),
-    (0x1D690, 'M', 'g'),
-    (0x1D691, 'M', 'h'),
-    (0x1D692, 'M', 'i'),
-    (0x1D693, 'M', 'j'),
-    (0x1D694, 'M', 'k'),
-    (0x1D695, 'M', 'l'),
-    (0x1D696, 'M', 'm'),
-    (0x1D697, 'M', 'n'),
-    (0x1D698, 'M', 'o'),
-    (0x1D699, 'M', 'p'),
-    (0x1D69A, 'M', 'q'),
-    (0x1D69B, 'M', 'r'),
-    (0x1D69C, 'M', 's'),
-    (0x1D69D, 'M', 't'),
-    (0x1D69E, 'M', 'u'),
-    (0x1D69F, 'M', 'v'),
-    (0x1D6A0, 'M', 'w'),
-    (0x1D6A1, 'M', 'x'),
-    (0x1D6A2, 'M', 'y'),
-    (0x1D6A3, 'M', 'z'),
-    (0x1D6A4, 'M', 'ı'),
-    (0x1D6A5, 'M', 'ȷ'),
-    (0x1D6A6, 'X'),
-    (0x1D6A8, 'M', 'α'),
-    (0x1D6A9, 'M', 'β'),
-    (0x1D6AA, 'M', 'γ'),
-    (0x1D6AB, 'M', 'δ'),
-    (0x1D6AC, 'M', 'ε'),
-    (0x1D6AD, 'M', 'ζ'),
-    (0x1D6AE, 'M', 'η'),
-    (0x1D6AF, 'M', 'θ'),
-    (0x1D6B0, 'M', 'ι'),
-    (0x1D6B1, 'M', 'κ'),
-    (0x1D6B2, 'M', 'λ'),
-    (0x1D6B3, 'M', 'μ'),
-    (0x1D6B4, 'M', 'ν'),
-    (0x1D6B5, 'M', 'ξ'),
-    (0x1D6B6, 'M', 'ο'),
-    (0x1D6B7, 'M', 'π'),
-    (0x1D6B8, 'M', 'ρ'),
-    (0x1D6B9, 'M', 'θ'),
-    (0x1D6BA, 'M', 'σ'),
-    (0x1D6BB, 'M', 'τ'),
-    (0x1D6BC, 'M', 'υ'),
-    (0x1D6BD, 'M', 'φ'),
-    (0x1D6BE, 'M', 'χ'),
-    (0x1D6BF, 'M', 'ψ'),
-    (0x1D6C0, 'M', 'ω'),
-    (0x1D6C1, 'M', '∇'),
-    (0x1D6C2, 'M', 'α'),
-    (0x1D6C3, 'M', 'β'),
-    (0x1D6C4, 'M', 'γ'),
-    (0x1D6C5, 'M', 'δ'),
-    (0x1D6C6, 'M', 'ε'),
-    (0x1D6C7, 'M', 'ζ'),
-    (0x1D6C8, 'M', 'η'),
-    (0x1D6C9, 'M', 'θ'),
-    (0x1D6CA, 'M', 'ι'),
-    (0x1D6CB, 'M', 'κ'),
-    (0x1D6CC, 'M', 'λ'),
-    (0x1D6CD, 'M', 'μ'),
-    (0x1D6CE, 'M', 'ν'),
-    (0x1D6CF, 'M', 'ξ'),
-    (0x1D6D0, 'M', 'ο'),
-    (0x1D6D1, 'M', 'π'),
-    (0x1D6D2, 'M', 'ρ'),
-    (0x1D6D3, 'M', 'σ'),
-    (0x1D6D5, 'M', 'τ'),
-    (0x1D6D6, 'M', 'υ'),
-    (0x1D6D7, 'M', 'φ'),
-    (0x1D6D8, 'M', 'χ'),
-    (0x1D6D9, 'M', 'ψ'),
-    (0x1D6DA, 'M', 'ω'),
-    (0x1D6DB, 'M', '∂'),
-    (0x1D6DC, 'M', 'ε'),
-    (0x1D6DD, 'M', 'θ'),
-    (0x1D6DE, 'M', 'κ'),
-    (0x1D6DF, 'M', 'φ'),
-    (0x1D6E0, 'M', 'ρ'),
-    (0x1D6E1, 'M', 'π'),
-    (0x1D6E2, 'M', 'α'),
-    (0x1D6E3, 'M', 'β'),
-    (0x1D6E4, 'M', 'γ'),
-    (0x1D6E5, 'M', 'δ'),
-    (0x1D6E6, 'M', 'ε'),
-    (0x1D6E7, 'M', 'ζ'),
-    (0x1D6E8, 'M', 'η'),
+        (0x1D683, "M", "t"),
+        (0x1D684, "M", "u"),
+        (0x1D685, "M", "v"),
+        (0x1D686, "M", "w"),
+        (0x1D687, "M", "x"),
+        (0x1D688, "M", "y"),
+        (0x1D689, "M", "z"),
+        (0x1D68A, "M", "a"),
+        (0x1D68B, "M", "b"),
+        (0x1D68C, "M", "c"),
+        (0x1D68D, "M", "d"),
+        (0x1D68E, "M", "e"),
+        (0x1D68F, "M", "f"),
+        (0x1D690, "M", "g"),
+        (0x1D691, "M", "h"),
+        (0x1D692, "M", "i"),
+        (0x1D693, "M", "j"),
+        (0x1D694, "M", "k"),
+        (0x1D695, "M", "l"),
+        (0x1D696, "M", "m"),
+        (0x1D697, "M", "n"),
+        (0x1D698, "M", "o"),
+        (0x1D699, "M", "p"),
+        (0x1D69A, "M", "q"),
+        (0x1D69B, "M", "r"),
+        (0x1D69C, "M", "s"),
+        (0x1D69D, "M", "t"),
+        (0x1D69E, "M", "u"),
+        (0x1D69F, "M", "v"),
+        (0x1D6A0, "M", "w"),
+        (0x1D6A1, "M", "x"),
+        (0x1D6A2, "M", "y"),
+        (0x1D6A3, "M", "z"),
+        (0x1D6A4, "M", "ı"),
+        (0x1D6A5, "M", "ȷ"),
+        (0x1D6A6, "X"),
+        (0x1D6A8, "M", "α"),
+        (0x1D6A9, "M", "β"),
+        (0x1D6AA, "M", "γ"),
+        (0x1D6AB, "M", "δ"),
+        (0x1D6AC, "M", "ε"),
+        (0x1D6AD, "M", "ζ"),
+        (0x1D6AE, "M", "η"),
+        (0x1D6AF, "M", "θ"),
+        (0x1D6B0, "M", "ι"),
+        (0x1D6B1, "M", "κ"),
+        (0x1D6B2, "M", "λ"),
+        (0x1D6B3, "M", "μ"),
+        (0x1D6B4, "M", "ν"),
+        (0x1D6B5, "M", "ξ"),
+        (0x1D6B6, "M", "ο"),
+        (0x1D6B7, "M", "π"),
+        (0x1D6B8, "M", "ρ"),
+        (0x1D6B9, "M", "θ"),
+        (0x1D6BA, "M", "σ"),
+        (0x1D6BB, "M", "τ"),
+        (0x1D6BC, "M", "υ"),
+        (0x1D6BD, "M", "φ"),
+        (0x1D6BE, "M", "χ"),
+        (0x1D6BF, "M", "ψ"),
+        (0x1D6C0, "M", "ω"),
+        (0x1D6C1, "M", "∇"),
+        (0x1D6C2, "M", "α"),
+        (0x1D6C3, "M", "β"),
+        (0x1D6C4, "M", "γ"),
+        (0x1D6C5, "M", "δ"),
+        (0x1D6C6, "M", "ε"),
+        (0x1D6C7, "M", "ζ"),
+        (0x1D6C8, "M", "η"),
+        (0x1D6C9, "M", "θ"),
+        (0x1D6CA, "M", "ι"),
+        (0x1D6CB, "M", "κ"),
+        (0x1D6CC, "M", "λ"),
+        (0x1D6CD, "M", "μ"),
+        (0x1D6CE, "M", "ν"),
+        (0x1D6CF, "M", "ξ"),
+        (0x1D6D0, "M", "ο"),
+        (0x1D6D1, "M", "π"),
+        (0x1D6D2, "M", "ρ"),
+        (0x1D6D3, "M", "σ"),
+        (0x1D6D5, "M", "τ"),
+        (0x1D6D6, "M", "υ"),
+        (0x1D6D7, "M", "φ"),
+        (0x1D6D8, "M", "χ"),
+        (0x1D6D9, "M", "ψ"),
+        (0x1D6DA, "M", "ω"),
+        (0x1D6DB, "M", "∂"),
+        (0x1D6DC, "M", "ε"),
+        (0x1D6DD, "M", "θ"),
+        (0x1D6DE, "M", "κ"),
+        (0x1D6DF, "M", "φ"),
+        (0x1D6E0, "M", "ρ"),
+        (0x1D6E1, "M", "π"),
+        (0x1D6E2, "M", "α"),
+        (0x1D6E3, "M", "β"),
+        (0x1D6E4, "M", "γ"),
+        (0x1D6E5, "M", "δ"),
+        (0x1D6E6, "M", "ε"),
+        (0x1D6E7, "M", "ζ"),
+        (0x1D6E8, "M", "η"),
     ]
 
+
 def _seg_68() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1D6E9, 'M', 'θ'),
-    (0x1D6EA, 'M', 'ι'),
-    (0x1D6EB, 'M', 'κ'),
-    (0x1D6EC, 'M', 'λ'),
-    (0x1D6ED, 'M', 'μ'),
-    (0x1D6EE, 'M', 'ν'),
-    (0x1D6EF, 'M', 'ξ'),
-    (0x1D6F0, 'M', 'ο'),
-    (0x1D6F1, 'M', 'π'),
-    (0x1D6F2, 'M', 'ρ'),
-    (0x1D6F3, 'M', 'θ'),
-    (0x1D6F4, 'M', 'σ'),
-    (0x1D6F5, 'M', 'τ'),
-    (0x1D6F6, 'M', 'υ'),
-    (0x1D6F7, 'M', 'φ'),
-    (0x1D6F8, 'M', 'χ'),
-    (0x1D6F9, 'M', 'ψ'),
-    (0x1D6FA, 'M', 'ω'),
-    (0x1D6FB, 'M', '∇'),
-    (0x1D6FC, 'M', 'α'),
-    (0x1D6FD, 'M', 'β'),
-    (0x1D6FE, 'M', 'γ'),
-    (0x1D6FF, 'M', 'δ'),
-    (0x1D700, 'M', 'ε'),
-    (0x1D701, 'M', 'ζ'),
-    (0x1D702, 'M', 'η'),
-    (0x1D703, 'M', 'θ'),
-    (0x1D704, 'M', 'ι'),
-    (0x1D705, 'M', 'κ'),
-    (0x1D706, 'M', 'λ'),
-    (0x1D707, 'M', 'μ'),
-    (0x1D708, 'M', 'ν'),
-    (0x1D709, 'M', 'ξ'),
-    (0x1D70A, 'M', 'ο'),
-    (0x1D70B, 'M', 'π'),
-    (0x1D70C, 'M', 'ρ'),
-    (0x1D70D, 'M', 'σ'),
-    (0x1D70F, 'M', 'τ'),
-    (0x1D710, 'M', 'υ'),
-    (0x1D711, 'M', 'φ'),
-    (0x1D712, 'M', 'χ'),
-    (0x1D713, 'M', 'ψ'),
-    (0x1D714, 'M', 'ω'),
-    (0x1D715, 'M', '∂'),
-    (0x1D716, 'M', 'ε'),
-    (0x1D717, 'M', 'θ'),
-    (0x1D718, 'M', 'κ'),
-    (0x1D719, 'M', 'φ'),
-    (0x1D71A, 'M', 'ρ'),
-    (0x1D71B, 'M', 'π'),
-    (0x1D71C, 'M', 'α'),
-    (0x1D71D, 'M', 'β'),
-    (0x1D71E, 'M', 'γ'),
-    (0x1D71F, 'M', 'δ'),
-    (0x1D720, 'M', 'ε'),
-    (0x1D721, 'M', 'ζ'),
-    (0x1D722, 'M', 'η'),
-    (0x1D723, 'M', 'θ'),
-    (0x1D724, 'M', 'ι'),
-    (0x1D725, 'M', 'κ'),
-    (0x1D726, 'M', 'λ'),
-    (0x1D727, 'M', 'μ'),
-    (0x1D728, 'M', 'ν'),
-    (0x1D729, 'M', 'ξ'),
-    (0x1D72A, 'M', 'ο'),
-    (0x1D72B, 'M', 'π'),
-    (0x1D72C, 'M', 'ρ'),
-    (0x1D72D, 'M', 'θ'),
-    (0x1D72E, 'M', 'σ'),
-    (0x1D72F, 'M', 'τ'),
-    (0x1D730, 'M', 'υ'),
-    (0x1D731, 'M', 'φ'),
-    (0x1D732, 'M', 'χ'),
-    (0x1D733, 'M', 'ψ'),
-    (0x1D734, 'M', 'ω'),
-    (0x1D735, 'M', '∇'),
-    (0x1D736, 'M', 'α'),
-    (0x1D737, 'M', 'β'),
-    (0x1D738, 'M', 'γ'),
-    (0x1D739, 'M', 'δ'),
-    (0x1D73A, 'M', 'ε'),
-    (0x1D73B, 'M', 'ζ'),
-    (0x1D73C, 'M', 'η'),
-    (0x1D73D, 'M', 'θ'),
-    (0x1D73E, 'M', 'ι'),
-    (0x1D73F, 'M', 'κ'),
-    (0x1D740, 'M', 'λ'),
-    (0x1D741, 'M', 'μ'),
-    (0x1D742, 'M', 'ν'),
-    (0x1D743, 'M', 'ξ'),
-    (0x1D744, 'M', 'ο'),
-    (0x1D745, 'M', 'π'),
-    (0x1D746, 'M', 'ρ'),
-    (0x1D747, 'M', 'σ'),
-    (0x1D749, 'M', 'τ'),
-    (0x1D74A, 'M', 'υ'),
-    (0x1D74B, 'M', 'φ'),
-    (0x1D74C, 'M', 'χ'),
-    (0x1D74D, 'M', 'ψ'),
-    (0x1D74E, 'M', 'ω'),
+        (0x1D6E9, "M", "θ"),
+        (0x1D6EA, "M", "ι"),
+        (0x1D6EB, "M", "κ"),
+        (0x1D6EC, "M", "λ"),
+        (0x1D6ED, "M", "μ"),
+        (0x1D6EE, "M", "ν"),
+        (0x1D6EF, "M", "ξ"),
+        (0x1D6F0, "M", "ο"),
+        (0x1D6F1, "M", "π"),
+        (0x1D6F2, "M", "ρ"),
+        (0x1D6F3, "M", "θ"),
+        (0x1D6F4, "M", "σ"),
+        (0x1D6F5, "M", "τ"),
+        (0x1D6F6, "M", "υ"),
+        (0x1D6F7, "M", "φ"),
+        (0x1D6F8, "M", "χ"),
+        (0x1D6F9, "M", "ψ"),
+        (0x1D6FA, "M", "ω"),
+        (0x1D6FB, "M", "∇"),
+        (0x1D6FC, "M", "α"),
+        (0x1D6FD, "M", "β"),
+        (0x1D6FE, "M", "γ"),
+        (0x1D6FF, "M", "δ"),
+        (0x1D700, "M", "ε"),
+        (0x1D701, "M", "ζ"),
+        (0x1D702, "M", "η"),
+        (0x1D703, "M", "θ"),
+        (0x1D704, "M", "ι"),
+        (0x1D705, "M", "κ"),
+        (0x1D706, "M", "λ"),
+        (0x1D707, "M", "μ"),
+        (0x1D708, "M", "ν"),
+        (0x1D709, "M", "ξ"),
+        (0x1D70A, "M", "ο"),
+        (0x1D70B, "M", "π"),
+        (0x1D70C, "M", "ρ"),
+        (0x1D70D, "M", "σ"),
+        (0x1D70F, "M", "τ"),
+        (0x1D710, "M", "υ"),
+        (0x1D711, "M", "φ"),
+        (0x1D712, "M", "χ"),
+        (0x1D713, "M", "ψ"),
+        (0x1D714, "M", "ω"),
+        (0x1D715, "M", "∂"),
+        (0x1D716, "M", "ε"),
+        (0x1D717, "M", "θ"),
+        (0x1D718, "M", "κ"),
+        (0x1D719, "M", "φ"),
+        (0x1D71A, "M", "ρ"),
+        (0x1D71B, "M", "π"),
+        (0x1D71C, "M", "α"),
+        (0x1D71D, "M", "β"),
+        (0x1D71E, "M", "γ"),
+        (0x1D71F, "M", "δ"),
+        (0x1D720, "M", "ε"),
+        (0x1D721, "M", "ζ"),
+        (0x1D722, "M", "η"),
+        (0x1D723, "M", "θ"),
+        (0x1D724, "M", "ι"),
+        (0x1D725, "M", "κ"),
+        (0x1D726, "M", "λ"),
+        (0x1D727, "M", "μ"),
+        (0x1D728, "M", "ν"),
+        (0x1D729, "M", "ξ"),
+        (0x1D72A, "M", "ο"),
+        (0x1D72B, "M", "π"),
+        (0x1D72C, "M", "ρ"),
+        (0x1D72D, "M", "θ"),
+        (0x1D72E, "M", "σ"),
+        (0x1D72F, "M", "τ"),
+        (0x1D730, "M", "υ"),
+        (0x1D731, "M", "φ"),
+        (0x1D732, "M", "χ"),
+        (0x1D733, "M", "ψ"),
+        (0x1D734, "M", "ω"),
+        (0x1D735, "M", "∇"),
+        (0x1D736, "M", "α"),
+        (0x1D737, "M", "β"),
+        (0x1D738, "M", "γ"),
+        (0x1D739, "M", "δ"),
+        (0x1D73A, "M", "ε"),
+        (0x1D73B, "M", "ζ"),
+        (0x1D73C, "M", "η"),
+        (0x1D73D, "M", "θ"),
+        (0x1D73E, "M", "ι"),
+        (0x1D73F, "M", "κ"),
+        (0x1D740, "M", "λ"),
+        (0x1D741, "M", "μ"),
+        (0x1D742, "M", "ν"),
+        (0x1D743, "M", "ξ"),
+        (0x1D744, "M", "ο"),
+        (0x1D745, "M", "π"),
+        (0x1D746, "M", "ρ"),
+        (0x1D747, "M", "σ"),
+        (0x1D749, "M", "τ"),
+        (0x1D74A, "M", "υ"),
+        (0x1D74B, "M", "φ"),
+        (0x1D74C, "M", "χ"),
+        (0x1D74D, "M", "ψ"),
+        (0x1D74E, "M", "ω"),
     ]
 
+
 def _seg_69() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1D74F, 'M', '∂'),
-    (0x1D750, 'M', 'ε'),
-    (0x1D751, 'M', 'θ'),
-    (0x1D752, 'M', 'κ'),
-    (0x1D753, 'M', 'φ'),
-    (0x1D754, 'M', 'ρ'),
-    (0x1D755, 'M', 'π'),
-    (0x1D756, 'M', 'α'),
-    (0x1D757, 'M', 'β'),
-    (0x1D758, 'M', 'γ'),
-    (0x1D759, 'M', 'δ'),
-    (0x1D75A, 'M', 'ε'),
-    (0x1D75B, 'M', 'ζ'),
-    (0x1D75C, 'M', 'η'),
-    (0x1D75D, 'M', 'θ'),
-    (0x1D75E, 'M', 'ι'),
-    (0x1D75F, 'M', 'κ'),
-    (0x1D760, 'M', 'λ'),
-    (0x1D761, 'M', 'μ'),
-    (0x1D762, 'M', 'ν'),
-    (0x1D763, 'M', 'ξ'),
-    (0x1D764, 'M', 'ο'),
-    (0x1D765, 'M', 'π'),
-    (0x1D766, 'M', 'ρ'),
-    (0x1D767, 'M', 'θ'),
-    (0x1D768, 'M', 'σ'),
-    (0x1D769, 'M', 'τ'),
-    (0x1D76A, 'M', 'υ'),
-    (0x1D76B, 'M', 'φ'),
-    (0x1D76C, 'M', 'χ'),
-    (0x1D76D, 'M', 'ψ'),
-    (0x1D76E, 'M', 'ω'),
-    (0x1D76F, 'M', '∇'),
-    (0x1D770, 'M', 'α'),
-    (0x1D771, 'M', 'β'),
-    (0x1D772, 'M', 'γ'),
-    (0x1D773, 'M', 'δ'),
-    (0x1D774, 'M', 'ε'),
-    (0x1D775, 'M', 'ζ'),
-    (0x1D776, 'M', 'η'),
-    (0x1D777, 'M', 'θ'),
-    (0x1D778, 'M', 'ι'),
-    (0x1D779, 'M', 'κ'),
-    (0x1D77A, 'M', 'λ'),
-    (0x1D77B, 'M', 'μ'),
-    (0x1D77C, 'M', 'ν'),
-    (0x1D77D, 'M', 'ξ'),
-    (0x1D77E, 'M', 'ο'),
-    (0x1D77F, 'M', 'π'),
-    (0x1D780, 'M', 'ρ'),
-    (0x1D781, 'M', 'σ'),
-    (0x1D783, 'M', 'τ'),
-    (0x1D784, 'M', 'υ'),
-    (0x1D785, 'M', 'φ'),
-    (0x1D786, 'M', 'χ'),
-    (0x1D787, 'M', 'ψ'),
-    (0x1D788, 'M', 'ω'),
-    (0x1D789, 'M', '∂'),
-    (0x1D78A, 'M', 'ε'),
-    (0x1D78B, 'M', 'θ'),
-    (0x1D78C, 'M', 'κ'),
-    (0x1D78D, 'M', 'φ'),
-    (0x1D78E, 'M', 'ρ'),
-    (0x1D78F, 'M', 'π'),
-    (0x1D790, 'M', 'α'),
-    (0x1D791, 'M', 'β'),
-    (0x1D792, 'M', 'γ'),
-    (0x1D793, 'M', 'δ'),
-    (0x1D794, 'M', 'ε'),
-    (0x1D795, 'M', 'ζ'),
-    (0x1D796, 'M', 'η'),
-    (0x1D797, 'M', 'θ'),
-    (0x1D798, 'M', 'ι'),
-    (0x1D799, 'M', 'κ'),
-    (0x1D79A, 'M', 'λ'),
-    (0x1D79B, 'M', 'μ'),
-    (0x1D79C, 'M', 'ν'),
-    (0x1D79D, 'M', 'ξ'),
-    (0x1D79E, 'M', 'ο'),
-    (0x1D79F, 'M', 'π'),
-    (0x1D7A0, 'M', 'ρ'),
-    (0x1D7A1, 'M', 'θ'),
-    (0x1D7A2, 'M', 'σ'),
-    (0x1D7A3, 'M', 'τ'),
-    (0x1D7A4, 'M', 'υ'),
-    (0x1D7A5, 'M', 'φ'),
-    (0x1D7A6, 'M', 'χ'),
-    (0x1D7A7, 'M', 'ψ'),
-    (0x1D7A8, 'M', 'ω'),
-    (0x1D7A9, 'M', '∇'),
-    (0x1D7AA, 'M', 'α'),
-    (0x1D7AB, 'M', 'β'),
-    (0x1D7AC, 'M', 'γ'),
-    (0x1D7AD, 'M', 'δ'),
-    (0x1D7AE, 'M', 'ε'),
-    (0x1D7AF, 'M', 'ζ'),
-    (0x1D7B0, 'M', 'η'),
-    (0x1D7B1, 'M', 'θ'),
-    (0x1D7B2, 'M', 'ι'),
-    (0x1D7B3, 'M', 'κ'),
+        (0x1D74F, "M", "∂"),
+        (0x1D750, "M", "ε"),
+        (0x1D751, "M", "θ"),
+        (0x1D752, "M", "κ"),
+        (0x1D753, "M", "φ"),
+        (0x1D754, "M", "ρ"),
+        (0x1D755, "M", "π"),
+        (0x1D756, "M", "α"),
+        (0x1D757, "M", "β"),
+        (0x1D758, "M", "γ"),
+        (0x1D759, "M", "δ"),
+        (0x1D75A, "M", "ε"),
+        (0x1D75B, "M", "ζ"),
+        (0x1D75C, "M", "η"),
+        (0x1D75D, "M", "θ"),
+        (0x1D75E, "M", "ι"),
+        (0x1D75F, "M", "κ"),
+        (0x1D760, "M", "λ"),
+        (0x1D761, "M", "μ"),
+        (0x1D762, "M", "ν"),
+        (0x1D763, "M", "ξ"),
+        (0x1D764, "M", "ο"),
+        (0x1D765, "M", "π"),
+        (0x1D766, "M", "ρ"),
+        (0x1D767, "M", "θ"),
+        (0x1D768, "M", "σ"),
+        (0x1D769, "M", "τ"),
+        (0x1D76A, "M", "υ"),
+        (0x1D76B, "M", "φ"),
+        (0x1D76C, "M", "χ"),
+        (0x1D76D, "M", "ψ"),
+        (0x1D76E, "M", "ω"),
+        (0x1D76F, "M", "∇"),
+        (0x1D770, "M", "α"),
+        (0x1D771, "M", "β"),
+        (0x1D772, "M", "γ"),
+        (0x1D773, "M", "δ"),
+        (0x1D774, "M", "ε"),
+        (0x1D775, "M", "ζ"),
+        (0x1D776, "M", "η"),
+        (0x1D777, "M", "θ"),
+        (0x1D778, "M", "ι"),
+        (0x1D779, "M", "κ"),
+        (0x1D77A, "M", "λ"),
+        (0x1D77B, "M", "μ"),
+        (0x1D77C, "M", "ν"),
+        (0x1D77D, "M", "ξ"),
+        (0x1D77E, "M", "ο"),
+        (0x1D77F, "M", "π"),
+        (0x1D780, "M", "ρ"),
+        (0x1D781, "M", "σ"),
+        (0x1D783, "M", "τ"),
+        (0x1D784, "M", "υ"),
+        (0x1D785, "M", "φ"),
+        (0x1D786, "M", "χ"),
+        (0x1D787, "M", "ψ"),
+        (0x1D788, "M", "ω"),
+        (0x1D789, "M", "∂"),
+        (0x1D78A, "M", "ε"),
+        (0x1D78B, "M", "θ"),
+        (0x1D78C, "M", "κ"),
+        (0x1D78D, "M", "φ"),
+        (0x1D78E, "M", "ρ"),
+        (0x1D78F, "M", "π"),
+        (0x1D790, "M", "α"),
+        (0x1D791, "M", "β"),
+        (0x1D792, "M", "γ"),
+        (0x1D793, "M", "δ"),
+        (0x1D794, "M", "ε"),
+        (0x1D795, "M", "ζ"),
+        (0x1D796, "M", "η"),
+        (0x1D797, "M", "θ"),
+        (0x1D798, "M", "ι"),
+        (0x1D799, "M", "κ"),
+        (0x1D79A, "M", "λ"),
+        (0x1D79B, "M", "μ"),
+        (0x1D79C, "M", "ν"),
+        (0x1D79D, "M", "ξ"),
+        (0x1D79E, "M", "ο"),
+        (0x1D79F, "M", "π"),
+        (0x1D7A0, "M", "ρ"),
+        (0x1D7A1, "M", "θ"),
+        (0x1D7A2, "M", "σ"),
+        (0x1D7A3, "M", "τ"),
+        (0x1D7A4, "M", "υ"),
+        (0x1D7A5, "M", "φ"),
+        (0x1D7A6, "M", "χ"),
+        (0x1D7A7, "M", "ψ"),
+        (0x1D7A8, "M", "ω"),
+        (0x1D7A9, "M", "∇"),
+        (0x1D7AA, "M", "α"),
+        (0x1D7AB, "M", "β"),
+        (0x1D7AC, "M", "γ"),
+        (0x1D7AD, "M", "δ"),
+        (0x1D7AE, "M", "ε"),
+        (0x1D7AF, "M", "ζ"),
+        (0x1D7B0, "M", "η"),
+        (0x1D7B1, "M", "θ"),
+        (0x1D7B2, "M", "ι"),
+        (0x1D7B3, "M", "κ"),
     ]
 
+
 def _seg_70() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1D7B4, 'M', 'λ'),
-    (0x1D7B5, 'M', 'μ'),
-    (0x1D7B6, 'M', 'ν'),
-    (0x1D7B7, 'M', 'ξ'),
-    (0x1D7B8, 'M', 'ο'),
-    (0x1D7B9, 'M', 'π'),
-    (0x1D7BA, 'M', 'ρ'),
-    (0x1D7BB, 'M', 'σ'),
-    (0x1D7BD, 'M', 'τ'),
-    (0x1D7BE, 'M', 'υ'),
-    (0x1D7BF, 'M', 'φ'),
-    (0x1D7C0, 'M', 'χ'),
-    (0x1D7C1, 'M', 'ψ'),
-    (0x1D7C2, 'M', 'ω'),
-    (0x1D7C3, 'M', '∂'),
-    (0x1D7C4, 'M', 'ε'),
-    (0x1D7C5, 'M', 'θ'),
-    (0x1D7C6, 'M', 'κ'),
-    (0x1D7C7, 'M', 'φ'),
-    (0x1D7C8, 'M', 'ρ'),
-    (0x1D7C9, 'M', 'π'),
-    (0x1D7CA, 'M', 'ϝ'),
-    (0x1D7CC, 'X'),
-    (0x1D7CE, 'M', '0'),
-    (0x1D7CF, 'M', '1'),
-    (0x1D7D0, 'M', '2'),
-    (0x1D7D1, 'M', '3'),
-    (0x1D7D2, 'M', '4'),
-    (0x1D7D3, 'M', '5'),
-    (0x1D7D4, 'M', '6'),
-    (0x1D7D5, 'M', '7'),
-    (0x1D7D6, 'M', '8'),
-    (0x1D7D7, 'M', '9'),
-    (0x1D7D8, 'M', '0'),
-    (0x1D7D9, 'M', '1'),
-    (0x1D7DA, 'M', '2'),
-    (0x1D7DB, 'M', '3'),
-    (0x1D7DC, 'M', '4'),
-    (0x1D7DD, 'M', '5'),
-    (0x1D7DE, 'M', '6'),
-    (0x1D7DF, 'M', '7'),
-    (0x1D7E0, 'M', '8'),
-    (0x1D7E1, 'M', '9'),
-    (0x1D7E2, 'M', '0'),
-    (0x1D7E3, 'M', '1'),
-    (0x1D7E4, 'M', '2'),
-    (0x1D7E5, 'M', '3'),
-    (0x1D7E6, 'M', '4'),
-    (0x1D7E7, 'M', '5'),
-    (0x1D7E8, 'M', '6'),
-    (0x1D7E9, 'M', '7'),
-    (0x1D7EA, 'M', '8'),
-    (0x1D7EB, 'M', '9'),
-    (0x1D7EC, 'M', '0'),
-    (0x1D7ED, 'M', '1'),
-    (0x1D7EE, 'M', '2'),
-    (0x1D7EF, 'M', '3'),
-    (0x1D7F0, 'M', '4'),
-    (0x1D7F1, 'M', '5'),
-    (0x1D7F2, 'M', '6'),
-    (0x1D7F3, 'M', '7'),
-    (0x1D7F4, 'M', '8'),
-    (0x1D7F5, 'M', '9'),
-    (0x1D7F6, 'M', '0'),
-    (0x1D7F7, 'M', '1'),
-    (0x1D7F8, 'M', '2'),
-    (0x1D7F9, 'M', '3'),
-    (0x1D7FA, 'M', '4'),
-    (0x1D7FB, 'M', '5'),
-    (0x1D7FC, 'M', '6'),
-    (0x1D7FD, 'M', '7'),
-    (0x1D7FE, 'M', '8'),
-    (0x1D7FF, 'M', '9'),
-    (0x1D800, 'V'),
-    (0x1DA8C, 'X'),
-    (0x1DA9B, 'V'),
-    (0x1DAA0, 'X'),
-    (0x1DAA1, 'V'),
-    (0x1DAB0, 'X'),
-    (0x1DF00, 'V'),
-    (0x1DF1F, 'X'),
-    (0x1DF25, 'V'),
-    (0x1DF2B, 'X'),
-    (0x1E000, 'V'),
-    (0x1E007, 'X'),
-    (0x1E008, 'V'),
-    (0x1E019, 'X'),
-    (0x1E01B, 'V'),
-    (0x1E022, 'X'),
-    (0x1E023, 'V'),
-    (0x1E025, 'X'),
-    (0x1E026, 'V'),
-    (0x1E02B, 'X'),
-    (0x1E030, 'M', 'а'),
-    (0x1E031, 'M', 'б'),
-    (0x1E032, 'M', 'в'),
-    (0x1E033, 'M', 'г'),
-    (0x1E034, 'M', 'д'),
-    (0x1E035, 'M', 'е'),
-    (0x1E036, 'M', 'ж'),
+        (0x1D7B4, "M", "λ"),
+        (0x1D7B5, "M", "μ"),
+        (0x1D7B6, "M", "ν"),
+        (0x1D7B7, "M", "ξ"),
+        (0x1D7B8, "M", "ο"),
+        (0x1D7B9, "M", "π"),
+        (0x1D7BA, "M", "ρ"),
+        (0x1D7BB, "M", "σ"),
+        (0x1D7BD, "M", "τ"),
+        (0x1D7BE, "M", "υ"),
+        (0x1D7BF, "M", "φ"),
+        (0x1D7C0, "M", "χ"),
+        (0x1D7C1, "M", "ψ"),
+        (0x1D7C2, "M", "ω"),
+        (0x1D7C3, "M", "∂"),
+        (0x1D7C4, "M", "ε"),
+        (0x1D7C5, "M", "θ"),
+        (0x1D7C6, "M", "κ"),
+        (0x1D7C7, "M", "φ"),
+        (0x1D7C8, "M", "ρ"),
+        (0x1D7C9, "M", "π"),
+        (0x1D7CA, "M", "ϝ"),
+        (0x1D7CC, "X"),
+        (0x1D7CE, "M", "0"),
+        (0x1D7CF, "M", "1"),
+        (0x1D7D0, "M", "2"),
+        (0x1D7D1, "M", "3"),
+        (0x1D7D2, "M", "4"),
+        (0x1D7D3, "M", "5"),
+        (0x1D7D4, "M", "6"),
+        (0x1D7D5, "M", "7"),
+        (0x1D7D6, "M", "8"),
+        (0x1D7D7, "M", "9"),
+        (0x1D7D8, "M", "0"),
+        (0x1D7D9, "M", "1"),
+        (0x1D7DA, "M", "2"),
+        (0x1D7DB, "M", "3"),
+        (0x1D7DC, "M", "4"),
+        (0x1D7DD, "M", "5"),
+        (0x1D7DE, "M", "6"),
+        (0x1D7DF, "M", "7"),
+        (0x1D7E0, "M", "8"),
+        (0x1D7E1, "M", "9"),
+        (0x1D7E2, "M", "0"),
+        (0x1D7E3, "M", "1"),
+        (0x1D7E4, "M", "2"),
+        (0x1D7E5, "M", "3"),
+        (0x1D7E6, "M", "4"),
+        (0x1D7E7, "M", "5"),
+        (0x1D7E8, "M", "6"),
+        (0x1D7E9, "M", "7"),
+        (0x1D7EA, "M", "8"),
+        (0x1D7EB, "M", "9"),
+        (0x1D7EC, "M", "0"),
+        (0x1D7ED, "M", "1"),
+        (0x1D7EE, "M", "2"),
+        (0x1D7EF, "M", "3"),
+        (0x1D7F0, "M", "4"),
+        (0x1D7F1, "M", "5"),
+        (0x1D7F2, "M", "6"),
+        (0x1D7F3, "M", "7"),
+        (0x1D7F4, "M", "8"),
+        (0x1D7F5, "M", "9"),
+        (0x1D7F6, "M", "0"),
+        (0x1D7F7, "M", "1"),
+        (0x1D7F8, "M", "2"),
+        (0x1D7F9, "M", "3"),
+        (0x1D7FA, "M", "4"),
+        (0x1D7FB, "M", "5"),
+        (0x1D7FC, "M", "6"),
+        (0x1D7FD, "M", "7"),
+        (0x1D7FE, "M", "8"),
+        (0x1D7FF, "M", "9"),
+        (0x1D800, "V"),
+        (0x1DA8C, "X"),
+        (0x1DA9B, "V"),
+        (0x1DAA0, "X"),
+        (0x1DAA1, "V"),
+        (0x1DAB0, "X"),
+        (0x1DF00, "V"),
+        (0x1DF1F, "X"),
+        (0x1DF25, "V"),
+        (0x1DF2B, "X"),
+        (0x1E000, "V"),
+        (0x1E007, "X"),
+        (0x1E008, "V"),
+        (0x1E019, "X"),
+        (0x1E01B, "V"),
+        (0x1E022, "X"),
+        (0x1E023, "V"),
+        (0x1E025, "X"),
+        (0x1E026, "V"),
+        (0x1E02B, "X"),
+        (0x1E030, "M", "а"),
+        (0x1E031, "M", "б"),
+        (0x1E032, "M", "в"),
+        (0x1E033, "M", "г"),
+        (0x1E034, "M", "д"),
+        (0x1E035, "M", "е"),
+        (0x1E036, "M", "ж"),
     ]
 
+
 def _seg_71() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1E037, 'M', 'з'),
-    (0x1E038, 'M', 'и'),
-    (0x1E039, 'M', 'к'),
-    (0x1E03A, 'M', 'л'),
-    (0x1E03B, 'M', 'м'),
-    (0x1E03C, 'M', 'о'),
-    (0x1E03D, 'M', 'п'),
-    (0x1E03E, 'M', 'р'),
-    (0x1E03F, 'M', 'с'),
-    (0x1E040, 'M', 'т'),
-    (0x1E041, 'M', 'у'),
-    (0x1E042, 'M', 'ф'),
-    (0x1E043, 'M', 'х'),
-    (0x1E044, 'M', 'ц'),
-    (0x1E045, 'M', 'ч'),
-    (0x1E046, 'M', 'ш'),
-    (0x1E047, 'M', 'ы'),
-    (0x1E048, 'M', 'э'),
-    (0x1E049, 'M', 'ю'),
-    (0x1E04A, 'M', 'ꚉ'),
-    (0x1E04B, 'M', 'ә'),
-    (0x1E04C, 'M', 'і'),
-    (0x1E04D, 'M', 'ј'),
-    (0x1E04E, 'M', 'ө'),
-    (0x1E04F, 'M', 'ү'),
-    (0x1E050, 'M', 'ӏ'),
-    (0x1E051, 'M', 'а'),
-    (0x1E052, 'M', 'б'),
-    (0x1E053, 'M', 'в'),
-    (0x1E054, 'M', 'г'),
-    (0x1E055, 'M', 'д'),
-    (0x1E056, 'M', 'е'),
-    (0x1E057, 'M', 'ж'),
-    (0x1E058, 'M', 'з'),
-    (0x1E059, 'M', 'и'),
-    (0x1E05A, 'M', 'к'),
-    (0x1E05B, 'M', 'л'),
-    (0x1E05C, 'M', 'о'),
-    (0x1E05D, 'M', 'п'),
-    (0x1E05E, 'M', 'с'),
-    (0x1E05F, 'M', 'у'),
-    (0x1E060, 'M', 'ф'),
-    (0x1E061, 'M', 'х'),
-    (0x1E062, 'M', 'ц'),
-    (0x1E063, 'M', 'ч'),
-    (0x1E064, 'M', 'ш'),
-    (0x1E065, 'M', 'ъ'),
-    (0x1E066, 'M', 'ы'),
-    (0x1E067, 'M', 'ґ'),
-    (0x1E068, 'M', 'і'),
-    (0x1E069, 'M', 'ѕ'),
-    (0x1E06A, 'M', 'џ'),
-    (0x1E06B, 'M', 'ҫ'),
-    (0x1E06C, 'M', 'ꙑ'),
-    (0x1E06D, 'M', 'ұ'),
-    (0x1E06E, 'X'),
-    (0x1E08F, 'V'),
-    (0x1E090, 'X'),
-    (0x1E100, 'V'),
-    (0x1E12D, 'X'),
-    (0x1E130, 'V'),
-    (0x1E13E, 'X'),
-    (0x1E140, 'V'),
-    (0x1E14A, 'X'),
-    (0x1E14E, 'V'),
-    (0x1E150, 'X'),
-    (0x1E290, 'V'),
-    (0x1E2AF, 'X'),
-    (0x1E2C0, 'V'),
-    (0x1E2FA, 'X'),
-    (0x1E2FF, 'V'),
-    (0x1E300, 'X'),
-    (0x1E4D0, 'V'),
-    (0x1E4FA, 'X'),
-    (0x1E7E0, 'V'),
-    (0x1E7E7, 'X'),
-    (0x1E7E8, 'V'),
-    (0x1E7EC, 'X'),
-    (0x1E7ED, 'V'),
-    (0x1E7EF, 'X'),
-    (0x1E7F0, 'V'),
-    (0x1E7FF, 'X'),
-    (0x1E800, 'V'),
-    (0x1E8C5, 'X'),
-    (0x1E8C7, 'V'),
-    (0x1E8D7, 'X'),
-    (0x1E900, 'M', '𞤢'),
-    (0x1E901, 'M', '𞤣'),
-    (0x1E902, 'M', '𞤤'),
-    (0x1E903, 'M', '𞤥'),
-    (0x1E904, 'M', '𞤦'),
-    (0x1E905, 'M', '𞤧'),
-    (0x1E906, 'M', '𞤨'),
-    (0x1E907, 'M', '𞤩'),
-    (0x1E908, 'M', '𞤪'),
-    (0x1E909, 'M', '𞤫'),
-    (0x1E90A, 'M', '𞤬'),
-    (0x1E90B, 'M', '𞤭'),
-    (0x1E90C, 'M', '𞤮'),
-    (0x1E90D, 'M', '𞤯'),
+        (0x1E037, "M", "з"),
+        (0x1E038, "M", "и"),
+        (0x1E039, "M", "к"),
+        (0x1E03A, "M", "л"),
+        (0x1E03B, "M", "м"),
+        (0x1E03C, "M", "о"),
+        (0x1E03D, "M", "п"),
+        (0x1E03E, "M", "р"),
+        (0x1E03F, "M", "с"),
+        (0x1E040, "M", "т"),
+        (0x1E041, "M", "у"),
+        (0x1E042, "M", "ф"),
+        (0x1E043, "M", "х"),
+        (0x1E044, "M", "ц"),
+        (0x1E045, "M", "ч"),
+        (0x1E046, "M", "ш"),
+        (0x1E047, "M", "ы"),
+        (0x1E048, "M", "э"),
+        (0x1E049, "M", "ю"),
+        (0x1E04A, "M", "ꚉ"),
+        (0x1E04B, "M", "ә"),
+        (0x1E04C, "M", "і"),
+        (0x1E04D, "M", "ј"),
+        (0x1E04E, "M", "ө"),
+        (0x1E04F, "M", "ү"),
+        (0x1E050, "M", "ӏ"),
+        (0x1E051, "M", "а"),
+        (0x1E052, "M", "б"),
+        (0x1E053, "M", "в"),
+        (0x1E054, "M", "г"),
+        (0x1E055, "M", "д"),
+        (0x1E056, "M", "е"),
+        (0x1E057, "M", "ж"),
+        (0x1E058, "M", "з"),
+        (0x1E059, "M", "и"),
+        (0x1E05A, "M", "к"),
+        (0x1E05B, "M", "л"),
+        (0x1E05C, "M", "о"),
+        (0x1E05D, "M", "п"),
+        (0x1E05E, "M", "с"),
+        (0x1E05F, "M", "у"),
+        (0x1E060, "M", "ф"),
+        (0x1E061, "M", "х"),
+        (0x1E062, "M", "ц"),
+        (0x1E063, "M", "ч"),
+        (0x1E064, "M", "ш"),
+        (0x1E065, "M", "ъ"),
+        (0x1E066, "M", "ы"),
+        (0x1E067, "M", "ґ"),
+        (0x1E068, "M", "і"),
+        (0x1E069, "M", "ѕ"),
+        (0x1E06A, "M", "џ"),
+        (0x1E06B, "M", "ҫ"),
+        (0x1E06C, "M", "ꙑ"),
+        (0x1E06D, "M", "ұ"),
+        (0x1E06E, "X"),
+        (0x1E08F, "V"),
+        (0x1E090, "X"),
+        (0x1E100, "V"),
+        (0x1E12D, "X"),
+        (0x1E130, "V"),
+        (0x1E13E, "X"),
+        (0x1E140, "V"),
+        (0x1E14A, "X"),
+        (0x1E14E, "V"),
+        (0x1E150, "X"),
+        (0x1E290, "V"),
+        (0x1E2AF, "X"),
+        (0x1E2C0, "V"),
+        (0x1E2FA, "X"),
+        (0x1E2FF, "V"),
+        (0x1E300, "X"),
+        (0x1E4D0, "V"),
+        (0x1E4FA, "X"),
+        (0x1E7E0, "V"),
+        (0x1E7E7, "X"),
+        (0x1E7E8, "V"),
+        (0x1E7EC, "X"),
+        (0x1E7ED, "V"),
+        (0x1E7EF, "X"),
+        (0x1E7F0, "V"),
+        (0x1E7FF, "X"),
+        (0x1E800, "V"),
+        (0x1E8C5, "X"),
+        (0x1E8C7, "V"),
+        (0x1E8D7, "X"),
+        (0x1E900, "M", "𞤢"),
+        (0x1E901, "M", "𞤣"),
+        (0x1E902, "M", "𞤤"),
+        (0x1E903, "M", "𞤥"),
+        (0x1E904, "M", "𞤦"),
+        (0x1E905, "M", "𞤧"),
+        (0x1E906, "M", "𞤨"),
+        (0x1E907, "M", "𞤩"),
+        (0x1E908, "M", "𞤪"),
+        (0x1E909, "M", "𞤫"),
+        (0x1E90A, "M", "𞤬"),
+        (0x1E90B, "M", "𞤭"),
+        (0x1E90C, "M", "𞤮"),
+        (0x1E90D, "M", "𞤯"),
     ]
 
+
 def _seg_72() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1E90E, 'M', '𞤰'),
-    (0x1E90F, 'M', '𞤱'),
-    (0x1E910, 'M', '𞤲'),
-    (0x1E911, 'M', '𞤳'),
-    (0x1E912, 'M', '𞤴'),
-    (0x1E913, 'M', '𞤵'),
-    (0x1E914, 'M', '𞤶'),
-    (0x1E915, 'M', '𞤷'),
-    (0x1E916, 'M', '𞤸'),
-    (0x1E917, 'M', '𞤹'),
-    (0x1E918, 'M', '𞤺'),
-    (0x1E919, 'M', '𞤻'),
-    (0x1E91A, 'M', '𞤼'),
-    (0x1E91B, 'M', '𞤽'),
-    (0x1E91C, 'M', '𞤾'),
-    (0x1E91D, 'M', '𞤿'),
-    (0x1E91E, 'M', '𞥀'),
-    (0x1E91F, 'M', '𞥁'),
-    (0x1E920, 'M', '𞥂'),
-    (0x1E921, 'M', '𞥃'),
-    (0x1E922, 'V'),
-    (0x1E94C, 'X'),
-    (0x1E950, 'V'),
-    (0x1E95A, 'X'),
-    (0x1E95E, 'V'),
-    (0x1E960, 'X'),
-    (0x1EC71, 'V'),
-    (0x1ECB5, 'X'),
-    (0x1ED01, 'V'),
-    (0x1ED3E, 'X'),
-    (0x1EE00, 'M', 'ا'),
-    (0x1EE01, 'M', 'ب'),
-    (0x1EE02, 'M', 'ج'),
-    (0x1EE03, 'M', 'د'),
-    (0x1EE04, 'X'),
-    (0x1EE05, 'M', 'و'),
-    (0x1EE06, 'M', 'ز'),
-    (0x1EE07, 'M', 'ح'),
-    (0x1EE08, 'M', 'ط'),
-    (0x1EE09, 'M', 'ي'),
-    (0x1EE0A, 'M', 'ك'),
-    (0x1EE0B, 'M', 'ل'),
-    (0x1EE0C, 'M', 'م'),
-    (0x1EE0D, 'M', 'ن'),
-    (0x1EE0E, 'M', 'س'),
-    (0x1EE0F, 'M', 'ع'),
-    (0x1EE10, 'M', 'ف'),
-    (0x1EE11, 'M', 'ص'),
-    (0x1EE12, 'M', 'ق'),
-    (0x1EE13, 'M', 'ر'),
-    (0x1EE14, 'M', 'ش'),
-    (0x1EE15, 'M', 'ت'),
-    (0x1EE16, 'M', 'ث'),
-    (0x1EE17, 'M', 'خ'),
-    (0x1EE18, 'M', 'ذ'),
-    (0x1EE19, 'M', 'ض'),
-    (0x1EE1A, 'M', 'ظ'),
-    (0x1EE1B, 'M', 'غ'),
-    (0x1EE1C, 'M', 'ٮ'),
-    (0x1EE1D, 'M', 'ں'),
-    (0x1EE1E, 'M', 'ڡ'),
-    (0x1EE1F, 'M', 'ٯ'),
-    (0x1EE20, 'X'),
-    (0x1EE21, 'M', 'ب'),
-    (0x1EE22, 'M', 'ج'),
-    (0x1EE23, 'X'),
-    (0x1EE24, 'M', 'ه'),
-    (0x1EE25, 'X'),
-    (0x1EE27, 'M', 'ح'),
-    (0x1EE28, 'X'),
-    (0x1EE29, 'M', 'ي'),
-    (0x1EE2A, 'M', 'ك'),
-    (0x1EE2B, 'M', 'ل'),
-    (0x1EE2C, 'M', 'م'),
-    (0x1EE2D, 'M', 'ن'),
-    (0x1EE2E, 'M', 'س'),
-    (0x1EE2F, 'M', 'ع'),
-    (0x1EE30, 'M', 'ف'),
-    (0x1EE31, 'M', 'ص'),
-    (0x1EE32, 'M', 'ق'),
-    (0x1EE33, 'X'),
-    (0x1EE34, 'M', 'ش'),
-    (0x1EE35, 'M', 'ت'),
-    (0x1EE36, 'M', 'ث'),
-    (0x1EE37, 'M', 'خ'),
-    (0x1EE38, 'X'),
-    (0x1EE39, 'M', 'ض'),
-    (0x1EE3A, 'X'),
-    (0x1EE3B, 'M', 'غ'),
-    (0x1EE3C, 'X'),
-    (0x1EE42, 'M', 'ج'),
-    (0x1EE43, 'X'),
-    (0x1EE47, 'M', 'ح'),
-    (0x1EE48, 'X'),
-    (0x1EE49, 'M', 'ي'),
-    (0x1EE4A, 'X'),
-    (0x1EE4B, 'M', 'ل'),
-    (0x1EE4C, 'X'),
-    (0x1EE4D, 'M', 'ن'),
-    (0x1EE4E, 'M', 'س'),
+        (0x1E90E, "M", "𞤰"),
+        (0x1E90F, "M", "𞤱"),
+        (0x1E910, "M", "𞤲"),
+        (0x1E911, "M", "𞤳"),
+        (0x1E912, "M", "𞤴"),
+        (0x1E913, "M", "𞤵"),
+        (0x1E914, "M", "𞤶"),
+        (0x1E915, "M", "𞤷"),
+        (0x1E916, "M", "𞤸"),
+        (0x1E917, "M", "𞤹"),
+        (0x1E918, "M", "𞤺"),
+        (0x1E919, "M", "𞤻"),
+        (0x1E91A, "M", "𞤼"),
+        (0x1E91B, "M", "𞤽"),
+        (0x1E91C, "M", "𞤾"),
+        (0x1E91D, "M", "𞤿"),
+        (0x1E91E, "M", "𞥀"),
+        (0x1E91F, "M", "𞥁"),
+        (0x1E920, "M", "𞥂"),
+        (0x1E921, "M", "𞥃"),
+        (0x1E922, "V"),
+        (0x1E94C, "X"),
+        (0x1E950, "V"),
+        (0x1E95A, "X"),
+        (0x1E95E, "V"),
+        (0x1E960, "X"),
+        (0x1EC71, "V"),
+        (0x1ECB5, "X"),
+        (0x1ED01, "V"),
+        (0x1ED3E, "X"),
+        (0x1EE00, "M", "ا"),
+        (0x1EE01, "M", "ب"),
+        (0x1EE02, "M", "ج"),
+        (0x1EE03, "M", "د"),
+        (0x1EE04, "X"),
+        (0x1EE05, "M", "و"),
+        (0x1EE06, "M", "ز"),
+        (0x1EE07, "M", "ح"),
+        (0x1EE08, "M", "ط"),
+        (0x1EE09, "M", "ي"),
+        (0x1EE0A, "M", "ك"),
+        (0x1EE0B, "M", "ل"),
+        (0x1EE0C, "M", "م"),
+        (0x1EE0D, "M", "ن"),
+        (0x1EE0E, "M", "س"),
+        (0x1EE0F, "M", "ع"),
+        (0x1EE10, "M", "ف"),
+        (0x1EE11, "M", "ص"),
+        (0x1EE12, "M", "ق"),
+        (0x1EE13, "M", "ر"),
+        (0x1EE14, "M", "ش"),
+        (0x1EE15, "M", "ت"),
+        (0x1EE16, "M", "ث"),
+        (0x1EE17, "M", "خ"),
+        (0x1EE18, "M", "ذ"),
+        (0x1EE19, "M", "ض"),
+        (0x1EE1A, "M", "ظ"),
+        (0x1EE1B, "M", "غ"),
+        (0x1EE1C, "M", "ٮ"),
+        (0x1EE1D, "M", "ں"),
+        (0x1EE1E, "M", "ڡ"),
+        (0x1EE1F, "M", "ٯ"),
+        (0x1EE20, "X"),
+        (0x1EE21, "M", "ب"),
+        (0x1EE22, "M", "ج"),
+        (0x1EE23, "X"),
+        (0x1EE24, "M", "ه"),
+        (0x1EE25, "X"),
+        (0x1EE27, "M", "ح"),
+        (0x1EE28, "X"),
+        (0x1EE29, "M", "ي"),
+        (0x1EE2A, "M", "ك"),
+        (0x1EE2B, "M", "ل"),
+        (0x1EE2C, "M", "م"),
+        (0x1EE2D, "M", "ن"),
+        (0x1EE2E, "M", "س"),
+        (0x1EE2F, "M", "ع"),
+        (0x1EE30, "M", "ف"),
+        (0x1EE31, "M", "ص"),
+        (0x1EE32, "M", "ق"),
+        (0x1EE33, "X"),
+        (0x1EE34, "M", "ش"),
+        (0x1EE35, "M", "ت"),
+        (0x1EE36, "M", "ث"),
+        (0x1EE37, "M", "خ"),
+        (0x1EE38, "X"),
+        (0x1EE39, "M", "ض"),
+        (0x1EE3A, "X"),
+        (0x1EE3B, "M", "غ"),
+        (0x1EE3C, "X"),
+        (0x1EE42, "M", "ج"),
+        (0x1EE43, "X"),
+        (0x1EE47, "M", "ح"),
+        (0x1EE48, "X"),
+        (0x1EE49, "M", "ي"),
+        (0x1EE4A, "X"),
+        (0x1EE4B, "M", "ل"),
+        (0x1EE4C, "X"),
+        (0x1EE4D, "M", "ن"),
+        (0x1EE4E, "M", "س"),
     ]
 
+
 def _seg_73() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1EE4F, 'M', 'ع'),
-    (0x1EE50, 'X'),
-    (0x1EE51, 'M', 'ص'),
-    (0x1EE52, 'M', 'ق'),
-    (0x1EE53, 'X'),
-    (0x1EE54, 'M', 'ش'),
-    (0x1EE55, 'X'),
-    (0x1EE57, 'M', 'خ'),
-    (0x1EE58, 'X'),
-    (0x1EE59, 'M', 'ض'),
-    (0x1EE5A, 'X'),
-    (0x1EE5B, 'M', 'غ'),
-    (0x1EE5C, 'X'),
-    (0x1EE5D, 'M', 'ں'),
-    (0x1EE5E, 'X'),
-    (0x1EE5F, 'M', 'ٯ'),
-    (0x1EE60, 'X'),
-    (0x1EE61, 'M', 'ب'),
-    (0x1EE62, 'M', 'ج'),
-    (0x1EE63, 'X'),
-    (0x1EE64, 'M', 'ه'),
-    (0x1EE65, 'X'),
-    (0x1EE67, 'M', 'ح'),
-    (0x1EE68, 'M', 'ط'),
-    (0x1EE69, 'M', 'ي'),
-    (0x1EE6A, 'M', 'ك'),
-    (0x1EE6B, 'X'),
-    (0x1EE6C, 'M', 'م'),
-    (0x1EE6D, 'M', 'ن'),
-    (0x1EE6E, 'M', 'س'),
-    (0x1EE6F, 'M', 'ع'),
-    (0x1EE70, 'M', 'ف'),
-    (0x1EE71, 'M', 'ص'),
-    (0x1EE72, 'M', 'ق'),
-    (0x1EE73, 'X'),
-    (0x1EE74, 'M', 'ش'),
-    (0x1EE75, 'M', 'ت'),
-    (0x1EE76, 'M', 'ث'),
-    (0x1EE77, 'M', 'خ'),
-    (0x1EE78, 'X'),
-    (0x1EE79, 'M', 'ض'),
-    (0x1EE7A, 'M', 'ظ'),
-    (0x1EE7B, 'M', 'غ'),
-    (0x1EE7C, 'M', 'ٮ'),
-    (0x1EE7D, 'X'),
-    (0x1EE7E, 'M', 'ڡ'),
-    (0x1EE7F, 'X'),
-    (0x1EE80, 'M', 'ا'),
-    (0x1EE81, 'M', 'ب'),
-    (0x1EE82, 'M', 'ج'),
-    (0x1EE83, 'M', 'د'),
-    (0x1EE84, 'M', 'ه'),
-    (0x1EE85, 'M', 'و'),
-    (0x1EE86, 'M', 'ز'),
-    (0x1EE87, 'M', 'ح'),
-    (0x1EE88, 'M', 'ط'),
-    (0x1EE89, 'M', 'ي'),
-    (0x1EE8A, 'X'),
-    (0x1EE8B, 'M', 'ل'),
-    (0x1EE8C, 'M', 'م'),
-    (0x1EE8D, 'M', 'ن'),
-    (0x1EE8E, 'M', 'س'),
-    (0x1EE8F, 'M', 'ع'),
-    (0x1EE90, 'M', 'ف'),
-    (0x1EE91, 'M', 'ص'),
-    (0x1EE92, 'M', 'ق'),
-    (0x1EE93, 'M', 'ر'),
-    (0x1EE94, 'M', 'ش'),
-    (0x1EE95, 'M', 'ت'),
-    (0x1EE96, 'M', 'ث'),
-    (0x1EE97, 'M', 'خ'),
-    (0x1EE98, 'M', 'ذ'),
-    (0x1EE99, 'M', 'ض'),
-    (0x1EE9A, 'M', 'ظ'),
-    (0x1EE9B, 'M', 'غ'),
-    (0x1EE9C, 'X'),
-    (0x1EEA1, 'M', 'ب'),
-    (0x1EEA2, 'M', 'ج'),
-    (0x1EEA3, 'M', 'د'),
-    (0x1EEA4, 'X'),
-    (0x1EEA5, 'M', 'و'),
-    (0x1EEA6, 'M', 'ز'),
-    (0x1EEA7, 'M', 'ح'),
-    (0x1EEA8, 'M', 'ط'),
-    (0x1EEA9, 'M', 'ي'),
-    (0x1EEAA, 'X'),
-    (0x1EEAB, 'M', 'ل'),
-    (0x1EEAC, 'M', 'م'),
-    (0x1EEAD, 'M', 'ن'),
-    (0x1EEAE, 'M', 'س'),
-    (0x1EEAF, 'M', 'ع'),
-    (0x1EEB0, 'M', 'ف'),
-    (0x1EEB1, 'M', 'ص'),
-    (0x1EEB2, 'M', 'ق'),
-    (0x1EEB3, 'M', 'ر'),
-    (0x1EEB4, 'M', 'ش'),
-    (0x1EEB5, 'M', 'ت'),
-    (0x1EEB6, 'M', 'ث'),
-    (0x1EEB7, 'M', 'خ'),
-    (0x1EEB8, 'M', 'ذ'),
+        (0x1EE4F, "M", "ع"),
+        (0x1EE50, "X"),
+        (0x1EE51, "M", "ص"),
+        (0x1EE52, "M", "ق"),
+        (0x1EE53, "X"),
+        (0x1EE54, "M", "ش"),
+        (0x1EE55, "X"),
+        (0x1EE57, "M", "خ"),
+        (0x1EE58, "X"),
+        (0x1EE59, "M", "ض"),
+        (0x1EE5A, "X"),
+        (0x1EE5B, "M", "غ"),
+        (0x1EE5C, "X"),
+        (0x1EE5D, "M", "ں"),
+        (0x1EE5E, "X"),
+        (0x1EE5F, "M", "ٯ"),
+        (0x1EE60, "X"),
+        (0x1EE61, "M", "ب"),
+        (0x1EE62, "M", "ج"),
+        (0x1EE63, "X"),
+        (0x1EE64, "M", "ه"),
+        (0x1EE65, "X"),
+        (0x1EE67, "M", "ح"),
+        (0x1EE68, "M", "ط"),
+        (0x1EE69, "M", "ي"),
+        (0x1EE6A, "M", "ك"),
+        (0x1EE6B, "X"),
+        (0x1EE6C, "M", "م"),
+        (0x1EE6D, "M", "ن"),
+        (0x1EE6E, "M", "س"),
+        (0x1EE6F, "M", "ع"),
+        (0x1EE70, "M", "ف"),
+        (0x1EE71, "M", "ص"),
+        (0x1EE72, "M", "ق"),
+        (0x1EE73, "X"),
+        (0x1EE74, "M", "ش"),
+        (0x1EE75, "M", "ت"),
+        (0x1EE76, "M", "ث"),
+        (0x1EE77, "M", "خ"),
+        (0x1EE78, "X"),
+        (0x1EE79, "M", "ض"),
+        (0x1EE7A, "M", "ظ"),
+        (0x1EE7B, "M", "غ"),
+        (0x1EE7C, "M", "ٮ"),
+        (0x1EE7D, "X"),
+        (0x1EE7E, "M", "ڡ"),
+        (0x1EE7F, "X"),
+        (0x1EE80, "M", "ا"),
+        (0x1EE81, "M", "ب"),
+        (0x1EE82, "M", "ج"),
+        (0x1EE83, "M", "د"),
+        (0x1EE84, "M", "ه"),
+        (0x1EE85, "M", "و"),
+        (0x1EE86, "M", "ز"),
+        (0x1EE87, "M", "ح"),
+        (0x1EE88, "M", "ط"),
+        (0x1EE89, "M", "ي"),
+        (0x1EE8A, "X"),
+        (0x1EE8B, "M", "ل"),
+        (0x1EE8C, "M", "م"),
+        (0x1EE8D, "M", "ن"),
+        (0x1EE8E, "M", "س"),
+        (0x1EE8F, "M", "ع"),
+        (0x1EE90, "M", "ف"),
+        (0x1EE91, "M", "ص"),
+        (0x1EE92, "M", "ق"),
+        (0x1EE93, "M", "ر"),
+        (0x1EE94, "M", "ش"),
+        (0x1EE95, "M", "ت"),
+        (0x1EE96, "M", "ث"),
+        (0x1EE97, "M", "خ"),
+        (0x1EE98, "M", "ذ"),
+        (0x1EE99, "M", "ض"),
+        (0x1EE9A, "M", "ظ"),
+        (0x1EE9B, "M", "غ"),
+        (0x1EE9C, "X"),
+        (0x1EEA1, "M", "ب"),
+        (0x1EEA2, "M", "ج"),
+        (0x1EEA3, "M", "د"),
+        (0x1EEA4, "X"),
+        (0x1EEA5, "M", "و"),
+        (0x1EEA6, "M", "ز"),
+        (0x1EEA7, "M", "ح"),
+        (0x1EEA8, "M", "ط"),
+        (0x1EEA9, "M", "ي"),
+        (0x1EEAA, "X"),
+        (0x1EEAB, "M", "ل"),
+        (0x1EEAC, "M", "م"),
+        (0x1EEAD, "M", "ن"),
+        (0x1EEAE, "M", "س"),
+        (0x1EEAF, "M", "ع"),
+        (0x1EEB0, "M", "ف"),
+        (0x1EEB1, "M", "ص"),
+        (0x1EEB2, "M", "ق"),
+        (0x1EEB3, "M", "ر"),
+        (0x1EEB4, "M", "ش"),
+        (0x1EEB5, "M", "ت"),
+        (0x1EEB6, "M", "ث"),
+        (0x1EEB7, "M", "خ"),
+        (0x1EEB8, "M", "ذ"),
     ]
 
+
 def _seg_74() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1EEB9, 'M', 'ض'),
-    (0x1EEBA, 'M', 'ظ'),
-    (0x1EEBB, 'M', 'غ'),
-    (0x1EEBC, 'X'),
-    (0x1EEF0, 'V'),
-    (0x1EEF2, 'X'),
-    (0x1F000, 'V'),
-    (0x1F02C, 'X'),
-    (0x1F030, 'V'),
-    (0x1F094, 'X'),
-    (0x1F0A0, 'V'),
-    (0x1F0AF, 'X'),
-    (0x1F0B1, 'V'),
-    (0x1F0C0, 'X'),
-    (0x1F0C1, 'V'),
-    (0x1F0D0, 'X'),
-    (0x1F0D1, 'V'),
-    (0x1F0F6, 'X'),
-    (0x1F101, '3', '0,'),
-    (0x1F102, '3', '1,'),
-    (0x1F103, '3', '2,'),
-    (0x1F104, '3', '3,'),
-    (0x1F105, '3', '4,'),
-    (0x1F106, '3', '5,'),
-    (0x1F107, '3', '6,'),
-    (0x1F108, '3', '7,'),
-    (0x1F109, '3', '8,'),
-    (0x1F10A, '3', '9,'),
-    (0x1F10B, 'V'),
-    (0x1F110, '3', '(a)'),
-    (0x1F111, '3', '(b)'),
-    (0x1F112, '3', '(c)'),
-    (0x1F113, '3', '(d)'),
-    (0x1F114, '3', '(e)'),
-    (0x1F115, '3', '(f)'),
-    (0x1F116, '3', '(g)'),
-    (0x1F117, '3', '(h)'),
-    (0x1F118, '3', '(i)'),
-    (0x1F119, '3', '(j)'),
-    (0x1F11A, '3', '(k)'),
-    (0x1F11B, '3', '(l)'),
-    (0x1F11C, '3', '(m)'),
-    (0x1F11D, '3', '(n)'),
-    (0x1F11E, '3', '(o)'),
-    (0x1F11F, '3', '(p)'),
-    (0x1F120, '3', '(q)'),
-    (0x1F121, '3', '(r)'),
-    (0x1F122, '3', '(s)'),
-    (0x1F123, '3', '(t)'),
-    (0x1F124, '3', '(u)'),
-    (0x1F125, '3', '(v)'),
-    (0x1F126, '3', '(w)'),
-    (0x1F127, '3', '(x)'),
-    (0x1F128, '3', '(y)'),
-    (0x1F129, '3', '(z)'),
-    (0x1F12A, 'M', '〔s〕'),
-    (0x1F12B, 'M', 'c'),
-    (0x1F12C, 'M', 'r'),
-    (0x1F12D, 'M', 'cd'),
-    (0x1F12E, 'M', 'wz'),
-    (0x1F12F, 'V'),
-    (0x1F130, 'M', 'a'),
-    (0x1F131, 'M', 'b'),
-    (0x1F132, 'M', 'c'),
-    (0x1F133, 'M', 'd'),
-    (0x1F134, 'M', 'e'),
-    (0x1F135, 'M', 'f'),
-    (0x1F136, 'M', 'g'),
-    (0x1F137, 'M', 'h'),
-    (0x1F138, 'M', 'i'),
-    (0x1F139, 'M', 'j'),
-    (0x1F13A, 'M', 'k'),
-    (0x1F13B, 'M', 'l'),
-    (0x1F13C, 'M', 'm'),
-    (0x1F13D, 'M', 'n'),
-    (0x1F13E, 'M', 'o'),
-    (0x1F13F, 'M', 'p'),
-    (0x1F140, 'M', 'q'),
-    (0x1F141, 'M', 'r'),
-    (0x1F142, 'M', 's'),
-    (0x1F143, 'M', 't'),
-    (0x1F144, 'M', 'u'),
-    (0x1F145, 'M', 'v'),
-    (0x1F146, 'M', 'w'),
-    (0x1F147, 'M', 'x'),
-    (0x1F148, 'M', 'y'),
-    (0x1F149, 'M', 'z'),
-    (0x1F14A, 'M', 'hv'),
-    (0x1F14B, 'M', 'mv'),
-    (0x1F14C, 'M', 'sd'),
-    (0x1F14D, 'M', 'ss'),
-    (0x1F14E, 'M', 'ppv'),
-    (0x1F14F, 'M', 'wc'),
-    (0x1F150, 'V'),
-    (0x1F16A, 'M', 'mc'),
-    (0x1F16B, 'M', 'md'),
-    (0x1F16C, 'M', 'mr'),
-    (0x1F16D, 'V'),
-    (0x1F190, 'M', 'dj'),
-    (0x1F191, 'V'),
+        (0x1EEB9, "M", "ض"),
+        (0x1EEBA, "M", "ظ"),
+        (0x1EEBB, "M", "غ"),
+        (0x1EEBC, "X"),
+        (0x1EEF0, "V"),
+        (0x1EEF2, "X"),
+        (0x1F000, "V"),
+        (0x1F02C, "X"),
+        (0x1F030, "V"),
+        (0x1F094, "X"),
+        (0x1F0A0, "V"),
+        (0x1F0AF, "X"),
+        (0x1F0B1, "V"),
+        (0x1F0C0, "X"),
+        (0x1F0C1, "V"),
+        (0x1F0D0, "X"),
+        (0x1F0D1, "V"),
+        (0x1F0F6, "X"),
+        (0x1F101, "3", "0,"),
+        (0x1F102, "3", "1,"),
+        (0x1F103, "3", "2,"),
+        (0x1F104, "3", "3,"),
+        (0x1F105, "3", "4,"),
+        (0x1F106, "3", "5,"),
+        (0x1F107, "3", "6,"),
+        (0x1F108, "3", "7,"),
+        (0x1F109, "3", "8,"),
+        (0x1F10A, "3", "9,"),
+        (0x1F10B, "V"),
+        (0x1F110, "3", "(a)"),
+        (0x1F111, "3", "(b)"),
+        (0x1F112, "3", "(c)"),
+        (0x1F113, "3", "(d)"),
+        (0x1F114, "3", "(e)"),
+        (0x1F115, "3", "(f)"),
+        (0x1F116, "3", "(g)"),
+        (0x1F117, "3", "(h)"),
+        (0x1F118, "3", "(i)"),
+        (0x1F119, "3", "(j)"),
+        (0x1F11A, "3", "(k)"),
+        (0x1F11B, "3", "(l)"),
+        (0x1F11C, "3", "(m)"),
+        (0x1F11D, "3", "(n)"),
+        (0x1F11E, "3", "(o)"),
+        (0x1F11F, "3", "(p)"),
+        (0x1F120, "3", "(q)"),
+        (0x1F121, "3", "(r)"),
+        (0x1F122, "3", "(s)"),
+        (0x1F123, "3", "(t)"),
+        (0x1F124, "3", "(u)"),
+        (0x1F125, "3", "(v)"),
+        (0x1F126, "3", "(w)"),
+        (0x1F127, "3", "(x)"),
+        (0x1F128, "3", "(y)"),
+        (0x1F129, "3", "(z)"),
+        (0x1F12A, "M", "〔s〕"),
+        (0x1F12B, "M", "c"),
+        (0x1F12C, "M", "r"),
+        (0x1F12D, "M", "cd"),
+        (0x1F12E, "M", "wz"),
+        (0x1F12F, "V"),
+        (0x1F130, "M", "a"),
+        (0x1F131, "M", "b"),
+        (0x1F132, "M", "c"),
+        (0x1F133, "M", "d"),
+        (0x1F134, "M", "e"),
+        (0x1F135, "M", "f"),
+        (0x1F136, "M", "g"),
+        (0x1F137, "M", "h"),
+        (0x1F138, "M", "i"),
+        (0x1F139, "M", "j"),
+        (0x1F13A, "M", "k"),
+        (0x1F13B, "M", "l"),
+        (0x1F13C, "M", "m"),
+        (0x1F13D, "M", "n"),
+        (0x1F13E, "M", "o"),
+        (0x1F13F, "M", "p"),
+        (0x1F140, "M", "q"),
+        (0x1F141, "M", "r"),
+        (0x1F142, "M", "s"),
+        (0x1F143, "M", "t"),
+        (0x1F144, "M", "u"),
+        (0x1F145, "M", "v"),
+        (0x1F146, "M", "w"),
+        (0x1F147, "M", "x"),
+        (0x1F148, "M", "y"),
+        (0x1F149, "M", "z"),
+        (0x1F14A, "M", "hv"),
+        (0x1F14B, "M", "mv"),
+        (0x1F14C, "M", "sd"),
+        (0x1F14D, "M", "ss"),
+        (0x1F14E, "M", "ppv"),
+        (0x1F14F, "M", "wc"),
+        (0x1F150, "V"),
+        (0x1F16A, "M", "mc"),
+        (0x1F16B, "M", "md"),
+        (0x1F16C, "M", "mr"),
+        (0x1F16D, "V"),
+        (0x1F190, "M", "dj"),
+        (0x1F191, "V"),
     ]
 
+
 def _seg_75() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1F1AE, 'X'),
-    (0x1F1E6, 'V'),
-    (0x1F200, 'M', 'ほか'),
-    (0x1F201, 'M', 'ココ'),
-    (0x1F202, 'M', 'サ'),
-    (0x1F203, 'X'),
-    (0x1F210, 'M', '手'),
-    (0x1F211, 'M', '字'),
-    (0x1F212, 'M', '双'),
-    (0x1F213, 'M', 'デ'),
-    (0x1F214, 'M', '二'),
-    (0x1F215, 'M', '多'),
-    (0x1F216, 'M', '解'),
-    (0x1F217, 'M', '天'),
-    (0x1F218, 'M', '交'),
-    (0x1F219, 'M', '映'),
-    (0x1F21A, 'M', '無'),
-    (0x1F21B, 'M', '料'),
-    (0x1F21C, 'M', '前'),
-    (0x1F21D, 'M', '後'),
-    (0x1F21E, 'M', '再'),
-    (0x1F21F, 'M', '新'),
-    (0x1F220, 'M', '初'),
-    (0x1F221, 'M', '終'),
-    (0x1F222, 'M', '生'),
-    (0x1F223, 'M', '販'),
-    (0x1F224, 'M', '声'),
-    (0x1F225, 'M', '吹'),
-    (0x1F226, 'M', '演'),
-    (0x1F227, 'M', '投'),
-    (0x1F228, 'M', '捕'),
-    (0x1F229, 'M', '一'),
-    (0x1F22A, 'M', '三'),
-    (0x1F22B, 'M', '遊'),
-    (0x1F22C, 'M', '左'),
-    (0x1F22D, 'M', '中'),
-    (0x1F22E, 'M', '右'),
-    (0x1F22F, 'M', '指'),
-    (0x1F230, 'M', '走'),
-    (0x1F231, 'M', '打'),
-    (0x1F232, 'M', '禁'),
-    (0x1F233, 'M', '空'),
-    (0x1F234, 'M', '合'),
-    (0x1F235, 'M', '満'),
-    (0x1F236, 'M', '有'),
-    (0x1F237, 'M', '月'),
-    (0x1F238, 'M', '申'),
-    (0x1F239, 'M', '割'),
-    (0x1F23A, 'M', '営'),
-    (0x1F23B, 'M', '配'),
-    (0x1F23C, 'X'),
-    (0x1F240, 'M', '〔本〕'),
-    (0x1F241, 'M', '〔三〕'),
-    (0x1F242, 'M', '〔二〕'),
-    (0x1F243, 'M', '〔安〕'),
-    (0x1F244, 'M', '〔点〕'),
-    (0x1F245, 'M', '〔打〕'),
-    (0x1F246, 'M', '〔盗〕'),
-    (0x1F247, 'M', '〔勝〕'),
-    (0x1F248, 'M', '〔敗〕'),
-    (0x1F249, 'X'),
-    (0x1F250, 'M', '得'),
-    (0x1F251, 'M', '可'),
-    (0x1F252, 'X'),
-    (0x1F260, 'V'),
-    (0x1F266, 'X'),
-    (0x1F300, 'V'),
-    (0x1F6D8, 'X'),
-    (0x1F6DC, 'V'),
-    (0x1F6ED, 'X'),
-    (0x1F6F0, 'V'),
-    (0x1F6FD, 'X'),
-    (0x1F700, 'V'),
-    (0x1F777, 'X'),
-    (0x1F77B, 'V'),
-    (0x1F7DA, 'X'),
-    (0x1F7E0, 'V'),
-    (0x1F7EC, 'X'),
-    (0x1F7F0, 'V'),
-    (0x1F7F1, 'X'),
-    (0x1F800, 'V'),
-    (0x1F80C, 'X'),
-    (0x1F810, 'V'),
-    (0x1F848, 'X'),
-    (0x1F850, 'V'),
-    (0x1F85A, 'X'),
-    (0x1F860, 'V'),
-    (0x1F888, 'X'),
-    (0x1F890, 'V'),
-    (0x1F8AE, 'X'),
-    (0x1F8B0, 'V'),
-    (0x1F8B2, 'X'),
-    (0x1F900, 'V'),
-    (0x1FA54, 'X'),
-    (0x1FA60, 'V'),
-    (0x1FA6E, 'X'),
-    (0x1FA70, 'V'),
-    (0x1FA7D, 'X'),
-    (0x1FA80, 'V'),
-    (0x1FA89, 'X'),
+        (0x1F1AE, "X"),
+        (0x1F1E6, "V"),
+        (0x1F200, "M", "ほか"),
+        (0x1F201, "M", "ココ"),
+        (0x1F202, "M", "サ"),
+        (0x1F203, "X"),
+        (0x1F210, "M", "手"),
+        (0x1F211, "M", "字"),
+        (0x1F212, "M", "双"),
+        (0x1F213, "M", "デ"),
+        (0x1F214, "M", "二"),
+        (0x1F215, "M", "多"),
+        (0x1F216, "M", "解"),
+        (0x1F217, "M", "天"),
+        (0x1F218, "M", "交"),
+        (0x1F219, "M", "映"),
+        (0x1F21A, "M", "無"),
+        (0x1F21B, "M", "料"),
+        (0x1F21C, "M", "前"),
+        (0x1F21D, "M", "後"),
+        (0x1F21E, "M", "再"),
+        (0x1F21F, "M", "新"),
+        (0x1F220, "M", "初"),
+        (0x1F221, "M", "終"),
+        (0x1F222, "M", "生"),
+        (0x1F223, "M", "販"),
+        (0x1F224, "M", "声"),
+        (0x1F225, "M", "吹"),
+        (0x1F226, "M", "演"),
+        (0x1F227, "M", "投"),
+        (0x1F228, "M", "捕"),
+        (0x1F229, "M", "一"),
+        (0x1F22A, "M", "三"),
+        (0x1F22B, "M", "遊"),
+        (0x1F22C, "M", "左"),
+        (0x1F22D, "M", "中"),
+        (0x1F22E, "M", "右"),
+        (0x1F22F, "M", "指"),
+        (0x1F230, "M", "走"),
+        (0x1F231, "M", "打"),
+        (0x1F232, "M", "禁"),
+        (0x1F233, "M", "空"),
+        (0x1F234, "M", "合"),
+        (0x1F235, "M", "満"),
+        (0x1F236, "M", "有"),
+        (0x1F237, "M", "月"),
+        (0x1F238, "M", "申"),
+        (0x1F239, "M", "割"),
+        (0x1F23A, "M", "営"),
+        (0x1F23B, "M", "配"),
+        (0x1F23C, "X"),
+        (0x1F240, "M", "〔本〕"),
+        (0x1F241, "M", "〔三〕"),
+        (0x1F242, "M", "〔二〕"),
+        (0x1F243, "M", "〔安〕"),
+        (0x1F244, "M", "〔点〕"),
+        (0x1F245, "M", "〔打〕"),
+        (0x1F246, "M", "〔盗〕"),
+        (0x1F247, "M", "〔勝〕"),
+        (0x1F248, "M", "〔敗〕"),
+        (0x1F249, "X"),
+        (0x1F250, "M", "得"),
+        (0x1F251, "M", "可"),
+        (0x1F252, "X"),
+        (0x1F260, "V"),
+        (0x1F266, "X"),
+        (0x1F300, "V"),
+        (0x1F6D8, "X"),
+        (0x1F6DC, "V"),
+        (0x1F6ED, "X"),
+        (0x1F6F0, "V"),
+        (0x1F6FD, "X"),
+        (0x1F700, "V"),
+        (0x1F777, "X"),
+        (0x1F77B, "V"),
+        (0x1F7DA, "X"),
+        (0x1F7E0, "V"),
+        (0x1F7EC, "X"),
+        (0x1F7F0, "V"),
+        (0x1F7F1, "X"),
+        (0x1F800, "V"),
+        (0x1F80C, "X"),
+        (0x1F810, "V"),
+        (0x1F848, "X"),
+        (0x1F850, "V"),
+        (0x1F85A, "X"),
+        (0x1F860, "V"),
+        (0x1F888, "X"),
+        (0x1F890, "V"),
+        (0x1F8AE, "X"),
+        (0x1F8B0, "V"),
+        (0x1F8B2, "X"),
+        (0x1F900, "V"),
+        (0x1FA54, "X"),
+        (0x1FA60, "V"),
+        (0x1FA6E, "X"),
+        (0x1FA70, "V"),
+        (0x1FA7D, "X"),
+        (0x1FA80, "V"),
+        (0x1FA89, "X"),
     ]
 
+
 def _seg_76() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x1FA90, 'V'),
-    (0x1FABE, 'X'),
-    (0x1FABF, 'V'),
-    (0x1FAC6, 'X'),
-    (0x1FACE, 'V'),
-    (0x1FADC, 'X'),
-    (0x1FAE0, 'V'),
-    (0x1FAE9, 'X'),
-    (0x1FAF0, 'V'),
-    (0x1FAF9, 'X'),
-    (0x1FB00, 'V'),
-    (0x1FB93, 'X'),
-    (0x1FB94, 'V'),
-    (0x1FBCB, 'X'),
-    (0x1FBF0, 'M', '0'),
-    (0x1FBF1, 'M', '1'),
-    (0x1FBF2, 'M', '2'),
-    (0x1FBF3, 'M', '3'),
-    (0x1FBF4, 'M', '4'),
-    (0x1FBF5, 'M', '5'),
-    (0x1FBF6, 'M', '6'),
-    (0x1FBF7, 'M', '7'),
-    (0x1FBF8, 'M', '8'),
-    (0x1FBF9, 'M', '9'),
-    (0x1FBFA, 'X'),
-    (0x20000, 'V'),
-    (0x2A6E0, 'X'),
-    (0x2A700, 'V'),
-    (0x2B73A, 'X'),
-    (0x2B740, 'V'),
-    (0x2B81E, 'X'),
-    (0x2B820, 'V'),
-    (0x2CEA2, 'X'),
-    (0x2CEB0, 'V'),
-    (0x2EBE1, 'X'),
-    (0x2EBF0, 'V'),
-    (0x2EE5E, 'X'),
-    (0x2F800, 'M', '丽'),
-    (0x2F801, 'M', '丸'),
-    (0x2F802, 'M', '乁'),
-    (0x2F803, 'M', '𠄢'),
-    (0x2F804, 'M', '你'),
-    (0x2F805, 'M', '侮'),
-    (0x2F806, 'M', '侻'),
-    (0x2F807, 'M', '倂'),
-    (0x2F808, 'M', '偺'),
-    (0x2F809, 'M', '備'),
-    (0x2F80A, 'M', '僧'),
-    (0x2F80B, 'M', '像'),
-    (0x2F80C, 'M', '㒞'),
-    (0x2F80D, 'M', '𠘺'),
-    (0x2F80E, 'M', '免'),
-    (0x2F80F, 'M', '兔'),
-    (0x2F810, 'M', '兤'),
-    (0x2F811, 'M', '具'),
-    (0x2F812, 'M', '𠔜'),
-    (0x2F813, 'M', '㒹'),
-    (0x2F814, 'M', '內'),
-    (0x2F815, 'M', '再'),
-    (0x2F816, 'M', '𠕋'),
-    (0x2F817, 'M', '冗'),
-    (0x2F818, 'M', '冤'),
-    (0x2F819, 'M', '仌'),
-    (0x2F81A, 'M', '冬'),
-    (0x2F81B, 'M', '况'),
-    (0x2F81C, 'M', '𩇟'),
-    (0x2F81D, 'M', '凵'),
-    (0x2F81E, 'M', '刃'),
-    (0x2F81F, 'M', '㓟'),
-    (0x2F820, 'M', '刻'),
-    (0x2F821, 'M', '剆'),
-    (0x2F822, 'M', '割'),
-    (0x2F823, 'M', '剷'),
-    (0x2F824, 'M', '㔕'),
-    (0x2F825, 'M', '勇'),
-    (0x2F826, 'M', '勉'),
-    (0x2F827, 'M', '勤'),
-    (0x2F828, 'M', '勺'),
-    (0x2F829, 'M', '包'),
-    (0x2F82A, 'M', '匆'),
-    (0x2F82B, 'M', '北'),
-    (0x2F82C, 'M', '卉'),
-    (0x2F82D, 'M', '卑'),
-    (0x2F82E, 'M', '博'),
-    (0x2F82F, 'M', '即'),
-    (0x2F830, 'M', '卽'),
-    (0x2F831, 'M', '卿'),
-    (0x2F834, 'M', '𠨬'),
-    (0x2F835, 'M', '灰'),
-    (0x2F836, 'M', '及'),
-    (0x2F837, 'M', '叟'),
-    (0x2F838, 'M', '𠭣'),
-    (0x2F839, 'M', '叫'),
-    (0x2F83A, 'M', '叱'),
-    (0x2F83B, 'M', '吆'),
-    (0x2F83C, 'M', '咞'),
-    (0x2F83D, 'M', '吸'),
-    (0x2F83E, 'M', '呈'),
-    (0x2F83F, 'M', '周'),
-    (0x2F840, 'M', '咢'),
+        (0x1FA90, "V"),
+        (0x1FABE, "X"),
+        (0x1FABF, "V"),
+        (0x1FAC6, "X"),
+        (0x1FACE, "V"),
+        (0x1FADC, "X"),
+        (0x1FAE0, "V"),
+        (0x1FAE9, "X"),
+        (0x1FAF0, "V"),
+        (0x1FAF9, "X"),
+        (0x1FB00, "V"),
+        (0x1FB93, "X"),
+        (0x1FB94, "V"),
+        (0x1FBCB, "X"),
+        (0x1FBF0, "M", "0"),
+        (0x1FBF1, "M", "1"),
+        (0x1FBF2, "M", "2"),
+        (0x1FBF3, "M", "3"),
+        (0x1FBF4, "M", "4"),
+        (0x1FBF5, "M", "5"),
+        (0x1FBF6, "M", "6"),
+        (0x1FBF7, "M", "7"),
+        (0x1FBF8, "M", "8"),
+        (0x1FBF9, "M", "9"),
+        (0x1FBFA, "X"),
+        (0x20000, "V"),
+        (0x2A6E0, "X"),
+        (0x2A700, "V"),
+        (0x2B73A, "X"),
+        (0x2B740, "V"),
+        (0x2B81E, "X"),
+        (0x2B820, "V"),
+        (0x2CEA2, "X"),
+        (0x2CEB0, "V"),
+        (0x2EBE1, "X"),
+        (0x2EBF0, "V"),
+        (0x2EE5E, "X"),
+        (0x2F800, "M", "丽"),
+        (0x2F801, "M", "丸"),
+        (0x2F802, "M", "乁"),
+        (0x2F803, "M", "𠄢"),
+        (0x2F804, "M", "你"),
+        (0x2F805, "M", "侮"),
+        (0x2F806, "M", "侻"),
+        (0x2F807, "M", "倂"),
+        (0x2F808, "M", "偺"),
+        (0x2F809, "M", "備"),
+        (0x2F80A, "M", "僧"),
+        (0x2F80B, "M", "像"),
+        (0x2F80C, "M", "㒞"),
+        (0x2F80D, "M", "𠘺"),
+        (0x2F80E, "M", "免"),
+        (0x2F80F, "M", "兔"),
+        (0x2F810, "M", "兤"),
+        (0x2F811, "M", "具"),
+        (0x2F812, "M", "𠔜"),
+        (0x2F813, "M", "㒹"),
+        (0x2F814, "M", "內"),
+        (0x2F815, "M", "再"),
+        (0x2F816, "M", "𠕋"),
+        (0x2F817, "M", "冗"),
+        (0x2F818, "M", "冤"),
+        (0x2F819, "M", "仌"),
+        (0x2F81A, "M", "冬"),
+        (0x2F81B, "M", "况"),
+        (0x2F81C, "M", "𩇟"),
+        (0x2F81D, "M", "凵"),
+        (0x2F81E, "M", "刃"),
+        (0x2F81F, "M", "㓟"),
+        (0x2F820, "M", "刻"),
+        (0x2F821, "M", "剆"),
+        (0x2F822, "M", "割"),
+        (0x2F823, "M", "剷"),
+        (0x2F824, "M", "㔕"),
+        (0x2F825, "M", "勇"),
+        (0x2F826, "M", "勉"),
+        (0x2F827, "M", "勤"),
+        (0x2F828, "M", "勺"),
+        (0x2F829, "M", "包"),
+        (0x2F82A, "M", "匆"),
+        (0x2F82B, "M", "北"),
+        (0x2F82C, "M", "卉"),
+        (0x2F82D, "M", "卑"),
+        (0x2F82E, "M", "博"),
+        (0x2F82F, "M", "即"),
+        (0x2F830, "M", "卽"),
+        (0x2F831, "M", "卿"),
+        (0x2F834, "M", "𠨬"),
+        (0x2F835, "M", "灰"),
+        (0x2F836, "M", "及"),
+        (0x2F837, "M", "叟"),
+        (0x2F838, "M", "𠭣"),
+        (0x2F839, "M", "叫"),
+        (0x2F83A, "M", "叱"),
+        (0x2F83B, "M", "吆"),
+        (0x2F83C, "M", "咞"),
+        (0x2F83D, "M", "吸"),
+        (0x2F83E, "M", "呈"),
+        (0x2F83F, "M", "周"),
+        (0x2F840, "M", "咢"),
     ]
 
+
 def _seg_77() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x2F841, 'M', '哶'),
-    (0x2F842, 'M', '唐'),
-    (0x2F843, 'M', '啓'),
-    (0x2F844, 'M', '啣'),
-    (0x2F845, 'M', '善'),
-    (0x2F847, 'M', '喙'),
-    (0x2F848, 'M', '喫'),
-    (0x2F849, 'M', '喳'),
-    (0x2F84A, 'M', '嗂'),
-    (0x2F84B, 'M', '圖'),
-    (0x2F84C, 'M', '嘆'),
-    (0x2F84D, 'M', '圗'),
-    (0x2F84E, 'M', '噑'),
-    (0x2F84F, 'M', '噴'),
-    (0x2F850, 'M', '切'),
-    (0x2F851, 'M', '壮'),
-    (0x2F852, 'M', '城'),
-    (0x2F853, 'M', '埴'),
-    (0x2F854, 'M', '堍'),
-    (0x2F855, 'M', '型'),
-    (0x2F856, 'M', '堲'),
-    (0x2F857, 'M', '報'),
-    (0x2F858, 'M', '墬'),
-    (0x2F859, 'M', '𡓤'),
-    (0x2F85A, 'M', '売'),
-    (0x2F85B, 'M', '壷'),
-    (0x2F85C, 'M', '夆'),
-    (0x2F85D, 'M', '多'),
-    (0x2F85E, 'M', '夢'),
-    (0x2F85F, 'M', '奢'),
-    (0x2F860, 'M', '𡚨'),
-    (0x2F861, 'M', '𡛪'),
-    (0x2F862, 'M', '姬'),
-    (0x2F863, 'M', '娛'),
-    (0x2F864, 'M', '娧'),
-    (0x2F865, 'M', '姘'),
-    (0x2F866, 'M', '婦'),
-    (0x2F867, 'M', '㛮'),
-    (0x2F868, 'X'),
-    (0x2F869, 'M', '嬈'),
-    (0x2F86A, 'M', '嬾'),
-    (0x2F86C, 'M', '𡧈'),
-    (0x2F86D, 'M', '寃'),
-    (0x2F86E, 'M', '寘'),
-    (0x2F86F, 'M', '寧'),
-    (0x2F870, 'M', '寳'),
-    (0x2F871, 'M', '𡬘'),
-    (0x2F872, 'M', '寿'),
-    (0x2F873, 'M', '将'),
-    (0x2F874, 'X'),
-    (0x2F875, 'M', '尢'),
-    (0x2F876, 'M', '㞁'),
-    (0x2F877, 'M', '屠'),
-    (0x2F878, 'M', '屮'),
-    (0x2F879, 'M', '峀'),
-    (0x2F87A, 'M', '岍'),
-    (0x2F87B, 'M', '𡷤'),
-    (0x2F87C, 'M', '嵃'),
-    (0x2F87D, 'M', '𡷦'),
-    (0x2F87E, 'M', '嵮'),
-    (0x2F87F, 'M', '嵫'),
-    (0x2F880, 'M', '嵼'),
-    (0x2F881, 'M', '巡'),
-    (0x2F882, 'M', '巢'),
-    (0x2F883, 'M', '㠯'),
-    (0x2F884, 'M', '巽'),
-    (0x2F885, 'M', '帨'),
-    (0x2F886, 'M', '帽'),
-    (0x2F887, 'M', '幩'),
-    (0x2F888, 'M', '㡢'),
-    (0x2F889, 'M', '𢆃'),
-    (0x2F88A, 'M', '㡼'),
-    (0x2F88B, 'M', '庰'),
-    (0x2F88C, 'M', '庳'),
-    (0x2F88D, 'M', '庶'),
-    (0x2F88E, 'M', '廊'),
-    (0x2F88F, 'M', '𪎒'),
-    (0x2F890, 'M', '廾'),
-    (0x2F891, 'M', '𢌱'),
-    (0x2F893, 'M', '舁'),
-    (0x2F894, 'M', '弢'),
-    (0x2F896, 'M', '㣇'),
-    (0x2F897, 'M', '𣊸'),
-    (0x2F898, 'M', '𦇚'),
-    (0x2F899, 'M', '形'),
-    (0x2F89A, 'M', '彫'),
-    (0x2F89B, 'M', '㣣'),
-    (0x2F89C, 'M', '徚'),
-    (0x2F89D, 'M', '忍'),
-    (0x2F89E, 'M', '志'),
-    (0x2F89F, 'M', '忹'),
-    (0x2F8A0, 'M', '悁'),
-    (0x2F8A1, 'M', '㤺'),
-    (0x2F8A2, 'M', '㤜'),
-    (0x2F8A3, 'M', '悔'),
-    (0x2F8A4, 'M', '𢛔'),
-    (0x2F8A5, 'M', '惇'),
-    (0x2F8A6, 'M', '慈'),
-    (0x2F8A7, 'M', '慌'),
-    (0x2F8A8, 'M', '慎'),
+        (0x2F841, "M", "哶"),
+        (0x2F842, "M", "唐"),
+        (0x2F843, "M", "啓"),
+        (0x2F844, "M", "啣"),
+        (0x2F845, "M", "善"),
+        (0x2F847, "M", "喙"),
+        (0x2F848, "M", "喫"),
+        (0x2F849, "M", "喳"),
+        (0x2F84A, "M", "嗂"),
+        (0x2F84B, "M", "圖"),
+        (0x2F84C, "M", "嘆"),
+        (0x2F84D, "M", "圗"),
+        (0x2F84E, "M", "噑"),
+        (0x2F84F, "M", "噴"),
+        (0x2F850, "M", "切"),
+        (0x2F851, "M", "壮"),
+        (0x2F852, "M", "城"),
+        (0x2F853, "M", "埴"),
+        (0x2F854, "M", "堍"),
+        (0x2F855, "M", "型"),
+        (0x2F856, "M", "堲"),
+        (0x2F857, "M", "報"),
+        (0x2F858, "M", "墬"),
+        (0x2F859, "M", "𡓤"),
+        (0x2F85A, "M", "売"),
+        (0x2F85B, "M", "壷"),
+        (0x2F85C, "M", "夆"),
+        (0x2F85D, "M", "多"),
+        (0x2F85E, "M", "夢"),
+        (0x2F85F, "M", "奢"),
+        (0x2F860, "M", "𡚨"),
+        (0x2F861, "M", "𡛪"),
+        (0x2F862, "M", "姬"),
+        (0x2F863, "M", "娛"),
+        (0x2F864, "M", "娧"),
+        (0x2F865, "M", "姘"),
+        (0x2F866, "M", "婦"),
+        (0x2F867, "M", "㛮"),
+        (0x2F868, "X"),
+        (0x2F869, "M", "嬈"),
+        (0x2F86A, "M", "嬾"),
+        (0x2F86C, "M", "𡧈"),
+        (0x2F86D, "M", "寃"),
+        (0x2F86E, "M", "寘"),
+        (0x2F86F, "M", "寧"),
+        (0x2F870, "M", "寳"),
+        (0x2F871, "M", "𡬘"),
+        (0x2F872, "M", "寿"),
+        (0x2F873, "M", "将"),
+        (0x2F874, "X"),
+        (0x2F875, "M", "尢"),
+        (0x2F876, "M", "㞁"),
+        (0x2F877, "M", "屠"),
+        (0x2F878, "M", "屮"),
+        (0x2F879, "M", "峀"),
+        (0x2F87A, "M", "岍"),
+        (0x2F87B, "M", "𡷤"),
+        (0x2F87C, "M", "嵃"),
+        (0x2F87D, "M", "𡷦"),
+        (0x2F87E, "M", "嵮"),
+        (0x2F87F, "M", "嵫"),
+        (0x2F880, "M", "嵼"),
+        (0x2F881, "M", "巡"),
+        (0x2F882, "M", "巢"),
+        (0x2F883, "M", "㠯"),
+        (0x2F884, "M", "巽"),
+        (0x2F885, "M", "帨"),
+        (0x2F886, "M", "帽"),
+        (0x2F887, "M", "幩"),
+        (0x2F888, "M", "㡢"),
+        (0x2F889, "M", "𢆃"),
+        (0x2F88A, "M", "㡼"),
+        (0x2F88B, "M", "庰"),
+        (0x2F88C, "M", "庳"),
+        (0x2F88D, "M", "庶"),
+        (0x2F88E, "M", "廊"),
+        (0x2F88F, "M", "𪎒"),
+        (0x2F890, "M", "廾"),
+        (0x2F891, "M", "𢌱"),
+        (0x2F893, "M", "舁"),
+        (0x2F894, "M", "弢"),
+        (0x2F896, "M", "㣇"),
+        (0x2F897, "M", "𣊸"),
+        (0x2F898, "M", "𦇚"),
+        (0x2F899, "M", "形"),
+        (0x2F89A, "M", "彫"),
+        (0x2F89B, "M", "㣣"),
+        (0x2F89C, "M", "徚"),
+        (0x2F89D, "M", "忍"),
+        (0x2F89E, "M", "志"),
+        (0x2F89F, "M", "忹"),
+        (0x2F8A0, "M", "悁"),
+        (0x2F8A1, "M", "㤺"),
+        (0x2F8A2, "M", "㤜"),
+        (0x2F8A3, "M", "悔"),
+        (0x2F8A4, "M", "𢛔"),
+        (0x2F8A5, "M", "惇"),
+        (0x2F8A6, "M", "慈"),
+        (0x2F8A7, "M", "慌"),
+        (0x2F8A8, "M", "慎"),
     ]
 
+
 def _seg_78() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x2F8A9, 'M', '慌'),
-    (0x2F8AA, 'M', '慺'),
-    (0x2F8AB, 'M', '憎'),
-    (0x2F8AC, 'M', '憲'),
-    (0x2F8AD, 'M', '憤'),
-    (0x2F8AE, 'M', '憯'),
-    (0x2F8AF, 'M', '懞'),
-    (0x2F8B0, 'M', '懲'),
-    (0x2F8B1, 'M', '懶'),
-    (0x2F8B2, 'M', '成'),
-    (0x2F8B3, 'M', '戛'),
-    (0x2F8B4, 'M', '扝'),
-    (0x2F8B5, 'M', '抱'),
-    (0x2F8B6, 'M', '拔'),
-    (0x2F8B7, 'M', '捐'),
-    (0x2F8B8, 'M', '𢬌'),
-    (0x2F8B9, 'M', '挽'),
-    (0x2F8BA, 'M', '拼'),
-    (0x2F8BB, 'M', '捨'),
-    (0x2F8BC, 'M', '掃'),
-    (0x2F8BD, 'M', '揤'),
-    (0x2F8BE, 'M', '𢯱'),
-    (0x2F8BF, 'M', '搢'),
-    (0x2F8C0, 'M', '揅'),
-    (0x2F8C1, 'M', '掩'),
-    (0x2F8C2, 'M', '㨮'),
-    (0x2F8C3, 'M', '摩'),
-    (0x2F8C4, 'M', '摾'),
-    (0x2F8C5, 'M', '撝'),
-    (0x2F8C6, 'M', '摷'),
-    (0x2F8C7, 'M', '㩬'),
-    (0x2F8C8, 'M', '敏'),
-    (0x2F8C9, 'M', '敬'),
-    (0x2F8CA, 'M', '𣀊'),
-    (0x2F8CB, 'M', '旣'),
-    (0x2F8CC, 'M', '書'),
-    (0x2F8CD, 'M', '晉'),
-    (0x2F8CE, 'M', '㬙'),
-    (0x2F8CF, 'M', '暑'),
-    (0x2F8D0, 'M', '㬈'),
-    (0x2F8D1, 'M', '㫤'),
-    (0x2F8D2, 'M', '冒'),
-    (0x2F8D3, 'M', '冕'),
-    (0x2F8D4, 'M', '最'),
-    (0x2F8D5, 'M', '暜'),
-    (0x2F8D6, 'M', '肭'),
-    (0x2F8D7, 'M', '䏙'),
-    (0x2F8D8, 'M', '朗'),
-    (0x2F8D9, 'M', '望'),
-    (0x2F8DA, 'M', '朡'),
-    (0x2F8DB, 'M', '杞'),
-    (0x2F8DC, 'M', '杓'),
-    (0x2F8DD, 'M', '𣏃'),
-    (0x2F8DE, 'M', '㭉'),
-    (0x2F8DF, 'M', '柺'),
-    (0x2F8E0, 'M', '枅'),
-    (0x2F8E1, 'M', '桒'),
-    (0x2F8E2, 'M', '梅'),
-    (0x2F8E3, 'M', '𣑭'),
-    (0x2F8E4, 'M', '梎'),
-    (0x2F8E5, 'M', '栟'),
-    (0x2F8E6, 'M', '椔'),
-    (0x2F8E7, 'M', '㮝'),
-    (0x2F8E8, 'M', '楂'),
-    (0x2F8E9, 'M', '榣'),
-    (0x2F8EA, 'M', '槪'),
-    (0x2F8EB, 'M', '檨'),
-    (0x2F8EC, 'M', '𣚣'),
-    (0x2F8ED, 'M', '櫛'),
-    (0x2F8EE, 'M', '㰘'),
-    (0x2F8EF, 'M', '次'),
-    (0x2F8F0, 'M', '𣢧'),
-    (0x2F8F1, 'M', '歔'),
-    (0x2F8F2, 'M', '㱎'),
-    (0x2F8F3, 'M', '歲'),
-    (0x2F8F4, 'M', '殟'),
-    (0x2F8F5, 'M', '殺'),
-    (0x2F8F6, 'M', '殻'),
-    (0x2F8F7, 'M', '𣪍'),
-    (0x2F8F8, 'M', '𡴋'),
-    (0x2F8F9, 'M', '𣫺'),
-    (0x2F8FA, 'M', '汎'),
-    (0x2F8FB, 'M', '𣲼'),
-    (0x2F8FC, 'M', '沿'),
-    (0x2F8FD, 'M', '泍'),
-    (0x2F8FE, 'M', '汧'),
-    (0x2F8FF, 'M', '洖'),
-    (0x2F900, 'M', '派'),
-    (0x2F901, 'M', '海'),
-    (0x2F902, 'M', '流'),
-    (0x2F903, 'M', '浩'),
-    (0x2F904, 'M', '浸'),
-    (0x2F905, 'M', '涅'),
-    (0x2F906, 'M', '𣴞'),
-    (0x2F907, 'M', '洴'),
-    (0x2F908, 'M', '港'),
-    (0x2F909, 'M', '湮'),
-    (0x2F90A, 'M', '㴳'),
-    (0x2F90B, 'M', '滋'),
-    (0x2F90C, 'M', '滇'),
+        (0x2F8A9, "M", "慌"),
+        (0x2F8AA, "M", "慺"),
+        (0x2F8AB, "M", "憎"),
+        (0x2F8AC, "M", "憲"),
+        (0x2F8AD, "M", "憤"),
+        (0x2F8AE, "M", "憯"),
+        (0x2F8AF, "M", "懞"),
+        (0x2F8B0, "M", "懲"),
+        (0x2F8B1, "M", "懶"),
+        (0x2F8B2, "M", "成"),
+        (0x2F8B3, "M", "戛"),
+        (0x2F8B4, "M", "扝"),
+        (0x2F8B5, "M", "抱"),
+        (0x2F8B6, "M", "拔"),
+        (0x2F8B7, "M", "捐"),
+        (0x2F8B8, "M", "𢬌"),
+        (0x2F8B9, "M", "挽"),
+        (0x2F8BA, "M", "拼"),
+        (0x2F8BB, "M", "捨"),
+        (0x2F8BC, "M", "掃"),
+        (0x2F8BD, "M", "揤"),
+        (0x2F8BE, "M", "𢯱"),
+        (0x2F8BF, "M", "搢"),
+        (0x2F8C0, "M", "揅"),
+        (0x2F8C1, "M", "掩"),
+        (0x2F8C2, "M", "㨮"),
+        (0x2F8C3, "M", "摩"),
+        (0x2F8C4, "M", "摾"),
+        (0x2F8C5, "M", "撝"),
+        (0x2F8C6, "M", "摷"),
+        (0x2F8C7, "M", "㩬"),
+        (0x2F8C8, "M", "敏"),
+        (0x2F8C9, "M", "敬"),
+        (0x2F8CA, "M", "𣀊"),
+        (0x2F8CB, "M", "旣"),
+        (0x2F8CC, "M", "書"),
+        (0x2F8CD, "M", "晉"),
+        (0x2F8CE, "M", "㬙"),
+        (0x2F8CF, "M", "暑"),
+        (0x2F8D0, "M", "㬈"),
+        (0x2F8D1, "M", "㫤"),
+        (0x2F8D2, "M", "冒"),
+        (0x2F8D3, "M", "冕"),
+        (0x2F8D4, "M", "最"),
+        (0x2F8D5, "M", "暜"),
+        (0x2F8D6, "M", "肭"),
+        (0x2F8D7, "M", "䏙"),
+        (0x2F8D8, "M", "朗"),
+        (0x2F8D9, "M", "望"),
+        (0x2F8DA, "M", "朡"),
+        (0x2F8DB, "M", "杞"),
+        (0x2F8DC, "M", "杓"),
+        (0x2F8DD, "M", "𣏃"),
+        (0x2F8DE, "M", "㭉"),
+        (0x2F8DF, "M", "柺"),
+        (0x2F8E0, "M", "枅"),
+        (0x2F8E1, "M", "桒"),
+        (0x2F8E2, "M", "梅"),
+        (0x2F8E3, "M", "𣑭"),
+        (0x2F8E4, "M", "梎"),
+        (0x2F8E5, "M", "栟"),
+        (0x2F8E6, "M", "椔"),
+        (0x2F8E7, "M", "㮝"),
+        (0x2F8E8, "M", "楂"),
+        (0x2F8E9, "M", "榣"),
+        (0x2F8EA, "M", "槪"),
+        (0x2F8EB, "M", "檨"),
+        (0x2F8EC, "M", "𣚣"),
+        (0x2F8ED, "M", "櫛"),
+        (0x2F8EE, "M", "㰘"),
+        (0x2F8EF, "M", "次"),
+        (0x2F8F0, "M", "𣢧"),
+        (0x2F8F1, "M", "歔"),
+        (0x2F8F2, "M", "㱎"),
+        (0x2F8F3, "M", "歲"),
+        (0x2F8F4, "M", "殟"),
+        (0x2F8F5, "M", "殺"),
+        (0x2F8F6, "M", "殻"),
+        (0x2F8F7, "M", "𣪍"),
+        (0x2F8F8, "M", "𡴋"),
+        (0x2F8F9, "M", "𣫺"),
+        (0x2F8FA, "M", "汎"),
+        (0x2F8FB, "M", "𣲼"),
+        (0x2F8FC, "M", "沿"),
+        (0x2F8FD, "M", "泍"),
+        (0x2F8FE, "M", "汧"),
+        (0x2F8FF, "M", "洖"),
+        (0x2F900, "M", "派"),
+        (0x2F901, "M", "海"),
+        (0x2F902, "M", "流"),
+        (0x2F903, "M", "浩"),
+        (0x2F904, "M", "浸"),
+        (0x2F905, "M", "涅"),
+        (0x2F906, "M", "𣴞"),
+        (0x2F907, "M", "洴"),
+        (0x2F908, "M", "港"),
+        (0x2F909, "M", "湮"),
+        (0x2F90A, "M", "㴳"),
+        (0x2F90B, "M", "滋"),
+        (0x2F90C, "M", "滇"),
     ]
 
+
 def _seg_79() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x2F90D, 'M', '𣻑'),
-    (0x2F90E, 'M', '淹'),
-    (0x2F90F, 'M', '潮'),
-    (0x2F910, 'M', '𣽞'),
-    (0x2F911, 'M', '𣾎'),
-    (0x2F912, 'M', '濆'),
-    (0x2F913, 'M', '瀹'),
-    (0x2F914, 'M', '瀞'),
-    (0x2F915, 'M', '瀛'),
-    (0x2F916, 'M', '㶖'),
-    (0x2F917, 'M', '灊'),
-    (0x2F918, 'M', '災'),
-    (0x2F919, 'M', '灷'),
-    (0x2F91A, 'M', '炭'),
-    (0x2F91B, 'M', '𠔥'),
-    (0x2F91C, 'M', '煅'),
-    (0x2F91D, 'M', '𤉣'),
-    (0x2F91E, 'M', '熜'),
-    (0x2F91F, 'X'),
-    (0x2F920, 'M', '爨'),
-    (0x2F921, 'M', '爵'),
-    (0x2F922, 'M', '牐'),
-    (0x2F923, 'M', '𤘈'),
-    (0x2F924, 'M', '犀'),
-    (0x2F925, 'M', '犕'),
-    (0x2F926, 'M', '𤜵'),
-    (0x2F927, 'M', '𤠔'),
-    (0x2F928, 'M', '獺'),
-    (0x2F929, 'M', '王'),
-    (0x2F92A, 'M', '㺬'),
-    (0x2F92B, 'M', '玥'),
-    (0x2F92C, 'M', '㺸'),
-    (0x2F92E, 'M', '瑇'),
-    (0x2F92F, 'M', '瑜'),
-    (0x2F930, 'M', '瑱'),
-    (0x2F931, 'M', '璅'),
-    (0x2F932, 'M', '瓊'),
-    (0x2F933, 'M', '㼛'),
-    (0x2F934, 'M', '甤'),
-    (0x2F935, 'M', '𤰶'),
-    (0x2F936, 'M', '甾'),
-    (0x2F937, 'M', '𤲒'),
-    (0x2F938, 'M', '異'),
-    (0x2F939, 'M', '𢆟'),
-    (0x2F93A, 'M', '瘐'),
-    (0x2F93B, 'M', '𤾡'),
-    (0x2F93C, 'M', '𤾸'),
-    (0x2F93D, 'M', '𥁄'),
-    (0x2F93E, 'M', '㿼'),
-    (0x2F93F, 'M', '䀈'),
-    (0x2F940, 'M', '直'),
-    (0x2F941, 'M', '𥃳'),
-    (0x2F942, 'M', '𥃲'),
-    (0x2F943, 'M', '𥄙'),
-    (0x2F944, 'M', '𥄳'),
-    (0x2F945, 'M', '眞'),
-    (0x2F946, 'M', '真'),
-    (0x2F948, 'M', '睊'),
-    (0x2F949, 'M', '䀹'),
-    (0x2F94A, 'M', '瞋'),
-    (0x2F94B, 'M', '䁆'),
-    (0x2F94C, 'M', '䂖'),
-    (0x2F94D, 'M', '𥐝'),
-    (0x2F94E, 'M', '硎'),
-    (0x2F94F, 'M', '碌'),
-    (0x2F950, 'M', '磌'),
-    (0x2F951, 'M', '䃣'),
-    (0x2F952, 'M', '𥘦'),
-    (0x2F953, 'M', '祖'),
-    (0x2F954, 'M', '𥚚'),
-    (0x2F955, 'M', '𥛅'),
-    (0x2F956, 'M', '福'),
-    (0x2F957, 'M', '秫'),
-    (0x2F958, 'M', '䄯'),
-    (0x2F959, 'M', '穀'),
-    (0x2F95A, 'M', '穊'),
-    (0x2F95B, 'M', '穏'),
-    (0x2F95C, 'M', '𥥼'),
-    (0x2F95D, 'M', '𥪧'),
-    (0x2F95F, 'X'),
-    (0x2F960, 'M', '䈂'),
-    (0x2F961, 'M', '𥮫'),
-    (0x2F962, 'M', '篆'),
-    (0x2F963, 'M', '築'),
-    (0x2F964, 'M', '䈧'),
-    (0x2F965, 'M', '𥲀'),
-    (0x2F966, 'M', '糒'),
-    (0x2F967, 'M', '䊠'),
-    (0x2F968, 'M', '糨'),
-    (0x2F969, 'M', '糣'),
-    (0x2F96A, 'M', '紀'),
-    (0x2F96B, 'M', '𥾆'),
-    (0x2F96C, 'M', '絣'),
-    (0x2F96D, 'M', '䌁'),
-    (0x2F96E, 'M', '緇'),
-    (0x2F96F, 'M', '縂'),
-    (0x2F970, 'M', '繅'),
-    (0x2F971, 'M', '䌴'),
-    (0x2F972, 'M', '𦈨'),
-    (0x2F973, 'M', '𦉇'),
+        (0x2F90D, "M", "𣻑"),
+        (0x2F90E, "M", "淹"),
+        (0x2F90F, "M", "潮"),
+        (0x2F910, "M", "𣽞"),
+        (0x2F911, "M", "𣾎"),
+        (0x2F912, "M", "濆"),
+        (0x2F913, "M", "瀹"),
+        (0x2F914, "M", "瀞"),
+        (0x2F915, "M", "瀛"),
+        (0x2F916, "M", "㶖"),
+        (0x2F917, "M", "灊"),
+        (0x2F918, "M", "災"),
+        (0x2F919, "M", "灷"),
+        (0x2F91A, "M", "炭"),
+        (0x2F91B, "M", "𠔥"),
+        (0x2F91C, "M", "煅"),
+        (0x2F91D, "M", "𤉣"),
+        (0x2F91E, "M", "熜"),
+        (0x2F91F, "X"),
+        (0x2F920, "M", "爨"),
+        (0x2F921, "M", "爵"),
+        (0x2F922, "M", "牐"),
+        (0x2F923, "M", "𤘈"),
+        (0x2F924, "M", "犀"),
+        (0x2F925, "M", "犕"),
+        (0x2F926, "M", "𤜵"),
+        (0x2F927, "M", "𤠔"),
+        (0x2F928, "M", "獺"),
+        (0x2F929, "M", "王"),
+        (0x2F92A, "M", "㺬"),
+        (0x2F92B, "M", "玥"),
+        (0x2F92C, "M", "㺸"),
+        (0x2F92E, "M", "瑇"),
+        (0x2F92F, "M", "瑜"),
+        (0x2F930, "M", "瑱"),
+        (0x2F931, "M", "璅"),
+        (0x2F932, "M", "瓊"),
+        (0x2F933, "M", "㼛"),
+        (0x2F934, "M", "甤"),
+        (0x2F935, "M", "𤰶"),
+        (0x2F936, "M", "甾"),
+        (0x2F937, "M", "𤲒"),
+        (0x2F938, "M", "異"),
+        (0x2F939, "M", "𢆟"),
+        (0x2F93A, "M", "瘐"),
+        (0x2F93B, "M", "𤾡"),
+        (0x2F93C, "M", "𤾸"),
+        (0x2F93D, "M", "𥁄"),
+        (0x2F93E, "M", "㿼"),
+        (0x2F93F, "M", "䀈"),
+        (0x2F940, "M", "直"),
+        (0x2F941, "M", "𥃳"),
+        (0x2F942, "M", "𥃲"),
+        (0x2F943, "M", "𥄙"),
+        (0x2F944, "M", "𥄳"),
+        (0x2F945, "M", "眞"),
+        (0x2F946, "M", "真"),
+        (0x2F948, "M", "睊"),
+        (0x2F949, "M", "䀹"),
+        (0x2F94A, "M", "瞋"),
+        (0x2F94B, "M", "䁆"),
+        (0x2F94C, "M", "䂖"),
+        (0x2F94D, "M", "𥐝"),
+        (0x2F94E, "M", "硎"),
+        (0x2F94F, "M", "碌"),
+        (0x2F950, "M", "磌"),
+        (0x2F951, "M", "䃣"),
+        (0x2F952, "M", "𥘦"),
+        (0x2F953, "M", "祖"),
+        (0x2F954, "M", "𥚚"),
+        (0x2F955, "M", "𥛅"),
+        (0x2F956, "M", "福"),
+        (0x2F957, "M", "秫"),
+        (0x2F958, "M", "䄯"),
+        (0x2F959, "M", "穀"),
+        (0x2F95A, "M", "穊"),
+        (0x2F95B, "M", "穏"),
+        (0x2F95C, "M", "𥥼"),
+        (0x2F95D, "M", "𥪧"),
+        (0x2F95F, "X"),
+        (0x2F960, "M", "䈂"),
+        (0x2F961, "M", "𥮫"),
+        (0x2F962, "M", "篆"),
+        (0x2F963, "M", "築"),
+        (0x2F964, "M", "䈧"),
+        (0x2F965, "M", "𥲀"),
+        (0x2F966, "M", "糒"),
+        (0x2F967, "M", "䊠"),
+        (0x2F968, "M", "糨"),
+        (0x2F969, "M", "糣"),
+        (0x2F96A, "M", "紀"),
+        (0x2F96B, "M", "𥾆"),
+        (0x2F96C, "M", "絣"),
+        (0x2F96D, "M", "䌁"),
+        (0x2F96E, "M", "緇"),
+        (0x2F96F, "M", "縂"),
+        (0x2F970, "M", "繅"),
+        (0x2F971, "M", "䌴"),
+        (0x2F972, "M", "𦈨"),
+        (0x2F973, "M", "𦉇"),
     ]
 
+
 def _seg_80() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x2F974, 'M', '䍙'),
-    (0x2F975, 'M', '𦋙'),
-    (0x2F976, 'M', '罺'),
-    (0x2F977, 'M', '𦌾'),
-    (0x2F978, 'M', '羕'),
-    (0x2F979, 'M', '翺'),
-    (0x2F97A, 'M', '者'),
-    (0x2F97B, 'M', '𦓚'),
-    (0x2F97C, 'M', '𦔣'),
-    (0x2F97D, 'M', '聠'),
-    (0x2F97E, 'M', '𦖨'),
-    (0x2F97F, 'M', '聰'),
-    (0x2F980, 'M', '𣍟'),
-    (0x2F981, 'M', '䏕'),
-    (0x2F982, 'M', '育'),
-    (0x2F983, 'M', '脃'),
-    (0x2F984, 'M', '䐋'),
-    (0x2F985, 'M', '脾'),
-    (0x2F986, 'M', '媵'),
-    (0x2F987, 'M', '𦞧'),
-    (0x2F988, 'M', '𦞵'),
-    (0x2F989, 'M', '𣎓'),
-    (0x2F98A, 'M', '𣎜'),
-    (0x2F98B, 'M', '舁'),
-    (0x2F98C, 'M', '舄'),
-    (0x2F98D, 'M', '辞'),
-    (0x2F98E, 'M', '䑫'),
-    (0x2F98F, 'M', '芑'),
-    (0x2F990, 'M', '芋'),
-    (0x2F991, 'M', '芝'),
-    (0x2F992, 'M', '劳'),
-    (0x2F993, 'M', '花'),
-    (0x2F994, 'M', '芳'),
-    (0x2F995, 'M', '芽'),
-    (0x2F996, 'M', '苦'),
-    (0x2F997, 'M', '𦬼'),
-    (0x2F998, 'M', '若'),
-    (0x2F999, 'M', '茝'),
-    (0x2F99A, 'M', '荣'),
-    (0x2F99B, 'M', '莭'),
-    (0x2F99C, 'M', '茣'),
-    (0x2F99D, 'M', '莽'),
-    (0x2F99E, 'M', '菧'),
-    (0x2F99F, 'M', '著'),
-    (0x2F9A0, 'M', '荓'),
-    (0x2F9A1, 'M', '菊'),
-    (0x2F9A2, 'M', '菌'),
-    (0x2F9A3, 'M', '菜'),
-    (0x2F9A4, 'M', '𦰶'),
-    (0x2F9A5, 'M', '𦵫'),
-    (0x2F9A6, 'M', '𦳕'),
-    (0x2F9A7, 'M', '䔫'),
-    (0x2F9A8, 'M', '蓱'),
-    (0x2F9A9, 'M', '蓳'),
-    (0x2F9AA, 'M', '蔖'),
-    (0x2F9AB, 'M', '𧏊'),
-    (0x2F9AC, 'M', '蕤'),
-    (0x2F9AD, 'M', '𦼬'),
-    (0x2F9AE, 'M', '䕝'),
-    (0x2F9AF, 'M', '䕡'),
-    (0x2F9B0, 'M', '𦾱'),
-    (0x2F9B1, 'M', '𧃒'),
-    (0x2F9B2, 'M', '䕫'),
-    (0x2F9B3, 'M', '虐'),
-    (0x2F9B4, 'M', '虜'),
-    (0x2F9B5, 'M', '虧'),
-    (0x2F9B6, 'M', '虩'),
-    (0x2F9B7, 'M', '蚩'),
-    (0x2F9B8, 'M', '蚈'),
-    (0x2F9B9, 'M', '蜎'),
-    (0x2F9BA, 'M', '蛢'),
-    (0x2F9BB, 'M', '蝹'),
-    (0x2F9BC, 'M', '蜨'),
-    (0x2F9BD, 'M', '蝫'),
-    (0x2F9BE, 'M', '螆'),
-    (0x2F9BF, 'X'),
-    (0x2F9C0, 'M', '蟡'),
-    (0x2F9C1, 'M', '蠁'),
-    (0x2F9C2, 'M', '䗹'),
-    (0x2F9C3, 'M', '衠'),
-    (0x2F9C4, 'M', '衣'),
-    (0x2F9C5, 'M', '𧙧'),
-    (0x2F9C6, 'M', '裗'),
-    (0x2F9C7, 'M', '裞'),
-    (0x2F9C8, 'M', '䘵'),
-    (0x2F9C9, 'M', '裺'),
-    (0x2F9CA, 'M', '㒻'),
-    (0x2F9CB, 'M', '𧢮'),
-    (0x2F9CC, 'M', '𧥦'),
-    (0x2F9CD, 'M', '䚾'),
-    (0x2F9CE, 'M', '䛇'),
-    (0x2F9CF, 'M', '誠'),
-    (0x2F9D0, 'M', '諭'),
-    (0x2F9D1, 'M', '變'),
-    (0x2F9D2, 'M', '豕'),
-    (0x2F9D3, 'M', '𧲨'),
-    (0x2F9D4, 'M', '貫'),
-    (0x2F9D5, 'M', '賁'),
-    (0x2F9D6, 'M', '贛'),
-    (0x2F9D7, 'M', '起'),
+        (0x2F974, "M", "䍙"),
+        (0x2F975, "M", "𦋙"),
+        (0x2F976, "M", "罺"),
+        (0x2F977, "M", "𦌾"),
+        (0x2F978, "M", "羕"),
+        (0x2F979, "M", "翺"),
+        (0x2F97A, "M", "者"),
+        (0x2F97B, "M", "𦓚"),
+        (0x2F97C, "M", "𦔣"),
+        (0x2F97D, "M", "聠"),
+        (0x2F97E, "M", "𦖨"),
+        (0x2F97F, "M", "聰"),
+        (0x2F980, "M", "𣍟"),
+        (0x2F981, "M", "䏕"),
+        (0x2F982, "M", "育"),
+        (0x2F983, "M", "脃"),
+        (0x2F984, "M", "䐋"),
+        (0x2F985, "M", "脾"),
+        (0x2F986, "M", "媵"),
+        (0x2F987, "M", "𦞧"),
+        (0x2F988, "M", "𦞵"),
+        (0x2F989, "M", "𣎓"),
+        (0x2F98A, "M", "𣎜"),
+        (0x2F98B, "M", "舁"),
+        (0x2F98C, "M", "舄"),
+        (0x2F98D, "M", "辞"),
+        (0x2F98E, "M", "䑫"),
+        (0x2F98F, "M", "芑"),
+        (0x2F990, "M", "芋"),
+        (0x2F991, "M", "芝"),
+        (0x2F992, "M", "劳"),
+        (0x2F993, "M", "花"),
+        (0x2F994, "M", "芳"),
+        (0x2F995, "M", "芽"),
+        (0x2F996, "M", "苦"),
+        (0x2F997, "M", "𦬼"),
+        (0x2F998, "M", "若"),
+        (0x2F999, "M", "茝"),
+        (0x2F99A, "M", "荣"),
+        (0x2F99B, "M", "莭"),
+        (0x2F99C, "M", "茣"),
+        (0x2F99D, "M", "莽"),
+        (0x2F99E, "M", "菧"),
+        (0x2F99F, "M", "著"),
+        (0x2F9A0, "M", "荓"),
+        (0x2F9A1, "M", "菊"),
+        (0x2F9A2, "M", "菌"),
+        (0x2F9A3, "M", "菜"),
+        (0x2F9A4, "M", "𦰶"),
+        (0x2F9A5, "M", "𦵫"),
+        (0x2F9A6, "M", "𦳕"),
+        (0x2F9A7, "M", "䔫"),
+        (0x2F9A8, "M", "蓱"),
+        (0x2F9A9, "M", "蓳"),
+        (0x2F9AA, "M", "蔖"),
+        (0x2F9AB, "M", "𧏊"),
+        (0x2F9AC, "M", "蕤"),
+        (0x2F9AD, "M", "𦼬"),
+        (0x2F9AE, "M", "䕝"),
+        (0x2F9AF, "M", "䕡"),
+        (0x2F9B0, "M", "𦾱"),
+        (0x2F9B1, "M", "𧃒"),
+        (0x2F9B2, "M", "䕫"),
+        (0x2F9B3, "M", "虐"),
+        (0x2F9B4, "M", "虜"),
+        (0x2F9B5, "M", "虧"),
+        (0x2F9B6, "M", "虩"),
+        (0x2F9B7, "M", "蚩"),
+        (0x2F9B8, "M", "蚈"),
+        (0x2F9B9, "M", "蜎"),
+        (0x2F9BA, "M", "蛢"),
+        (0x2F9BB, "M", "蝹"),
+        (0x2F9BC, "M", "蜨"),
+        (0x2F9BD, "M", "蝫"),
+        (0x2F9BE, "M", "螆"),
+        (0x2F9BF, "X"),
+        (0x2F9C0, "M", "蟡"),
+        (0x2F9C1, "M", "蠁"),
+        (0x2F9C2, "M", "䗹"),
+        (0x2F9C3, "M", "衠"),
+        (0x2F9C4, "M", "衣"),
+        (0x2F9C5, "M", "𧙧"),
+        (0x2F9C6, "M", "裗"),
+        (0x2F9C7, "M", "裞"),
+        (0x2F9C8, "M", "䘵"),
+        (0x2F9C9, "M", "裺"),
+        (0x2F9CA, "M", "㒻"),
+        (0x2F9CB, "M", "𧢮"),
+        (0x2F9CC, "M", "𧥦"),
+        (0x2F9CD, "M", "䚾"),
+        (0x2F9CE, "M", "䛇"),
+        (0x2F9CF, "M", "誠"),
+        (0x2F9D0, "M", "諭"),
+        (0x2F9D1, "M", "變"),
+        (0x2F9D2, "M", "豕"),
+        (0x2F9D3, "M", "𧲨"),
+        (0x2F9D4, "M", "貫"),
+        (0x2F9D5, "M", "賁"),
+        (0x2F9D6, "M", "贛"),
+        (0x2F9D7, "M", "起"),
     ]
 
+
 def _seg_81() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:
     return [
-    (0x2F9D8, 'M', '𧼯'),
-    (0x2F9D9, 'M', '𠠄'),
-    (0x2F9DA, 'M', '跋'),
-    (0x2F9DB, 'M', '趼'),
-    (0x2F9DC, 'M', '跰'),
-    (0x2F9DD, 'M', '𠣞'),
-    (0x2F9DE, 'M', '軔'),
-    (0x2F9DF, 'M', '輸'),
-    (0x2F9E0, 'M', '𨗒'),
-    (0x2F9E1, 'M', '𨗭'),
-    (0x2F9E2, 'M', '邔'),
-    (0x2F9E3, 'M', '郱'),
-    (0x2F9E4, 'M', '鄑'),
-    (0x2F9E5, 'M', '𨜮'),
-    (0x2F9E6, 'M', '鄛'),
-    (0x2F9E7, 'M', '鈸'),
-    (0x2F9E8, 'M', '鋗'),
-    (0x2F9E9, 'M', '鋘'),
-    (0x2F9EA, 'M', '鉼'),
-    (0x2F9EB, 'M', '鏹'),
-    (0x2F9EC, 'M', '鐕'),
-    (0x2F9ED, 'M', '𨯺'),
-    (0x2F9EE, 'M', '開'),
-    (0x2F9EF, 'M', '䦕'),
-    (0x2F9F0, 'M', '閷'),
-    (0x2F9F1, 'M', '𨵷'),
-    (0x2F9F2, 'M', '䧦'),
-    (0x2F9F3, 'M', '雃'),
-    (0x2F9F4, 'M', '嶲'),
-    (0x2F9F5, 'M', '霣'),
-    (0x2F9F6, 'M', '𩅅'),
-    (0x2F9F7, 'M', '𩈚'),
-    (0x2F9F8, 'M', '䩮'),
-    (0x2F9F9, 'M', '䩶'),
-    (0x2F9FA, 'M', '韠'),
-    (0x2F9FB, 'M', '𩐊'),
-    (0x2F9FC, 'M', '䪲'),
-    (0x2F9FD, 'M', '𩒖'),
-    (0x2F9FE, 'M', '頋'),
-    (0x2FA00, 'M', '頩'),
-    (0x2FA01, 'M', '𩖶'),
-    (0x2FA02, 'M', '飢'),
-    (0x2FA03, 'M', '䬳'),
-    (0x2FA04, 'M', '餩'),
-    (0x2FA05, 'M', '馧'),
-    (0x2FA06, 'M', '駂'),
-    (0x2FA07, 'M', '駾'),
-    (0x2FA08, 'M', '䯎'),
-    (0x2FA09, 'M', '𩬰'),
-    (0x2FA0A, 'M', '鬒'),
-    (0x2FA0B, 'M', '鱀'),
-    (0x2FA0C, 'M', '鳽'),
-    (0x2FA0D, 'M', '䳎'),
-    (0x2FA0E, 'M', '䳭'),
-    (0x2FA0F, 'M', '鵧'),
-    (0x2FA10, 'M', '𪃎'),
-    (0x2FA11, 'M', '䳸'),
-    (0x2FA12, 'M', '𪄅'),
-    (0x2FA13, 'M', '𪈎'),
-    (0x2FA14, 'M', '𪊑'),
-    (0x2FA15, 'M', '麻'),
-    (0x2FA16, 'M', '䵖'),
-    (0x2FA17, 'M', '黹'),
-    (0x2FA18, 'M', '黾'),
-    (0x2FA19, 'M', '鼅'),
-    (0x2FA1A, 'M', '鼏'),
-    (0x2FA1B, 'M', '鼖'),
-    (0x2FA1C, 'M', '鼻'),
-    (0x2FA1D, 'M', '𪘀'),
-    (0x2FA1E, 'X'),
-    (0x30000, 'V'),
-    (0x3134B, 'X'),
-    (0x31350, 'V'),
-    (0x323B0, 'X'),
-    (0xE0100, 'I'),
-    (0xE01F0, 'X'),
+        (0x2F9D8, "M", "𧼯"),
+        (0x2F9D9, "M", "𠠄"),
+        (0x2F9DA, "M", "跋"),
+        (0x2F9DB, "M", "趼"),
+        (0x2F9DC, "M", "跰"),
+        (0x2F9DD, "M", "𠣞"),
+        (0x2F9DE, "M", "軔"),
+        (0x2F9DF, "M", "輸"),
+        (0x2F9E0, "M", "𨗒"),
+        (0x2F9E1, "M", "𨗭"),
+        (0x2F9E2, "M", "邔"),
+        (0x2F9E3, "M", "郱"),
+        (0x2F9E4, "M", "鄑"),
+        (0x2F9E5, "M", "𨜮"),
+        (0x2F9E6, "M", "鄛"),
+        (0x2F9E7, "M", "鈸"),
+        (0x2F9E8, "M", "鋗"),
+        (0x2F9E9, "M", "鋘"),
+        (0x2F9EA, "M", "鉼"),
+        (0x2F9EB, "M", "鏹"),
+        (0x2F9EC, "M", "鐕"),
+        (0x2F9ED, "M", "𨯺"),
+        (0x2F9EE, "M", "開"),
+        (0x2F9EF, "M", "䦕"),
+        (0x2F9F0, "M", "閷"),
+        (0x2F9F1, "M", "𨵷"),
+        (0x2F9F2, "M", "䧦"),
+        (0x2F9F3, "M", "雃"),
+        (0x2F9F4, "M", "嶲"),
+        (0x2F9F5, "M", "霣"),
+        (0x2F9F6, "M", "𩅅"),
+        (0x2F9F7, "M", "𩈚"),
+        (0x2F9F8, "M", "䩮"),
+        (0x2F9F9, "M", "䩶"),
+        (0x2F9FA, "M", "韠"),
+        (0x2F9FB, "M", "𩐊"),
+        (0x2F9FC, "M", "䪲"),
+        (0x2F9FD, "M", "𩒖"),
+        (0x2F9FE, "M", "頋"),
+        (0x2FA00, "M", "頩"),
+        (0x2FA01, "M", "𩖶"),
+        (0x2FA02, "M", "飢"),
+        (0x2FA03, "M", "䬳"),
+        (0x2FA04, "M", "餩"),
+        (0x2FA05, "M", "馧"),
+        (0x2FA06, "M", "駂"),
+        (0x2FA07, "M", "駾"),
+        (0x2FA08, "M", "䯎"),
+        (0x2FA09, "M", "𩬰"),
+        (0x2FA0A, "M", "鬒"),
+        (0x2FA0B, "M", "鱀"),
+        (0x2FA0C, "M", "鳽"),
+        (0x2FA0D, "M", "䳎"),
+        (0x2FA0E, "M", "䳭"),
+        (0x2FA0F, "M", "鵧"),
+        (0x2FA10, "M", "𪃎"),
+        (0x2FA11, "M", "䳸"),
+        (0x2FA12, "M", "𪄅"),
+        (0x2FA13, "M", "𪈎"),
+        (0x2FA14, "M", "𪊑"),
+        (0x2FA15, "M", "麻"),
+        (0x2FA16, "M", "䵖"),
+        (0x2FA17, "M", "黹"),
+        (0x2FA18, "M", "黾"),
+        (0x2FA19, "M", "鼅"),
+        (0x2FA1A, "M", "鼏"),
+        (0x2FA1B, "M", "鼖"),
+        (0x2FA1C, "M", "鼻"),
+        (0x2FA1D, "M", "𪘀"),
+        (0x2FA1E, "X"),
+        (0x30000, "V"),
+        (0x3134B, "X"),
+        (0x31350, "V"),
+        (0x323B0, "X"),
+        (0xE0100, "I"),
+        (0xE01F0, "X"),
     ]
 
+
 uts46data = tuple(
     _seg_0()
     + _seg_1()
diff --git a/pyproject.toml b/pyproject.toml
index 7642e82..aacdecf 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -44,3 +44,18 @@
 [tool.flit.sdist]
 exclude = [".gitignore", ".github/"]
 include = ["tests", "tools", "HISTORY.rst"]
+
+[project.optional-dependencies]
+all = [
+    "ruff >= 0.6.2",
+    "mypy >= 1.11.2",
+    "pytest >= 8.3.2",
+    "flake8 >= 7.1.1",
+]
+
+[tool.ruff]
+line-length = 127
+[tool.ruff.lint]
+extend-select = [
+    "I",            # isort
+]
diff --git a/tests/test_idna.py b/tests/test_idna.py
index 0641eeb..b59f5e5 100755
--- a/tests/test_idna.py
+++ b/tests/test_idna.py
@@ -6,95 +6,96 @@
 
 
 class IDNATests(unittest.TestCase):
-
     def setUp(self):
         self.tld_strings = [
-            ['\u6d4b\u8bd5', b'xn--0zwm56d'],
-            ['\u092a\u0930\u0940\u0915\u094d\u0937\u093e', b'xn--11b5bs3a9aj6g'],
-            ['\ud55c\uad6d', b'xn--3e0b707e'],
-            ['\u09ad\u09be\u09b0\u09a4', b'xn--45brj9c'],
-            ['\u09ac\u09be\u0982\u09b2\u09be', b'xn--54b7fta0cc'],
-            ['\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435', b'xn--80akhbyknj4f'],
-            ['\u0441\u0440\u0431', b'xn--90a3ac'],
-            ['\ud14c\uc2a4\ud2b8', b'xn--9t4b11yi5a'],
-            ['\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd', b'xn--clchc0ea0b2g2a9gcd'],
-            ['\u05d8\u05e2\u05e1\u05d8', b'xn--deba0ad'],
-            ['\u4e2d\u56fd', b'xn--fiqs8s'],
-            ['\u4e2d\u570b', b'xn--fiqz9s'],
-            ['\u0c2d\u0c3e\u0c30\u0c24\u0c4d', b'xn--fpcrj9c3d'],
-            ['\u0dbd\u0d82\u0d9a\u0dcf', b'xn--fzc2c9e2c'],
-            ['\u6e2c\u8a66', b'xn--g6w251d'],
-            ['\u0aad\u0abe\u0ab0\u0aa4', b'xn--gecrj9c'],
-            ['\u092d\u093e\u0930\u0924', b'xn--h2brj9c'],
-            ['\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc', b'xn--hgbk6aj7f53bba'],
-            ['\u0baa\u0bb0\u0bbf\u0b9f\u0bcd\u0b9a\u0bc8', b'xn--hlcj6aya9esc7a'],
-            ['\u0443\u043a\u0440', b'xn--j1amh'],
-            ['\u9999\u6e2f', b'xn--j6w193g'],
-            ['\u03b4\u03bf\u03ba\u03b9\u03bc\u03ae', b'xn--jxalpdlp'],
-            ['\u0625\u062e\u062a\u0628\u0627\u0631', b'xn--kgbechtv'],
-            ['\u53f0\u6e7e', b'xn--kprw13d'],
-            ['\u53f0\u7063', b'xn--kpry57d'],
-            ['\u0627\u0644\u062c\u0632\u0627\u0626\u0631', b'xn--lgbbat1ad8j'],
-            ['\u0639\u0645\u0627\u0646', b'xn--mgb9awbf'],
-            ['\u0627\u06cc\u0631\u0627\u0646', b'xn--mgba3a4f16a'],
-            ['\u0627\u0645\u0627\u0631\u0627\u062a', b'xn--mgbaam7a8h'],
-            ['\u067e\u0627\u06a9\u0633\u062a\u0627\u0646', b'xn--mgbai9azgqp6j'],
-            ['\u0627\u0644\u0627\u0631\u062f\u0646', b'xn--mgbayh7gpa'],
-            ['\u0628\u06be\u0627\u0631\u062a', b'xn--mgbbh1a71e'],
-            ['\u0627\u0644\u0645\u063a\u0631\u0628', b'xn--mgbc0a9azcg'],
-            ['\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629', b'xn--mgberp4a5d4ar'],
-            ['\u10d2\u10d4', b'xn--node'],
-            ['\u0e44\u0e17\u0e22', b'xn--o3cw4h'],
-            ['\u0633\u0648\u0631\u064a\u0629', b'xn--ogbpf8fl'],
-            ['\u0440\u0444', b'xn--p1ai'],
-            ['\u062a\u0648\u0646\u0633', b'xn--pgbs0dh'],
-            ['\u0a2d\u0a3e\u0a30\u0a24', b'xn--s9brj9c'],
-            ['\u0645\u0635\u0631', b'xn--wgbh1c'],
-            ['\u0642\u0637\u0631', b'xn--wgbl6a'],
-            ['\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8', b'xn--xkc2al3hye2a'],
-            ['\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe', b'xn--xkc2dl3a5ee0h'],
-            ['\u65b0\u52a0\u5761', b'xn--yfro4i67o'],
-            ['\u0641\u0644\u0633\u0637\u064a\u0646', b'xn--ygbi2ammx'],
-            ['\u30c6\u30b9\u30c8', b'xn--zckzah'],
-            ['\u049b\u0430\u0437', b'xn--80ao21a'],
-            ['\u0645\u0644\u064a\u0633\u064a\u0627', b'xn--mgbx4cd0ab'],
-            ['\u043c\u043e\u043d', b'xn--l1acc'],
-            ['\u0633\u0648\u062f\u0627\u0646', b'xn--mgbpl2fh'],
+            ["\u6d4b\u8bd5", b"xn--0zwm56d"],
+            ["\u092a\u0930\u0940\u0915\u094d\u0937\u093e", b"xn--11b5bs3a9aj6g"],
+            ["\ud55c\uad6d", b"xn--3e0b707e"],
+            ["\u09ad\u09be\u09b0\u09a4", b"xn--45brj9c"],
+            ["\u09ac\u09be\u0982\u09b2\u09be", b"xn--54b7fta0cc"],
+            [
+                "\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435",
+                b"xn--80akhbyknj4f",
+            ],
+            ["\u0441\u0440\u0431", b"xn--90a3ac"],
+            ["\ud14c\uc2a4\ud2b8", b"xn--9t4b11yi5a"],
+            [
+                "\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd",
+                b"xn--clchc0ea0b2g2a9gcd",
+            ],
+            ["\u05d8\u05e2\u05e1\u05d8", b"xn--deba0ad"],
+            ["\u4e2d\u56fd", b"xn--fiqs8s"],
+            ["\u4e2d\u570b", b"xn--fiqz9s"],
+            ["\u0c2d\u0c3e\u0c30\u0c24\u0c4d", b"xn--fpcrj9c3d"],
+            ["\u0dbd\u0d82\u0d9a\u0dcf", b"xn--fzc2c9e2c"],
+            ["\u6e2c\u8a66", b"xn--g6w251d"],
+            ["\u0aad\u0abe\u0ab0\u0aa4", b"xn--gecrj9c"],
+            ["\u092d\u093e\u0930\u0924", b"xn--h2brj9c"],
+            ["\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc", b"xn--hgbk6aj7f53bba"],
+            ["\u0baa\u0bb0\u0bbf\u0b9f\u0bcd\u0b9a\u0bc8", b"xn--hlcj6aya9esc7a"],
+            ["\u0443\u043a\u0440", b"xn--j1amh"],
+            ["\u9999\u6e2f", b"xn--j6w193g"],
+            ["\u03b4\u03bf\u03ba\u03b9\u03bc\u03ae", b"xn--jxalpdlp"],
+            ["\u0625\u062e\u062a\u0628\u0627\u0631", b"xn--kgbechtv"],
+            ["\u53f0\u6e7e", b"xn--kprw13d"],
+            ["\u53f0\u7063", b"xn--kpry57d"],
+            ["\u0627\u0644\u062c\u0632\u0627\u0626\u0631", b"xn--lgbbat1ad8j"],
+            ["\u0639\u0645\u0627\u0646", b"xn--mgb9awbf"],
+            ["\u0627\u06cc\u0631\u0627\u0646", b"xn--mgba3a4f16a"],
+            ["\u0627\u0645\u0627\u0631\u0627\u062a", b"xn--mgbaam7a8h"],
+            ["\u067e\u0627\u06a9\u0633\u062a\u0627\u0646", b"xn--mgbai9azgqp6j"],
+            ["\u0627\u0644\u0627\u0631\u062f\u0646", b"xn--mgbayh7gpa"],
+            ["\u0628\u06be\u0627\u0631\u062a", b"xn--mgbbh1a71e"],
+            ["\u0627\u0644\u0645\u063a\u0631\u0628", b"xn--mgbc0a9azcg"],
+            ["\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629", b"xn--mgberp4a5d4ar"],
+            ["\u10d2\u10d4", b"xn--node"],
+            ["\u0e44\u0e17\u0e22", b"xn--o3cw4h"],
+            ["\u0633\u0648\u0631\u064a\u0629", b"xn--ogbpf8fl"],
+            ["\u0440\u0444", b"xn--p1ai"],
+            ["\u062a\u0648\u0646\u0633", b"xn--pgbs0dh"],
+            ["\u0a2d\u0a3e\u0a30\u0a24", b"xn--s9brj9c"],
+            ["\u0645\u0635\u0631", b"xn--wgbh1c"],
+            ["\u0642\u0637\u0631", b"xn--wgbl6a"],
+            ["\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8", b"xn--xkc2al3hye2a"],
+            ["\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe", b"xn--xkc2dl3a5ee0h"],
+            ["\u65b0\u52a0\u5761", b"xn--yfro4i67o"],
+            ["\u0641\u0644\u0633\u0637\u064a\u0646", b"xn--ygbi2ammx"],
+            ["\u30c6\u30b9\u30c8", b"xn--zckzah"],
+            ["\u049b\u0430\u0437", b"xn--80ao21a"],
+            ["\u0645\u0644\u064a\u0633\u064a\u0627", b"xn--mgbx4cd0ab"],
+            ["\u043c\u043e\u043d", b"xn--l1acc"],
+            ["\u0633\u0648\u062f\u0627\u0646", b"xn--mgbpl2fh"],
         ]
 
     def testIDNTLDALabels(self):
-
-        for (ulabel, alabel) in self.tld_strings:
+        for ulabel, alabel in self.tld_strings:
             self.assertEqual(alabel, idna.alabel(ulabel))
 
     def testIDNTLDULabels(self):
-
-        for (ulabel, alabel) in self.tld_strings:
+        for ulabel, alabel in self.tld_strings:
             self.assertEqual(ulabel, idna.ulabel(alabel))
 
     def test_valid_label_length(self):
-
-        self.assertTrue(idna.valid_label_length('a' * 63))
-        self.assertFalse(idna.valid_label_length('a' * 64))
-        self.assertRaises(idna.IDNAError, idna.encode, 'a' * 64)
+        self.assertTrue(idna.valid_label_length("a" * 63))
+        self.assertFalse(idna.valid_label_length("a" * 64))
+        self.assertRaises(idna.IDNAError, idna.encode, "a" * 64)
 
     def test_check_bidi(self):
-
-        l = '\u0061'
-        r = '\u05d0'
-        al = '\u0627'
-        an = '\u0660'
-        en = '\u0030'
-        es = '\u002d'
-        cs = '\u002c'
-        et = '\u0024'
-        on = '\u0021'
-        bn = '\u200c'
-        nsm = '\u0610'
-        ws = '\u0020'
+        la = "\u0061"
+        r = "\u05d0"
+        al = "\u0627"
+        an = "\u0660"
+        en = "\u0030"
+        es = "\u002d"
+        cs = "\u002c"
+        et = "\u0024"
+        on = "\u0021"
+        bn = "\u200c"
+        nsm = "\u0610"
+        ws = "\u0020"
 
         # RFC 5893 Rule 1
-        self.assertTrue(idna.check_bidi(l))
+        self.assertTrue(idna.check_bidi(la))
         self.assertTrue(idna.check_bidi(r))
         self.assertTrue(idna.check_bidi(al))
         self.assertRaises(idna.IDNABidiError, idna.check_bidi, an)
@@ -110,7 +111,7 @@
         self.assertTrue(idna.check_bidi(r + on + al))
         self.assertTrue(idna.check_bidi(r + bn + al))
         self.assertTrue(idna.check_bidi(r + nsm))
-        self.assertRaises(idna.IDNABidiError, idna.check_bidi, r + l)
+        self.assertRaises(idna.IDNABidiError, idna.check_bidi, r + la)
         self.assertRaises(idna.IDNABidiError, idna.check_bidi, r + ws)
 
         # RFC 5893 Rule 3
@@ -128,69 +129,65 @@
         self.assertRaises(idna.IDNABidiError, idna.check_bidi, r + an + en)
 
         # RFC 5893 Rule 5
-        self.assertTrue(idna.check_bidi(l + en, check_ltr=True))
-        self.assertTrue(idna.check_bidi(l + es + l, check_ltr=True))
-        self.assertTrue(idna.check_bidi(l + cs + l, check_ltr=True))
-        self.assertTrue(idna.check_bidi(l + et + l, check_ltr=True))
-        self.assertTrue(idna.check_bidi(l + on + l, check_ltr=True))
-        self.assertTrue(idna.check_bidi(l + bn + l, check_ltr=True))
-        self.assertTrue(idna.check_bidi(l + nsm, check_ltr=True))
+        self.assertTrue(idna.check_bidi(la + en, check_ltr=True))
+        self.assertTrue(idna.check_bidi(la + es + la, check_ltr=True))
+        self.assertTrue(idna.check_bidi(la + cs + la, check_ltr=True))
+        self.assertTrue(idna.check_bidi(la + et + la, check_ltr=True))
+        self.assertTrue(idna.check_bidi(la + on + la, check_ltr=True))
+        self.assertTrue(idna.check_bidi(la + bn + la, check_ltr=True))
+        self.assertTrue(idna.check_bidi(la + nsm, check_ltr=True))
 
         # RFC 5893 Rule 6
-        self.assertTrue(idna.check_bidi(l + l, check_ltr=True))
-        self.assertTrue(idna.check_bidi(l + en, check_ltr=True))
-        self.assertTrue(idna.check_bidi(l + en + nsm, check_ltr=True))
-        self.assertTrue(idna.check_bidi(l + en + nsm + nsm, check_ltr=True))
-        self.assertRaises(idna.IDNABidiError, idna.check_bidi, l + cs, check_ltr=True)
+        self.assertTrue(idna.check_bidi(la + la, check_ltr=True))
+        self.assertTrue(idna.check_bidi(la + en, check_ltr=True))
+        self.assertTrue(idna.check_bidi(la + en + nsm, check_ltr=True))
+        self.assertTrue(idna.check_bidi(la + en + nsm + nsm, check_ltr=True))
+        self.assertRaises(idna.IDNABidiError, idna.check_bidi, la + cs, check_ltr=True)
 
     def test_check_initial_combiner(self):
-
-        m = '\u0300'
-        a = '\u0061'
+        m = "\u0300"
+        a = "\u0061"
 
         self.assertTrue(idna.check_initial_combiner(a))
         self.assertTrue(idna.check_initial_combiner(a + m))
         self.assertRaises(idna.IDNAError, idna.check_initial_combiner, m + a)
 
     def test_check_hyphen_ok(self):
-
-        self.assertTrue(idna.check_hyphen_ok('abc'))
-        self.assertTrue(idna.check_hyphen_ok('a--b'))
-        self.assertRaises(idna.IDNAError, idna.check_hyphen_ok, 'aa--')
-        self.assertRaises(idna.IDNAError, idna.check_hyphen_ok, 'a-')
-        self.assertRaises(idna.IDNAError, idna.check_hyphen_ok, '-a')
+        self.assertTrue(idna.check_hyphen_ok("abc"))
+        self.assertTrue(idna.check_hyphen_ok("a--b"))
+        self.assertRaises(idna.IDNAError, idna.check_hyphen_ok, "aa--")
+        self.assertRaises(idna.IDNAError, idna.check_hyphen_ok, "a-")
+        self.assertRaises(idna.IDNAError, idna.check_hyphen_ok, "-a")
 
     def test_valid_contextj(self):
-
-        zwnj = '\u200c'
-        zwj = '\u200d'
-        virama = '\u094d'
-        latin = '\u0061'
+        zwnj = "\u200c"
+        zwj = "\u200d"
+        virama = "\u094d"
+        latin = "\u0061"
 
         # RFC 5892 Appendix A.1 (Zero Width Non-Joiner)
         self.assertFalse(idna.valid_contextj(zwnj, 0))
-        self.assertFalse(idna.valid_contextj(latin + zwnj, 1)) # No preceding Virama
-        self.assertTrue(idna.valid_contextj(virama + zwnj, 1)) # Preceding Virama
+        self.assertFalse(idna.valid_contextj(latin + zwnj, 1))  # No preceding Virama
+        self.assertTrue(idna.valid_contextj(virama + zwnj, 1))  # Preceding Virama
 
         # RFC 5892 Appendix A.2 (Zero Width Joiner)
         self.assertFalse(idna.valid_contextj(zwj, 0))
-        self.assertFalse(idna.valid_contextj(latin + zwj, 1)) # No preceding Virama
-        self.assertTrue(idna.valid_contextj(virama + zwj, 1)) # Preceding Virama
+        self.assertFalse(idna.valid_contextj(latin + zwj, 1))  # No preceding Virama
+        self.assertTrue(idna.valid_contextj(virama + zwj, 1))  # Preceding Virama
 
     def test_valid_contexto(self):
-
-        latin = '\u0061'
-        latin_l = '\u006c'
-        greek = '\u03b1'
-        hebrew = '\u05d0'
-        katakana = '\u30a1'
-        hiragana = '\u3041'
-        han = '\u6f22'
-        arabic_digit = '\u0660'
-        ext_arabic_digit = '\u06f0'
+        latin = "\u0061"
+        latin_l = "\u006c"
+        greek = "\u03b1"
+        hebrew = "\u05d0"
+        katakana = "\u30a1"
+        hiragana = "\u3041"
+        han = "\u6f22"
+        arabic_digit = "\u0660"
+        ext_arabic_digit = "\u06f0"
 
         # RFC 5892 Rule A.3 (Middle Dot)
-        latin_middle_dot = '\u00b7'
+        latin_middle_dot = "\u00b7"
         self.assertTrue(idna.valid_contexto(latin_l + latin_middle_dot + latin_l, 1))
         self.assertFalse(idna.valid_contexto(latin_middle_dot + latin_l, 1))
         self.assertFalse(idna.valid_contexto(latin_l + latin_middle_dot, 0))
@@ -198,30 +195,30 @@
         self.assertFalse(idna.valid_contexto(latin_l + latin_middle_dot + latin, 1))
 
         # RFC 5892 Rule A.4 (Greek Lower Numeral Sign)
-        glns = '\u0375'
+        glns = "\u0375"
         self.assertTrue(idna.valid_contexto(glns + greek, 0))
         self.assertFalse(idna.valid_contexto(glns + latin, 0))
         self.assertFalse(idna.valid_contexto(glns, 0))
         self.assertFalse(idna.valid_contexto(greek + glns, 1))
 
         # RFC 5892 Rule A.5 (Hebrew Punctuation Geresh)
-        geresh = '\u05f3'
+        geresh = "\u05f3"
         self.assertTrue(idna.valid_contexto(hebrew + geresh, 1))
         self.assertFalse(idna.valid_contexto(latin + geresh, 1))
 
         # RFC 5892 Rule A.6 (Hebrew Punctuation Gershayim)
-        gershayim = '\u05f4'
+        gershayim = "\u05f4"
         self.assertTrue(idna.valid_contexto(hebrew + gershayim, 1))
         self.assertFalse(idna.valid_contexto(latin + gershayim, 1))
 
         # RFC 5892 Rule A.7 (Katakana Middle Dot)
-        ja_middle_dot = '\u30fb'
+        ja_middle_dot = "\u30fb"
         self.assertTrue(idna.valid_contexto(katakana + ja_middle_dot + katakana, 1))
         self.assertTrue(idna.valid_contexto(hiragana + ja_middle_dot + hiragana, 1))
         self.assertTrue(idna.valid_contexto(han + ja_middle_dot + han, 1))
         self.assertTrue(idna.valid_contexto(han + ja_middle_dot + latin, 1))
-        self.assertTrue(idna.valid_contexto('\u6f22\u30fb\u5b57', 1))
-        self.assertFalse(idna.valid_contexto('\u0061\u30fb\u0061', 1))
+        self.assertTrue(idna.valid_contexto("\u6f22\u30fb\u5b57", 1))
+        self.assertFalse(idna.valid_contexto("\u0061\u30fb\u0061", 1))
 
         # RFC 5892 Rule A.8 (Arabic-Indic Digits)
         self.assertTrue(idna.valid_contexto(arabic_digit + arabic_digit, 0))
@@ -235,42 +232,62 @@
         if encode is None:
             encode = idna.encode
 
-        self.assertEqual(encode('xn--zckzah.xn--zckzah'), b'xn--zckzah.xn--zckzah')
-        self.assertEqual(encode('\u30c6\u30b9\u30c8.xn--zckzah'), b'xn--zckzah.xn--zckzah')
-        self.assertEqual(encode('\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8'), b'xn--zckzah.xn--zckzah')
-        self.assertEqual(encode('abc.abc'), b'abc.abc')
-        self.assertEqual(encode('xn--zckzah.abc'), b'xn--zckzah.abc')
-        self.assertEqual(encode('\u30c6\u30b9\u30c8.abc'), b'xn--zckzah.abc')
-        self.assertEqual(encode('\u0521\u0525\u0523-\u0523\u0523-----\u0521\u0523\u0523\u0523.aa'),
-                         b'xn---------90gglbagaar.aa')
+        self.assertEqual(encode("xn--zckzah.xn--zckzah"), b"xn--zckzah.xn--zckzah")
+        self.assertEqual(encode("\u30c6\u30b9\u30c8.xn--zckzah"), b"xn--zckzah.xn--zckzah")
+        self.assertEqual(encode("\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8"), b"xn--zckzah.xn--zckzah")
+        self.assertEqual(encode("abc.abc"), b"abc.abc")
+        self.assertEqual(encode("xn--zckzah.abc"), b"xn--zckzah.abc")
+        self.assertEqual(encode("\u30c6\u30b9\u30c8.abc"), b"xn--zckzah.abc")
+        self.assertEqual(
+            encode("\u0521\u0525\u0523-\u0523\u0523-----\u0521\u0523\u0523\u0523.aa"),
+            b"xn---------90gglbagaar.aa",
+        )
         if encode is idna.encode:
-            self.assertRaises(idna.IDNAError, encode,
-                              '\u0521\u0524\u0523-\u0523\u0523-----\u0521\u0523\u0523\u0523.aa', uts46=False)
-        self.assertEqual(encode('a'*63), b'a'*63)
-        self.assertRaises(idna.IDNAError, encode, 'a'*64)
-        self.assertRaises(idna.core.InvalidCodepoint, encode, '*')
+            self.assertRaises(
+                idna.IDNAError,
+                encode,
+                "\u0521\u0524\u0523-\u0523\u0523-----\u0521\u0523\u0523\u0523.aa",
+                uts46=False,
+            )
+        self.assertEqual(encode("a" * 63), b"a" * 63)
+        self.assertRaises(idna.IDNAError, encode, "a" * 64)
+        self.assertRaises(idna.core.InvalidCodepoint, encode, "*")
         if not skip_bytes:
-            self.assertRaises(idna.IDNAError, encode, b'\x0a\x33\x81')
+            self.assertRaises(idna.IDNAError, encode, b"\x0a\x33\x81")
 
     def test_decode(self, decode=None, skip_str=False):
         if decode is None:
             decode = idna.decode
-        self.assertEqual(decode(b'xn--zckzah.xn--zckzah'), '\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8')
-        self.assertEqual(decode(b'xn--d1acufc.xn--80akhbyknj4f'),
-                         '\u0434\u043e\u043c\u0435\u043d.\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435')
+        self.assertEqual(decode(b"xn--zckzah.xn--zckzah"), "\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8")
+        self.assertEqual(
+            decode(b"xn--d1acufc.xn--80akhbyknj4f"),
+            "\u0434\u043e\u043c\u0435\u043d.\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435",
+        )
         if not skip_str:
-            self.assertEqual(decode('\u30c6\u30b9\u30c8.xn--zckzah'), '\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8')
-            self.assertEqual(decode('\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8'),
-                             '\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8')
-            self.assertEqual(decode('abc.abc'), 'abc.abc')
-        self.assertEqual(decode(b'xn---------90gglbagaar.aa'),
-                         '\u0521\u0525\u0523-\u0523\u0523-----\u0521\u0523\u0523\u0523.aa')
-        self.assertRaises(idna.IDNAError, decode, b'XN---------90GGLBAGAAC.AA')
-        self.assertRaises(idna.IDNAError, decode, b'xn---------90gglbagaac.aa')
-        self.assertRaises(idna.IDNAError, decode, b'xn--')
-        self.assertRaises(idna.IDNAError, decode, b'\x8d\xd2')
-        self.assertRaises(idna.IDNAError, decode, b'A.A.0.a.a.A.0.a.A.A.0.a.A.0A.2.a.A.A.0.a.A.0.A.a.A0.a.a.A.0.a.fB.A.A.a.A.A.B.A.A.a.A.A.B.A.A.a.A.A.0.a.A.a.a.A.A.0.a.A.0.A.a.A0.a.a.A.0.a.fB.A.A.a.A.A.B.0A.A.a.A.A.B.A.A.a.A.A.a.A.A.B.A.A.a.A.0.a.B.A.A.a.A.B.A.a.A.A.5.a.A.0.a.Ba.A.B.A.A.a.A.0.a.Xn--B.A.A.A.a')
-        self.assertRaises(idna.IDNAError, decode, b'xn--ukba655qaaaa14431eeaaba.c')
+            self.assertEqual(
+                decode("\u30c6\u30b9\u30c8.xn--zckzah"),
+                "\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8",
+            )
+            self.assertEqual(
+                decode("\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8"),
+                "\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8",
+            )
+            self.assertEqual(decode("abc.abc"), "abc.abc")
+        self.assertEqual(
+            decode(b"xn---------90gglbagaar.aa"),
+            "\u0521\u0525\u0523-\u0523\u0523-----\u0521\u0523\u0523\u0523.aa",
+        )
+        self.assertRaises(idna.IDNAError, decode, b"XN---------90GGLBAGAAC.AA")
+        self.assertRaises(idna.IDNAError, decode, b"xn---------90gglbagaac.aa")
+        self.assertRaises(idna.IDNAError, decode, b"xn--")
+        self.assertRaises(idna.IDNAError, decode, b"\x8d\xd2")
+        self.assertRaises(
+            idna.IDNAError,
+            decode,
+            b"A.A.0.a.a.A.0.a.A.A.0.a.A.0A.2.a.A.A.0.a.A.0.A.a.A0.a.a.A.0.a.fB.A.A.a.A.A.B.A.A.a.A.A.B.A.A.a.A.A.0.a.A.a.a.A.A.0.a.A.0.A.a.A0.a.a.A.0.a.fB.A.A.a.A.A.B.0A.A.a.A.A.B.A.A.a.A.A.a.A.A.B.A.A.a.A.0.a.B.A.A.a.A.B.A.a.A.A.5.a.A.0.a.Ba.A.B.A.A.a.A.0.a.Xn--B.A.A.A.a",
+        )
+        self.assertRaises(idna.IDNAError, decode, b"xn--ukba655qaaaa14431eeaaba.c")
 
-if __name__ == '__main__':
+
+if __name__ == "__main__":
     unittest.main()
diff --git a/tests/test_idna_codec.py b/tests/test_idna_codec.py
index a1ecffe..5b8b9f3 100755
--- a/tests/test_idna_codec.py
+++ b/tests/test_idna_codec.py
@@ -6,11 +6,13 @@
 
 import idna.codec
 
-CODEC_NAME = 'idna2008'
+CODEC_NAME = "idna2008"
+
 
 class IDNACodecTests(unittest.TestCase):
     def setUp(self):
         from . import test_idna
+
         self.idnatests = test_idna.IDNATests()
         self.idnatests.setUp()
 
@@ -32,10 +34,11 @@
     def testStreamReader(self):
         def decode(obj):
             if isinstance(obj, str):
-                obj = bytes(obj, 'ascii')
+                obj = bytes(obj, "ascii")
             buffer = io.BytesIO(obj)
             stream = codecs.getreader(CODEC_NAME)(buffer)
             return stream.read()
+
         return self.idnatests.test_decode(decode=decode, skip_str=True)
 
     def testStreamWriter(self):
@@ -45,10 +48,10 @@
             stream.write(obj)
             stream.flush()
             return buffer.getvalue()
+
         return self.idnatests.test_encode(encode=encode)
 
     def testIncrementalDecoder(self):
-
         # Tests derived from Python standard library test/test_codecs.py
 
         incremental_tests = (
@@ -59,24 +62,44 @@
         )
 
         for decoded, encoded in incremental_tests:
-            self.assertEqual("".join(codecs.iterdecode((bytes([c]) for c in encoded), CODEC_NAME)),
-                             decoded)
+            self.assertEqual(
+                "".join(codecs.iterdecode((bytes([c]) for c in encoded), CODEC_NAME)),
+                decoded,
+            )
 
         decoder = codecs.getincrementaldecoder(CODEC_NAME)()
-        self.assertEqual(decoder.decode(b"xn--xam", ), "")
-        self.assertEqual(decoder.decode(b"ple-9ta.o", ), "\xe4xample.")
+        self.assertEqual(
+            decoder.decode(
+                b"xn--xam",
+            ),
+            "",
+        )
+        self.assertEqual(
+            decoder.decode(
+                b"ple-9ta.o",
+            ),
+            "\xe4xample.",
+        )
         self.assertEqual(decoder.decode(b"rg"), "")
         self.assertEqual(decoder.decode(b"", True), "org")
 
         decoder.reset()
-        self.assertEqual(decoder.decode(b"xn--xam", ), "")
-        self.assertEqual(decoder.decode(b"ple-9ta.o", ), "\xe4xample.")
+        self.assertEqual(
+            decoder.decode(
+                b"xn--xam",
+            ),
+            "",
+        )
+        self.assertEqual(
+            decoder.decode(
+                b"ple-9ta.o",
+            ),
+            "\xe4xample.",
+        )
         self.assertEqual(decoder.decode(b"rg."), "org.")
         self.assertEqual(decoder.decode(b"", True), "")
 
-
     def testIncrementalEncoder(self):
-
         # Tests derived from Python standard library test/test_codecs.py
 
         incremental_tests = (
@@ -86,8 +109,7 @@
             ("pyth\xf6n.org.", b"xn--pythn-mua.org."),
         )
         for decoded, encoded in incremental_tests:
-            self.assertEqual(b"".join(codecs.iterencode(decoded, CODEC_NAME)),
-                             encoded)
+            self.assertEqual(b"".join(codecs.iterencode(decoded, CODEC_NAME)), encoded)
 
         encoder = codecs.getincrementalencoder(CODEC_NAME)()
         self.assertEqual(encoder.encode("\xe4x"), b"")
@@ -99,5 +121,6 @@
         self.assertEqual(encoder.encode("ample.org."), b"xn--xample-9ta.org.")
         self.assertEqual(encoder.encode("", True), b"")
 
-if __name__ == '__main__':
+
+if __name__ == "__main__":
     unittest.main()
diff --git a/tests/test_idna_compat.py b/tests/test_idna_compat.py
index 766af71..cc71c78 100755
--- a/tests/test_idna_compat.py
+++ b/tests/test_idna_compat.py
@@ -4,16 +4,23 @@
 
 import idna.compat
 
-class IDNACompatTests(unittest.TestCase):
 
+class IDNACompatTests(unittest.TestCase):
     def testToASCII(self):
-        self.assertEqual(idna.compat.ToASCII('\u30c6\u30b9\u30c8.xn--zckzah'), b'xn--zckzah.xn--zckzah')
+        self.assertEqual(
+            idna.compat.ToASCII("\u30c6\u30b9\u30c8.xn--zckzah"),
+            b"xn--zckzah.xn--zckzah",
+        )
 
     def testToUnicode(self):
-        self.assertEqual(idna.compat.ToUnicode(b'xn--zckzah.xn--zckzah'), '\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8')
+        self.assertEqual(
+            idna.compat.ToUnicode(b"xn--zckzah.xn--zckzah"),
+            "\u30c6\u30b9\u30c8.\u30c6\u30b9\u30c8",
+        )
 
     def test_nameprep(self):
         self.assertRaises(NotImplementedError, idna.compat.nameprep, "a")
 
-if __name__ == '__main__':
+
+if __name__ == "__main__":
     unittest.main()
diff --git a/tests/test_idna_other.py b/tests/test_idna_other.py
index ee03eea..835e6c6 100755
--- a/tests/test_idna_other.py
+++ b/tests/test_idna_other.py
@@ -6,9 +6,6 @@
 
 
 class OtherUTS46Tests(unittest.TestCase):
-
     def test_std3(self):
-
-        self.assertEqual(idna.uts46_remap('A_', std3_rules=False), 'a_')
-        self.assertRaises(idna.InvalidCodepoint, idna.uts46_remap, 'A_', std3_rules=True)
-
+        self.assertEqual(idna.uts46_remap("A_", std3_rules=False), "a_")
+        self.assertRaises(idna.InvalidCodepoint, idna.uts46_remap, "A_", std3_rules=True)
diff --git a/tests/test_idna_uts46.py b/tests/test_idna_uts46.py
index c540b04..f4a007f 100755
--- a/tests/test_idna_uts46.py
+++ b/tests/test_idna_uts46.py
@@ -7,131 +7,166 @@
 import idna
 
 _RE_UNICODE = re.compile("\\\\u([0-9a-fA-F]{4})")
-_RE_SURROGATE = re.compile("[\uD800-\uDBFF][\uDC00-\uDFFF]")
+_RE_SURROGATE = re.compile("[\ud800-\udbff][\udc00-\udfff]")
 _SKIP_TESTS = [
     # These are strings that are illegal in IDNA 2008. Older versions of the UTS-46 test suite
     # had these denoted with the 'NV8' marker but this has been removed, so we need to manually
     # review exceptions and add them here to skip them as text vectors if they are invalid.
-    '\U000102F7\u3002\u200D',
-    '\U0001D7F5\u9681\u2BEE\uFF0E\u180D\u200C',
-    '9\u9681\u2BEE.\u180D\u200C',
-    '\u00DF\u200C\uAAF6\u18A5.\u22B6\u2D21\u2D16',
-    'ss\u200C\uAAF6\u18A5.\u22B6\u2D21\u2D16',
-    '\u00DF\u200C\uAAF6\u18A5\uFF0E\u22B6\u2D21\u2D16',
-    'ss\u200C\uAAF6\u18A5\uFF0E\u22B6\u2D21\u2D16',
-    '\U00010A57\u200D\u3002\u2D09\u2D15',
-    '\U00010A57\u200D\uFF61\u2D09\u2D15',
-    '\U0001D7CF\U0001DA19\u2E16.\u200D',
-    '1\U0001DA19\u2E16.\u200D',
-    '\U0001D7E04\U000E01D7\U0001D23B\uFF0E\u200D\U000102F5\u26E7\u200D',
-    '84\U000E01D7\U0001D23B.\u200D\U000102F5\u26E7\u200D',
-    '\u00A1', 'xn--7a', '\u19DA', 'xn--pkf', '\u2615', 'xn--53h',
-    '\U0001E937.\U00010B90\U0001E881\U00010E60\u0624',
-    '\U0001E937.\U00010B90\U0001E881\U00010E60\u0648\u0654',
-    '\U0001E915.\U00010B90\U0001E881\U00010E60\u0648\u0654',
-    '\U0001E915.\U00010B90\U0001E881\U00010E60\u0624',
-    'xn--ve6h.xn--jgb1694kz0b2176a',
-    '\u00DF\u3002\U000102F3\u2D0C\u0FB8',
-    'ss\u3002\U000102F3\u2D0C\u0FB8',
-    'ss.xn--lgd921mvv0m',
-    'ss.\U000102F3\u2D0C\u0FB8',
-    'xn--zca.xn--lgd921mvv0m',
-    '\u00DF.\U000102F3\u2D0C\u0FB8',
-    '\u00DF\uFF61\U000102F3\u2D0C\u0FB8',
-    'ss\uFF61\U000102F3\u2D0C\u0FB8',
-    '\u16AD\uFF61\U0001D320\u00DF\U00016AF1',
-    '\u16AD\u3002\U0001D320\u00DF\U00016AF1',
-    '\u16AD\u3002\U0001D320SS\U00016AF1',
-    '\u16AD\u3002\U0001D320ss\U00016AF1',
-    '\u16AD\u3002\U0001D320Ss\U00016AF1',
-    'xn--hwe.xn--ss-ci1ub261a',
-    '\u16AD.\U0001D320ss\U00016AF1',
-    '\u16AD.\U0001D320SS\U00016AF1',
-    '\u16AD.\U0001D320Ss\U00016AF1',
-    'xn--hwe.xn--zca4946pblnc',
-    '\u16AD.\U0001D320\u00DF\U00016AF1',
-    '\u16AD\uFF61\U0001D320SS\U00016AF1',
-    '\u16AD\uFF61\U0001D320ss\U00016AF1',
-    '\u16AD\uFF61\U0001D320Ss\U00016AF1',
-    '\u2D1A\U000102F8\U000E0104\u30025\uD7F6\u103A',
-    'xn--ilj2659d.xn--5-dug9054m',
-    '\u2D1A\U000102F8.5\uD7F6\u103A',
-    '\u2D1A\U000102F8\U000E0104\u3002\U0001D7DD\uD7F6\u103A',
-    'xn--9-mfs8024b.',
-    '9\u9681\u2BEE.',
-    'xn--ss-4epx629f.xn--ifh802b6a',
-    'ss\uAAF6\u18A5.\u22B6\u2D21\u2D16',
-    'xn--pt9c.xn--0kjya',
-    '\U00010A57.\u2D09\u2D15',
-    '\uA5F7\U00011180.\u075D\U00010A52',
-    'xn--ju8a625r.xn--hpb0073k',
-    '\u03C2.\u0641\u0645\u064A\U0001F79B1.',
-    '\u03A3.\u0641\u0645\u064A\U0001F79B1.',
-    '\u03C3.\u0641\u0645\u064A\U0001F79B1.',
-    'xn--4xa.xn--1-gocmu97674d.',
-    'xn--3xa.xn--1-gocmu97674d.',
-    'xn--1-5bt6845n.',
-    '1\U0001DA19\u2E16.',
-    'xn--84-s850a.xn--59h6326e',
-    '84\U0001D23B.\U000102F5\u26E7',
-    'xn--r97c.',
-    '\U000102F7.',
-
+    "\U000102f7\u3002\u200d",
+    "\U0001d7f5\u9681\u2bee\uff0e\u180d\u200c",
+    "9\u9681\u2bee.\u180d\u200c",
+    "\u00df\u200c\uaaf6\u18a5.\u22b6\u2d21\u2d16",
+    "ss\u200c\uaaf6\u18a5.\u22b6\u2d21\u2d16",
+    "\u00df\u200c\uaaf6\u18a5\uff0e\u22b6\u2d21\u2d16",
+    "ss\u200c\uaaf6\u18a5\uff0e\u22b6\u2d21\u2d16",
+    "\U00010a57\u200d\u3002\u2d09\u2d15",
+    "\U00010a57\u200d\uff61\u2d09\u2d15",
+    "\U0001d7cf\U0001da19\u2e16.\u200d",
+    "1\U0001da19\u2e16.\u200d",
+    "\U0001d7e04\U000e01d7\U0001d23b\uff0e\u200d\U000102f5\u26e7\u200d",
+    "84\U000e01d7\U0001d23b.\u200d\U000102f5\u26e7\u200d",
+    "\u00a1",
+    "xn--7a",
+    "\u19da",
+    "xn--pkf",
+    "\u2615",
+    "xn--53h",
+    "\U0001e937.\U00010b90\U0001e881\U00010e60\u0624",
+    "\U0001e937.\U00010b90\U0001e881\U00010e60\u0648\u0654",
+    "\U0001e915.\U00010b90\U0001e881\U00010e60\u0648\u0654",
+    "\U0001e915.\U00010b90\U0001e881\U00010e60\u0624",
+    "xn--ve6h.xn--jgb1694kz0b2176a",
+    "\u00df\u3002\U000102f3\u2d0c\u0fb8",
+    "ss\u3002\U000102f3\u2d0c\u0fb8",
+    "ss.xn--lgd921mvv0m",
+    "ss.\U000102f3\u2d0c\u0fb8",
+    "xn--zca.xn--lgd921mvv0m",
+    "\u00df.\U000102f3\u2d0c\u0fb8",
+    "\u00df\uff61\U000102f3\u2d0c\u0fb8",
+    "ss\uff61\U000102f3\u2d0c\u0fb8",
+    "\u16ad\uff61\U0001d320\u00df\U00016af1",
+    "\u16ad\u3002\U0001d320\u00df\U00016af1",
+    "\u16ad\u3002\U0001d320SS\U00016af1",
+    "\u16ad\u3002\U0001d320ss\U00016af1",
+    "\u16ad\u3002\U0001d320Ss\U00016af1",
+    "xn--hwe.xn--ss-ci1ub261a",
+    "\u16ad.\U0001d320ss\U00016af1",
+    "\u16ad.\U0001d320SS\U00016af1",
+    "\u16ad.\U0001d320Ss\U00016af1",
+    "xn--hwe.xn--zca4946pblnc",
+    "\u16ad.\U0001d320\u00df\U00016af1",
+    "\u16ad\uff61\U0001d320SS\U00016af1",
+    "\u16ad\uff61\U0001d320ss\U00016af1",
+    "\u16ad\uff61\U0001d320Ss\U00016af1",
+    "\u2d1a\U000102f8\U000e0104\u30025\ud7f6\u103a",
+    "xn--ilj2659d.xn--5-dug9054m",
+    "\u2d1a\U000102f8.5\ud7f6\u103a",
+    "\u2d1a\U000102f8\U000e0104\u3002\U0001d7dd\ud7f6\u103a",
+    "xn--9-mfs8024b.",
+    "9\u9681\u2bee.",
+    "xn--ss-4epx629f.xn--ifh802b6a",
+    "ss\uaaf6\u18a5.\u22b6\u2d21\u2d16",
+    "xn--pt9c.xn--0kjya",
+    "\U00010a57.\u2d09\u2d15",
+    "\ua5f7\U00011180.\u075d\U00010a52",
+    "xn--ju8a625r.xn--hpb0073k",
+    "\u03c2.\u0641\u0645\u064a\U0001f79b1.",
+    "\u03a3.\u0641\u0645\u064a\U0001f79b1.",
+    "\u03c3.\u0641\u0645\u064a\U0001f79b1.",
+    "xn--4xa.xn--1-gocmu97674d.",
+    "xn--3xa.xn--1-gocmu97674d.",
+    "xn--1-5bt6845n.",
+    "1\U0001da19\u2e16.",
+    "xn--84-s850a.xn--59h6326e",
+    "84\U0001d23b.\U000102f5\u26e7",
+    "xn--r97c.",
+    "\U000102f7.",
     # These appear to be errors in the test vectors. All relate to incorrectly applying
     # bidi rules across label boundaries. Appears independently confirmed
     # at http://www.alvestrand.no/pipermail/idna-update/2017-January/007946.html
-    '0\u00E0.\u05D0', '0a\u0300.\u05D0', '0A\u0300.\u05D0', '0\u00C0.\u05D0', 'xn--0-sfa.xn--4db',
-    '\u00E0\u02c7.\u05D0', 'a\u0300\u02c7.\u05D0', 'A\u0300\u02c7.\u05D0', '\u00C0\u02c7.\u05D0',
-    'xn--0ca88g.xn--4db', '0A.\u05D0', '0a.\u05D0', '0a.xn--4db', 'c.xn--0-eha.xn--4db',
-    'c.0\u00FC.\u05D0', 'c.0u\u0308.\u05D0', 'C.0U\u0308.\u05D0', 'C.0\u00DC.\u05D0',
-    'C.0\u00FC.\u05D0', 'C.0\u0075\u0308.\u05D0', '\u06B6\u06DF\u3002\u2087\uA806', '\u06B6\u06DF\u30027\uA806',
-    'xn--pkb6f.xn--7-x93e', '\u06B6\u06DF.7\uA806', '1.\uAC7E6.\U00010C41\u06D0',
-    '1.\u1100\u1165\u11B56.\U00010C41\u06D0', '1.xn--6-945e.xn--glb1794k',
+    "0\u00e0.\u05d0",
+    "0a\u0300.\u05d0",
+    "0A\u0300.\u05d0",
+    "0\u00c0.\u05d0",
+    "xn--0-sfa.xn--4db",
+    "\u00e0\u02c7.\u05d0",
+    "a\u0300\u02c7.\u05d0",
+    "A\u0300\u02c7.\u05d0",
+    "\u00c0\u02c7.\u05d0",
+    "xn--0ca88g.xn--4db",
+    "0A.\u05d0",
+    "0a.\u05d0",
+    "0a.xn--4db",
+    "c.xn--0-eha.xn--4db",
+    "c.0\u00fc.\u05d0",
+    "c.0u\u0308.\u05d0",
+    "C.0U\u0308.\u05d0",
+    "C.0\u00dc.\u05d0",
+    "C.0\u00fc.\u05d0",
+    "C.0\u0075\u0308.\u05d0",
+    "\u06b6\u06df\u3002\u2087\ua806",
+    "\u06b6\u06df\u30027\ua806",
+    "xn--pkb6f.xn--7-x93e",
+    "\u06b6\u06df.7\ua806",
+    "1.\uac7e6.\U00010c41\u06d0",
+    "1.\u1100\u1165\u11b56.\U00010c41\u06d0",
+    "1.xn--6-945e.xn--glb1794k",
 ]
 
+
 def unicode_fixup(string):
     """Replace backslash-u-XXXX with appropriate unicode characters."""
-    return _RE_SURROGATE.sub(lambda match: chr(
-        (ord(match.group(0)[0]) - 0xd800) * 0x400 +
-        ord(match.group(0)[1]) - 0xdc00 + 0x10000),
-        _RE_UNICODE.sub(lambda match: chr(int(match.group(1), 16)), string))
+    return _RE_SURROGATE.sub(
+        lambda match: chr((ord(match.group(0)[0]) - 0xD800) * 0x400 + ord(match.group(0)[1]) - 0xDC00 + 0x10000),
+        _RE_UNICODE.sub(lambda match: chr(int(match.group(1), 16)), string),
+    )
+
 
 def parse_idna_test_table(inputstream):
     """Parse IdnaTestV2.txt and return a list of tuples."""
     for lineno, line in enumerate(inputstream):
-        line = line.decode('utf-8').strip()
-        if '#' in line:
-            line = line.split('#', 1)[0]
+        line = line.decode("utf-8").strip()
+        if "#" in line:
+            line = line.split("#", 1)[0]
         if not line:
             continue
-        yield((lineno + 1, tuple(field.strip() for field in line.split(';'))))
+        yield ((lineno + 1, tuple(field.strip() for field in line.split(";"))))
 
 
 class TestIdnaTest(unittest.TestCase):
     """Run one of the IdnaTestV2.txt test lines."""
+
     def __init__(self, lineno=None, fields=None):
         super().__init__()
         self.lineno = lineno
         self.fields = fields
 
     def id(self):
-        return '{}.{}'.format(super().id(), self.lineno)
+        return "{}.{}".format(super().id(), self.lineno)
 
     def shortDescription(self):
         if not self.fields:
-            return ''
-        return 'IdnaTestV2.txt line {}: {}'.format(self.lineno, '; '.join(self.fields))
+            return ""
+        return "IdnaTestV2.txt line {}: {}".format(self.lineno, "; ".join(self.fields))
 
     def runTest(self):
         if not self.fields:
             return
-        source, to_unicode, to_unicode_status, to_ascii, to_ascii_status, to_ascii_t, to_ascii_t_status = self.fields
+        (
+            source,
+            to_unicode,
+            to_unicode_status,
+            to_ascii,
+            to_ascii_status,
+            to_ascii_t,
+            to_ascii_t_status,
+        ) = self.fields
         if source in _SKIP_TESTS:
             return
         if not to_unicode:
             to_unicode = source
         if not to_unicode_status:
-            to_unicode_status = '[]'
+            to_unicode_status = "[]"
         if not to_ascii:
             to_ascii = to_unicode
         if not to_ascii_status:
@@ -143,48 +178,43 @@
 
         try:
             output = idna.decode(source, uts46=True, strict=True)
-            if to_unicode_status != '[]':
-                self.fail('decode() did not emit required error {} for {}'.format(to_unicode, repr(source)))
-            self.assertEqual(output, to_unicode, 'unexpected decode() output')
+            if to_unicode_status != "[]":
+                self.fail("decode() did not emit required error {} for {}".format(to_unicode, repr(source)))
+            self.assertEqual(output, to_unicode, "unexpected decode() output")
         except (idna.IDNAError, UnicodeError, ValueError) as exc:
             if str(exc).startswith("Unknown"):
-                raise unittest.SkipTest("Test requires support for a newer"
-                    " version of Unicode than this Python supports")
-            if to_unicode_status == '[]':
+                raise unittest.SkipTest("Test requires support for a newer" " version of Unicode than this Python supports")
+            if to_unicode_status == "[]":
                 raise
 
         try:
-            output = idna.encode(source, uts46=True, strict=True).decode('ascii')
-            if to_ascii_status != '[]':
-                self.fail('encode() did not emit required error {} for {}'.
-                    format(to_ascii_status, repr(source)))
-            self.assertEqual(output, to_ascii, 'unexpected encode() output')
+            output = idna.encode(source, uts46=True, strict=True).decode("ascii")
+            if to_ascii_status != "[]":
+                self.fail("encode() did not emit required error {} for {}".format(to_ascii_status, repr(source)))
+            self.assertEqual(output, to_ascii, "unexpected encode() output")
         except (idna.IDNAError, UnicodeError, ValueError) as exc:
             if str(exc).startswith("Unknown"):
-                raise unittest.SkipTest("Test requires support for a newer"
-                    " version of Unicode than this Python supports")
-            if to_ascii_status == '[]':
+                raise unittest.SkipTest("Test requires support for a newer" " version of Unicode than this Python supports")
+            if to_ascii_status == "[]":
                 raise
 
         try:
-            output = idna.encode(source, uts46=True, strict=True, transitional=True).decode('ascii')
-            if to_ascii_t_status != '[]':
-                self.fail('encode(transitional=True) did not emit required error {} for {}'.
-                    format(to_ascii_t_status, repr(source)))
-            self.assertEqual(output, to_ascii_t, 'unexpected encode() output')
+            output = idna.encode(source, uts46=True, strict=True, transitional=True).decode("ascii")
+            if to_ascii_t_status != "[]":
+                self.fail(
+                    "encode(transitional=True) did not emit required error {} for {}".format(to_ascii_t_status, repr(source))
+                )
+            self.assertEqual(output, to_ascii_t, "unexpected encode() output")
         except (idna.IDNAError, UnicodeError, ValueError) as exc:
             if str(exc).startswith("Unknown"):
-                raise unittest.SkipTest("Test requires support for a newer"
-                    " version of Unicode than this Python supports")
-            if to_ascii_t_status == '[]':
+                raise unittest.SkipTest("Test requires support for a newer" " version of Unicode than this Python supports")
+            if to_ascii_t_status == "[]":
                 raise
 
 
 def load_tests(loader, tests, pattern):
     """Create a suite of all the individual tests."""
     suite = unittest.TestSuite()
-    with open(os.path.join(os.path.dirname(__file__),
-            'IdnaTestV2.txt'), 'rb') as tests_file:
-        suite.addTests(TestIdnaTest(lineno, fields)
-            for lineno, fields in parse_idna_test_table(tests_file))
+    with open(os.path.join(os.path.dirname(__file__), "IdnaTestV2.txt"), "rb") as tests_file:
+        suite.addTests(TestIdnaTest(lineno, fields) for lineno, fields in parse_idna_test_table(tests_file))
     return suite
diff --git a/tests/test_intranges.py b/tests/test_intranges.py
index 868ab8f..951f75d 100644
--- a/tests/test_intranges.py
+++ b/tests/test_intranges.py
@@ -2,26 +2,37 @@
 
 import unittest
 
-from idna.intranges import intranges_from_list, intranges_contain, _encode_range
+from idna.intranges import _encode_range, intranges_contain, intranges_from_list
 
 
 class IntrangeTests(unittest.TestCase):
-
     def test_ranging(self):
         self.assertEqual(
             intranges_from_list(list(range(293, 499)) + list(range(4888, 9876))),
-            (_encode_range(293, 499), _encode_range(4888, 9876),)
+            (
+                _encode_range(293, 499),
+                _encode_range(4888, 9876),
+            ),
         )
 
     def test_ranging_2(self):
-        self.assertEqual(
-            intranges_from_list([111]),
-            (_encode_range(111, 112),)
-        )
+        self.assertEqual(intranges_from_list([111]), (_encode_range(111, 112),))
 
     def test_skips(self):
         self.assertEqual(
-            intranges_from_list([0, 2, 4, 6, 9, 10, 11, 13, 15,]),
+            intranges_from_list(
+                [
+                    0,
+                    2,
+                    4,
+                    6,
+                    9,
+                    10,
+                    11,
+                    13,
+                    15,
+                ]
+            ),
             (
                 _encode_range(0, 1),
                 _encode_range(2, 3),
@@ -30,18 +41,14 @@
                 _encode_range(9, 12),
                 _encode_range(13, 14),
                 _encode_range(15, 16),
-            )
+            ),
         )
 
     def test_empty_range(self):
-        self.assertEqual(
-            intranges_from_list([]),
-            ()
-        )
+        self.assertEqual(intranges_from_list([]), ())
 
 
 class IntrangeContainsTests(unittest.TestCase):
-
     def _test_containment(self, ints, disjoint_ints):
         ranges = intranges_from_list(ints)
         for int_ in ints:
@@ -54,8 +61,18 @@
 
     def test_skips(self):
         self._test_containment(
-            [0, 2, 4, 6, 9, 10, 11, 13, 15,],
-            [-1, 1, 3, 5, 7, 4898]
+            [
+                0,
+                2,
+                4,
+                6,
+                9,
+                10,
+                11,
+                13,
+                15,
+            ],
+            [-1, 1, 3, 5, 7, 4898],
         )
 
     def test_singleton(self):
diff --git a/tools/idna-data b/tools/idna-data
index 74f708a..281d5f0 100755
--- a/tools/idna-data
+++ b/tools/idna-data
@@ -485,11 +485,21 @@
         return ('{:04X}..{:04X}'.format(start.value, end.value),
                 '{}..{}'.format(start.name, end.name))
 
+def upper_hex(value):
+    num = hex(value)
+    return num[:2] + num[2:].upper()
+
 def optimised_list(d):
-    yield '('
-    for value in intranges_from_list(d):
-        yield '        {},'.format(hex(value))
-    yield '    ),'
+    values = intranges_from_list(d)
+    if len(values) == 1:
+        for value in values:
+            # Respect ruff format style
+            yield '({},),'.format(upper_hex(value))
+    else:
+        yield '('
+        for value in values:
+            yield '        {},'.format(upper_hex(value))
+        yield '    ),'
 
 def make_table(args, ucdata):
 
@@ -523,14 +533,14 @@
 def idna_libdata(ucdata):
 
     yield '# This file is automatically generated by tools/idna-data\n'
-    yield '__version__ = \'{}\''.format(ucdata.version)
+    yield '__version__ = "{}"\n'.format(ucdata.version)
 
     #
     # Script classifications are used by some CONTEXTO rules in RFC 5891
     #
     yield 'scripts = {'
     for script in SCRIPT_WHITELIST:
-        prefix = '    \'{}\': '.format(script)
+        prefix = '    "{}": '.format(script)
         for line in optimised_list(ucdata.ucd_s[script]):
             yield prefix + line
             prefix = ''
@@ -542,7 +552,7 @@
     yield 'joining_types = {'
     for cp in ucdata.codepoints():
         if cp.joining_type:
-            yield '    0x{:x}: {},'.format(cp.value, ord(cp.joining_type))
+            yield '    0x{:X}: {},'.format(cp.value, ord(cp.joining_type))
     yield '}'
 
     #
@@ -558,7 +568,7 @@
             classes[status] = set()
         classes[status].add(cp.value)
     for status in ['PVALID', 'CONTEXTJ', 'CONTEXTO']:
-        prefix = '    \'{}\': '.format(status)
+        prefix = '    "{}": '.format(status)
         for line in optimised_list(classes[status]):
             yield prefix + line
             prefix = ''
@@ -574,7 +584,7 @@
         status, mapping = UTS46_STATUSES[fields[0]]
         if mapping:
             mapping = ''.join(chr(int(codepoint, 16)) for codepoint in fields[1].split())
-            mapping = mapping.replace('\\', '\\\\').replace('\'', '\\\'')
+            mapping = mapping.replace('\\', '\\\\')
         else:
             mapping = None
         if cp.value > 255 and (status, mapping) == last:
@@ -582,18 +592,21 @@
         last = (status, mapping)
 
         if mapping is not None:
-            yield '(0x{:X}, \'{}\', \'{}\')'.format(cp.value, status, mapping)
+            if '"' in mapping:
+                yield '(0x{:X}, "{}", \'{}\')'.format(cp.value, status, mapping)
+            else:
+                yield '(0x{:X}, "{}", "{}")'.format(cp.value, status, mapping)
         else:
-            yield '(0x{:X}, \'{}\')'.format(cp.value, status)
+            yield '(0x{:X}, "{}")'.format(cp.value, status)
 
 def uts46_libdata(ucdata):
 
     yield '# This file is automatically generated by tools/idna-data'
     yield '# vim: set fileencoding=utf-8 :\n'
-    yield 'from typing import List, Tuple, Union\n\n'
+    yield 'from typing import List, Tuple, Union\n'
     yield '"""IDNA Mapping Table from UTS46."""\n\n'
 
-    yield '__version__ = \'{}\''.format(ucdata.version)
+    yield '__version__ = "{}"\n'.format(ucdata.version)
 
     idx = -1
     for row in uts46_ranges(ucdata):
@@ -601,11 +614,11 @@
         if idx % UTS46_SEGMENT_SIZE == 0:
             if idx != 0:
                 yield '    ]\n'
-            yield 'def _seg_{}() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:\n    return ['.format(idx // UTS46_SEGMENT_SIZE)
-        yield '    {},'.format(row)
+            yield '\ndef _seg_{}() -> List[Union[Tuple[int, str], Tuple[int, str, str]]]:\n    return ['.format(idx // UTS46_SEGMENT_SIZE)
+        yield '        {},'.format(row)
     yield '    ]\n'
 
-    yield 'uts46data = tuple('
+    yield '\nuts46data = tuple('
     yield '    _seg_0()'
     for i in range(1, idx // UTS46_SEGMENT_SIZE + 1):
         yield '    + _seg_{}()'.format(i)
@@ -681,6 +694,3 @@
 
 if __name__ == '__main__':
     main()
-
-
-