Subversion Repositories vgwhois

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. <?php
  2.  
  3. // ** Newest version can be downloaded here:
  4. // ** https://idnaconv.net/index.html
  5. // ** https://github.com/algo26-matthias/idna-convert
  6. /*
  7. Als Alternative zu idna_convert kann man auch TrueBV Punycode verwenden:
  8. https://raw.githubusercontent.com/true/php-punycode/master/src/Punycode.php
  9. Der Damals aufgetretene Fehler bei 'xn--p1ai' ist mittlerweile behoben.
  10. */
  11.  
  12. // {{{ license
  13.  
  14. /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
  15. //
  16. // +----------------------------------------------------------------------+
  17. // | This library is free software; you can redistribute it and/or modify |
  18. // | it under the terms of the GNU Lesser General Public License as       |
  19. // | published by the Free Software Foundation; either version 2.1 of the |
  20. // | License, or (at your option) any later version.                      |
  21. // |                                                                      |
  22. // | This library is distributed in the hope that it will be useful, but  |
  23. // | WITHOUT ANY WARRANTY; without even the implied warranty of           |
  24. // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    |
  25. // | Lesser General Public License for more details.                      |
  26. // |                                                                      |
  27. // | You should have received a copy of the GNU Lesser General Public     |
  28. // | License along with this library; if not, write to the Free Software  |
  29. // | Foundation, Inc., 51 Franklin St, Boston, MA 02110, United States    |
  30. // +----------------------------------------------------------------------+
  31. //
  32. // }}}
  33.  
  34. /**
  35.  * Encode/decode Internationalized Domain Names.
  36.  *
  37.  * The class allows to convert internationalized domain names
  38.  * (see RFC 3490 for details) as they can be used with various registries worldwide
  39.  * to be translated between their original (localized) form and their encoded form
  40.  * as it will be used in the DNS (Domain Name System).
  41.  *
  42.  * The class provides two public methods, encode() and decode(), which do exactly
  43.  * what you would expect them to do. You are allowed to use complete domain names,
  44.  * simple strings and complete email addresses as well. That means, that you might
  45.  * use any of the following notations:
  46.  *
  47.  * - www.nörgler.com
  48.  * - xn--nrgler-wxa
  49.  * - xn--brse-5qa.xn--knrz-1ra.info
  50.  *
  51.  * Unicode input might be given as either UTF-8 string, UCS-4 string or UCS-4 array.
  52.  * Unicode output is available in the same formats.
  53.  * You can select your preferred format via {@link set_paramter()}.
  54.  *
  55.  * ACE input and output is always expected to be ASCII.
  56.  *
  57.  * @author  Matthias Sommerfeld <mso@phlylabs.de>
  58.  * @copyright 2004-2014 phlyLabs Berlin, http://phlylabs.de
  59.  * @version 0.9.0 2014-12-12
  60.  */
  61. class idna_convert {
  62.  
  63.     private $version = '0.9.0';
  64.     protected $sub_version = 'main';
  65.  
  66.     // NP See below
  67.     // Internal settings, do not mess with them
  68.     protected $_punycode_prefix = 'xn--';
  69.     protected $_invalid_ucs = 0x80000000;
  70.     protected $_max_ucs = 0x10FFFF;
  71.     protected $_base = 36;
  72.     protected $_tmin = 1;
  73.     protected $_tmax = 26;
  74.     protected $_skew = 38;
  75.     protected $_damp = 700;
  76.     protected $_initial_bias = 72;
  77.     protected $_initial_n = 0x80;
  78.     protected $_sbase = 0xAC00;
  79.     protected $_lbase = 0x1100;
  80.     protected $_vbase = 0x1161;
  81.     protected $_tbase = 0x11A7;
  82.     protected $_lcount = 19;
  83.     protected $_vcount = 21;
  84.     protected $_tcount = 28;
  85.     protected $_ncount = 588;   // _vcount * _tcount
  86.     protected $_scount = 11172; // _lcount * _tcount * _vcount
  87.     protected $_error = false;
  88.     protected static $_mb_string_overload = null;
  89.     // See {@link set_paramter()} for details of how to change the following
  90.     // settings from within your script / application
  91.     protected $_api_encoding = 'utf8';   // Default input charset is UTF-8
  92.     protected $_allow_overlong = false;  // Overlong UTF-8 encodings are forbidden
  93.     protected $_strict_mode = false;     // Behave strict or not
  94.     protected $_idn_version = 2003;      // Can be either 2003 (old, default) or 2008
  95.  
  96.     /**
  97.      * the constructor
  98.      *
  99.      * @param array $options
  100.      * @return boolean
  101.      * @since 0.5.2
  102.      */
  103.     public function __construct($options = false)
  104.     {
  105.         $this->slast = $this->_sbase + $this->_lcount * $this->_vcount * $this->_tcount;
  106.         // If parameters are given, pass these to the respective method
  107.         if (is_array($options)) {
  108.             $this->set_parameter($options);
  109.         }
  110.  
  111.         // populate mbstring overloading cache if not set
  112.         if (self::$_mb_string_overload === null) {
  113.             self::$_mb_string_overload = (extension_loaded('mbstring') && (ini_get('mbstring.func_overload') & 0x02) === 0x02);
  114.         }
  115.     }
  116.  
  117.     public function get_version()
  118.     {
  119.         return $this->version.'-'.$this->sub_version;
  120.     }
  121.  
  122.     /**
  123.      * Sets a new option value. Available options and values:
  124.      * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8,
  125.      *         'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8]
  126.      * [overlong - Unicode does not allow unnecessarily long encodings of chars,
  127.      *             to allow this, set this parameter to true, else to false;
  128.      *             default is false.]
  129.      * [strict - true: strict mode, good for registration purposes - Causes errors
  130.      *           on failures; false: loose mode, ideal for "wildlife" applications
  131.      *           by silently ignoring errors and returning the original input instead
  132.      *
  133.      * @param    mixed     Parameter to set (string: single parameter; array of Parameter => Value pairs)
  134.      * @param    string    Value to use (if parameter 1 is a string)
  135.      * @return   boolean   true on success, false otherwise
  136.      */
  137.     public function set_parameter($option, $value = false)
  138.     {
  139.         if (!is_array($option)) {
  140.             $option = array($option => $value);
  141.         }
  142.         foreach ($option as $k => $v) {
  143.             switch ($k) {
  144.                 case 'encoding':
  145.                     switch ($v) {
  146.                         case 'utf8':
  147.                         case 'ucs4_string':
  148.                         case 'ucs4_array':
  149.                             $this->_api_encoding = $v;
  150.                             break;
  151.                         default:
  152.                             $this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
  153.                             return false;
  154.                     }
  155.                     break;
  156.                 case 'overlong':
  157.                     $this->_allow_overlong = ($v) ? true : false;
  158.                     break;
  159.                 case 'strict':
  160.                     $this->_strict_mode = ($v) ? true : false;
  161.                     break;
  162.                 case 'idn_version':
  163.                     if (in_array($v, array('2003', '2008'))) {
  164.                         $this->_idn_version = $v;
  165.                     } else {
  166.                         $this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
  167.                     }
  168.                     break;
  169.                 case 'encode_german_sz': // Deprecated
  170.                     if (!$v) {
  171.                         self::$NP['replacemaps'][0xDF] = array(0x73, 0x73);
  172.                     } else {
  173.                         unset(self::$NP['replacemaps'][0xDF]);
  174.                     }
  175.                     break;
  176.                 default:
  177.                     $this->_error('Set Parameter: Unknown option ' . $k);
  178.                     return false;
  179.             }
  180.         }
  181.         return true;
  182.     }
  183.  
  184.     /**
  185.      * Decode a given ACE domain name
  186.      * @param    string   Domain name (ACE string)
  187.      * [@param    string   Desired output encoding, see {@link set_parameter}]
  188.      * @return   string   Decoded Domain name (UTF-8 or UCS-4)
  189.      */
  190.     public function decode($input, $one_time_encoding = false)
  191.     {
  192.         // Optionally set
  193.         if ($one_time_encoding) {
  194.             switch ($one_time_encoding) {
  195.                 case 'utf8':
  196.                 case 'ucs4_string':
  197.                 case 'ucs4_array':
  198.                     break;
  199.                 default:
  200.                     $this->_error('Unknown encoding ' . $one_time_encoding);
  201.                     return false;
  202.             }
  203.         }
  204.         // Make sure to drop any newline characters around
  205.         $input = trim($input);
  206.  
  207.         // Negotiate input and try to determine, whether it is a plain string,
  208.         // an email address or something like a complete URL
  209.         if (strpos($input, '@')) { // Maybe it is an email address
  210.             // No no in strict mode
  211.             if ($this->_strict_mode) {
  212.                 $this->_error('Only simple domain name parts can be handled in strict mode');
  213.                 return false;
  214.             }
  215.             list ($email_pref, $input) = explode('@', $input, 2);
  216.             $arr = explode('.', $input);
  217.             foreach ($arr as $k => $v) {
  218.                 if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
  219.                     $conv = $this->_decode($v);
  220.                     if ($conv) {
  221.                         $arr[$k] = $conv;
  222.                     }
  223.                 }
  224.             }
  225.             $input = join('.', $arr);
  226.             $arr = explode('.', $email_pref);
  227.             foreach ($arr as $k => $v) {
  228.                 if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
  229.                     $conv = $this->_decode($v);
  230.                     if ($conv) {
  231.                         $arr[$k] = $conv;
  232.                     }
  233.                 }
  234.             }
  235.             $email_pref = join('.', $arr);
  236.             $return = $email_pref . '@' . $input;
  237.         } elseif (preg_match('![:\./]!', $input)) { // Or a complete domain name (with or without paths / parameters)
  238.             // No no in strict mode
  239.             if ($this->_strict_mode) {
  240.                 $this->_error('Only simple domain name parts can be handled in strict mode');
  241.                 return false;
  242.             }
  243.             $parsed = parse_url($input);
  244.             if (isset($parsed['host'])) {
  245.                 $arr = explode('.', $parsed['host']);
  246.                 foreach ($arr as $k => $v) {
  247.                     $conv = $this->_decode($v);
  248.                     if ($conv) {
  249.                         $arr[$k] = $conv;
  250.                     }
  251.                 }
  252.                 $parsed['host'] = join('.', $arr);
  253.                 $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
  254.                         (empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
  255.                         $parsed['host'].
  256.                         (empty($parsed['port']) ? '' : ':' . $parsed['port']).
  257.                         (empty($parsed['path']) ? '' : $parsed['path']).
  258.                         (empty($parsed['query']) ? '' : '?' . $parsed['query']).
  259.                         (empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
  260.             } else { // parse_url seems to have failed, try without it
  261.                 $arr = explode('.', $input);
  262.                 foreach ($arr as $k => $v) {
  263.                     $conv = $this->_decode($v);
  264.                     $arr[$k] = ($conv) ? $conv : $v;
  265.                 }
  266.                 $return = join('.', $arr);
  267.             }
  268.         } else { // Otherwise we consider it being a pure domain name string
  269.             $return = $this->_decode($input);
  270.             if (!$return) {
  271.                 $return = $input;
  272.             }
  273.         }
  274.         // The output is UTF-8 by default, other output formats need conversion here
  275.         // If one time encoding is given, use this, else the objects property
  276.         switch (($one_time_encoding) ? $one_time_encoding : $this->_api_encoding) {
  277.             case 'utf8':        return $return; // break;
  278.             case 'ucs4_string': return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return));  // break;
  279.             case 'ucs4_array':  return $this->_utf8_to_ucs4($return); // break;
  280.             default:            $this->_error('Unsupported output format'); return false;
  281.         }
  282.     }
  283.  
  284.     /**
  285.      * Encode a given UTF-8 domain name
  286.      * @param    string   Domain name (UTF-8 or UCS-4)
  287.      * [@param    string   Desired input encoding, see {@link set_parameter}]
  288.      * @return   string   Encoded Domain name (ACE string)
  289.      */
  290.     public function encode($decoded, $one_time_encoding = false)
  291.     {
  292.         // Forcing conversion of input to UCS4 array
  293.         // If one time encoding is given, use this, else the objects property
  294.         switch ($one_time_encoding ? $one_time_encoding : $this->_api_encoding) {
  295.             case 'utf8':
  296.                 $decoded = $this->_utf8_to_ucs4($decoded);
  297.                 break;
  298.             case 'ucs4_string':
  299.                 $decoded = $this->_ucs4_string_to_ucs4($decoded);
  300.             case 'ucs4_array':
  301.                 break;
  302.             default:
  303.                 $this->_error('Unsupported input format: ' . ($one_time_encoding ? $one_time_encoding : $this->_api_encoding));
  304.                 return false;
  305.         }
  306.  
  307.         // No input, no output, what else did you expect?
  308.         if (empty($decoded)) {
  309.             return '';
  310.         }
  311.  
  312.         // Anchors for iteration
  313.         $last_begin = 0;
  314.         // Output string
  315.         $output = '';
  316.         foreach ($decoded as $k => $v) {
  317.             // Make sure to use just the plain dot
  318.             switch ($v) {
  319.                 case 0x3002:
  320.                 case 0xFF0E:
  321.                 case 0xFF61:
  322.                     $decoded[$k] = 0x2E;
  323.                     // Right, no break here, the above are converted to dots anyway
  324.                 // Stumbling across an anchoring character
  325.                 case 0x2E:
  326.                 case 0x2F:
  327.                 case 0x3A:
  328.                 case 0x3F:
  329.                 case 0x40:
  330.                     // Neither email addresses nor URLs allowed in strict mode
  331.                     if ($this->_strict_mode) {
  332.                         $this->_error('Neither email addresses nor URLs are allowed in strict mode.');
  333.                         return false;
  334.                     } else {
  335.                         // Skip first char
  336.                         if ($k) {
  337.                             $encoded = '';
  338.                             $encoded = $this->_encode(array_slice($decoded, $last_begin, (($k) - $last_begin)));
  339.                             if ($encoded) {
  340.                                 $output .= $encoded;
  341.                             } else {
  342.                                 $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($k) - $last_begin)));
  343.                             }
  344.                             $output .= chr($decoded[$k]);
  345.                         }
  346.                         $last_begin = $k + 1;
  347.                     }
  348.             }
  349.         }
  350.         // Catch the rest of the string
  351.         if ($last_begin) {
  352.             $inp_len = sizeof($decoded);
  353.             $encoded = '';
  354.             $encoded = $this->_encode(array_slice($decoded, $last_begin, (($inp_len) - $last_begin)));
  355.             if ($encoded) {
  356.                 $output .= $encoded;
  357.             } else {
  358.                 $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($inp_len) - $last_begin)));
  359.             }
  360.             return $output;
  361.         } else {
  362.             if (false !== ($output = $this->_encode($decoded))) {
  363.                 return $output;
  364.             } else {
  365.                 return $this->_ucs4_to_utf8($decoded);
  366.             }
  367.         }
  368.     }
  369.  
  370.     /**
  371.      * Removes a weakness of encode(), which cannot properly handle URIs but instead encodes their
  372.      * path or query components, too.
  373.      * @param string  $uri  Expects the URI as a UTF-8 (or ASCII) string
  374.      * @return  string  The URI encoded to Punycode, everything but the host component is left alone
  375.      * @since 0.6.4
  376.      */
  377.     public function encode_uri($uri)
  378.     {
  379.         $parsed = parse_url($uri);
  380.         if (!isset($parsed['host'])) {
  381.             $this->_error('The given string does not look like a URI');
  382.             return false;
  383.         }
  384.         $arr = explode('.', $parsed['host']);
  385.         foreach ($arr as $k => $v) {
  386.             $conv = $this->encode($v, 'utf8');
  387.             if ($conv) {
  388.                 $arr[$k] = $conv;
  389.             }
  390.         }
  391.         $parsed['host'] = join('.', $arr);
  392.         $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
  393.                 (empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
  394.                 $parsed['host'].
  395.                 (empty($parsed['port']) ? '' : ':' . $parsed['port']).
  396.                 (empty($parsed['path']) ? '' : $parsed['path']).
  397.                 (empty($parsed['query']) ? '' : '?' . $parsed['query']).
  398.                 (empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
  399.         return $return;
  400.     }
  401.  
  402.     /**
  403.      * Use this method to get the last error ocurred
  404.      * @param    void
  405.      * @return   string   The last error, that occured
  406.      */
  407.     public function get_last_error()
  408.     {
  409.         return $this->_error;
  410.     }
  411.  
  412.     /**
  413.      * The actual decoding algorithm
  414.      * @param string
  415.      * @return mixed
  416.      */
  417.     protected function _decode($encoded)
  418.     {
  419.         $decoded = array();
  420.         // find the Punycode prefix
  421.         if (!preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $encoded)) {
  422.             $this->_error('This is not a punycode string');
  423.             return false;
  424.         }
  425.         $encode_test = preg_replace('!^' . preg_quote($this->_punycode_prefix, '!') . '!', '', $encoded);
  426.         // If nothing left after removing the prefix, it is hopeless
  427.         if (!$encode_test) {
  428.             $this->_error('The given encoded string was empty');
  429.             return false;
  430.         }
  431.         // Find last occurence of the delimiter
  432.         $delim_pos = strrpos($encoded, '-');
  433.         if ($delim_pos > self::byteLength($this->_punycode_prefix)) {
  434.             for ($k = self::byteLength($this->_punycode_prefix); $k < $delim_pos; ++$k) {
  435.                 $decoded[] = ord($encoded[$k]);
  436.             }
  437.         }
  438.         $deco_len = count($decoded);
  439.         $enco_len = self::byteLength($encoded);
  440.  
  441.         // Wandering through the strings; init
  442.         $is_first = true;
  443.         $bias = $this->_initial_bias;
  444.         $idx = 0;
  445.         $char = $this->_initial_n;
  446.  
  447.         for ($enco_idx = ($delim_pos) ? ($delim_pos + 1) : 0; $enco_idx < $enco_len; ++$deco_len) {
  448.             for ($old_idx = $idx, $w = 1, $k = $this->_base; 1; $k += $this->_base) {
  449.                 $digit = $this->_decode_digit($encoded[$enco_idx++]);
  450.                 $idx += $digit * $w;
  451.                 $t = ($k <= $bias) ? $this->_tmin :
  452.                         (($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias));
  453.                 if ($digit < $t) {
  454.                     break;
  455.                 }
  456.                 $w = (int) ($w * ($this->_base - $t));
  457.             }
  458.             $bias = $this->_adapt($idx - $old_idx, $deco_len + 1, $is_first);
  459.             $is_first = false;
  460.             $char += (int) ($idx / ($deco_len + 1));
  461.             $idx %= ($deco_len + 1);
  462.             if ($deco_len > 0) {
  463.                 // Make room for the decoded char
  464.                 for ($i = $deco_len; $i > $idx; $i--) {
  465.                     $decoded[$i] = $decoded[($i - 1)];
  466.                 }
  467.             }
  468.             $decoded[$idx++] = $char;
  469.         }
  470.         return $this->_ucs4_to_utf8($decoded);
  471.     }
  472.  
  473.     /**
  474.      * The actual encoding algorithm
  475.      * @param  string
  476.      * @return mixed
  477.      */
  478.     protected function _encode($decoded)
  479.     {
  480.         // We cannot encode a domain name containing the Punycode prefix
  481.         $extract = self::byteLength($this->_punycode_prefix);
  482.         $check_pref = $this->_utf8_to_ucs4($this->_punycode_prefix);
  483.         $check_deco = array_slice($decoded, 0, $extract);
  484.  
  485.         if ($check_pref == $check_deco) {
  486.             $this->_error('This is already a punycode string');
  487.             return false;
  488.         }
  489.         // We will not try to encode strings consisting of basic code points only
  490.         $encodable = false;
  491.         foreach ($decoded as $k => $v) {
  492.             if ($v > 0x7a) {
  493.                 $encodable = true;
  494.                 break;
  495.             }
  496.         }
  497.         if (!$encodable) {
  498.             $this->_error('The given string does not contain encodable chars');
  499.             return false;
  500.         }
  501.         // Do NAMEPREP
  502.         $decoded = $this->_nameprep($decoded);
  503.         if (!$decoded || !is_array($decoded)) {
  504.             return false; // NAMEPREP failed
  505.         }
  506.         $deco_len = count($decoded);
  507.         if (!$deco_len) {
  508.             return false; // Empty array
  509.         }
  510.         $codecount = 0; // How many chars have been consumed
  511.         $encoded = '';
  512.         // Copy all basic code points to output
  513.         for ($i = 0; $i < $deco_len; ++$i) {
  514.             $test = $decoded[$i];
  515.             // Will match [-0-9a-zA-Z]
  516.             if ((0x2F < $test && $test < 0x40) || (0x40 < $test && $test < 0x5B) || (0x60 < $test && $test <= 0x7B) || (0x2D == $test)) {
  517.                 $encoded .= chr($decoded[$i]);
  518.                 $codecount++;
  519.             }
  520.         }
  521.         if ($codecount == $deco_len) {
  522.             return $encoded; // All codepoints were basic ones
  523.         }
  524.         // Start with the prefix; copy it to output
  525.         $encoded = $this->_punycode_prefix . $encoded;
  526.         // If we have basic code points in output, add an hyphen to the end
  527.         if ($codecount) {
  528.             $encoded .= '-';
  529.         }
  530.         // Now find and encode all non-basic code points
  531.         $is_first = true;
  532.         $cur_code = $this->_initial_n;
  533.         $bias = $this->_initial_bias;
  534.         $delta = 0;
  535.         while ($codecount < $deco_len) {
  536.             // Find the smallest code point >= the current code point and
  537.             // remember the last ouccrence of it in the input
  538.             for ($i = 0, $next_code = $this->_max_ucs; $i < $deco_len; $i++) {
  539.                 if ($decoded[$i] >= $cur_code && $decoded[$i] <= $next_code) {
  540.                     $next_code = $decoded[$i];
  541.                 }
  542.             }
  543.             $delta += ($next_code - $cur_code) * ($codecount + 1);
  544.             $cur_code = $next_code;
  545.  
  546.             // Scan input again and encode all characters whose code point is $cur_code
  547.             for ($i = 0; $i < $deco_len; $i++) {
  548.                 if ($decoded[$i] < $cur_code) {
  549.                     $delta++;
  550.                 } elseif ($decoded[$i] == $cur_code) {
  551.                     for ($q = $delta, $k = $this->_base; 1; $k += $this->_base) {
  552.                         $t = ($k <= $bias) ? $this->_tmin :
  553.                                 (($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias);
  554.                         if ($q < $t) {
  555.                             break;
  556.                         }
  557.                         $encoded .= $this->_encode_digit(intval($t + (($q - $t) % ($this->_base - $t)))); //v0.4.5 Changed from ceil() to intval()
  558.                         $q = (int) (($q - $t) / ($this->_base - $t));
  559.                     }
  560.                     $encoded .= $this->_encode_digit($q);
  561.                     $bias = $this->_adapt($delta, $codecount + 1, $is_first);
  562.                     $codecount++;
  563.                     $delta = 0;
  564.                     $is_first = false;
  565.                 }
  566.             }
  567.             $delta++;
  568.             $cur_code++;
  569.         }
  570.         return $encoded;
  571.     }
  572.  
  573.     /**
  574.      * Adapt the bias according to the current code point and position
  575.      * @param int $delta
  576.      * @param int $npoints
  577.      * @param int $is_first
  578.      * @return int
  579.      */
  580.     protected function _adapt($delta, $npoints, $is_first)
  581.     {
  582.         $delta = intval($is_first ? ($delta / $this->_damp) : ($delta / 2));
  583.         $delta += intval($delta / $npoints);
  584.         for ($k = 0; $delta > (($this->_base - $this->_tmin) * $this->_tmax) / 2; $k += $this->_base) {
  585.             $delta = intval($delta / ($this->_base - $this->_tmin));
  586.         }
  587.         return intval($k + ($this->_base - $this->_tmin + 1) * $delta / ($delta + $this->_skew));
  588.     }
  589.  
  590.     /**
  591.      * Encoding a certain digit
  592.      * @param    int $d
  593.      * @return string
  594.      */
  595.     protected function _encode_digit($d)
  596.     {
  597.         return chr($d + 22 + 75 * ($d < 26));
  598.     }
  599.  
  600.     /**
  601.      * Decode a certain digit
  602.      * @param    int $cp
  603.      * @return int
  604.      */
  605.     protected function _decode_digit($cp)
  606.     {
  607.         $cp = ord($cp);
  608.         return ($cp - 48 < 10) ? $cp - 22 : (($cp - 65 < 26) ? $cp - 65 : (($cp - 97 < 26) ? $cp - 97 : $this->_base));
  609.     }
  610.  
  611.     /**
  612.      * Internal error handling method
  613.      * @param  string $error
  614.      */
  615.     protected function _error($error = '')
  616.     {
  617.         $this->_error = $error;
  618.     }
  619.  
  620.     /**
  621.      * Do Nameprep according to RFC3491 and RFC3454
  622.      * @param    array    Unicode Characters
  623.      * @return   string   Unicode Characters, Nameprep'd
  624.      */
  625.     protected function _nameprep($input)
  626.     {
  627.         $output = array();
  628.         //
  629.         // Mapping
  630.         // Walking through the input array, performing the required steps on each of
  631.         // the input chars and putting the result into the output array
  632.         // While mapping required chars we apply the cannonical ordering
  633.         foreach ($input as $v) {
  634.             // Map to nothing == skip that code point
  635.             if (in_array($v, self::$NP['map_nothing'])) {
  636.                 continue;
  637.             }
  638.             // Try to find prohibited input
  639.             if (in_array($v, self::$NP['prohibit']) || in_array($v, self::$NP['general_prohibited'])) {
  640.                 $this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
  641.                 return false;
  642.             }
  643.             foreach (self::$NP['prohibit_ranges'] as $range) {
  644.                 if ($range[0] <= $v && $v <= $range[1]) {
  645.                     $this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
  646.                     return false;
  647.                 }
  648.             }
  649.  
  650.             if (0xAC00 <= $v && $v <= 0xD7AF) {
  651.                 // Hangul syllable decomposition
  652.                 foreach ($this->_hangul_decompose($v) as $out) {
  653.                     $output[] = (int) $out;
  654.                 }
  655.             } elseif (($this->_idn_version == '2003') && isset(self::$NP['replacemaps_2003'][$v])) {
  656.                 foreach ($this->_apply_cannonical_ordering(self::$NP['replacemaps_2003'][$v]) as $out) {
  657.                     $output[] = (int) $out;
  658.                 }
  659.             } elseif (($this->_idn_version == '2008') && isset(self::$NP['replacemaps'][$v])) {
  660.                 foreach ($this->_apply_cannonical_ordering(self::$NP['replacemaps'][$v]) as $out) {
  661.                     $output[] = (int) $out;
  662.                 }
  663.             } else {
  664.                 $output[] = (int) $v;
  665.             }
  666.         }
  667.         // Before applying any Combining, try to rearrange any Hangul syllables
  668.         $output = $this->_hangul_compose($output);
  669.         //
  670.         // Combine code points
  671.         //
  672.         $last_class = 0;
  673.         $last_starter = 0;
  674.         $out_len = count($output);
  675.         for ($i = 0; $i < $out_len; ++$i) {
  676.             $class = $this->_get_combining_class($output[$i]);
  677.             if ((!$last_class || $last_class > $class) && $class) {
  678.                 // Try to match
  679.                 $seq_len = $i - $last_starter;
  680.                 $out = $this->_combine(array_slice($output, $last_starter, $seq_len));
  681.                 // On match: Replace the last starter with the composed character and remove
  682.                 // the now redundant non-starter(s)
  683.                 if ($out) {
  684.                     $output[$last_starter] = $out;
  685.                     if (count($out) != $seq_len) {
  686.                         for ($j = $i + 1; $j < $out_len; ++$j) {
  687.                             $output[$j - 1] = $output[$j];
  688.                         }
  689.                         unset($output[$out_len]);
  690.                     }
  691.                     // Rewind the for loop by one, since there can be more possible compositions
  692.                     $i--;
  693.                     $out_len--;
  694.                     $last_class = ($i == $last_starter) ? 0 : $this->_get_combining_class($output[$i - 1]);
  695.                     continue;
  696.                 }
  697.             }
  698.             // The current class is 0
  699.             if (!$class) {
  700.                 $last_starter = $i;
  701.             }
  702.             $last_class = $class;
  703.         }
  704.         return $output;
  705.     }
  706.  
  707.     /**
  708.      * Decomposes a Hangul syllable
  709.      * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
  710.      * @param    integer  32bit UCS4 code point
  711.      * @return   array    Either Hangul Syllable decomposed or original 32bit value as one value array
  712.      */
  713.     protected function _hangul_decompose($char)
  714.     {
  715.         $sindex = (int) $char - $this->_sbase;
  716.         if ($sindex < 0 || $sindex >= $this->_scount) {
  717.             return array($char);
  718.         }
  719.         $result = array();
  720.         $result[] = (int) $this->_lbase + $sindex / $this->_ncount;
  721.         $result[] = (int) $this->_vbase + ($sindex % $this->_ncount) / $this->_tcount;
  722.         $T = intval($this->_tbase + $sindex % $this->_tcount);
  723.         if ($T != $this->_tbase) {
  724.             $result[] = $T;
  725.         }
  726.         return $result;
  727.     }
  728.  
  729.     /**
  730.      * Ccomposes a Hangul syllable
  731.      * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
  732.      * @param    array    Decomposed UCS4 sequence
  733.      * @return   array    UCS4 sequence with syllables composed
  734.      */
  735.     protected function _hangul_compose($input)
  736.     {
  737.         $inp_len = count($input);
  738.         if (!$inp_len) {
  739.             return array();
  740.         }
  741.         $result = array();
  742.         $last = (int) $input[0];
  743.         $result[] = $last; // copy first char from input to output
  744.  
  745.         for ($i = 1; $i < $inp_len; ++$i) {
  746.             $char = (int) $input[$i];
  747.             $sindex = $last - $this->_sbase;
  748.             $lindex = $last - $this->_lbase;
  749.             $vindex = $char - $this->_vbase;
  750.             $tindex = $char - $this->_tbase;
  751.             // Find out, whether two current characters are LV and T
  752.             if (0 <= $sindex && $sindex < $this->_scount && ($sindex % $this->_tcount == 0) && 0 <= $tindex && $tindex <= $this->_tcount) {
  753.                 // create syllable of form LVT
  754.                 $last += $tindex;
  755.                 $result[(count($result) - 1)] = $last; // reset last
  756.                 continue; // discard char
  757.             }
  758.             // Find out, whether two current characters form L and V
  759.             if (0 <= $lindex && $lindex < $this->_lcount && 0 <= $vindex && $vindex < $this->_vcount) {
  760.                 // create syllable of form LV
  761.                 $last = (int) $this->_sbase + ($lindex * $this->_vcount + $vindex) * $this->_tcount;
  762.                 $result[(count($result) - 1)] = $last; // reset last
  763.                 continue; // discard char
  764.             }
  765.             // if neither case was true, just add the character
  766.             $last = $char;
  767.             $result[] = $char;
  768.         }
  769.         return $result;
  770.     }
  771.  
  772.     /**
  773.      * Returns the combining class of a certain wide char
  774.      * @param    integer    Wide char to check (32bit integer)
  775.      * @return   integer    Combining class if found, else 0
  776.      */
  777.     protected function _get_combining_class($char)
  778.     {
  779.         return isset(self::$NP['norm_combcls'][$char]) ? self::$NP['norm_combcls'][$char] : 0;
  780.     }
  781.  
  782.     /**
  783.      * Applies the cannonical ordering of a decomposed UCS4 sequence
  784.      * @param    array      Decomposed UCS4 sequence
  785.      * @return   array      Ordered USC4 sequence
  786.      */
  787.     protected function _apply_cannonical_ordering($input)
  788.     {
  789.         $swap = true;
  790.         $size = count($input);
  791.         while ($swap) {
  792.             $swap = false;
  793.             $last = $this->_get_combining_class(intval($input[0]));
  794.             for ($i = 0; $i < $size - 1; ++$i) {
  795.                 $next = $this->_get_combining_class(intval($input[$i + 1]));
  796.                 if ($next != 0 && $last > $next) {
  797.                     // Move item leftward until it fits
  798.                     for ($j = $i + 1; $j > 0; --$j) {
  799.                         if ($this->_get_combining_class(intval($input[$j - 1])) <= $next) {
  800.                             break;
  801.                         }
  802.                         $t = intval($input[$j]);
  803.                         $input[$j] = intval($input[$j - 1]);
  804.                         $input[$j - 1] = $t;
  805.                         $swap = true;
  806.                     }
  807.                     // Reentering the loop looking at the old character again
  808.                     $next = $last;
  809.                 }
  810.                 $last = $next;
  811.             }
  812.         }
  813.         return $input;
  814.     }
  815.  
  816.     /**
  817.      * Do composition of a sequence of starter and non-starter
  818.      * @param    array      UCS4 Decomposed sequence
  819.      * @return   array      Ordered USC4 sequence
  820.      */
  821.     protected function _combine($input)
  822.     {
  823.         $inp_len = count($input);
  824.         if (0 == $inp_len) {
  825.             return false;
  826.         }
  827.         foreach (self::$NP['replacemaps'] as $np_src => $np_target) {
  828.             if ($np_target[0] != $input[0]) {
  829.                 continue;
  830.             }
  831.             if (count($np_target) != $inp_len) {
  832.                 continue;
  833.             }
  834.             $hit = false;
  835.             foreach ($input as $k2 => $v2) {
  836.                 if ($v2 == $np_target[$k2]) {
  837.                     $hit = true;
  838.                 } else {
  839.                     $hit = false;
  840.                     break;
  841.                 }
  842.             }
  843.             if ($hit) {
  844.                 return $np_src;
  845.             }
  846.         }
  847.         return false;
  848.     }
  849.  
  850.     /**
  851.      * This converts an UTF-8 encoded string to its UCS-4 representation
  852.      * By talking about UCS-4 "strings" we mean arrays of 32bit integers representing
  853.      * each of the "chars". This is due to PHP not being able to handle strings with
  854.      * bit depth different from 8. This apllies to the reverse method _ucs4_to_utf8(), too.
  855.      * The following UTF-8 encodings are supported:
  856.      * bytes bits  representation
  857.      * 1        7  0xxxxxxx
  858.      * 2       11  110xxxxx 10xxxxxx
  859.      * 3       16  1110xxxx 10xxxxxx 10xxxxxx
  860.      * 4       21  11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
  861.      * 5       26  111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
  862.      * 6       31  1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
  863.      * Each x represents a bit that can be used to store character data.
  864.      * The five and six byte sequences are part of Annex D of ISO/IEC 10646-1:2000
  865.      * @param string $input
  866.      * @return string
  867.      */
  868.     protected function _utf8_to_ucs4($input)
  869.     {
  870.         $output = array();
  871.         $out_len = 0;
  872.         $inp_len = self::byteLength($input);
  873.         $mode = 'next';
  874.         $test = 'none';
  875.         for ($k = 0; $k < $inp_len; ++$k) {
  876.             $v = ord($input[$k]); // Extract byte from input string
  877.             if ($v < 128) { // We found an ASCII char - put into stirng as is
  878.                 $output[$out_len] = $v;
  879.                 ++$out_len;
  880.                 if ('add' == $mode) {
  881.                     $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
  882.                     return false;
  883.                 }
  884.                 continue;
  885.             }
  886.             if ('next' == $mode) { // Try to find the next start byte; determine the width of the Unicode char
  887.                 $start_byte = $v;
  888.                 $mode = 'add';
  889.                 $test = 'range';
  890.                 if ($v >> 5 == 6) { // &110xxxxx 10xxxxx
  891.                     $next_byte = 0; // Tells, how many times subsequent bitmasks must rotate 6bits to the left
  892.                     $v = ($v - 192) << 6;
  893.                 } elseif ($v >> 4 == 14) { // &1110xxxx 10xxxxxx 10xxxxxx
  894.                     $next_byte = 1;
  895.                     $v = ($v - 224) << 12;
  896.                 } elseif ($v >> 3 == 30) { // &11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
  897.                     $next_byte = 2;
  898.                     $v = ($v - 240) << 18;
  899.                 } elseif ($v >> 2 == 62) { // &111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
  900.                     $next_byte = 3;
  901.                     $v = ($v - 248) << 24;
  902.                 } elseif ($v >> 1 == 126) { // &1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
  903.                     $next_byte = 4;
  904.                     $v = ($v - 252) << 30;
  905.                 } else {
  906.                     $this->_error('This might be UTF-8, but I don\'t understand it at byte ' . $k);
  907.                     return false;
  908.                 }
  909.                 if ('add' == $mode) {
  910.                     $output[$out_len] = (int) $v;
  911.                     ++$out_len;
  912.                     continue;
  913.                 }
  914.             }
  915.             if ('add' == $mode) {
  916.                 if (!$this->_allow_overlong && $test == 'range') {
  917.                     $test = 'none';
  918.                     if (($v < 0xA0 && $start_byte == 0xE0) || ($v < 0x90 && $start_byte == 0xF0) || ($v > 0x8F && $start_byte == 0xF4)) {
  919.                         $this->_error('Bogus UTF-8 character detected (out of legal range) at byte ' . $k);
  920.                         return false;
  921.                     }
  922.                 }
  923.                 if ($v >> 6 == 2) { // Bit mask must be 10xxxxxx
  924.                     $v = ($v - 128) << ($next_byte * 6);
  925.                     $output[($out_len - 1)] += $v;
  926.                     --$next_byte;
  927.                 } else {
  928.                     $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
  929.                     return false;
  930.                 }
  931.                 if ($next_byte < 0) {
  932.                     $mode = 'next';
  933.                 }
  934.             }
  935.         } // for
  936.         return $output;
  937.     }
  938.  
  939.     /**
  940.      * Convert UCS-4 string into UTF-8 string
  941.      * See _utf8_to_ucs4() for details
  942.      * @param string  $input
  943.      * @return string
  944.      */
  945.     protected function _ucs4_to_utf8($input)
  946.     {
  947.         $output = '';
  948.         foreach ($input as $k => $v) {
  949.             if ($v < 128) { // 7bit are transferred literally
  950.                 $output .= chr($v);
  951.             } elseif ($v < (1 << 11)) { // 2 bytes
  952.                 $output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63));
  953.             } elseif ($v < (1 << 16)) { // 3 bytes
  954.                 $output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
  955.             } elseif ($v < (1 << 21)) { // 4 bytes
  956.                 $output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
  957.             } else {
  958.                 $this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte ' . $k);
  959.                 return false;
  960.             }
  961.         }
  962.         return $output;
  963.     }
  964.  
  965.     /**
  966.      * Convert UCS-4 array into UCS-4 string
  967.      *
  968.      * @param array $input
  969.      * @return string
  970.      */
  971.     protected function _ucs4_to_ucs4_string($input)
  972.     {
  973.         $output = '';
  974.         // Take array values and split output to 4 bytes per value
  975.         // The bit mask is 255, which reads &11111111
  976.         foreach ($input as $v) {
  977.             $output .= chr(($v >> 24) & 255) . chr(($v >> 16) & 255) . chr(($v >> 8) & 255) . chr($v & 255);
  978.         }
  979.         return $output;
  980.     }
  981.  
  982.     /**
  983.      * Convert UCS-4 strin into UCS-4 garray
  984.      *
  985.      * @param  string $input
  986.      * @return array
  987.      */
  988.     protected function _ucs4_string_to_ucs4($input)
  989.     {
  990.         $output = array();
  991.         $inp_len = self::byteLength($input);
  992.         // Input length must be dividable by 4
  993.         if ($inp_len % 4) {
  994.             $this->_error('Input UCS4 string is broken');
  995.             return false;
  996.         }
  997.         // Empty input - return empty output
  998.         if (!$inp_len) {
  999.             return $output;
  1000.         }
  1001.         for ($i = 0, $out_len = -1; $i < $inp_len; ++$i) {
  1002.             // Increment output position every 4 input bytes
  1003.             if (!($i % 4)) {
  1004.                 $out_len++;
  1005.                 $output[$out_len] = 0;
  1006.             }
  1007.             $output[$out_len] += ord($input[$i]) << (8 * (3 - ($i % 4) ) );
  1008.         }
  1009.         return $output;
  1010.     }
  1011.  
  1012.     /**
  1013.      * Gets the length of a string in bytes even if mbstring function
  1014.      * overloading is turned on
  1015.      *
  1016.      * @param string $string the string for which to get the length.
  1017.      * @return integer the length of the string in bytes.
  1018.      */
  1019.     protected static function byteLength($string)
  1020.     {
  1021.         if (self::$_mb_string_overload) {
  1022.             return mb_strlen($string, '8bit');
  1023.         }
  1024.         return strlen((binary) $string);
  1025.     }
  1026.  
  1027.     /**
  1028.      * Attempts to return a concrete IDNA instance.
  1029.      *
  1030.      * @param array $params Set of paramaters
  1031.      * @return idna_convert
  1032.      * @access public
  1033.      */
  1034.     public function getInstance($params = array())
  1035.     {
  1036.         return new idna_convert($params);
  1037.     }
  1038.  
  1039.     /**
  1040.      * Attempts to return a concrete IDNA instance for either php4 or php5,
  1041.      * only creating a new instance if no IDNA instance with the same
  1042.      * parameters currently exists.
  1043.      *
  1044.      * @param array $params Set of paramaters
  1045.      *
  1046.      * @return object idna_convert
  1047.      * @access public
  1048.      */
  1049.     public function singleton($params = array())
  1050.     {
  1051.         static $instances = array();
  1052.  
  1053.         $signature = serialize($params);
  1054.         if (!isset($instances[$signature])) {
  1055.             $instances[$signature] = idna_convert::getInstance($params);
  1056.         }
  1057.         return $instances[$signature];
  1058.     }
  1059.  
  1060.     /**
  1061.      * Holds all relevant mapping tables
  1062.      * See RFC3454 for details
  1063.      *
  1064.      * @private array
  1065.      * @since 0.5.2
  1066.      */
  1067.     protected static $NP = array(
  1068.             'map_nothing' => array(0xAD, 0x34F, 0x1806, 0x180B, 0x180C, 0x180D, 0x200B, 0x200C,
  1069.                     0x200D, 0x2060, 0xFE00, 0xFE01, 0xFE02, 0xFE03, 0xFE04, 0xFE05, 0xFE06, 0xFE07,
  1070.                     0xFE08, 0xFE09, 0xFE0A, 0xFE0B, 0xFE0C, 0xFE0D, 0xFE0E, 0xFE0F, 0xFEFF
  1071.             ),
  1072.             'general_prohibited' => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
  1073.                     20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
  1074.                     43, 44, 47, 59, 60, 61, 62, 63, 64, 91, 92, 93, 94, 95, 96, 123, 124, 125, 126, 127, 0x3002
  1075.             ),
  1076.             'prohibit' => array(0xA0, 0x340, 0x341, 0x6DD, 0x70F, 0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003,
  1077.                     0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x200B, 0x200C, 0x200D, 0x200E, 0x200F,
  1078.                     0x2028, 0x2029, 0x202A, 0x202B, 0x202C, 0x202D, 0x202E, 0x202F, 0x205F, 0x206A, 0x206B, 0x206C,
  1079.                     0x206D, 0x206E, 0x206F, 0x3000, 0x33C2, 0xFEFF, 0xFFF9, 0xFFFA, 0xFFFB, 0xFFFC, 0xFFFD, 0xFFFE, 0xFFFF,
  1080.                     0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, 0x6FFFE,
  1081.                     0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, 0xBFFFE, 0xBFFFF,
  1082.                     0xCFFFE, 0xCFFFF, 0xDFFFE, 0xDFFFF, 0xE0001, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, 0x10FFFE, 0x10FFFF
  1083.             ),
  1084.             'prohibit_ranges' => array(array(0x80, 0x9F), array(0x2060, 0x206F), array(0x1D173, 0x1D17A),
  1085.                     array(0xE000, 0xF8FF), array(0xF0000, 0xFFFFD), array(0x100000, 0x10FFFD),
  1086.                     array(0xFDD0, 0xFDEF), array(0xD800, 0xDFFF), array(0x2FF0, 0x2FFB), array(0xE0020, 0xE007F)
  1087.             ),
  1088.             'replacemaps_2003' => array(0x41 => array(0x61), 0x42 => array(0x62), 0x43 => array(0x63),
  1089.                     0x44 => array(0x64), 0x45 => array(0x65), 0x46 => array(0x66), 0x47 => array(0x67),
  1090.                     0x48 => array(0x68), 0x49 => array(0x69), 0x4A => array(0x6A), 0x4B => array(0x6B),
  1091.                     0x4C => array(0x6C), 0x4D => array(0x6D), 0x4E => array(0x6E), 0x4F => array(0x6F),
  1092.                     0x50 => array(0x70), 0x51 => array(0x71), 0x52 => array(0x72), 0x53 => array(0x73),
  1093.                     0x54 => array(0x74), 0x55 => array(0x75), 0x56 => array(0x76), 0x57 => array(0x77),
  1094.                     0x58 => array(0x78), 0x59 => array(0x79), 0x5A => array(0x7A), 0xB5 => array(0x3BC),
  1095.                     0xC0 => array(0xE0), 0xC1 => array(0xE1), 0xC2 => array(0xE2), 0xC3 => array(0xE3),
  1096.                     0xC4 => array(0xE4), 0xC5 => array(0xE5), 0xC6 => array(0xE6), 0xC7 => array(0xE7),
  1097.                     0xC8 => array(0xE8), 0xC9 => array(0xE9), 0xCA => array(0xEA), 0xCB => array(0xEB),
  1098.                     0xCC => array(0xEC), 0xCD => array(0xED), 0xCE => array(0xEE), 0xCF => array(0xEF),
  1099.                     0xD0 => array(0xF0), 0xD1 => array(0xF1), 0xD2 => array(0xF2), 0xD3 => array(0xF3),
  1100.                     0xD4 => array(0xF4), 0xD5 => array(0xF5), 0xD6 => array(0xF6), 0xD8 => array(0xF8),
  1101.                     0xD9 => array(0xF9), 0xDA => array(0xFA), 0xDB => array(0xFB), 0xDC => array(0xFC),
  1102.                     0xDD => array(0xFD), 0xDE => array(0xFE), 0xDF => array(0x73, 0x73),
  1103.                     0x100 => array(0x101), 0x102 => array(0x103), 0x104 => array(0x105),
  1104.                     0x106 => array(0x107), 0x108 => array(0x109), 0x10A => array(0x10B),
  1105.                     0x10C => array(0x10D), 0x10E => array(0x10F), 0x110 => array(0x111),
  1106.                     0x112 => array(0x113), 0x114 => array(0x115), 0x116 => array(0x117),
  1107.                     0x118 => array(0x119), 0x11A => array(0x11B), 0x11C => array(0x11D),
  1108.                     0x11E => array(0x11F), 0x120 => array(0x121), 0x122 => array(0x123),
  1109.                     0x124 => array(0x125), 0x126 => array(0x127), 0x128 => array(0x129),
  1110.                     0x12A => array(0x12B), 0x12C => array(0x12D), 0x12E => array(0x12F),
  1111.                     0x130 => array(0x69, 0x307), 0x132 => array(0x133), 0x134 => array(0x135),
  1112.                     0x136 => array(0x137), 0x139 => array(0x13A), 0x13B => array(0x13C),
  1113.                     0x13D => array(0x13E), 0x13F => array(0x140), 0x141 => array(0x142),
  1114.                     0x143 => array(0x144), 0x145 => array(0x146), 0x147 => array(0x148),
  1115.                     0x149 => array(0x2BC, 0x6E), 0x14A => array(0x14B), 0x14C => array(0x14D),
  1116.                     0x14E => array(0x14F), 0x150 => array(0x151), 0x152 => array(0x153),
  1117.                     0x154 => array(0x155), 0x156 => array(0x157), 0x158 => array(0x159),
  1118.                     0x15A => array(0x15B), 0x15C => array(0x15D), 0x15E => array(0x15F),
  1119.                     0x160 => array(0x161), 0x162 => array(0x163), 0x164 => array(0x165),
  1120.                     0x166 => array(0x167), 0x168 => array(0x169), 0x16A => array(0x16B),
  1121.                     0x16C => array(0x16D), 0x16E => array(0x16F), 0x170 => array(0x171),
  1122.                     0x172 => array(0x173), 0x174 => array(0x175), 0x176 => array(0x177),
  1123.                     0x178 => array(0xFF), 0x179 => array(0x17A), 0x17B => array(0x17C),
  1124.                     0x17D => array(0x17E), 0x17F => array(0x73), 0x181 => array(0x253),
  1125.                     0x182 => array(0x183), 0x184 => array(0x185), 0x186 => array(0x254),
  1126.                     0x187 => array(0x188), 0x189 => array(0x256), 0x18A => array(0x257),
  1127.                     0x18B => array(0x18C), 0x18E => array(0x1DD), 0x18F => array(0x259),
  1128.                     0x190 => array(0x25B), 0x191 => array(0x192), 0x193 => array(0x260),
  1129.                     0x194 => array(0x263), 0x196 => array(0x269), 0x197 => array(0x268),
  1130.                     0x198 => array(0x199), 0x19C => array(0x26F), 0x19D => array(0x272),
  1131.                     0x19F => array(0x275), 0x1A0 => array(0x1A1), 0x1A2 => array(0x1A3),
  1132.                     0x1A4 => array(0x1A5), 0x1A6 => array(0x280), 0x1A7 => array(0x1A8),
  1133.                     0x1A9 => array(0x283), 0x1AC => array(0x1AD), 0x1AE => array(0x288),
  1134.                     0x1AF => array(0x1B0), 0x1B1 => array(0x28A), 0x1B2 => array(0x28B),
  1135.                     0x1B3 => array(0x1B4), 0x1B5 => array(0x1B6), 0x1B7 => array(0x292),
  1136.                     0x1B8 => array(0x1B9), 0x1BC => array(0x1BD), 0x1C4 => array(0x1C6),
  1137.                     0x1C5 => array(0x1C6), 0x1C7 => array(0x1C9), 0x1C8 => array(0x1C9),
  1138.                     0x1CA => array(0x1CC), 0x1CB => array(0x1CC), 0x1CD => array(0x1CE),
  1139.                     0x1CF => array(0x1D0), 0x1D1 => array(0x1D2), 0x1D3 => array(0x1D4),
  1140.                     0x1D5 => array(0x1D6), 0x1D7 => array(0x1D8), 0x1D9 => array(0x1DA),
  1141.                     0x1DB => array(0x1DC), 0x1DE => array(0x1DF), 0x1E0 => array(0x1E1),
  1142.                     0x1E2 => array(0x1E3), 0x1E4 => array(0x1E5), 0x1E6 => array(0x1E7),
  1143.                     0x1E8 => array(0x1E9), 0x1EA => array(0x1EB), 0x1EC => array(0x1ED),
  1144.                     0x1EE => array(0x1EF), 0x1F0 => array(0x6A, 0x30C), 0x1F1 => array(0x1F3),
  1145.                     0x1F2 => array(0x1F3), 0x1F4 => array(0x1F5), 0x1F6 => array(0x195),
  1146.                     0x1F7 => array(0x1BF), 0x1F8 => array(0x1F9), 0x1FA => array(0x1FB),
  1147.                     0x1FC => array(0x1FD), 0x1FE => array(0x1FF), 0x200 => array(0x201),
  1148.                     0x202 => array(0x203), 0x204 => array(0x205), 0x206 => array(0x207),
  1149.                     0x208 => array(0x209), 0x20A => array(0x20B), 0x20C => array(0x20D),
  1150.                     0x20E => array(0x20F), 0x210 => array(0x211), 0x212 => array(0x213),
  1151.                     0x214 => array(0x215), 0x216 => array(0x217), 0x218 => array(0x219),
  1152.                     0x21A => array(0x21B), 0x21C => array(0x21D), 0x21E => array(0x21F),
  1153.                     0x220 => array(0x19E), 0x222 => array(0x223), 0x224 => array(0x225),
  1154.                     0x226 => array(0x227), 0x228 => array(0x229), 0x22A => array(0x22B),
  1155.                     0x22C => array(0x22D), 0x22E => array(0x22F), 0x230 => array(0x231),
  1156.                     0x232 => array(0x233), 0x345 => array(0x3B9), 0x37A => array(0x20, 0x3B9),
  1157.                     0x386 => array(0x3AC), 0x388 => array(0x3AD), 0x389 => array(0x3AE),
  1158.                     0x38A => array(0x3AF), 0x38C => array(0x3CC), 0x38E => array(0x3CD),
  1159.                     0x38F => array(0x3CE), 0x390 => array(0x3B9, 0x308, 0x301),
  1160.                     0x391 => array(0x3B1), 0x392 => array(0x3B2), 0x393 => array(0x3B3),
  1161.                     0x394 => array(0x3B4), 0x395 => array(0x3B5), 0x396 => array(0x3B6),
  1162.                     0x397 => array(0x3B7), 0x398 => array(0x3B8), 0x399 => array(0x3B9),
  1163.                     0x39A => array(0x3BA), 0x39B => array(0x3BB), 0x39C => array(0x3BC),
  1164.                     0x39D => array(0x3BD), 0x39E => array(0x3BE), 0x39F => array(0x3BF),
  1165.                     0x3A0 => array(0x3C0), 0x3A1 => array(0x3C1), 0x3A3 => array(0x3C3),
  1166.                     0x3A4 => array(0x3C4), 0x3A5 => array(0x3C5), 0x3A6 => array(0x3C6),
  1167.                     0x3A7 => array(0x3C7), 0x3A8 => array(0x3C8), 0x3A9 => array(0x3C9),
  1168.                     0x3AA => array(0x3CA), 0x3AB => array(0x3CB), 0x3B0 => array(0x3C5, 0x308, 0x301),
  1169.                     0x3C2 => array(0x3C3), 0x3D0 => array(0x3B2), 0x3D1 => array(0x3B8),
  1170.                     0x3D2 => array(0x3C5), 0x3D3 => array(0x3CD), 0x3D4 => array(0x3CB),
  1171.                     0x3D5 => array(0x3C6), 0x3D6 => array(0x3C0), 0x3D8 => array(0x3D9),
  1172.                     0x3DA => array(0x3DB), 0x3DC => array(0x3DD), 0x3DE => array(0x3DF),
  1173.                     0x3E0 => array(0x3E1), 0x3E2 => array(0x3E3), 0x3E4 => array(0x3E5),
  1174.                     0x3E6 => array(0x3E7), 0x3E8 => array(0x3E9), 0x3EA => array(0x3EB),
  1175.                     0x3EC => array(0x3ED), 0x3EE => array(0x3EF), 0x3F0 => array(0x3BA),
  1176.                     0x3F1 => array(0x3C1), 0x3F2 => array(0x3C3), 0x3F4 => array(0x3B8),
  1177.                     0x3F5 => array(0x3B5), 0x400 => array(0x450), 0x401 => array(0x451),
  1178.                     0x402 => array(0x452), 0x403 => array(0x453), 0x404 => array(0x454),
  1179.                     0x405 => array(0x455), 0x406 => array(0x456), 0x407 => array(0x457),
  1180.                     0x408 => array(0x458), 0x409 => array(0x459), 0x40A => array(0x45A),
  1181.                     0x40B => array(0x45B), 0x40C => array(0x45C), 0x40D => array(0x45D),
  1182.                     0x40E => array(0x45E), 0x40F => array(0x45F), 0x410 => array(0x430),
  1183.                     0x411 => array(0x431), 0x412 => array(0x432), 0x413 => array(0x433),
  1184.                     0x414 => array(0x434), 0x415 => array(0x435), 0x416 => array(0x436),
  1185.                     0x417 => array(0x437), 0x418 => array(0x438), 0x419 => array(0x439),
  1186.                     0x41A => array(0x43A), 0x41B => array(0x43B), 0x41C => array(0x43C),
  1187.                     0x41D => array(0x43D), 0x41E => array(0x43E), 0x41F => array(0x43F),
  1188.                     0x420 => array(0x440), 0x421 => array(0x441), 0x422 => array(0x442),
  1189.                     0x423 => array(0x443), 0x424 => array(0x444), 0x425 => array(0x445),
  1190.                     0x426 => array(0x446), 0x427 => array(0x447), 0x428 => array(0x448),
  1191.                     0x429 => array(0x449), 0x42A => array(0x44A), 0x42B => array(0x44B),
  1192.                     0x42C => array(0x44C), 0x42D => array(0x44D), 0x42E => array(0x44E),
  1193.                     0x42F => array(0x44F), 0x460 => array(0x461), 0x462 => array(0x463),
  1194.                     0x464 => array(0x465), 0x466 => array(0x467), 0x468 => array(0x469),
  1195.                     0x46A => array(0x46B), 0x46C => array(0x46D), 0x46E => array(0x46F),
  1196.                     0x470 => array(0x471), 0x472 => array(0x473), 0x474 => array(0x475),
  1197.                     0x476 => array(0x477), 0x478 => array(0x479), 0x47A => array(0x47B),
  1198.                     0x47C => array(0x47D), 0x47E => array(0x47F), 0x480 => array(0x481),
  1199.                     0x48A => array(0x48B), 0x48C => array(0x48D), 0x48E => array(0x48F),
  1200.                     0x490 => array(0x491), 0x492 => array(0x493), 0x494 => array(0x495),
  1201.                     0x496 => array(0x497), 0x498 => array(0x499), 0x49A => array(0x49B),
  1202.                     0x49C => array(0x49D), 0x49E => array(0x49F), 0x4A0 => array(0x4A1),
  1203.                     0x4A2 => array(0x4A3), 0x4A4 => array(0x4A5), 0x4A6 => array(0x4A7),
  1204.                     0x4A8 => array(0x4A9), 0x4AA => array(0x4AB), 0x4AC => array(0x4AD),
  1205.                     0x4AE => array(0x4AF), 0x4B0 => array(0x4B1), 0x4B2 => array(0x4B3),
  1206.                     0x4B4 => array(0x4B5), 0x4B6 => array(0x4B7), 0x4B8 => array(0x4B9),
  1207.                     0x4BA => array(0x4BB), 0x4BC => array(0x4BD), 0x4BE => array(0x4BF),
  1208.                     0x4C1 => array(0x4C2), 0x4C3 => array(0x4C4), 0x4C5 => array(0x4C6),
  1209.                     0x4C7 => array(0x4C8), 0x4C9 => array(0x4CA), 0x4CB => array(0x4CC),
  1210.                     0x4CD => array(0x4CE), 0x4D0 => array(0x4D1), 0x4D2 => array(0x4D3),
  1211.                     0x4D4 => array(0x4D5), 0x4D6 => array(0x4D7), 0x4D8 => array(0x4D9),
  1212.                     0x4DA => array(0x4DB), 0x4DC => array(0x4DD), 0x4DE => array(0x4DF),
  1213.                     0x4E0 => array(0x4E1), 0x4E2 => array(0x4E3), 0x4E4 => array(0x4E5),
  1214.                     0x4E6 => array(0x4E7), 0x4E8 => array(0x4E9), 0x4EA => array(0x4EB),
  1215.                     0x4EC => array(0x4ED), 0x4EE => array(0x4EF), 0x4F0 => array(0x4F1),
  1216.                     0x4F2 => array(0x4F3), 0x4F4 => array(0x4F5), 0x4F8 => array(0x4F9),
  1217.                     0x500 => array(0x501), 0x502 => array(0x503), 0x504 => array(0x505),
  1218.                     0x506 => array(0x507), 0x508 => array(0x509), 0x50A => array(0x50B),
  1219.                     0x50C => array(0x50D), 0x50E => array(0x50F), 0x531 => array(0x561),
  1220.                     0x532 => array(0x562), 0x533 => array(0x563), 0x534 => array(0x564),
  1221.                     0x535 => array(0x565), 0x536 => array(0x566), 0x537 => array(0x567),
  1222.                     0x538 => array(0x568), 0x539 => array(0x569), 0x53A => array(0x56A),
  1223.                     0x53B => array(0x56B), 0x53C => array(0x56C), 0x53D => array(0x56D),
  1224.                     0x53E => array(0x56E), 0x53F => array(0x56F), 0x540 => array(0x570),
  1225.                     0x541 => array(0x571), 0x542 => array(0x572), 0x543 => array(0x573),
  1226.                     0x544 => array(0x574), 0x545 => array(0x575), 0x546 => array(0x576),
  1227.                     0x547 => array(0x577), 0x548 => array(0x578), 0x549 => array(0x579),
  1228.                     0x54A => array(0x57A), 0x54B => array(0x57B), 0x54C => array(0x57C),
  1229.                     0x54D => array(0x57D), 0x54E => array(0x57E), 0x54F => array(0x57F),
  1230.                     0x550 => array(0x580), 0x551 => array(0x581), 0x552 => array(0x582),
  1231.                     0x553 => array(0x583), 0x554 => array(0x584), 0x555 => array(0x585),
  1232.                     0x556 => array(0x586), 0x587 => array(0x565, 0x582), 0xE33 => array(0xE4D, 0xE32),
  1233.                     0x1E00 => array(0x1E01), 0x1E02 => array(0x1E03), 0x1E04 => array(0x1E05),
  1234.                     0x1E06 => array(0x1E07), 0x1E08 => array(0x1E09), 0x1E0A => array(0x1E0B),
  1235.                     0x1E0C => array(0x1E0D), 0x1E0E => array(0x1E0F), 0x1E10 => array(0x1E11),
  1236.                     0x1E12 => array(0x1E13), 0x1E14 => array(0x1E15), 0x1E16 => array(0x1E17),
  1237.                     0x1E18 => array(0x1E19), 0x1E1A => array(0x1E1B), 0x1E1C => array(0x1E1D),
  1238.                     0x1E1E => array(0x1E1F), 0x1E20 => array(0x1E21), 0x1E22 => array(0x1E23),
  1239.                     0x1E24 => array(0x1E25), 0x1E26 => array(0x1E27), 0x1E28 => array(0x1E29),
  1240.                     0x1E2A => array(0x1E2B), 0x1E2C => array(0x1E2D), 0x1E2E => array(0x1E2F),
  1241.                     0x1E30 => array(0x1E31), 0x1E32 => array(0x1E33), 0x1E34 => array(0x1E35),
  1242.                     0x1E36 => array(0x1E37), 0x1E38 => array(0x1E39), 0x1E3A => array(0x1E3B),
  1243.                     0x1E3C => array(0x1E3D), 0x1E3E => array(0x1E3F), 0x1E40 => array(0x1E41),
  1244.                     0x1E42 => array(0x1E43), 0x1E44 => array(0x1E45), 0x1E46 => array(0x1E47),
  1245.                     0x1E48 => array(0x1E49), 0x1E4A => array(0x1E4B), 0x1E4C => array(0x1E4D),
  1246.                     0x1E4E => array(0x1E4F), 0x1E50 => array(0x1E51), 0x1E52 => array(0x1E53),
  1247.                     0x1E54 => array(0x1E55), 0x1E56 => array(0x1E57), 0x1E58 => array(0x1E59),
  1248.                     0x1E5A => array(0x1E5B), 0x1E5C => array(0x1E5D), 0x1E5E => array(0x1E5F),
  1249.                     0x1E60 => array(0x1E61), 0x1E62 => array(0x1E63), 0x1E64 => array(0x1E65),
  1250.                     0x1E66 => array(0x1E67), 0x1E68 => array(0x1E69), 0x1E6A => array(0x1E6B),
  1251.                     0x1E6C => array(0x1E6D), 0x1E6E => array(0x1E6F), 0x1E70 => array(0x1E71),
  1252.                     0x1E72 => array(0x1E73), 0x1E74 => array(0x1E75), 0x1E76 => array(0x1E77),
  1253.                     0x1E78 => array(0x1E79), 0x1E7A => array(0x1E7B), 0x1E7C => array(0x1E7D),
  1254.                     0x1E7E => array(0x1E7F), 0x1E80 => array(0x1E81), 0x1E82 => array(0x1E83),
  1255.                     0x1E84 => array(0x1E85), 0x1E86 => array(0x1E87), 0x1E88 => array(0x1E89),
  1256.                     0x1E8A => array(0x1E8B), 0x1E8C => array(0x1E8D), 0x1E8E => array(0x1E8F),
  1257.                     0x1E90 => array(0x1E91), 0x1E92 => array(0x1E93), 0x1E94 => array(0x1E95),
  1258.                     0x1E96 => array(0x68, 0x331), 0x1E97 => array(0x74, 0x308), 0x1E98 => array(0x77, 0x30A),
  1259.                     0x1E99 => array(0x79, 0x30A), 0x1E9A => array(0x61, 0x2BE), 0x1E9B => array(0x1E61),
  1260.                     0x1EA0 => array(0x1EA1), 0x1EA2 => array(0x1EA3), 0x1EA4 => array(0x1EA5),
  1261.                     0x1EA6 => array(0x1EA7), 0x1EA8 => array(0x1EA9), 0x1EAA => array(0x1EAB),
  1262.                     0x1EAC => array(0x1EAD), 0x1EAE => array(0x1EAF), 0x1EB0 => array(0x1EB1),
  1263.                     0x1EB2 => array(0x1EB3), 0x1EB4 => array(0x1EB5), 0x1EB6 => array(0x1EB7),
  1264.                     0x1EB8 => array(0x1EB9), 0x1EBA => array(0x1EBB), 0x1EBC => array(0x1EBD),
  1265.                     0x1EBE => array(0x1EBF), 0x1EC0 => array(0x1EC1), 0x1EC2 => array(0x1EC3),
  1266.                     0x1EC4 => array(0x1EC5), 0x1EC6 => array(0x1EC7), 0x1EC8 => array(0x1EC9),
  1267.                     0x1ECA => array(0x1ECB), 0x1ECC => array(0x1ECD), 0x1ECE => array(0x1ECF),
  1268.                     0x1ED0 => array(0x1ED1), 0x1ED2 => array(0x1ED3), 0x1ED4 => array(0x1ED5),
  1269.                     0x1ED6 => array(0x1ED7), 0x1ED8 => array(0x1ED9), 0x1EDA => array(0x1EDB),
  1270.                     0x1EDC => array(0x1EDD), 0x1EDE => array(0x1EDF), 0x1EE0 => array(0x1EE1),
  1271.                     0x1EE2 => array(0x1EE3), 0x1EE4 => array(0x1EE5), 0x1EE6 => array(0x1EE7),
  1272.                     0x1EE8 => array(0x1EE9), 0x1EEA => array(0x1EEB), 0x1EEC => array(0x1EED),
  1273.                     0x1EEE => array(0x1EEF), 0x1EF0 => array(0x1EF1), 0x1EF2 => array(0x1EF3),
  1274.                     0x1EF4 => array(0x1EF5), 0x1EF6 => array(0x1EF7), 0x1EF8 => array(0x1EF9),
  1275.                     0x1F08 => array(0x1F00), 0x1F09 => array(0x1F01), 0x1F0A => array(0x1F02),
  1276.                     0x1F0B => array(0x1F03), 0x1F0C => array(0x1F04), 0x1F0D => array(0x1F05),
  1277.                     0x1F0E => array(0x1F06), 0x1F0F => array(0x1F07), 0x1F18 => array(0x1F10),
  1278.                     0x1F19 => array(0x1F11), 0x1F1A => array(0x1F12), 0x1F1B => array(0x1F13),
  1279.                     0x1F1C => array(0x1F14), 0x1F1D => array(0x1F15), 0x1F28 => array(0x1F20),
  1280.                     0x1F29 => array(0x1F21), 0x1F2A => array(0x1F22), 0x1F2B => array(0x1F23),
  1281.                     0x1F2C => array(0x1F24), 0x1F2D => array(0x1F25), 0x1F2E => array(0x1F26),
  1282.                     0x1F2F => array(0x1F27), 0x1F38 => array(0x1F30), 0x1F39 => array(0x1F31),
  1283.                     0x1F3A => array(0x1F32), 0x1F3B => array(0x1F33), 0x1F3C => array(0x1F34),
  1284.                     0x1F3D => array(0x1F35), 0x1F3E => array(0x1F36), 0x1F3F => array(0x1F37),
  1285.                     0x1F48 => array(0x1F40), 0x1F49 => array(0x1F41), 0x1F4A => array(0x1F42),
  1286.                     0x1F4B => array(0x1F43), 0x1F4C => array(0x1F44), 0x1F4D => array(0x1F45),
  1287.                     0x1F50 => array(0x3C5, 0x313), 0x1F52 => array(0x3C5, 0x313, 0x300),
  1288.                     0x1F54 => array(0x3C5, 0x313, 0x301), 0x1F56 => array(0x3C5, 0x313, 0x342),
  1289.                     0x1F59 => array(0x1F51), 0x1F5B => array(0x1F53), 0x1F5D => array(0x1F55),
  1290.                     0x1F5F => array(0x1F57), 0x1F68 => array(0x1F60), 0x1F69 => array(0x1F61),
  1291.                     0x1F6A => array(0x1F62), 0x1F6B => array(0x1F63), 0x1F6C => array(0x1F64),
  1292.                     0x1F6D => array(0x1F65), 0x1F6E => array(0x1F66), 0x1F6F => array(0x1F67),
  1293.                     0x1F80 => array(0x1F00, 0x3B9), 0x1F81 => array(0x1F01, 0x3B9),
  1294.                     0x1F82 => array(0x1F02, 0x3B9), 0x1F83 => array(0x1F03, 0x3B9),
  1295.                     0x1F84 => array(0x1F04, 0x3B9), 0x1F85 => array(0x1F05, 0x3B9),
  1296.                     0x1F86 => array(0x1F06, 0x3B9), 0x1F87 => array(0x1F07, 0x3B9),
  1297.                     0x1F88 => array(0x1F00, 0x3B9), 0x1F89 => array(0x1F01, 0x3B9),
  1298.                     0x1F8A => array(0x1F02, 0x3B9), 0x1F8B => array(0x1F03, 0x3B9),
  1299.                     0x1F8C => array(0x1F04, 0x3B9), 0x1F8D => array(0x1F05, 0x3B9),
  1300.                     0x1F8E => array(0x1F06, 0x3B9), 0x1F8F => array(0x1F07, 0x3B9),
  1301.                     0x1F90 => array(0x1F20, 0x3B9), 0x1F91 => array(0x1F21, 0x3B9),
  1302.                     0x1F92 => array(0x1F22, 0x3B9), 0x1F93 => array(0x1F23, 0x3B9),
  1303.                     0x1F94 => array(0x1F24, 0x3B9), 0x1F95 => array(0x1F25, 0x3B9),
  1304.                     0x1F96 => array(0x1F26, 0x3B9), 0x1F97 => array(0x1F27, 0x3B9),
  1305.                     0x1F98 => array(0x1F20, 0x3B9), 0x1F99 => array(0x1F21, 0x3B9),
  1306.                     0x1F9A => array(0x1F22, 0x3B9), 0x1F9B => array(0x1F23, 0x3B9),
  1307.                     0x1F9C => array(0x1F24, 0x3B9), 0x1F9D => array(0x1F25, 0x3B9),
  1308.                     0x1F9E => array(0x1F26, 0x3B9), 0x1F9F => array(0x1F27, 0x3B9),
  1309.                     0x1FA0 => array(0x1F60, 0x3B9), 0x1FA1 => array(0x1F61, 0x3B9),
  1310.                     0x1FA2 => array(0x1F62, 0x3B9), 0x1FA3 => array(0x1F63, 0x3B9),
  1311.                     0x1FA4 => array(0x1F64, 0x3B9), 0x1FA5 => array(0x1F65, 0x3B9),
  1312.                     0x1FA6 => array(0x1F66, 0x3B9), 0x1FA7 => array(0x1F67, 0x3B9),
  1313.                     0x1FA8 => array(0x1F60, 0x3B9), 0x1FA9 => array(0x1F61, 0x3B9),
  1314.                     0x1FAA => array(0x1F62, 0x3B9), 0x1FAB => array(0x1F63, 0x3B9),
  1315.                     0x1FAC => array(0x1F64, 0x3B9), 0x1FAD => array(0x1F65, 0x3B9),
  1316.                     0x1FAE => array(0x1F66, 0x3B9), 0x1FAF => array(0x1F67, 0x3B9),
  1317.                     0x1FB2 => array(0x1F70, 0x3B9), 0x1FB3 => array(0x3B1, 0x3B9),
  1318.                     0x1FB4 => array(0x3AC, 0x3B9), 0x1FB6 => array(0x3B1, 0x342),
  1319.                     0x1FB7 => array(0x3B1, 0x342, 0x3B9), 0x1FB8 => array(0x1FB0),
  1320.                     0x1FB9 => array(0x1FB1), 0x1FBA => array(0x1F70), 0x1FBB => array(0x1F71),
  1321.                     0x1FBC => array(0x3B1, 0x3B9), 0x1FBE => array(0x3B9),
  1322.                     0x1FC2 => array(0x1F74, 0x3B9), 0x1FC3 => array(0x3B7, 0x3B9),
  1323.                     0x1FC4 => array(0x3AE, 0x3B9), 0x1FC6 => array(0x3B7, 0x342),
  1324.                     0x1FC7 => array(0x3B7, 0x342, 0x3B9), 0x1FC8 => array(0x1F72),
  1325.                     0x1FC9 => array(0x1F73), 0x1FCA => array(0x1F74), 0x1FCB => array(0x1F75),
  1326.                     0x1FCC => array(0x3B7, 0x3B9), 0x1FD2 => array(0x3B9, 0x308, 0x300),
  1327.                     0x1FD3 => array(0x3B9, 0x308, 0x301), 0x1FD6 => array(0x3B9, 0x342),
  1328.                     0x1FD7 => array(0x3B9, 0x308, 0x342), 0x1FD8 => array(0x1FD0),
  1329.                     0x1FD9 => array(0x1FD1), 0x1FDA => array(0x1F76),
  1330.                     0x1FDB => array(0x1F77), 0x1FE2 => array(0x3C5, 0x308, 0x300),
  1331.                     0x1FE3 => array(0x3C5, 0x308, 0x301), 0x1FE4 => array(0x3C1, 0x313),
  1332.                     0x1FE6 => array(0x3C5, 0x342), 0x1FE7 => array(0x3C5, 0x308, 0x342),
  1333.                     0x1FE8 => array(0x1FE0), 0x1FE9 => array(0x1FE1),
  1334.                     0x1FEA => array(0x1F7A), 0x1FEB => array(0x1F7B),
  1335.                     0x1FEC => array(0x1FE5), 0x1FF2 => array(0x1F7C, 0x3B9),
  1336.                     0x1FF3 => array(0x3C9, 0x3B9), 0x1FF4 => array(0x3CE, 0x3B9),
  1337.                     0x1FF6 => array(0x3C9, 0x342), 0x1FF7 => array(0x3C9, 0x342, 0x3B9),
  1338.                     0x1FF8 => array(0x1F78), 0x1FF9 => array(0x1F79), 0x1FFA => array(0x1F7C),
  1339.                     0x1FFB => array(0x1F7D), 0x1FFC => array(0x3C9, 0x3B9),
  1340.                     0x20A8 => array(0x72, 0x73), 0x2102 => array(0x63), 0x2103 => array(0xB0, 0x63),
  1341.                     0x2107 => array(0x25B), 0x2109 => array(0xB0, 0x66), 0x210B => array(0x68),
  1342.                     0x210C => array(0x68), 0x210D => array(0x68), 0x2110 => array(0x69),
  1343.                     0x2111 => array(0x69), 0x2112 => array(0x6C), 0x2115 => array(0x6E),
  1344.                     0x2116 => array(0x6E, 0x6F), 0x2119 => array(0x70), 0x211A => array(0x71),
  1345.                     0x211B => array(0x72), 0x211C => array(0x72), 0x211D => array(0x72),
  1346.                     0x2120 => array(0x73, 0x6D), 0x2121 => array(0x74, 0x65, 0x6C),
  1347.                     0x2122 => array(0x74, 0x6D), 0x2124 => array(0x7A), 0x2126 => array(0x3C9),
  1348.                     0x2128 => array(0x7A), 0x212A => array(0x6B), 0x212B => array(0xE5),
  1349.                     0x212C => array(0x62), 0x212D => array(0x63), 0x2130 => array(0x65),
  1350.                     0x2131 => array(0x66), 0x2133 => array(0x6D), 0x213E => array(0x3B3),
  1351.                     0x213F => array(0x3C0), 0x2145 => array(0x64), 0x2160 => array(0x2170),
  1352.                     0x2161 => array(0x2171), 0x2162 => array(0x2172), 0x2163 => array(0x2173),
  1353.                     0x2164 => array(0x2174), 0x2165 => array(0x2175), 0x2166 => array(0x2176),
  1354.                     0x2167 => array(0x2177), 0x2168 => array(0x2178), 0x2169 => array(0x2179),
  1355.                     0x216A => array(0x217A), 0x216B => array(0x217B), 0x216C => array(0x217C),
  1356.                     0x216D => array(0x217D), 0x216E => array(0x217E), 0x216F => array(0x217F),
  1357.                     0x24B6 => array(0x24D0), 0x24B7 => array(0x24D1), 0x24B8 => array(0x24D2),
  1358.                     0x24B9 => array(0x24D3), 0x24BA => array(0x24D4), 0x24BB => array(0x24D5),
  1359.                     0x24BC => array(0x24D6), 0x24BD => array(0x24D7), 0x24BE => array(0x24D8),
  1360.                     0x24BF => array(0x24D9), 0x24C0 => array(0x24DA), 0x24C1 => array(0x24DB),
  1361.                     0x24C2 => array(0x24DC), 0x24C3 => array(0x24DD), 0x24C4 => array(0x24DE),
  1362.                     0x24C5 => array(0x24DF), 0x24C6 => array(0x24E0), 0x24C7 => array(0x24E1),
  1363.                     0x24C8 => array(0x24E2), 0x24C9 => array(0x24E3), 0x24CA => array(0x24E4),
  1364.                     0x24CB => array(0x24E5), 0x24CC => array(0x24E6), 0x24CD => array(0x24E7),
  1365.                     0x24CE => array(0x24E8), 0x24CF => array(0x24E9), 0x3371 => array(0x68, 0x70, 0x61),
  1366.                     0x3373 => array(0x61, 0x75), 0x3375 => array(0x6F, 0x76),
  1367.                     0x3380 => array(0x70, 0x61), 0x3381 => array(0x6E, 0x61),
  1368.                     0x3382 => array(0x3BC, 0x61), 0x3383 => array(0x6D, 0x61),
  1369.                     0x3384 => array(0x6B, 0x61), 0x3385 => array(0x6B, 0x62),
  1370.                     0x3386 => array(0x6D, 0x62), 0x3387 => array(0x67, 0x62),
  1371.                     0x338A => array(0x70, 0x66), 0x338B => array(0x6E, 0x66),
  1372.                     0x338C => array(0x3BC, 0x66), 0x3390 => array(0x68, 0x7A),
  1373.                     0x3391 => array(0x6B, 0x68, 0x7A), 0x3392 => array(0x6D, 0x68, 0x7A),
  1374.                     0x3393 => array(0x67, 0x68, 0x7A), 0x3394 => array(0x74, 0x68, 0x7A),
  1375.                     0x33A9 => array(0x70, 0x61), 0x33AA => array(0x6B, 0x70, 0x61),
  1376.                     0x33AB => array(0x6D, 0x70, 0x61), 0x33AC => array(0x67, 0x70, 0x61),
  1377.                     0x33B4 => array(0x70, 0x76), 0x33B5 => array(0x6E, 0x76),
  1378.                     0x33B6 => array(0x3BC, 0x76), 0x33B7 => array(0x6D, 0x76),
  1379.                     0x33B8 => array(0x6B, 0x76), 0x33B9 => array(0x6D, 0x76),
  1380.                     0x33BA => array(0x70, 0x77), 0x33BB => array(0x6E, 0x77),
  1381.                     0x33BC => array(0x3BC, 0x77), 0x33BD => array(0x6D, 0x77),
  1382.                     0x33BE => array(0x6B, 0x77), 0x33BF => array(0x6D, 0x77),
  1383.                     0x33C0 => array(0x6B, 0x3C9), 0x33C1 => array(0x6D, 0x3C9), /*
  1384.                     0x33C2  => array(0x61, 0x2E, 0x6D, 0x2E), */
  1385.                     0x33C3 => array(0x62, 0x71), 0x33C6 => array(0x63, 0x2215, 0x6B, 0x67),
  1386.                     0x33C7 => array(0x63, 0x6F, 0x2E), 0x33C8 => array(0x64, 0x62),
  1387.                     0x33C9 => array(0x67, 0x79), 0x33CB => array(0x68, 0x70),
  1388.                     0x33CD => array(0x6B, 0x6B), 0x33CE => array(0x6B, 0x6D),
  1389.                     0x33D7 => array(0x70, 0x68), 0x33D9 => array(0x70, 0x70, 0x6D),
  1390.                     0x33DA => array(0x70, 0x72), 0x33DC => array(0x73, 0x76),
  1391.                     0x33DD => array(0x77, 0x62), 0xFB00 => array(0x66, 0x66),
  1392.                     0xFB01 => array(0x66, 0x69), 0xFB02 => array(0x66, 0x6C),
  1393.                     0xFB03 => array(0x66, 0x66, 0x69), 0xFB04 => array(0x66, 0x66, 0x6C),
  1394.                     0xFB05 => array(0x73, 0x74), 0xFB06 => array(0x73, 0x74),
  1395.                     0xFB13 => array(0x574, 0x576), 0xFB14 => array(0x574, 0x565),
  1396.                     0xFB15 => array(0x574, 0x56B), 0xFB16 => array(0x57E, 0x576),
  1397.                     0xFB17 => array(0x574, 0x56D), 0xFF21 => array(0xFF41),
  1398.                     0xFF22 => array(0xFF42), 0xFF23 => array(0xFF43), 0xFF24 => array(0xFF44),
  1399.                     0xFF25 => array(0xFF45), 0xFF26 => array(0xFF46), 0xFF27 => array(0xFF47),
  1400.                     0xFF28 => array(0xFF48), 0xFF29 => array(0xFF49), 0xFF2A => array(0xFF4A),
  1401.                     0xFF2B => array(0xFF4B), 0xFF2C => array(0xFF4C), 0xFF2D => array(0xFF4D),
  1402.                     0xFF2E => array(0xFF4E), 0xFF2F => array(0xFF4F), 0xFF30 => array(0xFF50),
  1403.                     0xFF31 => array(0xFF51), 0xFF32 => array(0xFF52), 0xFF33 => array(0xFF53),
  1404.                     0xFF34 => array(0xFF54), 0xFF35 => array(0xFF55), 0xFF36 => array(0xFF56),
  1405.                     0xFF37 => array(0xFF57), 0xFF38 => array(0xFF58), 0xFF39 => array(0xFF59),
  1406.                     0xFF3A => array(0xFF5A), 0x10400 => array(0x10428), 0x10401 => array(0x10429),
  1407.                     0x10402 => array(0x1042A), 0x10403 => array(0x1042B), 0x10404 => array(0x1042C),
  1408.                     0x10405 => array(0x1042D), 0x10406 => array(0x1042E), 0x10407 => array(0x1042F),
  1409.                     0x10408 => array(0x10430), 0x10409 => array(0x10431), 0x1040A => array(0x10432),
  1410.                     0x1040B => array(0x10433), 0x1040C => array(0x10434), 0x1040D => array(0x10435),
  1411.                     0x1040E => array(0x10436), 0x1040F => array(0x10437), 0x10410 => array(0x10438),
  1412.                     0x10411 => array(0x10439), 0x10412 => array(0x1043A), 0x10413 => array(0x1043B),
  1413.                     0x10414 => array(0x1043C), 0x10415 => array(0x1043D), 0x10416 => array(0x1043E),
  1414.                     0x10417 => array(0x1043F), 0x10418 => array(0x10440), 0x10419 => array(0x10441),
  1415.                     0x1041A => array(0x10442), 0x1041B => array(0x10443), 0x1041C => array(0x10444),
  1416.                     0x1041D => array(0x10445), 0x1041E => array(0x10446), 0x1041F => array(0x10447),
  1417.                     0x10420 => array(0x10448), 0x10421 => array(0x10449), 0x10422 => array(0x1044A),
  1418.                     0x10423 => array(0x1044B), 0x10424 => array(0x1044C), 0x10425 => array(0x1044D),
  1419.                     0x1D400 => array(0x61), 0x1D401 => array(0x62), 0x1D402 => array(0x63),
  1420.                     0x1D403 => array(0x64), 0x1D404 => array(0x65), 0x1D405 => array(0x66),
  1421.                     0x1D406 => array(0x67), 0x1D407 => array(0x68), 0x1D408 => array(0x69),
  1422.                     0x1D409 => array(0x6A), 0x1D40A => array(0x6B), 0x1D40B => array(0x6C),
  1423.                     0x1D40C => array(0x6D), 0x1D40D => array(0x6E), 0x1D40E => array(0x6F),
  1424.                     0x1D40F => array(0x70), 0x1D410 => array(0x71), 0x1D411 => array(0x72),
  1425.                     0x1D412 => array(0x73), 0x1D413 => array(0x74), 0x1D414 => array(0x75),
  1426.                     0x1D415 => array(0x76), 0x1D416 => array(0x77), 0x1D417 => array(0x78),
  1427.                     0x1D418 => array(0x79), 0x1D419 => array(0x7A), 0x1D434 => array(0x61),
  1428.                     0x1D435 => array(0x62), 0x1D436 => array(0x63), 0x1D437 => array(0x64),
  1429.                     0x1D438 => array(0x65), 0x1D439 => array(0x66), 0x1D43A => array(0x67),
  1430.                     0x1D43B => array(0x68), 0x1D43C => array(0x69), 0x1D43D => array(0x6A),
  1431.                     0x1D43E => array(0x6B), 0x1D43F => array(0x6C), 0x1D440 => array(0x6D),
  1432.                     0x1D441 => array(0x6E), 0x1D442 => array(0x6F), 0x1D443 => array(0x70),
  1433.                     0x1D444 => array(0x71), 0x1D445 => array(0x72), 0x1D446 => array(0x73),
  1434.                     0x1D447 => array(0x74), 0x1D448 => array(0x75), 0x1D449 => array(0x76),
  1435.                     0x1D44A => array(0x77), 0x1D44B => array(0x78), 0x1D44C => array(0x79),
  1436.                     0x1D44D => array(0x7A), 0x1D468 => array(0x61), 0x1D469 => array(0x62),
  1437.                     0x1D46A => array(0x63), 0x1D46B => array(0x64), 0x1D46C => array(0x65),
  1438.                     0x1D46D => array(0x66), 0x1D46E => array(0x67), 0x1D46F => array(0x68),
  1439.                     0x1D470 => array(0x69), 0x1D471 => array(0x6A), 0x1D472 => array(0x6B),
  1440.                     0x1D473 => array(0x6C), 0x1D474 => array(0x6D), 0x1D475 => array(0x6E),
  1441.                     0x1D476 => array(0x6F), 0x1D477 => array(0x70), 0x1D478 => array(0x71),
  1442.                     0x1D479 => array(0x72), 0x1D47A => array(0x73), 0x1D47B => array(0x74),
  1443.                     0x1D47C => array(0x75), 0x1D47D => array(0x76), 0x1D47E => array(0x77),
  1444.                     0x1D47F => array(0x78), 0x1D480 => array(0x79), 0x1D481 => array(0x7A),
  1445.                     0x1D49C => array(0x61), 0x1D49E => array(0x63), 0x1D49F => array(0x64),
  1446.                     0x1D4A2 => array(0x67), 0x1D4A5 => array(0x6A), 0x1D4A6 => array(0x6B),
  1447.                     0x1D4A9 => array(0x6E), 0x1D4AA => array(0x6F), 0x1D4AB => array(0x70),
  1448.                     0x1D4AC => array(0x71), 0x1D4AE => array(0x73), 0x1D4AF => array(0x74),
  1449.                     0x1D4B0 => array(0x75), 0x1D4B1 => array(0x76), 0x1D4B2 => array(0x77),
  1450.                     0x1D4B3 => array(0x78), 0x1D4B4 => array(0x79), 0x1D4B5 => array(0x7A),
  1451.                     0x1D4D0 => array(0x61), 0x1D4D1 => array(0x62), 0x1D4D2 => array(0x63),
  1452.                     0x1D4D3 => array(0x64), 0x1D4D4 => array(0x65), 0x1D4D5 => array(0x66),
  1453.                     0x1D4D6 => array(0x67), 0x1D4D7 => array(0x68), 0x1D4D8 => array(0x69),
  1454.                     0x1D4D9 => array(0x6A), 0x1D4DA => array(0x6B), 0x1D4DB => array(0x6C),
  1455.                     0x1D4DC => array(0x6D), 0x1D4DD => array(0x6E), 0x1D4DE => array(0x6F),
  1456.                     0x1D4DF => array(0x70), 0x1D4E0 => array(0x71), 0x1D4E1 => array(0x72),
  1457.                     0x1D4E2 => array(0x73), 0x1D4E3 => array(0x74), 0x1D4E4 => array(0x75),
  1458.                     0x1D4E5 => array(0x76), 0x1D4E6 => array(0x77), 0x1D4E7 => array(0x78),
  1459.                     0x1D4E8 => array(0x79), 0x1D4E9 => array(0x7A), 0x1D504 => array(0x61),
  1460.                     0x1D505 => array(0x62), 0x1D507 => array(0x64), 0x1D508 => array(0x65),
  1461.                     0x1D509 => array(0x66), 0x1D50A => array(0x67), 0x1D50D => array(0x6A),
  1462.                     0x1D50E => array(0x6B), 0x1D50F => array(0x6C), 0x1D510 => array(0x6D),
  1463.                     0x1D511 => array(0x6E), 0x1D512 => array(0x6F), 0x1D513 => array(0x70),
  1464.                     0x1D514 => array(0x71), 0x1D516 => array(0x73), 0x1D517 => array(0x74),
  1465.                     0x1D518 => array(0x75), 0x1D519 => array(0x76), 0x1D51A => array(0x77),
  1466.                     0x1D51B => array(0x78), 0x1D51C => array(0x79), 0x1D538 => array(0x61),
  1467.                     0x1D539 => array(0x62), 0x1D53B => array(0x64), 0x1D53C => array(0x65),
  1468.                     0x1D53D => array(0x66), 0x1D53E => array(0x67), 0x1D540 => array(0x69),
  1469.                     0x1D541 => array(0x6A), 0x1D542 => array(0x6B), 0x1D543 => array(0x6C),
  1470.                     0x1D544 => array(0x6D), 0x1D546 => array(0x6F), 0x1D54A => array(0x73),
  1471.                     0x1D54B => array(0x74), 0x1D54C => array(0x75), 0x1D54D => array(0x76),
  1472.                     0x1D54E => array(0x77), 0x1D54F => array(0x78), 0x1D550 => array(0x79),
  1473.                     0x1D56C => array(0x61), 0x1D56D => array(0x62), 0x1D56E => array(0x63),
  1474.                     0x1D56F => array(0x64), 0x1D570 => array(0x65), 0x1D571 => array(0x66),
  1475.                     0x1D572 => array(0x67), 0x1D573 => array(0x68), 0x1D574 => array(0x69),
  1476.                     0x1D575 => array(0x6A), 0x1D576 => array(0x6B), 0x1D577 => array(0x6C),
  1477.                     0x1D578 => array(0x6D), 0x1D579 => array(0x6E), 0x1D57A => array(0x6F),
  1478.                     0x1D57B => array(0x70), 0x1D57C => array(0x71), 0x1D57D => array(0x72),
  1479.                     0x1D57E => array(0x73), 0x1D57F => array(0x74), 0x1D580 => array(0x75),
  1480.                     0x1D581 => array(0x76), 0x1D582 => array(0x77), 0x1D583 => array(0x78),
  1481.                     0x1D584 => array(0x79), 0x1D585 => array(0x7A), 0x1D5A0 => array(0x61),
  1482.                     0x1D5A1 => array(0x62), 0x1D5A2 => array(0x63), 0x1D5A3 => array(0x64),
  1483.                     0x1D5A4 => array(0x65), 0x1D5A5 => array(0x66), 0x1D5A6 => array(0x67),
  1484.                     0x1D5A7 => array(0x68), 0x1D5A8 => array(0x69), 0x1D5A9 => array(0x6A),
  1485.                     0x1D5AA => array(0x6B), 0x1D5AB => array(0x6C), 0x1D5AC => array(0x6D),
  1486.                     0x1D5AD => array(0x6E), 0x1D5AE => array(0x6F), 0x1D5AF => array(0x70),
  1487.                     0x1D5B0 => array(0x71), 0x1D5B1 => array(0x72), 0x1D5B2 => array(0x73),
  1488.                     0x1D5B3 => array(0x74), 0x1D5B4 => array(0x75), 0x1D5B5 => array(0x76),
  1489.                     0x1D5B6 => array(0x77), 0x1D5B7 => array(0x78), 0x1D5B8 => array(0x79),
  1490.                     0x1D5B9 => array(0x7A), 0x1D5D4 => array(0x61), 0x1D5D5 => array(0x62),
  1491.                     0x1D5D6 => array(0x63), 0x1D5D7 => array(0x64), 0x1D5D8 => array(0x65),
  1492.                     0x1D5D9 => array(0x66), 0x1D5DA => array(0x67), 0x1D5DB => array(0x68),
  1493.                     0x1D5DC => array(0x69), 0x1D5DD => array(0x6A), 0x1D5DE => array(0x6B),
  1494.                     0x1D5DF => array(0x6C), 0x1D5E0 => array(0x6D), 0x1D5E1 => array(0x6E),
  1495.                     0x1D5E2 => array(0x6F), 0x1D5E3 => array(0x70), 0x1D5E4 => array(0x71),
  1496.                     0x1D5E5 => array(0x72), 0x1D5E6 => array(0x73), 0x1D5E7 => array(0x74),
  1497.                     0x1D5E8 => array(0x75), 0x1D5E9 => array(0x76), 0x1D5EA => array(0x77),
  1498.                     0x1D5EB => array(0x78), 0x1D5EC => array(0x79), 0x1D5ED => array(0x7A),
  1499.                     0x1D608 => array(0x61), 0x1D609 => array(0x62), 0x1D60A => array(0x63),
  1500.                     0x1D60B => array(0x64), 0x1D60C => array(0x65), 0x1D60D => array(0x66),
  1501.                     0x1D60E => array(0x67), 0x1D60F => array(0x68), 0x1D610 => array(0x69),
  1502.                     0x1D611 => array(0x6A), 0x1D612 => array(0x6B), 0x1D613 => array(0x6C),
  1503.                     0x1D614 => array(0x6D), 0x1D615 => array(0x6E), 0x1D616 => array(0x6F),
  1504.                     0x1D617 => array(0x70), 0x1D618 => array(0x71), 0x1D619 => array(0x72),
  1505.                     0x1D61A => array(0x73), 0x1D61B => array(0x74), 0x1D61C => array(0x75),
  1506.                     0x1D61D => array(0x76), 0x1D61E => array(0x77), 0x1D61F => array(0x78),
  1507.                     0x1D620 => array(0x79), 0x1D621 => array(0x7A), 0x1D63C => array(0x61),
  1508.                     0x1D63D => array(0x62), 0x1D63E => array(0x63), 0x1D63F => array(0x64),
  1509.                     0x1D640 => array(0x65), 0x1D641 => array(0x66), 0x1D642 => array(0x67),
  1510.                     0x1D643 => array(0x68), 0x1D644 => array(0x69), 0x1D645 => array(0x6A),
  1511.                     0x1D646 => array(0x6B), 0x1D647 => array(0x6C), 0x1D648 => array(0x6D),
  1512.                     0x1D649 => array(0x6E), 0x1D64A => array(0x6F), 0x1D64B => array(0x70),
  1513.                     0x1D64C => array(0x71), 0x1D64D => array(0x72), 0x1D64E => array(0x73),
  1514.                     0x1D64F => array(0x74), 0x1D650 => array(0x75), 0x1D651 => array(0x76),
  1515.                     0x1D652 => array(0x77), 0x1D653 => array(0x78), 0x1D654 => array(0x79),
  1516.                     0x1D655 => array(0x7A), 0x1D670 => array(0x61), 0x1D671 => array(0x62),
  1517.                     0x1D672 => array(0x63), 0x1D673 => array(0x64), 0x1D674 => array(0x65),
  1518.                     0x1D675 => array(0x66), 0x1D676 => array(0x67), 0x1D677 => array(0x68),
  1519.                     0x1D678 => array(0x69), 0x1D679 => array(0x6A), 0x1D67A => array(0x6B),
  1520.                     0x1D67B => array(0x6C), 0x1D67C => array(0x6D), 0x1D67D => array(0x6E),
  1521.                     0x1D67E => array(0x6F), 0x1D67F => array(0x70), 0x1D680 => array(0x71),
  1522.                     0x1D681 => array(0x72), 0x1D682 => array(0x73), 0x1D683 => array(0x74),
  1523.                     0x1D684 => array(0x75), 0x1D685 => array(0x76), 0x1D686 => array(0x77),
  1524.                     0x1D687 => array(0x78), 0x1D688 => array(0x79), 0x1D689 => array(0x7A),
  1525.                     0x1D6A8 => array(0x3B1), 0x1D6A9 => array(0x3B2), 0x1D6AA => array(0x3B3),
  1526.                     0x1D6AB => array(0x3B4), 0x1D6AC => array(0x3B5), 0x1D6AD => array(0x3B6),
  1527.                     0x1D6AE => array(0x3B7), 0x1D6AF => array(0x3B8), 0x1D6B0 => array(0x3B9),
  1528.                     0x1D6B1 => array(0x3BA), 0x1D6B2 => array(0x3BB), 0x1D6B3 => array(0x3BC),
  1529.                     0x1D6B4 => array(0x3BD), 0x1D6B5 => array(0x3BE), 0x1D6B6 => array(0x3BF),
  1530.                     0x1D6B7 => array(0x3C0), 0x1D6B8 => array(0x3C1), 0x1D6B9 => array(0x3B8),
  1531.                     0x1D6BA => array(0x3C3), 0x1D6BB => array(0x3C4), 0x1D6BC => array(0x3C5),
  1532.                     0x1D6BD => array(0x3C6), 0x1D6BE => array(0x3C7), 0x1D6BF => array(0x3C8),
  1533.                     0x1D6C0 => array(0x3C9), 0x1D6D3 => array(0x3C3), 0x1D6E2 => array(0x3B1),
  1534.                     0x1D6E3 => array(0x3B2), 0x1D6E4 => array(0x3B3), 0x1D6E5 => array(0x3B4),
  1535.                     0x1D6E6 => array(0x3B5), 0x1D6E7 => array(0x3B6), 0x1D6E8 => array(0x3B7),
  1536.                     0x1D6E9 => array(0x3B8), 0x1D6EA => array(0x3B9), 0x1D6EB => array(0x3BA),
  1537.                     0x1D6EC => array(0x3BB), 0x1D6ED => array(0x3BC), 0x1D6EE => array(0x3BD),
  1538.                     0x1D6EF => array(0x3BE), 0x1D6F0 => array(0x3BF), 0x1D6F1 => array(0x3C0),
  1539.                     0x1D6F2 => array(0x3C1), 0x1D6F3 => array(0x3B8), 0x1D6F4 => array(0x3C3),
  1540.                     0x1D6F5 => array(0x3C4), 0x1D6F6 => array(0x3C5), 0x1D6F7 => array(0x3C6),
  1541.                     0x1D6F8 => array(0x3C7), 0x1D6F9 => array(0x3C8), 0x1D6FA => array(0x3C9),
  1542.                     0x1D70D => array(0x3C3), 0x1D71C => array(0x3B1), 0x1D71D => array(0x3B2),
  1543.                     0x1D71E => array(0x3B3), 0x1D71F => array(0x3B4), 0x1D720 => array(0x3B5),
  1544.                     0x1D721 => array(0x3B6), 0x1D722 => array(0x3B7), 0x1D723 => array(0x3B8),
  1545.                     0x1D724 => array(0x3B9), 0x1D725 => array(0x3BA), 0x1D726 => array(0x3BB),
  1546.                     0x1D727 => array(0x3BC), 0x1D728 => array(0x3BD), 0x1D729 => array(0x3BE),
  1547.                     0x1D72A => array(0x3BF), 0x1D72B => array(0x3C0), 0x1D72C => array(0x3C1),
  1548.                     0x1D72D => array(0x3B8), 0x1D72E => array(0x3C3), 0x1D72F => array(0x3C4),
  1549.                     0x1D730 => array(0x3C5), 0x1D731 => array(0x3C6), 0x1D732 => array(0x3C7),
  1550.                     0x1D733 => array(0x3C8), 0x1D734 => array(0x3C9), 0x1D747 => array(0x3C3),
  1551.                     0x1D756 => array(0x3B1), 0x1D757 => array(0x3B2), 0x1D758 => array(0x3B3),
  1552.                     0x1D759 => array(0x3B4), 0x1D75A => array(0x3B5), 0x1D75B => array(0x3B6),
  1553.                     0x1D75C => array(0x3B7), 0x1D75D => array(0x3B8), 0x1D75E => array(0x3B9),
  1554.                     0x1D75F => array(0x3BA), 0x1D760 => array(0x3BB), 0x1D761 => array(0x3BC),
  1555.                     0x1D762 => array(0x3BD), 0x1D763 => array(0x3BE), 0x1D764 => array(0x3BF),
  1556.                     0x1D765 => array(0x3C0), 0x1D766 => array(0x3C1), 0x1D767 => array(0x3B8),
  1557.                     0x1D768 => array(0x3C3), 0x1D769 => array(0x3C4), 0x1D76A => array(0x3C5),
  1558.                     0x1D76B => array(0x3C6), 0x1D76C => array(0x3C7), 0x1D76D => array(0x3C8),
  1559.                     0x1D76E => array(0x3C9), 0x1D781 => array(0x3C3), 0x1D790 => array(0x3B1),
  1560.                     0x1D791 => array(0x3B2), 0x1D792 => array(0x3B3), 0x1D793 => array(0x3B4),
  1561.                     0x1D794 => array(0x3B5), 0x1D795 => array(0x3B6), 0x1D796 => array(0x3B7),
  1562.                     0x1D797 => array(0x3B8), 0x1D798 => array(0x3B9), 0x1D799 => array(0x3BA),
  1563.                     0x1D79A => array(0x3BB), 0x1D79B => array(0x3BC), 0x1D79C => array(0x3BD),
  1564.                     0x1D79D => array(0x3BE), 0x1D79E => array(0x3BF), 0x1D79F => array(0x3C0),
  1565.                     0x1D7A0 => array(0x3C1), 0x1D7A1 => array(0x3B8), 0x1D7A2 => array(0x3C3),
  1566.                     0x1D7A3 => array(0x3C4), 0x1D7A4 => array(0x3C5), 0x1D7A5 => array(0x3C6),
  1567.                     0x1D7A6 => array(0x3C7), 0x1D7A7 => array(0x3C8), 0x1D7A8 => array(0x3C9),
  1568.                     0x1D7BB => array(0x3C3), 0x3F9 => array(0x3C3), 0x1D2C => array(0x61),
  1569.                     0x1D2D => array(0xE6), 0x1D2E => array(0x62), 0x1D30 => array(0x64),
  1570.                     0x1D31 => array(0x65), 0x1D32 => array(0x1DD), 0x1D33 => array(0x67),
  1571.                     0x1D34 => array(0x68), 0x1D35 => array(0x69), 0x1D36 => array(0x6A),
  1572.                     0x1D37 => array(0x6B), 0x1D38 => array(0x6C), 0x1D39 => array(0x6D),
  1573.                     0x1D3A => array(0x6E), 0x1D3C => array(0x6F), 0x1D3D => array(0x223),
  1574.                     0x1D3E => array(0x70), 0x1D3F => array(0x72), 0x1D40 => array(0x74),
  1575.                     0x1D41 => array(0x75), 0x1D42 => array(0x77), 0x213B => array(0x66, 0x61, 0x78),
  1576.                     0x3250 => array(0x70, 0x74, 0x65), 0x32CC => array(0x68, 0x67),
  1577.                     0x32CE => array(0x65, 0x76), 0x32CF => array(0x6C, 0x74, 0x64),
  1578.                     0x337A => array(0x69, 0x75), 0x33DE => array(0x76, 0x2215, 0x6D),
  1579.                     0x33DF => array(0x61, 0x2215, 0x6D)
  1580.             ),
  1581.             'replacemaps' => array(0x41 => array(0x61), 0x42 => array(0x62), 0x43 => array(0x63),
  1582.                     0x44 => array(0x64), 0x45 => array(0x65), 0x46 => array(0x66),
  1583.                     0x47 => array(0x67), 0x48 => array(0x68), 0x49 => array(0x69),
  1584.                     0x4A => array(0x6A), 0x4B => array(0x6B), 0x4C => array(0x6C),
  1585.                     0x4D => array(0x6D), 0x4E => array(0x6E), 0x4F => array(0x6F),
  1586.                     0x50 => array(0x70), 0x51 => array(0x71), 0x52 => array(0x72),
  1587.                     0x53 => array(0x73), 0x54 => array(0x74), 0x55 => array(0x75),
  1588.                     0x56 => array(0x76), 0x57 => array(0x77), 0x58 => array(0x78),
  1589.                     0x59 => array(0x79), 0x5A => array(0x7A), 0xAA => array(0x61),
  1590.                     0xB2 => array(0x32), 0xB3 => array(0x33), 0xB5 => array(0x3BC),
  1591.                     0xB9 => array(0x31), 0xBA => array(0x6F), 0xBC => array(0x31, 0x2044, 0x34),
  1592.                     0xBD => array(0x31, 0x2044, 0x32), 0xBE => array(0x33, 0x2044, 0x34), 0xC0 => array(0xE0),
  1593.                     0xC1 => array(0xE1), 0xC2 => array(0xE2), 0xC3 => array(0xE3),
  1594.                     0xC4 => array(0xE4), 0xC5 => array(0xE5), 0xC6 => array(0xE6),
  1595.                     0xC7 => array(0xE7), 0xC8 => array(0xE8), 0xC9 => array(0xE9),
  1596.                     0xCA => array(0xEA), 0xCB => array(0xEB), 0xCC => array(0xEC),
  1597.                     0xCD => array(0xED), 0xCE => array(0xEE), 0xCF => array(0xEF),
  1598.                     0xD0 => array(0xF0), 0xD1 => array(0xF1), 0xD2 => array(0xF2),
  1599.                     0xD3 => array(0xF3), 0xD4 => array(0xF4), 0xD5 => array(0xF5),
  1600.                     0xD6 => array(0xF6), 0xD8 => array(0xF8), 0xD9 => array(0xF9),
  1601.                     0xDA => array(0xFA), 0xDB => array(0xFB), 0xDC => array(0xFC),
  1602.                     0xDD => array(0xFD), 0xDE => array(0xFE), 0x100 => array(0x101),
  1603.                     0x102 => array(0x103), 0x104 => array(0x105), 0x106 => array(0x107),
  1604.                     0x108 => array(0x109), 0x10A => array(0x10B), 0x10C => array(0x10D),
  1605.                     0x10E => array(0x10F), 0x110 => array(0x111), 0x112 => array(0x113),
  1606.                     0x114 => array(0x115), 0x116 => array(0x117), 0x118 => array(0x119),
  1607.                     0x11A => array(0x11B), 0x11C => array(0x11D), 0x11E => array(0x11F),
  1608.                     0x120 => array(0x121), 0x122 => array(0x123), 0x124 => array(0x125),
  1609.                     0x126 => array(0x127), 0x128 => array(0x129), 0x12A => array(0x12B),
  1610.                     0x12C => array(0x12D), 0x12E => array(0x12F), 0x130 => array(0x69, 0x307),
  1611.                     0x132 => array(0x69, 0x6A), 0x133 => array(0x69, 0x6A), 0x134 => array(0x135),
  1612.                     0x136 => array(0x137), 0x139 => array(0x13A), 0x13B => array(0x13C),
  1613.                     0x13D => array(0x13E), 0x13F => array(0x6C, 0xB7), 0x140 => array(0x6C, 0xB7),
  1614.                     0x141 => array(0x142), 0x143 => array(0x144), 0x145 => array(0x146),
  1615.                     0x147 => array(0x148), 0x149 => array(0x2BC, 0x6E), 0x14A => array(0x14B),
  1616.                     0x14C => array(0x14D), 0x14E => array(0x14F), 0x150 => array(0x151),
  1617.                     0x152 => array(0x153), 0x154 => array(0x155), 0x156 => array(0x157),
  1618.                     0x158 => array(0x159), 0x15A => array(0x15B), 0x15C => array(0x15D),
  1619.                     0x15E => array(0x15F), 0x160 => array(0x161), 0x162 => array(0x163),
  1620.                     0x164 => array(0x165), 0x166 => array(0x167), 0x168 => array(0x169),
  1621.                     0x16A => array(0x16B), 0x16C => array(0x16D), 0x16E => array(0x16F),
  1622.                     0x170 => array(0x171), 0x172 => array(0x173), 0x174 => array(0x175),
  1623.                     0x176 => array(0x177), 0x178 => array(0xFF), 0x179 => array(0x17A),
  1624.                     0x17B => array(0x17C), 0x17D => array(0x17E), 0x17F => array(0x73),
  1625.                     0x181 => array(0x253), 0x182 => array(0x183), 0x184 => array(0x185),
  1626.                     0x186 => array(0x254), 0x187 => array(0x188), 0x189 => array(0x256),
  1627.                     0x18A => array(0x257), 0x18B => array(0x18C), 0x18E => array(0x1DD),
  1628.                     0x18F => array(0x259), 0x190 => array(0x25B), 0x191 => array(0x192),
  1629.                     0x193 => array(0x260), 0x194 => array(0x263), 0x196 => array(0x269),
  1630.                     0x197 => array(0x268), 0x198 => array(0x199), 0x19C => array(0x26F),
  1631.                     0x19D => array(0x272), 0x19F => array(0x275), 0x1A0 => array(0x1A1),
  1632.                     0x1A2 => array(0x1A3), 0x1A4 => array(0x1A5), 0x1A6 => array(0x280),
  1633.                     0x1A7 => array(0x1A8), 0x1A9 => array(0x283), 0x1AC => array(0x1AD),
  1634.                     0x1AE => array(0x288), 0x1AF => array(0x1B0), 0x1B1 => array(0x28A),
  1635.                     0x1B2 => array(0x28B), 0x1B3 => array(0x1B4), 0x1B5 => array(0x1B6),
  1636.                     0x1B7 => array(0x292), 0x1B8 => array(0x1B9), 0x1BC => array(0x1BD),
  1637.                     0x1C4 => array(0x64, 0x17E), 0x1C5 => array(0x64, 0x17E), 0x1C6 => array(0x64, 0x17E),
  1638.                     0x1C7 => array(0x6C, 0x6A), 0x1C8 => array(0x6C, 0x6A), 0x1C9 => array(0x6C, 0x6A),
  1639.                     0x1CA => array(0x6E, 0x6A), 0x1CB => array(0x6E, 0x6A), 0x1CC => array(0x6E, 0x6A),
  1640.                     0x1CD => array(0x1CE), 0x1CF => array(0x1D0), 0x1D1 => array(0x1D2),
  1641.                     0x1D3 => array(0x1D4), 0x1D5 => array(0x1D6), 0x1D7 => array(0x1D8),
  1642.                     0x1D9 => array(0x1DA), 0x1DB => array(0x1DC), 0x1DE => array(0x1DF),
  1643.                     0x1E0 => array(0x1E1), 0x1E2 => array(0x1E3), 0x1E4 => array(0x1E5),
  1644.                     0x1E6 => array(0x1E7), 0x1E8 => array(0x1E9), 0x1EA => array(0x1EB),
  1645.                     0x1EC => array(0x1ED), 0x1EE => array(0x1EF), 0x1F1 => array(0x64, 0x7A),
  1646.                     0x1F2 => array(0x64, 0x7A), 0x1F3 => array(0x64, 0x7A), 0x1F4 => array(0x1F5),
  1647.                     0x1F6 => array(0x195), 0x1F7 => array(0x1BF), 0x1F8 => array(0x1F9),
  1648.                     0x1FA => array(0x1FB), 0x1FC => array(0x1FD), 0x1FE => array(0x1FF),
  1649.                     0x200 => array(0x201), 0x202 => array(0x203), 0x204 => array(0x205),
  1650.                     0x206 => array(0x207), 0x208 => array(0x209), 0x20A => array(0x20B),
  1651.                     0x20C => array(0x20D), 0x20E => array(0x20F), 0x210 => array(0x211),
  1652.                     0x212 => array(0x213), 0x214 => array(0x215), 0x216 => array(0x217),
  1653.                     0x218 => array(0x219), 0x21A => array(0x21B), 0x21C => array(0x21D),
  1654.                     0x21E => array(0x21F), 0x220 => array(0x19E), 0x222 => array(0x223),
  1655.                     0x224 => array(0x225), 0x226 => array(0x227), 0x228 => array(0x229),
  1656.                     0x22A => array(0x22B), 0x22C => array(0x22D), 0x22E => array(0x22F),
  1657.                     0x230 => array(0x231), 0x232 => array(0x233), 0x23A => array(0x2C65),
  1658.                     0x23B => array(0x23C), 0x23D => array(0x19A), 0x23E => array(0x2C66),
  1659.                     0x241 => array(0x242), 0x243 => array(0x180), 0x244 => array(0x289),
  1660.                     0x245 => array(0x28C), 0x246 => array(0x247), 0x248 => array(0x249),
  1661.                     0x24A => array(0x24B), 0x24C => array(0x24D), 0x24E => array(0x24F),
  1662.                     0x2B0 => array(0x68), 0x2B1 => array(0x266), 0x2B2 => array(0x6A),
  1663.                     0x2B3 => array(0x72), 0x2B4 => array(0x279), 0x2B5 => array(0x27B),
  1664.                     0x2B6 => array(0x281), 0x2B7 => array(0x77), 0x2B8 => array(0x79),
  1665.                     0x2E0 => array(0x263), 0x2E1 => array(0x6C), 0x2E2 => array(0x73),
  1666.                     0x2E3 => array(0x78), 0x2E4 => array(0x295), 0x340 => array(0x300),
  1667.                     0x341 => array(0x301), 0x343 => array(0x313), 0x344 => array(0x308, 0x301),
  1668.                     0x345 => array(0x3B9), 0x370 => array(0x371), 0x372 => array(0x373),
  1669.                     0x374 => array(0x2B9), 0x376 => array(0x377), 0x37F => array(0x3F3),
  1670.                     0x386 => array(0x3AC), 0x387 => array(0xB7), 0x388 => array(0x3AD),
  1671.                     0x389 => array(0x3AE), 0x38A => array(0x3AF), 0x38C => array(0x3CC),
  1672.                     0x38E => array(0x3CD), 0x38F => array(0x3CE), 0x391 => array(0x3B1),
  1673.                     0x392 => array(0x3B2), 0x393 => array(0x3B3), 0x394 => array(0x3B4),
  1674.                     0x395 => array(0x3B5), 0x396 => array(0x3B6), 0x397 => array(0x3B7),
  1675.                     0x398 => array(0x3B8), 0x399 => array(0x3B9), 0x39A => array(0x3BA),
  1676.                     0x39B => array(0x3BB), 0x39C => array(0x3BC), 0x39D => array(0x3BD),
  1677.                     0x39E => array(0x3BE), 0x39F => array(0x3BF), 0x3A0 => array(0x3C0),
  1678.                     0x3A1 => array(0x3C1), 0x3A3 => array(0x3C3), 0x3A4 => array(0x3C4),
  1679.                     0x3A5 => array(0x3C5), 0x3A6 => array(0x3C6), 0x3A7 => array(0x3C7),
  1680.                     0x3A8 => array(0x3C8), 0x3A9 => array(0x3C9), 0x3AA => array(0x3CA),
  1681.                     0x3AB => array(0x3CB), 0x3CF => array(0x3D7), 0x3D0 => array(0x3B2),
  1682.                     0x3D1 => array(0x3B8), 0x3D2 => array(0x3C5), 0x3D3 => array(0x3CD),
  1683.                     0x3D4 => array(0x3CB), 0x3D5 => array(0x3C6), 0x3D6 => array(0x3C0),
  1684.                     0x3D8 => array(0x3D9), 0x3DA => array(0x3DB), 0x3DC => array(0x3DD),
  1685.                     0x3DE => array(0x3DF), 0x3E0 => array(0x3E1), 0x3E2 => array(0x3E3),
  1686.                     0x3E4 => array(0x3E5), 0x3E6 => array(0x3E7), 0x3E8 => array(0x3E9),
  1687.                     0x3EA => array(0x3EB), 0x3EC => array(0x3ED), 0x3EE => array(0x3EF),
  1688.                     0x3F0 => array(0x3BA), 0x3F1 => array(0x3C1), 0x3F2 => array(0x3C3),
  1689.                     0x3F4 => array(0x3B8), 0x3F5 => array(0x3B5), 0x3F7 => array(0x3F8),
  1690.                     0x3F9 => array(0x3C3), 0x3FA => array(0x3FB), 0x3FD => array(0x37B),
  1691.                     0x3FE => array(0x37C), 0x3FF => array(0x37D), 0x400 => array(0x450),
  1692.                     0x401 => array(0x451), 0x402 => array(0x452), 0x403 => array(0x453),
  1693.                     0x404 => array(0x454), 0x405 => array(0x455), 0x406 => array(0x456),
  1694.                     0x407 => array(0x457), 0x408 => array(0x458), 0x409 => array(0x459),
  1695.                     0x40A => array(0x45A), 0x40B => array(0x45B), 0x40C => array(0x45C),
  1696.                     0x40D => array(0x45D), 0x40E => array(0x45E), 0x40F => array(0x45F),
  1697.                     0x410 => array(0x430), 0x411 => array(0x431), 0x412 => array(0x432),
  1698.                     0x413 => array(0x433), 0x414 => array(0x434), 0x415 => array(0x435),
  1699.                     0x416 => array(0x436), 0x417 => array(0x437), 0x418 => array(0x438),
  1700.                     0x419 => array(0x439), 0x41A => array(0x43A), 0x41B => array(0x43B),
  1701.                     0x41C => array(0x43C), 0x41D => array(0x43D), 0x41E => array(0x43E),
  1702.                     0x41F => array(0x43F), 0x420 => array(0x440), 0x421 => array(0x441),
  1703.                     0x422 => array(0x442), 0x423 => array(0x443), 0x424 => array(0x444),
  1704.                     0x425 => array(0x445), 0x426 => array(0x446), 0x427 => array(0x447),
  1705.                     0x428 => array(0x448), 0x429 => array(0x449), 0x42A => array(0x44A),
  1706.                     0x42B => array(0x44B), 0x42C => array(0x44C), 0x42D => array(0x44D),
  1707.                     0x42E => array(0x44E), 0x42F => array(0x44F), 0x460 => array(0x461),
  1708.                     0x462 => array(0x463), 0x464 => array(0x465), 0x466 => array(0x467),
  1709.                     0x468 => array(0x469), 0x46A => array(0x46B), 0x46C => array(0x46D),
  1710.                     0x46E => array(0x46F), 0x470 => array(0x471), 0x472 => array(0x473),
  1711.                     0x474 => array(0x475), 0x476 => array(0x477), 0x478 => array(0x479),
  1712.                     0x47A => array(0x47B), 0x47C => array(0x47D), 0x47E => array(0x47F),
  1713.                     0x480 => array(0x481), 0x48A => array(0x48B), 0x48C => array(0x48D),
  1714.                     0x48E => array(0x48F), 0x490 => array(0x491), 0x492 => array(0x493),
  1715.                     0x494 => array(0x495), 0x496 => array(0x497), 0x498 => array(0x499),
  1716.                     0x49A => array(0x49B), 0x49C => array(0x49D), 0x49E => array(0x49F),
  1717.                     0x4A0 => array(0x4A1), 0x4A2 => array(0x4A3), 0x4A4 => array(0x4A5),
  1718.                     0x4A6 => array(0x4A7), 0x4A8 => array(0x4A9), 0x4AA => array(0x4AB),
  1719.                     0x4AC => array(0x4AD), 0x4AE => array(0x4AF), 0x4B0 => array(0x4B1),
  1720.                     0x4B2 => array(0x4B3), 0x4B4 => array(0x4B5), 0x4B6 => array(0x4B7),
  1721.                     0x4B8 => array(0x4B9), 0x4BA => array(0x4BB), 0x4BC => array(0x4BD),
  1722.                     0x4BE => array(0x4BF), 0x4C1 => array(0x4C2), 0x4C3 => array(0x4C4),
  1723.                     0x4C5 => array(0x4C6), 0x4C7 => array(0x4C8), 0x4C9 => array(0x4CA),
  1724.                     0x4CB => array(0x4CC), 0x4CD => array(0x4CE), 0x4D0 => array(0x4D1),
  1725.                     0x4D2 => array(0x4D3), 0x4D4 => array(0x4D5), 0x4D6 => array(0x4D7),
  1726.                     0x4D8 => array(0x4D9), 0x4DA => array(0x4DB), 0x4DC => array(0x4DD),
  1727.                     0x4DE => array(0x4DF), 0x4E0 => array(0x4E1), 0x4E2 => array(0x4E3),
  1728.                     0x4E4 => array(0x4E5), 0x4E6 => array(0x4E7), 0x4E8 => array(0x4E9),
  1729.                     0x4EA => array(0x4EB), 0x4EC => array(0x4ED), 0x4EE => array(0x4EF),
  1730.                     0x4F0 => array(0x4F1), 0x4F2 => array(0x4F3), 0x4F4 => array(0x4F5),
  1731.                     0x4F6 => array(0x4F7), 0x4F8 => array(0x4F9), 0x4FA => array(0x4FB),
  1732.                     0x4FC => array(0x4FD), 0x4FE => array(0x4FF), 0x500 => array(0x501),
  1733.                     0x502 => array(0x503), 0x504 => array(0x505), 0x506 => array(0x507),
  1734.                     0x508 => array(0x509), 0x50A => array(0x50B), 0x50C => array(0x50D),
  1735.                     0x50E => array(0x50F), 0x510 => array(0x511), 0x512 => array(0x513),
  1736.                     0x514 => array(0x515), 0x516 => array(0x517), 0x518 => array(0x519),
  1737.                     0x51A => array(0x51B), 0x51C => array(0x51D), 0x51E => array(0x51F),
  1738.                     0x520 => array(0x521), 0x522 => array(0x523), 0x524 => array(0x525),
  1739.                     0x526 => array(0x527), 0x528 => array(0x529), 0x52A => array(0x52B),
  1740.                     0x52C => array(0x52D), 0x52E => array(0x52F), 0x531 => array(0x561),
  1741.                     0x532 => array(0x562), 0x533 => array(0x563), 0x534 => array(0x564),
  1742.                     0x535 => array(0x565), 0x536 => array(0x566), 0x537 => array(0x567),
  1743.                     0x538 => array(0x568), 0x539 => array(0x569), 0x53A => array(0x56A),
  1744.                     0x53B => array(0x56B), 0x53C => array(0x56C), 0x53D => array(0x56D),
  1745.                     0x53E => array(0x56E), 0x53F => array(0x56F), 0x540 => array(0x570),
  1746.                     0x541 => array(0x571), 0x542 => array(0x572), 0x543 => array(0x573),
  1747.                     0x544 => array(0x574), 0x545 => array(0x575), 0x546 => array(0x576),
  1748.                     0x547 => array(0x577), 0x548 => array(0x578), 0x549 => array(0x579),
  1749.                     0x54A => array(0x57A), 0x54B => array(0x57B), 0x54C => array(0x57C),
  1750.                     0x54D => array(0x57D), 0x54E => array(0x57E), 0x54F => array(0x57F),
  1751.                     0x550 => array(0x580), 0x551 => array(0x581), 0x552 => array(0x582),
  1752.                     0x553 => array(0x583), 0x554 => array(0x584), 0x555 => array(0x585),
  1753.                     0x556 => array(0x586), 0x587 => array(0x565, 0x582), 0x675 => array(0x627, 0x674),
  1754.                     0x676 => array(0x648, 0x674), 0x677 => array(0x6C7, 0x674), 0x678 => array(0x64A, 0x674),
  1755.                     0x958 => array(0x915, 0x93C), 0x959 => array(0x916, 0x93C), 0x95A => array(0x917, 0x93C),
  1756.                     0x95B => array(0x91C, 0x93C), 0x95C => array(0x921, 0x93C), 0x95D => array(0x922, 0x93C),
  1757.                     0x95E => array(0x92B, 0x93C), 0x95F => array(0x92F, 0x93C), 0x9DC => array(0x9A1, 0x9BC),
  1758.                     0x9DD => array(0x9A2, 0x9BC), 0x9DF => array(0x9AF, 0x9BC), 0xA33 => array(0xA32, 0xA3C),
  1759.                     0xA36 => array(0xA38, 0xA3C), 0xA59 => array(0xA16, 0xA3C), 0xA5A => array(0xA17, 0xA3C),
  1760.                     0xA5B => array(0xA1C, 0xA3C), 0xA5E => array(0xA2B, 0xA3C), 0xB5C => array(0xB21, 0xB3C),
  1761.                     0xB5D => array(0xB22, 0xB3C), 0xE33 => array(0xE4D, 0xE32), 0xEB3 => array(0xECD, 0xEB2),
  1762.                     0xEDC => array(0xEAB, 0xE99), 0xEDD => array(0xEAB, 0xEA1), 0xF0C => array(0xF0B),
  1763.                     0xF43 => array(0xF42, 0xFB7), 0xF4D => array(0xF4C, 0xFB7), 0xF52 => array(0xF51, 0xFB7),
  1764.                     0xF57 => array(0xF56, 0xFB7), 0xF5C => array(0xF5B, 0xFB7), 0xF69 => array(0xF40, 0xFB5),
  1765.                     0xF73 => array(0xF71, 0xF72), 0xF75 => array(0xF71, 0xF74), 0xF76 => array(0xFB2, 0xF80),
  1766.                     0xF77 => array(0xFB2, 0xF71, 0xF80), 0xF78 => array(0xFB3, 0xF80), 0xF79 => array(0xFB3, 0xF71, 0xF80),
  1767.                     0xF81 => array(0xF71, 0xF80), 0xF93 => array(0xF92, 0xFB7), 0xF9D => array(0xF9C, 0xFB7),
  1768.                     0xFA2 => array(0xFA1, 0xFB7), 0xFA7 => array(0xFA6, 0xFB7), 0xFAC => array(0xFAB, 0xFB7),
  1769.                     0xFB9 => array(0xF90, 0xFB5), 0x10C7 => array(0x2D27), 0x10CD => array(0x2D2D),
  1770.                     0x10FC => array(0x10DC), 0x1D2C => array(0x61), 0x1D2D => array(0xE6),
  1771.                     0x1D2E => array(0x62), 0x1D30 => array(0x64), 0x1D31 => array(0x65),
  1772.                     0x1D32 => array(0x1DD), 0x1D33 => array(0x67), 0x1D34 => array(0x68),
  1773.                     0x1D35 => array(0x69), 0x1D36 => array(0x6A), 0x1D37 => array(0x6B),
  1774.                     0x1D38 => array(0x6C), 0x1D39 => array(0x6D), 0x1D3A => array(0x6E),
  1775.                     0x1D3C => array(0x6F), 0x1D3D => array(0x223), 0x1D3E => array(0x70),
  1776.                     0x1D3F => array(0x72), 0x1D40 => array(0x74), 0x1D41 => array(0x75),
  1777.                     0x1D42 => array(0x77), 0x1D43 => array(0x61), 0x1D44 => array(0x250),
  1778.                     0x1D45 => array(0x251), 0x1D46 => array(0x1D02), 0x1D47 => array(0x62),
  1779.                     0x1D48 => array(0x64), 0x1D49 => array(0x65), 0x1D4A => array(0x259),
  1780.                     0x1D4B => array(0x25B), 0x1D4C => array(0x25C), 0x1D4D => array(0x67),
  1781.                     0x1D4F => array(0x6B), 0x1D50 => array(0x6D), 0x1D51 => array(0x14B),
  1782.                     0x1D52 => array(0x6F), 0x1D53 => array(0x254), 0x1D54 => array(0x1D16),
  1783.                     0x1D55 => array(0x1D17), 0x1D56 => array(0x70), 0x1D57 => array(0x74),
  1784.                     0x1D58 => array(0x75), 0x1D59 => array(0x1D1D), 0x1D5A => array(0x26F),
  1785.                     0x1D5B => array(0x76), 0x1D5C => array(0x1D25), 0x1D5D => array(0x3B2),
  1786.                     0x1D5E => array(0x3B3), 0x1D5F => array(0x3B4), 0x1D60 => array(0x3C6),
  1787.                     0x1D61 => array(0x3C7), 0x1D62 => array(0x69), 0x1D63 => array(0x72),
  1788.                     0x1D64 => array(0x75), 0x1D65 => array(0x76), 0x1D66 => array(0x3B2),
  1789.                     0x1D67 => array(0x3B3), 0x1D68 => array(0x3C1), 0x1D69 => array(0x3C6),
  1790.                     0x1D6A => array(0x3C7), 0x1D78 => array(0x43D), 0x1D9B => array(0x252),
  1791.                     0x1D9C => array(0x63), 0x1D9D => array(0x255), 0x1D9E => array(0xF0),
  1792.                     0x1D9F => array(0x25C), 0x1DA0 => array(0x66), 0x1DA1 => array(0x25F),
  1793.                     0x1DA2 => array(0x261), 0x1DA3 => array(0x265), 0x1DA4 => array(0x268),
  1794.                     0x1DA5 => array(0x269), 0x1DA6 => array(0x26A), 0x1DA7 => array(0x1D7B),
  1795.                     0x1DA8 => array(0x29D), 0x1DA9 => array(0x26D), 0x1DAA => array(0x1D85),
  1796.                     0x1DAB => array(0x29F), 0x1DAC => array(0x271), 0x1DAD => array(0x270),
  1797.                     0x1DAE => array(0x272), 0x1DAF => array(0x273), 0x1DB0 => array(0x274),
  1798.                     0x1DB1 => array(0x275), 0x1DB2 => array(0x278), 0x1DB3 => array(0x282),
  1799.                     0x1DB4 => array(0x283), 0x1DB5 => array(0x1AB), 0x1DB6 => array(0x289),
  1800.                     0x1DB7 => array(0x28A), 0x1DB8 => array(0x1D1C), 0x1DB9 => array(0x28B),
  1801.                     0x1DBA => array(0x28C), 0x1DBB => array(0x7A), 0x1DBC => array(0x290),
  1802.                     0x1DBD => array(0x291), 0x1DBE => array(0x292), 0x1DBF => array(0x3B8),
  1803.                     0x1E00 => array(0x1E01), 0x1E02 => array(0x1E03), 0x1E04 => array(0x1E05),
  1804.                     0x1E06 => array(0x1E07), 0x1E08 => array(0x1E09), 0x1E0A => array(0x1E0B),
  1805.                     0x1E0C => array(0x1E0D), 0x1E0E => array(0x1E0F), 0x1E10 => array(0x1E11),
  1806.                     0x1E12 => array(0x1E13), 0x1E14 => array(0x1E15), 0x1E16 => array(0x1E17),
  1807.                     0x1E18 => array(0x1E19), 0x1E1A => array(0x1E1B), 0x1E1C => array(0x1E1D),
  1808.                     0x1E1E => array(0x1E1F), 0x1E20 => array(0x1E21), 0x1E22 => array(0x1E23),
  1809.                     0x1E24 => array(0x1E25), 0x1E26 => array(0x1E27), 0x1E28 => array(0x1E29),
  1810.                     0x1E2A => array(0x1E2B), 0x1E2C => array(0x1E2D), 0x1E2E => array(0x1E2F),
  1811.                     0x1E30 => array(0x1E31), 0x1E32 => array(0x1E33), 0x1E34 => array(0x1E35),
  1812.                     0x1E36 => array(0x1E37), 0x1E38 => array(0x1E39), 0x1E3A => array(0x1E3B),
  1813.                     0x1E3C => array(0x1E3D), 0x1E3E => array(0x1E3F), 0x1E40 => array(0x1E41),
  1814.                     0x1E42 => array(0x1E43), 0x1E44 => array(0x1E45), 0x1E46 => array(0x1E47),
  1815.                     0x1E48 => array(0x1E49), 0x1E4A => array(0x1E4B), 0x1E4C => array(0x1E4D),
  1816.                     0x1E4E => array(0x1E4F), 0x1E50 => array(0x1E51), 0x1E52 => array(0x1E53),
  1817.                     0x1E54 => array(0x1E55), 0x1E56 => array(0x1E57), 0x1E58 => array(0x1E59),
  1818.                     0x1E5A => array(0x1E5B), 0x1E5C => array(0x1E5D), 0x1E5E => array(0x1E5F),
  1819.                     0x1E60 => array(0x1E61), 0x1E62 => array(0x1E63), 0x1E64 => array(0x1E65),
  1820.                     0x1E66 => array(0x1E67), 0x1E68 => array(0x1E69), 0x1E6A => array(0x1E6B),
  1821.                     0x1E6C => array(0x1E6D), 0x1E6E => array(0x1E6F), 0x1E70 => array(0x1E71),
  1822.                     0x1E72 => array(0x1E73), 0x1E74 => array(0x1E75), 0x1E76 => array(0x1E77),
  1823.                     0x1E78 => array(0x1E79), 0x1E7A => array(0x1E7B), 0x1E7C => array(0x1E7D),
  1824.                     0x1E7E => array(0x1E7F), 0x1E80 => array(0x1E81), 0x1E82 => array(0x1E83),
  1825.                     0x1E84 => array(0x1E85), 0x1E86 => array(0x1E87), 0x1E88 => array(0x1E89),
  1826.                     0x1E8A => array(0x1E8B), 0x1E8C => array(0x1E8D), 0x1E8E => array(0x1E8F),
  1827.                     0x1E90 => array(0x1E91), 0x1E92 => array(0x1E93), 0x1E94 => array(0x1E95),
  1828.                     0x1E9A => array(0x61, 0x2BE), 0x1E9B => array(0x1E61), 0x1E9E => array(0x73, 0x73),
  1829.                     0x1EA0 => array(0x1EA1), 0x1EA2 => array(0x1EA3), 0x1EA4 => array(0x1EA5),
  1830.                     0x1EA6 => array(0x1EA7), 0x1EA8 => array(0x1EA9), 0x1EAA => array(0x1EAB),
  1831.                     0x1EAC => array(0x1EAD), 0x1EAE => array(0x1EAF), 0x1EB0 => array(0x1EB1),
  1832.                     0x1EB2 => array(0x1EB3), 0x1EB4 => array(0x1EB5), 0x1EB6 => array(0x1EB7),
  1833.                     0x1EB8 => array(0x1EB9), 0x1EBA => array(0x1EBB), 0x1EBC => array(0x1EBD),
  1834.                     0x1EBE => array(0x1EBF), 0x1EC0 => array(0x1EC1), 0x1EC2 => array(0x1EC3),
  1835.                     0x1EC4 => array(0x1EC5), 0x1EC6 => array(0x1EC7), 0x1EC8 => array(0x1EC9),
  1836.                     0x1ECA => array(0x1ECB), 0x1ECC => array(0x1ECD), 0x1ECE => array(0x1ECF),
  1837.                     0x1ED0 => array(0x1ED1), 0x1ED2 => array(0x1ED3), 0x1ED4 => array(0x1ED5),
  1838.                     0x1ED6 => array(0x1ED7), 0x1ED8 => array(0x1ED9), 0x1EDA => array(0x1EDB),
  1839.                     0x1EDC => array(0x1EDD), 0x1EDE => array(0x1EDF), 0x1EE0 => array(0x1EE1),
  1840.                     0x1EE2 => array(0x1EE3), 0x1EE4 => array(0x1EE5), 0x1EE6 => array(0x1EE7),
  1841.                     0x1EE8 => array(0x1EE9), 0x1EEA => array(0x1EEB), 0x1EEC => array(0x1EED),
  1842.                     0x1EEE => array(0x1EEF), 0x1EF0 => array(0x1EF1), 0x1EF2 => array(0x1EF3),
  1843.                     0x1EF4 => array(0x1EF5), 0x1EF6 => array(0x1EF7), 0x1EF8 => array(0x1EF9),
  1844.                     0x1EFA => array(0x1EFB), 0x1EFC => array(0x1EFD), 0x1EFE => array(0x1EFF),
  1845.                     0x1F08 => array(0x1F00), 0x1F09 => array(0x1F01), 0x1F0A => array(0x1F02),
  1846.                     0x1F0B => array(0x1F03), 0x1F0C => array(0x1F04), 0x1F0D => array(0x1F05),
  1847.                     0x1F0E => array(0x1F06), 0x1F0F => array(0x1F07), 0x1F18 => array(0x1F10),
  1848.                     0x1F19 => array(0x1F11), 0x1F1A => array(0x1F12), 0x1F1B => array(0x1F13),
  1849.                     0x1F1C => array(0x1F14), 0x1F1D => array(0x1F15), 0x1F28 => array(0x1F20),
  1850.                     0x1F29 => array(0x1F21), 0x1F2A => array(0x1F22), 0x1F2B => array(0x1F23),
  1851.                     0x1F2C => array(0x1F24), 0x1F2D => array(0x1F25), 0x1F2E => array(0x1F26),
  1852.                     0x1F2F => array(0x1F27), 0x1F38 => array(0x1F30), 0x1F39 => array(0x1F31),
  1853.                     0x1F3A => array(0x1F32), 0x1F3B => array(0x1F33), 0x1F3C => array(0x1F34),
  1854.                     0x1F3D => array(0x1F35), 0x1F3E => array(0x1F36), 0x1F3F => array(0x1F37),
  1855.                     0x1F48 => array(0x1F40), 0x1F49 => array(0x1F41), 0x1F4A => array(0x1F42),
  1856.                     0x1F4B => array(0x1F43), 0x1F4C => array(0x1F44), 0x1F4D => array(0x1F45),
  1857.                     0x1F59 => array(0x1F51), 0x1F5B => array(0x1F53), 0x1F5D => array(0x1F55),
  1858.                     0x1F5F => array(0x1F57), 0x1F68 => array(0x1F60), 0x1F69 => array(0x1F61),
  1859.                     0x1F6A => array(0x1F62), 0x1F6B => array(0x1F63), 0x1F6C => array(0x1F64),
  1860.                     0x1F6D => array(0x1F65), 0x1F6E => array(0x1F66), 0x1F6F => array(0x1F67),
  1861.                     0x1F71 => array(0x3AC), 0x1F73 => array(0x3AD), 0x1F75 => array(0x3AE),
  1862.                     0x1F77 => array(0x3AF), 0x1F79 => array(0x3CC), 0x1F7B => array(0x3CD),
  1863.                     0x1F7D => array(0x3CE), 0x1F80 => array(0x1F00, 0x3B9), 0x1F81 => array(0x1F01, 0x3B9),
  1864.                     0x1F82 => array(0x1F02, 0x3B9), 0x1F83 => array(0x1F03, 0x3B9), 0x1F84 => array(0x1F04, 0x3B9),
  1865.                     0x1F85 => array(0x1F05, 0x3B9), 0x1F86 => array(0x1F06, 0x3B9), 0x1F87 => array(0x1F07, 0x3B9),
  1866.                     0x1F88 => array(0x1F00, 0x3B9), 0x1F89 => array(0x1F01, 0x3B9), 0x1F8A => array(0x1F02, 0x3B9),
  1867.                     0x1F8B => array(0x1F03, 0x3B9), 0x1F8C => array(0x1F04, 0x3B9), 0x1F8D => array(0x1F05, 0x3B9),
  1868.                     0x1F8E => array(0x1F06, 0x3B9), 0x1F8F => array(0x1F07, 0x3B9), 0x1F90 => array(0x1F20, 0x3B9),
  1869.                     0x1F91 => array(0x1F21, 0x3B9), 0x1F92 => array(0x1F22, 0x3B9), 0x1F93 => array(0x1F23, 0x3B9),
  1870.                     0x1F94 => array(0x1F24, 0x3B9), 0x1F95 => array(0x1F25, 0x3B9), 0x1F96 => array(0x1F26, 0x3B9),
  1871.                     0x1F97 => array(0x1F27, 0x3B9), 0x1F98 => array(0x1F20, 0x3B9), 0x1F99 => array(0x1F21, 0x3B9),
  1872.                     0x1F9A => array(0x1F22, 0x3B9), 0x1F9B => array(0x1F23, 0x3B9), 0x1F9C => array(0x1F24, 0x3B9),
  1873.                     0x1F9D => array(0x1F25, 0x3B9), 0x1F9E => array(0x1F26, 0x3B9), 0x1F9F => array(0x1F27, 0x3B9),
  1874.                     0x1FA0 => array(0x1F60, 0x3B9), 0x1FA1 => array(0x1F61, 0x3B9), 0x1FA2 => array(0x1F62, 0x3B9),
  1875.                     0x1FA3 => array(0x1F63, 0x3B9), 0x1FA4 => array(0x1F64, 0x3B9), 0x1FA5 => array(0x1F65, 0x3B9),
  1876.                     0x1FA6 => array(0x1F66, 0x3B9), 0x1FA7 => array(0x1F67, 0x3B9), 0x1FA8 => array(0x1F60, 0x3B9),
  1877.                     0x1FA9 => array(0x1F61, 0x3B9), 0x1FAA => array(0x1F62, 0x3B9), 0x1FAB => array(0x1F63, 0x3B9),
  1878.                     0x1FAC => array(0x1F64, 0x3B9), 0x1FAD => array(0x1F65, 0x3B9), 0x1FAE => array(0x1F66, 0x3B9),
  1879.                     0x1FAF => array(0x1F67, 0x3B9), 0x1FB2 => array(0x1F70, 0x3B9), 0x1FB3 => array(0x3B1, 0x3B9),
  1880.                     0x1FB4 => array(0x3AC, 0x3B9), 0x1FB7 => array(0x1FB6, 0x3B9), 0x1FB8 => array(0x1FB0),
  1881.                     0x1FB9 => array(0x1FB1), 0x1FBA => array(0x1F70), 0x1FBB => array(0x3AC),
  1882.                     0x1FBC => array(0x3B1, 0x3B9), 0x1FBE => array(0x3B9), 0x1FC2 => array(0x1F74, 0x3B9),
  1883.                     0x1FC3 => array(0x3B7, 0x3B9), 0x1FC4 => array(0x3AE, 0x3B9), 0x1FC7 => array(0x1FC6, 0x3B9),
  1884.                     0x1FC8 => array(0x1F72), 0x1FC9 => array(0x3AD), 0x1FCA => array(0x1F74),
  1885.                     0x1FCB => array(0x3AE), 0x1FCC => array(0x3B7, 0x3B9), 0x1FD3 => array(0x390),
  1886.                     0x1FD8 => array(0x1FD0), 0x1FD9 => array(0x1FD1), 0x1FDA => array(0x1F76),
  1887.                     0x1FDB => array(0x3AF), 0x1FE3 => array(0x3B0), 0x1FE8 => array(0x1FE0),
  1888.                     0x1FE9 => array(0x1FE1), 0x1FEA => array(0x1F7A), 0x1FEB => array(0x3CD),
  1889.                     0x1FEC => array(0x1FE5), 0x1FF2 => array(0x1F7C, 0x3B9), 0x1FF3 => array(0x3C9, 0x3B9),
  1890.                     0x1FF4 => array(0x3CE, 0x3B9), 0x1FF7 => array(0x1FF6, 0x3B9), 0x1FF8 => array(0x1F78),
  1891.                     0x1FF9 => array(0x3CC), 0x1FFA => array(0x1F7C), 0x1FFB => array(0x3CE),
  1892.                     0x1FFC => array(0x3C9, 0x3B9), 0x2011 => array(0x2010), 0x2033 => array(0x2032, 0x2032),
  1893.                     0x2034 => array(0x2032, 0x2032, 0x2032), 0x2036 => array(0x2035, 0x2035), 0x2037 => array(0x2035, 0x2035, 0x2035),
  1894.                     0x2057 => array(0x2032, 0x2032, 0x2032, 0x2032), 0x2070 => array(0x30), 0x2071 => array(0x69),
  1895.                     0x2074 => array(0x34), 0x2075 => array(0x35), 0x2076 => array(0x36),
  1896.                     0x2077 => array(0x37), 0x2078 => array(0x38), 0x2079 => array(0x39),
  1897.                     0x207B => array(0x2212), 0x207F => array(0x6E), 0x2080 => array(0x30),
  1898.                     0x2081 => array(0x31), 0x2082 => array(0x32), 0x2083 => array(0x33),
  1899.                     0x2084 => array(0x34), 0x2085 => array(0x35), 0x2086 => array(0x36),
  1900.                     0x2087 => array(0x37), 0x2088 => array(0x38), 0x2089 => array(0x39),
  1901.                     0x208B => array(0x2212), 0x2090 => array(0x61), 0x2091 => array(0x65),
  1902.                     0x2092 => array(0x6F), 0x2093 => array(0x78), 0x2094 => array(0x259),
  1903.                     0x2095 => array(0x68), 0x2096 => array(0x6B), 0x2097 => array(0x6C),
  1904.                     0x2098 => array(0x6D), 0x2099 => array(0x6E), 0x209A => array(0x70),
  1905.                     0x209B => array(0x73), 0x209C => array(0x74), 0x20A8 => array(0x72, 0x73),
  1906.                     0x2102 => array(0x63), 0x2103 => array(0xB0, 0x63), 0x2107 => array(0x25B),
  1907.                     0x2109 => array(0xB0, 0x66), 0x210A => array(0x67), 0x210B => array(0x68),
  1908.                     0x210C => array(0x68), 0x210D => array(0x68), 0x210E => array(0x68),
  1909.                     0x210F => array(0x127), 0x2110 => array(0x69), 0x2111 => array(0x69),
  1910.                     0x2112 => array(0x6C), 0x2113 => array(0x6C), 0x2115 => array(0x6E),
  1911.                     0x2116 => array(0x6E, 0x6F), 0x2119 => array(0x70), 0x211A => array(0x71),
  1912.                     0x211B => array(0x72), 0x211C => array(0x72), 0x211D => array(0x72),
  1913.                     0x2120 => array(0x73, 0x6D), 0x2121 => array(0x74, 0x65, 0x6C), 0x2122 => array(0x74, 0x6D),
  1914.                     0x2124 => array(0x7A), 0x2126 => array(0x3C9), 0x2128 => array(0x7A),
  1915.                     0x212A => array(0x6B), 0x212B => array(0xE5), 0x212C => array(0x62),
  1916.                     0x212D => array(0x63), 0x212F => array(0x65), 0x2130 => array(0x65),
  1917.                     0x2131 => array(0x66), 0x2133 => array(0x6D), 0x2134 => array(0x6F),
  1918.                     0x2135 => array(0x5D0), 0x2136 => array(0x5D1), 0x2137 => array(0x5D2),
  1919.                     0x2138 => array(0x5D3), 0x2139 => array(0x69), 0x213B => array(0x66, 0x61, 0x78),
  1920.                     0x213C => array(0x3C0), 0x213D => array(0x3B3), 0x213E => array(0x3B3),
  1921.                     0x213F => array(0x3C0), 0x2140 => array(0x2211), 0x2145 => array(0x64),
  1922.                     0x2146 => array(0x64), 0x2147 => array(0x65), 0x2148 => array(0x69),
  1923.                     0x2149 => array(0x6A), 0x2150 => array(0x31, 0x2044, 0x37), 0x2151 => array(0x31, 0x2044, 0x39),
  1924.                     0x2152 => array(0x31, 0x2044, 0x31, 0x30), 0x2153 => array(0x31, 0x2044, 0x33), 0x2154 => array(0x32, 0x2044, 0x33),
  1925.                     0x2155 => array(0x31, 0x2044, 0x35), 0x2156 => array(0x32, 0x2044, 0x35), 0x2157 => array(0x33, 0x2044, 0x35),
  1926.                     0x2158 => array(0x34, 0x2044, 0x35), 0x2159 => array(0x31, 0x2044, 0x36), 0x215A => array(0x35, 0x2044, 0x36),
  1927.                     0x215B => array(0x31, 0x2044, 0x38), 0x215C => array(0x33, 0x2044, 0x38), 0x215D => array(0x35, 0x2044, 0x38),
  1928.                     0x215E => array(0x37, 0x2044, 0x38), 0x215F => array(0x31, 0x2044), 0x2160 => array(0x69),
  1929.                     0x2161 => array(0x69, 0x69), 0x2162 => array(0x69, 0x69, 0x69), 0x2163 => array(0x69, 0x76),
  1930.                     0x2164 => array(0x76), 0x2165 => array(0x76, 0x69), 0x2166 => array(0x76, 0x69, 0x69),
  1931.                     0x2167 => array(0x76, 0x69, 0x69, 0x69), 0x2168 => array(0x69, 0x78), 0x2169 => array(0x78),
  1932.                     0x216A => array(0x78, 0x69), 0x216B => array(0x78, 0x69, 0x69), 0x216C => array(0x6C),
  1933.                     0x216D => array(0x63), 0x216E => array(0x64), 0x216F => array(0x6D),
  1934.                     0x2170 => array(0x69), 0x2171 => array(0x69, 0x69), 0x2172 => array(0x69, 0x69, 0x69),
  1935.                     0x2173 => array(0x69, 0x76), 0x2174 => array(0x76), 0x2175 => array(0x76, 0x69),
  1936.                     0x2176 => array(0x76, 0x69, 0x69), 0x2177 => array(0x76, 0x69, 0x69, 0x69), 0x2178 => array(0x69, 0x78),
  1937.                     0x2179 => array(0x78), 0x217A => array(0x78, 0x69), 0x217B => array(0x78, 0x69, 0x69),
  1938.                     0x217C => array(0x6C), 0x217D => array(0x63), 0x217E => array(0x64),
  1939.                     0x217F => array(0x6D), 0x2189 => array(0x30, 0x2044, 0x33), 0x222C => array(0x222B, 0x222B),
  1940.                     0x222D => array(0x222B, 0x222B, 0x222B), 0x222F => array(0x222E, 0x222E), 0x2230 => array(0x222E, 0x222E, 0x222E),
  1941.                     0x2329 => array(0x3008), 0x232A => array(0x3009), 0x2460 => array(0x31),
  1942.                     0x2461 => array(0x32), 0x2462 => array(0x33), 0x2463 => array(0x34),
  1943.                     0x2464 => array(0x35), 0x2465 => array(0x36), 0x2466 => array(0x37),
  1944.                     0x2467 => array(0x38), 0x2468 => array(0x39), 0x2469 => array(0x31, 0x30),
  1945.                     0x246A => array(0x31, 0x31), 0x246B => array(0x31, 0x32), 0x246C => array(0x31, 0x33),
  1946.                     0x246D => array(0x31, 0x34), 0x246E => array(0x31, 0x35), 0x246F => array(0x31, 0x36),
  1947.                     0x2470 => array(0x31, 0x37), 0x2471 => array(0x31, 0x38), 0x2472 => array(0x31, 0x39),
  1948.                     0x2473 => array(0x32, 0x30), 0x24B6 => array(0x61), 0x24B7 => array(0x62),
  1949.                     0x24B8 => array(0x63), 0x24B9 => array(0x64), 0x24BA => array(0x65),
  1950.                     0x24BB => array(0x66), 0x24BC => array(0x67), 0x24BD => array(0x68),
  1951.                     0x24BE => array(0x69), 0x24BF => array(0x6A), 0x24C0 => array(0x6B),
  1952.                     0x24C1 => array(0x6C), 0x24C2 => array(0x6D), 0x24C3 => array(0x6E),
  1953.                     0x24C4 => array(0x6F), 0x24C5 => array(0x70), 0x24C6 => array(0x71),
  1954.                     0x24C7 => array(0x72), 0x24C8 => array(0x73), 0x24C9 => array(0x74),
  1955.                     0x24CA => array(0x75), 0x24CB => array(0x76), 0x24CC => array(0x77),
  1956.                     0x24CD => array(0x78), 0x24CE => array(0x79), 0x24CF => array(0x7A),
  1957.                     0x24D0 => array(0x61), 0x24D1 => array(0x62), 0x24D2 => array(0x63),
  1958.                     0x24D3 => array(0x64), 0x24D4 => array(0x65), 0x24D5 => array(0x66),
  1959.                     0x24D6 => array(0x67), 0x24D7 => array(0x68), 0x24D8 => array(0x69),
  1960.                     0x24D9 => array(0x6A), 0x24DA => array(0x6B), 0x24DB => array(0x6C),
  1961.                     0x24DC => array(0x6D), 0x24DD => array(0x6E), 0x24DE => array(0x6F),
  1962.                     0x24DF => array(0x70), 0x24E0 => array(0x71), 0x24E1 => array(0x72),
  1963.                     0x24E2 => array(0x73), 0x24E3 => array(0x74), 0x24E4 => array(0x75),
  1964.                     0x24E5 => array(0x76), 0x24E6 => array(0x77), 0x24E7 => array(0x78),
  1965.                     0x24E8 => array(0x79), 0x24E9 => array(0x7A), 0x24EA => array(0x30),
  1966.                     0x2A0C => array(0x222B, 0x222B, 0x222B, 0x222B), 0x2ADC => array(0x2ADD, 0x338), 0x2C00 => array(0x2C30),
  1967.                     0x2C01 => array(0x2C31), 0x2C02 => array(0x2C32), 0x2C03 => array(0x2C33),
  1968.                     0x2C04 => array(0x2C34), 0x2C05 => array(0x2C35), 0x2C06 => array(0x2C36),
  1969.                     0x2C07 => array(0x2C37), 0x2C08 => array(0x2C38), 0x2C09 => array(0x2C39),
  1970.                     0x2C0A => array(0x2C3A), 0x2C0B => array(0x2C3B), 0x2C0C => array(0x2C3C),
  1971.                     0x2C0D => array(0x2C3D), 0x2C0E => array(0x2C3E), 0x2C0F => array(0x2C3F),
  1972.                     0x2C10 => array(0x2C40), 0x2C11 => array(0x2C41), 0x2C12 => array(0x2C42),
  1973.                     0x2C13 => array(0x2C43), 0x2C14 => array(0x2C44), 0x2C15 => array(0x2C45),
  1974.                     0x2C16 => array(0x2C46), 0x2C17 => array(0x2C47), 0x2C18 => array(0x2C48),
  1975.                     0x2C19 => array(0x2C49), 0x2C1A => array(0x2C4A), 0x2C1B => array(0x2C4B),
  1976.                     0x2C1C => array(0x2C4C), 0x2C1D => array(0x2C4D), 0x2C1E => array(0x2C4E),
  1977.                     0x2C1F => array(0x2C4F), 0x2C20 => array(0x2C50), 0x2C21 => array(0x2C51),
  1978.                     0x2C22 => array(0x2C52), 0x2C23 => array(0x2C53), 0x2C24 => array(0x2C54),
  1979.                     0x2C25 => array(0x2C55), 0x2C26 => array(0x2C56), 0x2C27 => array(0x2C57),
  1980.                     0x2C28 => array(0x2C58), 0x2C29 => array(0x2C59), 0x2C2A => array(0x2C5A),
  1981.                     0x2C2B => array(0x2C5B), 0x2C2C => array(0x2C5C), 0x2C2D => array(0x2C5D),
  1982.                     0x2C2E => array(0x2C5E), 0x2C60 => array(0x2C61), 0x2C62 => array(0x26B),
  1983.                     0x2C63 => array(0x1D7D), 0x2C64 => array(0x27D), 0x2C67 => array(0x2C68),
  1984.                     0x2C69 => array(0x2C6A), 0x2C6B => array(0x2C6C), 0x2C6D => array(0x251),
  1985.                     0x2C6E => array(0x271), 0x2C6F => array(0x250), 0x2C70 => array(0x252),
  1986.                     0x2C72 => array(0x2C73), 0x2C75 => array(0x2C76), 0x2C7C => array(0x6A),
  1987.                     0x2C7D => array(0x76), 0x2C7E => array(0x23F), 0x2C7F => array(0x240),
  1988.                     0x2C80 => array(0x2C81), 0x2C82 => array(0x2C83), 0x2C84 => array(0x2C85),
  1989.                     0x2C86 => array(0x2C87), 0x2C88 => array(0x2C89), 0x2C8A => array(0x2C8B),
  1990.                     0x2C8C => array(0x2C8D), 0x2C8E => array(0x2C8F), 0x2C90 => array(0x2C91),
  1991.                     0x2C92 => array(0x2C93), 0x2C94 => array(0x2C95), 0x2C96 => array(0x2C97),
  1992.                     0x2C98 => array(0x2C99), 0x2C9A => array(0x2C9B), 0x2C9C => array(0x2C9D),
  1993.                     0x2C9E => array(0x2C9F), 0x2CA0 => array(0x2CA1), 0x2CA2 => array(0x2CA3),
  1994.                     0x2CA4 => array(0x2CA5), 0x2CA6 => array(0x2CA7), 0x2CA8 => array(0x2CA9),
  1995.                     0x2CAA => array(0x2CAB), 0x2CAC => array(0x2CAD), 0x2CAE => array(0x2CAF),
  1996.                     0x2CB0 => array(0x2CB1), 0x2CB2 => array(0x2CB3), 0x2CB4 => array(0x2CB5),
  1997.                     0x2CB6 => array(0x2CB7), 0x2CB8 => array(0x2CB9), 0x2CBA => array(0x2CBB),
  1998.                     0x2CBC => array(0x2CBD), 0x2CBE => array(0x2CBF), 0x2CC0 => array(0x2CC1),
  1999.                     0x2CC2 => array(0x2CC3), 0x2CC4 => array(0x2CC5), 0x2CC6 => array(0x2CC7),
  2000.                     0x2CC8 => array(0x2CC9), 0x2CCA => array(0x2CCB), 0x2CCC => array(0x2CCD),
  2001.                     0x2CCE => array(0x2CCF), 0x2CD0 => array(0x2CD1), 0x2CD2 => array(0x2CD3),
  2002.                     0x2CD4 => array(0x2CD5), 0x2CD6 => array(0x2CD7), 0x2CD8 => array(0x2CD9),
  2003.                     0x2CDA => array(0x2CDB), 0x2CDC => array(0x2CDD), 0x2CDE => array(0x2CDF),
  2004.                     0x2CE0 => array(0x2CE1), 0x2CE2 => array(0x2CE3), 0x2CEB => array(0x2CEC),
  2005.                     0x2CED => array(0x2CEE), 0x2CF2 => array(0x2CF3), 0x2D6F => array(0x2D61),
  2006.                     0x2E9F => array(0x6BCD), 0x2EF3 => array(0x9F9F), 0x2F00 => array(0x4E00),
  2007.                     0x2F01 => array(0x4E28), 0x2F02 => array(0x4E36), 0x2F03 => array(0x4E3F),
  2008.                     0x2F04 => array(0x4E59), 0x2F05 => array(0x4E85), 0x2F06 => array(0x4E8C),
  2009.                     0x2F07 => array(0x4EA0), 0x2F08 => array(0x4EBA), 0x2F09 => array(0x513F),
  2010.                     0x2F0A => array(0x5165), 0x2F0B => array(0x516B), 0x2F0C => array(0x5182),
  2011.                     0x2F0D => array(0x5196), 0x2F0E => array(0x51AB), 0x2F0F => array(0x51E0),
  2012.                     0x2F10 => array(0x51F5), 0x2F11 => array(0x5200), 0x2F12 => array(0x529B),
  2013.                     0x2F13 => array(0x52F9), 0x2F14 => array(0x5315), 0x2F15 => array(0x531A),
  2014.                     0x2F16 => array(0x5338), 0x2F17 => array(0x5341), 0x2F18 => array(0x535C),
  2015.                     0x2F19 => array(0x5369), 0x2F1A => array(0x5382), 0x2F1B => array(0x53B6),
  2016.                     0x2F1C => array(0x53C8), 0x2F1D => array(0x53E3), 0x2F1E => array(0x56D7),
  2017.                     0x2F1F => array(0x571F), 0x2F20 => array(0x58EB), 0x2F21 => array(0x5902),
  2018.                     0x2F22 => array(0x590A), 0x2F23 => array(0x5915), 0x2F24 => array(0x5927),
  2019.                     0x2F25 => array(0x5973), 0x2F26 => array(0x5B50), 0x2F27 => array(0x5B80),
  2020.                     0x2F28 => array(0x5BF8), 0x2F29 => array(0x5C0F), 0x2F2A => array(0x5C22),
  2021.                     0x2F2B => array(0x5C38), 0x2F2C => array(0x5C6E), 0x2F2D => array(0x5C71),
  2022.                     0x2F2E => array(0x5DDB), 0x2F2F => array(0x5DE5), 0x2F30 => array(0x5DF1),
  2023.                     0x2F31 => array(0x5DFE), 0x2F32 => array(0x5E72), 0x2F33 => array(0x5E7A),
  2024.                     0x2F34 => array(0x5E7F), 0x2F35 => array(0x5EF4), 0x2F36 => array(0x5EFE),
  2025.                     0x2F37 => array(0x5F0B), 0x2F38 => array(0x5F13), 0x2F39 => array(0x5F50),
  2026.                     0x2F3A => array(0x5F61), 0x2F3B => array(0x5F73), 0x2F3C => array(0x5FC3),
  2027.                     0x2F3D => array(0x6208), 0x2F3E => array(0x6236), 0x2F3F => array(0x624B),
  2028.                     0x2F40 => array(0x652F), 0x2F41 => array(0x6534), 0x2F42 => array(0x6587),
  2029.                     0x2F43 => array(0x6597), 0x2F44 => array(0x65A4), 0x2F45 => array(0x65B9),
  2030.                     0x2F46 => array(0x65E0), 0x2F47 => array(0x65E5), 0x2F48 => array(0x66F0),
  2031.                     0x2F49 => array(0x6708), 0x2F4A => array(0x6728), 0x2F4B => array(0x6B20),
  2032.                     0x2F4C => array(0x6B62), 0x2F4D => array(0x6B79), 0x2F4E => array(0x6BB3),
  2033.                     0x2F4F => array(0x6BCB), 0x2F50 => array(0x6BD4), 0x2F51 => array(0x6BDB),
  2034.                     0x2F52 => array(0x6C0F), 0x2F53 => array(0x6C14), 0x2F54 => array(0x6C34),
  2035.                     0x2F55 => array(0x706B), 0x2F56 => array(0x722A), 0x2F57 => array(0x7236),
  2036.                     0x2F58 => array(0x723B), 0x2F59 => array(0x723F), 0x2F5A => array(0x7247),
  2037.                     0x2F5B => array(0x7259), 0x2F5C => array(0x725B), 0x2F5D => array(0x72AC),
  2038.                     0x2F5E => array(0x7384), 0x2F5F => array(0x7389), 0x2F60 => array(0x74DC),
  2039.                     0x2F61 => array(0x74E6), 0x2F62 => array(0x7518), 0x2F63 => array(0x751F),
  2040.                     0x2F64 => array(0x7528), 0x2F65 => array(0x7530), 0x2F66 => array(0x758B),
  2041.                     0x2F67 => array(0x7592), 0x2F68 => array(0x7676), 0x2F69 => array(0x767D),
  2042.                     0x2F6A => array(0x76AE), 0x2F6B => array(0x76BF), 0x2F6C => array(0x76EE),
  2043.                     0x2F6D => array(0x77DB), 0x2F6E => array(0x77E2), 0x2F6F => array(0x77F3),
  2044.                     0x2F70 => array(0x793A), 0x2F71 => array(0x79B8), 0x2F72 => array(0x79BE),
  2045.                     0x2F73 => array(0x7A74), 0x2F74 => array(0x7ACB), 0x2F75 => array(0x7AF9),
  2046.                     0x2F76 => array(0x7C73), 0x2F77 => array(0x7CF8), 0x2F78 => array(0x7F36),
  2047.                     0x2F79 => array(0x7F51), 0x2F7A => array(0x7F8A), 0x2F7B => array(0x7FBD),
  2048.                     0x2F7C => array(0x8001), 0x2F7D => array(0x800C), 0x2F7E => array(0x8012),
  2049.                     0x2F7F => array(0x8033), 0x2F80 => array(0x807F), 0x2F81 => array(0x8089),
  2050.                     0x2F82 => array(0x81E3), 0x2F83 => array(0x81EA), 0x2F84 => array(0x81F3),
  2051.                     0x2F85 => array(0x81FC), 0x2F86 => array(0x820C), 0x2F87 => array(0x821B),
  2052.                     0x2F88 => array(0x821F), 0x2F89 => array(0x826E), 0x2F8A => array(0x8272),
  2053.                     0x2F8B => array(0x8278), 0x2F8C => array(0x864D), 0x2F8D => array(0x866B),
  2054.                     0x2F8E => array(0x8840), 0x2F8F => array(0x884C), 0x2F90 => array(0x8863),
  2055.                     0x2F91 => array(0x897E), 0x2F92 => array(0x898B), 0x2F93 => array(0x89D2),
  2056.                     0x2F94 => array(0x8A00), 0x2F95 => array(0x8C37), 0x2F96 => array(0x8C46),
  2057.                     0x2F97 => array(0x8C55), 0x2F98 => array(0x8C78), 0x2F99 => array(0x8C9D),
  2058.                     0x2F9A => array(0x8D64), 0x2F9B => array(0x8D70), 0x2F9C => array(0x8DB3),
  2059.                     0x2F9D => array(0x8EAB), 0x2F9E => array(0x8ECA), 0x2F9F => array(0x8F9B),
  2060.                     0x2FA0 => array(0x8FB0), 0x2FA1 => array(0x8FB5), 0x2FA2 => array(0x9091),
  2061.                     0x2FA3 => array(0x9149), 0x2FA4 => array(0x91C6), 0x2FA5 => array(0x91CC),
  2062.                     0x2FA6 => array(0x91D1), 0x2FA7 => array(0x9577), 0x2FA8 => array(0x9580),
  2063.                     0x2FA9 => array(0x961C), 0x2FAA => array(0x96B6), 0x2FAB => array(0x96B9),
  2064.                     0x2FAC => array(0x96E8), 0x2FAD => array(0x9751), 0x2FAE => array(0x975E),
  2065.                     0x2FAF => array(0x9762), 0x2FB0 => array(0x9769), 0x2FB1 => array(0x97CB),
  2066.                     0x2FB2 => array(0x97ED), 0x2FB3 => array(0x97F3), 0x2FB4 => array(0x9801),
  2067.                     0x2FB5 => array(0x98A8), 0x2FB6 => array(0x98DB), 0x2FB7 => array(0x98DF),
  2068.                     0x2FB8 => array(0x9996), 0x2FB9 => array(0x9999), 0x2FBA => array(0x99AC),
  2069.                     0x2FBB => array(0x9AA8), 0x2FBC => array(0x9AD8), 0x2FBD => array(0x9ADF),
  2070.                     0x2FBE => array(0x9B25), 0x2FBF => array(0x9B2F), 0x2FC0 => array(0x9B32),
  2071.                     0x2FC1 => array(0x9B3C), 0x2FC2 => array(0x9B5A), 0x2FC3 => array(0x9CE5),
  2072.                     0x2FC4 => array(0x9E75), 0x2FC5 => array(0x9E7F), 0x2FC6 => array(0x9EA5),
  2073.                     0x2FC7 => array(0x9EBB), 0x2FC8 => array(0x9EC3), 0x2FC9 => array(0x9ECD),
  2074.                     0x2FCA => array(0x9ED1), 0x2FCB => array(0x9EF9), 0x2FCC => array(0x9EFD),
  2075.                     0x2FCD => array(0x9F0E), 0x2FCE => array(0x9F13), 0x2FCF => array(0x9F20),
  2076.                     0x2FD0 => array(0x9F3B), 0x2FD1 => array(0x9F4A), 0x2FD2 => array(0x9F52),
  2077.                     0x2FD3 => array(0x9F8D), 0x2FD4 => array(0x9F9C), 0x2FD5 => array(0x9FA0),
  2078.                     0x3002 => array(0x2E), 0x3036 => array(0x3012), 0x3038 => array(0x5341),
  2079.                     0x3039 => array(0x5344), 0x303A => array(0x5345), 0x309F => array(0x3088, 0x308A),
  2080.                     0x30FF => array(0x30B3, 0x30C8), 0x3131 => array(0x1100), 0x3132 => array(0x1101),
  2081.                     0x3133 => array(0x11AA), 0x3134 => array(0x1102), 0x3135 => array(0x11AC),
  2082.                     0x3136 => array(0x11AD), 0x3137 => array(0x1103), 0x3138 => array(0x1104),
  2083.                     0x3139 => array(0x1105), 0x313A => array(0x11B0), 0x313B => array(0x11B1),
  2084.                     0x313C => array(0x11B2), 0x313D => array(0x11B3), 0x313E => array(0x11B4),
  2085.                     0x313F => array(0x11B5), 0x3140 => array(0x111A), 0x3141 => array(0x1106),
  2086.                     0x3142 => array(0x1107), 0x3143 => array(0x1108), 0x3144 => array(0x1121),
  2087.                     0x3145 => array(0x1109), 0x3146 => array(0x110A), 0x3147 => array(0x110B),
  2088.                     0x3148 => array(0x110C), 0x3149 => array(0x110D), 0x314A => array(0x110E),
  2089.                     0x314B => array(0x110F), 0x314C => array(0x1110), 0x314D => array(0x1111),
  2090.                     0x314E => array(0x1112), 0x314F => array(0x1161), 0x3150 => array(0x1162),
  2091.                     0x3151 => array(0x1163), 0x3152 => array(0x1164), 0x3153 => array(0x1165),
  2092.                     0x3154 => array(0x1166), 0x3155 => array(0x1167), 0x3156 => array(0x1168),
  2093.                     0x3157 => array(0x1169), 0x3158 => array(0x116A), 0x3159 => array(0x116B),
  2094.                     0x315A => array(0x116C), 0x315B => array(0x116D), 0x315C => array(0x116E),
  2095.                     0x315D => array(0x116F), 0x315E => array(0x1170), 0x315F => array(0x1171),
  2096.                     0x3160 => array(0x1172), 0x3161 => array(0x1173), 0x3162 => array(0x1174),
  2097.                     0x3163 => array(0x1175), 0x3165 => array(0x1114), 0x3166 => array(0x1115),
  2098.                     0x3167 => array(0x11C7), 0x3168 => array(0x11C8), 0x3169 => array(0x11CC),
  2099.                     0x316A => array(0x11CE), 0x316B => array(0x11D3), 0x316C => array(0x11D7),
  2100.                     0x316D => array(0x11D9), 0x316E => array(0x111C), 0x316F => array(0x11DD),
  2101.                     0x3170 => array(0x11DF), 0x3171 => array(0x111D), 0x3172 => array(0x111E),
  2102.                     0x3173 => array(0x1120), 0x3174 => array(0x1122), 0x3175 => array(0x1123),
  2103.                     0x3176 => array(0x1127), 0x3177 => array(0x1129), 0x3178 => array(0x112B),
  2104.                     0x3179 => array(0x112C), 0x317A => array(0x112D), 0x317B => array(0x112E),
  2105.                     0x317C => array(0x112F), 0x317D => array(0x1132), 0x317E => array(0x1136),
  2106.                     0x317F => array(0x1140), 0x3180 => array(0x1147), 0x3181 => array(0x114C),
  2107.                     0x3182 => array(0x11F1), 0x3183 => array(0x11F2), 0x3184 => array(0x1157),
  2108.                     0x3185 => array(0x1158), 0x3186 => array(0x1159), 0x3187 => array(0x1184),
  2109.                     0x3188 => array(0x1185), 0x3189 => array(0x1188), 0x318A => array(0x1191),
  2110.                     0x318B => array(0x1192), 0x318C => array(0x1194), 0x318D => array(0x119E),
  2111.                     0x318E => array(0x11A1), 0x3192 => array(0x4E00), 0x3193 => array(0x4E8C),
  2112.                     0x3194 => array(0x4E09), 0x3195 => array(0x56DB), 0x3196 => array(0x4E0A),
  2113.                     0x3197 => array(0x4E2D), 0x3198 => array(0x4E0B), 0x3199 => array(0x7532),
  2114.                     0x319A => array(0x4E59), 0x319B => array(0x4E19), 0x319C => array(0x4E01),
  2115.                     0x319D => array(0x5929), 0x319E => array(0x5730), 0x319F => array(0x4EBA),
  2116.                     0x3244 => array(0x554F), 0x3245 => array(0x5E7C), 0x3246 => array(0x6587),
  2117.                     0x3247 => array(0x7B8F), 0x3250 => array(0x70, 0x74, 0x65), 0x3251 => array(0x32, 0x31),
  2118.                     0x3252 => array(0x32, 0x32), 0x3253 => array(0x32, 0x33), 0x3254 => array(0x32, 0x34),
  2119.                     0x3255 => array(0x32, 0x35), 0x3256 => array(0x32, 0x36), 0x3257 => array(0x32, 0x37),
  2120.                     0x3258 => array(0x32, 0x38), 0x3259 => array(0x32, 0x39), 0x325A => array(0x33, 0x30),
  2121.                     0x325B => array(0x33, 0x31), 0x325C => array(0x33, 0x32), 0x325D => array(0x33, 0x33),
  2122.                     0x325E => array(0x33, 0x34), 0x325F => array(0x33, 0x35), 0x3260 => array(0x1100),
  2123.                     0x3261 => array(0x1102), 0x3262 => array(0x1103), 0x3263 => array(0x1105),
  2124.                     0x3264 => array(0x1106), 0x3265 => array(0x1107), 0x3266 => array(0x1109),
  2125.                     0x3267 => array(0x110B), 0x3268 => array(0x110C), 0x3269 => array(0x110E),
  2126.                     0x326A => array(0x110F), 0x326B => array(0x1110), 0x326C => array(0x1111),
  2127.                     0x326D => array(0x1112), 0x326E => array(0xAC00), 0x326F => array(0xB098),
  2128.                     0x3270 => array(0xB2E4), 0x3271 => array(0xB77C), 0x3272 => array(0xB9C8),
  2129.                     0x3273 => array(0xBC14), 0x3274 => array(0xC0AC), 0x3275 => array(0xC544),
  2130.                     0x3276 => array(0xC790), 0x3277 => array(0xCC28), 0x3278 => array(0xCE74),
  2131.                     0x3279 => array(0xD0C0), 0x327A => array(0xD30C), 0x327B => array(0xD558),
  2132.                     0x327C => array(0xCC38, 0xACE0), 0x327D => array(0xC8FC, 0xC758), 0x327E => array(0xC6B0),
  2133.                     0x3280 => array(0x4E00), 0x3281 => array(0x4E8C), 0x3282 => array(0x4E09),
  2134.                     0x3283 => array(0x56DB), 0x3284 => array(0x4E94), 0x3285 => array(0x516D),
  2135.                     0x3286 => array(0x4E03), 0x3287 => array(0x516B), 0x3288 => array(0x4E5D),
  2136.                     0x3289 => array(0x5341), 0x328A => array(0x6708), 0x328B => array(0x706B),
  2137.                     0x328C => array(0x6C34), 0x328D => array(0x6728), 0x328E => array(0x91D1),
  2138.                     0x328F => array(0x571F), 0x3290 => array(0x65E5), 0x3291 => array(0x682A),
  2139.                     0x3292 => array(0x6709), 0x3293 => array(0x793E), 0x3294 => array(0x540D),
  2140.                     0x3295 => array(0x7279), 0x3296 => array(0x8CA1), 0x3297 => array(0x795D),
  2141.                     0x3298 => array(0x52B4), 0x3299 => array(0x79D8), 0x329A => array(0x7537),
  2142.                     0x329B => array(0x5973), 0x329C => array(0x9069), 0x329D => array(0x512A),
  2143.                     0x329E => array(0x5370), 0x329F => array(0x6CE8), 0x32A0 => array(0x9805),
  2144.                     0x32A1 => array(0x4F11), 0x32A2 => array(0x5199), 0x32A3 => array(0x6B63),
  2145.                     0x32A4 => array(0x4E0A), 0x32A5 => array(0x4E2D), 0x32A6 => array(0x4E0B),
  2146.                     0x32A7 => array(0x5DE6), 0x32A8 => array(0x53F3), 0x32A9 => array(0x533B),
  2147.                     0x32AA => array(0x5B97), 0x32AB => array(0x5B66), 0x32AC => array(0x76E3),
  2148.                     0x32AD => array(0x4F01), 0x32AE => array(0x8CC7), 0x32AF => array(0x5354),
  2149.                     0x32B0 => array(0x591C), 0x32B1 => array(0x33, 0x36), 0x32B2 => array(0x33, 0x37),
  2150.                     0x32B3 => array(0x33, 0x38), 0x32B4 => array(0x33, 0x39), 0x32B5 => array(0x34, 0x30),
  2151.                     0x32B6 => array(0x34, 0x31), 0x32B7 => array(0x34, 0x32), 0x32B8 => array(0x34, 0x33),
  2152.                     0x32B9 => array(0x34, 0x34), 0x32BA => array(0x34, 0x35), 0x32BB => array(0x34, 0x36),
  2153.                     0x32BC => array(0x34, 0x37), 0x32BD => array(0x34, 0x38), 0x32BE => array(0x34, 0x39),
  2154.                     0x32BF => array(0x35, 0x30), 0x32C0 => array(0x31, 0x6708), 0x32C1 => array(0x32, 0x6708),
  2155.                     0x32C2 => array(0x33, 0x6708), 0x32C3 => array(0x34, 0x6708), 0x32C4 => array(0x35, 0x6708),
  2156.                     0x32C5 => array(0x36, 0x6708), 0x32C6 => array(0x37, 0x6708), 0x32C7 => array(0x38, 0x6708),
  2157.                     0x32C8 => array(0x39, 0x6708), 0x32C9 => array(0x31, 0x30, 0x6708), 0x32CA => array(0x31, 0x31, 0x6708),
  2158.                     0x32CB => array(0x31, 0x32, 0x6708), 0x32CC => array(0x68, 0x67), 0x32CD => array(0x65, 0x72, 0x67),
  2159.                     0x32CE => array(0x65, 0x76), 0x32CF => array(0x6C, 0x74, 0x64), 0x32D0 => array(0x30A2),
  2160.                     0x32D1 => array(0x30A4), 0x32D2 => array(0x30A6), 0x32D3 => array(0x30A8),
  2161.                     0x32D4 => array(0x30AA), 0x32D5 => array(0x30AB), 0x32D6 => array(0x30AD),
  2162.                     0x32D7 => array(0x30AF), 0x32D8 => array(0x30B1), 0x32D9 => array(0x30B3),
  2163.                     0x32DA => array(0x30B5), 0x32DB => array(0x30B7), 0x32DC => array(0x30B9),
  2164.                     0x32DD => array(0x30BB), 0x32DE => array(0x30BD), 0x32DF => array(0x30BF),
  2165.                     0x32E0 => array(0x30C1), 0x32E1 => array(0x30C4), 0x32E2 => array(0x30C6),
  2166.                     0x32E3 => array(0x30C8), 0x32E4 => array(0x30CA), 0x32E5 => array(0x30CB),
  2167.                     0x32E6 => array(0x30CC), 0x32E7 => array(0x30CD), 0x32E8 => array(0x30CE),
  2168.                     0x32E9 => array(0x30CF), 0x32EA => array(0x30D2), 0x32EB => array(0x30D5),
  2169.                     0x32EC => array(0x30D8), 0x32ED => array(0x30DB), 0x32EE => array(0x30DE),
  2170.                     0x32EF => array(0x30DF), 0x32F0 => array(0x30E0), 0x32F1 => array(0x30E1),
  2171.                     0x32F2 => array(0x30E2), 0x32F3 => array(0x30E4), 0x32F4 => array(0x30E6),
  2172.                     0x32F5 => array(0x30E8), 0x32F6 => array(0x30E9), 0x32F7 => array(0x30EA),
  2173.                     0x32F8 => array(0x30EB), 0x32F9 => array(0x30EC), 0x32FA => array(0x30ED),
  2174.                     0x32FB => array(0x30EF), 0x32FC => array(0x30F0), 0x32FD => array(0x30F1),
  2175.                     0x32FE => array(0x30F2), 0x3300 => array(0x30A2, 0x30D1, 0x30FC, 0x30C8), 0x3301 => array(0x30A2, 0x30EB, 0x30D5, 0x30A1),
  2176.                     0x3302 => array(0x30A2, 0x30F3, 0x30DA, 0x30A2), 0x3303 => array(0x30A2, 0x30FC, 0x30EB), 0x3304 => array(0x30A4, 0x30CB, 0x30F3, 0x30B0),
  2177.                     0x3305 => array(0x30A4, 0x30F3, 0x30C1), 0x3306 => array(0x30A6, 0x30A9, 0x30F3), 0x3307 => array(0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C9),
  2178.                     0x3308 => array(0x30A8, 0x30FC, 0x30AB, 0x30FC), 0x3309 => array(0x30AA, 0x30F3, 0x30B9), 0x330A => array(0x30AA, 0x30FC, 0x30E0),
  2179.                     0x330B => array(0x30AB, 0x30A4, 0x30EA), 0x330C => array(0x30AB, 0x30E9, 0x30C3, 0x30C8), 0x330D => array(0x30AB, 0x30ED, 0x30EA, 0x30FC),
  2180.                     0x330E => array(0x30AC, 0x30ED, 0x30F3), 0x330F => array(0x30AC, 0x30F3, 0x30DE), 0x3310 => array(0x30AE, 0x30AC),
  2181.                     0x3311 => array(0x30AE, 0x30CB, 0x30FC), 0x3312 => array(0x30AD, 0x30E5, 0x30EA, 0x30FC), 0x3313 => array(0x30AE, 0x30EB, 0x30C0, 0x30FC),
  2182.                     0x3314 => array(0x30AD, 0x30ED), 0x3315 => array(0x30AD, 0x30ED, 0x30B0, 0x30E9, 0x30E0), 0x3316 => array(0x30AD, 0x30ED, 0x30E1, 0x30FC, 0x30C8, 0x30EB),
  2183.                     0x3317 => array(0x30AD, 0x30ED, 0x30EF, 0x30C3, 0x30C8), 0x3318 => array(0x30B0, 0x30E9, 0x30E0), 0x3319 => array(0x30B0, 0x30E9, 0x30E0, 0x30C8, 0x30F3),
  2184.                     0x331A => array(0x30AF, 0x30EB, 0x30BC, 0x30A4, 0x30ED), 0x331B => array(0x30AF, 0x30ED, 0x30FC, 0x30CD), 0x331C => array(0x30B1, 0x30FC, 0x30B9),
  2185.                     0x331D => array(0x30B3, 0x30EB, 0x30CA), 0x331E => array(0x30B3, 0x30FC, 0x30DD), 0x331F => array(0x30B5, 0x30A4, 0x30AF, 0x30EB),
  2186.                     0x3320 => array(0x30B5, 0x30F3, 0x30C1, 0x30FC, 0x30E0), 0x3321 => array(0x30B7, 0x30EA, 0x30F3, 0x30B0), 0x3322 => array(0x30BB, 0x30F3, 0x30C1),
  2187.                     0x3323 => array(0x30BB, 0x30F3, 0x30C8), 0x3324 => array(0x30C0, 0x30FC, 0x30B9), 0x3325 => array(0x30C7, 0x30B7),
  2188.                     0x3326 => array(0x30C9, 0x30EB), 0x3327 => array(0x30C8, 0x30F3), 0x3328 => array(0x30CA, 0x30CE),
  2189.                     0x3329 => array(0x30CE, 0x30C3, 0x30C8), 0x332A => array(0x30CF, 0x30A4, 0x30C4), 0x332B => array(0x30D1, 0x30FC, 0x30BB, 0x30F3, 0x30C8),
  2190.                     0x332C => array(0x30D1, 0x30FC, 0x30C4), 0x332D => array(0x30D0, 0x30FC, 0x30EC, 0x30EB), 0x332E => array(0x30D4, 0x30A2, 0x30B9, 0x30C8, 0x30EB),
  2191.                     0x332F => array(0x30D4, 0x30AF, 0x30EB), 0x3330 => array(0x30D4, 0x30B3), 0x3331 => array(0x30D3, 0x30EB),
  2192.                     0x3332 => array(0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C9), 0x3333 => array(0x30D5, 0x30A3, 0x30FC, 0x30C8), 0x3334 => array(0x30D6, 0x30C3, 0x30B7, 0x30A7, 0x30EB),
  2193.                     0x3335 => array(0x30D5, 0x30E9, 0x30F3), 0x3336 => array(0x30D8, 0x30AF, 0x30BF, 0x30FC, 0x30EB), 0x3337 => array(0x30DA, 0x30BD),
  2194.                     0x3338 => array(0x30DA, 0x30CB, 0x30D2), 0x3339 => array(0x30D8, 0x30EB, 0x30C4), 0x333A => array(0x30DA, 0x30F3, 0x30B9),
  2195.                     0x333B => array(0x30DA, 0x30FC, 0x30B8), 0x333C => array(0x30D9, 0x30FC, 0x30BF), 0x333D => array(0x30DD, 0x30A4, 0x30F3, 0x30C8),
  2196.                     0x333E => array(0x30DC, 0x30EB, 0x30C8), 0x333F => array(0x30DB, 0x30F3), 0x3340 => array(0x30DD, 0x30F3, 0x30C9),
  2197.                     0x3341 => array(0x30DB, 0x30FC, 0x30EB), 0x3342 => array(0x30DB, 0x30FC, 0x30F3), 0x3343 => array(0x30DE, 0x30A4, 0x30AF, 0x30ED),
  2198.                     0x3344 => array(0x30DE, 0x30A4, 0x30EB), 0x3345 => array(0x30DE, 0x30C3, 0x30CF), 0x3346 => array(0x30DE, 0x30EB, 0x30AF),
  2199.                     0x3347 => array(0x30DE, 0x30F3, 0x30B7, 0x30E7, 0x30F3), 0x3348 => array(0x30DF, 0x30AF, 0x30ED, 0x30F3), 0x3349 => array(0x30DF, 0x30EA),
  2200.                     0x334A => array(0x30DF, 0x30EA, 0x30D0, 0x30FC, 0x30EB), 0x334B => array(0x30E1, 0x30AC), 0x334C => array(0x30E1, 0x30AC, 0x30C8, 0x30F3),
  2201.                     0x334D => array(0x30E1, 0x30FC, 0x30C8, 0x30EB), 0x334E => array(0x30E4, 0x30FC, 0x30C9), 0x334F => array(0x30E4, 0x30FC, 0x30EB),
  2202.                     0x3350 => array(0x30E6, 0x30A2, 0x30F3), 0x3351 => array(0x30EA, 0x30C3, 0x30C8, 0x30EB), 0x3352 => array(0x30EA, 0x30E9),
  2203.                     0x3353 => array(0x30EB, 0x30D4, 0x30FC), 0x3354 => array(0x30EB, 0x30FC, 0x30D6, 0x30EB), 0x3355 => array(0x30EC, 0x30E0),
  2204.                     0x3356 => array(0x30EC, 0x30F3, 0x30C8, 0x30B2, 0x30F3), 0x3357 => array(0x30EF, 0x30C3, 0x30C8), 0x3358 => array(0x30, 0x70B9),
  2205.                     0x3359 => array(0x31, 0x70B9), 0x335A => array(0x32, 0x70B9), 0x335B => array(0x33, 0x70B9),
  2206.                     0x335C => array(0x34, 0x70B9), 0x335D => array(0x35, 0x70B9), 0x335E => array(0x36, 0x70B9),
  2207.                     0x335F => array(0x37, 0x70B9), 0x3360 => array(0x38, 0x70B9), 0x3361 => array(0x39, 0x70B9),
  2208.                     0x3362 => array(0x31, 0x30, 0x70B9), 0x3363 => array(0x31, 0x31, 0x70B9), 0x3364 => array(0x31, 0x32, 0x70B9),
  2209.                     0x3365 => array(0x31, 0x33, 0x70B9), 0x3366 => array(0x31, 0x34, 0x70B9), 0x3367 => array(0x31, 0x35, 0x70B9),
  2210.                     0x3368 => array(0x31, 0x36, 0x70B9), 0x3369 => array(0x31, 0x37, 0x70B9), 0x336A => array(0x31, 0x38, 0x70B9),
  2211.                     0x336B => array(0x31, 0x39, 0x70B9), 0x336C => array(0x32, 0x30, 0x70B9), 0x336D => array(0x32, 0x31, 0x70B9),
  2212.                     0x336E => array(0x32, 0x32, 0x70B9), 0x336F => array(0x32, 0x33, 0x70B9), 0x3370 => array(0x32, 0x34, 0x70B9),
  2213.                     0x3371 => array(0x68, 0x70, 0x61), 0x3372 => array(0x64, 0x61), 0x3373 => array(0x61, 0x75),
  2214.                     0x3374 => array(0x62, 0x61, 0x72), 0x3375 => array(0x6F, 0x76), 0x3376 => array(0x70, 0x63),
  2215.                     0x3377 => array(0x64, 0x6D), 0x3378 => array(0x64, 0x6D, 0x32), 0x3379 => array(0x64, 0x6D, 0x33),
  2216.                     0x337A => array(0x69, 0x75), 0x337B => array(0x5E73, 0x6210), 0x337C => array(0x662D, 0x548C),
  2217.                     0x337D => array(0x5927, 0x6B63), 0x337E => array(0x660E, 0x6CBB), 0x337F => array(0x682A, 0x5F0F, 0x4F1A, 0x793E),
  2218.                     0x3380 => array(0x70, 0x61), 0x3381 => array(0x6E, 0x61), 0x3382 => array(0x3BC, 0x61),
  2219.                     0x3383 => array(0x6D, 0x61), 0x3384 => array(0x6B, 0x61), 0x3385 => array(0x6B, 0x62),
  2220.                     0x3386 => array(0x6D, 0x62), 0x3387 => array(0x67, 0x62), 0x3388 => array(0x63, 0x61, 0x6C),
  2221.                     0x3389 => array(0x6B, 0x63, 0x61, 0x6C), 0x338A => array(0x70, 0x66), 0x338B => array(0x6E, 0x66),
  2222.                     0x338C => array(0x3BC, 0x66), 0x338D => array(0x3BC, 0x67), 0x338E => array(0x6D, 0x67),
  2223.                     0x338F => array(0x6B, 0x67), 0x3390 => array(0x68, 0x7A), 0x3391 => array(0x6B, 0x68, 0x7A),
  2224.                     0x3392 => array(0x6D, 0x68, 0x7A), 0x3393 => array(0x67, 0x68, 0x7A), 0x3394 => array(0x74, 0x68, 0x7A),
  2225.                     0x3395 => array(0x3BC, 0x6C), 0x3396 => array(0x6D, 0x6C), 0x3397 => array(0x64, 0x6C),
  2226.                     0x3398 => array(0x6B, 0x6C), 0x3399 => array(0x66, 0x6D), 0x339A => array(0x6E, 0x6D),
  2227.                     0x339B => array(0x3BC, 0x6D), 0x339C => array(0x6D, 0x6D), 0x339D => array(0x63, 0x6D),
  2228.                     0x339E => array(0x6B, 0x6D), 0x339F => array(0x6D, 0x6D, 0x32), 0x33A0 => array(0x63, 0x6D, 0x32),
  2229.                     0x33A1 => array(0x6D, 0x32), 0x33A2 => array(0x6B, 0x6D, 0x32), 0x33A3 => array(0x6D, 0x6D, 0x33),
  2230.                     0x33A4 => array(0x63, 0x6D, 0x33), 0x33A5 => array(0x6D, 0x33), 0x33A6 => array(0x6B, 0x6D, 0x33),
  2231.                     0x33A7 => array(0x6D, 0x2215, 0x73), 0x33A8 => array(0x6D, 0x2215, 0x73, 0x32), 0x33A9 => array(0x70, 0x61),
  2232.                     0x33AA => array(0x6B, 0x70, 0x61), 0x33AB => array(0x6D, 0x70, 0x61), 0x33AC => array(0x67, 0x70, 0x61),
  2233.                     0x33AD => array(0x72, 0x61, 0x64), 0x33AE => array(0x72, 0x61, 0x64, 0x2215, 0x73), 0x33AF => array(0x72, 0x61, 0x64, 0x2215, 0x73, 0x32),
  2234.                     0x33B0 => array(0x70, 0x73), 0x33B1 => array(0x6E, 0x73), 0x33B2 => array(0x3BC, 0x73),
  2235.                     0x33B3 => array(0x6D, 0x73), 0x33B4 => array(0x70, 0x76), 0x33B5 => array(0x6E, 0x76),
  2236.                     0x33B6 => array(0x3BC, 0x76), 0x33B7 => array(0x6D, 0x76), 0x33B8 => array(0x6B, 0x76),
  2237.                     0x33B9 => array(0x6D, 0x76), 0x33BA => array(0x70, 0x77), 0x33BB => array(0x6E, 0x77),
  2238.                     0x33BC => array(0x3BC, 0x77), 0x33BD => array(0x6D, 0x77), 0x33BE => array(0x6B, 0x77),
  2239.                     0x33BF => array(0x6D, 0x77), 0x33C0 => array(0x6B, 0x3C9), 0x33C1 => array(0x6D, 0x3C9),
  2240.                     0x33C3 => array(0x62, 0x71), 0x33C4 => array(0x63, 0x63), 0x33C5 => array(0x63, 0x64),
  2241.                     0x33C6 => array(0x63, 0x2215, 0x6B, 0x67), 0x33C8 => array(0x64, 0x62), 0x33C9 => array(0x67, 0x79),
  2242.                     0x33CA => array(0x68, 0x61), 0x33CB => array(0x68, 0x70), 0x33CC => array(0x69, 0x6E),
  2243.                     0x33CD => array(0x6B, 0x6B), 0x33CE => array(0x6B, 0x6D), 0x33CF => array(0x6B, 0x74),
  2244.                     0x33D0 => array(0x6C, 0x6D), 0x33D1 => array(0x6C, 0x6E), 0x33D2 => array(0x6C, 0x6F, 0x67),
  2245.                     0x33D3 => array(0x6C, 0x78), 0x33D4 => array(0x6D, 0x62), 0x33D5 => array(0x6D, 0x69, 0x6C),
  2246.                     0x33D6 => array(0x6D, 0x6F, 0x6C), 0x33D7 => array(0x70, 0x68), 0x33D9 => array(0x70, 0x70, 0x6D),
  2247.                     0x33DA => array(0x70, 0x72), 0x33DB => array(0x73, 0x72), 0x33DC => array(0x73, 0x76),
  2248.                     0x33DD => array(0x77, 0x62), 0x33DE => array(0x76, 0x2215, 0x6D), 0x33DF => array(0x61, 0x2215, 0x6D),
  2249.                     0x33E0 => array(0x31, 0x65E5), 0x33E1 => array(0x32, 0x65E5), 0x33E2 => array(0x33, 0x65E5),
  2250.                     0x33E3 => array(0x34, 0x65E5), 0x33E4 => array(0x35, 0x65E5), 0x33E5 => array(0x36, 0x65E5),
  2251.                     0x33E6 => array(0x37, 0x65E5), 0x33E7 => array(0x38, 0x65E5), 0x33E8 => array(0x39, 0x65E5),
  2252.                     0x33E9 => array(0x31, 0x30, 0x65E5), 0x33EA => array(0x31, 0x31, 0x65E5), 0x33EB => array(0x31, 0x32, 0x65E5),
  2253.                     0x33EC => array(0x31, 0x33, 0x65E5), 0x33ED => array(0x31, 0x34, 0x65E5), 0x33EE => array(0x31, 0x35, 0x65E5),
  2254.                     0x33EF => array(0x31, 0x36, 0x65E5), 0x33F0 => array(0x31, 0x37, 0x65E5), 0x33F1 => array(0x31, 0x38, 0x65E5),
  2255.                     0x33F2 => array(0x31, 0x39, 0x65E5), 0x33F3 => array(0x32, 0x30, 0x65E5), 0x33F4 => array(0x32, 0x31, 0x65E5),
  2256.                     0x33F5 => array(0x32, 0x32, 0x65E5), 0x33F6 => array(0x32, 0x33, 0x65E5), 0x33F7 => array(0x32, 0x34, 0x65E5),
  2257.                     0x33F8 => array(0x32, 0x35, 0x65E5), 0x33F9 => array(0x32, 0x36, 0x65E5), 0x33FA => array(0x32, 0x37, 0x65E5),
  2258.                     0x33FB => array(0x32, 0x38, 0x65E5), 0x33FC => array(0x32, 0x39, 0x65E5), 0x33FD => array(0x33, 0x30, 0x65E5),
  2259.                     0x33FE => array(0x33, 0x31, 0x65E5), 0x33FF => array(0x67, 0x61, 0x6C), 0xA640 => array(0xA641),
  2260.                     0xA642 => array(0xA643), 0xA644 => array(0xA645), 0xA646 => array(0xA647),
  2261.                     0xA648 => array(0xA649), 0xA64A => array(0xA64B), 0xA64C => array(0xA64D),
  2262.                     0xA64E => array(0xA64F), 0xA650 => array(0xA651), 0xA652 => array(0xA653),
  2263.                     0xA654 => array(0xA655), 0xA656 => array(0xA657), 0xA658 => array(0xA659),
  2264.                     0xA65A => array(0xA65B), 0xA65C => array(0xA65D), 0xA65E => array(0xA65F),
  2265.                     0xA660 => array(0xA661), 0xA662 => array(0xA663), 0xA664 => array(0xA665),
  2266.                     0xA666 => array(0xA667), 0xA668 => array(0xA669), 0xA66A => array(0xA66B),
  2267.                     0xA66C => array(0xA66D), 0xA680 => array(0xA681), 0xA682 => array(0xA683),
  2268.                     0xA684 => array(0xA685), 0xA686 => array(0xA687), 0xA688 => array(0xA689),
  2269.                     0xA68A => array(0xA68B), 0xA68C => array(0xA68D), 0xA68E => array(0xA68F),
  2270.                     0xA690 => array(0xA691), 0xA692 => array(0xA693), 0xA694 => array(0xA695),
  2271.                     0xA696 => array(0xA697), 0xA698 => array(0xA699), 0xA69A => array(0xA69B),
  2272.                     0xA69C => array(0x44A), 0xA69D => array(0x44C), 0xA722 => array(0xA723),
  2273.                     0xA724 => array(0xA725), 0xA726 => array(0xA727), 0xA728 => array(0xA729),
  2274.                     0xA72A => array(0xA72B), 0xA72C => array(0xA72D), 0xA72E => array(0xA72F),
  2275.                     0xA732 => array(0xA733), 0xA734 => array(0xA735), 0xA736 => array(0xA737),
  2276.                     0xA738 => array(0xA739), 0xA73A => array(0xA73B), 0xA73C => array(0xA73D),
  2277.                     0xA73E => array(0xA73F), 0xA740 => array(0xA741), 0xA742 => array(0xA743),
  2278.                     0xA744 => array(0xA745), 0xA746 => array(0xA747), 0xA748 => array(0xA749),
  2279.                     0xA74A => array(0xA74B), 0xA74C => array(0xA74D), 0xA74E => array(0xA74F),
  2280.                     0xA750 => array(0xA751), 0xA752 => array(0xA753), 0xA754 => array(0xA755),
  2281.                     0xA756 => array(0xA757), 0xA758 => array(0xA759), 0xA75A => array(0xA75B),
  2282.                     0xA75C => array(0xA75D), 0xA75E => array(0xA75F), 0xA760 => array(0xA761),
  2283.                     0xA762 => array(0xA763), 0xA764 => array(0xA765), 0xA766 => array(0xA767),
  2284.                     0xA768 => array(0xA769), 0xA76A => array(0xA76B), 0xA76C => array(0xA76D),
  2285.                     0xA76E => array(0xA76F), 0xA770 => array(0xA76F), 0xA779 => array(0xA77A),
  2286.                     0xA77B => array(0xA77C), 0xA77D => array(0x1D79), 0xA77E => array(0xA77F),
  2287.                     0xA780 => array(0xA781), 0xA782 => array(0xA783), 0xA784 => array(0xA785),
  2288.                     0xA786 => array(0xA787), 0xA78B => array(0xA78C), 0xA78D => array(0x265),
  2289.                     0xA790 => array(0xA791), 0xA792 => array(0xA793), 0xA796 => array(0xA797),
  2290.                     0xA798 => array(0xA799), 0xA79A => array(0xA79B), 0xA79C => array(0xA79D),
  2291.                     0xA79E => array(0xA79F), 0xA7A0 => array(0xA7A1), 0xA7A2 => array(0xA7A3),
  2292.                     0xA7A4 => array(0xA7A5), 0xA7A6 => array(0xA7A7), 0xA7A8 => array(0xA7A9),
  2293.                     0xA7AA => array(0x266), 0xA7AB => array(0x25C), 0xA7AC => array(0x261),
  2294.                     0xA7AD => array(0x26C), 0xA7B0 => array(0x29E), 0xA7B1 => array(0x287),
  2295.                     0xA7F8 => array(0x127), 0xA7F9 => array(0x153), 0xAB5C => array(0xA727),
  2296.                     0xAB5D => array(0xAB37), 0xAB5E => array(0x26B), 0xAB5F => array(0xAB52),
  2297.                     0xF900 => array(0x8C48), 0xF901 => array(0x66F4), 0xF902 => array(0x8ECA),
  2298.                     0xF903 => array(0x8CC8), 0xF904 => array(0x6ED1), 0xF905 => array(0x4E32),
  2299.                     0xF906 => array(0x53E5), 0xF907 => array(0x9F9C), 0xF908 => array(0x9F9C),
  2300.                     0xF909 => array(0x5951), 0xF90A => array(0x91D1), 0xF90B => array(0x5587),
  2301.                     0xF90C => array(0x5948), 0xF90D => array(0x61F6), 0xF90E => array(0x7669),
  2302.                     0xF90F => array(0x7F85), 0xF910 => array(0x863F), 0xF911 => array(0x87BA),
  2303.                     0xF912 => array(0x88F8), 0xF913 => array(0x908F), 0xF914 => array(0x6A02),
  2304.                     0xF915 => array(0x6D1B), 0xF916 => array(0x70D9), 0xF917 => array(0x73DE),
  2305.                     0xF918 => array(0x843D), 0xF919 => array(0x916A), 0xF91A => array(0x99F1),
  2306.                     0xF91B => array(0x4E82), 0xF91C => array(0x5375), 0xF91D => array(0x6B04),
  2307.                     0xF91E => array(0x721B), 0xF91F => array(0x862D), 0xF920 => array(0x9E1E),
  2308.                     0xF921 => array(0x5D50), 0xF922 => array(0x6FEB), 0xF923 => array(0x85CD),
  2309.                     0xF924 => array(0x8964), 0xF925 => array(0x62C9), 0xF926 => array(0x81D8),
  2310.                     0xF927 => array(0x881F), 0xF928 => array(0x5ECA), 0xF929 => array(0x6717),
  2311.                     0xF92A => array(0x6D6A), 0xF92B => array(0x72FC), 0xF92C => array(0x90CE),
  2312.                     0xF92D => array(0x4F86), 0xF92E => array(0x51B7), 0xF92F => array(0x52DE),
  2313.                     0xF930 => array(0x64C4), 0xF931 => array(0x6AD3), 0xF932 => array(0x7210),
  2314.                     0xF933 => array(0x76E7), 0xF934 => array(0x8001), 0xF935 => array(0x8606),
  2315.                     0xF936 => array(0x865C), 0xF937 => array(0x8DEF), 0xF938 => array(0x9732),
  2316.                     0xF939 => array(0x9B6F), 0xF93A => array(0x9DFA), 0xF93B => array(0x788C),
  2317.                     0xF93C => array(0x797F), 0xF93D => array(0x7DA0), 0xF93E => array(0x83C9),
  2318.                     0xF93F => array(0x9304), 0xF940 => array(0x9E7F), 0xF941 => array(0x8AD6),
  2319.                     0xF942 => array(0x58DF), 0xF943 => array(0x5F04), 0xF944 => array(0x7C60),
  2320.                     0xF945 => array(0x807E), 0xF946 => array(0x7262), 0xF947 => array(0x78CA),
  2321.                     0xF948 => array(0x8CC2), 0xF949 => array(0x96F7), 0xF94A => array(0x58D8),
  2322.                     0xF94B => array(0x5C62), 0xF94C => array(0x6A13), 0xF94D => array(0x6DDA),
  2323.                     0xF94E => array(0x6F0F), 0xF94F => array(0x7D2F), 0xF950 => array(0x7E37),
  2324.                     0xF951 => array(0x964B), 0xF952 => array(0x52D2), 0xF953 => array(0x808B),
  2325.                     0xF954 => array(0x51DC), 0xF955 => array(0x51CC), 0xF956 => array(0x7A1C),
  2326.                     0xF957 => array(0x7DBE), 0xF958 => array(0x83F1), 0xF959 => array(0x9675),
  2327.                     0xF95A => array(0x8B80), 0xF95B => array(0x62CF), 0xF95C => array(0x6A02),
  2328.                     0xF95D => array(0x8AFE), 0xF95E => array(0x4E39), 0xF95F => array(0x5BE7),
  2329.                     0xF960 => array(0x6012), 0xF961 => array(0x7387), 0xF962 => array(0x7570),
  2330.                     0xF963 => array(0x5317), 0xF964 => array(0x78FB), 0xF965 => array(0x4FBF),
  2331.                     0xF966 => array(0x5FA9), 0xF967 => array(0x4E0D), 0xF968 => array(0x6CCC),
  2332.                     0xF969 => array(0x6578), 0xF96A => array(0x7D22), 0xF96B => array(0x53C3),
  2333.                     0xF96C => array(0x585E), 0xF96D => array(0x7701), 0xF96E => array(0x8449),
  2334.                     0xF96F => array(0x8AAA), 0xF970 => array(0x6BBA), 0xF971 => array(0x8FB0),
  2335.                     0xF972 => array(0x6C88), 0xF973 => array(0x62FE), 0xF974 => array(0x82E5),
  2336.                     0xF975 => array(0x63A0), 0xF976 => array(0x7565), 0xF977 => array(0x4EAE),
  2337.                     0xF978 => array(0x5169), 0xF979 => array(0x51C9), 0xF97A => array(0x6881),
  2338.                     0xF97B => array(0x7CE7), 0xF97C => array(0x826F), 0xF97D => array(0x8AD2),
  2339.                     0xF97E => array(0x91CF), 0xF97F => array(0x52F5), 0xF980 => array(0x5442),
  2340.                     0xF981 => array(0x5973), 0xF982 => array(0x5EEC), 0xF983 => array(0x65C5),
  2341.                     0xF984 => array(0x6FFE), 0xF985 => array(0x792A), 0xF986 => array(0x95AD),
  2342.                     0xF987 => array(0x9A6A), 0xF988 => array(0x9E97), 0xF989 => array(0x9ECE),
  2343.                     0xF98A => array(0x529B), 0xF98B => array(0x66C6), 0xF98C => array(0x6B77),
  2344.                     0xF98D => array(0x8F62), 0xF98E => array(0x5E74), 0xF98F => array(0x6190),
  2345.                     0xF990 => array(0x6200), 0xF991 => array(0x649A), 0xF992 => array(0x6F23),
  2346.                     0xF993 => array(0x7149), 0xF994 => array(0x7489), 0xF995 => array(0x79CA),
  2347.                     0xF996 => array(0x7DF4), 0xF997 => array(0x806F), 0xF998 => array(0x8F26),
  2348.                     0xF999 => array(0x84EE), 0xF99A => array(0x9023), 0xF99B => array(0x934A),
  2349.                     0xF99C => array(0x5217), 0xF99D => array(0x52A3), 0xF99E => array(0x54BD),
  2350.                     0xF99F => array(0x70C8), 0xF9A0 => array(0x88C2), 0xF9A1 => array(0x8AAA),
  2351.                     0xF9A2 => array(0x5EC9), 0xF9A3 => array(0x5FF5), 0xF9A4 => array(0x637B),
  2352.                     0xF9A5 => array(0x6BAE), 0xF9A6 => array(0x7C3E), 0xF9A7 => array(0x7375),
  2353.                     0xF9A8 => array(0x4EE4), 0xF9A9 => array(0x56F9), 0xF9AA => array(0x5BE7),
  2354.                     0xF9AB => array(0x5DBA), 0xF9AC => array(0x601C), 0xF9AD => array(0x73B2),
  2355.                     0xF9AE => array(0x7469), 0xF9AF => array(0x7F9A), 0xF9B0 => array(0x8046),
  2356.                     0xF9B1 => array(0x9234), 0xF9B2 => array(0x96F6), 0xF9B3 => array(0x9748),
  2357.                     0xF9B4 => array(0x9818), 0xF9B5 => array(0x4F8B), 0xF9B6 => array(0x79AE),
  2358.                     0xF9B7 => array(0x91B4), 0xF9B8 => array(0x96B8), 0xF9B9 => array(0x60E1),
  2359.                     0xF9BA => array(0x4E86), 0xF9BB => array(0x50DA), 0xF9BC => array(0x5BEE),
  2360.                     0xF9BD => array(0x5C3F), 0xF9BE => array(0x6599), 0xF9BF => array(0x6A02),
  2361.                     0xF9C0 => array(0x71CE), 0xF9C1 => array(0x7642), 0xF9C2 => array(0x84FC),
  2362.                     0xF9C3 => array(0x907C), 0xF9C4 => array(0x9F8D), 0xF9C5 => array(0x6688),
  2363.                     0xF9C6 => array(0x962E), 0xF9C7 => array(0x5289), 0xF9C8 => array(0x677B),
  2364.                     0xF9C9 => array(0x67F3), 0xF9CA => array(0x6D41), 0xF9CB => array(0x6E9C),
  2365.                     0xF9CC => array(0x7409), 0xF9CD => array(0x7559), 0xF9CE => array(0x786B),
  2366.                     0xF9CF => array(0x7D10), 0xF9D0 => array(0x985E), 0xF9D1 => array(0x516D),
  2367.                     0xF9D2 => array(0x622E), 0xF9D3 => array(0x9678), 0xF9D4 => array(0x502B),
  2368.                     0xF9D5 => array(0x5D19), 0xF9D6 => array(0x6DEA), 0xF9D7 => array(0x8F2A),
  2369.                     0xF9D8 => array(0x5F8B), 0xF9D9 => array(0x6144), 0xF9DA => array(0x6817),
  2370.                     0xF9DB => array(0x7387), 0xF9DC => array(0x9686), 0xF9DD => array(0x5229),
  2371.                     0xF9DE => array(0x540F), 0xF9DF => array(0x5C65), 0xF9E0 => array(0x6613),
  2372.                     0xF9E1 => array(0x674E), 0xF9E2 => array(0x68A8), 0xF9E3 => array(0x6CE5),
  2373.                     0xF9E4 => array(0x7406), 0xF9E5 => array(0x75E2), 0xF9E6 => array(0x7F79),
  2374.                     0xF9E7 => array(0x88CF), 0xF9E8 => array(0x88E1), 0xF9E9 => array(0x91CC),
  2375.                     0xF9EA => array(0x96E2), 0xF9EB => array(0x533F), 0xF9EC => array(0x6EBA),
  2376.                     0xF9ED => array(0x541D), 0xF9EE => array(0x71D0), 0xF9EF => array(0x7498),
  2377.                     0xF9F0 => array(0x85FA), 0xF9F1 => array(0x96A3), 0xF9F2 => array(0x9C57),
  2378.                     0xF9F3 => array(0x9E9F), 0xF9F4 => array(0x6797), 0xF9F5 => array(0x6DCB),
  2379.                     0xF9F6 => array(0x81E8), 0xF9F7 => array(0x7ACB), 0xF9F8 => array(0x7B20),
  2380.                     0xF9F9 => array(0x7C92), 0xF9FA => array(0x72C0), 0xF9FB => array(0x7099),
  2381.                     0xF9FC => array(0x8B58), 0xF9FD => array(0x4EC0), 0xF9FE => array(0x8336),
  2382.                     0xF9FF => array(0x523A), 0xFA00 => array(0x5207), 0xFA01 => array(0x5EA6),
  2383.                     0xFA02 => array(0x62D3), 0xFA03 => array(0x7CD6), 0xFA04 => array(0x5B85),
  2384.                     0xFA05 => array(0x6D1E), 0xFA06 => array(0x66B4), 0xFA07 => array(0x8F3B),
  2385.                     0xFA08 => array(0x884C), 0xFA09 => array(0x964D), 0xFA0A => array(0x898B),
  2386.                     0xFA0B => array(0x5ED3), 0xFA0C => array(0x5140), 0xFA0D => array(0x55C0),
  2387.                     0xFA10 => array(0x585A), 0xFA12 => array(0x6674), 0xFA15 => array(0x51DE),
  2388.                     0xFA16 => array(0x732A), 0xFA17 => array(0x76CA), 0xFA18 => array(0x793C),
  2389.                     0xFA19 => array(0x795E), 0xFA1A => array(0x7965), 0xFA1B => array(0x798F),
  2390.                     0xFA1C => array(0x9756), 0xFA1D => array(0x7CBE), 0xFA1E => array(0x7FBD),
  2391.                     0xFA20 => array(0x8612), 0xFA22 => array(0x8AF8), 0xFA25 => array(0x9038),
  2392.                     0xFA26 => array(0x90FD), 0xFA2A => array(0x98EF), 0xFA2B => array(0x98FC),
  2393.                     0xFA2C => array(0x9928), 0xFA2D => array(0x9DB4), 0xFA2E => array(0x90DE),
  2394.                     0xFA2F => array(0x96B7), 0xFA30 => array(0x4FAE), 0xFA31 => array(0x50E7),
  2395.                     0xFA32 => array(0x514D), 0xFA33 => array(0x52C9), 0xFA34 => array(0x52E4),
  2396.                     0xFA35 => array(0x5351), 0xFA36 => array(0x559D), 0xFA37 => array(0x5606),
  2397.                     0xFA38 => array(0x5668), 0xFA39 => array(0x5840), 0xFA3A => array(0x58A8),
  2398.                     0xFA3B => array(0x5C64), 0xFA3C => array(0x5C6E), 0xFA3D => array(0x6094),
  2399.                     0xFA3E => array(0x6168), 0xFA3F => array(0x618E), 0xFA40 => array(0x61F2),
  2400.                     0xFA41 => array(0x654F), 0xFA42 => array(0x65E2), 0xFA43 => array(0x6691),
  2401.                     0xFA44 => array(0x6885), 0xFA45 => array(0x6D77), 0xFA46 => array(0x6E1A),
  2402.                     0xFA47 => array(0x6F22), 0xFA48 => array(0x716E), 0xFA49 => array(0x722B),
  2403.                     0xFA4A => array(0x7422), 0xFA4B => array(0x7891), 0xFA4C => array(0x793E),
  2404.                     0xFA4D => array(0x7949), 0xFA4E => array(0x7948), 0xFA4F => array(0x7950),
  2405.                     0xFA50 => array(0x7956), 0xFA51 => array(0x795D), 0xFA52 => array(0x798D),
  2406.                     0xFA53 => array(0x798E), 0xFA54 => array(0x7A40), 0xFA55 => array(0x7A81),
  2407.                     0xFA56 => array(0x7BC0), 0xFA57 => array(0x7DF4), 0xFA58 => array(0x7E09),
  2408.                     0xFA59 => array(0x7E41), 0xFA5A => array(0x7F72), 0xFA5B => array(0x8005),
  2409.                     0xFA5C => array(0x81ED), 0xFA5D => array(0x8279), 0xFA5E => array(0x8279),
  2410.                     0xFA5F => array(0x8457), 0xFA60 => array(0x8910), 0xFA61 => array(0x8996),
  2411.                     0xFA62 => array(0x8B01), 0xFA63 => array(0x8B39), 0xFA64 => array(0x8CD3),
  2412.                     0xFA65 => array(0x8D08), 0xFA66 => array(0x8FB6), 0xFA67 => array(0x9038),
  2413.                     0xFA68 => array(0x96E3), 0xFA69 => array(0x97FF), 0xFA6A => array(0x983B),
  2414.                     0xFA6B => array(0x6075), 0xFA6C => array(0x242EE), 0xFA6D => array(0x8218),
  2415.                     0xFA70 => array(0x4E26), 0xFA71 => array(0x51B5), 0xFA72 => array(0x5168),
  2416.                     0xFA73 => array(0x4F80), 0xFA74 => array(0x5145), 0xFA75 => array(0x5180),
  2417.                     0xFA76 => array(0x52C7), 0xFA77 => array(0x52FA), 0xFA78 => array(0x559D),
  2418.                     0xFA79 => array(0x5555), 0xFA7A => array(0x5599), 0xFA7B => array(0x55E2),
  2419.                     0xFA7C => array(0x585A), 0xFA7D => array(0x58B3), 0xFA7E => array(0x5944),
  2420.                     0xFA7F => array(0x5954), 0xFA80 => array(0x5A62), 0xFA81 => array(0x5B28),
  2421.                     0xFA82 => array(0x5ED2), 0xFA83 => array(0x5ED9), 0xFA84 => array(0x5F69),
  2422.                     0xFA85 => array(0x5FAD), 0xFA86 => array(0x60D8), 0xFA87 => array(0x614E),
  2423.                     0xFA88 => array(0x6108), 0xFA89 => array(0x618E), 0xFA8A => array(0x6160),
  2424.                     0xFA8B => array(0x61F2), 0xFA8C => array(0x6234), 0xFA8D => array(0x63C4),
  2425.                     0xFA8E => array(0x641C), 0xFA8F => array(0x6452), 0xFA90 => array(0x6556),
  2426.                     0xFA91 => array(0x6674), 0xFA92 => array(0x6717), 0xFA93 => array(0x671B),
  2427.                     0xFA94 => array(0x6756), 0xFA95 => array(0x6B79), 0xFA96 => array(0x6BBA),
  2428.                     0xFA97 => array(0x6D41), 0xFA98 => array(0x6EDB), 0xFA99 => array(0x6ECB),
  2429.                     0xFA9A => array(0x6F22), 0xFA9B => array(0x701E), 0xFA9C => array(0x716E),
  2430.                     0xFA9D => array(0x77A7), 0xFA9E => array(0x7235), 0xFA9F => array(0x72AF),
  2431.                     0xFAA0 => array(0x732A), 0xFAA1 => array(0x7471), 0xFAA2 => array(0x7506),
  2432.                     0xFAA3 => array(0x753B), 0xFAA4 => array(0x761D), 0xFAA5 => array(0x761F),
  2433.                     0xFAA6 => array(0x76CA), 0xFAA7 => array(0x76DB), 0xFAA8 => array(0x76F4),
  2434.                     0xFAA9 => array(0x774A), 0xFAAA => array(0x7740), 0xFAAB => array(0x78CC),
  2435.                     0xFAAC => array(0x7AB1), 0xFAAD => array(0x7BC0), 0xFAAE => array(0x7C7B),
  2436.                     0xFAAF => array(0x7D5B), 0xFAB0 => array(0x7DF4), 0xFAB1 => array(0x7F3E),
  2437.                     0xFAB2 => array(0x8005), 0xFAB3 => array(0x8352), 0xFAB4 => array(0x83EF),
  2438.                     0xFAB5 => array(0x8779), 0xFAB6 => array(0x8941), 0xFAB7 => array(0x8986),
  2439.                     0xFAB8 => array(0x8996), 0xFAB9 => array(0x8ABF), 0xFABA => array(0x8AF8),
  2440.                     0xFABB => array(0x8ACB), 0xFABC => array(0x8B01), 0xFABD => array(0x8AFE),
  2441.                     0xFABE => array(0x8AED), 0xFABF => array(0x8B39), 0xFAC0 => array(0x8B8A),
  2442.                     0xFAC1 => array(0x8D08), 0xFAC2 => array(0x8F38), 0xFAC3 => array(0x9072),
  2443.                     0xFAC4 => array(0x9199), 0xFAC5 => array(0x9276), 0xFAC6 => array(0x967C),
  2444.                     0xFAC7 => array(0x96E3), 0xFAC8 => array(0x9756), 0xFAC9 => array(0x97DB),
  2445.                     0xFACA => array(0x97FF), 0xFACB => array(0x980B), 0xFACC => array(0x983B),
  2446.                     0xFACD => array(0x9B12), 0xFACE => array(0x9F9C), 0xFACF => array(0x2284A),
  2447.                     0xFAD0 => array(0x22844), 0xFAD1 => array(0x233D5), 0xFAD2 => array(0x3B9D),
  2448.                     0xFAD3 => array(0x4018), 0xFAD4 => array(0x4039), 0xFAD5 => array(0x25249),
  2449.                     0xFAD6 => array(0x25CD0), 0xFAD7 => array(0x27ED3), 0xFAD8 => array(0x9F43),
  2450.                     0xFAD9 => array(0x9F8E), 0xFB00 => array(0x66, 0x66), 0xFB01 => array(0x66, 0x69),
  2451.                     0xFB02 => array(0x66, 0x6C), 0xFB03 => array(0x66, 0x66, 0x69), 0xFB04 => array(0x66, 0x66, 0x6C),
  2452.                     0xFB05 => array(0x73, 0x74), 0xFB06 => array(0x73, 0x74), 0xFB13 => array(0x574, 0x576),
  2453.                     0xFB14 => array(0x574, 0x565), 0xFB15 => array(0x574, 0x56B), 0xFB16 => array(0x57E, 0x576),
  2454.                     0xFB17 => array(0x574, 0x56D), 0xFB1D => array(0x5D9, 0x5B4), 0xFB1F => array(0x5F2, 0x5B7),
  2455.                     0xFB20 => array(0x5E2), 0xFB21 => array(0x5D0), 0xFB22 => array(0x5D3),
  2456.                     0xFB23 => array(0x5D4), 0xFB24 => array(0x5DB), 0xFB25 => array(0x5DC),
  2457.                     0xFB26 => array(0x5DD), 0xFB27 => array(0x5E8), 0xFB28 => array(0x5EA),
  2458.                     0xFB2A => array(0x5E9, 0x5C1), 0xFB2B => array(0x5E9, 0x5C2), 0xFB2C => array(0x5E9, 0x5BC, 0x5C1),
  2459.                     0xFB2D => array(0x5E9, 0x5BC, 0x5C2), 0xFB2E => array(0x5D0, 0x5B7), 0xFB2F => array(0x5D0, 0x5B8),
  2460.                     0xFB30 => array(0x5D0, 0x5BC), 0xFB31 => array(0x5D1, 0x5BC), 0xFB32 => array(0x5D2, 0x5BC),
  2461.                     0xFB33 => array(0x5D3, 0x5BC), 0xFB34 => array(0x5D4, 0x5BC), 0xFB35 => array(0x5D5, 0x5BC),
  2462.                     0xFB36 => array(0x5D6, 0x5BC), 0xFB38 => array(0x5D8, 0x5BC), 0xFB39 => array(0x5D9, 0x5BC),
  2463.                     0xFB3A => array(0x5DA, 0x5BC), 0xFB3B => array(0x5DB, 0x5BC), 0xFB3C => array(0x5DC, 0x5BC),
  2464.                     0xFB3E => array(0x5DE, 0x5BC), 0xFB40 => array(0x5E0, 0x5BC), 0xFB41 => array(0x5E1, 0x5BC),
  2465.                     0xFB43 => array(0x5E3, 0x5BC), 0xFB44 => array(0x5E4, 0x5BC), 0xFB46 => array(0x5E6, 0x5BC),
  2466.                     0xFB47 => array(0x5E7, 0x5BC), 0xFB48 => array(0x5E8, 0x5BC), 0xFB49 => array(0x5E9, 0x5BC),
  2467.                     0xFB4A => array(0x5EA, 0x5BC), 0xFB4B => array(0x5D5, 0x5B9), 0xFB4C => array(0x5D1, 0x5BF),
  2468.                     0xFB4D => array(0x5DB, 0x5BF), 0xFB4E => array(0x5E4, 0x5BF), 0xFB4F => array(0x5D0, 0x5DC),
  2469.                     0xFB50 => array(0x671), 0xFB51 => array(0x671), 0xFB52 => array(0x67B),
  2470.                     0xFB53 => array(0x67B), 0xFB54 => array(0x67B), 0xFB55 => array(0x67B),
  2471.                     0xFB56 => array(0x67E), 0xFB57 => array(0x67E), 0xFB58 => array(0x67E),
  2472.                     0xFB59 => array(0x67E), 0xFB5A => array(0x680), 0xFB5B => array(0x680),
  2473.                     0xFB5C => array(0x680), 0xFB5D => array(0x680), 0xFB5E => array(0x67A),
  2474.                     0xFB5F => array(0x67A), 0xFB60 => array(0x67A), 0xFB61 => array(0x67A),
  2475.                     0xFB62 => array(0x67F), 0xFB63 => array(0x67F), 0xFB64 => array(0x67F),
  2476.                     0xFB65 => array(0x67F), 0xFB66 => array(0x679), 0xFB67 => array(0x679),
  2477.                     0xFB68 => array(0x679), 0xFB69 => array(0x679), 0xFB6A => array(0x6A4),
  2478.                     0xFB6B => array(0x6A4), 0xFB6C => array(0x6A4), 0xFB6D => array(0x6A4),
  2479.                     0xFB6E => array(0x6A6), 0xFB6F => array(0x6A6), 0xFB70 => array(0x6A6),
  2480.                     0xFB71 => array(0x6A6), 0xFB72 => array(0x684), 0xFB73 => array(0x684),
  2481.                     0xFB74 => array(0x684), 0xFB75 => array(0x684), 0xFB76 => array(0x683),
  2482.                     0xFB77 => array(0x683), 0xFB78 => array(0x683), 0xFB79 => array(0x683),
  2483.                     0xFB7A => array(0x686), 0xFB7B => array(0x686), 0xFB7C => array(0x686),
  2484.                     0xFB7D => array(0x686), 0xFB7E => array(0x687), 0xFB7F => array(0x687),
  2485.                     0xFB80 => array(0x687), 0xFB81 => array(0x687), 0xFB82 => array(0x68D),
  2486.                     0xFB83 => array(0x68D), 0xFB84 => array(0x68C), 0xFB85 => array(0x68C),
  2487.                     0xFB86 => array(0x68E), 0xFB87 => array(0x68E), 0xFB88 => array(0x688),
  2488.                     0xFB89 => array(0x688), 0xFB8A => array(0x698), 0xFB8B => array(0x698),
  2489.                     0xFB8C => array(0x691), 0xFB8D => array(0x691), 0xFB8E => array(0x6A9),
  2490.                     0xFB8F => array(0x6A9), 0xFB90 => array(0x6A9), 0xFB91 => array(0x6A9),
  2491.                     0xFB92 => array(0x6AF), 0xFB93 => array(0x6AF), 0xFB94 => array(0x6AF),
  2492.                     0xFB95 => array(0x6AF), 0xFB96 => array(0x6B3), 0xFB97 => array(0x6B3),
  2493.                     0xFB98 => array(0x6B3), 0xFB99 => array(0x6B3), 0xFB9A => array(0x6B1),
  2494.                     0xFB9B => array(0x6B1), 0xFB9C => array(0x6B1), 0xFB9D => array(0x6B1),
  2495.                     0xFB9E => array(0x6BA), 0xFB9F => array(0x6BA), 0xFBA0 => array(0x6BB),
  2496.                     0xFBA1 => array(0x6BB), 0xFBA2 => array(0x6BB), 0xFBA3 => array(0x6BB),
  2497.                     0xFBA4 => array(0x6C0), 0xFBA5 => array(0x6C0), 0xFBA6 => array(0x6C1),
  2498.                     0xFBA7 => array(0x6C1), 0xFBA8 => array(0x6C1), 0xFBA9 => array(0x6C1),
  2499.                     0xFBAA => array(0x6BE), 0xFBAB => array(0x6BE), 0xFBAC => array(0x6BE),
  2500.                     0xFBAD => array(0x6BE), 0xFBAE => array(0x6D2), 0xFBAF => array(0x6D2),
  2501.                     0xFBB0 => array(0x6D3), 0xFBB1 => array(0x6D3), 0xFBD3 => array(0x6AD),
  2502.                     0xFBD4 => array(0x6AD), 0xFBD5 => array(0x6AD), 0xFBD6 => array(0x6AD),
  2503.                     0xFBD7 => array(0x6C7), 0xFBD8 => array(0x6C7), 0xFBD9 => array(0x6C6),
  2504.                     0xFBDA => array(0x6C6), 0xFBDB => array(0x6C8), 0xFBDC => array(0x6C8),
  2505.                     0xFBDD => array(0x6C7, 0x674), 0xFBDE => array(0x6CB), 0xFBDF => array(0x6CB),
  2506.                     0xFBE0 => array(0x6C5), 0xFBE1 => array(0x6C5), 0xFBE2 => array(0x6C9),
  2507.                     0xFBE3 => array(0x6C9), 0xFBE4 => array(0x6D0), 0xFBE5 => array(0x6D0),
  2508.                     0xFBE6 => array(0x6D0), 0xFBE7 => array(0x6D0), 0xFBE8 => array(0x649),
  2509.                     0xFBE9 => array(0x649), 0xFBEA => array(0x626, 0x627), 0xFBEB => array(0x626, 0x627),
  2510.                     0xFBEC => array(0x626, 0x6D5), 0xFBED => array(0x626, 0x6D5), 0xFBEE => array(0x626, 0x648),
  2511.                     0xFBEF => array(0x626, 0x648), 0xFBF0 => array(0x626, 0x6C7), 0xFBF1 => array(0x626, 0x6C7),
  2512.                     0xFBF2 => array(0x626, 0x6C6), 0xFBF3 => array(0x626, 0x6C6), 0xFBF4 => array(0x626, 0x6C8),
  2513.                     0xFBF5 => array(0x626, 0x6C8), 0xFBF6 => array(0x626, 0x6D0), 0xFBF7 => array(0x626, 0x6D0),
  2514.                     0xFBF8 => array(0x626, 0x6D0), 0xFBF9 => array(0x626, 0x649), 0xFBFA => array(0x626, 0x649),
  2515.                     0xFBFB => array(0x626, 0x649), 0xFBFC => array(0x6CC), 0xFBFD => array(0x6CC),
  2516.                     0xFBFE => array(0x6CC), 0xFBFF => array(0x6CC), 0xFC00 => array(0x626, 0x62C),
  2517.                     0xFC01 => array(0x626, 0x62D), 0xFC02 => array(0x626, 0x645), 0xFC03 => array(0x626, 0x649),
  2518.                     0xFC04 => array(0x626, 0x64A), 0xFC05 => array(0x628, 0x62C), 0xFC06 => array(0x628, 0x62D),
  2519.                     0xFC07 => array(0x628, 0x62E), 0xFC08 => array(0x628, 0x645), 0xFC09 => array(0x628, 0x649),
  2520.                     0xFC0A => array(0x628, 0x64A), 0xFC0B => array(0x62A, 0x62C), 0xFC0C => array(0x62A, 0x62D),
  2521.                     0xFC0D => array(0x62A, 0x62E), 0xFC0E => array(0x62A, 0x645), 0xFC0F => array(0x62A, 0x649),
  2522.                     0xFC10 => array(0x62A, 0x64A), 0xFC11 => array(0x62B, 0x62C), 0xFC12 => array(0x62B, 0x645),
  2523.                     0xFC13 => array(0x62B, 0x649), 0xFC14 => array(0x62B, 0x64A), 0xFC15 => array(0x62C, 0x62D),
  2524.                     0xFC16 => array(0x62C, 0x645), 0xFC17 => array(0x62D, 0x62C), 0xFC18 => array(0x62D, 0x645),
  2525.                     0xFC19 => array(0x62E, 0x62C), 0xFC1A => array(0x62E, 0x62D), 0xFC1B => array(0x62E, 0x645),
  2526.                     0xFC1C => array(0x633, 0x62C), 0xFC1D => array(0x633, 0x62D), 0xFC1E => array(0x633, 0x62E),
  2527.                     0xFC1F => array(0x633, 0x645), 0xFC20 => array(0x635, 0x62D), 0xFC21 => array(0x635, 0x645),
  2528.                     0xFC22 => array(0x636, 0x62C), 0xFC23 => array(0x636, 0x62D), 0xFC24 => array(0x636, 0x62E),
  2529.                     0xFC25 => array(0x636, 0x645), 0xFC26 => array(0x637, 0x62D), 0xFC27 => array(0x637, 0x645),
  2530.                     0xFC28 => array(0x638, 0x645), 0xFC29 => array(0x639, 0x62C), 0xFC2A => array(0x639, 0x645),
  2531.                     0xFC2B => array(0x63A, 0x62C), 0xFC2C => array(0x63A, 0x645), 0xFC2D => array(0x641, 0x62C),
  2532.                     0xFC2E => array(0x641, 0x62D), 0xFC2F => array(0x641, 0x62E), 0xFC30 => array(0x641, 0x645),
  2533.                     0xFC31 => array(0x641, 0x649), 0xFC32 => array(0x641, 0x64A), 0xFC33 => array(0x642, 0x62D),
  2534.                     0xFC34 => array(0x642, 0x645), 0xFC35 => array(0x642, 0x649), 0xFC36 => array(0x642, 0x64A),
  2535.                     0xFC37 => array(0x643, 0x627), 0xFC38 => array(0x643, 0x62C), 0xFC39 => array(0x643, 0x62D),
  2536.                     0xFC3A => array(0x643, 0x62E), 0xFC3B => array(0x643, 0x644), 0xFC3C => array(0x643, 0x645),
  2537.                     0xFC3D => array(0x643, 0x649), 0xFC3E => array(0x643, 0x64A), 0xFC3F => array(0x644, 0x62C),
  2538.                     0xFC40 => array(0x644, 0x62D), 0xFC41 => array(0x644, 0x62E), 0xFC42 => array(0x644, 0x645),
  2539.                     0xFC43 => array(0x644, 0x649), 0xFC44 => array(0x644, 0x64A), 0xFC45 => array(0x645, 0x62C),
  2540.                     0xFC46 => array(0x645, 0x62D), 0xFC47 => array(0x645, 0x62E), 0xFC48 => array(0x645, 0x645),
  2541.                     0xFC49 => array(0x645, 0x649), 0xFC4A => array(0x645, 0x64A), 0xFC4B => array(0x646, 0x62C),
  2542.                     0xFC4C => array(0x646, 0x62D), 0xFC4D => array(0x646, 0x62E), 0xFC4E => array(0x646, 0x645),
  2543.                     0xFC4F => array(0x646, 0x649), 0xFC50 => array(0x646, 0x64A), 0xFC51 => array(0x647, 0x62C),
  2544.                     0xFC52 => array(0x647, 0x645), 0xFC53 => array(0x647, 0x649), 0xFC54 => array(0x647, 0x64A),
  2545.                     0xFC55 => array(0x64A, 0x62C), 0xFC56 => array(0x64A, 0x62D), 0xFC57 => array(0x64A, 0x62E),
  2546.                     0xFC58 => array(0x64A, 0x645), 0xFC59 => array(0x64A, 0x649), 0xFC5A => array(0x64A, 0x64A),
  2547.                     0xFC5B => array(0x630, 0x670), 0xFC5C => array(0x631, 0x670), 0xFC5D => array(0x649, 0x670),
  2548.                     0xFC64 => array(0x626, 0x631), 0xFC65 => array(0x626, 0x632), 0xFC66 => array(0x626, 0x645),
  2549.                     0xFC67 => array(0x626, 0x646), 0xFC68 => array(0x626, 0x649), 0xFC69 => array(0x626, 0x64A),
  2550.                     0xFC6A => array(0x628, 0x631), 0xFC6B => array(0x628, 0x632), 0xFC6C => array(0x628, 0x645),
  2551.                     0xFC6D => array(0x628, 0x646), 0xFC6E => array(0x628, 0x649), 0xFC6F => array(0x628, 0x64A),
  2552.                     0xFC70 => array(0x62A, 0x631), 0xFC71 => array(0x62A, 0x632), 0xFC72 => array(0x62A, 0x645),
  2553.                     0xFC73 => array(0x62A, 0x646), 0xFC74 => array(0x62A, 0x649), 0xFC75 => array(0x62A, 0x64A),
  2554.                     0xFC76 => array(0x62B, 0x631), 0xFC77 => array(0x62B, 0x632), 0xFC78 => array(0x62B, 0x645),
  2555.                     0xFC79 => array(0x62B, 0x646), 0xFC7A => array(0x62B, 0x649), 0xFC7B => array(0x62B, 0x64A),
  2556.                     0xFC7C => array(0x641, 0x649), 0xFC7D => array(0x641, 0x64A), 0xFC7E => array(0x642, 0x649),
  2557.                     0xFC7F => array(0x642, 0x64A), 0xFC80 => array(0x643, 0x627), 0xFC81 => array(0x643, 0x644),
  2558.                     0xFC82 => array(0x643, 0x645), 0xFC83 => array(0x643, 0x649), 0xFC84 => array(0x643, 0x64A),
  2559.                     0xFC85 => array(0x644, 0x645), 0xFC86 => array(0x644, 0x649), 0xFC87 => array(0x644, 0x64A),
  2560.                     0xFC88 => array(0x645, 0x627), 0xFC89 => array(0x645, 0x645), 0xFC8A => array(0x646, 0x631),
  2561.                     0xFC8B => array(0x646, 0x632), 0xFC8C => array(0x646, 0x645), 0xFC8D => array(0x646, 0x646),
  2562.                     0xFC8E => array(0x646, 0x649), 0xFC8F => array(0x646, 0x64A), 0xFC90 => array(0x649, 0x670),
  2563.                     0xFC91 => array(0x64A, 0x631), 0xFC92 => array(0x64A, 0x632), 0xFC93 => array(0x64A, 0x645),
  2564.                     0xFC94 => array(0x64A, 0x646), 0xFC95 => array(0x64A, 0x649), 0xFC96 => array(0x64A, 0x64A),
  2565.                     0xFC97 => array(0x626, 0x62C), 0xFC98 => array(0x626, 0x62D), 0xFC99 => array(0x626, 0x62E),
  2566.                     0xFC9A => array(0x626, 0x645), 0xFC9B => array(0x626, 0x647), 0xFC9C => array(0x628, 0x62C),
  2567.                     0xFC9D => array(0x628, 0x62D), 0xFC9E => array(0x628, 0x62E), 0xFC9F => array(0x628, 0x645),
  2568.                     0xFCA0 => array(0x628, 0x647), 0xFCA1 => array(0x62A, 0x62C), 0xFCA2 => array(0x62A, 0x62D),
  2569.                     0xFCA3 => array(0x62A, 0x62E), 0xFCA4 => array(0x62A, 0x645), 0xFCA5 => array(0x62A, 0x647),
  2570.                     0xFCA6 => array(0x62B, 0x645), 0xFCA7 => array(0x62C, 0x62D), 0xFCA8 => array(0x62C, 0x645),
  2571.                     0xFCA9 => array(0x62D, 0x62C), 0xFCAA => array(0x62D, 0x645), 0xFCAB => array(0x62E, 0x62C),
  2572.                     0xFCAC => array(0x62E, 0x645), 0xFCAD => array(0x633, 0x62C), 0xFCAE => array(0x633, 0x62D),
  2573.                     0xFCAF => array(0x633, 0x62E), 0xFCB0 => array(0x633, 0x645), 0xFCB1 => array(0x635, 0x62D),
  2574.                     0xFCB2 => array(0x635, 0x62E), 0xFCB3 => array(0x635, 0x645), 0xFCB4 => array(0x636, 0x62C),
  2575.                     0xFCB5 => array(0x636, 0x62D), 0xFCB6 => array(0x636, 0x62E), 0xFCB7 => array(0x636, 0x645),
  2576.                     0xFCB8 => array(0x637, 0x62D), 0xFCB9 => array(0x638, 0x645), 0xFCBA => array(0x639, 0x62C),
  2577.                     0xFCBB => array(0x639, 0x645), 0xFCBC => array(0x63A, 0x62C), 0xFCBD => array(0x63A, 0x645),
  2578.                     0xFCBE => array(0x641, 0x62C), 0xFCBF => array(0x641, 0x62D), 0xFCC0 => array(0x641, 0x62E),
  2579.                     0xFCC1 => array(0x641, 0x645), 0xFCC2 => array(0x642, 0x62D), 0xFCC3 => array(0x642, 0x645),
  2580.                     0xFCC4 => array(0x643, 0x62C), 0xFCC5 => array(0x643, 0x62D), 0xFCC6 => array(0x643, 0x62E),
  2581.                     0xFCC7 => array(0x643, 0x644), 0xFCC8 => array(0x643, 0x645), 0xFCC9 => array(0x644, 0x62C),
  2582.                     0xFCCA => array(0x644, 0x62D), 0xFCCB => array(0x644, 0x62E), 0xFCCC => array(0x644, 0x645),
  2583.                     0xFCCD => array(0x644, 0x647), 0xFCCE => array(0x645, 0x62C), 0xFCCF => array(0x645, 0x62D),
  2584.                     0xFCD0 => array(0x645, 0x62E), 0xFCD1 => array(0x645, 0x645), 0xFCD2 => array(0x646, 0x62C),
  2585.                     0xFCD3 => array(0x646, 0x62D), 0xFCD4 => array(0x646, 0x62E), 0xFCD5 => array(0x646, 0x645),
  2586.                     0xFCD6 => array(0x646, 0x647), 0xFCD7 => array(0x647, 0x62C), 0xFCD8 => array(0x647, 0x645),
  2587.                     0xFCD9 => array(0x647, 0x670), 0xFCDA => array(0x64A, 0x62C), 0xFCDB => array(0x64A, 0x62D),
  2588.                     0xFCDC => array(0x64A, 0x62E), 0xFCDD => array(0x64A, 0x645), 0xFCDE => array(0x64A, 0x647),
  2589.                     0xFCDF => array(0x626, 0x645), 0xFCE0 => array(0x626, 0x647), 0xFCE1 => array(0x628, 0x645),
  2590.                     0xFCE2 => array(0x628, 0x647), 0xFCE3 => array(0x62A, 0x645), 0xFCE4 => array(0x62A, 0x647),
  2591.                     0xFCE5 => array(0x62B, 0x645), 0xFCE6 => array(0x62B, 0x647), 0xFCE7 => array(0x633, 0x645),
  2592.                     0xFCE8 => array(0x633, 0x647), 0xFCE9 => array(0x634, 0x645), 0xFCEA => array(0x634, 0x647),
  2593.                     0xFCEB => array(0x643, 0x644), 0xFCEC => array(0x643, 0x645), 0xFCED => array(0x644, 0x645),
  2594.                     0xFCEE => array(0x646, 0x645), 0xFCEF => array(0x646, 0x647), 0xFCF0 => array(0x64A, 0x645),
  2595.                     0xFCF1 => array(0x64A, 0x647), 0xFCF2 => array(0x640, 0x64E, 0x651), 0xFCF3 => array(0x640, 0x64F, 0x651),
  2596.                     0xFCF4 => array(0x640, 0x650, 0x651), 0xFCF5 => array(0x637, 0x649), 0xFCF6 => array(0x637, 0x64A),
  2597.                     0xFCF7 => array(0x639, 0x649), 0xFCF8 => array(0x639, 0x64A), 0xFCF9 => array(0x63A, 0x649),
  2598.                     0xFCFA => array(0x63A, 0x64A), 0xFCFB => array(0x633, 0x649), 0xFCFC => array(0x633, 0x64A),
  2599.                     0xFCFD => array(0x634, 0x649), 0xFCFE => array(0x634, 0x64A), 0xFCFF => array(0x62D, 0x649),
  2600.                     0xFD00 => array(0x62D, 0x64A), 0xFD01 => array(0x62C, 0x649), 0xFD02 => array(0x62C, 0x64A),
  2601.                     0xFD03 => array(0x62E, 0x649), 0xFD04 => array(0x62E, 0x64A), 0xFD05 => array(0x635, 0x649),
  2602.                     0xFD06 => array(0x635, 0x64A), 0xFD07 => array(0x636, 0x649), 0xFD08 => array(0x636, 0x64A),
  2603.                     0xFD09 => array(0x634, 0x62C), 0xFD0A => array(0x634, 0x62D), 0xFD0B => array(0x634, 0x62E),
  2604.                     0xFD0C => array(0x634, 0x645), 0xFD0D => array(0x634, 0x631), 0xFD0E => array(0x633, 0x631),
  2605.                     0xFD0F => array(0x635, 0x631), 0xFD10 => array(0x636, 0x631), 0xFD11 => array(0x637, 0x649),
  2606.                     0xFD12 => array(0x637, 0x64A), 0xFD13 => array(0x639, 0x649), 0xFD14 => array(0x639, 0x64A),
  2607.                     0xFD15 => array(0x63A, 0x649), 0xFD16 => array(0x63A, 0x64A), 0xFD17 => array(0x633, 0x649),
  2608.                     0xFD18 => array(0x633, 0x64A), 0xFD19 => array(0x634, 0x649), 0xFD1A => array(0x634, 0x64A),
  2609.                     0xFD1B => array(0x62D, 0x649), 0xFD1C => array(0x62D, 0x64A), 0xFD1D => array(0x62C, 0x649),
  2610.                     0xFD1E => array(0x62C, 0x64A), 0xFD1F => array(0x62E, 0x649), 0xFD20 => array(0x62E, 0x64A),
  2611.                     0xFD21 => array(0x635, 0x649), 0xFD22 => array(0x635, 0x64A), 0xFD23 => array(0x636, 0x649),
  2612.                     0xFD24 => array(0x636, 0x64A), 0xFD25 => array(0x634, 0x62C), 0xFD26 => array(0x634, 0x62D),
  2613.                     0xFD27 => array(0x634, 0x62E), 0xFD28 => array(0x634, 0x645), 0xFD29 => array(0x634, 0x631),
  2614.                     0xFD2A => array(0x633, 0x631), 0xFD2B => array(0x635, 0x631), 0xFD2C => array(0x636, 0x631),
  2615.                     0xFD2D => array(0x634, 0x62C), 0xFD2E => array(0x634, 0x62D), 0xFD2F => array(0x634, 0x62E),
  2616.                     0xFD30 => array(0x634, 0x645), 0xFD31 => array(0x633, 0x647), 0xFD32 => array(0x634, 0x647),
  2617.                     0xFD33 => array(0x637, 0x645), 0xFD34 => array(0x633, 0x62C), 0xFD35 => array(0x633, 0x62D),
  2618.                     0xFD36 => array(0x633, 0x62E), 0xFD37 => array(0x634, 0x62C), 0xFD38 => array(0x634, 0x62D),
  2619.                     0xFD39 => array(0x634, 0x62E), 0xFD3A => array(0x637, 0x645), 0xFD3B => array(0x638, 0x645),
  2620.                     0xFD3C => array(0x627, 0x64B), 0xFD3D => array(0x627, 0x64B), 0xFD50 => array(0x62A, 0x62C, 0x645),
  2621.                     0xFD51 => array(0x62A, 0x62D, 0x62C), 0xFD52 => array(0x62A, 0x62D, 0x62C), 0xFD53 => array(0x62A, 0x62D, 0x645),
  2622.                     0xFD54 => array(0x62A, 0x62E, 0x645), 0xFD55 => array(0x62A, 0x645, 0x62C), 0xFD56 => array(0x62A, 0x645, 0x62D),
  2623.                     0xFD57 => array(0x62A, 0x645, 0x62E), 0xFD58 => array(0x62C, 0x645, 0x62D), 0xFD59 => array(0x62C, 0x645, 0x62D),
  2624.                     0xFD5A => array(0x62D, 0x645, 0x64A), 0xFD5B => array(0x62D, 0x645, 0x649), 0xFD5C => array(0x633, 0x62D, 0x62C),
  2625.                     0xFD5D => array(0x633, 0x62C, 0x62D), 0xFD5E => array(0x633, 0x62C, 0x649), 0xFD5F => array(0x633, 0x645, 0x62D),
  2626.                     0xFD60 => array(0x633, 0x645, 0x62D), 0xFD61 => array(0x633, 0x645, 0x62C), 0xFD62 => array(0x633, 0x645, 0x645),
  2627.                     0xFD63 => array(0x633, 0x645, 0x645), 0xFD64 => array(0x635, 0x62D, 0x62D), 0xFD65 => array(0x635, 0x62D, 0x62D),
  2628.                     0xFD66 => array(0x635, 0x645, 0x645), 0xFD67 => array(0x634, 0x62D, 0x645), 0xFD68 => array(0x634, 0x62D, 0x645),
  2629.                     0xFD69 => array(0x634, 0x62C, 0x64A), 0xFD6A => array(0x634, 0x645, 0x62E), 0xFD6B => array(0x634, 0x645, 0x62E),
  2630.                     0xFD6C => array(0x634, 0x645, 0x645), 0xFD6D => array(0x634, 0x645, 0x645), 0xFD6E => array(0x636, 0x62D, 0x649),
  2631.                     0xFD6F => array(0x636, 0x62E, 0x645), 0xFD70 => array(0x636, 0x62E, 0x645), 0xFD71 => array(0x637, 0x645, 0x62D),
  2632.                     0xFD72 => array(0x637, 0x645, 0x62D), 0xFD73 => array(0x637, 0x645, 0x645), 0xFD74 => array(0x637, 0x645, 0x64A),
  2633.                     0xFD75 => array(0x639, 0x62C, 0x645), 0xFD76 => array(0x639, 0x645, 0x645), 0xFD77 => array(0x639, 0x645, 0x645),
  2634.                     0xFD78 => array(0x639, 0x645, 0x649), 0xFD79 => array(0x63A, 0x645, 0x645), 0xFD7A => array(0x63A, 0x645, 0x64A),
  2635.                     0xFD7B => array(0x63A, 0x645, 0x649), 0xFD7C => array(0x641, 0x62E, 0x645), 0xFD7D => array(0x641, 0x62E, 0x645),
  2636.                     0xFD7E => array(0x642, 0x645, 0x62D), 0xFD7F => array(0x642, 0x645, 0x645), 0xFD80 => array(0x644, 0x62D, 0x645),
  2637.                     0xFD81 => array(0x644, 0x62D, 0x64A), 0xFD82 => array(0x644, 0x62D, 0x649), 0xFD83 => array(0x644, 0x62C, 0x62C),
  2638.                     0xFD84 => array(0x644, 0x62C, 0x62C), 0xFD85 => array(0x644, 0x62E, 0x645), 0xFD86 => array(0x644, 0x62E, 0x645),
  2639.                     0xFD87 => array(0x644, 0x645, 0x62D), 0xFD88 => array(0x644, 0x645, 0x62D), 0xFD89 => array(0x645, 0x62D, 0x62C),
  2640.                     0xFD8A => array(0x645, 0x62D, 0x645), 0xFD8B => array(0x645, 0x62D, 0x64A), 0xFD8C => array(0x645, 0x62C, 0x62D),
  2641.                     0xFD8D => array(0x645, 0x62C, 0x645), 0xFD8E => array(0x645, 0x62E, 0x62C), 0xFD8F => array(0x645, 0x62E, 0x645),
  2642.                     0xFD92 => array(0x645, 0x62C, 0x62E), 0xFD93 => array(0x647, 0x645, 0x62C), 0xFD94 => array(0x647, 0x645, 0x645),
  2643.                     0xFD95 => array(0x646, 0x62D, 0x645), 0xFD96 => array(0x646, 0x62D, 0x649), 0xFD97 => array(0x646, 0x62C, 0x645),
  2644.                     0xFD98 => array(0x646, 0x62C, 0x645), 0xFD99 => array(0x646, 0x62C, 0x649), 0xFD9A => array(0x646, 0x645, 0x64A),
  2645.                     0xFD9B => array(0x646, 0x645, 0x649), 0xFD9C => array(0x64A, 0x645, 0x645), 0xFD9D => array(0x64A, 0x645, 0x645),
  2646.                     0xFD9E => array(0x628, 0x62E, 0x64A), 0xFD9F => array(0x62A, 0x62C, 0x64A), 0xFDA0 => array(0x62A, 0x62C, 0x649),
  2647.                     0xFDA1 => array(0x62A, 0x62E, 0x64A), 0xFDA2 => array(0x62A, 0x62E, 0x649), 0xFDA3 => array(0x62A, 0x645, 0x64A),
  2648.                     0xFDA4 => array(0x62A, 0x645, 0x649), 0xFDA5 => array(0x62C, 0x645, 0x64A), 0xFDA6 => array(0x62C, 0x62D, 0x649),
  2649.                     0xFDA7 => array(0x62C, 0x645, 0x649), 0xFDA8 => array(0x633, 0x62E, 0x649), 0xFDA9 => array(0x635, 0x62D, 0x64A),
  2650.                     0xFDAA => array(0x634, 0x62D, 0x64A), 0xFDAB => array(0x636, 0x62D, 0x64A), 0xFDAC => array(0x644, 0x62C, 0x64A),
  2651.                     0xFDAD => array(0x644, 0x645, 0x64A), 0xFDAE => array(0x64A, 0x62D, 0x64A), 0xFDAF => array(0x64A, 0x62C, 0x64A),
  2652.                     0xFDB0 => array(0x64A, 0x645, 0x64A), 0xFDB1 => array(0x645, 0x645, 0x64A), 0xFDB2 => array(0x642, 0x645, 0x64A),
  2653.                     0xFDB3 => array(0x646, 0x62D, 0x64A), 0xFDB4 => array(0x642, 0x645, 0x62D), 0xFDB5 => array(0x644, 0x62D, 0x645),
  2654.                     0xFDB6 => array(0x639, 0x645, 0x64A), 0xFDB7 => array(0x643, 0x645, 0x64A), 0xFDB8 => array(0x646, 0x62C, 0x62D),
  2655.                     0xFDB9 => array(0x645, 0x62E, 0x64A), 0xFDBA => array(0x644, 0x62C, 0x645), 0xFDBB => array(0x643, 0x645, 0x645),
  2656.                     0xFDBC => array(0x644, 0x62C, 0x645), 0xFDBD => array(0x646, 0x62C, 0x62D), 0xFDBE => array(0x62C, 0x62D, 0x64A),
  2657.                     0xFDBF => array(0x62D, 0x62C, 0x64A), 0xFDC0 => array(0x645, 0x62C, 0x64A), 0xFDC1 => array(0x641, 0x645, 0x64A),
  2658.                     0xFDC2 => array(0x628, 0x62D, 0x64A), 0xFDC3 => array(0x643, 0x645, 0x645), 0xFDC4 => array(0x639, 0x62C, 0x645),
  2659.                     0xFDC5 => array(0x635, 0x645, 0x645), 0xFDC6 => array(0x633, 0x62E, 0x64A), 0xFDC7 => array(0x646, 0x62C, 0x64A),
  2660.                     0xFDF0 => array(0x635, 0x644, 0x6D2), 0xFDF1 => array(0x642, 0x644, 0x6D2), 0xFDF2 => array(0x627, 0x644, 0x644, 0x647),
  2661.                     0xFDF3 => array(0x627, 0x643, 0x628, 0x631), 0xFDF4 => array(0x645, 0x62D, 0x645, 0x62F), 0xFDF5 => array(0x635, 0x644, 0x639, 0x645),
  2662.                     0xFDF6 => array(0x631, 0x633, 0x648, 0x644), 0xFDF7 => array(0x639, 0x644, 0x64A, 0x647), 0xFDF8 => array(0x648, 0x633, 0x644, 0x645),
  2663.                     0xFDF9 => array(0x635, 0x644, 0x649), 0xFDFC => array(0x631, 0x6CC, 0x627, 0x644), 0xFE11 => array(0x3001),
  2664.                     0xFE17 => array(0x3016), 0xFE18 => array(0x3017), 0xFE31 => array(0x2014),
  2665.                     0xFE32 => array(0x2013), 0xFE39 => array(0x3014), 0xFE3A => array(0x3015),
  2666.                     0xFE3B => array(0x3010), 0xFE3C => array(0x3011), 0xFE3D => array(0x300A),
  2667.                     0xFE3E => array(0x300B), 0xFE3F => array(0x3008), 0xFE40 => array(0x3009),
  2668.                     0xFE41 => array(0x300C), 0xFE42 => array(0x300D), 0xFE43 => array(0x300E),
  2669.                     0xFE44 => array(0x300F), 0xFE51 => array(0x3001), 0xFE58 => array(0x2014),
  2670.                     0xFE5D => array(0x3014), 0xFE5E => array(0x3015), 0xFE63 => array(0x2D),
  2671.                     0xFE71 => array(0x640, 0x64B), 0xFE77 => array(0x640, 0x64E), 0xFE79 => array(0x640, 0x64F),
  2672.                     0xFE7B => array(0x640, 0x650), 0xFE7D => array(0x640, 0x651), 0xFE7F => array(0x640, 0x652),
  2673.                     0xFE80 => array(0x621), 0xFE81 => array(0x622), 0xFE82 => array(0x622),
  2674.                     0xFE83 => array(0x623), 0xFE84 => array(0x623), 0xFE85 => array(0x624),
  2675.                     0xFE86 => array(0x624), 0xFE87 => array(0x625), 0xFE88 => array(0x625),
  2676.                     0xFE89 => array(0x626), 0xFE8A => array(0x626), 0xFE8B => array(0x626),
  2677.                     0xFE8C => array(0x626), 0xFE8D => array(0x627), 0xFE8E => array(0x627),
  2678.                     0xFE8F => array(0x628), 0xFE90 => array(0x628), 0xFE91 => array(0x628),
  2679.                     0xFE92 => array(0x628), 0xFE93 => array(0x629), 0xFE94 => array(0x629),
  2680.                     0xFE95 => array(0x62A), 0xFE96 => array(0x62A), 0xFE97 => array(0x62A),
  2681.                     0xFE98 => array(0x62A), 0xFE99 => array(0x62B), 0xFE9A => array(0x62B),
  2682.                     0xFE9B => array(0x62B), 0xFE9C => array(0x62B), 0xFE9D => array(0x62C),
  2683.                     0xFE9E => array(0x62C), 0xFE9F => array(0x62C), 0xFEA0 => array(0x62C),
  2684.                     0xFEA1 => array(0x62D), 0xFEA2 => array(0x62D), 0xFEA3 => array(0x62D),
  2685.                     0xFEA4 => array(0x62D), 0xFEA5 => array(0x62E), 0xFEA6 => array(0x62E),
  2686.                     0xFEA7 => array(0x62E), 0xFEA8 => array(0x62E), 0xFEA9 => array(0x62F),
  2687.                     0xFEAA => array(0x62F), 0xFEAB => array(0x630), 0xFEAC => array(0x630),
  2688.                     0xFEAD => array(0x631), 0xFEAE => array(0x631), 0xFEAF => array(0x632),
  2689.                     0xFEB0 => array(0x632), 0xFEB1 => array(0x633), 0xFEB2 => array(0x633),
  2690.                     0xFEB3 => array(0x633), 0xFEB4 => array(0x633), 0xFEB5 => array(0x634),
  2691.                     0xFEB6 => array(0x634), 0xFEB7 => array(0x634), 0xFEB8 => array(0x634),
  2692.                     0xFEB9 => array(0x635), 0xFEBA => array(0x635), 0xFEBB => array(0x635),
  2693.                     0xFEBC => array(0x635), 0xFEBD => array(0x636), 0xFEBE => array(0x636),
  2694.                     0xFEBF => array(0x636), 0xFEC0 => array(0x636), 0xFEC1 => array(0x637),
  2695.                     0xFEC2 => array(0x637), 0xFEC3 => array(0x637), 0xFEC4 => array(0x637),
  2696.                     0xFEC5 => array(0x638), 0xFEC6 => array(0x638), 0xFEC7 => array(0x638),
  2697.                     0xFEC8 => array(0x638), 0xFEC9 => array(0x639), 0xFECA => array(0x639),
  2698.                     0xFECB => array(0x639), 0xFECC => array(0x639), 0xFECD => array(0x63A),
  2699.                     0xFECE => array(0x63A), 0xFECF => array(0x63A), 0xFED0 => array(0x63A),
  2700.                     0xFED1 => array(0x641), 0xFED2 => array(0x641), 0xFED3 => array(0x641),
  2701.                     0xFED4 => array(0x641), 0xFED5 => array(0x642), 0xFED6 => array(0x642),
  2702.                     0xFED7 => array(0x642), 0xFED8 => array(0x642), 0xFED9 => array(0x643),
  2703.                     0xFEDA => array(0x643), 0xFEDB => array(0x643), 0xFEDC => array(0x643),
  2704.                     0xFEDD => array(0x644), 0xFEDE => array(0x644), 0xFEDF => array(0x644),
  2705.                     0xFEE0 => array(0x644), 0xFEE1 => array(0x645), 0xFEE2 => array(0x645),
  2706.                     0xFEE3 => array(0x645), 0xFEE4 => array(0x645), 0xFEE5 => array(0x646),
  2707.                     0xFEE6 => array(0x646), 0xFEE7 => array(0x646), 0xFEE8 => array(0x646),
  2708.                     0xFEE9 => array(0x647), 0xFEEA => array(0x647), 0xFEEB => array(0x647),
  2709.                     0xFEEC => array(0x647), 0xFEED => array(0x648), 0xFEEE => array(0x648),
  2710.                     0xFEEF => array(0x649), 0xFEF0 => array(0x649), 0xFEF1 => array(0x64A),
  2711.                     0xFEF2 => array(0x64A), 0xFEF3 => array(0x64A), 0xFEF4 => array(0x64A),
  2712.                     0xFEF5 => array(0x644, 0x622), 0xFEF6 => array(0x644, 0x622), 0xFEF7 => array(0x644, 0x623),
  2713.                     0xFEF8 => array(0x644, 0x623), 0xFEF9 => array(0x644, 0x625), 0xFEFA => array(0x644, 0x625),
  2714.                     0xFEFB => array(0x644, 0x627), 0xFEFC => array(0x644, 0x627), 0xFF0D => array(0x2D),
  2715.                     0xFF0E => array(0x2E), 0xFF10 => array(0x30), 0xFF11 => array(0x31),
  2716.                     0xFF12 => array(0x32), 0xFF13 => array(0x33), 0xFF14 => array(0x34),
  2717.                     0xFF15 => array(0x35), 0xFF16 => array(0x36), 0xFF17 => array(0x37),
  2718.                     0xFF18 => array(0x38), 0xFF19 => array(0x39), 0xFF21 => array(0x61),
  2719.                     0xFF22 => array(0x62), 0xFF23 => array(0x63), 0xFF24 => array(0x64),
  2720.                     0xFF25 => array(0x65), 0xFF26 => array(0x66), 0xFF27 => array(0x67),
  2721.                     0xFF28 => array(0x68), 0xFF29 => array(0x69), 0xFF2A => array(0x6A),
  2722.                     0xFF2B => array(0x6B), 0xFF2C => array(0x6C), 0xFF2D => array(0x6D),
  2723.                     0xFF2E => array(0x6E), 0xFF2F => array(0x6F), 0xFF30 => array(0x70),
  2724.                     0xFF31 => array(0x71), 0xFF32 => array(0x72), 0xFF33 => array(0x73),
  2725.                     0xFF34 => array(0x74), 0xFF35 => array(0x75), 0xFF36 => array(0x76),
  2726.                     0xFF37 => array(0x77), 0xFF38 => array(0x78), 0xFF39 => array(0x79),
  2727.                     0xFF3A => array(0x7A), 0xFF41 => array(0x61), 0xFF42 => array(0x62),
  2728.                     0xFF43 => array(0x63), 0xFF44 => array(0x64), 0xFF45 => array(0x65),
  2729.                     0xFF46 => array(0x66), 0xFF47 => array(0x67), 0xFF48 => array(0x68),
  2730.                     0xFF49 => array(0x69), 0xFF4A => array(0x6A), 0xFF4B => array(0x6B),
  2731.                     0xFF4C => array(0x6C), 0xFF4D => array(0x6D), 0xFF4E => array(0x6E),
  2732.                     0xFF4F => array(0x6F), 0xFF50 => array(0x70), 0xFF51 => array(0x71),
  2733.                     0xFF52 => array(0x72), 0xFF53 => array(0x73), 0xFF54 => array(0x74),
  2734.                     0xFF55 => array(0x75), 0xFF56 => array(0x76), 0xFF57 => array(0x77),
  2735.                     0xFF58 => array(0x78), 0xFF59 => array(0x79), 0xFF5A => array(0x7A),
  2736.                     0xFF5F => array(0x2985), 0xFF60 => array(0x2986), 0xFF61 => array(0x2E),
  2737.                     0xFF62 => array(0x300C), 0xFF63 => array(0x300D), 0xFF64 => array(0x3001),
  2738.                     0xFF65 => array(0x30FB), 0xFF66 => array(0x30F2), 0xFF67 => array(0x30A1),
  2739.                     0xFF68 => array(0x30A3), 0xFF69 => array(0x30A5), 0xFF6A => array(0x30A7),
  2740.                     0xFF6B => array(0x30A9), 0xFF6C => array(0x30E3), 0xFF6D => array(0x30E5),
  2741.                     0xFF6E => array(0x30E7), 0xFF6F => array(0x30C3), 0xFF70 => array(0x30FC),
  2742.                     0xFF71 => array(0x30A2), 0xFF72 => array(0x30A4), 0xFF73 => array(0x30A6),
  2743.                     0xFF74 => array(0x30A8), 0xFF75 => array(0x30AA), 0xFF76 => array(0x30AB),
  2744.                     0xFF77 => array(0x30AD), 0xFF78 => array(0x30AF), 0xFF79 => array(0x30B1),
  2745.                     0xFF7A => array(0x30B3), 0xFF7B => array(0x30B5), 0xFF7C => array(0x30B7),
  2746.                     0xFF7D => array(0x30B9), 0xFF7E => array(0x30BB), 0xFF7F => array(0x30BD),
  2747.                     0xFF80 => array(0x30BF), 0xFF81 => array(0x30C1), 0xFF82 => array(0x30C4),
  2748.                     0xFF83 => array(0x30C6), 0xFF84 => array(0x30C8), 0xFF85 => array(0x30CA),
  2749.                     0xFF86 => array(0x30CB), 0xFF87 => array(0x30CC), 0xFF88 => array(0x30CD),
  2750.                     0xFF89 => array(0x30CE), 0xFF8A => array(0x30CF), 0xFF8B => array(0x30D2),
  2751.                     0xFF8C => array(0x30D5), 0xFF8D => array(0x30D8), 0xFF8E => array(0x30DB),
  2752.                     0xFF8F => array(0x30DE), 0xFF90 => array(0x30DF), 0xFF91 => array(0x30E0),
  2753.                     0xFF92 => array(0x30E1), 0xFF93 => array(0x30E2), 0xFF94 => array(0x30E4),
  2754.                     0xFF95 => array(0x30E6), 0xFF96 => array(0x30E8), 0xFF97 => array(0x30E9),
  2755.                     0xFF98 => array(0x30EA), 0xFF99 => array(0x30EB), 0xFF9A => array(0x30EC),
  2756.                     0xFF9B => array(0x30ED), 0xFF9C => array(0x30EF), 0xFF9D => array(0x30F3),
  2757.                     0xFF9E => array(0x3099), 0xFF9F => array(0x309A), 0xFFA1 => array(0x1100),
  2758.                     0xFFA2 => array(0x1101), 0xFFA3 => array(0x11AA), 0xFFA4 => array(0x1102),
  2759.                     0xFFA5 => array(0x11AC), 0xFFA6 => array(0x11AD), 0xFFA7 => array(0x1103),
  2760.                     0xFFA8 => array(0x1104), 0xFFA9 => array(0x1105), 0xFFAA => array(0x11B0),
  2761.                     0xFFAB => array(0x11B1), 0xFFAC => array(0x11B2), 0xFFAD => array(0x11B3),
  2762.                     0xFFAE => array(0x11B4), 0xFFAF => array(0x11B5), 0xFFB0 => array(0x111A),
  2763.                     0xFFB1 => array(0x1106), 0xFFB2 => array(0x1107), 0xFFB3 => array(0x1108),
  2764.                     0xFFB4 => array(0x1121), 0xFFB5 => array(0x1109), 0xFFB6 => array(0x110A),
  2765.                     0xFFB7 => array(0x110B), 0xFFB8 => array(0x110C), 0xFFB9 => array(0x110D),
  2766.                     0xFFBA => array(0x110E), 0xFFBB => array(0x110F), 0xFFBC => array(0x1110),
  2767.                     0xFFBD => array(0x1111), 0xFFBE => array(0x1112), 0xFFC2 => array(0x1161),
  2768.                     0xFFC3 => array(0x1162), 0xFFC4 => array(0x1163), 0xFFC5 => array(0x1164),
  2769.                     0xFFC6 => array(0x1165), 0xFFC7 => array(0x1166), 0xFFCA => array(0x1167),
  2770.                     0xFFCB => array(0x1168), 0xFFCC => array(0x1169), 0xFFCD => array(0x116A),
  2771.                     0xFFCE => array(0x116B), 0xFFCF => array(0x116C), 0xFFD2 => array(0x116D),
  2772.                     0xFFD3 => array(0x116E), 0xFFD4 => array(0x116F), 0xFFD5 => array(0x1170),
  2773.                     0xFFD6 => array(0x1171), 0xFFD7 => array(0x1172), 0xFFDA => array(0x1173),
  2774.                     0xFFDB => array(0x1174), 0xFFDC => array(0x1175), 0xFFE0 => array(0xA2),
  2775.                     0xFFE1 => array(0xA3), 0xFFE2 => array(0xAC), 0xFFE4 => array(0xA6),
  2776.                     0xFFE5 => array(0xA5), 0xFFE6 => array(0x20A9), 0xFFE8 => array(0x2502),
  2777.                     0xFFE9 => array(0x2190), 0xFFEA => array(0x2191), 0xFFEB => array(0x2192),
  2778.                     0xFFEC => array(0x2193), 0xFFED => array(0x25A0), 0xFFEE => array(0x25CB),
  2779.                     0x10400 => array(0x10428), 0x10401 => array(0x10429), 0x10402 => array(0x1042A),
  2780.                     0x10403 => array(0x1042B), 0x10404 => array(0x1042C), 0x10405 => array(0x1042D),
  2781.                     0x10406 => array(0x1042E), 0x10407 => array(0x1042F), 0x10408 => array(0x10430),
  2782.                     0x10409 => array(0x10431), 0x1040A => array(0x10432), 0x1040B => array(0x10433),
  2783.                     0x1040C => array(0x10434), 0x1040D => array(0x10435), 0x1040E => array(0x10436),
  2784.                     0x1040F => array(0x10437), 0x10410 => array(0x10438), 0x10411 => array(0x10439),
  2785.                     0x10412 => array(0x1043A), 0x10413 => array(0x1043B), 0x10414 => array(0x1043C),
  2786.                     0x10415 => array(0x1043D), 0x10416 => array(0x1043E), 0x10417 => array(0x1043F),
  2787.                     0x10418 => array(0x10440), 0x10419 => array(0x10441), 0x1041A => array(0x10442),
  2788.                     0x1041B => array(0x10443), 0x1041C => array(0x10444), 0x1041D => array(0x10445),
  2789.                     0x1041E => array(0x10446), 0x1041F => array(0x10447), 0x10420 => array(0x10448),
  2790.                     0x10421 => array(0x10449), 0x10422 => array(0x1044A), 0x10423 => array(0x1044B),
  2791.                     0x10424 => array(0x1044C), 0x10425 => array(0x1044D), 0x10426 => array(0x1044E),
  2792.                     0x10427 => array(0x1044F), 0x118A0 => array(0x118C0), 0x118A1 => array(0x118C1),
  2793.                     0x118A2 => array(0x118C2), 0x118A3 => array(0x118C3), 0x118A4 => array(0x118C4),
  2794.                     0x118A5 => array(0x118C5), 0x118A6 => array(0x118C6), 0x118A7 => array(0x118C7),
  2795.                     0x118A8 => array(0x118C8), 0x118A9 => array(0x118C9), 0x118AA => array(0x118CA),
  2796.                     0x118AB => array(0x118CB), 0x118AC => array(0x118CC), 0x118AD => array(0x118CD),
  2797.                     0x118AE => array(0x118CE), 0x118AF => array(0x118CF), 0x118B0 => array(0x118D0),
  2798.                     0x118B1 => array(0x118D1), 0x118B2 => array(0x118D2), 0x118B3 => array(0x118D3),
  2799.                     0x118B4 => array(0x118D4), 0x118B5 => array(0x118D5), 0x118B6 => array(0x118D6),
  2800.                     0x118B7 => array(0x118D7), 0x118B8 => array(0x118D8), 0x118B9 => array(0x118D9),
  2801.                     0x118BA => array(0x118DA), 0x118BB => array(0x118DB), 0x118BC => array(0x118DC),
  2802.                     0x118BD => array(0x118DD), 0x118BE => array(0x118DE), 0x118BF => array(0x118DF),
  2803.                     0x1D15E => array(0x1D157, 0x1D165), 0x1D15F => array(0x1D158, 0x1D165), 0x1D160 => array(0x1D158, 0x1D165, 0x1D16E),
  2804.                     0x1D161 => array(0x1D158, 0x1D165, 0x1D16F), 0x1D162 => array(0x1D158, 0x1D165, 0x1D170), 0x1D163 => array(0x1D158, 0x1D165, 0x1D171),
  2805.                     0x1D164 => array(0x1D158, 0x1D165, 0x1D172), 0x1D1BB => array(0x1D1B9, 0x1D165), 0x1D1BC => array(0x1D1BA, 0x1D165),
  2806.                     0x1D1BD => array(0x1D1B9, 0x1D165, 0x1D16E), 0x1D1BE => array(0x1D1BA, 0x1D165, 0x1D16E), 0x1D1BF => array(0x1D1B9, 0x1D165, 0x1D16F),
  2807.                     0x1D1C0 => array(0x1D1BA, 0x1D165, 0x1D16F), 0x1D400 => array(0x61), 0x1D401 => array(0x62),
  2808.                     0x1D402 => array(0x63), 0x1D403 => array(0x64), 0x1D404 => array(0x65),
  2809.                     0x1D405 => array(0x66), 0x1D406 => array(0x67), 0x1D407 => array(0x68),
  2810.                     0x1D408 => array(0x69), 0x1D409 => array(0x6A), 0x1D40A => array(0x6B),
  2811.                     0x1D40B => array(0x6C), 0x1D40C => array(0x6D), 0x1D40D => array(0x6E),
  2812.                     0x1D40E => array(0x6F), 0x1D40F => array(0x70), 0x1D410 => array(0x71),
  2813.                     0x1D411 => array(0x72), 0x1D412 => array(0x73), 0x1D413 => array(0x74),
  2814.                     0x1D414 => array(0x75), 0x1D415 => array(0x76), 0x1D416 => array(0x77),
  2815.                     0x1D417 => array(0x78), 0x1D418 => array(0x79), 0x1D419 => array(0x7A),
  2816.                     0x1D41A => array(0x61), 0x1D41B => array(0x62), 0x1D41C => array(0x63),
  2817.                     0x1D41D => array(0x64), 0x1D41E => array(0x65), 0x1D41F => array(0x66),
  2818.                     0x1D420 => array(0x67), 0x1D421 => array(0x68), 0x1D422 => array(0x69),
  2819.                     0x1D423 => array(0x6A), 0x1D424 => array(0x6B), 0x1D425 => array(0x6C),
  2820.                     0x1D426 => array(0x6D), 0x1D427 => array(0x6E), 0x1D428 => array(0x6F),
  2821.                     0x1D429 => array(0x70), 0x1D42A => array(0x71), 0x1D42B => array(0x72),
  2822.                     0x1D42C => array(0x73), 0x1D42D => array(0x74), 0x1D42E => array(0x75),
  2823.                     0x1D42F => array(0x76), 0x1D430 => array(0x77), 0x1D431 => array(0x78),
  2824.                     0x1D432 => array(0x79), 0x1D433 => array(0x7A), 0x1D434 => array(0x61),
  2825.                     0x1D435 => array(0x62), 0x1D436 => array(0x63), 0x1D437 => array(0x64),
  2826.                     0x1D438 => array(0x65), 0x1D439 => array(0x66), 0x1D43A => array(0x67),
  2827.                     0x1D43B => array(0x68), 0x1D43C => array(0x69), 0x1D43D => array(0x6A),
  2828.                     0x1D43E => array(0x6B), 0x1D43F => array(0x6C), 0x1D440 => array(0x6D),
  2829.                     0x1D441 => array(0x6E), 0x1D442 => array(0x6F), 0x1D443 => array(0x70),
  2830.                     0x1D444 => array(0x71), 0x1D445 => array(0x72), 0x1D446 => array(0x73),
  2831.                     0x1D447 => array(0x74), 0x1D448 => array(0x75), 0x1D449 => array(0x76),
  2832.                     0x1D44A => array(0x77), 0x1D44B => array(0x78), 0x1D44C => array(0x79),
  2833.                     0x1D44D => array(0x7A), 0x1D44E => array(0x61), 0x1D44F => array(0x62),
  2834.                     0x1D450 => array(0x63), 0x1D451 => array(0x64), 0x1D452 => array(0x65),
  2835.                     0x1D453 => array(0x66), 0x1D454 => array(0x67), 0x1D456 => array(0x69),
  2836.                     0x1D457 => array(0x6A), 0x1D458 => array(0x6B), 0x1D459 => array(0x6C),
  2837.                     0x1D45A => array(0x6D), 0x1D45B => array(0x6E), 0x1D45C => array(0x6F),
  2838.                     0x1D45D => array(0x70), 0x1D45E => array(0x71), 0x1D45F => array(0x72),
  2839.                     0x1D460 => array(0x73), 0x1D461 => array(0x74), 0x1D462 => array(0x75),
  2840.                     0x1D463 => array(0x76), 0x1D464 => array(0x77), 0x1D465 => array(0x78),
  2841.                     0x1D466 => array(0x79), 0x1D467 => array(0x7A), 0x1D468 => array(0x61),
  2842.                     0x1D469 => array(0x62), 0x1D46A => array(0x63), 0x1D46B => array(0x64),
  2843.                     0x1D46C => array(0x65), 0x1D46D => array(0x66), 0x1D46E => array(0x67),
  2844.                     0x1D46F => array(0x68), 0x1D470 => array(0x69), 0x1D471 => array(0x6A),
  2845.                     0x1D472 => array(0x6B), 0x1D473 => array(0x6C), 0x1D474 => array(0x6D),
  2846.                     0x1D475 => array(0x6E), 0x1D476 => array(0x6F), 0x1D477 => array(0x70),
  2847.                     0x1D478 => array(0x71), 0x1D479 => array(0x72), 0x1D47A => array(0x73),
  2848.                     0x1D47B => array(0x74), 0x1D47C => array(0x75), 0x1D47D => array(0x76),
  2849.                     0x1D47E => array(0x77), 0x1D47F => array(0x78), 0x1D480 => array(0x79),
  2850.                     0x1D481 => array(0x7A), 0x1D482 => array(0x61), 0x1D483 => array(0x62),
  2851.                     0x1D484 => array(0x63), 0x1D485 => array(0x64), 0x1D486 => array(0x65),
  2852.                     0x1D487 => array(0x66), 0x1D488 => array(0x67), 0x1D489 => array(0x68),
  2853.                     0x1D48A => array(0x69), 0x1D48B => array(0x6A), 0x1D48C => array(0x6B),
  2854.                     0x1D48D => array(0x6C), 0x1D48E => array(0x6D), 0x1D48F => array(0x6E),
  2855.                     0x1D490 => array(0x6F), 0x1D491 => array(0x70), 0x1D492 => array(0x71),
  2856.                     0x1D493 => array(0x72), 0x1D494 => array(0x73), 0x1D495 => array(0x74),
  2857.                     0x1D496 => array(0x75), 0x1D497 => array(0x76), 0x1D498 => array(0x77),
  2858.                     0x1D499 => array(0x78), 0x1D49A => array(0x79), 0x1D49B => array(0x7A),
  2859.                     0x1D49C => array(0x61), 0x1D49E => array(0x63), 0x1D49F => array(0x64),
  2860.                     0x1D4A2 => array(0x67), 0x1D4A5 => array(0x6A), 0x1D4A6 => array(0x6B),
  2861.                     0x1D4A9 => array(0x6E), 0x1D4AA => array(0x6F), 0x1D4AB => array(0x70),
  2862.                     0x1D4AC => array(0x71), 0x1D4AE => array(0x73), 0x1D4AF => array(0x74),
  2863.                     0x1D4B0 => array(0x75), 0x1D4B1 => array(0x76), 0x1D4B2 => array(0x77),
  2864.                     0x1D4B3 => array(0x78), 0x1D4B4 => array(0x79), 0x1D4B5 => array(0x7A),
  2865.                     0x1D4B6 => array(0x61), 0x1D4B7 => array(0x62), 0x1D4B8 => array(0x63),
  2866.                     0x1D4B9 => array(0x64), 0x1D4BB => array(0x66), 0x1D4BD => array(0x68),
  2867.                     0x1D4BE => array(0x69), 0x1D4BF => array(0x6A), 0x1D4C0 => array(0x6B),
  2868.                     0x1D4C1 => array(0x6C), 0x1D4C2 => array(0x6D), 0x1D4C3 => array(0x6E),
  2869.                     0x1D4C5 => array(0x70), 0x1D4C6 => array(0x71), 0x1D4C7 => array(0x72),
  2870.                     0x1D4C8 => array(0x73), 0x1D4C9 => array(0x74), 0x1D4CA => array(0x75),
  2871.                     0x1D4CB => array(0x76), 0x1D4CC => array(0x77), 0x1D4CD => array(0x78),
  2872.                     0x1D4CE => array(0x79), 0x1D4CF => array(0x7A), 0x1D4D0 => array(0x61),
  2873.                     0x1D4D1 => array(0x62), 0x1D4D2 => array(0x63), 0x1D4D3 => array(0x64),
  2874.                     0x1D4D4 => array(0x65), 0x1D4D5 => array(0x66), 0x1D4D6 => array(0x67),
  2875.                     0x1D4D7 => array(0x68), 0x1D4D8 => array(0x69), 0x1D4D9 => array(0x6A),
  2876.                     0x1D4DA => array(0x6B), 0x1D4DB => array(0x6C), 0x1D4DC => array(0x6D),
  2877.                     0x1D4DD => array(0x6E), 0x1D4DE => array(0x6F), 0x1D4DF => array(0x70),
  2878.                     0x1D4E0 => array(0x71), 0x1D4E1 => array(0x72), 0x1D4E2 => array(0x73),
  2879.                     0x1D4E3 => array(0x74), 0x1D4E4 => array(0x75), 0x1D4E5 => array(0x76),
  2880.                     0x1D4E6 => array(0x77), 0x1D4E7 => array(0x78), 0x1D4E8 => array(0x79),
  2881.                     0x1D4E9 => array(0x7A), 0x1D4EA => array(0x61), 0x1D4EB => array(0x62),
  2882.                     0x1D4EC => array(0x63), 0x1D4ED => array(0x64), 0x1D4EE => array(0x65),
  2883.                     0x1D4EF => array(0x66), 0x1D4F0 => array(0x67), 0x1D4F1 => array(0x68),
  2884.                     0x1D4F2 => array(0x69), 0x1D4F3 => array(0x6A), 0x1D4F4 => array(0x6B),
  2885.                     0x1D4F5 => array(0x6C), 0x1D4F6 => array(0x6D), 0x1D4F7 => array(0x6E),
  2886.                     0x1D4F8 => array(0x6F), 0x1D4F9 => array(0x70), 0x1D4FA => array(0x71),
  2887.                     0x1D4FB => array(0x72), 0x1D4FC => array(0x73), 0x1D4FD => array(0x74),
  2888.                     0x1D4FE => array(0x75), 0x1D4FF => array(0x76), 0x1D500 => array(0x77),
  2889.                     0x1D501 => array(0x78), 0x1D502 => array(0x79), 0x1D503 => array(0x7A),
  2890.                     0x1D504 => array(0x61), 0x1D505 => array(0x62), 0x1D507 => array(0x64),
  2891.                     0x1D508 => array(0x65), 0x1D509 => array(0x66), 0x1D50A => array(0x67),
  2892.                     0x1D50D => array(0x6A), 0x1D50E => array(0x6B), 0x1D50F => array(0x6C),
  2893.                     0x1D510 => array(0x6D), 0x1D511 => array(0x6E), 0x1D512 => array(0x6F),
  2894.                     0x1D513 => array(0x70), 0x1D514 => array(0x71), 0x1D516 => array(0x73),
  2895.                     0x1D517 => array(0x74), 0x1D518 => array(0x75), 0x1D519 => array(0x76),
  2896.                     0x1D51A => array(0x77), 0x1D51B => array(0x78), 0x1D51C => array(0x79),
  2897.                     0x1D51E => array(0x61), 0x1D51F => array(0x62), 0x1D520 => array(0x63),
  2898.                     0x1D521 => array(0x64), 0x1D522 => array(0x65), 0x1D523 => array(0x66),
  2899.                     0x1D524 => array(0x67), 0x1D525 => array(0x68), 0x1D526 => array(0x69),
  2900.                     0x1D527 => array(0x6A), 0x1D528 => array(0x6B), 0x1D529 => array(0x6C),
  2901.                     0x1D52A => array(0x6D), 0x1D52B => array(0x6E), 0x1D52C => array(0x6F),
  2902.                     0x1D52D => array(0x70), 0x1D52E => array(0x71), 0x1D52F => array(0x72),
  2903.                     0x1D530 => array(0x73), 0x1D531 => array(0x74), 0x1D532 => array(0x75),
  2904.                     0x1D533 => array(0x76), 0x1D534 => array(0x77), 0x1D535 => array(0x78),
  2905.                     0x1D536 => array(0x79), 0x1D537 => array(0x7A), 0x1D538 => array(0x61),
  2906.                     0x1D539 => array(0x62), 0x1D53B => array(0x64), 0x1D53C => array(0x65),
  2907.                     0x1D53D => array(0x66), 0x1D53E => array(0x67), 0x1D540 => array(0x69),
  2908.                     0x1D541 => array(0x6A), 0x1D542 => array(0x6B), 0x1D543 => array(0x6C),
  2909.                     0x1D544 => array(0x6D), 0x1D546 => array(0x6F), 0x1D54A => array(0x73),
  2910.                     0x1D54B => array(0x74), 0x1D54C => array(0x75), 0x1D54D => array(0x76),
  2911.                     0x1D54E => array(0x77), 0x1D54F => array(0x78), 0x1D550 => array(0x79),
  2912.                     0x1D552 => array(0x61), 0x1D553 => array(0x62), 0x1D554 => array(0x63),
  2913.                     0x1D555 => array(0x64), 0x1D556 => array(0x65), 0x1D557 => array(0x66),
  2914.                     0x1D558 => array(0x67), 0x1D559 => array(0x68), 0x1D55A => array(0x69),
  2915.                     0x1D55B => array(0x6A), 0x1D55C => array(0x6B), 0x1D55D => array(0x6C),
  2916.                     0x1D55E => array(0x6D), 0x1D55F => array(0x6E), 0x1D560 => array(0x6F),
  2917.                     0x1D561 => array(0x70), 0x1D562 => array(0x71), 0x1D563 => array(0x72),
  2918.                     0x1D564 => array(0x73), 0x1D565 => array(0x74), 0x1D566 => array(0x75),
  2919.                     0x1D567 => array(0x76), 0x1D568 => array(0x77), 0x1D569 => array(0x78),
  2920.                     0x1D56A => array(0x79), 0x1D56B => array(0x7A), 0x1D56C => array(0x61),
  2921.                     0x1D56D => array(0x62), 0x1D56E => array(0x63), 0x1D56F => array(0x64),
  2922.                     0x1D570 => array(0x65), 0x1D571 => array(0x66), 0x1D572 => array(0x67),
  2923.                     0x1D573 => array(0x68), 0x1D574 => array(0x69), 0x1D575 => array(0x6A),
  2924.                     0x1D576 => array(0x6B), 0x1D577 => array(0x6C), 0x1D578 => array(0x6D),
  2925.                     0x1D579 => array(0x6E), 0x1D57A => array(0x6F), 0x1D57B => array(0x70),
  2926.                     0x1D57C => array(0x71), 0x1D57D => array(0x72), 0x1D57E => array(0x73),
  2927.                     0x1D57F => array(0x74), 0x1D580 => array(0x75), 0x1D581 => array(0x76),
  2928.                     0x1D582 => array(0x77), 0x1D583 => array(0x78), 0x1D584 => array(0x79),
  2929.                     0x1D585 => array(0x7A), 0x1D586 => array(0x61), 0x1D587 => array(0x62),
  2930.                     0x1D588 => array(0x63), 0x1D589 => array(0x64), 0x1D58A => array(0x65),
  2931.                     0x1D58B => array(0x66), 0x1D58C => array(0x67), 0x1D58D => array(0x68),
  2932.                     0x1D58E => array(0x69), 0x1D58F => array(0x6A), 0x1D590 => array(0x6B),
  2933.                     0x1D591 => array(0x6C), 0x1D592 => array(0x6D), 0x1D593 => array(0x6E),
  2934.                     0x1D594 => array(0x6F), 0x1D595 => array(0x70), 0x1D596 => array(0x71),
  2935.                     0x1D597 => array(0x72), 0x1D598 => array(0x73), 0x1D599 => array(0x74),
  2936.                     0x1D59A => array(0x75), 0x1D59B => array(0x76), 0x1D59C => array(0x77),
  2937.                     0x1D59D => array(0x78), 0x1D59E => array(0x79), 0x1D59F => array(0x7A),
  2938.                     0x1D5A0 => array(0x61), 0x1D5A1 => array(0x62), 0x1D5A2 => array(0x63),
  2939.                     0x1D5A3 => array(0x64), 0x1D5A4 => array(0x65), 0x1D5A5 => array(0x66),
  2940.                     0x1D5A6 => array(0x67), 0x1D5A7 => array(0x68), 0x1D5A8 => array(0x69),
  2941.                     0x1D5A9 => array(0x6A), 0x1D5AA => array(0x6B), 0x1D5AB => array(0x6C),
  2942.                     0x1D5AC => array(0x6D), 0x1D5AD => array(0x6E), 0x1D5AE => array(0x6F),
  2943.                     0x1D5AF => array(0x70), 0x1D5B0 => array(0x71), 0x1D5B1 => array(0x72),
  2944.                     0x1D5B2 => array(0x73), 0x1D5B3 => array(0x74), 0x1D5B4 => array(0x75),
  2945.                     0x1D5B5 => array(0x76), 0x1D5B6 => array(0x77), 0x1D5B7 => array(0x78),
  2946.                     0x1D5B8 => array(0x79), 0x1D5B9 => array(0x7A), 0x1D5BA => array(0x61),
  2947.                     0x1D5BB => array(0x62), 0x1D5BC => array(0x63), 0x1D5BD => array(0x64),
  2948.                     0x1D5BE => array(0x65), 0x1D5BF => array(0x66), 0x1D5C0 => array(0x67),
  2949.                     0x1D5C1 => array(0x68), 0x1D5C2 => array(0x69), 0x1D5C3 => array(0x6A),
  2950.                     0x1D5C4 => array(0x6B), 0x1D5C5 => array(0x6C), 0x1D5C6 => array(0x6D),
  2951.                     0x1D5C7 => array(0x6E), 0x1D5C8 => array(0x6F), 0x1D5C9 => array(0x70),
  2952.                     0x1D5CA => array(0x71), 0x1D5CB => array(0x72), 0x1D5CC => array(0x73),
  2953.                     0x1D5CD => array(0x74), 0x1D5CE => array(0x75), 0x1D5CF => array(0x76),
  2954.                     0x1D5D0 => array(0x77), 0x1D5D1 => array(0x78), 0x1D5D2 => array(0x79),
  2955.                     0x1D5D3 => array(0x7A), 0x1D5D4 => array(0x61), 0x1D5D5 => array(0x62),
  2956.                     0x1D5D6 => array(0x63), 0x1D5D7 => array(0x64), 0x1D5D8 => array(0x65),
  2957.                     0x1D5D9 => array(0x66), 0x1D5DA => array(0x67), 0x1D5DB => array(0x68),
  2958.                     0x1D5DC => array(0x69), 0x1D5DD => array(0x6A), 0x1D5DE => array(0x6B),
  2959.                     0x1D5DF => array(0x6C), 0x1D5E0 => array(0x6D), 0x1D5E1 => array(0x6E),
  2960.                     0x1D5E2 => array(0x6F), 0x1D5E3 => array(0x70), 0x1D5E4 => array(0x71),
  2961.                     0x1D5E5 => array(0x72), 0x1D5E6 => array(0x73), 0x1D5E7 => array(0x74),
  2962.                     0x1D5E8 => array(0x75), 0x1D5E9 => array(0x76), 0x1D5EA => array(0x77),
  2963.                     0x1D5EB => array(0x78), 0x1D5EC => array(0x79), 0x1D5ED => array(0x7A),
  2964.                     0x1D5EE => array(0x61), 0x1D5EF => array(0x62), 0x1D5F0 => array(0x63),
  2965.                     0x1D5F1 => array(0x64), 0x1D5F2 => array(0x65), 0x1D5F3 => array(0x66),
  2966.                     0x1D5F4 => array(0x67), 0x1D5F5 => array(0x68), 0x1D5F6 => array(0x69),
  2967.                     0x1D5F7 => array(0x6A), 0x1D5F8 => array(0x6B), 0x1D5F9 => array(0x6C),
  2968.                     0x1D5FA => array(0x6D), 0x1D5FB => array(0x6E), 0x1D5FC => array(0x6F),
  2969.                     0x1D5FD => array(0x70), 0x1D5FE => array(0x71), 0x1D5FF => array(0x72),
  2970.                     0x1D600 => array(0x73), 0x1D601 => array(0x74), 0x1D602 => array(0x75),
  2971.                     0x1D603 => array(0x76), 0x1D604 => array(0x77), 0x1D605 => array(0x78),
  2972.                     0x1D606 => array(0x79), 0x1D607 => array(0x7A), 0x1D608 => array(0x61),
  2973.                     0x1D609 => array(0x62), 0x1D60A => array(0x63), 0x1D60B => array(0x64),
  2974.                     0x1D60C => array(0x65), 0x1D60D => array(0x66), 0x1D60E => array(0x67),
  2975.                     0x1D60F => array(0x68), 0x1D610 => array(0x69), 0x1D611 => array(0x6A),
  2976.                     0x1D612 => array(0x6B), 0x1D613 => array(0x6C), 0x1D614 => array(0x6D),
  2977.                     0x1D615 => array(0x6E), 0x1D616 => array(0x6F), 0x1D617 => array(0x70),
  2978.                     0x1D618 => array(0x71), 0x1D619 => array(0x72), 0x1D61A => array(0x73),
  2979.                     0x1D61B => array(0x74), 0x1D61C => array(0x75), 0x1D61D => array(0x76),
  2980.                     0x1D61E => array(0x77), 0x1D61F => array(0x78), 0x1D620 => array(0x79),
  2981.                     0x1D621 => array(0x7A), 0x1D622 => array(0x61), 0x1D623 => array(0x62),
  2982.                     0x1D624 => array(0x63), 0x1D625 => array(0x64), 0x1D626 => array(0x65),
  2983.                     0x1D627 => array(0x66), 0x1D628 => array(0x67), 0x1D629 => array(0x68),
  2984.                     0x1D62A => array(0x69), 0x1D62B => array(0x6A), 0x1D62C => array(0x6B),
  2985.                     0x1D62D => array(0x6C), 0x1D62E => array(0x6D), 0x1D62F => array(0x6E),
  2986.                     0x1D630 => array(0x6F), 0x1D631 => array(0x70), 0x1D632 => array(0x71),
  2987.                     0x1D633 => array(0x72), 0x1D634 => array(0x73), 0x1D635 => array(0x74),
  2988.                     0x1D636 => array(0x75), 0x1D637 => array(0x76), 0x1D638 => array(0x77),
  2989.                     0x1D639 => array(0x78), 0x1D63A => array(0x79), 0x1D63B => array(0x7A),
  2990.                     0x1D63C => array(0x61), 0x1D63D => array(0x62), 0x1D63E => array(0x63),
  2991.                     0x1D63F => array(0x64), 0x1D640 => array(0x65), 0x1D641 => array(0x66),
  2992.                     0x1D642 => array(0x67), 0x1D643 => array(0x68), 0x1D644 => array(0x69),
  2993.                     0x1D645 => array(0x6A), 0x1D646 => array(0x6B), 0x1D647 => array(0x6C),
  2994.                     0x1D648 => array(0x6D), 0x1D649 => array(0x6E), 0x1D64A => array(0x6F),
  2995.                     0x1D64B => array(0x70), 0x1D64C => array(0x71), 0x1D64D => array(0x72),
  2996.                     0x1D64E => array(0x73), 0x1D64F => array(0x74), 0x1D650 => array(0x75),
  2997.                     0x1D651 => array(0x76), 0x1D652 => array(0x77), 0x1D653 => array(0x78),
  2998.                     0x1D654 => array(0x79), 0x1D655 => array(0x7A), 0x1D656 => array(0x61),
  2999.                     0x1D657 => array(0x62), 0x1D658 => array(0x63), 0x1D659 => array(0x64),
  3000.                     0x1D65A => array(0x65), 0x1D65B => array(0x66), 0x1D65C => array(0x67),
  3001.                     0x1D65D => array(0x68), 0x1D65E => array(0x69), 0x1D65F => array(0x6A),
  3002.                     0x1D660 => array(0x6B), 0x1D661 => array(0x6C), 0x1D662 => array(0x6D),
  3003.                     0x1D663 => array(0x6E), 0x1D664 => array(0x6F), 0x1D665 => array(0x70),
  3004.                     0x1D666 => array(0x71), 0x1D667 => array(0x72), 0x1D668 => array(0x73),
  3005.                     0x1D669 => array(0x74), 0x1D66A => array(0x75), 0x1D66B => array(0x76),
  3006.                     0x1D66C => array(0x77), 0x1D66D => array(0x78), 0x1D66E => array(0x79),
  3007.                     0x1D66F => array(0x7A), 0x1D670 => array(0x61), 0x1D671 => array(0x62),
  3008.                     0x1D672 => array(0x63), 0x1D673 => array(0x64), 0x1D674 => array(0x65),
  3009.                     0x1D675 => array(0x66), 0x1D676 => array(0x67), 0x1D677 => array(0x68),
  3010.                     0x1D678 => array(0x69), 0x1D679 => array(0x6A), 0x1D67A => array(0x6B),
  3011.                     0x1D67B => array(0x6C), 0x1D67C => array(0x6D), 0x1D67D => array(0x6E),
  3012.                     0x1D67E => array(0x6F), 0x1D67F => array(0x70), 0x1D680 => array(0x71),
  3013.                     0x1D681 => array(0x72), 0x1D682 => array(0x73), 0x1D683 => array(0x74),
  3014.                     0x1D684 => array(0x75), 0x1D685 => array(0x76), 0x1D686 => array(0x77),
  3015.                     0x1D687 => array(0x78), 0x1D688 => array(0x79), 0x1D689 => array(0x7A),
  3016.                     0x1D68A => array(0x61), 0x1D68B => array(0x62), 0x1D68C => array(0x63),
  3017.                     0x1D68D => array(0x64), 0x1D68E => array(0x65), 0x1D68F => array(0x66),
  3018.                     0x1D690 => array(0x67), 0x1D691 => array(0x68), 0x1D692 => array(0x69),
  3019.                     0x1D693 => array(0x6A), 0x1D694 => array(0x6B), 0x1D695 => array(0x6C),
  3020.                     0x1D696 => array(0x6D), 0x1D697 => array(0x6E), 0x1D698 => array(0x6F),
  3021.                     0x1D699 => array(0x70), 0x1D69A => array(0x71), 0x1D69B => array(0x72),
  3022.                     0x1D69C => array(0x73), 0x1D69D => array(0x74), 0x1D69E => array(0x75),
  3023.                     0x1D69F => array(0x76), 0x1D6A0 => array(0x77), 0x1D6A1 => array(0x78),
  3024.                     0x1D6A2 => array(0x79), 0x1D6A3 => array(0x7A), 0x1D6A4 => array(0x131),
  3025.                     0x1D6A5 => array(0x237), 0x1D6A8 => array(0x3B1), 0x1D6A9 => array(0x3B2),
  3026.                     0x1D6AA => array(0x3B3), 0x1D6AB => array(0x3B4), 0x1D6AC => array(0x3B5),
  3027.                     0x1D6AD => array(0x3B6), 0x1D6AE => array(0x3B7), 0x1D6AF => array(0x3B8),
  3028.                     0x1D6B0 => array(0x3B9), 0x1D6B1 => array(0x3BA), 0x1D6B2 => array(0x3BB),
  3029.                     0x1D6B3 => array(0x3BC), 0x1D6B4 => array(0x3BD), 0x1D6B5 => array(0x3BE),
  3030.                     0x1D6B6 => array(0x3BF), 0x1D6B7 => array(0x3C0), 0x1D6B8 => array(0x3C1),
  3031.                     0x1D6B9 => array(0x3B8), 0x1D6BA => array(0x3C3), 0x1D6BB => array(0x3C4),
  3032.                     0x1D6BC => array(0x3C5), 0x1D6BD => array(0x3C6), 0x1D6BE => array(0x3C7),
  3033.                     0x1D6BF => array(0x3C8), 0x1D6C0 => array(0x3C9), 0x1D6C1 => array(0x2207),
  3034.                     0x1D6C2 => array(0x3B1), 0x1D6C3 => array(0x3B2), 0x1D6C4 => array(0x3B3),
  3035.                     0x1D6C5 => array(0x3B4), 0x1D6C6 => array(0x3B5), 0x1D6C7 => array(0x3B6),
  3036.                     0x1D6C8 => array(0x3B7), 0x1D6C9 => array(0x3B8), 0x1D6CA => array(0x3B9),
  3037.                     0x1D6CB => array(0x3BA), 0x1D6CC => array(0x3BB), 0x1D6CD => array(0x3BC),
  3038.                     0x1D6CE => array(0x3BD), 0x1D6CF => array(0x3BE), 0x1D6D0 => array(0x3BF),
  3039.                     0x1D6D1 => array(0x3C0), 0x1D6D2 => array(0x3C1), 0x1D6D3 => array(0x3C3),
  3040.                     0x1D6D4 => array(0x3C3), 0x1D6D5 => array(0x3C4), 0x1D6D6 => array(0x3C5),
  3041.                     0x1D6D7 => array(0x3C6), 0x1D6D8 => array(0x3C7), 0x1D6D9 => array(0x3C8),
  3042.                     0x1D6DA => array(0x3C9), 0x1D6DB => array(0x2202), 0x1D6DC => array(0x3B5),
  3043.                     0x1D6DD => array(0x3B8), 0x1D6DE => array(0x3BA), 0x1D6DF => array(0x3C6),
  3044.                     0x1D6E0 => array(0x3C1), 0x1D6E1 => array(0x3C0), 0x1D6E2 => array(0x3B1),
  3045.                     0x1D6E3 => array(0x3B2), 0x1D6E4 => array(0x3B3), 0x1D6E5 => array(0x3B4),
  3046.                     0x1D6E6 => array(0x3B5), 0x1D6E7 => array(0x3B6), 0x1D6E8 => array(0x3B7),
  3047.                     0x1D6E9 => array(0x3B8), 0x1D6EA => array(0x3B9), 0x1D6EB => array(0x3BA),
  3048.                     0x1D6EC => array(0x3BB), 0x1D6ED => array(0x3BC), 0x1D6EE => array(0x3BD),
  3049.                     0x1D6EF => array(0x3BE), 0x1D6F0 => array(0x3BF), 0x1D6F1 => array(0x3C0),
  3050.                     0x1D6F2 => array(0x3C1), 0x1D6F3 => array(0x3B8), 0x1D6F4 => array(0x3C3),
  3051.                     0x1D6F5 => array(0x3C4), 0x1D6F6 => array(0x3C5), 0x1D6F7 => array(0x3C6),
  3052.                     0x1D6F8 => array(0x3C7), 0x1D6F9 => array(0x3C8), 0x1D6FA => array(0x3C9),
  3053.                     0x1D6FB => array(0x2207), 0x1D6FC => array(0x3B1), 0x1D6FD => array(0x3B2),
  3054.                     0x1D6FE => array(0x3B3), 0x1D6FF => array(0x3B4), 0x1D700 => array(0x3B5),
  3055.                     0x1D701 => array(0x3B6), 0x1D702 => array(0x3B7), 0x1D703 => array(0x3B8),
  3056.                     0x1D704 => array(0x3B9), 0x1D705 => array(0x3BA), 0x1D706 => array(0x3BB),
  3057.                     0x1D707 => array(0x3BC), 0x1D708 => array(0x3BD), 0x1D709 => array(0x3BE),
  3058.                     0x1D70A => array(0x3BF), 0x1D70B => array(0x3C0), 0x1D70C => array(0x3C1),
  3059.                     0x1D70D => array(0x3C3), 0x1D70E => array(0x3C3), 0x1D70F => array(0x3C4),
  3060.                     0x1D710 => array(0x3C5), 0x1D711 => array(0x3C6), 0x1D712 => array(0x3C7),
  3061.                     0x1D713 => array(0x3C8), 0x1D714 => array(0x3C9), 0x1D715 => array(0x2202),
  3062.                     0x1D716 => array(0x3B5), 0x1D717 => array(0x3B8), 0x1D718 => array(0x3BA),
  3063.                     0x1D719 => array(0x3C6), 0x1D71A => array(0x3C1), 0x1D71B => array(0x3C0),
  3064.                     0x1D71C => array(0x3B1), 0x1D71D => array(0x3B2), 0x1D71E => array(0x3B3),
  3065.                     0x1D71F => array(0x3B4), 0x1D720 => array(0x3B5), 0x1D721 => array(0x3B6),
  3066.                     0x1D722 => array(0x3B7), 0x1D723 => array(0x3B8), 0x1D724 => array(0x3B9),
  3067.                     0x1D725 => array(0x3BA), 0x1D726 => array(0x3BB), 0x1D727 => array(0x3BC),
  3068.                     0x1D728 => array(0x3BD), 0x1D729 => array(0x3BE), 0x1D72A => array(0x3BF),
  3069.                     0x1D72B => array(0x3C0), 0x1D72C => array(0x3C1), 0x1D72D => array(0x3B8),
  3070.                     0x1D72E => array(0x3C3), 0x1D72F => array(0x3C4), 0x1D730 => array(0x3C5),
  3071.                     0x1D731 => array(0x3C6), 0x1D732 => array(0x3C7), 0x1D733 => array(0x3C8),
  3072.                     0x1D734 => array(0x3C9), 0x1D735 => array(0x2207), 0x1D736 => array(0x3B1),
  3073.                     0x1D737 => array(0x3B2), 0x1D738 => array(0x3B3), 0x1D739 => array(0x3B4),
  3074.                     0x1D73A => array(0x3B5), 0x1D73B => array(0x3B6), 0x1D73C => array(0x3B7),
  3075.                     0x1D73D => array(0x3B8), 0x1D73E => array(0x3B9), 0x1D73F => array(0x3BA),
  3076.                     0x1D740 => array(0x3BB), 0x1D741 => array(0x3BC), 0x1D742 => array(0x3BD),
  3077.                     0x1D743 => array(0x3BE), 0x1D744 => array(0x3BF), 0x1D745 => array(0x3C0),
  3078.                     0x1D746 => array(0x3C1), 0x1D747 => array(0x3C3), 0x1D748 => array(0x3C3),
  3079.                     0x1D749 => array(0x3C4), 0x1D74A => array(0x3C5), 0x1D74B => array(0x3C6),
  3080.                     0x1D74C => array(0x3C7), 0x1D74D => array(0x3C8), 0x1D74E => array(0x3C9),
  3081.                     0x1D74F => array(0x2202), 0x1D750 => array(0x3B5), 0x1D751 => array(0x3B8),
  3082.                     0x1D752 => array(0x3BA), 0x1D753 => array(0x3C6), 0x1D754 => array(0x3C1),
  3083.                     0x1D755 => array(0x3C0), 0x1D756 => array(0x3B1), 0x1D757 => array(0x3B2),
  3084.                     0x1D758 => array(0x3B3), 0x1D759 => array(0x3B4), 0x1D75A => array(0x3B5),
  3085.                     0x1D75B => array(0x3B6), 0x1D75C => array(0x3B7), 0x1D75D => array(0x3B8),
  3086.                     0x1D75E => array(0x3B9), 0x1D75F => array(0x3BA), 0x1D760 => array(0x3BB),
  3087.                     0x1D761 => array(0x3BC), 0x1D762 => array(0x3BD), 0x1D763 => array(0x3BE),
  3088.                     0x1D764 => array(0x3BF), 0x1D765 => array(0x3C0), 0x1D766 => array(0x3C1),
  3089.                     0x1D767 => array(0x3B8), 0x1D768 => array(0x3C3), 0x1D769 => array(0x3C4),
  3090.                     0x1D76A => array(0x3C5), 0x1D76B => array(0x3C6), 0x1D76C => array(0x3C7),
  3091.                     0x1D76D => array(0x3C8), 0x1D76E => array(0x3C9), 0x1D76F => array(0x2207),
  3092.                     0x1D770 => array(0x3B1), 0x1D771 => array(0x3B2), 0x1D772 => array(0x3B3),
  3093.                     0x1D773 => array(0x3B4), 0x1D774 => array(0x3B5), 0x1D775 => array(0x3B6),
  3094.                     0x1D776 => array(0x3B7), 0x1D777 => array(0x3B8), 0x1D778 => array(0x3B9),
  3095.                     0x1D779 => array(0x3BA), 0x1D77A => array(0x3BB), 0x1D77B => array(0x3BC),
  3096.                     0x1D77C => array(0x3BD), 0x1D77D => array(0x3BE), 0x1D77E => array(0x3BF),
  3097.                     0x1D77F => array(0x3C0), 0x1D780 => array(0x3C1), 0x1D781 => array(0x3C3),
  3098.                     0x1D782 => array(0x3C3), 0x1D783 => array(0x3C4), 0x1D784 => array(0x3C5),
  3099.                     0x1D785 => array(0x3C6), 0x1D786 => array(0x3C7), 0x1D787 => array(0x3C8),
  3100.                     0x1D788 => array(0x3C9), 0x1D789 => array(0x2202), 0x1D78A => array(0x3B5),
  3101.                     0x1D78B => array(0x3B8), 0x1D78C => array(0x3BA), 0x1D78D => array(0x3C6),
  3102.                     0x1D78E => array(0x3C1), 0x1D78F => array(0x3C0), 0x1D790 => array(0x3B1),
  3103.                     0x1D791 => array(0x3B2), 0x1D792 => array(0x3B3), 0x1D793 => array(0x3B4),
  3104.                     0x1D794 => array(0x3B5), 0x1D795 => array(0x3B6), 0x1D796 => array(0x3B7),
  3105.                     0x1D797 => array(0x3B8), 0x1D798 => array(0x3B9), 0x1D799 => array(0x3BA),
  3106.                     0x1D79A => array(0x3BB), 0x1D79B => array(0x3BC), 0x1D79C => array(0x3BD),
  3107.                     0x1D79D => array(0x3BE), 0x1D79E => array(0x3BF), 0x1D79F => array(0x3C0),
  3108.                     0x1D7A0 => array(0x3C1), 0x1D7A1 => array(0x3B8), 0x1D7A2 => array(0x3C3),
  3109.                     0x1D7A3 => array(0x3C4), 0x1D7A4 => array(0x3C5), 0x1D7A5 => array(0x3C6),
  3110.                     0x1D7A6 => array(0x3C7), 0x1D7A7 => array(0x3C8), 0x1D7A8 => array(0x3C9),
  3111.                     0x1D7A9 => array(0x2207), 0x1D7AA => array(0x3B1), 0x1D7AB => array(0x3B2),
  3112.                     0x1D7AC => array(0x3B3), 0x1D7AD => array(0x3B4), 0x1D7AE => array(0x3B5),
  3113.                     0x1D7AF => array(0x3B6), 0x1D7B0 => array(0x3B7), 0x1D7B1 => array(0x3B8),
  3114.                     0x1D7B2 => array(0x3B9), 0x1D7B3 => array(0x3BA), 0x1D7B4 => array(0x3BB),
  3115.                     0x1D7B5 => array(0x3BC), 0x1D7B6 => array(0x3BD), 0x1D7B7 => array(0x3BE),
  3116.                     0x1D7B8 => array(0x3BF), 0x1D7B9 => array(0x3C0), 0x1D7BA => array(0x3C1),
  3117.                     0x1D7BB => array(0x3C3), 0x1D7BC => array(0x3C3), 0x1D7BD => array(0x3C4),
  3118.                     0x1D7BE => array(0x3C5), 0x1D7BF => array(0x3C6), 0x1D7C0 => array(0x3C7),
  3119.                     0x1D7C1 => array(0x3C8), 0x1D7C2 => array(0x3C9), 0x1D7C3 => array(0x2202),
  3120.                     0x1D7C4 => array(0x3B5), 0x1D7C5 => array(0x3B8), 0x1D7C6 => array(0x3BA),
  3121.                     0x1D7C7 => array(0x3C6), 0x1D7C8 => array(0x3C1), 0x1D7C9 => array(0x3C0),
  3122.                     0x1D7CA => array(0x3DD), 0x1D7CB => array(0x3DD), 0x1D7CE => array(0x30),
  3123.                     0x1D7CF => array(0x31), 0x1D7D0 => array(0x32), 0x1D7D1 => array(0x33),
  3124.                     0x1D7D2 => array(0x34), 0x1D7D3 => array(0x35), 0x1D7D4 => array(0x36),
  3125.                     0x1D7D5 => array(0x37), 0x1D7D6 => array(0x38), 0x1D7D7 => array(0x39),
  3126.                     0x1D7D8 => array(0x30), 0x1D7D9 => array(0x31), 0x1D7DA => array(0x32),
  3127.                     0x1D7DB => array(0x33), 0x1D7DC => array(0x34), 0x1D7DD => array(0x35),
  3128.                     0x1D7DE => array(0x36), 0x1D7DF => array(0x37), 0x1D7E0 => array(0x38),
  3129.                     0x1D7E1 => array(0x39), 0x1D7E2 => array(0x30), 0x1D7E3 => array(0x31),
  3130.                     0x1D7E4 => array(0x32), 0x1D7E5 => array(0x33), 0x1D7E6 => array(0x34),
  3131.                     0x1D7E7 => array(0x35), 0x1D7E8 => array(0x36), 0x1D7E9 => array(0x37),
  3132.                     0x1D7EA => array(0x38), 0x1D7EB => array(0x39), 0x1D7EC => array(0x30),
  3133.                     0x1D7ED => array(0x31), 0x1D7EE => array(0x32), 0x1D7EF => array(0x33),
  3134.                     0x1D7F0 => array(0x34), 0x1D7F1 => array(0x35), 0x1D7F2 => array(0x36),
  3135.                     0x1D7F3 => array(0x37), 0x1D7F4 => array(0x38), 0x1D7F5 => array(0x39),
  3136.                     0x1D7F6 => array(0x30), 0x1D7F7 => array(0x31), 0x1D7F8 => array(0x32),
  3137.                     0x1D7F9 => array(0x33), 0x1D7FA => array(0x34), 0x1D7FB => array(0x35),
  3138.                     0x1D7FC => array(0x36), 0x1D7FD => array(0x37), 0x1D7FE => array(0x38),
  3139.                     0x1D7FF => array(0x39), 0x1EE00 => array(0x627), 0x1EE01 => array(0x628),
  3140.                     0x1EE02 => array(0x62C), 0x1EE03 => array(0x62F), 0x1EE05 => array(0x648),
  3141.                     0x1EE06 => array(0x632), 0x1EE07 => array(0x62D), 0x1EE08 => array(0x637),
  3142.                     0x1EE09 => array(0x64A), 0x1EE0A => array(0x643), 0x1EE0B => array(0x644),
  3143.                     0x1EE0C => array(0x645), 0x1EE0D => array(0x646), 0x1EE0E => array(0x633),
  3144.                     0x1EE0F => array(0x639), 0x1EE10 => array(0x641), 0x1EE11 => array(0x635),
  3145.                     0x1EE12 => array(0x642), 0x1EE13 => array(0x631), 0x1EE14 => array(0x634),
  3146.                     0x1EE15 => array(0x62A), 0x1EE16 => array(0x62B), 0x1EE17 => array(0x62E),
  3147.                     0x1EE18 => array(0x630), 0x1EE19 => array(0x636), 0x1EE1A => array(0x638),
  3148.                     0x1EE1B => array(0x63A), 0x1EE1C => array(0x66E), 0x1EE1D => array(0x6BA),
  3149.                     0x1EE1E => array(0x6A1), 0x1EE1F => array(0x66F), 0x1EE21 => array(0x628),
  3150.                     0x1EE22 => array(0x62C), 0x1EE24 => array(0x647), 0x1EE27 => array(0x62D),
  3151.                     0x1EE29 => array(0x64A), 0x1EE2A => array(0x643), 0x1EE2B => array(0x644),
  3152.                     0x1EE2C => array(0x645), 0x1EE2D => array(0x646), 0x1EE2E => array(0x633),
  3153.                     0x1EE2F => array(0x639), 0x1EE30 => array(0x641), 0x1EE31 => array(0x635),
  3154.                     0x1EE32 => array(0x642), 0x1EE34 => array(0x634), 0x1EE35 => array(0x62A),
  3155.                     0x1EE36 => array(0x62B), 0x1EE37 => array(0x62E), 0x1EE39 => array(0x636),
  3156.                     0x1EE3B => array(0x63A), 0x1EE42 => array(0x62C), 0x1EE47 => array(0x62D),
  3157.                     0x1EE49 => array(0x64A), 0x1EE4B => array(0x644), 0x1EE4D => array(0x646),
  3158.                     0x1EE4E => array(0x633), 0x1EE4F => array(0x639), 0x1EE51 => array(0x635),
  3159.                     0x1EE52 => array(0x642), 0x1EE54 => array(0x634), 0x1EE57 => array(0x62E),
  3160.                     0x1EE59 => array(0x636), 0x1EE5B => array(0x63A), 0x1EE5D => array(0x6BA),
  3161.                     0x1EE5F => array(0x66F), 0x1EE61 => array(0x628), 0x1EE62 => array(0x62C),
  3162.                     0x1EE64 => array(0x647), 0x1EE67 => array(0x62D), 0x1EE68 => array(0x637),
  3163.                     0x1EE69 => array(0x64A), 0x1EE6A => array(0x643), 0x1EE6C => array(0x645),
  3164.                     0x1EE6D => array(0x646), 0x1EE6E => array(0x633), 0x1EE6F => array(0x639),
  3165.                     0x1EE70 => array(0x641), 0x1EE71 => array(0x635), 0x1EE72 => array(0x642),
  3166.                     0x1EE74 => array(0x634), 0x1EE75 => array(0x62A), 0x1EE76 => array(0x62B),
  3167.                     0x1EE77 => array(0x62E), 0x1EE79 => array(0x636), 0x1EE7A => array(0x638),
  3168.                     0x1EE7B => array(0x63A), 0x1EE7C => array(0x66E), 0x1EE7E => array(0x6A1),
  3169.                     0x1EE80 => array(0x627), 0x1EE81 => array(0x628), 0x1EE82 => array(0x62C),
  3170.                     0x1EE83 => array(0x62F), 0x1EE84 => array(0x647), 0x1EE85 => array(0x648),
  3171.                     0x1EE86 => array(0x632), 0x1EE87 => array(0x62D), 0x1EE88 => array(0x637),
  3172.                     0x1EE89 => array(0x64A), 0x1EE8B => array(0x644), 0x1EE8C => array(0x645),
  3173.                     0x1EE8D => array(0x646), 0x1EE8E => array(0x633), 0x1EE8F => array(0x639),
  3174.                     0x1EE90 => array(0x641), 0x1EE91 => array(0x635), 0x1EE92 => array(0x642),
  3175.                     0x1EE93 => array(0x631), 0x1EE94 => array(0x634), 0x1EE95 => array(0x62A),
  3176.                     0x1EE96 => array(0x62B), 0x1EE97 => array(0x62E), 0x1EE98 => array(0x630),
  3177.                     0x1EE99 => array(0x636), 0x1EE9A => array(0x638), 0x1EE9B => array(0x63A),
  3178.                     0x1EEA1 => array(0x628), 0x1EEA2 => array(0x62C), 0x1EEA3 => array(0x62F),
  3179.                     0x1EEA5 => array(0x648), 0x1EEA6 => array(0x632), 0x1EEA7 => array(0x62D),
  3180.                     0x1EEA8 => array(0x637), 0x1EEA9 => array(0x64A), 0x1EEAB => array(0x644),
  3181.                     0x1EEAC => array(0x645), 0x1EEAD => array(0x646), 0x1EEAE => array(0x633),
  3182.                     0x1EEAF => array(0x639), 0x1EEB0 => array(0x641), 0x1EEB1 => array(0x635),
  3183.                     0x1EEB2 => array(0x642), 0x1EEB3 => array(0x631), 0x1EEB4 => array(0x634),
  3184.                     0x1EEB5 => array(0x62A), 0x1EEB6 => array(0x62B), 0x1EEB7 => array(0x62E),
  3185.                     0x1EEB8 => array(0x630), 0x1EEB9 => array(0x636), 0x1EEBA => array(0x638),
  3186.                     0x1EEBB => array(0x63A), 0x1F12A => array(0x3014, 0x73, 0x3015), 0x1F12B => array(0x63),
  3187.                     0x1F12C => array(0x72), 0x1F12D => array(0x63, 0x64), 0x1F12E => array(0x77, 0x7A),
  3188.                     0x1F130 => array(0x61), 0x1F131 => array(0x62), 0x1F132 => array(0x63),
  3189.                     0x1F133 => array(0x64), 0x1F134 => array(0x65), 0x1F135 => array(0x66),
  3190.                     0x1F136 => array(0x67), 0x1F137 => array(0x68), 0x1F138 => array(0x69),
  3191.                     0x1F139 => array(0x6A), 0x1F13A => array(0x6B), 0x1F13B => array(0x6C),
  3192.                     0x1F13C => array(0x6D), 0x1F13D => array(0x6E), 0x1F13E => array(0x6F),
  3193.                     0x1F13F => array(0x70), 0x1F140 => array(0x71), 0x1F141 => array(0x72),
  3194.                     0x1F142 => array(0x73), 0x1F143 => array(0x74), 0x1F144 => array(0x75),
  3195.                     0x1F145 => array(0x76), 0x1F146 => array(0x77), 0x1F147 => array(0x78),
  3196.                     0x1F148 => array(0x79), 0x1F149 => array(0x7A), 0x1F14A => array(0x68, 0x76),
  3197.                     0x1F14B => array(0x6D, 0x76), 0x1F14C => array(0x73, 0x64), 0x1F14D => array(0x73, 0x73),
  3198.                     0x1F14E => array(0x70, 0x70, 0x76), 0x1F14F => array(0x77, 0x63), 0x1F16A => array(0x6D, 0x63),
  3199.                     0x1F16B => array(0x6D, 0x64), 0x1F190 => array(0x64, 0x6A), 0x1F200 => array(0x307B, 0x304B),
  3200.                     0x1F201 => array(0x30B3, 0x30B3), 0x1F202 => array(0x30B5), 0x1F210 => array(0x624B),
  3201.                     0x1F211 => array(0x5B57), 0x1F212 => array(0x53CC), 0x1F213 => array(0x30C7),
  3202.                     0x1F214 => array(0x4E8C), 0x1F215 => array(0x591A), 0x1F216 => array(0x89E3),
  3203.                     0x1F217 => array(0x5929), 0x1F218 => array(0x4EA4), 0x1F219 => array(0x6620),
  3204.                     0x1F21A => array(0x7121), 0x1F21B => array(0x6599), 0x1F21C => array(0x524D),
  3205.                     0x1F21D => array(0x5F8C), 0x1F21E => array(0x518D), 0x1F21F => array(0x65B0),
  3206.                     0x1F220 => array(0x521D), 0x1F221 => array(0x7D42), 0x1F222 => array(0x751F),
  3207.                     0x1F223 => array(0x8CA9), 0x1F224 => array(0x58F0), 0x1F225 => array(0x5439),
  3208.                     0x1F226 => array(0x6F14), 0x1F227 => array(0x6295), 0x1F228 => array(0x6355),
  3209.                     0x1F229 => array(0x4E00), 0x1F22A => array(0x4E09), 0x1F22B => array(0x904A),
  3210.                     0x1F22C => array(0x5DE6), 0x1F22D => array(0x4E2D), 0x1F22E => array(0x53F3),
  3211.                     0x1F22F => array(0x6307), 0x1F230 => array(0x8D70), 0x1F231 => array(0x6253),
  3212.                     0x1F232 => array(0x7981), 0x1F233 => array(0x7A7A), 0x1F234 => array(0x5408),
  3213.                     0x1F235 => array(0x6E80), 0x1F236 => array(0x6709), 0x1F237 => array(0x6708),
  3214.                     0x1F238 => array(0x7533), 0x1F239 => array(0x5272), 0x1F23A => array(0x55B6),
  3215.                     0x1F240 => array(0x3014, 0x672C, 0x3015), 0x1F241 => array(0x3014, 0x4E09, 0x3015), 0x1F242 => array(0x3014, 0x4E8C, 0x3015),
  3216.                     0x1F243 => array(0x3014, 0x5B89, 0x3015), 0x1F244 => array(0x3014, 0x70B9, 0x3015), 0x1F245 => array(0x3014, 0x6253, 0x3015),
  3217.                     0x1F246 => array(0x3014, 0x76D7, 0x3015), 0x1F247 => array(0x3014, 0x52DD, 0x3015), 0x1F248 => array(0x3014, 0x6557, 0x3015),
  3218.                     0x1F250 => array(0x5F97), 0x1F251 => array(0x53EF), 0x2F800 => array(0x4E3D),
  3219.                     0x2F801 => array(0x4E38), 0x2F802 => array(0x4E41), 0x2F803 => array(0x20122),
  3220.                     0x2F804 => array(0x4F60), 0x2F805 => array(0x4FAE), 0x2F806 => array(0x4FBB),
  3221.                     0x2F807 => array(0x5002), 0x2F808 => array(0x507A), 0x2F809 => array(0x5099),
  3222.                     0x2F80A => array(0x50E7), 0x2F80B => array(0x50CF), 0x2F80C => array(0x349E),
  3223.                     0x2F80D => array(0x2063A), 0x2F80E => array(0x514D), 0x2F80F => array(0x5154),
  3224.                     0x2F810 => array(0x5164), 0x2F811 => array(0x5177), 0x2F812 => array(0x2051C),
  3225.                     0x2F813 => array(0x34B9), 0x2F814 => array(0x5167), 0x2F815 => array(0x518D),
  3226.                     0x2F816 => array(0x2054B), 0x2F817 => array(0x5197), 0x2F818 => array(0x51A4),
  3227.                     0x2F819 => array(0x4ECC), 0x2F81A => array(0x51AC), 0x2F81B => array(0x51B5),
  3228.                     0x2F81C => array(0x291DF), 0x2F81D => array(0x51F5), 0x2F81E => array(0x5203),
  3229.                     0x2F81F => array(0x34DF), 0x2F820 => array(0x523B), 0x2F821 => array(0x5246),
  3230.                     0x2F822 => array(0x5272), 0x2F823 => array(0x5277), 0x2F824 => array(0x3515),
  3231.                     0x2F825 => array(0x52C7), 0x2F826 => array(0x52C9), 0x2F827 => array(0x52E4),
  3232.                     0x2F828 => array(0x52FA), 0x2F829 => array(0x5305), 0x2F82A => array(0x5306),
  3233.                     0x2F82B => array(0x5317), 0x2F82C => array(0x5349), 0x2F82D => array(0x5351),
  3234.                     0x2F82E => array(0x535A), 0x2F82F => array(0x5373), 0x2F830 => array(0x537D),
  3235.                     0x2F831 => array(0x537F), 0x2F832 => array(0x537F), 0x2F833 => array(0x537F),
  3236.                     0x2F834 => array(0x20A2C), 0x2F835 => array(0x7070), 0x2F836 => array(0x53CA),
  3237.                     0x2F837 => array(0x53DF), 0x2F838 => array(0x20B63), 0x2F839 => array(0x53EB),
  3238.                     0x2F83A => array(0x53F1), 0x2F83B => array(0x5406), 0x2F83C => array(0x549E),
  3239.                     0x2F83D => array(0x5438), 0x2F83E => array(0x5448), 0x2F83F => array(0x5468),
  3240.                     0x2F840 => array(0x54A2), 0x2F841 => array(0x54F6), 0x2F842 => array(0x5510),
  3241.                     0x2F843 => array(0x5553), 0x2F844 => array(0x5563), 0x2F845 => array(0x5584),
  3242.                     0x2F846 => array(0x5584), 0x2F847 => array(0x5599), 0x2F848 => array(0x55AB),
  3243.                     0x2F849 => array(0x55B3), 0x2F84A => array(0x55C2), 0x2F84B => array(0x5716),
  3244.                     0x2F84C => array(0x5606), 0x2F84D => array(0x5717), 0x2F84E => array(0x5651),
  3245.                     0x2F84F => array(0x5674), 0x2F850 => array(0x5207), 0x2F851 => array(0x58EE),
  3246.                     0x2F852 => array(0x57CE), 0x2F853 => array(0x57F4), 0x2F854 => array(0x580D),
  3247.                     0x2F855 => array(0x578B), 0x2F856 => array(0x5832), 0x2F857 => array(0x5831),
  3248.                     0x2F858 => array(0x58AC), 0x2F859 => array(0x214E4), 0x2F85A => array(0x58F2),
  3249.                     0x2F85B => array(0x58F7), 0x2F85C => array(0x5906), 0x2F85D => array(0x591A),
  3250.                     0x2F85E => array(0x5922), 0x2F85F => array(0x5962), 0x2F860 => array(0x216A8),
  3251.                     0x2F861 => array(0x216EA), 0x2F862 => array(0x59EC), 0x2F863 => array(0x5A1B),
  3252.                     0x2F864 => array(0x5A27), 0x2F865 => array(0x59D8), 0x2F866 => array(0x5A66),
  3253.                     0x2F867 => array(0x36EE), 0x2F869 => array(0x5B08), 0x2F86A => array(0x5B3E),
  3254.                     0x2F86B => array(0x5B3E), 0x2F86C => array(0x219C8), 0x2F86D => array(0x5BC3),
  3255.                     0x2F86E => array(0x5BD8), 0x2F86F => array(0x5BE7), 0x2F870 => array(0x5BF3),
  3256.                     0x2F871 => array(0x21B18), 0x2F872 => array(0x5BFF), 0x2F873 => array(0x5C06),
  3257.                     0x2F875 => array(0x5C22), 0x2F876 => array(0x3781), 0x2F877 => array(0x5C60),
  3258.                     0x2F878 => array(0x5C6E), 0x2F879 => array(0x5CC0), 0x2F87A => array(0x5C8D),
  3259.                     0x2F87B => array(0x21DE4), 0x2F87C => array(0x5D43), 0x2F87D => array(0x21DE6),
  3260.                     0x2F87E => array(0x5D6E), 0x2F87F => array(0x5D6B), 0x2F880 => array(0x5D7C),
  3261.                     0x2F881 => array(0x5DE1), 0x2F882 => array(0x5DE2), 0x2F883 => array(0x382F),
  3262.                     0x2F884 => array(0x5DFD), 0x2F885 => array(0x5E28), 0x2F886 => array(0x5E3D),
  3263.                     0x2F887 => array(0x5E69), 0x2F888 => array(0x3862), 0x2F889 => array(0x22183),
  3264.                     0x2F88A => array(0x387C), 0x2F88B => array(0x5EB0), 0x2F88C => array(0x5EB3),
  3265.                     0x2F88D => array(0x5EB6), 0x2F88E => array(0x5ECA), 0x2F88F => array(0x2A392),
  3266.                     0x2F890 => array(0x5EFE), 0x2F891 => array(0x22331), 0x2F892 => array(0x22331),
  3267.                     0x2F893 => array(0x8201), 0x2F894 => array(0x5F22), 0x2F895 => array(0x5F22),
  3268.                     0x2F896 => array(0x38C7), 0x2F897 => array(0x232B8), 0x2F898 => array(0x261DA),
  3269.                     0x2F899 => array(0x5F62), 0x2F89A => array(0x5F6B), 0x2F89B => array(0x38E3),
  3270.                     0x2F89C => array(0x5F9A), 0x2F89D => array(0x5FCD), 0x2F89E => array(0x5FD7),
  3271.                     0x2F89F => array(0x5FF9), 0x2F8A0 => array(0x6081), 0x2F8A1 => array(0x393A),
  3272.                     0x2F8A2 => array(0x391C), 0x2F8A3 => array(0x6094), 0x2F8A4 => array(0x226D4),
  3273.                     0x2F8A5 => array(0x60C7), 0x2F8A6 => array(0x6148), 0x2F8A7 => array(0x614C),
  3274.                     0x2F8A8 => array(0x614E), 0x2F8A9 => array(0x614C), 0x2F8AA => array(0x617A),
  3275.                     0x2F8AB => array(0x618E), 0x2F8AC => array(0x61B2), 0x2F8AD => array(0x61A4),
  3276.                     0x2F8AE => array(0x61AF), 0x2F8AF => array(0x61DE), 0x2F8B0 => array(0x61F2),
  3277.                     0x2F8B1 => array(0x61F6), 0x2F8B2 => array(0x6210), 0x2F8B3 => array(0x621B),
  3278.                     0x2F8B4 => array(0x625D), 0x2F8B5 => array(0x62B1), 0x2F8B6 => array(0x62D4),
  3279.                     0x2F8B7 => array(0x6350), 0x2F8B8 => array(0x22B0C), 0x2F8B9 => array(0x633D),
  3280.                     0x2F8BA => array(0x62FC), 0x2F8BB => array(0x6368), 0x2F8BC => array(0x6383),
  3281.                     0x2F8BD => array(0x63E4), 0x2F8BE => array(0x22BF1), 0x2F8BF => array(0x6422),
  3282.                     0x2F8C0 => array(0x63C5), 0x2F8C1 => array(0x63A9), 0x2F8C2 => array(0x3A2E),
  3283.                     0x2F8C3 => array(0x6469), 0x2F8C4 => array(0x647E), 0x2F8C5 => array(0x649D),
  3284.                     0x2F8C6 => array(0x6477), 0x2F8C7 => array(0x3A6C), 0x2F8C8 => array(0x654F),
  3285.                     0x2F8C9 => array(0x656C), 0x2F8CA => array(0x2300A), 0x2F8CB => array(0x65E3),
  3286.                     0x2F8CC => array(0x66F8), 0x2F8CD => array(0x6649), 0x2F8CE => array(0x3B19),
  3287.                     0x2F8CF => array(0x6691), 0x2F8D0 => array(0x3B08), 0x2F8D1 => array(0x3AE4),
  3288.                     0x2F8D2 => array(0x5192), 0x2F8D3 => array(0x5195), 0x2F8D4 => array(0x6700),
  3289.                     0x2F8D5 => array(0x669C), 0x2F8D6 => array(0x80AD), 0x2F8D7 => array(0x43D9),
  3290.                     0x2F8D8 => array(0x6717), 0x2F8D9 => array(0x671B), 0x2F8DA => array(0x6721),
  3291.                     0x2F8DB => array(0x675E), 0x2F8DC => array(0x6753), 0x2F8DD => array(0x233C3),
  3292.                     0x2F8DE => array(0x3B49), 0x2F8DF => array(0x67FA), 0x2F8E0 => array(0x6785),
  3293.                     0x2F8E1 => array(0x6852), 0x2F8E2 => array(0x6885), 0x2F8E3 => array(0x2346D),
  3294.                     0x2F8E4 => array(0x688E), 0x2F8E5 => array(0x681F), 0x2F8E6 => array(0x6914),
  3295.                     0x2F8E7 => array(0x3B9D), 0x2F8E8 => array(0x6942), 0x2F8E9 => array(0x69A3),
  3296.                     0x2F8EA => array(0x69EA), 0x2F8EB => array(0x6AA8), 0x2F8EC => array(0x236A3),
  3297.                     0x2F8ED => array(0x6ADB), 0x2F8EE => array(0x3C18), 0x2F8EF => array(0x6B21),
  3298.                     0x2F8F0 => array(0x238A7), 0x2F8F1 => array(0x6B54), 0x2F8F2 => array(0x3C4E),
  3299.                     0x2F8F3 => array(0x6B72), 0x2F8F4 => array(0x6B9F), 0x2F8F5 => array(0x6BBA),
  3300.                     0x2F8F6 => array(0x6BBB), 0x2F8F7 => array(0x23A8D), 0x2F8F8 => array(0x21D0B),
  3301.                     0x2F8F9 => array(0x23AFA), 0x2F8FA => array(0x6C4E), 0x2F8FB => array(0x23CBC),
  3302.                     0x2F8FC => array(0x6CBF), 0x2F8FD => array(0x6CCD), 0x2F8FE => array(0x6C67),
  3303.                     0x2F8FF => array(0x6D16), 0x2F900 => array(0x6D3E), 0x2F901 => array(0x6D77),
  3304.                     0x2F902 => array(0x6D41), 0x2F903 => array(0x6D69), 0x2F904 => array(0x6D78),
  3305.                     0x2F905 => array(0x6D85), 0x2F906 => array(0x23D1E), 0x2F907 => array(0x6D34),
  3306.                     0x2F908 => array(0x6E2F), 0x2F909 => array(0x6E6E), 0x2F90A => array(0x3D33),
  3307.                     0x2F90B => array(0x6ECB), 0x2F90C => array(0x6EC7), 0x2F90D => array(0x23ED1),
  3308.                     0x2F90E => array(0x6DF9), 0x2F90F => array(0x6F6E), 0x2F910 => array(0x23F5E),
  3309.                     0x2F911 => array(0x23F8E), 0x2F912 => array(0x6FC6), 0x2F913 => array(0x7039),
  3310.                     0x2F914 => array(0x701E), 0x2F915 => array(0x701B), 0x2F916 => array(0x3D96),
  3311.                     0x2F917 => array(0x704A), 0x2F918 => array(0x707D), 0x2F919 => array(0x7077),
  3312.                     0x2F91A => array(0x70AD), 0x2F91B => array(0x20525), 0x2F91C => array(0x7145),
  3313.                     0x2F91D => array(0x24263), 0x2F91E => array(0x719C), 0x2F920 => array(0x7228),
  3314.                     0x2F921 => array(0x7235), 0x2F922 => array(0x7250), 0x2F923 => array(0x24608),
  3315.                     0x2F924 => array(0x7280), 0x2F925 => array(0x7295), 0x2F926 => array(0x24735),
  3316.                     0x2F927 => array(0x24814), 0x2F928 => array(0x737A), 0x2F929 => array(0x738B),
  3317.                     0x2F92A => array(0x3EAC), 0x2F92B => array(0x73A5), 0x2F92C => array(0x3EB8),
  3318.                     0x2F92D => array(0x3EB8), 0x2F92E => array(0x7447), 0x2F92F => array(0x745C),
  3319.                     0x2F930 => array(0x7471), 0x2F931 => array(0x7485), 0x2F932 => array(0x74CA),
  3320.                     0x2F933 => array(0x3F1B), 0x2F934 => array(0x7524), 0x2F935 => array(0x24C36),
  3321.                     0x2F936 => array(0x753E), 0x2F937 => array(0x24C92), 0x2F938 => array(0x7570),
  3322.                     0x2F939 => array(0x2219F), 0x2F93A => array(0x7610), 0x2F93B => array(0x24FA1),
  3323.                     0x2F93C => array(0x24FB8), 0x2F93D => array(0x25044), 0x2F93E => array(0x3FFC),
  3324.                     0x2F93F => array(0x4008), 0x2F940 => array(0x76F4), 0x2F941 => array(0x250F3),
  3325.                     0x2F942 => array(0x250F2), 0x2F943 => array(0x25119), 0x2F944 => array(0x25133),
  3326.                     0x2F945 => array(0x771E), 0x2F946 => array(0x771F), 0x2F947 => array(0x771F),
  3327.                     0x2F948 => array(0x774A), 0x2F949 => array(0x4039), 0x2F94A => array(0x778B),
  3328.                     0x2F94B => array(0x4046), 0x2F94C => array(0x4096), 0x2F94D => array(0x2541D),
  3329.                     0x2F94E => array(0x784E), 0x2F94F => array(0x788C), 0x2F950 => array(0x78CC),
  3330.                     0x2F951 => array(0x40E3), 0x2F952 => array(0x25626), 0x2F953 => array(0x7956),
  3331.                     0x2F954 => array(0x2569A), 0x2F955 => array(0x256C5), 0x2F956 => array(0x798F),
  3332.                     0x2F957 => array(0x79EB), 0x2F958 => array(0x412F), 0x2F959 => array(0x7A40),
  3333.                     0x2F95A => array(0x7A4A), 0x2F95B => array(0x7A4F), 0x2F95C => array(0x2597C),
  3334.                     0x2F95D => array(0x25AA7), 0x2F95E => array(0x25AA7), 0x2F960 => array(0x4202),
  3335.                     0x2F961 => array(0x25BAB), 0x2F962 => array(0x7BC6), 0x2F963 => array(0x7BC9),
  3336.                     0x2F964 => array(0x4227), 0x2F965 => array(0x25C80), 0x2F966 => array(0x7CD2),
  3337.                     0x2F967 => array(0x42A0), 0x2F968 => array(0x7CE8), 0x2F969 => array(0x7CE3),
  3338.                     0x2F96A => array(0x7D00), 0x2F96B => array(0x25F86), 0x2F96C => array(0x7D63),
  3339.                     0x2F96D => array(0x4301), 0x2F96E => array(0x7DC7), 0x2F96F => array(0x7E02),
  3340.                     0x2F970 => array(0x7E45), 0x2F971 => array(0x4334), 0x2F972 => array(0x26228),
  3341.                     0x2F973 => array(0x26247), 0x2F974 => array(0x4359), 0x2F975 => array(0x262D9),
  3342.                     0x2F976 => array(0x7F7A), 0x2F977 => array(0x2633E), 0x2F978 => array(0x7F95),
  3343.                     0x2F979 => array(0x7FFA), 0x2F97A => array(0x8005), 0x2F97B => array(0x264DA),
  3344.                     0x2F97C => array(0x26523), 0x2F97D => array(0x8060), 0x2F97E => array(0x265A8),
  3345.                     0x2F97F => array(0x8070), 0x2F980 => array(0x2335F), 0x2F981 => array(0x43D5),
  3346.                     0x2F982 => array(0x80B2), 0x2F983 => array(0x8103), 0x2F984 => array(0x440B),
  3347.                     0x2F985 => array(0x813E), 0x2F986 => array(0x5AB5), 0x2F987 => array(0x267A7),
  3348.                     0x2F988 => array(0x267B5), 0x2F989 => array(0x23393), 0x2F98A => array(0x2339C),
  3349.                     0x2F98B => array(0x8201), 0x2F98C => array(0x8204), 0x2F98D => array(0x8F9E),
  3350.                     0x2F98E => array(0x446B), 0x2F98F => array(0x8291), 0x2F990 => array(0x828B),
  3351.                     0x2F991 => array(0x829D), 0x2F992 => array(0x52B3), 0x2F993 => array(0x82B1),
  3352.                     0x2F994 => array(0x82B3), 0x2F995 => array(0x82BD), 0x2F996 => array(0x82E6),
  3353.                     0x2F997 => array(0x26B3C), 0x2F998 => array(0x82E5), 0x2F999 => array(0x831D),
  3354.                     0x2F99A => array(0x8363), 0x2F99B => array(0x83AD), 0x2F99C => array(0x8323),
  3355.                     0x2F99D => array(0x83BD), 0x2F99E => array(0x83E7), 0x2F99F => array(0x8457),
  3356.                     0x2F9A0 => array(0x8353), 0x2F9A1 => array(0x83CA), 0x2F9A2 => array(0x83CC),
  3357.                     0x2F9A3 => array(0x83DC), 0x2F9A4 => array(0x26C36), 0x2F9A5 => array(0x26D6B),
  3358.                     0x2F9A6 => array(0x26CD5), 0x2F9A7 => array(0x452B), 0x2F9A8 => array(0x84F1),
  3359.                     0x2F9A9 => array(0x84F3), 0x2F9AA => array(0x8516), 0x2F9AB => array(0x273CA),
  3360.                     0x2F9AC => array(0x8564), 0x2F9AD => array(0x26F2C), 0x2F9AE => array(0x455D),
  3361.                     0x2F9AF => array(0x4561), 0x2F9B0 => array(0x26FB1), 0x2F9B1 => array(0x270D2),
  3362.                     0x2F9B2 => array(0x456B), 0x2F9B3 => array(0x8650), 0x2F9B4 => array(0x865C),
  3363.                     0x2F9B5 => array(0x8667), 0x2F9B6 => array(0x8669), 0x2F9B7 => array(0x86A9),
  3364.                     0x2F9B8 => array(0x8688), 0x2F9B9 => array(0x870E), 0x2F9BA => array(0x86E2),
  3365.                     0x2F9BB => array(0x8779), 0x2F9BC => array(0x8728), 0x2F9BD => array(0x876B),
  3366.                     0x2F9BE => array(0x8786), 0x2F9C0 => array(0x87E1), 0x2F9C1 => array(0x8801),
  3367.                     0x2F9C2 => array(0x45F9), 0x2F9C3 => array(0x8860), 0x2F9C4 => array(0x8863),
  3368.                     0x2F9C5 => array(0x27667), 0x2F9C6 => array(0x88D7), 0x2F9C7 => array(0x88DE),
  3369.                     0x2F9C8 => array(0x4635), 0x2F9C9 => array(0x88FA), 0x2F9CA => array(0x34BB),
  3370.                     0x2F9CB => array(0x278AE), 0x2F9CC => array(0x27966), 0x2F9CD => array(0x46BE),
  3371.                     0x2F9CE => array(0x46C7), 0x2F9CF => array(0x8AA0), 0x2F9D0 => array(0x8AED),
  3372.                     0x2F9D1 => array(0x8B8A), 0x2F9D2 => array(0x8C55), 0x2F9D3 => array(0x27CA8),
  3373.                     0x2F9D4 => array(0x8CAB), 0x2F9D5 => array(0x8CC1), 0x2F9D6 => array(0x8D1B),
  3374.                     0x2F9D7 => array(0x8D77), 0x2F9D8 => array(0x27F2F), 0x2F9D9 => array(0x20804),
  3375.                     0x2F9DA => array(0x8DCB), 0x2F9DB => array(0x8DBC), 0x2F9DC => array(0x8DF0),
  3376.                     0x2F9DD => array(0x208DE), 0x2F9DE => array(0x8ED4), 0x2F9DF => array(0x8F38),
  3377.                     0x2F9E0 => array(0x285D2), 0x2F9E1 => array(0x285ED), 0x2F9E2 => array(0x9094),
  3378.                     0x2F9E3 => array(0x90F1), 0x2F9E4 => array(0x9111), 0x2F9E5 => array(0x2872E),
  3379.                     0x2F9E6 => array(0x911B), 0x2F9E7 => array(0x9238), 0x2F9E8 => array(0x92D7),
  3380.                     0x2F9E9 => array(0x92D8), 0x2F9EA => array(0x927C), 0x2F9EB => array(0x93F9),
  3381.                     0x2F9EC => array(0x9415), 0x2F9ED => array(0x28BFA), 0x2F9EE => array(0x958B),
  3382.                     0x2F9EF => array(0x4995), 0x2F9F0 => array(0x95B7), 0x2F9F1 => array(0x28D77),
  3383.                     0x2F9F2 => array(0x49E6), 0x2F9F3 => array(0x96C3), 0x2F9F4 => array(0x5DB2),
  3384.                     0x2F9F5 => array(0x9723), 0x2F9F6 => array(0x29145), 0x2F9F7 => array(0x2921A),
  3385.                     0x2F9F8 => array(0x4A6E), 0x2F9F9 => array(0x4A76), 0x2F9FA => array(0x97E0),
  3386.                     0x2F9FB => array(0x2940A), 0x2F9FC => array(0x4AB2), 0x2F9FD => array(0x29496),
  3387.                     0x2F9FE => array(0x980B), 0x2F9FF => array(0x980B), 0x2FA00 => array(0x9829),
  3388.                     0x2FA01 => array(0x295B6), 0x2FA02 => array(0x98E2), 0x2FA03 => array(0x4B33),
  3389.                     0x2FA04 => array(0x9929), 0x2FA05 => array(0x99A7), 0x2FA06 => array(0x99C2),
  3390.                     0x2FA07 => array(0x99FE), 0x2FA08 => array(0x4BCE), 0x2FA09 => array(0x29B30),
  3391.                     0x2FA0A => array(0x9B12), 0x2FA0B => array(0x9C40), 0x2FA0C => array(0x9CFD),
  3392.                     0x2FA0D => array(0x4CCE), 0x2FA0E => array(0x4CED), 0x2FA0F => array(0x9D67),
  3393.                     0x2FA10 => array(0x2A0CE), 0x2FA11 => array(0x4CF8), 0x2FA12 => array(0x2A105),
  3394.                     0x2FA13 => array(0x2A20E), 0x2FA14 => array(0x2A291), 0x2FA15 => array(0x9EBB),
  3395.                     0x2FA16 => array(0x4D56), 0x2FA17 => array(0x9EF9), 0x2FA18 => array(0x9EFE),
  3396.                     0x2FA19 => array(0x9F05), 0x2FA1A => array(0x9F0F), 0x2FA1B => array(0x9F16),
  3397.                     0x2FA1C => array(0x9F3B), 0x2FA1D => array(0x2A600)
  3398.             ),
  3399.             'norm_combcls' => array(0x334 => 1, 0x335 => 1, 0x336 => 1, 0x337 => 1,
  3400.                     0x338 => 1, 0x93C => 7, 0x9BC => 7, 0xA3C => 7, 0xABC => 7,
  3401.                     0xB3C => 7, 0xCBC => 7, 0x1037 => 7, 0x3099 => 8, 0x309A => 8,
  3402.                     0x94D => 9, 0x9CD => 9, 0xA4D => 9, 0xACD => 9, 0xB4D => 9,
  3403.                     0xBCD => 9, 0xC4D => 9, 0xCCD => 9, 0xD4D => 9, 0xDCA => 9,
  3404.                     0xE3A => 9, 0xF84 => 9, 0x1039 => 9, 0x1714 => 9, 0x1734 => 9,
  3405.                     0x17D2 => 9, 0x5B0 => 10, 0x5B1 => 11, 0x5B2 => 12, 0x5B3 => 13,
  3406.                     0x5B4 => 14, 0x5B5 => 15, 0x5B6 => 16, 0x5B7 => 17, 0x5B8 => 18,
  3407.                     0x5B9 => 19, 0x5BB => 20, 0x5Bc => 21, 0x5BD => 22, 0x5BF => 23,
  3408.                     0x5C1 => 24, 0x5C2 => 25, 0xFB1E => 26, 0x64B => 27, 0x64C => 28,
  3409.                     0x64D => 29, 0x64E => 30, 0x64F => 31, 0x650 => 32, 0x651 => 33,
  3410.                     0x652 => 34, 0x670 => 35, 0x711 => 36, 0xC55 => 84, 0xC56 => 91,
  3411.                     0xE38 => 103, 0xE39 => 103, 0xE48 => 107, 0xE49 => 107, 0xE4A => 107,
  3412.                     0xE4B => 107, 0xEB8 => 118, 0xEB9 => 118, 0xEC8 => 122, 0xEC9 => 122,
  3413.                     0xECA => 122, 0xECB => 122, 0xF71 => 129, 0xF72 => 130, 0xF7A => 130,
  3414.                     0xF7B => 130, 0xF7C => 130, 0xF7D => 130, 0xF80 => 130, 0xF74 => 132,
  3415.                     0x321 => 202, 0x322 => 202, 0x327 => 202, 0x328 => 202, 0x31B => 216,
  3416.                     0xF39 => 216, 0x1D165 => 216, 0x1D166 => 216, 0x1D16E => 216, 0x1D16F => 216,
  3417.                     0x1D170 => 216, 0x1D171 => 216, 0x1D172 => 216, 0x302A => 218, 0x316 => 220,
  3418.                     0x317 => 220, 0x318 => 220, 0x319 => 220, 0x31C => 220, 0x31D => 220,
  3419.                     0x31E => 220, 0x31F => 220, 0x320 => 220, 0x323 => 220, 0x324 => 220,
  3420.                     0x325 => 220, 0x326 => 220, 0x329 => 220, 0x32A => 220, 0x32B => 220,
  3421.                     0x32C => 220, 0x32D => 220, 0x32E => 220, 0x32F => 220, 0x330 => 220,
  3422.                     0x331 => 220, 0x332 => 220, 0x333 => 220, 0x339 => 220, 0x33A => 220,
  3423.                     0x33B => 220, 0x33C => 220, 0x347 => 220, 0x348 => 220, 0x349 => 220,
  3424.                     0x34D => 220, 0x34E => 220, 0x353 => 220, 0x354 => 220, 0x355 => 220,
  3425.                     0x356 => 220, 0x591 => 220, 0x596 => 220, 0x59B => 220, 0x5A3 => 220,
  3426.                     0x5A4 => 220, 0x5A5 => 220, 0x5A6 => 220, 0x5A7 => 220, 0x5AA => 220,
  3427.                     0x655 => 220, 0x656 => 220, 0x6E3 => 220, 0x6EA => 220, 0x6ED => 220,
  3428.                     0x731 => 220, 0x734 => 220, 0x737 => 220, 0x738 => 220, 0x739 => 220,
  3429.                     0x73B => 220, 0x73C => 220, 0x73E => 220, 0x742 => 220, 0x744 => 220,
  3430.                     0x746 => 220, 0x748 => 220, 0x952 => 220, 0xF18 => 220, 0xF19 => 220,
  3431.                     0xF35 => 220, 0xF37 => 220, 0xFC6 => 220, 0x193B => 220, 0x20E8 => 220,
  3432.                     0x1D17B => 220, 0x1D17C => 220, 0x1D17D => 220, 0x1D17E => 220, 0x1D17F => 220,
  3433.                     0x1D180 => 220, 0x1D181 => 220, 0x1D182 => 220, 0x1D18A => 220, 0x1D18B => 220,
  3434.                     0x59A => 222, 0x5AD => 222, 0x1929 => 222, 0x302D => 222, 0x302E => 224,
  3435.                     0x302F => 224, 0x1D16D => 226, 0x5AE => 228, 0x18A9 => 228, 0x302B => 228,
  3436.                     0x300 => 230, 0x301 => 230, 0x302 => 230, 0x303 => 230, 0x304 => 230,
  3437.                     0x305 => 230, 0x306 => 230, 0x307 => 230, 0x308 => 230, 0x309 => 230,
  3438.                     0x30A => 230, 0x30B => 230, 0x30C => 230, 0x30D => 230, 0x30E => 230,
  3439.                     0x30F => 230, 0x310 => 230, 0x311 => 230, 0x312 => 230, 0x313 => 230,
  3440.                     0x314 => 230, 0x33D => 230, 0x33E => 230, 0x33F => 230, 0x340 => 230,
  3441.                     0x341 => 230, 0x342 => 230, 0x343 => 230, 0x344 => 230, 0x346 => 230,
  3442.                     0x34A => 230, 0x34B => 230, 0x34C => 230, 0x350 => 230, 0x351 => 230,
  3443.                     0x352 => 230, 0x357 => 230, 0x363 => 230, 0x364 => 230, 0x365 => 230,
  3444.                     0x366 => 230, 0x367 => 230, 0x368 => 230, 0x369 => 230, 0x36A => 230,
  3445.                     0x36B => 230, 0x36C => 230, 0x36D => 230, 0x36E => 230, 0x36F => 230,
  3446.                     0x483 => 230, 0x484 => 230, 0x485 => 230, 0x486 => 230, 0x592 => 230,
  3447.                     0x593 => 230, 0x594 => 230, 0x595 => 230, 0x597 => 230, 0x598 => 230,
  3448.                     0x599 => 230, 0x59C => 230, 0x59D => 230, 0x59E => 230, 0x59F => 230,
  3449.                     0x5A0 => 230, 0x5A1 => 230, 0x5A8 => 230, 0x5A9 => 230, 0x5AB => 230,
  3450.                     0x5AC => 230, 0x5AF => 230, 0x5C4 => 230, 0x610 => 230, 0x611 => 230,
  3451.                     0x612 => 230, 0x613 => 230, 0x614 => 230, 0x615 => 230, 0x653 => 230,
  3452.                     0x654 => 230, 0x657 => 230, 0x658 => 230, 0x6D6 => 230, 0x6D7 => 230,
  3453.                     0x6D8 => 230, 0x6D9 => 230, 0x6DA => 230, 0x6DB => 230, 0x6DC => 230,
  3454.                     0x6DF => 230, 0x6E0 => 230, 0x6E1 => 230, 0x6E2 => 230, 0x6E4 => 230,
  3455.                     0x6E7 => 230, 0x6E8 => 230, 0x6EB => 230, 0x6EC => 230, 0x730 => 230,
  3456.                     0x732 => 230, 0x733 => 230, 0x735 => 230, 0x736 => 230, 0x73A => 230,
  3457.                     0x73D => 230, 0x73F => 230, 0x740 => 230, 0x741 => 230, 0x743 => 230,
  3458.                     0x745 => 230, 0x747 => 230, 0x749 => 230, 0x74A => 230, 0x951 => 230,
  3459.                     0x953 => 230, 0x954 => 230, 0xF82 => 230, 0xF83 => 230, 0xF86 => 230,
  3460.                     0xF87 => 230, 0x170D => 230, 0x193A => 230, 0x20D0 => 230, 0x20D1 => 230,
  3461.                     0x20D4 => 230, 0x20D5 => 230, 0x20D6 => 230, 0x20D7 => 230, 0x20DB => 230,
  3462.                     0x20DC => 230, 0x20E1 => 230, 0x20E7 => 230, 0x20E9 => 230, 0xFE20 => 230,
  3463.                     0xFE21 => 230, 0xFE22 => 230, 0xFE23 => 230, 0x1D185 => 230, 0x1D186 => 230,
  3464.                     0x1D187 => 230, 0x1D189 => 230, 0x1D188 => 230, 0x1D1AA => 230, 0x1D1AB => 230,
  3465.                     0x1D1AC => 230, 0x1D1AD => 230, 0x315 => 232, 0x31A => 232, 0x302C => 232,
  3466.                     0x35F => 233, 0x362 => 233, 0x35D => 234, 0x35E => 234, 0x360 => 234,
  3467.                     0x361 => 234, 0x345 => 240
  3468.             )
  3469.     );
  3470. }
  3471.