commit 383e2b06c8af144b5cd729dc7bc4ce2e2613f178
parent 0e8fffd4de4a10f498f46cd0e99f53da6a523542
Author: bellard <6490144+bellard@users.noreply.github.com>
Date: Sun, 6 Sep 2020 19:02:03 +0200
2020-03-16 release
Diffstat:
26 files changed, 2347 insertions(+), 2015 deletions(-)
diff --git a/Changelog b/Changelog
@@ -1,3 +1,14 @@
+2020-03-16:
+
+- reworked error handling in std and os libraries: suppressed I/O
+ exceptions in std FILE functions and return a positive errno value
+ when it is explicit
+- output exception messages to stderr
+- added std.loadFile(), std.strerror(), std.FILE.prototype.tello()
+- added JS_GetRuntimeOpaque(), JS_SetRuntimeOpaque(), JS_NewUint32()
+- updated to Unicode 13.0.0
+- misc bug fixes
+
2020-01-19:
- keep CONFIG_BIGNUM in the makefile
diff --git a/TODO b/TODO
@@ -73,5 +73,6 @@ REPL:
Test262o: 0/11262 errors, 463 excluded
Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
-Test262: 17/69942 errors, 855 excluded, 581 skipped
-test262 commit: 28b4fcca4b1b1d278dfe0cc0e69c7d9d59b31aab
+Test262: 22/70040 errors, 860 excluded, 581 skipped
+test262 commit: 25c9e334d301944537215caba1d7f44319f3e0da
+
diff --git a/VERSION b/VERSION
@@ -1 +1 @@
-2020-01-19
+2020-03-16
diff --git a/doc/jsbignum.html b/doc/jsbignum.html
@@ -1,8 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
-<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Javascript Bignum Extensions</title>
<meta name="description" content="Javascript Bignum Extensions">
@@ -10,6 +9,7 @@
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="#SEC_Contents" rel="contents" title="Table of Contents">
<style type="text/css">
<!--
@@ -121,7 +121,7 @@ changes were done in order to simplify the implementation.
<ul>
<li> <code>with operators from</code> is not supported. Operator overloading is always enabled.
-</li><li> The dispatch is not based on a static <code>[[OperatorSet]]</code> field in all instances. Instead, a dynamic lookup the of the <code>Symbol.operatorSet</code> property is done. This property is typically added in the prototype of each object.
+</li><li> The dispatch is not based on a static <code>[[OperatorSet]]</code> field in all instances. Instead, a dynamic lookup of the <code>Symbol.operatorSet</code> property is done. This property is typically added in the prototype of each object.
</li><li> <code>Operators.create(...dictionaries)</code> is used to create a new OperatorSet object. The <code>Operators</code> function is supported as an helper to be closer to the TC39 proposal.
@@ -194,7 +194,7 @@ raised if <em>a < 0</em>.
<h3 class="section">4.1 Introduction</h3>
<p>This extension adds the <code>BigFloat</code> primitive type. The
-<code>BigFloat</code> type represents floating point numbers are in base 2
+<code>BigFloat</code> type represents floating point numbers in base 2
with the IEEE 754 semantics. A floating
point number is represented as a sign, mantissa and exponent. The
special values <code>NaN</code>, <code>+/-Infinity</code>, <code>+0</code> and <code>-0</code>
@@ -216,15 +216,13 @@ point environment is used.
<code>RNDN</code> (“round to nearest with ties to even”)<a name="DOCF1" href="#FOOT1"><sup>1</sup></a>. The status flags of the global environment cannot be
read<a name="DOCF2" href="#FOOT2"><sup>2</sup></a>. The precision of the global environment is
<code>BigFloatEnv.prec</code>. The number of exponent bits of the global
-environment is <code>BigFloatEnv.expBits</code>. If <code>BigFloatEnv.expBits</code> is
-strictly smaller than the maximum allowed number of exponent bits
-(<code>BigFloatEnv.expBitsMax</code>), then the global environment subnormal
-flag is set to <code>true</code>. Otherwise it is set to <code>false</code>;
+environment is <code>BigFloatEnv.expBits</code>. The global environment
+subnormal flag is set to <code>true</code>.
</p>
-<p>For example, <code>prec = 53</code> and <code> expBits = 11</code> give exactly
-the same precision as the IEEE 754 64 bit floating point. The
+<p>For example, <code>prec = 53</code> and <code> expBits = 11</code> exactly give
+the same precision as the IEEE 754 64 bit floating point format. The
default precision is <code>prec = 113</code> and <code> expBits = 15</code> (IEEE
-754 128 bit floating point).
+754 128 bit floating point format).
</p>
<p>The global floating point environment can only be modified temporarily
when calling a function (see <code>BigFloatEnv.setPrec</code>). Hence a
@@ -433,9 +431,8 @@ environment. The initial value is <code>113</code>.
</dd>
<dt><code>expBits</code></dt>
<dd><p>Getter. Return the exponent size in bits of the global floating point
-environment assuming an IEEE 754 representation. If <code>expBits <
-expBitsMax</code>, then subnormal numbers are supported. The initial value
-is <code>15</code>.
+environment assuming an IEEE 754 representation. The initial value is
+<code>15</code>.
</p>
</dd>
<dt><code>setPrec(f, p[, e])</code></dt>
@@ -608,7 +605,7 @@ Number value.
<p>It returns <code>0m</code> if no parameter is provided. Otherwise the first
parameter is converted to a bigdecimal by using ToString(). Hence
-Number value are not converted to their exact numerical value as
+Number values are not converted to their exact numerical value as
BigDecimal.
</p>
<a name="Properties-of-the-BigDecimal-object"></a>
@@ -702,11 +699,11 @@ always represented as BigFloat.
</li><li> The logical xor operator is still available with the <code>^^</code> operator.
-</li><li> The integer division operator can be overloaded by modifying the corresponding operator in <code>BigInt.prototype.[[OperatorSet]]</code>.
+</li><li> The modulo operator (<code>%</code>) returns the Euclidian remainder (always positive) instead of the truncated remainder.
-</li><li> The integer power operator with a non zero negative exponent can be overloaded by modifying the corresponding operator in <code>BigInt.prototype.[[OperatorSet]]</code>.
+</li><li> The integer division operator can be overloaded with <code>Operators.updateBigIntOperators(dictionary)</code>.
-</li><li> The modulo operator (<code>%</code>) returns the Euclidian remainder (always positive) instead of the truncated remainder.
+</li><li> The integer power operator with a non zero negative exponent can be overloaded with <code>Operators.updateBigIntOperators(dictionary)</code>.
</li></ul>
diff --git a/doc/jsbignum.pdf b/doc/jsbignum.pdf
Binary files differ.
diff --git a/doc/jsbignum.texi b/doc/jsbignum.texi
@@ -57,7 +57,7 @@ More precisely, the following modifications were made:
@item @code{with operators from} is not supported. Operator overloading is always enabled.
-@item The dispatch is not based on a static @code{[[OperatorSet]]} field in all instances. Instead, a dynamic lookup the of the @code{Symbol.operatorSet} property is done. This property is typically added in the prototype of each object.
+@item The dispatch is not based on a static @code{[[OperatorSet]]} field in all instances. Instead, a dynamic lookup of the @code{Symbol.operatorSet} property is done. This property is typically added in the prototype of each object.
@item @code{Operators.create(...dictionaries)} is used to create a new OperatorSet object. The @code{Operators} function is supported as an helper to be closer to the TC39 proposal.
@@ -119,7 +119,7 @@ Return the number of trailing zeros in the two's complement binary representatio
@section Introduction
This extension adds the @code{BigFloat} primitive type. The
-@code{BigFloat} type represents floating point numbers are in base 2
+@code{BigFloat} type represents floating point numbers in base 2
with the IEEE 754 semantics. A floating
point number is represented as a sign, mantissa and exponent. The
special values @code{NaN}, @code{+/-Infinity}, @code{+0} and @code{-0}
@@ -143,15 +143,13 @@ explicit.}. The status flags of the global environment cannot be
read@footnote{The rationale is to avoid side effects for the built-in
operators.}. The precision of the global environment is
@code{BigFloatEnv.prec}. The number of exponent bits of the global
-environment is @code{BigFloatEnv.expBits}. If @code{BigFloatEnv.expBits} is
-strictly smaller than the maximum allowed number of exponent bits
-(@code{BigFloatEnv.expBitsMax}), then the global environment subnormal
-flag is set to @code{true}. Otherwise it is set to @code{false};
+environment is @code{BigFloatEnv.expBits}. The global environment
+subnormal flag is set to @code{true}.
-For example, @code{prec = 53} and @code{ expBits = 11} give exactly
-the same precision as the IEEE 754 64 bit floating point. The
+For example, @code{prec = 53} and @code{ expBits = 11} exactly give
+the same precision as the IEEE 754 64 bit floating point format. The
default precision is @code{prec = 113} and @code{ expBits = 15} (IEEE
-754 128 bit floating point).
+754 128 bit floating point format).
The global floating point environment can only be modified temporarily
when calling a function (see @code{BigFloatEnv.setPrec}). Hence a
@@ -345,9 +343,8 @@ environment. The initial value is @code{113}.
@item expBits
Getter. Return the exponent size in bits of the global floating point
-environment assuming an IEEE 754 representation. If @code{expBits <
-expBitsMax}, then subnormal numbers are supported. The initial value
-is @code{15}.
+environment assuming an IEEE 754 representation. The initial value is
+@code{15}.
@item setPrec(f, p[, e])
Set the precision of the global floating point environment to @code{p}
@@ -492,7 +489,7 @@ BigDecimal literals are decimal floating point numbers with a trailing
It returns @code{0m} if no parameter is provided. Otherwise the first
parameter is converted to a bigdecimal by using ToString(). Hence
-Number value are not converted to their exact numerical value as
+Number values are not converted to their exact numerical value as
BigDecimal.
@subsection Properties of the @code{BigDecimal} object
@@ -581,11 +578,11 @@ The following changes are made to the Javascript semantics:
@item The logical xor operator is still available with the @code{^^} operator.
-@item The integer division operator can be overloaded by modifying the corresponding operator in @code{BigInt.prototype.[[OperatorSet]]}.
+@item The modulo operator (@code{%}) returns the Euclidian remainder (always positive) instead of the truncated remainder.
-@item The integer power operator with a non zero negative exponent can be overloaded by modifying the corresponding operator in @code{BigInt.prototype.[[OperatorSet]]}.
+@item The integer division operator can be overloaded with @code{Operators.updateBigIntOperators(dictionary)}.
-@item The modulo operator (@code{%}) returns the Euclidian remainder (always positive) instead of the truncated remainder.
+@item The integer power operator with a non zero negative exponent can be overloaded with @code{Operators.updateBigIntOperators(dictionary)}.
@end itemize
diff --git a/doc/quickjs.html b/doc/quickjs.html
@@ -1,8 +1,7 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
-<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>QuickJS Javascript Engine</title>
<meta name="description" content="QuickJS Javascript Engine">
@@ -10,6 +9,7 @@
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="#SEC_Contents" rel="contents" title="Table of Contents">
<style type="text/css">
<!--
@@ -519,50 +519,39 @@ optional properties:
<dd><p>Evaluate the file <code>filename</code> as a script (global eval).
</p>
</dd>
-<dt><code>Error(errno)</code></dt>
-<dd>
-<p><code>std.Error</code> constructor. Error instances contain the field
-<code>errno</code> (error code) and <code>message</code> (result of
-<code>std.Error.strerror(errno)</code>).
+<dt><code>loadFile(filename)</code></dt>
+<dd><p>Load the file <code>filename</code> and return it as a string assuming UTF-8
+encoding. Return <code>null</code> in case of I/O error.
</p>
-<p>The constructor contains the following fields:
-</p>
-<dl compact="compact">
-<dt><code>EINVAL</code></dt>
-<dt><code>EIO</code></dt>
-<dt><code>EACCES</code></dt>
-<dt><code>EEXIST</code></dt>
-<dt><code>ENOSPC</code></dt>
-<dt><code>ENOSYS</code></dt>
-<dt><code>EBUSY</code></dt>
-<dt><code>ENOENT</code></dt>
-<dt><code>EPERM</code></dt>
-<dt><code>EPIPE</code></dt>
-<dd><p>Integer value of common errors (additional error codes may be defined).
- </p></dd>
-<dt><code>strerror(errno)</code></dt>
-<dd><p>Return a string that describes the error <code>errno</code>.
- </p></dd>
-</dl>
-
</dd>
-<dt><code>open(filename, flags)</code></dt>
-<dd><p>Open a file (wrapper to the libc <code>fopen()</code>). Throws
-<code>std.Error</code> in case of I/O error.
+<dt><code>open(filename, flags, errorObj = undefined)</code></dt>
+<dd><p>Open a file (wrapper to the libc <code>fopen()</code>). Return the FILE
+object or <code>null</code> in case of I/O error. If <code>errorObj</code> is not
+undefined, set its <code>errno</code> property to the error code or to 0 if
+no error occured.
</p>
</dd>
-<dt><code>popen(command, flags)</code></dt>
-<dd><p>Open a process by creating a pipe (wrapper to the libc <code>popen()</code>). Throws
-<code>std.Error</code> in case of I/O error.
+<dt><code>popen(command, flags, errorObj = undefined)</code></dt>
+<dd><p>Open a process by creating a pipe (wrapper to the libc
+<code>popen()</code>). Return the FILE
+object or <code>null</code> in case of I/O error. If <code>errorObj</code> is not
+undefined, set its <code>errno</code> property to the error code or to 0 if
+no error occured.
</p>
</dd>
-<dt><code>fdopen(fd, flags)</code></dt>
+<dt><code>fdopen(fd, flags, errorObj = undefined)</code></dt>
<dd><p>Open a file from a file handle (wrapper to the libc
-<code>fdopen()</code>). Throws <code>std.Error</code> in case of I/O error.
+<code>fdopen()</code>). Return the FILE
+object or <code>null</code> in case of I/O error. If <code>errorObj</code> is not
+undefined, set its <code>errno</code> property to the error code or to 0 if
+no error occured.
</p>
</dd>
-<dt><code>tmpfile()</code></dt>
-<dd><p>Open a temporary file. Throws <code>std.Error</code> in case of I/O error.
+<dt><code>tmpfile(errorObj = undefined)</code></dt>
+<dd><p>Open a temporary file. Return the FILE
+object or <code>null</code> in case of I/O error. If <code>errorObj</code> is not
+undefined, set its <code>errno</code> property to the error code or to 0 if
+no error occured.
</p>
</dd>
<dt><code>puts(str)</code></dt>
@@ -589,6 +578,29 @@ optional properties:
<dd><p>Constants for seek().
</p>
</dd>
+<dt><code>Error</code></dt>
+<dd>
+<p>Enumeration object containing the integer value of common errors
+(additional error codes may be defined):
+</p>
+<dl compact="compact">
+<dt><code>EINVAL</code></dt>
+<dt><code>EIO</code></dt>
+<dt><code>EACCES</code></dt>
+<dt><code>EEXIST</code></dt>
+<dt><code>ENOSPC</code></dt>
+<dt><code>ENOSYS</code></dt>
+<dt><code>EBUSY</code></dt>
+<dt><code>ENOENT</code></dt>
+<dt><code>EPERM</code></dt>
+<dt><code>EPIPE</code></dt>
+</dl>
+
+</dd>
+<dt><code>strerror(errno)</code></dt>
+<dd><p>Return a string that describes the error <code>errno</code>.
+</p>
+</dd>
<dt><code>gc()</code></dt>
<dd><p>Manually invoke the cycle removal algorithm. The cycle removal
algorithm is automatically started when needed, so this function is
@@ -614,12 +626,14 @@ optional properties:
</p>
</dd>
<dt><code>full</code></dt>
-<dd><p>Boolean (default = false). If true, return the an object contains
+<dd>
+<p>Boolean (default = false). If true, return the an object contains
the properties <code>response</code> (response content),
<code>responseHeaders</code> (headers separated by CRLF), <code>status</code>
- (status code). If <code>full</code> is false, only the response is
- returned if the status is between 200 and 299. Otherwise an
- <code>std.Error</code> exception is raised.
+ (status code). <code>response</code> is <code>null</code> is case of protocol or
+ network error. If <code>full</code> is false, only the response is
+ returned if the status is between 200 and 299. Otherwise <code>null</code>
+ is returned.
</p>
</dd>
</dl>
@@ -631,7 +645,7 @@ optional properties:
</p>
<dl compact="compact">
<dt><code>close()</code></dt>
-<dd><p>Close the file.
+<dd><p>Close the file. Return 0 if OK or <code>-errno</code> in case of I/O error.
</p></dd>
<dt><code>puts(str)</code></dt>
<dd><p>Outputs the string with the UTF-8 encoding.
@@ -643,17 +657,27 @@ optional properties:
<dd><p>Flush the buffered file.
</p></dd>
<dt><code>seek(offset, whence)</code></dt>
-<dd><p>Seek to a give file position (whence is <code>std.SEEK_*</code>). Throws a
-<code>std.Error</code> in case of I/O error.
+<dd><p>Seek to a give file position (whence is
+<code>std.SEEK_*</code>). <code>offset</code> can be a number or a bigint. Return
+0 if OK or <code>-errno</code> in case of I/O error.
</p></dd>
<dt><code>tell()</code></dt>
<dd><p>Return the current file position.
</p></dd>
+<dt><code>tello()</code></dt>
+<dd><p>Return the current file position as a bigint.
+</p></dd>
<dt><code>eof()</code></dt>
<dd><p>Return true if end of file.
</p></dd>
<dt><code>fileno()</code></dt>
<dd><p>Return the associated OS handle.
+</p></dd>
+<dt><code>error()</code></dt>
+<dd><p>Return true if there was an error.
+</p></dd>
+<dt><code>clearerr()</code></dt>
+<dd><p>Clear the error indication.
</p>
</dd>
<dt><code>read(buffer, position, length)</code></dt>
@@ -727,7 +751,9 @@ error code.
</p>
</dd>
<dt><code>seek(fd, offset, whence)</code></dt>
-<dd><p>Seek in the file. Use <code>std.SEEK_*</code> for <code>whence</code>.
+<dd><p>Seek in the file. Use <code>std.SEEK_*</code> for
+<code>whence</code>. <code>offset</code> is either a number or a bigint. If
+<code>offset</code> is a bigint, a bigint is returned too.
</p>
</dd>
<dt><code>read(fd, buffer, offset, length)</code></dt>
@@ -755,11 +781,11 @@ Return the number of written bytes or < 0 if error.
</p>
</dd>
<dt><code>remove(filename)</code></dt>
-<dd><p>Remove a file. Return 0 if OK or < 0 if error.
+<dd><p>Remove a file. Return 0 if OK or <code>-errno</code>.
</p>
</dd>
<dt><code>rename(oldname, newname)</code></dt>
-<dd><p>Rename a file. Return 0 if OK or < 0 if error.
+<dd><p>Rename a file. Return 0 if OK or <code>-errno</code>.
</p>
</dd>
<dt><code>realpath(path)</code></dt>
@@ -773,11 +799,11 @@ and <code>err</code> the error code.
</p>
</dd>
<dt><code>chdir(path)</code></dt>
-<dd><p>Change the current directory. Return the error code.
+<dd><p>Change the current directory. Return 0 if OK or <code>-errno</code>.
</p>
</dd>
<dt><code>mkdir(path, mode = 0o777)</code></dt>
-<dd><p>Create a directory at <code>path</code>. Return the error code.
+<dd><p>Create a directory at <code>path</code>. Return 0 if OK or <code>-errno</code>.
</p>
</dd>
<dt><code>stat(path)</code></dt>
@@ -809,11 +835,11 @@ itself.
</dd>
<dt><code>utimes(path, atime, mtime)</code></dt>
<dd><p>Change the access and modification times of the file <code>path</code>. The
-times are specified in milliseconds since 1970.
+times are specified in milliseconds since 1970. Return 0 if OK or <code>-errno</code>.
</p>
</dd>
<dt><code>symlink(target, linkpath)</code></dt>
-<dd><p>Create a link at <code>linkpath</code> containing the string <code>target</code>.
+<dd><p>Create a link at <code>linkpath</code> containing the string <code>target</code>. Return 0 if OK or <code>-errno</code>.
</p>
</dd>
<dt><code>readlink(path)</code></dt>
@@ -896,7 +922,8 @@ object containing optional parameters:
</dd>
<dt><code>waitpid(pid, options)</code></dt>
-<dd><p><code>waitpid</code> Unix system call. Return the array <code>[ret, status]</code>.
+<dd><p><code>waitpid</code> Unix system call. Return the array <code>[ret,
+status]</code>. <code>ret</code> contains <code>-errno</code> in case of error.
</p>
</dd>
<dt><code>WNOHANG</code></dt>
diff --git a/doc/quickjs.pdf b/doc/quickjs.pdf
Binary files differ.
diff --git a/doc/quickjs.texi b/doc/quickjs.texi
@@ -373,44 +373,35 @@ optional properties:
@item loadScript(filename)
Evaluate the file @code{filename} as a script (global eval).
-@item Error(errno)
-
-@code{std.Error} constructor. Error instances contain the field
-@code{errno} (error code) and @code{message} (result of
-@code{std.Error.strerror(errno)}).
-
-The constructor contains the following fields:
-
- @table @code
- @item EINVAL
- @item EIO
- @item EACCES
- @item EEXIST
- @item ENOSPC
- @item ENOSYS
- @item EBUSY
- @item ENOENT
- @item EPERM
- @item EPIPE
- Integer value of common errors (additional error codes may be defined).
- @item strerror(errno)
- Return a string that describes the error @code{errno}.
- @end table
-
-@item open(filename, flags)
-Open a file (wrapper to the libc @code{fopen()}). Throws
-@code{std.Error} in case of I/O error.
-
-@item popen(command, flags)
-Open a process by creating a pipe (wrapper to the libc @code{popen()}). Throws
-@code{std.Error} in case of I/O error.
-
-@item fdopen(fd, flags)
+@item loadFile(filename)
+Load the file @code{filename} and return it as a string assuming UTF-8
+encoding. Return @code{null} in case of I/O error.
+
+@item open(filename, flags, errorObj = undefined)
+Open a file (wrapper to the libc @code{fopen()}). Return the FILE
+object or @code{null} in case of I/O error. If @code{errorObj} is not
+undefined, set its @code{errno} property to the error code or to 0 if
+no error occured.
+
+@item popen(command, flags, errorObj = undefined)
+Open a process by creating a pipe (wrapper to the libc
+@code{popen()}). Return the FILE
+object or @code{null} in case of I/O error. If @code{errorObj} is not
+undefined, set its @code{errno} property to the error code or to 0 if
+no error occured.
+
+@item fdopen(fd, flags, errorObj = undefined)
Open a file from a file handle (wrapper to the libc
-@code{fdopen()}). Throws @code{std.Error} in case of I/O error.
+@code{fdopen()}). Return the FILE
+object or @code{null} in case of I/O error. If @code{errorObj} is not
+undefined, set its @code{errno} property to the error code or to 0 if
+no error occured.
-@item tmpfile()
-Open a temporary file. Throws @code{std.Error} in case of I/O error.
+@item tmpfile(errorObj = undefined)
+Open a temporary file. Return the FILE
+object or @code{null} in case of I/O error. If @code{errorObj} is not
+undefined, set its @code{errno} property to the error code or to 0 if
+no error occured.
@item puts(str)
Equivalent to @code{std.out.puts(str)}.
@@ -431,6 +422,27 @@ Wrappers to the libc file @code{stdin}, @code{stdout}, @code{stderr}.
@item SEEK_END
Constants for seek().
+@item Error
+
+Enumeration object containing the integer value of common errors
+(additional error codes may be defined):
+
+ @table @code
+ @item EINVAL
+ @item EIO
+ @item EACCES
+ @item EEXIST
+ @item ENOSPC
+ @item ENOSYS
+ @item EBUSY
+ @item ENOENT
+ @item EPERM
+ @item EPIPE
+ @end table
+
+@item strerror(errno)
+Return a string that describes the error @code{errno}.
+
@item gc()
Manually invoke the cycle removal algorithm. The cycle removal
algorithm is automatically started when needed, so this function is
@@ -453,12 +465,14 @@ optional properties:
to be UTF-8 encoded.
@item full
+
Boolean (default = false). If true, return the an object contains
the properties @code{response} (response content),
@code{responseHeaders} (headers separated by CRLF), @code{status}
- (status code). If @code{full} is false, only the response is
- returned if the status is between 200 and 299. Otherwise an
- @code{std.Error} exception is raised.
+ (status code). @code{response} is @code{null} is case of protocol or
+ network error. If @code{full} is false, only the response is
+ returned if the status is between 200 and 299. Otherwise @code{null}
+ is returned.
@end table
@@ -468,7 +482,7 @@ FILE prototype:
@table @code
@item close()
-Close the file.
+Close the file. Return 0 if OK or @code{-errno} in case of I/O error.
@item puts(str)
Outputs the string with the UTF-8 encoding.
@item printf(fmt, ...args)
@@ -476,14 +490,21 @@ Formatted printf, same formats as the libc printf.
@item flush()
Flush the buffered file.
@item seek(offset, whence)
-Seek to a give file position (whence is @code{std.SEEK_*}). Throws a
-@code{std.Error} in case of I/O error.
+Seek to a give file position (whence is
+@code{std.SEEK_*}). @code{offset} can be a number or a bigint. Return
+0 if OK or @code{-errno} in case of I/O error.
@item tell()
Return the current file position.
+@item tello()
+Return the current file position as a bigint.
@item eof()
Return true if end of file.
@item fileno()
Return the associated OS handle.
+@item error()
+Return true if there was an error.
+@item clearerr()
+Clear the error indication.
@item read(buffer, position, length)
Read @code{length} bytes from the file to the ArrayBuffer @code{buffer} at byte
@@ -545,7 +566,9 @@ POSIX open flags.
Close the file handle @code{fd}.
@item seek(fd, offset, whence)
-Seek in the file. Use @code{std.SEEK_*} for @code{whence}.
+Seek in the file. Use @code{std.SEEK_*} for
+@code{whence}. @code{offset} is either a number or a bigint. If
+@code{offset} is a bigint, a bigint is returned too.
@item read(fd, buffer, offset, length)
Read @code{length} bytes from the file handle @code{fd} to the
@@ -567,10 +590,10 @@ Return the TTY size as @code{[width, height]} or @code{null} if not available.
Set the TTY in raw mode.
@item remove(filename)
-Remove a file. Return 0 if OK or < 0 if error.
+Remove a file. Return 0 if OK or @code{-errno}.
@item rename(oldname, newname)
-Rename a file. Return 0 if OK or < 0 if error.
+Rename a file. Return 0 if OK or @code{-errno}.
@item realpath(path)
Return @code{[str, err]} where @code{str} is the canonicalized absolute
@@ -581,10 +604,10 @@ Return @code{[str, err]} where @code{str} is the current working directory
and @code{err} the error code.
@item chdir(path)
-Change the current directory. Return the error code.
+Change the current directory. Return 0 if OK or @code{-errno}.
@item mkdir(path, mode = 0o777)
-Create a directory at @code{path}. Return the error code.
+Create a directory at @code{path}. Return 0 if OK or @code{-errno}.
@item stat(path)
@item lstat(path)
@@ -613,10 +636,10 @@ Constants to interpret the @code{mode} property returned by
@item utimes(path, atime, mtime)
Change the access and modification times of the file @code{path}. The
-times are specified in milliseconds since 1970.
+times are specified in milliseconds since 1970. Return 0 if OK or @code{-errno}.
@item symlink(target, linkpath)
-Create a link at @code{linkpath} containing the string @code{target}.
+Create a link at @code{linkpath} containing the string @code{target}. Return 0 if OK or @code{-errno}.
@item readlink(path)
Return @code{[str, err]} where @code{str} is the link target and @code{err}
@@ -685,7 +708,8 @@ object containing optional parameters:
@end table
@item waitpid(pid, options)
-@code{waitpid} Unix system call. Return the array @code{[ret, status]}.
+@code{waitpid} Unix system call. Return the array @code{[ret,
+status]}. @code{ret} contains @code{-errno} in case of error.
@item WNOHANG
Constant for the @code{options} argument of @code{waitpid}.
diff --git a/libbf.c b/libbf.c
@@ -2526,19 +2526,18 @@ fail:
return BF_ST_MEM_ERROR;
}
-/* The rounding mode is always BF_RNDZ. Return BF_ST_OVERFLOW if there
+/* The rounding mode is always BF_RNDZ. Return BF_ST_INVALID_OP if there
is an overflow and 0 otherwise. */
int bf_get_int32(int *pres, const bf_t *a, int flags)
{
uint32_t v;
int ret;
if (a->expn >= BF_EXP_INF) {
- ret = 0;
+ ret = BF_ST_INVALID_OP;
if (flags & BF_GET_INT_MOD) {
v = 0;
} else if (a->expn == BF_EXP_INF) {
v = (uint32_t)INT32_MAX + a->sign;
- /* XXX: return overflow ? */
} else {
v = INT32_MAX;
}
@@ -2551,7 +2550,7 @@ int bf_get_int32(int *pres, const bf_t *a, int flags)
v = -v;
ret = 0;
} else if (!(flags & BF_GET_INT_MOD)) {
- ret = BF_ST_OVERFLOW;
+ ret = BF_ST_INVALID_OP;
if (a->sign) {
v = (uint32_t)INT32_MAX + 1;
if (a->expn == 32 &&
@@ -2571,14 +2570,14 @@ int bf_get_int32(int *pres, const bf_t *a, int flags)
return ret;
}
-/* The rounding mode is always BF_RNDZ. Return BF_ST_OVERFLOW if there
+/* The rounding mode is always BF_RNDZ. Return BF_ST_INVALID_OP if there
is an overflow and 0 otherwise. */
int bf_get_int64(int64_t *pres, const bf_t *a, int flags)
{
uint64_t v;
int ret;
if (a->expn >= BF_EXP_INF) {
- ret = 0;
+ ret = BF_ST_INVALID_OP;
if (flags & BF_GET_INT_MOD) {
v = 0;
} else if (a->expn == BF_EXP_INF) {
@@ -2603,7 +2602,7 @@ int bf_get_int64(int64_t *pres, const bf_t *a, int flags)
v = -v;
ret = 0;
} else if (!(flags & BF_GET_INT_MOD)) {
- ret = BF_ST_OVERFLOW;
+ ret = BF_ST_INVALID_OP;
if (a->sign) {
uint64_t v1;
v = (uint64_t)INT64_MAX + 1;
@@ -2632,6 +2631,40 @@ int bf_get_int64(int64_t *pres, const bf_t *a, int flags)
return ret;
}
+/* The rounding mode is always BF_RNDZ. Return BF_ST_INVALID_OP if there
+ is an overflow and 0 otherwise. */
+int bf_get_uint64(uint64_t *pres, const bf_t *a)
+{
+ uint64_t v;
+ int ret;
+ if (a->expn == BF_EXP_NAN) {
+ goto overflow;
+ } else if (a->expn <= 0) {
+ v = 0;
+ ret = 0;
+ } else if (a->sign) {
+ v = 0;
+ ret = BF_ST_INVALID_OP;
+ } else if (a->expn <= 64) {
+#if LIMB_BITS == 32
+ if (a->expn <= 32)
+ v = a->tab[a->len - 1] >> (LIMB_BITS - a->expn);
+ else
+ v = (((uint64_t)a->tab[a->len - 1] << 32) |
+ get_limbz(a, a->len - 2)) >> (64 - a->expn);
+#else
+ v = a->tab[a->len - 1] >> (LIMB_BITS - a->expn);
+#endif
+ ret = 0;
+ } else {
+ overflow:
+ v = UINT64_MAX;
+ ret = BF_ST_INVALID_OP;
+ }
+ *pres = v;
+ return ret;
+}
+
/* base conversion from radix */
static const uint8_t digits_per_limb_table[BF_RADIX_MAX - 1] = {
diff --git a/libbf.h b/libbf.h
@@ -376,6 +376,7 @@ char *bf_ftoa(size_t *plen, const bf_t *a, int radix, limb_t prec,
#define BF_GET_INT_MOD (1 << 0)
int bf_get_int32(int *pres, const bf_t *a, int flags);
int bf_get_int64(int64_t *pres, const bf_t *a, int flags);
+int bf_get_uint64(uint64_t *pres, const bf_t *a);
/* the following functions are exported for testing only. */
void mp_print_str(const char *str, const limb_t *tab, limb_t n);
diff --git a/libregexp.c b/libregexp.c
@@ -434,8 +434,9 @@ static int __attribute__((format(printf, 2, 3))) re_parse_error(REParseState *s,
return -1;
}
-/* Return -1 in case of overflow */
-static int parse_digits(const uint8_t **pp)
+/* If allow_overflow is false, return -1 in case of
+ overflow. Otherwise return INT32_MAX. */
+static int parse_digits(const uint8_t **pp, BOOL allow_overflow)
{
const uint8_t *p;
uint64_t v;
@@ -448,8 +449,12 @@ static int parse_digits(const uint8_t **pp)
if (c < '0' || c > '9')
break;
v = v * 10 + c - '0';
- if (v >= INT32_MAX)
- return -1;
+ if (v >= INT32_MAX) {
+ if (allow_overflow)
+ v = INT32_MAX;
+ else
+ return -1;
+ }
p++;
}
*pp = p;
@@ -1225,14 +1230,27 @@ static int re_parse_term(REParseState *s, BOOL is_backward_dir)
re_emit_op(s, REOP_prev);
break;
case '{':
- /* As an extension (see ES6 annex B), we accept '{' not
- followed by digits as a normal atom */
- if (!is_digit(p[1])) {
- if (s->is_utf16)
- goto invalid_quant_count;
+ if (s->is_utf16) {
+ return re_parse_error(s, "syntax error");
+ } else if (!is_digit(p[1])) {
+ /* Annex B: we accept '{' not followed by digits as a
+ normal atom */
goto parse_class_atom;
+ } else {
+ const uint8_t *p1 = p + 1;
+ /* Annex B: error if it is like a repetition count */
+ parse_digits(&p1, TRUE);
+ if (*p1 == ',') {
+ p1++;
+ if (is_digit(*p1)) {
+ parse_digits(&p1, TRUE);
+ }
+ }
+ if (*p1 != '}') {
+ goto parse_class_atom;
+ }
}
- /* fall tru */
+ /* fall thru */
case '*':
case '+':
case '?':
@@ -1387,7 +1405,7 @@ static int re_parse_term(REParseState *s, BOOL is_backward_dir)
{
const uint8_t *q = ++p;
- c = parse_digits(&p);
+ c = parse_digits(&p, FALSE);
if (c < 0 || (c >= s->capture_count && c >= re_count_captures(s))) {
if (!s->is_utf16) {
/* Annex B.1.4: accept legacy octal */
@@ -1484,32 +1502,38 @@ static int re_parse_term(REParseState *s, BOOL is_backward_dir)
quant_max = 1;
goto quantifier;
case '{':
- /* As an extension (see ES6 annex B), we accept '{' not
- followed by digits as a normal atom */
- if (!is_digit(p[1])) {
- if (s->is_utf16)
- goto invalid_quant_count;
- break;
- }
- p++;
- quant_min = parse_digits(&p);
- if (quant_min < 0) {
- invalid_quant_count:
- return re_parse_error(s, "invalid repetition count");
- }
- quant_max = quant_min;
- if (*p == ',') {
- p++;
- if (is_digit(*p)) {
- quant_max = parse_digits(&p);
- if (quant_max < 0 || quant_max < quant_min)
+ {
+ const uint8_t *p1 = p;
+ /* As an extension (see ES6 annex B), we accept '{' not
+ followed by digits as a normal atom */
+ if (!is_digit(p[1])) {
+ if (s->is_utf16)
goto invalid_quant_count;
- } else {
- quant_max = INT32_MAX; /* infinity */
+ break;
+ }
+ p++;
+ quant_min = parse_digits(&p, TRUE);
+ quant_max = quant_min;
+ if (*p == ',') {
+ p++;
+ if (is_digit(*p)) {
+ quant_max = parse_digits(&p, TRUE);
+ if (quant_max < quant_min) {
+ invalid_quant_count:
+ return re_parse_error(s, "invalid repetition count");
+ }
+ } else {
+ quant_max = INT32_MAX; /* infinity */
+ }
}
+ if (*p != '}' && !s->is_utf16) {
+ /* Annex B: normal atom if invalid '{' syntax */
+ p = p1;
+ break;
+ }
+ if (re_parse_expect(s, &p, '}'))
+ return -1;
}
- if (re_parse_expect(s, &p, '}'))
- return -1;
quantifier:
greedy = TRUE;
if (*p == '?') {
diff --git a/libunicode-table.h b/libunicode-table.h
@@ -3,7 +3,7 @@
#include <stdint.h>
-static const uint32_t case_conv_table1[359] = {
+static const uint32_t case_conv_table1[361] = {
0x00209a30, 0x00309a00, 0x005a8173, 0x00601730,
0x006c0730, 0x006f81b3, 0x00701700, 0x007c0700,
0x007f8100, 0x00803040, 0x009801c3, 0x00988190,
@@ -86,17 +86,18 @@ static const uint32_t case_conv_table1[359] = {
0x53cb1440, 0x53d50130, 0x53d58130, 0x53d60130,
0x53d68130, 0x53d70130, 0x53d80130, 0x53d88130,
0x53d90130, 0x53d98131, 0x53da0c40, 0x53e10240,
- 0x53e20131, 0x53e28130, 0x53e30130, 0x55a98101,
- 0x55b85020, 0x7d8001b2, 0x7d8081b2, 0x7d8101b2,
- 0x7d8181da, 0x7d8201da, 0x7d8281b3, 0x7d8301b3,
- 0x7d8981bb, 0x7d8a01bb, 0x7d8a81bb, 0x7d8b01bc,
- 0x7d8b81bb, 0x7f909a31, 0x7fa09a01, 0x82002831,
- 0x82142801, 0x82582431, 0x826c2401, 0x86403331,
- 0x86603301, 0x8c502031, 0x8c602001, 0xb7202031,
- 0xb7302001, 0xf4802231, 0xf4912201,
+ 0x53e20131, 0x53e28130, 0x53e30130, 0x53e38440,
+ 0x53fa8240, 0x55a98101, 0x55b85020, 0x7d8001b2,
+ 0x7d8081b2, 0x7d8101b2, 0x7d8181da, 0x7d8201da,
+ 0x7d8281b3, 0x7d8301b3, 0x7d8981bb, 0x7d8a01bb,
+ 0x7d8a81bb, 0x7d8b01bc, 0x7d8b81bb, 0x7f909a31,
+ 0x7fa09a01, 0x82002831, 0x82142801, 0x82582431,
+ 0x826c2401, 0x86403331, 0x86603301, 0x8c502031,
+ 0x8c602001, 0xb7202031, 0xb7302001, 0xf4802231,
+ 0xf4912201,
};
-static const uint8_t case_conv_table2[359] = {
+static const uint8_t case_conv_table2[361] = {
0x01, 0x00, 0x9c, 0x06, 0x07, 0x4d, 0x03, 0x04,
0x10, 0x00, 0x8f, 0x0b, 0x00, 0x00, 0x11, 0x00,
0x08, 0x00, 0x53, 0x4a, 0x51, 0x00, 0x52, 0x00,
@@ -118,7 +119,7 @@ static const uint8_t case_conv_table2[359] = {
0x33, 0x95, 0x00, 0x8e, 0x00, 0x74, 0x99, 0x98,
0x97, 0x96, 0x00, 0x00, 0x9e, 0x00, 0x9c, 0x00,
0xa1, 0xa0, 0x15, 0x2e, 0x2f, 0x30, 0xb4, 0xb5,
- 0x4c, 0xaa, 0xa9, 0x12, 0x14, 0x1e, 0x21, 0x22,
+ 0x4e, 0xaa, 0xa9, 0x12, 0x14, 0x1e, 0x21, 0x22,
0x22, 0x2a, 0x34, 0x35, 0xa6, 0xa7, 0x36, 0x1f,
0x4a, 0x00, 0x00, 0x97, 0x01, 0x5a, 0xda, 0x1d,
0x36, 0x05, 0x00, 0xc4, 0xc3, 0xc6, 0xc5, 0xc8,
@@ -137,11 +138,12 @@ static const uint8_t case_conv_table2[359] = {
0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0xa3, 0xa4,
0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb6, 0x00,
0x00, 0x5a, 0x00, 0x48, 0x00, 0x5b, 0x56, 0x58,
- 0x60, 0x5e, 0x70, 0x69, 0x6f, 0x4b, 0x00, 0x00,
- 0x3b, 0x67, 0xb8, 0x45, 0xa8, 0x8a, 0x8b, 0x8c,
- 0xab, 0xac, 0x58, 0x58, 0xaf, 0x94, 0xb0, 0x6f,
- 0xb2, 0x5a, 0x59, 0x5c, 0x5b, 0x5e, 0x5d, 0x60,
- 0x5f, 0x62, 0x61, 0x64, 0x63, 0x66, 0x65,
+ 0x60, 0x5e, 0x70, 0x69, 0x6f, 0x4d, 0x00, 0x00,
+ 0x3b, 0x67, 0xb8, 0x00, 0x00, 0x45, 0xa8, 0x8a,
+ 0x8b, 0x8c, 0xab, 0xac, 0x58, 0x58, 0xaf, 0x94,
+ 0xb0, 0x6f, 0xb2, 0x5c, 0x5b, 0x5e, 0x5d, 0x60,
+ 0x5f, 0x62, 0x61, 0x64, 0x63, 0x66, 0x65, 0x68,
+ 0x67,
};
static const uint16_t case_conv_ext[58] = {
@@ -170,7 +172,7 @@ static const uint8_t unicode_prop_Cased1_table[172] = {
0x26, 0x01, 0x01, 0x86, 0xe5, 0x80, 0x60, 0x79,
0xb6, 0x81, 0x40, 0x91, 0x81, 0xbd, 0x88, 0x94,
0x05, 0x80, 0x98, 0x80, 0xc7, 0x82, 0x43, 0x34,
- 0xa2, 0x06, 0x80, 0x8b, 0x61, 0x28, 0x97, 0xd4,
+ 0xa2, 0x06, 0x80, 0x8c, 0x61, 0x28, 0x96, 0xd4,
0x80, 0xc6, 0x01, 0x08, 0x09, 0x0b, 0x80, 0x8b,
0x00, 0x06, 0x80, 0xc0, 0x03, 0x0f, 0x06, 0x80,
0x9b, 0x03, 0x04, 0x00, 0x16, 0x80, 0x41, 0x53,
@@ -186,107 +188,109 @@ static const uint8_t unicode_prop_Cased1_index[18] = {
0xf1, 0x01,
};
-static const uint8_t unicode_prop_Case_Ignorable_table[678] = {
+static const uint8_t unicode_prop_Case_Ignorable_table[692] = {
0xa6, 0x05, 0x80, 0x8a, 0x80, 0xa2, 0x00, 0x80,
0xc6, 0x03, 0x00, 0x03, 0x01, 0x81, 0x41, 0xf6,
0x40, 0xbf, 0x19, 0x18, 0x88, 0x08, 0x80, 0x40,
- 0xfa, 0x86, 0x40, 0xce, 0x80, 0xb6, 0xac, 0x00,
- 0x01, 0x01, 0x00, 0xab, 0x80, 0x8a, 0x85, 0x89,
- 0x8a, 0x00, 0xa2, 0x80, 0x89, 0x94, 0x8f, 0x80,
- 0xe4, 0x38, 0x89, 0x03, 0xa0, 0x00, 0x80, 0x9d,
- 0x9a, 0xda, 0x8a, 0xb9, 0x8a, 0x18, 0x08, 0x97,
- 0x97, 0xaa, 0x82, 0xf6, 0xaf, 0xb6, 0x00, 0x03,
- 0x3b, 0x02, 0x86, 0x89, 0x81, 0x8c, 0x80, 0x8e,
- 0x80, 0xb9, 0x03, 0x1f, 0x80, 0x93, 0x81, 0x99,
- 0x01, 0x81, 0xb8, 0x03, 0x0b, 0x09, 0x12, 0x80,
- 0x9d, 0x0a, 0x80, 0x8a, 0x81, 0xb8, 0x03, 0x20,
- 0x0b, 0x80, 0x93, 0x81, 0x95, 0x28, 0x80, 0xb9,
- 0x01, 0x00, 0x1f, 0x07, 0x80, 0x8a, 0x81, 0x9d,
- 0x80, 0xbc, 0x80, 0x8b, 0x80, 0xb1, 0x02, 0x80,
- 0xb8, 0x14, 0x10, 0x1e, 0x81, 0x8a, 0x81, 0x9c,
- 0x80, 0xb9, 0x01, 0x05, 0x04, 0x81, 0x93, 0x81,
- 0x9b, 0x81, 0xb8, 0x0b, 0x1f, 0x80, 0x93, 0x81,
- 0xe5, 0x06, 0x10, 0x80, 0xd9, 0x01, 0x86, 0x8a,
- 0x88, 0xe1, 0x01, 0x88, 0x88, 0x00, 0x85, 0xc9,
- 0x81, 0x9a, 0x00, 0x00, 0x80, 0xb6, 0x8d, 0x04,
- 0x01, 0x84, 0x8a, 0x80, 0xa3, 0x88, 0x80, 0xe5,
- 0x18, 0x28, 0x09, 0x81, 0x98, 0x0b, 0x82, 0x8f,
- 0x83, 0x8c, 0x01, 0x0d, 0x80, 0x8e, 0x80, 0xdd,
- 0x80, 0x42, 0x5f, 0x82, 0x43, 0xb1, 0x82, 0x9c,
- 0x82, 0x9c, 0x81, 0x9d, 0x81, 0xbf, 0x08, 0x37,
- 0x01, 0x8a, 0x10, 0x20, 0xac, 0x83, 0xb3, 0x80,
- 0xc0, 0x81, 0xa1, 0x80, 0xf5, 0x13, 0x81, 0x88,
- 0x05, 0x82, 0x40, 0xda, 0x09, 0x80, 0xb9, 0x00,
- 0x30, 0x00, 0x01, 0x3d, 0x89, 0x08, 0xa6, 0x07,
- 0x8e, 0xc0, 0x83, 0xaf, 0x00, 0x20, 0x04, 0x80,
- 0xa7, 0x88, 0x8b, 0x81, 0x9f, 0x19, 0x08, 0x82,
- 0xb7, 0x00, 0x0a, 0x00, 0x82, 0xb9, 0x39, 0x81,
- 0xbf, 0x85, 0xd1, 0x10, 0x8c, 0x06, 0x18, 0x28,
- 0x11, 0xb1, 0xbe, 0x8c, 0x80, 0xa1, 0xde, 0x04,
- 0x41, 0xbc, 0x00, 0x82, 0x8a, 0x82, 0x8c, 0x82,
- 0x8c, 0x82, 0x8c, 0x81, 0x8b, 0x27, 0x81, 0x89,
- 0x01, 0x01, 0x84, 0xb0, 0x20, 0x89, 0x00, 0x8c,
- 0x80, 0x8f, 0x8c, 0xb2, 0xa0, 0x4b, 0x8a, 0x81,
- 0xf0, 0x82, 0xfc, 0x80, 0x8e, 0x80, 0xdf, 0x9f,
- 0xae, 0x80, 0x41, 0xd4, 0x80, 0xa3, 0x1a, 0x24,
- 0x80, 0xdc, 0x85, 0xdc, 0x82, 0x60, 0x6f, 0x15,
- 0x80, 0x44, 0xe1, 0x85, 0x41, 0x0d, 0x80, 0xe1,
- 0x18, 0x89, 0x00, 0x9b, 0x83, 0xcf, 0x81, 0x8d,
- 0xa1, 0xcd, 0x80, 0x96, 0x82, 0xec, 0x0f, 0x02,
- 0x03, 0x80, 0x98, 0x81, 0x40, 0x9c, 0x81, 0x99,
- 0x91, 0x8c, 0x80, 0xa5, 0x87, 0x98, 0x8a, 0xad,
- 0x82, 0xaf, 0x01, 0x19, 0x81, 0x90, 0x80, 0x94,
- 0x81, 0xc1, 0x29, 0x09, 0x81, 0x8b, 0x07, 0x80,
- 0xa2, 0x80, 0x8a, 0x80, 0xb2, 0x00, 0x11, 0x0c,
- 0x08, 0x80, 0x9a, 0x80, 0x8d, 0x0c, 0x08, 0x80,
- 0xe3, 0x84, 0x40, 0x84, 0x01, 0x03, 0x80, 0x60,
- 0x4f, 0x2f, 0x80, 0x40, 0x92, 0x8f, 0x42, 0x3d,
- 0x8f, 0x10, 0x8b, 0x8f, 0xa1, 0x01, 0x80, 0x40,
- 0xa8, 0x06, 0x05, 0x80, 0x8a, 0x80, 0xa2, 0x00,
- 0x80, 0xae, 0x80, 0xac, 0x81, 0xc2, 0x80, 0x94,
- 0x82, 0x42, 0x00, 0x80, 0x40, 0xe1, 0x80, 0x40,
- 0x94, 0x84, 0x46, 0x85, 0x10, 0x0c, 0x83, 0xa7,
- 0x13, 0x80, 0x40, 0xa4, 0x81, 0x42, 0x3c, 0x83,
- 0x42, 0x1d, 0x8a, 0x40, 0xaf, 0x80, 0xb5, 0x8e,
+ 0xfa, 0x86, 0x40, 0xce, 0x04, 0x80, 0xb0, 0xac,
+ 0x00, 0x01, 0x01, 0x00, 0xab, 0x80, 0x8a, 0x85,
+ 0x89, 0x8a, 0x00, 0xa2, 0x80, 0x89, 0x94, 0x8f,
+ 0x80, 0xe4, 0x38, 0x89, 0x03, 0xa0, 0x00, 0x80,
+ 0x9d, 0x9a, 0xda, 0x8a, 0xb9, 0x8a, 0x18, 0x08,
+ 0x97, 0x97, 0xaa, 0x82, 0xf6, 0xaf, 0xb6, 0x00,
+ 0x03, 0x3b, 0x02, 0x86, 0x89, 0x81, 0x8c, 0x80,
+ 0x8e, 0x80, 0xb9, 0x03, 0x1f, 0x80, 0x93, 0x81,
+ 0x99, 0x01, 0x81, 0xb8, 0x03, 0x0b, 0x09, 0x12,
+ 0x80, 0x9d, 0x0a, 0x80, 0x8a, 0x81, 0xb8, 0x03,
+ 0x20, 0x0b, 0x80, 0x93, 0x81, 0x95, 0x28, 0x80,
+ 0xb9, 0x01, 0x00, 0x1f, 0x06, 0x81, 0x8a, 0x81,
+ 0x9d, 0x80, 0xbc, 0x80, 0x8b, 0x80, 0xb1, 0x02,
+ 0x80, 0xb8, 0x14, 0x10, 0x1e, 0x81, 0x8a, 0x81,
+ 0x9c, 0x80, 0xb9, 0x01, 0x05, 0x04, 0x81, 0x93,
+ 0x81, 0x9b, 0x81, 0xb8, 0x0b, 0x1f, 0x80, 0x93,
+ 0x81, 0x9c, 0x80, 0xc7, 0x06, 0x10, 0x80, 0xd9,
+ 0x01, 0x86, 0x8a, 0x88, 0xe1, 0x01, 0x88, 0x88,
+ 0x00, 0x85, 0xc9, 0x81, 0x9a, 0x00, 0x00, 0x80,
+ 0xb6, 0x8d, 0x04, 0x01, 0x84, 0x8a, 0x80, 0xa3,
+ 0x88, 0x80, 0xe5, 0x18, 0x28, 0x09, 0x81, 0x98,
+ 0x0b, 0x82, 0x8f, 0x83, 0x8c, 0x01, 0x0d, 0x80,
+ 0x8e, 0x80, 0xdd, 0x80, 0x42, 0x5f, 0x82, 0x43,
+ 0xb1, 0x82, 0x9c, 0x82, 0x9c, 0x81, 0x9d, 0x81,
+ 0xbf, 0x08, 0x37, 0x01, 0x8a, 0x10, 0x20, 0xac,
+ 0x83, 0xb3, 0x80, 0xc0, 0x81, 0xa1, 0x80, 0xf5,
+ 0x13, 0x81, 0x88, 0x05, 0x82, 0x40, 0xda, 0x09,
+ 0x80, 0xb9, 0x00, 0x30, 0x00, 0x01, 0x3d, 0x89,
+ 0x08, 0xa6, 0x07, 0x90, 0xbe, 0x83, 0xaf, 0x00,
+ 0x20, 0x04, 0x80, 0xa7, 0x88, 0x8b, 0x81, 0x9f,
+ 0x19, 0x08, 0x82, 0xb7, 0x00, 0x0a, 0x00, 0x82,
+ 0xb9, 0x39, 0x81, 0xbf, 0x85, 0xd1, 0x10, 0x8c,
+ 0x06, 0x18, 0x28, 0x11, 0xb1, 0xbe, 0x8c, 0x80,
+ 0xa1, 0xde, 0x04, 0x41, 0xbc, 0x00, 0x82, 0x8a,
+ 0x82, 0x8c, 0x82, 0x8c, 0x82, 0x8c, 0x81, 0x8b,
+ 0x27, 0x81, 0x89, 0x01, 0x01, 0x84, 0xb0, 0x20,
+ 0x89, 0x00, 0x8c, 0x80, 0x8f, 0x8c, 0xb2, 0xa0,
+ 0x4b, 0x8a, 0x81, 0xf0, 0x82, 0xfc, 0x80, 0x8e,
+ 0x80, 0xdf, 0x9f, 0xae, 0x80, 0x41, 0xd4, 0x80,
+ 0xa3, 0x1a, 0x24, 0x80, 0xdc, 0x85, 0xdc, 0x82,
+ 0x60, 0x6f, 0x15, 0x80, 0x44, 0xe1, 0x85, 0x41,
+ 0x0d, 0x80, 0xe1, 0x18, 0x89, 0x00, 0x9b, 0x83,
+ 0xcf, 0x81, 0x8d, 0xa1, 0xcd, 0x80, 0x96, 0x82,
+ 0xec, 0x0f, 0x02, 0x03, 0x80, 0x98, 0x0c, 0x80,
+ 0x40, 0x96, 0x81, 0x99, 0x91, 0x8c, 0x80, 0xa5,
+ 0x87, 0x98, 0x8a, 0xad, 0x82, 0xaf, 0x01, 0x19,
+ 0x81, 0x90, 0x80, 0x94, 0x81, 0xc1, 0x29, 0x09,
+ 0x81, 0x8b, 0x07, 0x80, 0xa2, 0x80, 0x8a, 0x80,
+ 0xb2, 0x00, 0x11, 0x0c, 0x08, 0x80, 0x9a, 0x80,
+ 0x8d, 0x0c, 0x08, 0x80, 0xe3, 0x84, 0x88, 0x82,
+ 0xf8, 0x01, 0x03, 0x80, 0x60, 0x4f, 0x2f, 0x80,
+ 0x40, 0x92, 0x8f, 0x42, 0x3d, 0x8f, 0x10, 0x8b,
+ 0x8f, 0xa1, 0x01, 0x80, 0x40, 0xa8, 0x06, 0x05,
+ 0x80, 0x8a, 0x80, 0xa2, 0x00, 0x80, 0xae, 0x80,
+ 0xac, 0x81, 0xc2, 0x80, 0x94, 0x82, 0x42, 0x00,
+ 0x80, 0x40, 0xe1, 0x80, 0x40, 0x94, 0x84, 0x46,
+ 0x85, 0x10, 0x0c, 0x83, 0xa7, 0x13, 0x80, 0x40,
+ 0xa4, 0x81, 0x42, 0x3c, 0x83, 0x41, 0x82, 0x81,
+ 0x40, 0x98, 0x8a, 0x40, 0xaf, 0x80, 0xb5, 0x8e,
0xb7, 0x82, 0xb0, 0x19, 0x09, 0x80, 0x8e, 0x80,
0xb1, 0x82, 0xa3, 0x20, 0x87, 0xbd, 0x80, 0x8b,
- 0x81, 0xb3, 0x88, 0x89, 0x83, 0xe1, 0x11, 0x00,
- 0x0d, 0x80, 0x40, 0x9f, 0x02, 0x87, 0x94, 0x81,
- 0xb8, 0x0a, 0x80, 0xa4, 0x32, 0x84, 0x40, 0xc2,
- 0x39, 0x10, 0x80, 0x96, 0x80, 0xd3, 0x28, 0x03,
- 0x08, 0x81, 0x40, 0xed, 0x1d, 0x08, 0x81, 0x9a,
- 0x81, 0xd4, 0x39, 0x00, 0x81, 0xe9, 0x00, 0x01,
- 0x28, 0x80, 0xe4, 0x11, 0x18, 0x84, 0x41, 0x02,
- 0x88, 0x01, 0x41, 0x98, 0x19, 0x0b, 0x80, 0x9f,
- 0x89, 0xa7, 0x29, 0x1f, 0x80, 0x88, 0x29, 0x82,
- 0xad, 0x8c, 0x01, 0x41, 0x95, 0x30, 0x28, 0x80,
- 0xd1, 0x95, 0x0e, 0x01, 0x01, 0xf9, 0x2a, 0x00,
- 0x08, 0x30, 0x80, 0xc7, 0x0a, 0x00, 0x80, 0x41,
- 0x5a, 0x81, 0x55, 0x3a, 0x88, 0x60, 0x36, 0xb6,
- 0x84, 0xba, 0x86, 0x88, 0x83, 0x44, 0x0a, 0x80,
- 0xbe, 0x90, 0xbf, 0x08, 0x80, 0x60, 0x4c, 0xb8,
- 0x08, 0x83, 0x54, 0xc2, 0x82, 0x88, 0x8f, 0x0e,
- 0x9d, 0x83, 0x40, 0x93, 0x82, 0x47, 0xba, 0xb6,
- 0x83, 0xb1, 0x38, 0x8d, 0x80, 0x95, 0x20, 0x8e,
- 0x45, 0x4f, 0x30, 0x90, 0x0e, 0x01, 0x04, 0x41,
- 0x04, 0x8d, 0x41, 0xad, 0x83, 0x45, 0xdf, 0x86,
- 0xec, 0x87, 0x4a, 0xae, 0x84, 0x6c, 0x0c, 0x00,
- 0x80, 0x9d, 0xdf, 0xff, 0x40, 0xef,
+ 0x81, 0xb3, 0x88, 0x89, 0x19, 0x80, 0xde, 0x11,
+ 0x00, 0x0d, 0x80, 0x40, 0x9f, 0x02, 0x87, 0x94,
+ 0x81, 0xb8, 0x0a, 0x80, 0xa4, 0x32, 0x84, 0x40,
+ 0xc2, 0x39, 0x10, 0x80, 0x96, 0x80, 0xd3, 0x28,
+ 0x03, 0x08, 0x81, 0x40, 0xed, 0x1d, 0x08, 0x81,
+ 0x9a, 0x81, 0xd4, 0x39, 0x00, 0x81, 0xe9, 0x00,
+ 0x01, 0x28, 0x80, 0xe4, 0x11, 0x18, 0x84, 0x41,
+ 0x02, 0x88, 0x01, 0x40, 0xff, 0x08, 0x03, 0x80,
+ 0x40, 0x8f, 0x19, 0x0b, 0x80, 0x9f, 0x89, 0xa7,
+ 0x29, 0x1f, 0x80, 0x88, 0x29, 0x82, 0xad, 0x8c,
+ 0x01, 0x41, 0x95, 0x30, 0x28, 0x80, 0xd1, 0x95,
+ 0x0e, 0x01, 0x01, 0xf9, 0x2a, 0x00, 0x08, 0x30,
+ 0x80, 0xc7, 0x0a, 0x00, 0x80, 0x41, 0x5a, 0x81,
+ 0x55, 0x3a, 0x88, 0x60, 0x36, 0xb6, 0x84, 0xba,
+ 0x86, 0x88, 0x83, 0x44, 0x0a, 0x80, 0xbe, 0x90,
+ 0xbf, 0x08, 0x81, 0x60, 0x4c, 0xb7, 0x08, 0x83,
+ 0x54, 0xc2, 0x82, 0x88, 0x8f, 0x0e, 0x9d, 0x83,
+ 0x40, 0x93, 0x82, 0x47, 0xba, 0xb6, 0x83, 0xb1,
+ 0x38, 0x8d, 0x80, 0x95, 0x20, 0x8e, 0x45, 0x4f,
+ 0x30, 0x90, 0x0e, 0x01, 0x04, 0x41, 0x04, 0x8d,
+ 0x41, 0xad, 0x83, 0x45, 0xdf, 0x86, 0xec, 0x87,
+ 0x4a, 0xae, 0x84, 0x6c, 0x0c, 0x00, 0x80, 0x9d,
+ 0xdf, 0xff, 0x40, 0xef,
};
static const uint8_t unicode_prop_Case_Ignorable_index[66] = {
- 0xc0, 0x05, 0x00, 0x2e, 0x08, 0x20, 0x52, 0x0a,
- 0x00, 0x05, 0x0c, 0x00, 0x4f, 0x0e, 0x20, 0x75,
- 0x10, 0x20, 0x44, 0x18, 0x00, 0x43, 0x1b, 0x00,
- 0x00, 0x1e, 0x00, 0x7e, 0x2c, 0x00, 0x7e, 0xa6,
- 0x40, 0x83, 0xa9, 0x20, 0xf7, 0xaa, 0x00, 0x41,
- 0xff, 0x20, 0x28, 0x0d, 0x01, 0x3f, 0x12, 0x41,
- 0xde, 0x15, 0x21, 0x5c, 0x1a, 0x01, 0xf5, 0x6a,
- 0x21, 0x37, 0xda, 0x01, 0x02, 0x00, 0x2e, 0xf0,
+ 0xbe, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x52, 0x0a,
+ 0x20, 0x05, 0x0c, 0x20, 0x3b, 0x0e, 0x40, 0x61,
+ 0x10, 0x40, 0x0f, 0x18, 0x20, 0x43, 0x1b, 0x60,
+ 0x79, 0x1d, 0x00, 0xf1, 0x20, 0x00, 0x0d, 0xa6,
+ 0x40, 0x2e, 0xa9, 0x20, 0xde, 0xaa, 0x00, 0x0f,
+ 0xff, 0x20, 0xe7, 0x0a, 0x41, 0x82, 0x11, 0x21,
+ 0xc4, 0x14, 0x61, 0x44, 0x19, 0x01, 0x48, 0x1d,
+ 0x21, 0xa4, 0xbc, 0x01, 0x3e, 0xe1, 0x01, 0xf0,
0x01, 0x0e,
};
-static const uint8_t unicode_prop_ID_Start_table[1024] = {
+static const uint8_t unicode_prop_ID_Start_table[1045] = {
0xc0, 0x99, 0x85, 0x99, 0xae, 0x80, 0x89, 0x03,
0x04, 0x96, 0x80, 0x9e, 0x80, 0x41, 0xc9, 0x83,
0x8b, 0x8d, 0x26, 0x00, 0x80, 0x40, 0x80, 0x20,
@@ -297,142 +301,146 @@ static const uint8_t unicode_prop_ID_Start_table[1024] = {
0x89, 0x11, 0x80, 0x8f, 0x00, 0x9d, 0x9c, 0xd8,
0x8a, 0x80, 0x97, 0xa0, 0x88, 0x0b, 0x04, 0x95,
0x18, 0x88, 0x02, 0x80, 0x96, 0x98, 0x86, 0x8a,
- 0xb4, 0x94, 0x07, 0xc5, 0xb5, 0x10, 0x91, 0x06,
- 0x89, 0x8e, 0x8f, 0x1f, 0x09, 0x81, 0x95, 0x06,
- 0x00, 0x13, 0x10, 0x8f, 0x80, 0x8c, 0x08, 0x82,
- 0x8d, 0x81, 0x89, 0x07, 0x2b, 0x09, 0x95, 0x06,
- 0x01, 0x01, 0x01, 0x9e, 0x18, 0x80, 0x92, 0x82,
- 0x8f, 0x88, 0x02, 0x80, 0x95, 0x06, 0x01, 0x04,
- 0x10, 0x91, 0x80, 0x8e, 0x81, 0x96, 0x80, 0x8a,
- 0x39, 0x09, 0x95, 0x06, 0x01, 0x04, 0x10, 0x9d,
- 0x08, 0x82, 0x8e, 0x80, 0x90, 0x00, 0x2a, 0x10,
- 0x1a, 0x08, 0x00, 0x0a, 0x0a, 0x12, 0x8b, 0x95,
- 0x80, 0xb3, 0x38, 0x10, 0x96, 0x80, 0x8f, 0x10,
- 0x99, 0x14, 0x81, 0x9d, 0x03, 0x38, 0x10, 0x96,
- 0x80, 0x89, 0x04, 0x10, 0x9f, 0x00, 0x81, 0x8e,
- 0x81, 0x91, 0x38, 0x10, 0xa8, 0x08, 0x8f, 0x04,
- 0x17, 0x82, 0x97, 0x2c, 0x91, 0x82, 0x97, 0x80,
- 0x88, 0x00, 0x0e, 0xb9, 0xaf, 0x01, 0x8b, 0x86,
- 0xb9, 0x08, 0x00, 0x20, 0x97, 0x00, 0x80, 0x89,
- 0x01, 0x88, 0x01, 0x20, 0x80, 0x94, 0x83, 0x9f,
- 0x80, 0xbe, 0x38, 0xa3, 0x9a, 0x84, 0xf2, 0xaa,
- 0x93, 0x80, 0x8f, 0x2b, 0x1a, 0x02, 0x0e, 0x13,
- 0x8c, 0x8b, 0x80, 0x90, 0xa5, 0x00, 0x20, 0x81,
- 0xaa, 0x80, 0x41, 0x4c, 0x03, 0x0e, 0x00, 0x03,
- 0x81, 0xa8, 0x03, 0x81, 0xa0, 0x03, 0x0e, 0x00,
- 0x03, 0x81, 0x8e, 0x80, 0xb8, 0x03, 0x81, 0xc2,
- 0xa4, 0x8f, 0x8f, 0xd5, 0x0d, 0x82, 0x42, 0x6b,
- 0x81, 0x90, 0x80, 0x99, 0x84, 0xca, 0x82, 0x8a,
- 0x86, 0x8c, 0x03, 0x8d, 0x91, 0x8d, 0x91, 0x8d,
- 0x8c, 0x02, 0x8e, 0xb3, 0xa2, 0x03, 0x80, 0xc2,
- 0xd8, 0x86, 0xa8, 0x00, 0x84, 0xc5, 0x89, 0x9e,
- 0xb0, 0x9d, 0x0c, 0x8a, 0xab, 0x83, 0x99, 0xb5,
- 0x96, 0x88, 0xb4, 0xd1, 0x80, 0xdc, 0xae, 0x90,
- 0x86, 0xb6, 0x9d, 0x8c, 0x81, 0x89, 0xab, 0x99,
- 0xa3, 0xa8, 0x82, 0x89, 0xa3, 0x81, 0x88, 0x86,
- 0xaa, 0x0a, 0xa8, 0x18, 0x28, 0x0a, 0x04, 0x40,
- 0xbf, 0xbf, 0x41, 0x15, 0x0d, 0x81, 0xa5, 0x0d,
- 0x0f, 0x00, 0x00, 0x00, 0x80, 0x9e, 0x81, 0xb4,
- 0x06, 0x00, 0x12, 0x06, 0x13, 0x0d, 0x83, 0x8c,
- 0x22, 0x06, 0xf3, 0x80, 0x8c, 0x80, 0x8f, 0x8c,
- 0xe4, 0x03, 0x01, 0x89, 0x00, 0x0d, 0x28, 0x00,
- 0x00, 0x80, 0x8f, 0x0b, 0x24, 0x18, 0x90, 0xa8,
- 0x4a, 0x76, 0xae, 0x80, 0xae, 0x80, 0x40, 0x84,
- 0x2b, 0x11, 0x8b, 0xa5, 0x00, 0x20, 0x81, 0xb7,
- 0x30, 0x8f, 0x96, 0x88, 0x30, 0x30, 0x30, 0x30,
- 0x30, 0x30, 0x30, 0x86, 0x42, 0x25, 0x82, 0x98,
- 0x88, 0x34, 0x0c, 0x83, 0xd5, 0x1c, 0x80, 0xd9,
- 0x03, 0x84, 0xaa, 0x80, 0xdd, 0x90, 0x9a, 0xb4,
- 0x8f, 0x41, 0xff, 0x59, 0xb5, 0xc9, 0x60, 0x51,
- 0xef, 0x8f, 0x44, 0x8c, 0xc2, 0xad, 0x81, 0x41,
- 0x0c, 0x82, 0x8f, 0x89, 0x81, 0x93, 0xae, 0x8f,
- 0x9e, 0x81, 0xcf, 0xa6, 0x88, 0x81, 0xe6, 0x81,
- 0xb4, 0x0c, 0xaf, 0x8a, 0x02, 0x03, 0x80, 0x96,
- 0x9c, 0xb3, 0x8d, 0xb1, 0xbd, 0x2a, 0x00, 0x81,
- 0x8a, 0x9b, 0x89, 0x96, 0x98, 0x9c, 0x86, 0xae,
- 0x9b, 0x80, 0x8f, 0x20, 0x89, 0x89, 0x20, 0xa8,
- 0x96, 0x10, 0x87, 0x93, 0x96, 0x10, 0x82, 0xb1,
- 0x00, 0x11, 0x0c, 0x08, 0x00, 0x97, 0x11, 0x8a,
- 0x32, 0x8b, 0x29, 0x29, 0x85, 0x88, 0x30, 0x30,
- 0xaa, 0x80, 0x8b, 0x87, 0xf2, 0x9c, 0x60, 0x2b,
- 0xa3, 0x8b, 0x96, 0x83, 0xb0, 0x60, 0x21, 0x03,
- 0x41, 0x6d, 0x81, 0xe9, 0xa5, 0x86, 0x8b, 0x24,
- 0x00, 0x89, 0x80, 0x8c, 0x04, 0x00, 0x01, 0x01,
- 0x80, 0xeb, 0xa0, 0x41, 0x6a, 0x91, 0xbf, 0x81,
- 0xb5, 0xa7, 0x8b, 0xf3, 0x20, 0x40, 0x86, 0xa3,
- 0x99, 0x85, 0x99, 0x8a, 0xd8, 0x15, 0x0d, 0x0d,
- 0x0a, 0xa2, 0x8b, 0x80, 0x99, 0x80, 0x92, 0x01,
- 0x80, 0x8e, 0x81, 0x8d, 0xa1, 0xfa, 0xc4, 0xb4,
- 0x41, 0x0a, 0x9c, 0x82, 0xb0, 0xae, 0x9f, 0x8c,
- 0x9d, 0x84, 0xa5, 0x89, 0x9d, 0x81, 0xa3, 0x1f,
- 0x04, 0xa9, 0x40, 0x9d, 0x91, 0xa3, 0x83, 0xa3,
- 0x83, 0xa7, 0x87, 0xb3, 0x40, 0x9b, 0x41, 0x36,
- 0x88, 0x95, 0x89, 0x87, 0x40, 0x97, 0x29, 0x00,
- 0xab, 0x01, 0x10, 0x81, 0x96, 0x89, 0x96, 0x88,
- 0x9e, 0xc0, 0x92, 0x01, 0x89, 0x95, 0x89, 0x99,
- 0xc5, 0xb7, 0x29, 0xbf, 0x80, 0x8e, 0x18, 0x10,
- 0x9c, 0xa9, 0x9c, 0x82, 0x9c, 0xa2, 0x38, 0x9b,
- 0x9a, 0xb5, 0x89, 0x95, 0x89, 0x92, 0x8c, 0x91,
- 0xed, 0xc8, 0xb6, 0xb2, 0x8c, 0xb2, 0x8c, 0xa3,
- 0x41, 0xdb, 0x9c, 0x89, 0x07, 0x95, 0x40, 0x99,
- 0x96, 0x8b, 0xb4, 0xca, 0xac, 0x9f, 0x98, 0x99,
- 0xa3, 0x9c, 0x80, 0x8a, 0xa2, 0x10, 0x8b, 0xaf,
- 0x8d, 0x83, 0x94, 0x00, 0x80, 0xa2, 0x91, 0x80,
- 0x98, 0xd3, 0x30, 0x00, 0x18, 0x8e, 0x80, 0x89,
- 0x86, 0xae, 0xa5, 0x39, 0x09, 0x95, 0x06, 0x01,
- 0x04, 0x10, 0x91, 0x80, 0x8b, 0x84, 0x40, 0x9d,
- 0xb4, 0x91, 0x83, 0x93, 0x80, 0x9f, 0xaf, 0x93,
- 0x08, 0x80, 0x40, 0xb7, 0xae, 0xa8, 0x83, 0xa3,
- 0xaf, 0x93, 0x80, 0xba, 0xaa, 0x8c, 0x80, 0xc6,
- 0x9a, 0x40, 0xe4, 0xab, 0xf3, 0xbf, 0x9e, 0x80,
- 0x40, 0x9f, 0x39, 0xa6, 0x8f, 0x00, 0x80, 0x9b,
- 0x80, 0x89, 0xa7, 0x30, 0x94, 0x80, 0x8a, 0xad,
- 0x92, 0x80, 0xa1, 0xb8, 0x41, 0x06, 0x88, 0x80,
- 0xa4, 0x90, 0x80, 0xb0, 0x9d, 0xef, 0x30, 0x08,
- 0xa5, 0x94, 0x80, 0x98, 0x28, 0x08, 0x9f, 0x8d,
- 0x80, 0x41, 0x46, 0x92, 0x41, 0x0c, 0x43, 0x99,
- 0xe5, 0xee, 0x90, 0x40, 0xc3, 0x4a, 0xbb, 0x44,
- 0x2e, 0x4f, 0xd0, 0x42, 0x46, 0x60, 0x21, 0xb8,
- 0x42, 0x38, 0x86, 0x9e, 0xf0, 0x9d, 0x91, 0xaf,
- 0x8f, 0x83, 0x9e, 0x94, 0x84, 0x92, 0x42, 0xaf,
- 0xbf, 0xff, 0xca, 0x20, 0xc1, 0x8c, 0xbf, 0x08,
- 0x80, 0x9b, 0x57, 0xf7, 0x87, 0x42, 0xf2, 0x60,
- 0x25, 0x0c, 0x41, 0x1e, 0xb0, 0x82, 0x90, 0x1f,
- 0x41, 0x8b, 0x49, 0x03, 0xea, 0x84, 0x8c, 0x82,
- 0x88, 0x86, 0x89, 0x57, 0x65, 0xd4, 0x80, 0xc6,
- 0x01, 0x08, 0x09, 0x0b, 0x80, 0x8b, 0x00, 0x06,
- 0x80, 0xc0, 0x03, 0x0f, 0x06, 0x80, 0x9b, 0x03,
- 0x04, 0x00, 0x16, 0x80, 0x41, 0x53, 0x81, 0x98,
- 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x80, 0x9e,
- 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x80, 0x9e,
- 0x80, 0x98, 0x07, 0x49, 0x33, 0xac, 0x89, 0x86,
- 0x8f, 0x80, 0x41, 0x70, 0xab, 0x45, 0x13, 0x40,
- 0xc4, 0xba, 0xc3, 0x30, 0x44, 0xb3, 0x18, 0x9a,
- 0x01, 0x00, 0x08, 0x80, 0x89, 0x03, 0x00, 0x00,
- 0x28, 0x18, 0x00, 0x00, 0x02, 0x01, 0x00, 0x08,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0b, 0x06,
- 0x03, 0x03, 0x00, 0x80, 0x89, 0x80, 0x90, 0x22,
- 0x04, 0x80, 0x90, 0x51, 0x43, 0x60, 0xa6, 0xd6,
- 0xa8, 0x50, 0x34, 0x8a, 0x40, 0xdd, 0x81, 0x56,
- 0x81, 0x8d, 0x5d, 0x30, 0x4c, 0x1e, 0x42, 0x1d,
+ 0xb4, 0x94, 0x80, 0x91, 0xbb, 0xb5, 0x10, 0x91,
+ 0x06, 0x89, 0x8e, 0x8f, 0x1f, 0x09, 0x81, 0x95,
+ 0x06, 0x00, 0x13, 0x10, 0x8f, 0x80, 0x8c, 0x08,
+ 0x82, 0x8d, 0x81, 0x89, 0x07, 0x2b, 0x09, 0x95,
+ 0x06, 0x01, 0x01, 0x01, 0x9e, 0x18, 0x80, 0x92,
+ 0x82, 0x8f, 0x88, 0x02, 0x80, 0x95, 0x06, 0x01,
+ 0x04, 0x10, 0x91, 0x80, 0x8e, 0x81, 0x96, 0x80,
+ 0x8a, 0x39, 0x09, 0x95, 0x06, 0x01, 0x04, 0x10,
+ 0x9d, 0x08, 0x82, 0x8e, 0x80, 0x90, 0x00, 0x2a,
+ 0x10, 0x1a, 0x08, 0x00, 0x0a, 0x0a, 0x12, 0x8b,
+ 0x95, 0x80, 0xb3, 0x38, 0x10, 0x96, 0x80, 0x8f,
+ 0x10, 0x99, 0x14, 0x81, 0x9d, 0x03, 0x38, 0x10,
+ 0x96, 0x80, 0x89, 0x04, 0x10, 0x9f, 0x00, 0x81,
+ 0x8e, 0x81, 0x90, 0x88, 0x02, 0x80, 0xa8, 0x08,
+ 0x8f, 0x04, 0x17, 0x82, 0x97, 0x2c, 0x91, 0x82,
+ 0x97, 0x80, 0x88, 0x00, 0x0e, 0xb9, 0xaf, 0x01,
+ 0x8b, 0x86, 0xb9, 0x08, 0x00, 0x20, 0x97, 0x00,
+ 0x80, 0x89, 0x01, 0x88, 0x01, 0x20, 0x80, 0x94,
+ 0x83, 0x9f, 0x80, 0xbe, 0x38, 0xa3, 0x9a, 0x84,
+ 0xf2, 0xaa, 0x93, 0x80, 0x8f, 0x2b, 0x1a, 0x02,
+ 0x0e, 0x13, 0x8c, 0x8b, 0x80, 0x90, 0xa5, 0x00,
+ 0x20, 0x81, 0xaa, 0x80, 0x41, 0x4c, 0x03, 0x0e,
+ 0x00, 0x03, 0x81, 0xa8, 0x03, 0x81, 0xa0, 0x03,
+ 0x0e, 0x00, 0x03, 0x81, 0x8e, 0x80, 0xb8, 0x03,
+ 0x81, 0xc2, 0xa4, 0x8f, 0x8f, 0xd5, 0x0d, 0x82,
+ 0x42, 0x6b, 0x81, 0x90, 0x80, 0x99, 0x84, 0xca,
+ 0x82, 0x8a, 0x86, 0x8c, 0x03, 0x8d, 0x91, 0x8d,
+ 0x91, 0x8d, 0x8c, 0x02, 0x8e, 0xb3, 0xa2, 0x03,
+ 0x80, 0xc2, 0xd8, 0x86, 0xa8, 0x00, 0x84, 0xc5,
+ 0x89, 0x9e, 0xb0, 0x9d, 0x0c, 0x8a, 0xab, 0x83,
+ 0x99, 0xb5, 0x96, 0x88, 0xb4, 0xd1, 0x80, 0xdc,
+ 0xae, 0x90, 0x86, 0xb6, 0x9d, 0x8c, 0x81, 0x89,
+ 0xab, 0x99, 0xa3, 0xa8, 0x82, 0x89, 0xa3, 0x81,
+ 0x88, 0x86, 0xaa, 0x0a, 0xa8, 0x18, 0x28, 0x0a,
+ 0x04, 0x40, 0xbf, 0xbf, 0x41, 0x15, 0x0d, 0x81,
+ 0xa5, 0x0d, 0x0f, 0x00, 0x00, 0x00, 0x80, 0x9e,
+ 0x81, 0xb4, 0x06, 0x00, 0x12, 0x06, 0x13, 0x0d,
+ 0x83, 0x8c, 0x22, 0x06, 0xf3, 0x80, 0x8c, 0x80,
+ 0x8f, 0x8c, 0xe4, 0x03, 0x01, 0x89, 0x00, 0x0d,
+ 0x28, 0x00, 0x00, 0x80, 0x8f, 0x0b, 0x24, 0x18,
+ 0x90, 0xa8, 0x4a, 0x76, 0xae, 0x80, 0xae, 0x80,
+ 0x40, 0x84, 0x2b, 0x11, 0x8b, 0xa5, 0x00, 0x20,
+ 0x81, 0xb7, 0x30, 0x8f, 0x96, 0x88, 0x30, 0x30,
+ 0x30, 0x30, 0x30, 0x30, 0x30, 0x86, 0x42, 0x25,
+ 0x82, 0x98, 0x88, 0x34, 0x0c, 0x83, 0xd5, 0x1c,
+ 0x80, 0xd9, 0x03, 0x84, 0xaa, 0x80, 0xdd, 0x90,
+ 0x9f, 0xaf, 0x8f, 0x41, 0xff, 0x59, 0xbf, 0xbf,
+ 0x60, 0x51, 0xfc, 0x82, 0x44, 0x8c, 0xc2, 0xad,
+ 0x81, 0x41, 0x0c, 0x82, 0x8f, 0x89, 0x81, 0x93,
+ 0xae, 0x8f, 0x9e, 0x81, 0xcf, 0xa6, 0x88, 0x81,
+ 0xe6, 0x81, 0xb4, 0x81, 0x88, 0xa9, 0x8c, 0x02,
+ 0x03, 0x80, 0x96, 0x9c, 0xb3, 0x8d, 0xb1, 0xbd,
+ 0x2a, 0x00, 0x81, 0x8a, 0x9b, 0x89, 0x96, 0x98,
+ 0x9c, 0x86, 0xae, 0x9b, 0x80, 0x8f, 0x20, 0x89,
+ 0x89, 0x20, 0xa8, 0x96, 0x10, 0x87, 0x93, 0x96,
+ 0x10, 0x82, 0xb1, 0x00, 0x11, 0x0c, 0x08, 0x00,
+ 0x97, 0x11, 0x8a, 0x32, 0x8b, 0x29, 0x29, 0x85,
+ 0x88, 0x30, 0x30, 0xaa, 0x80, 0x8d, 0x85, 0xf2,
+ 0x9c, 0x60, 0x2b, 0xa3, 0x8b, 0x96, 0x83, 0xb0,
+ 0x60, 0x21, 0x03, 0x41, 0x6d, 0x81, 0xe9, 0xa5,
+ 0x86, 0x8b, 0x24, 0x00, 0x89, 0x80, 0x8c, 0x04,
+ 0x00, 0x01, 0x01, 0x80, 0xeb, 0xa0, 0x41, 0x6a,
+ 0x91, 0xbf, 0x81, 0xb5, 0xa7, 0x8b, 0xf3, 0x20,
+ 0x40, 0x86, 0xa3, 0x99, 0x85, 0x99, 0x8a, 0xd8,
+ 0x15, 0x0d, 0x0d, 0x0a, 0xa2, 0x8b, 0x80, 0x99,
+ 0x80, 0x92, 0x01, 0x80, 0x8e, 0x81, 0x8d, 0xa1,
+ 0xfa, 0xc4, 0xb4, 0x41, 0x0a, 0x9c, 0x82, 0xb0,
+ 0xae, 0x9f, 0x8c, 0x9d, 0x84, 0xa5, 0x89, 0x9d,
+ 0x81, 0xa3, 0x1f, 0x04, 0xa9, 0x40, 0x9d, 0x91,
+ 0xa3, 0x83, 0xa3, 0x83, 0xa7, 0x87, 0xb3, 0x40,
+ 0x9b, 0x41, 0x36, 0x88, 0x95, 0x89, 0x87, 0x40,
+ 0x97, 0x29, 0x00, 0xab, 0x01, 0x10, 0x81, 0x96,
+ 0x89, 0x96, 0x88, 0x9e, 0xc0, 0x92, 0x01, 0x89,
+ 0x95, 0x89, 0x99, 0xc5, 0xb7, 0x29, 0xbf, 0x80,
+ 0x8e, 0x18, 0x10, 0x9c, 0xa9, 0x9c, 0x82, 0x9c,
+ 0xa2, 0x38, 0x9b, 0x9a, 0xb5, 0x89, 0x95, 0x89,
+ 0x92, 0x8c, 0x91, 0xed, 0xc8, 0xb6, 0xb2, 0x8c,
+ 0xb2, 0x8c, 0xa3, 0x41, 0x5b, 0xa9, 0x29, 0xcd,
+ 0x9c, 0x89, 0x07, 0x95, 0xe9, 0x94, 0x9a, 0x96,
+ 0x8b, 0xb4, 0xca, 0xac, 0x9f, 0x98, 0x99, 0xa3,
+ 0x9c, 0x01, 0x07, 0xa2, 0x10, 0x8b, 0xaf, 0x8d,
+ 0x83, 0x94, 0x00, 0x80, 0xa2, 0x91, 0x80, 0x98,
+ 0xd3, 0x30, 0x00, 0x18, 0x8e, 0x80, 0x89, 0x86,
+ 0xae, 0xa5, 0x39, 0x09, 0x95, 0x06, 0x01, 0x04,
+ 0x10, 0x91, 0x80, 0x8b, 0x84, 0x40, 0x9d, 0xb4,
+ 0x91, 0x83, 0x93, 0x82, 0x9d, 0xaf, 0x93, 0x08,
+ 0x80, 0x40, 0xb7, 0xae, 0xa8, 0x83, 0xa3, 0xaf,
+ 0x93, 0x80, 0xba, 0xaa, 0x8c, 0x80, 0xc6, 0x9a,
+ 0x40, 0xe4, 0xab, 0xf3, 0xbf, 0x9e, 0x39, 0x01,
+ 0x38, 0x08, 0x97, 0x8e, 0x00, 0x80, 0xdd, 0x39,
+ 0xa6, 0x8f, 0x00, 0x80, 0x9b, 0x80, 0x89, 0xa7,
+ 0x30, 0x94, 0x80, 0x8a, 0xad, 0x92, 0x80, 0xa1,
+ 0xb8, 0x41, 0x06, 0x88, 0x80, 0xa4, 0x90, 0x80,
+ 0xb0, 0x9d, 0xef, 0x30, 0x08, 0xa5, 0x94, 0x80,
+ 0x98, 0x28, 0x08, 0x9f, 0x8d, 0x80, 0x41, 0x46,
+ 0x92, 0x40, 0xbc, 0x80, 0xce, 0x43, 0x99, 0xe5,
+ 0xee, 0x90, 0x40, 0xc3, 0x4a, 0xbb, 0x44, 0x2e,
+ 0x4f, 0xd0, 0x42, 0x46, 0x60, 0x21, 0xb8, 0x42,
+ 0x38, 0x86, 0x9e, 0xf0, 0x9d, 0x91, 0xaf, 0x8f,
+ 0x83, 0x9e, 0x94, 0x84, 0x92, 0x42, 0xaf, 0xbf,
+ 0xff, 0xca, 0x20, 0xc1, 0x8c, 0xbf, 0x08, 0x80,
+ 0x9b, 0x57, 0xf7, 0x87, 0x44, 0xd5, 0xa9, 0x88,
+ 0x60, 0x22, 0xf6, 0x41, 0x1e, 0xb0, 0x82, 0x90,
+ 0x1f, 0x41, 0x8b, 0x49, 0x03, 0xea, 0x84, 0x8c,
+ 0x82, 0x88, 0x86, 0x89, 0x57, 0x65, 0xd4, 0x80,
+ 0xc6, 0x01, 0x08, 0x09, 0x0b, 0x80, 0x8b, 0x00,
+ 0x06, 0x80, 0xc0, 0x03, 0x0f, 0x06, 0x80, 0x9b,
+ 0x03, 0x04, 0x00, 0x16, 0x80, 0x41, 0x53, 0x81,
+ 0x98, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x80,
+ 0x9e, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x80,
+ 0x9e, 0x80, 0x98, 0x07, 0x49, 0x33, 0xac, 0x89,
+ 0x86, 0x8f, 0x80, 0x41, 0x70, 0xab, 0x45, 0x13,
+ 0x40, 0xc4, 0xba, 0xc3, 0x30, 0x44, 0xb3, 0x18,
+ 0x9a, 0x01, 0x00, 0x08, 0x80, 0x89, 0x03, 0x00,
+ 0x00, 0x28, 0x18, 0x00, 0x00, 0x02, 0x01, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0b,
+ 0x06, 0x03, 0x03, 0x00, 0x80, 0x89, 0x80, 0x90,
+ 0x22, 0x04, 0x80, 0x90, 0x51, 0x43, 0x60, 0xa6,
+ 0xdd, 0xa1, 0x50, 0x34, 0x8a, 0x40, 0xdd, 0x81,
+ 0x56, 0x81, 0x8d, 0x5d, 0x30, 0x4c, 0x1e, 0x42,
+ 0x1d, 0x45, 0xe1, 0x53, 0x4a,
};
-static const uint8_t unicode_prop_ID_Start_index[96] = {
- 0xf6, 0x03, 0x20, 0xa6, 0x07, 0x00, 0xb1, 0x09,
- 0x00, 0xba, 0x0a, 0x00, 0xd1, 0x0b, 0x20, 0x62,
- 0x0d, 0x40, 0x01, 0x0f, 0x20, 0x5e, 0x12, 0x00,
- 0xf9, 0x16, 0x00, 0x17, 0x1a, 0x20, 0xc0, 0x1d,
- 0x20, 0x9d, 0x20, 0x00, 0x68, 0x2d, 0x00, 0x00,
- 0x32, 0x20, 0xc0, 0xa7, 0x20, 0x29, 0xaa, 0x00,
- 0xa4, 0xd7, 0x20, 0xc8, 0xfd, 0x20, 0x75, 0x01,
- 0x01, 0x37, 0x07, 0x01, 0x36, 0x0a, 0x21, 0xf7,
- 0x0f, 0x21, 0xa9, 0x12, 0x01, 0x30, 0x16, 0x21,
- 0x8a, 0x1a, 0x01, 0x9a, 0x23, 0x01, 0x80, 0x6e,
- 0x21, 0x89, 0xbc, 0x21, 0xc1, 0xd6, 0x01, 0xc5,
- 0xe8, 0x21, 0x73, 0xee, 0x01, 0x1e, 0xfa, 0x02,
+static const uint8_t unicode_prop_ID_Start_index[99] = {
+ 0xf6, 0x03, 0x20, 0xa6, 0x07, 0x00, 0xa9, 0x09,
+ 0x00, 0xb4, 0x0a, 0x00, 0xba, 0x0b, 0x00, 0x3e,
+ 0x0d, 0x00, 0xe0, 0x0e, 0x20, 0x57, 0x12, 0x00,
+ 0xeb, 0x16, 0x00, 0xca, 0x19, 0x20, 0xc0, 0x1d,
+ 0x60, 0x80, 0x20, 0x00, 0x2e, 0x2d, 0x00, 0xc0,
+ 0x31, 0x20, 0x89, 0xa7, 0x20, 0xf0, 0xa9, 0x00,
+ 0xe3, 0xab, 0x00, 0x3e, 0xfd, 0x00, 0xfb, 0x00,
+ 0x21, 0x37, 0x07, 0x61, 0x01, 0x0a, 0x01, 0x1d,
+ 0x0f, 0x21, 0x2c, 0x12, 0x01, 0xc8, 0x14, 0x21,
+ 0xd1, 0x19, 0x21, 0x47, 0x1d, 0x01, 0x39, 0x6a,
+ 0x21, 0x09, 0x8d, 0x01, 0xbc, 0xd4, 0x01, 0xa9,
+ 0xd7, 0x21, 0x3a, 0xee, 0x01, 0xde, 0xa6, 0x22,
+ 0x4b, 0x13, 0x03,
};
-static const uint8_t unicode_prop_ID_Continue1_table[607] = {
+static const uint8_t unicode_prop_ID_Continue1_table[626] = {
0xaf, 0x89, 0xa4, 0x80, 0xd6, 0x80, 0x42, 0x47,
0xef, 0x96, 0x80, 0x40, 0xfa, 0x84, 0x41, 0x08,
0xac, 0x00, 0x01, 0x01, 0x00, 0xc7, 0x8a, 0xaf,
@@ -445,14 +453,14 @@ static const uint8_t unicode_prop_ID_Continue1_table[607] = {
0x09, 0x89, 0x8d, 0x01, 0x82, 0xb7, 0x00, 0x23,
0x09, 0x12, 0x80, 0x93, 0x8b, 0x10, 0x8a, 0x82,
0xb7, 0x00, 0x38, 0x10, 0x82, 0x93, 0x09, 0x89,
- 0x89, 0x28, 0x82, 0xb7, 0x00, 0x31, 0x09, 0x17,
- 0x81, 0x89, 0x09, 0x89, 0x91, 0x80, 0xba, 0x22,
+ 0x89, 0x28, 0x82, 0xb7, 0x00, 0x31, 0x09, 0x16,
+ 0x82, 0x89, 0x09, 0x89, 0x91, 0x80, 0xba, 0x22,
0x10, 0x83, 0x88, 0x80, 0x8d, 0x89, 0x8f, 0x84,
0xb8, 0x30, 0x10, 0x1e, 0x81, 0x8a, 0x09, 0x89,
0x90, 0x82, 0xb7, 0x00, 0x30, 0x10, 0x1e, 0x81,
0x8a, 0x09, 0x89, 0x8f, 0x83, 0xb6, 0x08, 0x30,
- 0x10, 0x83, 0x88, 0x80, 0x89, 0x09, 0x89, 0x91,
- 0x81, 0xc5, 0x03, 0x28, 0x00, 0x3d, 0x89, 0x09,
+ 0x10, 0x83, 0x88, 0x80, 0x89, 0x09, 0x89, 0x90,
+ 0x82, 0xc5, 0x03, 0x28, 0x00, 0x3d, 0x89, 0x09,
0xbc, 0x01, 0x86, 0x8b, 0x38, 0x89, 0xd6, 0x01,
0x88, 0x8a, 0x29, 0x89, 0xbd, 0x0d, 0x89, 0x8a,
0x00, 0x00, 0x03, 0x81, 0xb0, 0x93, 0x01, 0x84,
@@ -464,67 +472,70 @@ static const uint8_t unicode_prop_ID_Continue1_table[607] = {
0x89, 0x40, 0x8e, 0x80, 0xf5, 0x8b, 0x83, 0x8b,
0x89, 0x89, 0xff, 0x8a, 0xbb, 0x84, 0xb8, 0x89,
0x80, 0x9c, 0x81, 0x8a, 0x85, 0x89, 0x95, 0x8d,
- 0xc1, 0x84, 0xae, 0x90, 0x8a, 0x89, 0x90, 0x88,
- 0x8b, 0x82, 0x9d, 0x8c, 0x81, 0x89, 0xab, 0x8d,
- 0xaf, 0x93, 0x87, 0x89, 0x85, 0x89, 0xf5, 0x10,
- 0x94, 0x18, 0x28, 0x0a, 0x40, 0xc5, 0xb9, 0x04,
- 0x42, 0x3e, 0x81, 0x92, 0x80, 0xfa, 0x8c, 0x18,
- 0x82, 0x8b, 0x4b, 0xfd, 0x82, 0x40, 0x8c, 0x80,
- 0xdf, 0x9f, 0x42, 0x29, 0x85, 0xe8, 0x81, 0x60,
- 0x75, 0x84, 0x89, 0xc4, 0x03, 0x89, 0x9f, 0x81,
- 0xcf, 0x81, 0x41, 0x0f, 0x02, 0x03, 0x80, 0x96,
- 0x84, 0xd7, 0x81, 0xb1, 0x91, 0x89, 0x89, 0x85,
- 0x91, 0x8c, 0x8a, 0x9b, 0x87, 0x98, 0x8c, 0xab,
- 0x83, 0xae, 0x8d, 0x8e, 0x89, 0x8a, 0x80, 0x89,
- 0x89, 0xae, 0x8d, 0x8b, 0x07, 0x09, 0x89, 0xa0,
- 0x82, 0xb1, 0x00, 0x11, 0x0c, 0x08, 0x80, 0xa8,
- 0x24, 0x81, 0x40, 0xeb, 0x38, 0x09, 0x89, 0x60,
- 0x4f, 0x23, 0x80, 0x42, 0xe0, 0x8f, 0x8f, 0x8f,
- 0x11, 0x97, 0x82, 0x40, 0xbf, 0x89, 0xa4, 0x80,
- 0x42, 0xbc, 0x80, 0x40, 0xe1, 0x80, 0x40, 0x94,
- 0x84, 0x41, 0x24, 0x89, 0x45, 0x56, 0x10, 0x0c,
- 0x83, 0xa7, 0x13, 0x80, 0x40, 0xa4, 0x81, 0x42,
- 0x3c, 0x1f, 0x89, 0x42, 0x0b, 0x8a, 0x40, 0xae,
- 0x82, 0xb4, 0x8e, 0x9e, 0x89, 0x8e, 0x83, 0xac,
- 0x8a, 0xb4, 0x89, 0x2a, 0xa3, 0x8d, 0x80, 0x89,
- 0x21, 0xab, 0x80, 0x8b, 0x82, 0xaf, 0x8d, 0x3b,
- 0x82, 0x89, 0xd1, 0x8b, 0x28, 0x40, 0x9f, 0x8b,
- 0x84, 0x89, 0x2b, 0xb6, 0x08, 0x31, 0x09, 0x82,
- 0x88, 0x80, 0x89, 0x09, 0x32, 0x84, 0x40, 0xbf,
- 0x91, 0x88, 0x89, 0x18, 0xd0, 0x93, 0x8b, 0x89,
- 0x40, 0xd4, 0x31, 0x88, 0x9a, 0x81, 0xd1, 0x90,
- 0x8e, 0x89, 0xd0, 0x8c, 0x87, 0x89, 0xd2, 0x8e,
- 0x83, 0x89, 0x40, 0xf1, 0x8e, 0x40, 0xa4, 0x89,
- 0x40, 0xe6, 0x31, 0x32, 0x80, 0x9b, 0x89, 0xa7,
- 0x30, 0x1f, 0x80, 0x88, 0x8a, 0xad, 0x8f, 0x41,
- 0x94, 0x38, 0x87, 0x8f, 0x89, 0xb7, 0x95, 0x80,
- 0x8d, 0xf9, 0x2a, 0x00, 0x08, 0x30, 0x07, 0x89,
- 0xaf, 0x20, 0x08, 0x27, 0x89, 0x41, 0x48, 0x83,
- 0x60, 0x4b, 0x68, 0x89, 0x40, 0x85, 0x84, 0xba,
- 0x86, 0x98, 0x89, 0x43, 0xf4, 0x00, 0xb6, 0x33,
- 0x60, 0x4d, 0x09, 0x81, 0x54, 0xc5, 0x22, 0x2f,
+ 0x01, 0xbe, 0x84, 0xae, 0x90, 0x8a, 0x89, 0x90,
+ 0x88, 0x8b, 0x82, 0x9d, 0x8c, 0x81, 0x89, 0xab,
+ 0x8d, 0xaf, 0x93, 0x87, 0x89, 0x85, 0x89, 0xf5,
+ 0x10, 0x94, 0x18, 0x28, 0x0a, 0x40, 0xc5, 0xb9,
+ 0x04, 0x42, 0x3e, 0x81, 0x92, 0x80, 0xfa, 0x8c,
+ 0x18, 0x82, 0x8b, 0x4b, 0xfd, 0x82, 0x40, 0x8c,
+ 0x80, 0xdf, 0x9f, 0x42, 0x29, 0x85, 0xe8, 0x81,
+ 0x60, 0x75, 0x84, 0x89, 0xc4, 0x03, 0x89, 0x9f,
+ 0x81, 0xcf, 0x81, 0x41, 0x0f, 0x02, 0x03, 0x80,
+ 0x96, 0x23, 0x80, 0xd2, 0x81, 0xb1, 0x91, 0x89,
+ 0x89, 0x85, 0x91, 0x8c, 0x8a, 0x9b, 0x87, 0x98,
+ 0x8c, 0xab, 0x83, 0xae, 0x8d, 0x8e, 0x89, 0x8a,
+ 0x80, 0x89, 0x89, 0xae, 0x8d, 0x8b, 0x07, 0x09,
+ 0x89, 0xa0, 0x82, 0xb1, 0x00, 0x11, 0x0c, 0x08,
+ 0x80, 0xa8, 0x24, 0x81, 0x40, 0xeb, 0x38, 0x09,
+ 0x89, 0x60, 0x4f, 0x23, 0x80, 0x42, 0xe0, 0x8f,
+ 0x8f, 0x8f, 0x11, 0x97, 0x82, 0x40, 0xbf, 0x89,
+ 0xa4, 0x80, 0x42, 0xbc, 0x80, 0x40, 0xe1, 0x80,
+ 0x40, 0x94, 0x84, 0x41, 0x24, 0x89, 0x45, 0x56,
+ 0x10, 0x0c, 0x83, 0xa7, 0x13, 0x80, 0x40, 0xa4,
+ 0x81, 0x42, 0x3c, 0x1f, 0x89, 0x41, 0x70, 0x81,
+ 0x40, 0x98, 0x8a, 0x40, 0xae, 0x82, 0xb4, 0x8e,
+ 0x9e, 0x89, 0x8e, 0x83, 0xac, 0x8a, 0xb4, 0x89,
+ 0x2a, 0xa3, 0x8d, 0x80, 0x89, 0x21, 0xab, 0x80,
+ 0x8b, 0x82, 0xaf, 0x8d, 0x3b, 0x80, 0x8b, 0xd1,
+ 0x8b, 0x28, 0x40, 0x9f, 0x8b, 0x84, 0x89, 0x2b,
+ 0xb6, 0x08, 0x31, 0x09, 0x82, 0x88, 0x80, 0x89,
+ 0x09, 0x32, 0x84, 0x40, 0xbf, 0x91, 0x88, 0x89,
+ 0x18, 0xd0, 0x93, 0x8b, 0x89, 0x40, 0xd4, 0x31,
+ 0x88, 0x9a, 0x81, 0xd1, 0x90, 0x8e, 0x89, 0xd0,
+ 0x8c, 0x87, 0x89, 0xd2, 0x8e, 0x83, 0x89, 0x40,
+ 0xf1, 0x8e, 0x40, 0xa4, 0x89, 0xc5, 0x28, 0x09,
+ 0x18, 0x00, 0x81, 0x8b, 0x89, 0xf6, 0x31, 0x32,
+ 0x80, 0x9b, 0x89, 0xa7, 0x30, 0x1f, 0x80, 0x88,
+ 0x8a, 0xad, 0x8f, 0x41, 0x94, 0x38, 0x87, 0x8f,
+ 0x89, 0xb7, 0x95, 0x80, 0x8d, 0xf9, 0x2a, 0x00,
+ 0x08, 0x30, 0x07, 0x89, 0xaf, 0x20, 0x08, 0x27,
+ 0x89, 0x41, 0x48, 0x83, 0x60, 0x4b, 0x68, 0x89,
+ 0x40, 0x85, 0x84, 0xba, 0x86, 0x98, 0x89, 0x43,
+ 0xf4, 0x00, 0xb6, 0x33, 0xd0, 0x80, 0x8a, 0x81,
+ 0x60, 0x4c, 0xaa, 0x81, 0x54, 0xc5, 0x22, 0x2f,
0x39, 0x86, 0x9d, 0x83, 0x40, 0x93, 0x82, 0x45,
0x88, 0xb1, 0x41, 0xff, 0xb6, 0x83, 0xb1, 0x38,
0x8d, 0x80, 0x95, 0x20, 0x8e, 0x45, 0x4f, 0x30,
0x90, 0x0e, 0x01, 0x04, 0x41, 0x04, 0x86, 0x88,
0x89, 0x41, 0xa1, 0x8d, 0x45, 0xd5, 0x86, 0xec,
- 0x34, 0x89, 0x6c, 0x17, 0xa5, 0x40, 0xef,
+ 0x34, 0x89, 0x52, 0x95, 0x89, 0x6c, 0x05, 0x05,
+ 0x40, 0xef,
};
-static const uint8_t unicode_prop_ID_Continue1_index[57] = {
+static const uint8_t unicode_prop_ID_Continue1_index[60] = {
0xfa, 0x06, 0x00, 0x84, 0x09, 0x00, 0xf0, 0x0a,
0x00, 0x70, 0x0c, 0x00, 0xf4, 0x0d, 0x00, 0x4a,
- 0x10, 0x20, 0x1a, 0x18, 0x20, 0x74, 0x1b, 0x00,
- 0xe2, 0x20, 0x00, 0x28, 0xa8, 0x20, 0x7e, 0xaa,
- 0x20, 0x40, 0xff, 0x00, 0x03, 0x10, 0x21, 0xeb,
- 0x12, 0x01, 0x41, 0x16, 0x01, 0x40, 0x1c, 0x61,
- 0x37, 0x6b, 0x21, 0x76, 0xda, 0x01, 0xf0, 0x01,
- 0x0e,
+ 0x10, 0x20, 0x1a, 0x18, 0x20, 0x74, 0x1b, 0x20,
+ 0xdd, 0x20, 0x00, 0x0c, 0xa8, 0x00, 0x5a, 0xaa,
+ 0x20, 0x1a, 0xff, 0x00, 0xad, 0x0e, 0x01, 0x38,
+ 0x12, 0x21, 0xc1, 0x15, 0x21, 0xe5, 0x19, 0x21,
+ 0xaa, 0x1d, 0x21, 0x8c, 0xd1, 0x41, 0x4a, 0xe1,
+ 0x21, 0xf0, 0x01, 0x0e,
};
#ifdef CONFIG_ALL_UNICODE
-static const uint8_t unicode_cc_table[831] = {
+static const uint8_t unicode_cc_table[851] = {
0xb2, 0xcf, 0xd4, 0x00, 0xe8, 0x03, 0xdc, 0x00,
0xe8, 0x00, 0xd8, 0x04, 0xdc, 0x01, 0xca, 0x03,
0xdc, 0x01, 0xca, 0x0a, 0xdc, 0x04, 0x01, 0x03,
@@ -574,77 +585,81 @@ static const uint8_t unicode_cc_table[831] = {
0x9a, 0x00, 0xe4, 0xb0, 0x5e, 0x00, 0xde, 0xc0,
0x00, 0xdc, 0xb0, 0xaa, 0xc0, 0x00, 0xdc, 0xb0,
0x16, 0x00, 0x09, 0x93, 0xc7, 0x81, 0x00, 0xdc,
- 0xaf, 0xc4, 0x05, 0xdc, 0xc1, 0x00, 0xdc, 0xb0,
- 0x45, 0x00, 0x07, 0x8e, 0x00, 0x09, 0xa5, 0xc0,
- 0x00, 0xdc, 0xc6, 0xb0, 0x05, 0x01, 0x09, 0xb0,
- 0x09, 0x00, 0x07, 0x8a, 0x01, 0x09, 0xb0, 0x12,
- 0x00, 0x07, 0xb0, 0x67, 0xc2, 0x41, 0x00, 0x04,
- 0xdc, 0xc1, 0x03, 0xdc, 0xc0, 0x41, 0x00, 0x05,
- 0x01, 0x83, 0x00, 0xdc, 0x85, 0xc0, 0x82, 0xc1,
- 0xb0, 0x95, 0xc1, 0x00, 0xdc, 0xc6, 0x00, 0xdc,
- 0xc1, 0x00, 0xea, 0x00, 0xd6, 0x00, 0xdc, 0x00,
- 0xca, 0xe4, 0x00, 0xe8, 0x01, 0xe4, 0x00, 0xdc,
- 0x80, 0xc0, 0x00, 0xe9, 0x00, 0xdc, 0xc0, 0x00,
- 0xdc, 0xb2, 0x9f, 0xc1, 0x01, 0x01, 0xc3, 0x02,
- 0x01, 0xc1, 0x83, 0xc0, 0x82, 0x01, 0x01, 0xc0,
- 0x00, 0xdc, 0xc0, 0x01, 0x01, 0x03, 0xdc, 0xc0,
- 0xb8, 0x03, 0xcd, 0xc2, 0xb0, 0x5c, 0x00, 0x09,
- 0xb0, 0x2f, 0xdf, 0xb1, 0xf9, 0x00, 0xda, 0x00,
- 0xe4, 0x00, 0xe8, 0x00, 0xde, 0x01, 0xe0, 0xb0,
- 0x38, 0x01, 0x08, 0xb8, 0x6d, 0xa3, 0xc0, 0x83,
- 0xc9, 0x9f, 0xc1, 0xb0, 0x1f, 0xc1, 0xb0, 0xe3,
- 0x00, 0x09, 0xb0, 0x8c, 0x00, 0x09, 0x9a, 0xd1,
- 0xb0, 0x08, 0x02, 0xdc, 0xa4, 0x00, 0x09, 0xb0,
- 0x2e, 0x00, 0x07, 0x8b, 0x00, 0x09, 0xb0, 0xbe,
- 0xc0, 0x80, 0xc1, 0x00, 0xdc, 0x81, 0xc1, 0x84,
- 0xc1, 0x80, 0xc0, 0xb0, 0x03, 0x00, 0x09, 0xb0,
- 0xc5, 0x00, 0x09, 0xb8, 0x46, 0xff, 0x00, 0x1a,
- 0xb2, 0xd0, 0xc6, 0x06, 0xdc, 0xc1, 0xb3, 0x9c,
- 0x00, 0xdc, 0xb0, 0xb1, 0x00, 0xdc, 0xb0, 0x64,
- 0xc4, 0xb6, 0x61, 0x00, 0xdc, 0x80, 0xc0, 0xa7,
- 0xc0, 0x00, 0x01, 0x00, 0xdc, 0x83, 0x00, 0x09,
- 0xb0, 0x74, 0xc0, 0x00, 0xdc, 0xb2, 0x0c, 0xc3,
- 0xb1, 0xed, 0x01, 0xdc, 0xc2, 0x00, 0xdc, 0xc0,
- 0x03, 0xdc, 0xb0, 0xc4, 0x00, 0x09, 0xb0, 0x07,
- 0x00, 0x09, 0xb0, 0x08, 0x00, 0x09, 0x00, 0x07,
- 0xb0, 0x14, 0xc2, 0xaf, 0x01, 0x09, 0xb0, 0x0d,
- 0x00, 0x07, 0xb0, 0x1b, 0x00, 0x09, 0x88, 0x00,
- 0x07, 0xb0, 0x39, 0x00, 0x09, 0x00, 0x07, 0xb0,
- 0x81, 0x00, 0x07, 0x00, 0x09, 0xb0, 0x1f, 0x01,
- 0x07, 0x8f, 0x00, 0x09, 0x97, 0xc6, 0x82, 0xc4,
- 0xb0, 0x9c, 0x00, 0x09, 0x82, 0x00, 0x07, 0x96,
- 0xc0, 0xb0, 0x32, 0x00, 0x09, 0x00, 0x07, 0xb0,
- 0xca, 0x00, 0x09, 0x00, 0x07, 0xb0, 0x4d, 0x00,
- 0x09, 0xb0, 0x45, 0x00, 0x09, 0x00, 0x07, 0xb0,
- 0x42, 0x00, 0x09, 0xb0, 0xdc, 0x00, 0x09, 0x00,
- 0x07, 0xb1, 0x74, 0x00, 0x09, 0xb0, 0x22, 0x00,
+ 0xaf, 0xc4, 0x05, 0xdc, 0xc1, 0x00, 0xdc, 0x80,
+ 0x01, 0xdc, 0xb0, 0x42, 0x00, 0x07, 0x8e, 0x00,
+ 0x09, 0xa5, 0xc0, 0x00, 0xdc, 0xc6, 0xb0, 0x05,
+ 0x01, 0x09, 0xb0, 0x09, 0x00, 0x07, 0x8a, 0x01,
+ 0x09, 0xb0, 0x12, 0x00, 0x07, 0xb0, 0x67, 0xc2,
+ 0x41, 0x00, 0x04, 0xdc, 0xc1, 0x03, 0xdc, 0xc0,
+ 0x41, 0x00, 0x05, 0x01, 0x83, 0x00, 0xdc, 0x85,
+ 0xc0, 0x82, 0xc1, 0xb0, 0x95, 0xc1, 0x00, 0xdc,
+ 0xc6, 0x00, 0xdc, 0xc1, 0x00, 0xea, 0x00, 0xd6,
+ 0x00, 0xdc, 0x00, 0xca, 0xe4, 0x00, 0xe8, 0x01,
+ 0xe4, 0x00, 0xdc, 0x80, 0xc0, 0x00, 0xe9, 0x00,
+ 0xdc, 0xc0, 0x00, 0xdc, 0xb2, 0x9f, 0xc1, 0x01,
+ 0x01, 0xc3, 0x02, 0x01, 0xc1, 0x83, 0xc0, 0x82,
+ 0x01, 0x01, 0xc0, 0x00, 0xdc, 0xc0, 0x01, 0x01,
+ 0x03, 0xdc, 0xc0, 0xb8, 0x03, 0xcd, 0xc2, 0xb0,
+ 0x5c, 0x00, 0x09, 0xb0, 0x2f, 0xdf, 0xb1, 0xf9,
+ 0x00, 0xda, 0x00, 0xe4, 0x00, 0xe8, 0x00, 0xde,
+ 0x01, 0xe0, 0xb0, 0x38, 0x01, 0x08, 0xb8, 0x6d,
+ 0xa3, 0xc0, 0x83, 0xc9, 0x9f, 0xc1, 0xb0, 0x1f,
+ 0xc1, 0xb0, 0xe3, 0x00, 0x09, 0xa4, 0x00, 0x09,
+ 0xb0, 0x66, 0x00, 0x09, 0x9a, 0xd1, 0xb0, 0x08,
+ 0x02, 0xdc, 0xa4, 0x00, 0x09, 0xb0, 0x2e, 0x00,
+ 0x07, 0x8b, 0x00, 0x09, 0xb0, 0xbe, 0xc0, 0x80,
+ 0xc1, 0x00, 0xdc, 0x81, 0xc1, 0x84, 0xc1, 0x80,
+ 0xc0, 0xb0, 0x03, 0x00, 0x09, 0xb0, 0xc5, 0x00,
+ 0x09, 0xb8, 0x46, 0xff, 0x00, 0x1a, 0xb2, 0xd0,
+ 0xc6, 0x06, 0xdc, 0xc1, 0xb3, 0x9c, 0x00, 0xdc,
+ 0xb0, 0xb1, 0x00, 0xdc, 0xb0, 0x64, 0xc4, 0xb6,
+ 0x61, 0x00, 0xdc, 0x80, 0xc0, 0xa7, 0xc0, 0x00,
+ 0x01, 0x00, 0xdc, 0x83, 0x00, 0x09, 0xb0, 0x74,
+ 0xc0, 0x00, 0xdc, 0xb2, 0x0c, 0xc3, 0xb1, 0x52,
+ 0xc1, 0xb0, 0x68, 0x01, 0xdc, 0xc2, 0x00, 0xdc,
+ 0xc0, 0x03, 0xdc, 0xb0, 0xc4, 0x00, 0x09, 0xb0,
+ 0x07, 0x00, 0x09, 0xb0, 0x08, 0x00, 0x09, 0x00,
+ 0x07, 0xb0, 0x14, 0xc2, 0xaf, 0x01, 0x09, 0xb0,
+ 0x0d, 0x00, 0x07, 0xb0, 0x1b, 0x00, 0x09, 0x88,
+ 0x00, 0x07, 0xb0, 0x39, 0x00, 0x09, 0x00, 0x07,
+ 0xb0, 0x81, 0x00, 0x07, 0x00, 0x09, 0xb0, 0x1f,
+ 0x01, 0x07, 0x8f, 0x00, 0x09, 0x97, 0xc6, 0x82,
+ 0xc4, 0xb0, 0x9c, 0x00, 0x09, 0x82, 0x00, 0x07,
+ 0x96, 0xc0, 0xb0, 0x32, 0x00, 0x09, 0x00, 0x07,
+ 0xb0, 0xca, 0x00, 0x09, 0x00, 0x07, 0xb0, 0x4d,
+ 0x00, 0x09, 0xb0, 0x45, 0x00, 0x09, 0x00, 0x07,
+ 0xb0, 0x42, 0x00, 0x09, 0xb0, 0xdc, 0x00, 0x09,
+ 0x00, 0x07, 0xb0, 0xd1, 0x01, 0x09, 0x83, 0x00,
+ 0x07, 0xb0, 0x6b, 0x00, 0x09, 0xb0, 0x22, 0x00,
0x09, 0x91, 0x00, 0x09, 0xb0, 0x20, 0x00, 0x09,
0xb1, 0x74, 0x00, 0x09, 0xb0, 0xd1, 0x00, 0x07,
0x80, 0x01, 0x09, 0xb0, 0x20, 0x00, 0x09, 0xb8,
- 0x45, 0x27, 0x04, 0x01, 0xb0, 0x0a, 0xc6, 0xb8,
- 0x49, 0x36, 0x00, 0x01, 0xb8, 0x0c, 0x95, 0x01,
- 0xd8, 0x02, 0x01, 0x82, 0x00, 0xe2, 0x04, 0xd8,
- 0x87, 0x07, 0xdc, 0x81, 0xc4, 0x01, 0xdc, 0x9d,
- 0xc3, 0xb0, 0x63, 0xc2, 0xb8, 0x05, 0x8a, 0xc6,
- 0x80, 0xd0, 0x81, 0xc6, 0x80, 0xc1, 0x80, 0xc4,
- 0xb0, 0xd4, 0xc6, 0xb1, 0x84, 0xc3, 0xb5, 0xaf,
- 0x06, 0xdc, 0xb0, 0x3c, 0xc5, 0x00, 0x07,
+ 0x45, 0x27, 0x04, 0x01, 0xb0, 0x0a, 0xc6, 0xb4,
+ 0x88, 0x01, 0x06, 0xb8, 0x44, 0x7b, 0x00, 0x01,
+ 0xb8, 0x0c, 0x95, 0x01, 0xd8, 0x02, 0x01, 0x82,
+ 0x00, 0xe2, 0x04, 0xd8, 0x87, 0x07, 0xdc, 0x81,
+ 0xc4, 0x01, 0xdc, 0x9d, 0xc3, 0xb0, 0x63, 0xc2,
+ 0xb8, 0x05, 0x8a, 0xc6, 0x80, 0xd0, 0x81, 0xc6,
+ 0x80, 0xc1, 0x80, 0xc4, 0xb0, 0xd4, 0xc6, 0xb1,
+ 0x84, 0xc3, 0xb5, 0xaf, 0x06, 0xdc, 0xb0, 0x3c,
+ 0xc5, 0x00, 0x07,
};
-static const uint8_t unicode_cc_index[78] = {
+static const uint8_t unicode_cc_index[81] = {
0x4d, 0x03, 0x00, 0x97, 0x05, 0x20, 0xc6, 0x05,
0x00, 0xe7, 0x06, 0x00, 0x45, 0x07, 0x00, 0xe2,
0x08, 0x00, 0x53, 0x09, 0x00, 0xcd, 0x0b, 0x20,
0x38, 0x0e, 0x00, 0x73, 0x0f, 0x20, 0x5d, 0x13,
- 0x20, 0x60, 0x1a, 0x20, 0xe6, 0x1b, 0x20, 0xfa,
- 0x1c, 0x00, 0x00, 0x1e, 0x20, 0x80, 0x2d, 0x00,
- 0x06, 0xa8, 0x00, 0xbe, 0xaa, 0x00, 0x76, 0x03,
- 0x01, 0x4d, 0x0f, 0x01, 0xcb, 0x11, 0x21, 0x5e,
- 0x14, 0x01, 0x3b, 0x18, 0x21, 0xf0, 0x6a, 0x41,
- 0xaa, 0xd1, 0x01, 0x4b, 0xe9, 0x01,
+ 0x20, 0x60, 0x1a, 0x20, 0xaa, 0x1b, 0x00, 0xf4,
+ 0x1c, 0x00, 0xfe, 0x1d, 0x20, 0x7f, 0x2d, 0x20,
+ 0xf0, 0xa6, 0x00, 0xb2, 0xaa, 0x00, 0xfe, 0x01,
+ 0x01, 0xab, 0x0e, 0x01, 0x73, 0x11, 0x21, 0x70,
+ 0x13, 0x01, 0xb8, 0x16, 0x01, 0x9a, 0x1a, 0x01,
+ 0x9f, 0xbc, 0x01, 0x22, 0xe0, 0x01, 0x4b, 0xe9,
+ 0x01,
};
-static const uint32_t unicode_decomp_table1[687] = {
+static const uint32_t unicode_decomp_table1[690] = {
0x00280081, 0x002a0097, 0x002a8081, 0x002bc097,
0x002c8115, 0x002d0097, 0x002d4081, 0x002e0097,
0x002e4115, 0x002f0199, 0x00302016, 0x00400842,
@@ -771,55 +786,56 @@ static const uint32_t unicode_decomp_table1[687] = {
0x0cf54119, 0x0cf5c097, 0x0cf6009b, 0x0cf64099,
0x0cf68217, 0x0cf78119, 0x0cf804a1, 0x0cfa4525,
0x0cfcc525, 0x0cff4125, 0x0cffc099, 0x29a70103,
- 0x29dc0081, 0x29fe0103, 0x2ad70203, 0x3e401482,
- 0x3e4a7f82, 0x3e6a3f82, 0x3e8aa102, 0x3e9b0110,
- 0x3e9c2f82, 0x3eb3c590, 0x3ec00197, 0x3ec0c119,
- 0x3ec1413f, 0x3ec4c2af, 0x3ec74184, 0x3ec804ad,
- 0x3eca4081, 0x3eca8304, 0x3ecc03a0, 0x3ece02a0,
- 0x3ecf8084, 0x3ed00120, 0x3ed0c120, 0x3ed184ae,
- 0x3ed3c085, 0x3ed4312d, 0x3ef4cbad, 0x3efa892f,
- 0x3eff022d, 0x3f002f2f, 0x3f1782a5, 0x3f18c0b1,
- 0x3f1907af, 0x3f1cffaf, 0x3f3c81a5, 0x3f3d64af,
- 0x3f542031, 0x3f649b31, 0x3f7c0131, 0x3f7c83b3,
- 0x3f7e40b1, 0x3f7e80bd, 0x3f7ec0bb, 0x3f7f00b3,
- 0x3f840503, 0x3f8c01ad, 0x3f8cc315, 0x3f8e462d,
- 0x3f91cc03, 0x3f97c695, 0x3f9c01af, 0x3f9d0085,
- 0x3f9d852f, 0x3fa03aad, 0x3fbd442f, 0x3fc06f1f,
- 0x3fd7c11f, 0x3fd85fad, 0x3fe80081, 0x3fe84f1f,
- 0x3ff0831f, 0x3ff2831f, 0x3ff4831f, 0x3ff6819f,
- 0x3ff80783, 0x44268192, 0x442ac092, 0x444b8112,
- 0x44d2c112, 0x452ec212, 0x456e8112, 0x74578392,
- 0x746ec312, 0x75000d1f, 0x75068d1f, 0x750d0d1f,
- 0x7513839f, 0x7515891f, 0x751a0d1f, 0x75208d1f,
- 0x75271015, 0x752f439f, 0x7531459f, 0x75340d1f,
- 0x753a8d1f, 0x75410395, 0x7543441f, 0x7545839f,
- 0x75478d1f, 0x754e0795, 0x7552839f, 0x75548d1f,
- 0x755b0d1f, 0x75618d1f, 0x75680d1f, 0x756e8d1f,
- 0x75750d1f, 0x757b8d1f, 0x75820d1f, 0x75888d1f,
- 0x758f0d1f, 0x75958d1f, 0x759c0d1f, 0x75a28d1f,
- 0x75a90103, 0x75aa089f, 0x75ae4081, 0x75ae839f,
- 0x75b04081, 0x75b08c9f, 0x75b6c081, 0x75b7032d,
- 0x75b8889f, 0x75bcc081, 0x75bd039f, 0x75bec081,
- 0x75bf0c9f, 0x75c54081, 0x75c5832d, 0x75c7089f,
- 0x75cb4081, 0x75cb839f, 0x75cd4081, 0x75cd8c9f,
- 0x75d3c081, 0x75d4032d, 0x75d5889f, 0x75d9c081,
- 0x75da039f, 0x75dbc081, 0x75dc0c9f, 0x75e24081,
- 0x75e2832d, 0x75e4089f, 0x75e84081, 0x75e8839f,
- 0x75ea4081, 0x75ea8c9f, 0x75f0c081, 0x75f1042d,
- 0x75f3851f, 0x75f6051f, 0x75f8851f, 0x75fb051f,
- 0x75fd851f, 0x7b80022d, 0x7b814dad, 0x7b884203,
- 0x7b89c081, 0x7b8a452d, 0x7b8d0403, 0x7b908081,
- 0x7b91dc03, 0x7ba0052d, 0x7ba2c8ad, 0x7ba84483,
- 0x7baac8ad, 0x7c400097, 0x7c404521, 0x7c440d25,
- 0x7c4a8087, 0x7c4ac115, 0x7c4b4117, 0x7c4c0d1f,
- 0x7c528217, 0x7c538099, 0x7c53c097, 0x7c5a8197,
- 0x7c640097, 0x7c80012f, 0x7c808081, 0x7c841603,
- 0x7c9004c1, 0x7c940103, 0xbe0001ac, 0xbe00d110,
- 0xbe0947ac, 0xbe0d3910, 0xbe29872c, 0xbe2d022c,
- 0xbe2e3790, 0xbe49ff90, 0xbe69bc10,
+ 0x29dc0081, 0x29fe0103, 0x2ad70203, 0x2ada4081,
+ 0x3e401482, 0x3e4a7f82, 0x3e6a3f82, 0x3e8aa102,
+ 0x3e9b0110, 0x3e9c2f82, 0x3eb3c590, 0x3ec00197,
+ 0x3ec0c119, 0x3ec1413f, 0x3ec4c2af, 0x3ec74184,
+ 0x3ec804ad, 0x3eca4081, 0x3eca8304, 0x3ecc03a0,
+ 0x3ece02a0, 0x3ecf8084, 0x3ed00120, 0x3ed0c120,
+ 0x3ed184ae, 0x3ed3c085, 0x3ed4312d, 0x3ef4cbad,
+ 0x3efa892f, 0x3eff022d, 0x3f002f2f, 0x3f1782a5,
+ 0x3f18c0b1, 0x3f1907af, 0x3f1cffaf, 0x3f3c81a5,
+ 0x3f3d64af, 0x3f542031, 0x3f649b31, 0x3f7c0131,
+ 0x3f7c83b3, 0x3f7e40b1, 0x3f7e80bd, 0x3f7ec0bb,
+ 0x3f7f00b3, 0x3f840503, 0x3f8c01ad, 0x3f8cc315,
+ 0x3f8e462d, 0x3f91cc03, 0x3f97c695, 0x3f9c01af,
+ 0x3f9d0085, 0x3f9d852f, 0x3fa03aad, 0x3fbd442f,
+ 0x3fc06f1f, 0x3fd7c11f, 0x3fd85fad, 0x3fe80081,
+ 0x3fe84f1f, 0x3ff0831f, 0x3ff2831f, 0x3ff4831f,
+ 0x3ff6819f, 0x3ff80783, 0x44268192, 0x442ac092,
+ 0x444b8112, 0x44d2c112, 0x452ec212, 0x456e8112,
+ 0x464e0092, 0x74578392, 0x746ec312, 0x75000d1f,
+ 0x75068d1f, 0x750d0d1f, 0x7513839f, 0x7515891f,
+ 0x751a0d1f, 0x75208d1f, 0x75271015, 0x752f439f,
+ 0x7531459f, 0x75340d1f, 0x753a8d1f, 0x75410395,
+ 0x7543441f, 0x7545839f, 0x75478d1f, 0x754e0795,
+ 0x7552839f, 0x75548d1f, 0x755b0d1f, 0x75618d1f,
+ 0x75680d1f, 0x756e8d1f, 0x75750d1f, 0x757b8d1f,
+ 0x75820d1f, 0x75888d1f, 0x758f0d1f, 0x75958d1f,
+ 0x759c0d1f, 0x75a28d1f, 0x75a90103, 0x75aa089f,
+ 0x75ae4081, 0x75ae839f, 0x75b04081, 0x75b08c9f,
+ 0x75b6c081, 0x75b7032d, 0x75b8889f, 0x75bcc081,
+ 0x75bd039f, 0x75bec081, 0x75bf0c9f, 0x75c54081,
+ 0x75c5832d, 0x75c7089f, 0x75cb4081, 0x75cb839f,
+ 0x75cd4081, 0x75cd8c9f, 0x75d3c081, 0x75d4032d,
+ 0x75d5889f, 0x75d9c081, 0x75da039f, 0x75dbc081,
+ 0x75dc0c9f, 0x75e24081, 0x75e2832d, 0x75e4089f,
+ 0x75e84081, 0x75e8839f, 0x75ea4081, 0x75ea8c9f,
+ 0x75f0c081, 0x75f1042d, 0x75f3851f, 0x75f6051f,
+ 0x75f8851f, 0x75fb051f, 0x75fd851f, 0x7b80022d,
+ 0x7b814dad, 0x7b884203, 0x7b89c081, 0x7b8a452d,
+ 0x7b8d0403, 0x7b908081, 0x7b91dc03, 0x7ba0052d,
+ 0x7ba2c8ad, 0x7ba84483, 0x7baac8ad, 0x7c400097,
+ 0x7c404521, 0x7c440d25, 0x7c4a8087, 0x7c4ac115,
+ 0x7c4b4117, 0x7c4c0d1f, 0x7c528217, 0x7c538099,
+ 0x7c53c097, 0x7c5a8197, 0x7c640097, 0x7c80012f,
+ 0x7c808081, 0x7c841603, 0x7c9004c1, 0x7c940103,
+ 0x7efc051f, 0xbe0001ac, 0xbe00d110, 0xbe0947ac,
+ 0xbe0d3910, 0xbe29872c, 0xbe2d022c, 0xbe2e3790,
+ 0xbe49ff90, 0xbe69bc10,
};
-static const uint16_t unicode_decomp_table2[687] = {
+static const uint16_t unicode_decomp_table2[690] = {
0x0020, 0x0000, 0x0061, 0x0002, 0x0004, 0x0006, 0x03bc, 0x0008,
0x000a, 0x000c, 0x0015, 0x0095, 0x00a5, 0x00b9, 0x00c1, 0x00c3,
0x00c7, 0x00cb, 0x00d1, 0x00d7, 0x00dd, 0x00e0, 0x00e6, 0x00f8,
@@ -883,32 +899,33 @@ static const uint16_t unicode_decomp_table2[687] = {
0x10f4, 0x1100, 0x1105, 0x1111, 0x1141, 0x1149, 0x114d, 0x1153,
0x1157, 0x115a, 0x116e, 0x1171, 0x1175, 0x117b, 0x117d, 0x1181,
0x1184, 0x118c, 0x1192, 0x1196, 0x119c, 0x11a2, 0x11a8, 0x11ab,
- 0xa76f, 0x11af, 0x11b3, 0x11bb, 0x120d, 0x130b, 0x1409, 0x148d,
- 0x1492, 0x1550, 0x1569, 0x156f, 0x1575, 0x157b, 0x1587, 0x1593,
- 0x002b, 0x159e, 0x15b6, 0x15ba, 0x15be, 0x15c2, 0x15c6, 0x15ca,
- 0x15de, 0x15e2, 0x1646, 0x165f, 0x1685, 0x168b, 0x1749, 0x174f,
- 0x1754, 0x1774, 0x1874, 0x187a, 0x190e, 0x19d0, 0x1a74, 0x1a7c,
- 0x1a9a, 0x1a9f, 0x1ab3, 0x1abd, 0x1ac3, 0x1ad7, 0x1adc, 0x1ae2,
- 0x1af0, 0x1b20, 0x1b2d, 0x1b35, 0x1b39, 0x1b4f, 0x1bc6, 0x1bd8,
- 0x1bda, 0x1bdc, 0x3164, 0x1c1d, 0x1c1f, 0x1c21, 0x1c23, 0x1c25,
- 0x1c27, 0x1c45, 0x1c53, 0x1c58, 0x1c61, 0x1c6a, 0x1c7c, 0x1c85,
- 0x1ca5, 0x1cc0, 0x1cc2, 0x1cc4, 0x1cc6, 0x1cc8, 0x1cca, 0x1ccc,
- 0x1cce, 0x1cee, 0x1cf0, 0x1cf2, 0x1cf4, 0x1cf6, 0x1cfd, 0x1cff,
- 0x1d01, 0x1d03, 0x1d12, 0x1d14, 0x1d16, 0x1d18, 0x1d1a, 0x1d1c,
- 0x1d1e, 0x1d20, 0x1d22, 0x1d24, 0x1d26, 0x1d28, 0x1d2a, 0x1d2c,
- 0x1d2e, 0x1d32, 0x03f4, 0x1d34, 0x2207, 0x1d36, 0x2202, 0x1d38,
- 0x1d40, 0x03f4, 0x1d42, 0x2207, 0x1d44, 0x2202, 0x1d46, 0x1d4e,
- 0x03f4, 0x1d50, 0x2207, 0x1d52, 0x2202, 0x1d54, 0x1d5c, 0x03f4,
- 0x1d5e, 0x2207, 0x1d60, 0x2202, 0x1d62, 0x1d6a, 0x03f4, 0x1d6c,
- 0x2207, 0x1d6e, 0x2202, 0x1d70, 0x1d7a, 0x1d7c, 0x1d7e, 0x1d80,
- 0x1d82, 0x1d84, 0x1d8a, 0x1da7, 0x062d, 0x1daf, 0x1dbb, 0x062c,
- 0x1dcb, 0x1e3b, 0x1e47, 0x1e5a, 0x1e6c, 0x1e7f, 0x1e81, 0x1e85,
- 0x1e8b, 0x1e91, 0x1e93, 0x1e97, 0x1e99, 0x1ea1, 0x1ea4, 0x1ea6,
- 0x1eac, 0x1eae, 0x30b5, 0x1eb4, 0x1f0c, 0x1f22, 0x1f26, 0x1f2b,
- 0x1f78, 0x1f89, 0x208a, 0x209a, 0x20a0, 0x219a, 0x22b8,
+ 0xa76f, 0x11af, 0x11b3, 0x028d, 0x11bb, 0x120d, 0x130b, 0x1409,
+ 0x148d, 0x1492, 0x1550, 0x1569, 0x156f, 0x1575, 0x157b, 0x1587,
+ 0x1593, 0x002b, 0x159e, 0x15b6, 0x15ba, 0x15be, 0x15c2, 0x15c6,
+ 0x15ca, 0x15de, 0x15e2, 0x1646, 0x165f, 0x1685, 0x168b, 0x1749,
+ 0x174f, 0x1754, 0x1774, 0x1874, 0x187a, 0x190e, 0x19d0, 0x1a74,
+ 0x1a7c, 0x1a9a, 0x1a9f, 0x1ab3, 0x1abd, 0x1ac3, 0x1ad7, 0x1adc,
+ 0x1ae2, 0x1af0, 0x1b20, 0x1b2d, 0x1b35, 0x1b39, 0x1b4f, 0x1bc6,
+ 0x1bd8, 0x1bda, 0x1bdc, 0x3164, 0x1c1d, 0x1c1f, 0x1c21, 0x1c23,
+ 0x1c25, 0x1c27, 0x1c45, 0x1c53, 0x1c58, 0x1c61, 0x1c6a, 0x1c7c,
+ 0x1c85, 0x1c8a, 0x1caa, 0x1cc5, 0x1cc7, 0x1cc9, 0x1ccb, 0x1ccd,
+ 0x1ccf, 0x1cd1, 0x1cd3, 0x1cf3, 0x1cf5, 0x1cf7, 0x1cf9, 0x1cfb,
+ 0x1d02, 0x1d04, 0x1d06, 0x1d08, 0x1d17, 0x1d19, 0x1d1b, 0x1d1d,
+ 0x1d1f, 0x1d21, 0x1d23, 0x1d25, 0x1d27, 0x1d29, 0x1d2b, 0x1d2d,
+ 0x1d2f, 0x1d31, 0x1d33, 0x1d37, 0x03f4, 0x1d39, 0x2207, 0x1d3b,
+ 0x2202, 0x1d3d, 0x1d45, 0x03f4, 0x1d47, 0x2207, 0x1d49, 0x2202,
+ 0x1d4b, 0x1d53, 0x03f4, 0x1d55, 0x2207, 0x1d57, 0x2202, 0x1d59,
+ 0x1d61, 0x03f4, 0x1d63, 0x2207, 0x1d65, 0x2202, 0x1d67, 0x1d6f,
+ 0x03f4, 0x1d71, 0x2207, 0x1d73, 0x2202, 0x1d75, 0x1d7f, 0x1d81,
+ 0x1d83, 0x1d85, 0x1d87, 0x1d89, 0x1d8f, 0x1dac, 0x062d, 0x1db4,
+ 0x1dc0, 0x062c, 0x1dd0, 0x1e40, 0x1e4c, 0x1e5f, 0x1e71, 0x1e84,
+ 0x1e86, 0x1e8a, 0x1e90, 0x1e96, 0x1e98, 0x1e9c, 0x1e9e, 0x1ea6,
+ 0x1ea9, 0x1eab, 0x1eb1, 0x1eb3, 0x30b5, 0x1eb9, 0x1f11, 0x1f27,
+ 0x1f2b, 0x1f2d, 0x1f32, 0x1f7f, 0x1f90, 0x2091, 0x20a1, 0x20a7,
+ 0x21a1, 0x22bf,
};
-static const uint8_t unicode_decomp_data[9158] = {
+static const uint8_t unicode_decomp_data[9165] = {
0x20, 0x88, 0x20, 0x84, 0x32, 0x33, 0x20, 0x81,
0x20, 0xa7, 0x31, 0x6f, 0x31, 0xd0, 0x34, 0x31,
0xd0, 0x32, 0x33, 0xd0, 0x34, 0x41, 0x80, 0x41,
@@ -1821,242 +1838,243 @@ static const uint8_t unicode_decomp_data[9158] = {
0x13, 0x55, 0xb9, 0x14, 0xba, 0x14, 0xb9, 0x14,
0xb0, 0x14, 0x00, 0x00, 0x00, 0x00, 0xb9, 0x14,
0xbd, 0x14, 0x55, 0x50, 0xb8, 0x15, 0xaf, 0x15,
- 0xb9, 0x15, 0xaf, 0x15, 0x55, 0x57, 0xd1, 0x65,
- 0xd1, 0x58, 0xd1, 0x65, 0xd1, 0x5f, 0xd1, 0x6e,
- 0xd1, 0x5f, 0xd1, 0x6f, 0xd1, 0x5f, 0xd1, 0x70,
- 0xd1, 0x5f, 0xd1, 0x71, 0xd1, 0x5f, 0xd1, 0x72,
- 0xd1, 0x55, 0x55, 0x55, 0x05, 0xb9, 0xd1, 0x65,
- 0xd1, 0xba, 0xd1, 0x65, 0xd1, 0xbb, 0xd1, 0x6e,
- 0xd1, 0xbc, 0xd1, 0x6e, 0xd1, 0xbb, 0xd1, 0x6f,
- 0xd1, 0xbc, 0xd1, 0x6f, 0xd1, 0x55, 0x55, 0x55,
- 0x41, 0x00, 0x61, 0x00, 0x41, 0x00, 0x61, 0x00,
- 0x69, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41, 0x00,
- 0x43, 0x44, 0x00, 0x00, 0x47, 0x00, 0x00, 0x4a,
- 0x4b, 0x00, 0x00, 0x4e, 0x4f, 0x50, 0x51, 0x00,
- 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
- 0x61, 0x62, 0x63, 0x64, 0x00, 0x66, 0x68, 0x00,
- 0x70, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41, 0x42,
- 0x00, 0x44, 0x45, 0x46, 0x47, 0x4a, 0x00, 0x53,
+ 0xb9, 0x15, 0xaf, 0x15, 0x55, 0x35, 0x19, 0x30,
+ 0x19, 0x05, 0x57, 0xd1, 0x65, 0xd1, 0x58, 0xd1,
+ 0x65, 0xd1, 0x5f, 0xd1, 0x6e, 0xd1, 0x5f, 0xd1,
+ 0x6f, 0xd1, 0x5f, 0xd1, 0x70, 0xd1, 0x5f, 0xd1,
+ 0x71, 0xd1, 0x5f, 0xd1, 0x72, 0xd1, 0x55, 0x55,
+ 0x55, 0x05, 0xb9, 0xd1, 0x65, 0xd1, 0xba, 0xd1,
+ 0x65, 0xd1, 0xbb, 0xd1, 0x6e, 0xd1, 0xbc, 0xd1,
+ 0x6e, 0xd1, 0xbb, 0xd1, 0x6f, 0xd1, 0xbc, 0xd1,
+ 0x6f, 0xd1, 0x55, 0x55, 0x55, 0x41, 0x00, 0x61,
+ 0x00, 0x41, 0x00, 0x61, 0x00, 0x69, 0x00, 0x41,
+ 0x00, 0x61, 0x00, 0x41, 0x00, 0x43, 0x44, 0x00,
+ 0x00, 0x47, 0x00, 0x00, 0x4a, 0x4b, 0x00, 0x00,
+ 0x4e, 0x4f, 0x50, 0x51, 0x00, 0x53, 0x54, 0x55,
+ 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63,
+ 0x64, 0x00, 0x66, 0x68, 0x00, 0x70, 0x00, 0x41,
0x00, 0x61, 0x00, 0x41, 0x42, 0x00, 0x44, 0x45,
- 0x46, 0x47, 0x00, 0x49, 0x4a, 0x4b, 0x4c, 0x4d,
- 0x00, 0x4f, 0x53, 0x00, 0x61, 0x00, 0x41, 0x00,
- 0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41, 0x00,
- 0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41, 0x00,
- 0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x31, 0x01,
- 0x37, 0x02, 0x91, 0x03, 0xa3, 0x03, 0xb1, 0x03,
- 0xd1, 0x03, 0x24, 0x00, 0x1f, 0x04, 0x20, 0x05,
- 0x91, 0x03, 0xa3, 0x03, 0xb1, 0x03, 0xd1, 0x03,
- 0x24, 0x00, 0x1f, 0x04, 0x20, 0x05, 0x91, 0x03,
- 0xa3, 0x03, 0xb1, 0x03, 0xd1, 0x03, 0x24, 0x00,
- 0x1f, 0x04, 0x20, 0x05, 0x91, 0x03, 0xa3, 0x03,
- 0xb1, 0x03, 0xd1, 0x03, 0x24, 0x00, 0x1f, 0x04,
- 0x20, 0x05, 0x91, 0x03, 0xa3, 0x03, 0xb1, 0x03,
- 0xd1, 0x03, 0x24, 0x00, 0x1f, 0x04, 0x20, 0x05,
- 0x0b, 0x0c, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
- 0x30, 0x00, 0x30, 0x00, 0x27, 0x06, 0x00, 0x01,
- 0x05, 0x08, 0x2a, 0x06, 0x1e, 0x08, 0x03, 0x0d,
- 0x20, 0x19, 0x1a, 0x1b, 0x1c, 0x09, 0x0f, 0x17,
- 0x0b, 0x18, 0x07, 0x0a, 0x00, 0x01, 0x04, 0x06,
- 0x0c, 0x0e, 0x10, 0x44, 0x90, 0x77, 0x45, 0x28,
- 0x06, 0x2c, 0x06, 0x00, 0x00, 0x47, 0x06, 0x33,
- 0x06, 0x17, 0x10, 0x11, 0x12, 0x13, 0x00, 0x06,
- 0x0e, 0x02, 0x0f, 0x34, 0x06, 0x2a, 0x06, 0x2b,
- 0x06, 0x2e, 0x06, 0x00, 0x00, 0x36, 0x06, 0x00,
- 0x00, 0x3a, 0x06, 0x2d, 0x06, 0x00, 0x00, 0x4a,
- 0x06, 0x00, 0x00, 0x44, 0x06, 0x00, 0x00, 0x46,
- 0x06, 0x33, 0x06, 0x39, 0x06, 0x00, 0x00, 0x35,
- 0x06, 0x42, 0x06, 0x00, 0x00, 0x34, 0x06, 0x00,
- 0x00, 0x00, 0x00, 0x2e, 0x06, 0x00, 0x00, 0x36,
- 0x06, 0x00, 0x00, 0x3a, 0x06, 0x00, 0x00, 0xba,
- 0x06, 0x00, 0x00, 0x6f, 0x06, 0x00, 0x00, 0x28,
- 0x06, 0x2c, 0x06, 0x00, 0x00, 0x47, 0x06, 0x00,
- 0x00, 0x00, 0x00, 0x2d, 0x06, 0x37, 0x06, 0x4a,
- 0x06, 0x43, 0x06, 0x00, 0x00, 0x45, 0x06, 0x46,
- 0x06, 0x33, 0x06, 0x39, 0x06, 0x41, 0x06, 0x35,
- 0x06, 0x42, 0x06, 0x00, 0x00, 0x34, 0x06, 0x2a,
- 0x06, 0x2b, 0x06, 0x2e, 0x06, 0x00, 0x00, 0x36,
- 0x06, 0x38, 0x06, 0x3a, 0x06, 0x6e, 0x06, 0x00,
- 0x00, 0xa1, 0x06, 0x27, 0x06, 0x00, 0x01, 0x05,
- 0x08, 0x20, 0x21, 0x0b, 0x06, 0x10, 0x23, 0x2a,
- 0x06, 0x1a, 0x1b, 0x1c, 0x09, 0x0f, 0x17, 0x0b,
- 0x18, 0x07, 0x0a, 0x00, 0x01, 0x04, 0x06, 0x0c,
- 0x0e, 0x10, 0x28, 0x06, 0x2c, 0x06, 0x2f, 0x06,
- 0x00, 0x00, 0x48, 0x06, 0x32, 0x06, 0x2d, 0x06,
- 0x37, 0x06, 0x4a, 0x06, 0x2a, 0x06, 0x1a, 0x1b,
+ 0x46, 0x47, 0x4a, 0x00, 0x53, 0x00, 0x61, 0x00,
+ 0x41, 0x42, 0x00, 0x44, 0x45, 0x46, 0x47, 0x00,
+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x00, 0x4f, 0x53,
+ 0x00, 0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41,
+ 0x00, 0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41,
+ 0x00, 0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41,
+ 0x00, 0x61, 0x00, 0x31, 0x01, 0x37, 0x02, 0x91,
+ 0x03, 0xa3, 0x03, 0xb1, 0x03, 0xd1, 0x03, 0x24,
+ 0x00, 0x1f, 0x04, 0x20, 0x05, 0x91, 0x03, 0xa3,
+ 0x03, 0xb1, 0x03, 0xd1, 0x03, 0x24, 0x00, 0x1f,
+ 0x04, 0x20, 0x05, 0x91, 0x03, 0xa3, 0x03, 0xb1,
+ 0x03, 0xd1, 0x03, 0x24, 0x00, 0x1f, 0x04, 0x20,
+ 0x05, 0x91, 0x03, 0xa3, 0x03, 0xb1, 0x03, 0xd1,
+ 0x03, 0x24, 0x00, 0x1f, 0x04, 0x20, 0x05, 0x91,
+ 0x03, 0xa3, 0x03, 0xb1, 0x03, 0xd1, 0x03, 0x24,
+ 0x00, 0x1f, 0x04, 0x20, 0x05, 0x0b, 0x0c, 0x30,
+ 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30,
+ 0x00, 0x27, 0x06, 0x00, 0x01, 0x05, 0x08, 0x2a,
+ 0x06, 0x1e, 0x08, 0x03, 0x0d, 0x20, 0x19, 0x1a,
+ 0x1b, 0x1c, 0x09, 0x0f, 0x17, 0x0b, 0x18, 0x07,
+ 0x0a, 0x00, 0x01, 0x04, 0x06, 0x0c, 0x0e, 0x10,
+ 0x44, 0x90, 0x77, 0x45, 0x28, 0x06, 0x2c, 0x06,
+ 0x00, 0x00, 0x47, 0x06, 0x33, 0x06, 0x17, 0x10,
+ 0x11, 0x12, 0x13, 0x00, 0x06, 0x0e, 0x02, 0x0f,
+ 0x34, 0x06, 0x2a, 0x06, 0x2b, 0x06, 0x2e, 0x06,
+ 0x00, 0x00, 0x36, 0x06, 0x00, 0x00, 0x3a, 0x06,
+ 0x2d, 0x06, 0x00, 0x00, 0x4a, 0x06, 0x00, 0x00,
+ 0x44, 0x06, 0x00, 0x00, 0x46, 0x06, 0x33, 0x06,
+ 0x39, 0x06, 0x00, 0x00, 0x35, 0x06, 0x42, 0x06,
+ 0x00, 0x00, 0x34, 0x06, 0x00, 0x00, 0x00, 0x00,
+ 0x2e, 0x06, 0x00, 0x00, 0x36, 0x06, 0x00, 0x00,
+ 0x3a, 0x06, 0x00, 0x00, 0xba, 0x06, 0x00, 0x00,
+ 0x6f, 0x06, 0x00, 0x00, 0x28, 0x06, 0x2c, 0x06,
+ 0x00, 0x00, 0x47, 0x06, 0x00, 0x00, 0x00, 0x00,
+ 0x2d, 0x06, 0x37, 0x06, 0x4a, 0x06, 0x43, 0x06,
+ 0x00, 0x00, 0x45, 0x06, 0x46, 0x06, 0x33, 0x06,
+ 0x39, 0x06, 0x41, 0x06, 0x35, 0x06, 0x42, 0x06,
+ 0x00, 0x00, 0x34, 0x06, 0x2a, 0x06, 0x2b, 0x06,
+ 0x2e, 0x06, 0x00, 0x00, 0x36, 0x06, 0x38, 0x06,
+ 0x3a, 0x06, 0x6e, 0x06, 0x00, 0x00, 0xa1, 0x06,
+ 0x27, 0x06, 0x00, 0x01, 0x05, 0x08, 0x20, 0x21,
+ 0x0b, 0x06, 0x10, 0x23, 0x2a, 0x06, 0x1a, 0x1b,
0x1c, 0x09, 0x0f, 0x17, 0x0b, 0x18, 0x07, 0x0a,
- 0x00, 0x01, 0x04, 0x06, 0x0c, 0x0e, 0x10, 0x30,
- 0x2e, 0x30, 0x00, 0x2c, 0x00, 0x28, 0x00, 0x41,
- 0x00, 0x29, 0x00, 0x14, 0x30, 0x53, 0x00, 0x15,
- 0x30, 0x43, 0x52, 0x43, 0x44, 0x57, 0x5a, 0x41,
- 0x00, 0x48, 0x56, 0x4d, 0x56, 0x53, 0x44, 0x53,
- 0x53, 0x50, 0x50, 0x56, 0x57, 0x43, 0x4d, 0x43,
- 0x4d, 0x44, 0x4d, 0x52, 0x44, 0x4a, 0x4b, 0x30,
- 0x30, 0x00, 0x68, 0x68, 0x4b, 0x62, 0x57, 0x5b,
- 0xcc, 0x53, 0xc7, 0x30, 0x8c, 0x4e, 0x1a, 0x59,
- 0xe3, 0x89, 0x29, 0x59, 0xa4, 0x4e, 0x20, 0x66,
- 0x21, 0x71, 0x99, 0x65, 0x4d, 0x52, 0x8c, 0x5f,
- 0x8d, 0x51, 0xb0, 0x65, 0x1d, 0x52, 0x42, 0x7d,
- 0x1f, 0x75, 0xa9, 0x8c, 0xf0, 0x58, 0x39, 0x54,
- 0x14, 0x6f, 0x95, 0x62, 0x55, 0x63, 0x00, 0x4e,
- 0x09, 0x4e, 0x4a, 0x90, 0xe6, 0x5d, 0x2d, 0x4e,
- 0xf3, 0x53, 0x07, 0x63, 0x70, 0x8d, 0x53, 0x62,
- 0x81, 0x79, 0x7a, 0x7a, 0x08, 0x54, 0x80, 0x6e,
- 0x09, 0x67, 0x08, 0x67, 0x33, 0x75, 0x72, 0x52,
- 0xb6, 0x55, 0x4d, 0x91, 0x14, 0x30, 0x15, 0x30,
- 0x2c, 0x67, 0x09, 0x4e, 0x8c, 0x4e, 0x89, 0x5b,
- 0xb9, 0x70, 0x53, 0x62, 0xd7, 0x76, 0xdd, 0x52,
- 0x57, 0x65, 0x97, 0x5f, 0xef, 0x53, 0x38, 0x4e,
- 0x05, 0x00, 0x09, 0x22, 0x01, 0x60, 0x4f, 0xae,
- 0x4f, 0xbb, 0x4f, 0x02, 0x50, 0x7a, 0x50, 0x99,
- 0x50, 0xe7, 0x50, 0xcf, 0x50, 0x9e, 0x34, 0x3a,
- 0x06, 0x4d, 0x51, 0x54, 0x51, 0x64, 0x51, 0x77,
- 0x51, 0x1c, 0x05, 0xb9, 0x34, 0x67, 0x51, 0x8d,
- 0x51, 0x4b, 0x05, 0x97, 0x51, 0xa4, 0x51, 0xcc,
- 0x4e, 0xac, 0x51, 0xb5, 0x51, 0xdf, 0x91, 0xf5,
- 0x51, 0x03, 0x52, 0xdf, 0x34, 0x3b, 0x52, 0x46,
- 0x52, 0x72, 0x52, 0x77, 0x52, 0x15, 0x35, 0x02,
- 0x00, 0x20, 0x80, 0x80, 0x00, 0x08, 0x00, 0x00,
- 0xc7, 0x52, 0x00, 0x02, 0x1d, 0x33, 0x3e, 0x3f,
- 0x50, 0x82, 0x8a, 0x93, 0xac, 0xb6, 0xb8, 0xb8,
- 0xb8, 0x2c, 0x0a, 0x70, 0x70, 0xca, 0x53, 0xdf,
- 0x53, 0x63, 0x0b, 0xeb, 0x53, 0xf1, 0x53, 0x06,
- 0x54, 0x9e, 0x54, 0x38, 0x54, 0x48, 0x54, 0x68,
- 0x54, 0xa2, 0x54, 0xf6, 0x54, 0x10, 0x55, 0x53,
- 0x55, 0x63, 0x55, 0x84, 0x55, 0x84, 0x55, 0x99,
- 0x55, 0xab, 0x55, 0xb3, 0x55, 0xc2, 0x55, 0x16,
- 0x57, 0x06, 0x56, 0x17, 0x57, 0x51, 0x56, 0x74,
- 0x56, 0x07, 0x52, 0xee, 0x58, 0xce, 0x57, 0xf4,
- 0x57, 0x0d, 0x58, 0x8b, 0x57, 0x32, 0x58, 0x31,
- 0x58, 0xac, 0x58, 0xe4, 0x14, 0xf2, 0x58, 0xf7,
- 0x58, 0x06, 0x59, 0x1a, 0x59, 0x22, 0x59, 0x62,
- 0x59, 0xa8, 0x16, 0xea, 0x16, 0xec, 0x59, 0x1b,
- 0x5a, 0x27, 0x5a, 0xd8, 0x59, 0x66, 0x5a, 0xee,
- 0x36, 0xfc, 0x36, 0x08, 0x5b, 0x3e, 0x5b, 0x3e,
- 0x5b, 0xc8, 0x19, 0xc3, 0x5b, 0xd8, 0x5b, 0xe7,
- 0x5b, 0xf3, 0x5b, 0x18, 0x1b, 0xff, 0x5b, 0x06,
- 0x5c, 0x53, 0x5f, 0x22, 0x5c, 0x81, 0x37, 0x60,
- 0x5c, 0x6e, 0x5c, 0xc0, 0x5c, 0x8d, 0x5c, 0xe4,
- 0x1d, 0x43, 0x5d, 0xe6, 0x1d, 0x6e, 0x5d, 0x6b,
- 0x5d, 0x7c, 0x5d, 0xe1, 0x5d, 0xe2, 0x5d, 0x2f,
- 0x38, 0xfd, 0x5d, 0x28, 0x5e, 0x3d, 0x5e, 0x69,
- 0x5e, 0x62, 0x38, 0x83, 0x21, 0x7c, 0x38, 0xb0,
- 0x5e, 0xb3, 0x5e, 0xb6, 0x5e, 0xca, 0x5e, 0x92,
- 0xa3, 0xfe, 0x5e, 0x31, 0x23, 0x31, 0x23, 0x01,
- 0x82, 0x22, 0x5f, 0x22, 0x5f, 0xc7, 0x38, 0xb8,
- 0x32, 0xda, 0x61, 0x62, 0x5f, 0x6b, 0x5f, 0xe3,
- 0x38, 0x9a, 0x5f, 0xcd, 0x5f, 0xd7, 0x5f, 0xf9,
- 0x5f, 0x81, 0x60, 0x3a, 0x39, 0x1c, 0x39, 0x94,
- 0x60, 0xd4, 0x26, 0xc7, 0x60, 0x02, 0x02, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
- 0x0a, 0x00, 0x00, 0x02, 0x08, 0x00, 0x80, 0x08,
- 0x00, 0x00, 0x08, 0x80, 0x28, 0x80, 0x02, 0x00,
- 0x00, 0x02, 0x48, 0x61, 0x00, 0x04, 0x06, 0x04,
- 0x32, 0x46, 0x6a, 0x5c, 0x67, 0x96, 0xaa, 0xae,
- 0xc8, 0xd3, 0x5d, 0x62, 0x00, 0x54, 0x77, 0xf3,
- 0x0c, 0x2b, 0x3d, 0x63, 0xfc, 0x62, 0x68, 0x63,
- 0x83, 0x63, 0xe4, 0x63, 0xf1, 0x2b, 0x22, 0x64,
- 0xc5, 0x63, 0xa9, 0x63, 0x2e, 0x3a, 0x69, 0x64,
- 0x7e, 0x64, 0x9d, 0x64, 0x77, 0x64, 0x6c, 0x3a,
- 0x4f, 0x65, 0x6c, 0x65, 0x0a, 0x30, 0xe3, 0x65,
- 0xf8, 0x66, 0x49, 0x66, 0x19, 0x3b, 0x91, 0x66,
- 0x08, 0x3b, 0xe4, 0x3a, 0x92, 0x51, 0x95, 0x51,
- 0x00, 0x67, 0x9c, 0x66, 0xad, 0x80, 0xd9, 0x43,
- 0x17, 0x67, 0x1b, 0x67, 0x21, 0x67, 0x5e, 0x67,
- 0x53, 0x67, 0xc3, 0x33, 0x49, 0x3b, 0xfa, 0x67,
- 0x85, 0x67, 0x52, 0x68, 0x85, 0x68, 0x6d, 0x34,
- 0x8e, 0x68, 0x1f, 0x68, 0x14, 0x69, 0x9d, 0x3b,
- 0x42, 0x69, 0xa3, 0x69, 0xea, 0x69, 0xa8, 0x6a,
- 0xa3, 0x36, 0xdb, 0x6a, 0x18, 0x3c, 0x21, 0x6b,
- 0xa7, 0x38, 0x54, 0x6b, 0x4e, 0x3c, 0x72, 0x6b,
- 0x9f, 0x6b, 0xba, 0x6b, 0xbb, 0x6b, 0x8d, 0x3a,
- 0x0b, 0x1d, 0xfa, 0x3a, 0x4e, 0x6c, 0xbc, 0x3c,
- 0xbf, 0x6c, 0xcd, 0x6c, 0x67, 0x6c, 0x16, 0x6d,
- 0x3e, 0x6d, 0x77, 0x6d, 0x41, 0x6d, 0x69, 0x6d,
- 0x78, 0x6d, 0x85, 0x6d, 0x1e, 0x3d, 0x34, 0x6d,
- 0x2f, 0x6e, 0x6e, 0x6e, 0x33, 0x3d, 0xcb, 0x6e,
- 0xc7, 0x6e, 0xd1, 0x3e, 0xf9, 0x6d, 0x6e, 0x6f,
- 0x5e, 0x3f, 0x8e, 0x3f, 0xc6, 0x6f, 0x39, 0x70,
- 0x1e, 0x70, 0x1b, 0x70, 0x96, 0x3d, 0x4a, 0x70,
- 0x7d, 0x70, 0x77, 0x70, 0xad, 0x70, 0x25, 0x05,
- 0x45, 0x71, 0x63, 0x42, 0x9c, 0x71, 0xab, 0x43,
- 0x28, 0x72, 0x35, 0x72, 0x50, 0x72, 0x08, 0x46,
- 0x80, 0x72, 0x95, 0x72, 0x35, 0x47, 0x02, 0x20,
- 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08,
- 0x80, 0x00, 0x00, 0x02, 0x02, 0x80, 0x8a, 0x00,
- 0x00, 0x20, 0x00, 0x08, 0x0a, 0x00, 0x80, 0x88,
- 0x80, 0x20, 0x14, 0x48, 0x7a, 0x73, 0x8b, 0x73,
- 0xac, 0x3e, 0xa5, 0x73, 0xb8, 0x3e, 0xb8, 0x3e,
- 0x47, 0x74, 0x5c, 0x74, 0x71, 0x74, 0x85, 0x74,
- 0xca, 0x74, 0x1b, 0x3f, 0x24, 0x75, 0x36, 0x4c,
- 0x3e, 0x75, 0x92, 0x4c, 0x70, 0x75, 0x9f, 0x21,
- 0x10, 0x76, 0xa1, 0x4f, 0xb8, 0x4f, 0x44, 0x50,
- 0xfc, 0x3f, 0x08, 0x40, 0xf4, 0x76, 0xf3, 0x50,
- 0xf2, 0x50, 0x19, 0x51, 0x33, 0x51, 0x1e, 0x77,
- 0x1f, 0x77, 0x1f, 0x77, 0x4a, 0x77, 0x39, 0x40,
- 0x8b, 0x77, 0x46, 0x40, 0x96, 0x40, 0x1d, 0x54,
- 0x4e, 0x78, 0x8c, 0x78, 0xcc, 0x78, 0xe3, 0x40,
- 0x26, 0x56, 0x56, 0x79, 0x9a, 0x56, 0xc5, 0x56,
- 0x8f, 0x79, 0xeb, 0x79, 0x2f, 0x41, 0x40, 0x7a,
- 0x4a, 0x7a, 0x4f, 0x7a, 0x7c, 0x59, 0xa7, 0x5a,
- 0xa7, 0x5a, 0xee, 0x7a, 0x02, 0x42, 0xab, 0x5b,
- 0xc6, 0x7b, 0xc9, 0x7b, 0x27, 0x42, 0x80, 0x5c,
- 0xd2, 0x7c, 0xa0, 0x42, 0xe8, 0x7c, 0xe3, 0x7c,
- 0x00, 0x7d, 0x86, 0x5f, 0x63, 0x7d, 0x01, 0x43,
- 0xc7, 0x7d, 0x02, 0x7e, 0x45, 0x7e, 0x34, 0x43,
- 0x28, 0x62, 0x47, 0x62, 0x59, 0x43, 0xd9, 0x62,
- 0x7a, 0x7f, 0x3e, 0x63, 0x95, 0x7f, 0xfa, 0x7f,
- 0x05, 0x80, 0xda, 0x64, 0x23, 0x65, 0x60, 0x80,
- 0xa8, 0x65, 0x70, 0x80, 0x5f, 0x33, 0xd5, 0x43,
- 0xb2, 0x80, 0x03, 0x81, 0x0b, 0x44, 0x3e, 0x81,
- 0xb5, 0x5a, 0xa7, 0x67, 0xb5, 0x67, 0x93, 0x33,
- 0x9c, 0x33, 0x01, 0x82, 0x04, 0x82, 0x9e, 0x8f,
- 0x6b, 0x44, 0x91, 0x82, 0x8b, 0x82, 0x9d, 0x82,
- 0xb3, 0x52, 0xb1, 0x82, 0xb3, 0x82, 0xbd, 0x82,
- 0xe6, 0x82, 0x3c, 0x6b, 0xe5, 0x82, 0x1d, 0x83,
- 0x63, 0x83, 0xad, 0x83, 0x23, 0x83, 0xbd, 0x83,
- 0xe7, 0x83, 0x57, 0x84, 0x53, 0x83, 0xca, 0x83,
- 0xcc, 0x83, 0xdc, 0x83, 0x36, 0x6c, 0x6b, 0x6d,
- 0x02, 0x00, 0x00, 0x20, 0x22, 0x2a, 0xa0, 0x0a,
- 0x00, 0x20, 0x80, 0x28, 0x00, 0xa8, 0x20, 0x20,
- 0x00, 0x02, 0x80, 0x22, 0x02, 0x8a, 0x08, 0x00,
- 0xaa, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x28,
- 0xd5, 0x6c, 0x2b, 0x45, 0xf1, 0x84, 0xf3, 0x84,
- 0x16, 0x85, 0xca, 0x73, 0x64, 0x85, 0x2c, 0x6f,
- 0x5d, 0x45, 0x61, 0x45, 0xb1, 0x6f, 0xd2, 0x70,
- 0x6b, 0x45, 0x50, 0x86, 0x5c, 0x86, 0x67, 0x86,
- 0x69, 0x86, 0xa9, 0x86, 0x88, 0x86, 0x0e, 0x87,
- 0xe2, 0x86, 0x79, 0x87, 0x28, 0x87, 0x6b, 0x87,
- 0x86, 0x87, 0xd7, 0x45, 0xe1, 0x87, 0x01, 0x88,
- 0xf9, 0x45, 0x60, 0x88, 0x63, 0x88, 0x67, 0x76,
- 0xd7, 0x88, 0xde, 0x88, 0x35, 0x46, 0xfa, 0x88,
- 0xbb, 0x34, 0xae, 0x78, 0x66, 0x79, 0xbe, 0x46,
- 0xc7, 0x46, 0xa0, 0x8a, 0xed, 0x8a, 0x8a, 0x8b,
- 0x55, 0x8c, 0xa8, 0x7c, 0xab, 0x8c, 0xc1, 0x8c,
- 0x1b, 0x8d, 0x77, 0x8d, 0x2f, 0x7f, 0x04, 0x08,
- 0xcb, 0x8d, 0xbc, 0x8d, 0xf0, 0x8d, 0xde, 0x08,
- 0xd4, 0x8e, 0x38, 0x8f, 0xd2, 0x85, 0xed, 0x85,
- 0x94, 0x90, 0xf1, 0x90, 0x11, 0x91, 0x2e, 0x87,
- 0x1b, 0x91, 0x38, 0x92, 0xd7, 0x92, 0xd8, 0x92,
- 0x7c, 0x92, 0xf9, 0x93, 0x15, 0x94, 0xfa, 0x8b,
- 0x8b, 0x95, 0x95, 0x49, 0xb7, 0x95, 0x77, 0x8d,
- 0xe6, 0x49, 0xc3, 0x96, 0xb2, 0x5d, 0x23, 0x97,
- 0x45, 0x91, 0x1a, 0x92, 0x6e, 0x4a, 0x76, 0x4a,
- 0xe0, 0x97, 0x0a, 0x94, 0xb2, 0x4a, 0x96, 0x94,
- 0x0b, 0x98, 0x0b, 0x98, 0x29, 0x98, 0xb6, 0x95,
- 0xe2, 0x98, 0x33, 0x4b, 0x29, 0x99, 0xa7, 0x99,
- 0xc2, 0x99, 0xfe, 0x99, 0xce, 0x4b, 0x30, 0x9b,
- 0x12, 0x9b, 0x40, 0x9c, 0xfd, 0x9c, 0xce, 0x4c,
- 0xed, 0x4c, 0x67, 0x9d, 0xce, 0xa0, 0xf8, 0x4c,
- 0x05, 0xa1, 0x0e, 0xa2, 0x91, 0xa2, 0xbb, 0x9e,
- 0x56, 0x4d, 0xf9, 0x9e, 0xfe, 0x9e, 0x05, 0x9f,
- 0x0f, 0x9f, 0x16, 0x9f, 0x3b, 0x9f, 0x00, 0xa6,
- 0x02, 0x88, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0x00, 0x28, 0x00, 0x08, 0xa0, 0x80, 0xa0, 0x80,
- 0x00, 0x80, 0x80, 0x00, 0x0a, 0x88, 0x80, 0x00,
- 0x80, 0x00, 0x20, 0x2a, 0x00, 0x80,
+ 0x00, 0x01, 0x04, 0x06, 0x0c, 0x0e, 0x10, 0x28,
+ 0x06, 0x2c, 0x06, 0x2f, 0x06, 0x00, 0x00, 0x48,
+ 0x06, 0x32, 0x06, 0x2d, 0x06, 0x37, 0x06, 0x4a,
+ 0x06, 0x2a, 0x06, 0x1a, 0x1b, 0x1c, 0x09, 0x0f,
+ 0x17, 0x0b, 0x18, 0x07, 0x0a, 0x00, 0x01, 0x04,
+ 0x06, 0x0c, 0x0e, 0x10, 0x30, 0x2e, 0x30, 0x00,
+ 0x2c, 0x00, 0x28, 0x00, 0x41, 0x00, 0x29, 0x00,
+ 0x14, 0x30, 0x53, 0x00, 0x15, 0x30, 0x43, 0x52,
+ 0x43, 0x44, 0x57, 0x5a, 0x41, 0x00, 0x48, 0x56,
+ 0x4d, 0x56, 0x53, 0x44, 0x53, 0x53, 0x50, 0x50,
+ 0x56, 0x57, 0x43, 0x4d, 0x43, 0x4d, 0x44, 0x4d,
+ 0x52, 0x44, 0x4a, 0x4b, 0x30, 0x30, 0x00, 0x68,
+ 0x68, 0x4b, 0x62, 0x57, 0x5b, 0xcc, 0x53, 0xc7,
+ 0x30, 0x8c, 0x4e, 0x1a, 0x59, 0xe3, 0x89, 0x29,
+ 0x59, 0xa4, 0x4e, 0x20, 0x66, 0x21, 0x71, 0x99,
+ 0x65, 0x4d, 0x52, 0x8c, 0x5f, 0x8d, 0x51, 0xb0,
+ 0x65, 0x1d, 0x52, 0x42, 0x7d, 0x1f, 0x75, 0xa9,
+ 0x8c, 0xf0, 0x58, 0x39, 0x54, 0x14, 0x6f, 0x95,
+ 0x62, 0x55, 0x63, 0x00, 0x4e, 0x09, 0x4e, 0x4a,
+ 0x90, 0xe6, 0x5d, 0x2d, 0x4e, 0xf3, 0x53, 0x07,
+ 0x63, 0x70, 0x8d, 0x53, 0x62, 0x81, 0x79, 0x7a,
+ 0x7a, 0x08, 0x54, 0x80, 0x6e, 0x09, 0x67, 0x08,
+ 0x67, 0x33, 0x75, 0x72, 0x52, 0xb6, 0x55, 0x4d,
+ 0x91, 0x14, 0x30, 0x15, 0x30, 0x2c, 0x67, 0x09,
+ 0x4e, 0x8c, 0x4e, 0x89, 0x5b, 0xb9, 0x70, 0x53,
+ 0x62, 0xd7, 0x76, 0xdd, 0x52, 0x57, 0x65, 0x97,
+ 0x5f, 0xef, 0x53, 0x30, 0x00, 0x38, 0x4e, 0x05,
+ 0x00, 0x09, 0x22, 0x01, 0x60, 0x4f, 0xae, 0x4f,
+ 0xbb, 0x4f, 0x02, 0x50, 0x7a, 0x50, 0x99, 0x50,
+ 0xe7, 0x50, 0xcf, 0x50, 0x9e, 0x34, 0x3a, 0x06,
+ 0x4d, 0x51, 0x54, 0x51, 0x64, 0x51, 0x77, 0x51,
+ 0x1c, 0x05, 0xb9, 0x34, 0x67, 0x51, 0x8d, 0x51,
+ 0x4b, 0x05, 0x97, 0x51, 0xa4, 0x51, 0xcc, 0x4e,
+ 0xac, 0x51, 0xb5, 0x51, 0xdf, 0x91, 0xf5, 0x51,
+ 0x03, 0x52, 0xdf, 0x34, 0x3b, 0x52, 0x46, 0x52,
+ 0x72, 0x52, 0x77, 0x52, 0x15, 0x35, 0x02, 0x00,
+ 0x20, 0x80, 0x80, 0x00, 0x08, 0x00, 0x00, 0xc7,
+ 0x52, 0x00, 0x02, 0x1d, 0x33, 0x3e, 0x3f, 0x50,
+ 0x82, 0x8a, 0x93, 0xac, 0xb6, 0xb8, 0xb8, 0xb8,
+ 0x2c, 0x0a, 0x70, 0x70, 0xca, 0x53, 0xdf, 0x53,
+ 0x63, 0x0b, 0xeb, 0x53, 0xf1, 0x53, 0x06, 0x54,
+ 0x9e, 0x54, 0x38, 0x54, 0x48, 0x54, 0x68, 0x54,
+ 0xa2, 0x54, 0xf6, 0x54, 0x10, 0x55, 0x53, 0x55,
+ 0x63, 0x55, 0x84, 0x55, 0x84, 0x55, 0x99, 0x55,
+ 0xab, 0x55, 0xb3, 0x55, 0xc2, 0x55, 0x16, 0x57,
+ 0x06, 0x56, 0x17, 0x57, 0x51, 0x56, 0x74, 0x56,
+ 0x07, 0x52, 0xee, 0x58, 0xce, 0x57, 0xf4, 0x57,
+ 0x0d, 0x58, 0x8b, 0x57, 0x32, 0x58, 0x31, 0x58,
+ 0xac, 0x58, 0xe4, 0x14, 0xf2, 0x58, 0xf7, 0x58,
+ 0x06, 0x59, 0x1a, 0x59, 0x22, 0x59, 0x62, 0x59,
+ 0xa8, 0x16, 0xea, 0x16, 0xec, 0x59, 0x1b, 0x5a,
+ 0x27, 0x5a, 0xd8, 0x59, 0x66, 0x5a, 0xee, 0x36,
+ 0xfc, 0x36, 0x08, 0x5b, 0x3e, 0x5b, 0x3e, 0x5b,
+ 0xc8, 0x19, 0xc3, 0x5b, 0xd8, 0x5b, 0xe7, 0x5b,
+ 0xf3, 0x5b, 0x18, 0x1b, 0xff, 0x5b, 0x06, 0x5c,
+ 0x53, 0x5f, 0x22, 0x5c, 0x81, 0x37, 0x60, 0x5c,
+ 0x6e, 0x5c, 0xc0, 0x5c, 0x8d, 0x5c, 0xe4, 0x1d,
+ 0x43, 0x5d, 0xe6, 0x1d, 0x6e, 0x5d, 0x6b, 0x5d,
+ 0x7c, 0x5d, 0xe1, 0x5d, 0xe2, 0x5d, 0x2f, 0x38,
+ 0xfd, 0x5d, 0x28, 0x5e, 0x3d, 0x5e, 0x69, 0x5e,
+ 0x62, 0x38, 0x83, 0x21, 0x7c, 0x38, 0xb0, 0x5e,
+ 0xb3, 0x5e, 0xb6, 0x5e, 0xca, 0x5e, 0x92, 0xa3,
+ 0xfe, 0x5e, 0x31, 0x23, 0x31, 0x23, 0x01, 0x82,
+ 0x22, 0x5f, 0x22, 0x5f, 0xc7, 0x38, 0xb8, 0x32,
+ 0xda, 0x61, 0x62, 0x5f, 0x6b, 0x5f, 0xe3, 0x38,
+ 0x9a, 0x5f, 0xcd, 0x5f, 0xd7, 0x5f, 0xf9, 0x5f,
+ 0x81, 0x60, 0x3a, 0x39, 0x1c, 0x39, 0x94, 0x60,
+ 0xd4, 0x26, 0xc7, 0x60, 0x02, 0x02, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0a,
+ 0x00, 0x00, 0x02, 0x08, 0x00, 0x80, 0x08, 0x00,
+ 0x00, 0x08, 0x80, 0x28, 0x80, 0x02, 0x00, 0x00,
+ 0x02, 0x48, 0x61, 0x00, 0x04, 0x06, 0x04, 0x32,
+ 0x46, 0x6a, 0x5c, 0x67, 0x96, 0xaa, 0xae, 0xc8,
+ 0xd3, 0x5d, 0x62, 0x00, 0x54, 0x77, 0xf3, 0x0c,
+ 0x2b, 0x3d, 0x63, 0xfc, 0x62, 0x68, 0x63, 0x83,
+ 0x63, 0xe4, 0x63, 0xf1, 0x2b, 0x22, 0x64, 0xc5,
+ 0x63, 0xa9, 0x63, 0x2e, 0x3a, 0x69, 0x64, 0x7e,
+ 0x64, 0x9d, 0x64, 0x77, 0x64, 0x6c, 0x3a, 0x4f,
+ 0x65, 0x6c, 0x65, 0x0a, 0x30, 0xe3, 0x65, 0xf8,
+ 0x66, 0x49, 0x66, 0x19, 0x3b, 0x91, 0x66, 0x08,
+ 0x3b, 0xe4, 0x3a, 0x92, 0x51, 0x95, 0x51, 0x00,
+ 0x67, 0x9c, 0x66, 0xad, 0x80, 0xd9, 0x43, 0x17,
+ 0x67, 0x1b, 0x67, 0x21, 0x67, 0x5e, 0x67, 0x53,
+ 0x67, 0xc3, 0x33, 0x49, 0x3b, 0xfa, 0x67, 0x85,
+ 0x67, 0x52, 0x68, 0x85, 0x68, 0x6d, 0x34, 0x8e,
+ 0x68, 0x1f, 0x68, 0x14, 0x69, 0x9d, 0x3b, 0x42,
+ 0x69, 0xa3, 0x69, 0xea, 0x69, 0xa8, 0x6a, 0xa3,
+ 0x36, 0xdb, 0x6a, 0x18, 0x3c, 0x21, 0x6b, 0xa7,
+ 0x38, 0x54, 0x6b, 0x4e, 0x3c, 0x72, 0x6b, 0x9f,
+ 0x6b, 0xba, 0x6b, 0xbb, 0x6b, 0x8d, 0x3a, 0x0b,
+ 0x1d, 0xfa, 0x3a, 0x4e, 0x6c, 0xbc, 0x3c, 0xbf,
+ 0x6c, 0xcd, 0x6c, 0x67, 0x6c, 0x16, 0x6d, 0x3e,
+ 0x6d, 0x77, 0x6d, 0x41, 0x6d, 0x69, 0x6d, 0x78,
+ 0x6d, 0x85, 0x6d, 0x1e, 0x3d, 0x34, 0x6d, 0x2f,
+ 0x6e, 0x6e, 0x6e, 0x33, 0x3d, 0xcb, 0x6e, 0xc7,
+ 0x6e, 0xd1, 0x3e, 0xf9, 0x6d, 0x6e, 0x6f, 0x5e,
+ 0x3f, 0x8e, 0x3f, 0xc6, 0x6f, 0x39, 0x70, 0x1e,
+ 0x70, 0x1b, 0x70, 0x96, 0x3d, 0x4a, 0x70, 0x7d,
+ 0x70, 0x77, 0x70, 0xad, 0x70, 0x25, 0x05, 0x45,
+ 0x71, 0x63, 0x42, 0x9c, 0x71, 0xab, 0x43, 0x28,
+ 0x72, 0x35, 0x72, 0x50, 0x72, 0x08, 0x46, 0x80,
+ 0x72, 0x95, 0x72, 0x35, 0x47, 0x02, 0x20, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80,
+ 0x00, 0x00, 0x02, 0x02, 0x80, 0x8a, 0x00, 0x00,
+ 0x20, 0x00, 0x08, 0x0a, 0x00, 0x80, 0x88, 0x80,
+ 0x20, 0x14, 0x48, 0x7a, 0x73, 0x8b, 0x73, 0xac,
+ 0x3e, 0xa5, 0x73, 0xb8, 0x3e, 0xb8, 0x3e, 0x47,
+ 0x74, 0x5c, 0x74, 0x71, 0x74, 0x85, 0x74, 0xca,
+ 0x74, 0x1b, 0x3f, 0x24, 0x75, 0x36, 0x4c, 0x3e,
+ 0x75, 0x92, 0x4c, 0x70, 0x75, 0x9f, 0x21, 0x10,
+ 0x76, 0xa1, 0x4f, 0xb8, 0x4f, 0x44, 0x50, 0xfc,
+ 0x3f, 0x08, 0x40, 0xf4, 0x76, 0xf3, 0x50, 0xf2,
+ 0x50, 0x19, 0x51, 0x33, 0x51, 0x1e, 0x77, 0x1f,
+ 0x77, 0x1f, 0x77, 0x4a, 0x77, 0x39, 0x40, 0x8b,
+ 0x77, 0x46, 0x40, 0x96, 0x40, 0x1d, 0x54, 0x4e,
+ 0x78, 0x8c, 0x78, 0xcc, 0x78, 0xe3, 0x40, 0x26,
+ 0x56, 0x56, 0x79, 0x9a, 0x56, 0xc5, 0x56, 0x8f,
+ 0x79, 0xeb, 0x79, 0x2f, 0x41, 0x40, 0x7a, 0x4a,
+ 0x7a, 0x4f, 0x7a, 0x7c, 0x59, 0xa7, 0x5a, 0xa7,
+ 0x5a, 0xee, 0x7a, 0x02, 0x42, 0xab, 0x5b, 0xc6,
+ 0x7b, 0xc9, 0x7b, 0x27, 0x42, 0x80, 0x5c, 0xd2,
+ 0x7c, 0xa0, 0x42, 0xe8, 0x7c, 0xe3, 0x7c, 0x00,
+ 0x7d, 0x86, 0x5f, 0x63, 0x7d, 0x01, 0x43, 0xc7,
+ 0x7d, 0x02, 0x7e, 0x45, 0x7e, 0x34, 0x43, 0x28,
+ 0x62, 0x47, 0x62, 0x59, 0x43, 0xd9, 0x62, 0x7a,
+ 0x7f, 0x3e, 0x63, 0x95, 0x7f, 0xfa, 0x7f, 0x05,
+ 0x80, 0xda, 0x64, 0x23, 0x65, 0x60, 0x80, 0xa8,
+ 0x65, 0x70, 0x80, 0x5f, 0x33, 0xd5, 0x43, 0xb2,
+ 0x80, 0x03, 0x81, 0x0b, 0x44, 0x3e, 0x81, 0xb5,
+ 0x5a, 0xa7, 0x67, 0xb5, 0x67, 0x93, 0x33, 0x9c,
+ 0x33, 0x01, 0x82, 0x04, 0x82, 0x9e, 0x8f, 0x6b,
+ 0x44, 0x91, 0x82, 0x8b, 0x82, 0x9d, 0x82, 0xb3,
+ 0x52, 0xb1, 0x82, 0xb3, 0x82, 0xbd, 0x82, 0xe6,
+ 0x82, 0x3c, 0x6b, 0xe5, 0x82, 0x1d, 0x83, 0x63,
+ 0x83, 0xad, 0x83, 0x23, 0x83, 0xbd, 0x83, 0xe7,
+ 0x83, 0x57, 0x84, 0x53, 0x83, 0xca, 0x83, 0xcc,
+ 0x83, 0xdc, 0x83, 0x36, 0x6c, 0x6b, 0x6d, 0x02,
+ 0x00, 0x00, 0x20, 0x22, 0x2a, 0xa0, 0x0a, 0x00,
+ 0x20, 0x80, 0x28, 0x00, 0xa8, 0x20, 0x20, 0x00,
+ 0x02, 0x80, 0x22, 0x02, 0x8a, 0x08, 0x00, 0xaa,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x28, 0xd5,
+ 0x6c, 0x2b, 0x45, 0xf1, 0x84, 0xf3, 0x84, 0x16,
+ 0x85, 0xca, 0x73, 0x64, 0x85, 0x2c, 0x6f, 0x5d,
+ 0x45, 0x61, 0x45, 0xb1, 0x6f, 0xd2, 0x70, 0x6b,
+ 0x45, 0x50, 0x86, 0x5c, 0x86, 0x67, 0x86, 0x69,
+ 0x86, 0xa9, 0x86, 0x88, 0x86, 0x0e, 0x87, 0xe2,
+ 0x86, 0x79, 0x87, 0x28, 0x87, 0x6b, 0x87, 0x86,
+ 0x87, 0xd7, 0x45, 0xe1, 0x87, 0x01, 0x88, 0xf9,
+ 0x45, 0x60, 0x88, 0x63, 0x88, 0x67, 0x76, 0xd7,
+ 0x88, 0xde, 0x88, 0x35, 0x46, 0xfa, 0x88, 0xbb,
+ 0x34, 0xae, 0x78, 0x66, 0x79, 0xbe, 0x46, 0xc7,
+ 0x46, 0xa0, 0x8a, 0xed, 0x8a, 0x8a, 0x8b, 0x55,
+ 0x8c, 0xa8, 0x7c, 0xab, 0x8c, 0xc1, 0x8c, 0x1b,
+ 0x8d, 0x77, 0x8d, 0x2f, 0x7f, 0x04, 0x08, 0xcb,
+ 0x8d, 0xbc, 0x8d, 0xf0, 0x8d, 0xde, 0x08, 0xd4,
+ 0x8e, 0x38, 0x8f, 0xd2, 0x85, 0xed, 0x85, 0x94,
+ 0x90, 0xf1, 0x90, 0x11, 0x91, 0x2e, 0x87, 0x1b,
+ 0x91, 0x38, 0x92, 0xd7, 0x92, 0xd8, 0x92, 0x7c,
+ 0x92, 0xf9, 0x93, 0x15, 0x94, 0xfa, 0x8b, 0x8b,
+ 0x95, 0x95, 0x49, 0xb7, 0x95, 0x77, 0x8d, 0xe6,
+ 0x49, 0xc3, 0x96, 0xb2, 0x5d, 0x23, 0x97, 0x45,
+ 0x91, 0x1a, 0x92, 0x6e, 0x4a, 0x76, 0x4a, 0xe0,
+ 0x97, 0x0a, 0x94, 0xb2, 0x4a, 0x96, 0x94, 0x0b,
+ 0x98, 0x0b, 0x98, 0x29, 0x98, 0xb6, 0x95, 0xe2,
+ 0x98, 0x33, 0x4b, 0x29, 0x99, 0xa7, 0x99, 0xc2,
+ 0x99, 0xfe, 0x99, 0xce, 0x4b, 0x30, 0x9b, 0x12,
+ 0x9b, 0x40, 0x9c, 0xfd, 0x9c, 0xce, 0x4c, 0xed,
+ 0x4c, 0x67, 0x9d, 0xce, 0xa0, 0xf8, 0x4c, 0x05,
+ 0xa1, 0x0e, 0xa2, 0x91, 0xa2, 0xbb, 0x9e, 0x56,
+ 0x4d, 0xf9, 0x9e, 0xfe, 0x9e, 0x05, 0x9f, 0x0f,
+ 0x9f, 0x16, 0x9f, 0x3b, 0x9f, 0x00, 0xa6, 0x02,
+ 0x88, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+ 0x28, 0x00, 0x08, 0xa0, 0x80, 0xa0, 0x80, 0x00,
+ 0x80, 0x80, 0x00, 0x0a, 0x88, 0x80, 0x00, 0x80,
+ 0x00, 0x20, 0x2a, 0x00, 0x80,
};
-static const uint16_t unicode_comp_table[944] = {
+static const uint16_t unicode_comp_table[945] = {
0x4a01, 0x49c0, 0x4a02, 0x0280, 0x0281, 0x0282, 0x0283, 0x02c0,
0x02c2, 0x0a00, 0x0284, 0x2442, 0x0285, 0x07c0, 0x0980, 0x0982,
0x2440, 0x2280, 0x02c4, 0x2282, 0x2284, 0x2286, 0x02c6, 0x02c8,
@@ -2173,8 +2191,9 @@ static const uint16_t unicode_comp_table[944] = {
0x5704, 0x5706, 0x5708, 0x570a, 0x570c, 0x570e, 0x5710, 0x5712,
0x5714, 0x5716, 0x5740, 0x5742, 0x5744, 0x5780, 0x5781, 0x57c0,
0x57c1, 0x5800, 0x5801, 0x5840, 0x5841, 0x5880, 0x5881, 0x5900,
- 0x5901, 0x5902, 0x5903, 0x5940, 0x8e40, 0x8e42, 0x8e80, 0x8ec0,
- 0x8ec1, 0x8f00, 0x8f01, 0x8f41, 0x8f40, 0x8f43, 0x8f80, 0x8f81,
+ 0x5901, 0x5902, 0x5903, 0x5940, 0x8e80, 0x8e82, 0x8ec0, 0x8f00,
+ 0x8f01, 0x8f40, 0x8f41, 0x8f81, 0x8f80, 0x8f83, 0x8fc0, 0x8fc1,
+ 0x9000,
};
typedef enum {
@@ -2260,7 +2279,7 @@ static const char unicode_gc_name_table[] =
"C,Other" "\0"
;
-static const uint8_t unicode_gc_table[3719] = {
+static const uint8_t unicode_gc_table[3790] = {
0xfa, 0x18, 0x17, 0x56, 0x0d, 0x56, 0x12, 0x13,
0x16, 0x0c, 0x16, 0x11, 0x36, 0xe9, 0x02, 0x36,
0x4c, 0x36, 0xe1, 0x12, 0x12, 0x16, 0x13, 0x0e,
@@ -2304,8 +2323,8 @@ static const uint8_t unicode_gc_table[3719] = {
0x06, 0x2d, 0xe5, 0x0e, 0x66, 0x04, 0xe6, 0x01,
0x04, 0x46, 0x04, 0x86, 0x20, 0xf6, 0x07, 0x00,
0xe5, 0x11, 0x46, 0x20, 0x16, 0x00, 0xe5, 0x03,
- 0xe0, 0x2d, 0xe5, 0x0d, 0x00, 0xe5, 0x00, 0xe0,
- 0x0d, 0xe6, 0x07, 0x1b, 0xe6, 0x18, 0x07, 0xe5,
+ 0xe0, 0x2d, 0xe5, 0x0d, 0x00, 0xe5, 0x0a, 0xe0,
+ 0x03, 0xe6, 0x07, 0x1b, 0xe6, 0x18, 0x07, 0xe5,
0x2e, 0x06, 0x07, 0x06, 0x05, 0x47, 0xe6, 0x00,
0x67, 0x06, 0x27, 0x05, 0xc6, 0xe5, 0x02, 0x26,
0x36, 0xe9, 0x02, 0x16, 0x04, 0xe5, 0x07, 0x06,
@@ -2328,80 +2347,80 @@ static const uint8_t unicode_gc_table[3719] = {
0x00, 0x06, 0x27, 0x00, 0xe5, 0x00, 0x20, 0x25,
0x20, 0xe5, 0x0e, 0x00, 0xc5, 0x00, 0x25, 0x00,
0x85, 0x20, 0x06, 0x05, 0x07, 0x06, 0x07, 0x66,
- 0x20, 0x27, 0x20, 0x27, 0x06, 0xe0, 0x00, 0x06,
- 0x07, 0x60, 0x25, 0x00, 0x45, 0x26, 0x20, 0xe9,
- 0x02, 0x0f, 0x05, 0xab, 0xe0, 0x02, 0x06, 0x05,
- 0x00, 0xa5, 0x40, 0x45, 0x00, 0x65, 0x40, 0x25,
- 0x00, 0x05, 0x00, 0x25, 0x40, 0x25, 0x40, 0x45,
- 0x40, 0xe5, 0x04, 0x60, 0x27, 0x06, 0x27, 0x40,
- 0x47, 0x00, 0x47, 0x06, 0x20, 0x05, 0xa0, 0x07,
- 0xe0, 0x06, 0xe9, 0x02, 0x4b, 0xaf, 0x0d, 0x0f,
- 0x80, 0x06, 0x47, 0x06, 0xe5, 0x00, 0x00, 0x45,
- 0x00, 0xe5, 0x0f, 0x00, 0xe5, 0x08, 0x40, 0x05,
- 0x46, 0x67, 0x00, 0x46, 0x00, 0x66, 0xc0, 0x26,
- 0x00, 0x45, 0x80, 0x25, 0x26, 0x20, 0xe9, 0x02,
- 0xc0, 0x16, 0xcb, 0x0f, 0x05, 0x06, 0x27, 0x16,
- 0xe5, 0x00, 0x00, 0x45, 0x00, 0xe5, 0x0f, 0x00,
- 0xe5, 0x02, 0x00, 0x85, 0x20, 0x06, 0x05, 0x07,
- 0x06, 0x87, 0x00, 0x06, 0x27, 0x00, 0x27, 0x26,
- 0xc0, 0x27, 0xc0, 0x05, 0x00, 0x25, 0x26, 0x20,
- 0xe9, 0x02, 0x00, 0x25, 0xe0, 0x05, 0x26, 0x27,
- 0x00, 0xe5, 0x00, 0x00, 0x45, 0x00, 0xe5, 0x21,
- 0x26, 0x05, 0x47, 0x66, 0x00, 0x47, 0x00, 0x47,
- 0x06, 0x05, 0x0f, 0x60, 0x45, 0x07, 0xcb, 0x45,
- 0x26, 0x20, 0xe9, 0x02, 0xeb, 0x01, 0x0f, 0xa5,
- 0x20, 0x27, 0x00, 0xe5, 0x0a, 0x40, 0xe5, 0x10,
- 0x00, 0xe5, 0x01, 0x00, 0x05, 0x20, 0xc5, 0x40,
- 0x06, 0x60, 0x47, 0x46, 0x00, 0x06, 0x00, 0xe7,
- 0x00, 0xa0, 0xe9, 0x02, 0x20, 0x27, 0x16, 0xe0,
- 0x04, 0xe5, 0x28, 0x06, 0x25, 0xc6, 0x60, 0x0d,
- 0xa5, 0x04, 0xe6, 0x00, 0x16, 0xe9, 0x02, 0x36,
- 0xe0, 0x1d, 0x25, 0x00, 0x05, 0x00, 0x85, 0x00,
- 0xe5, 0x10, 0x00, 0x05, 0x00, 0xe5, 0x02, 0x06,
- 0x25, 0xe6, 0x01, 0x05, 0x20, 0x85, 0x00, 0x04,
- 0x00, 0xa6, 0x20, 0xe9, 0x02, 0x20, 0x65, 0xe0,
- 0x18, 0x05, 0x4f, 0xf6, 0x07, 0x0f, 0x16, 0x4f,
- 0x26, 0xaf, 0xe9, 0x02, 0xeb, 0x02, 0x0f, 0x06,
- 0x0f, 0x06, 0x0f, 0x06, 0x12, 0x13, 0x12, 0x13,
- 0x27, 0xe5, 0x00, 0x00, 0xe5, 0x1c, 0x60, 0xe6,
- 0x06, 0x07, 0x86, 0x16, 0x26, 0x85, 0xe6, 0x03,
- 0x00, 0xe6, 0x1c, 0x00, 0xef, 0x00, 0x06, 0xaf,
- 0x00, 0x2f, 0x96, 0x6f, 0x36, 0xe0, 0x1d, 0xe5,
- 0x23, 0x27, 0x66, 0x07, 0xa6, 0x07, 0x26, 0x27,
- 0x26, 0x05, 0xe9, 0x02, 0xb6, 0xa5, 0x27, 0x26,
- 0x65, 0x46, 0x05, 0x47, 0x25, 0xc7, 0x45, 0x66,
- 0xe5, 0x05, 0x06, 0x27, 0x26, 0xa7, 0x06, 0x05,
- 0x07, 0xe9, 0x02, 0x47, 0x06, 0x2f, 0xe1, 0x1e,
- 0x00, 0x01, 0x80, 0x01, 0x20, 0xe2, 0x23, 0x16,
- 0x04, 0x42, 0xe5, 0x80, 0xc1, 0x00, 0x65, 0x20,
- 0xc5, 0x00, 0x05, 0x00, 0x65, 0x20, 0xe5, 0x21,
- 0x00, 0x65, 0x20, 0xe5, 0x19, 0x00, 0x65, 0x20,
- 0xc5, 0x00, 0x05, 0x00, 0x65, 0x20, 0xe5, 0x07,
- 0x00, 0xe5, 0x31, 0x00, 0x65, 0x20, 0xe5, 0x3b,
- 0x20, 0x46, 0xf6, 0x01, 0xeb, 0x0c, 0x40, 0xe5,
- 0x08, 0xef, 0x02, 0xa0, 0xe1, 0x4e, 0x20, 0xa2,
- 0x20, 0x11, 0xe5, 0x81, 0xe4, 0x0f, 0x16, 0xe5,
- 0x09, 0x17, 0xe5, 0x12, 0x12, 0x13, 0x40, 0xe5,
- 0x43, 0x56, 0x4a, 0xe5, 0x00, 0xc0, 0xe5, 0x05,
- 0x00, 0x65, 0x46, 0xe0, 0x03, 0xe5, 0x0a, 0x46,
- 0x36, 0xe0, 0x01, 0xe5, 0x0a, 0x26, 0xe0, 0x04,
- 0xe5, 0x05, 0x00, 0x45, 0x00, 0x26, 0xe0, 0x04,
- 0xe5, 0x2c, 0x26, 0x07, 0xc6, 0xe7, 0x00, 0x06,
- 0x27, 0xe6, 0x03, 0x56, 0x04, 0x56, 0x0d, 0x05,
- 0x06, 0x20, 0xe9, 0x02, 0xa0, 0xeb, 0x02, 0xa0,
- 0xb6, 0x11, 0x76, 0x46, 0x1b, 0x00, 0xe9, 0x02,
- 0xa0, 0xe5, 0x1b, 0x04, 0xe5, 0x2d, 0xc0, 0x85,
- 0x26, 0xe5, 0x1a, 0x06, 0x05, 0x80, 0xe5, 0x3e,
- 0xe0, 0x02, 0xe5, 0x17, 0x00, 0x46, 0x67, 0x26,
- 0x47, 0x60, 0x27, 0x06, 0xa7, 0x46, 0x60, 0x0f,
- 0x40, 0x36, 0xe9, 0x02, 0xe5, 0x16, 0x20, 0x85,
- 0xe0, 0x03, 0xe5, 0x24, 0x60, 0xe5, 0x12, 0xa0,
- 0xe9, 0x02, 0x0b, 0x40, 0xef, 0x1a, 0xe5, 0x0f,
- 0x26, 0x27, 0x06, 0x20, 0x36, 0xe5, 0x2d, 0x07,
- 0x06, 0x07, 0xc6, 0x00, 0x06, 0x07, 0x06, 0x27,
- 0xe6, 0x00, 0xa7, 0xe6, 0x02, 0x20, 0x06, 0xe9,
- 0x02, 0xa0, 0xe9, 0x02, 0xa0, 0xd6, 0x04, 0xb6,
- 0x20, 0xe6, 0x06, 0x08, 0xe0, 0x39, 0x66, 0x07,
+ 0x20, 0x27, 0x20, 0x27, 0x06, 0xc0, 0x26, 0x07,
+ 0x60, 0x25, 0x00, 0x45, 0x26, 0x20, 0xe9, 0x02,
+ 0x0f, 0x05, 0xab, 0xe0, 0x02, 0x06, 0x05, 0x00,
+ 0xa5, 0x40, 0x45, 0x00, 0x65, 0x40, 0x25, 0x00,
+ 0x05, 0x00, 0x25, 0x40, 0x25, 0x40, 0x45, 0x40,
+ 0xe5, 0x04, 0x60, 0x27, 0x06, 0x27, 0x40, 0x47,
+ 0x00, 0x47, 0x06, 0x20, 0x05, 0xa0, 0x07, 0xe0,
+ 0x06, 0xe9, 0x02, 0x4b, 0xaf, 0x0d, 0x0f, 0x80,
+ 0x06, 0x47, 0x06, 0xe5, 0x00, 0x00, 0x45, 0x00,
+ 0xe5, 0x0f, 0x00, 0xe5, 0x08, 0x40, 0x05, 0x46,
+ 0x67, 0x00, 0x46, 0x00, 0x66, 0xc0, 0x26, 0x00,
+ 0x45, 0x80, 0x25, 0x26, 0x20, 0xe9, 0x02, 0xc0,
+ 0x16, 0xcb, 0x0f, 0x05, 0x06, 0x27, 0x16, 0xe5,
+ 0x00, 0x00, 0x45, 0x00, 0xe5, 0x0f, 0x00, 0xe5,
+ 0x02, 0x00, 0x85, 0x20, 0x06, 0x05, 0x07, 0x06,
+ 0x87, 0x00, 0x06, 0x27, 0x00, 0x27, 0x26, 0xc0,
+ 0x27, 0xc0, 0x05, 0x00, 0x25, 0x26, 0x20, 0xe9,
+ 0x02, 0x00, 0x25, 0xe0, 0x05, 0x26, 0x27, 0xe5,
+ 0x01, 0x00, 0x45, 0x00, 0xe5, 0x21, 0x26, 0x05,
+ 0x47, 0x66, 0x00, 0x47, 0x00, 0x47, 0x06, 0x05,
+ 0x0f, 0x60, 0x45, 0x07, 0xcb, 0x45, 0x26, 0x20,
+ 0xe9, 0x02, 0xeb, 0x01, 0x0f, 0xa5, 0x00, 0x06,
+ 0x27, 0x00, 0xe5, 0x0a, 0x40, 0xe5, 0x10, 0x00,
+ 0xe5, 0x01, 0x00, 0x05, 0x20, 0xc5, 0x40, 0x06,
+ 0x60, 0x47, 0x46, 0x00, 0x06, 0x00, 0xe7, 0x00,
+ 0xa0, 0xe9, 0x02, 0x20, 0x27, 0x16, 0xe0, 0x04,
+ 0xe5, 0x28, 0x06, 0x25, 0xc6, 0x60, 0x0d, 0xa5,
+ 0x04, 0xe6, 0x00, 0x16, 0xe9, 0x02, 0x36, 0xe0,
+ 0x1d, 0x25, 0x00, 0x05, 0x00, 0x85, 0x00, 0xe5,
+ 0x10, 0x00, 0x05, 0x00, 0xe5, 0x02, 0x06, 0x25,
+ 0xe6, 0x01, 0x05, 0x20, 0x85, 0x00, 0x04, 0x00,
+ 0xa6, 0x20, 0xe9, 0x02, 0x20, 0x65, 0xe0, 0x18,
+ 0x05, 0x4f, 0xf6, 0x07, 0x0f, 0x16, 0x4f, 0x26,
+ 0xaf, 0xe9, 0x02, 0xeb, 0x02, 0x0f, 0x06, 0x0f,
+ 0x06, 0x0f, 0x06, 0x12, 0x13, 0x12, 0x13, 0x27,
+ 0xe5, 0x00, 0x00, 0xe5, 0x1c, 0x60, 0xe6, 0x06,
+ 0x07, 0x86, 0x16, 0x26, 0x85, 0xe6, 0x03, 0x00,
+ 0xe6, 0x1c, 0x00, 0xef, 0x00, 0x06, 0xaf, 0x00,
+ 0x2f, 0x96, 0x6f, 0x36, 0xe0, 0x1d, 0xe5, 0x23,
+ 0x27, 0x66, 0x07, 0xa6, 0x07, 0x26, 0x27, 0x26,
+ 0x05, 0xe9, 0x02, 0xb6, 0xa5, 0x27, 0x26, 0x65,
+ 0x46, 0x05, 0x47, 0x25, 0xc7, 0x45, 0x66, 0xe5,
+ 0x05, 0x06, 0x27, 0x26, 0xa7, 0x06, 0x05, 0x07,
+ 0xe9, 0x02, 0x47, 0x06, 0x2f, 0xe1, 0x1e, 0x00,
+ 0x01, 0x80, 0x01, 0x20, 0xe2, 0x23, 0x16, 0x04,
+ 0x42, 0xe5, 0x80, 0xc1, 0x00, 0x65, 0x20, 0xc5,
+ 0x00, 0x05, 0x00, 0x65, 0x20, 0xe5, 0x21, 0x00,
+ 0x65, 0x20, 0xe5, 0x19, 0x00, 0x65, 0x20, 0xc5,
+ 0x00, 0x05, 0x00, 0x65, 0x20, 0xe5, 0x07, 0x00,
+ 0xe5, 0x31, 0x00, 0x65, 0x20, 0xe5, 0x3b, 0x20,
+ 0x46, 0xf6, 0x01, 0xeb, 0x0c, 0x40, 0xe5, 0x08,
+ 0xef, 0x02, 0xa0, 0xe1, 0x4e, 0x20, 0xa2, 0x20,
+ 0x11, 0xe5, 0x81, 0xe4, 0x0f, 0x16, 0xe5, 0x09,
+ 0x17, 0xe5, 0x12, 0x12, 0x13, 0x40, 0xe5, 0x43,
+ 0x56, 0x4a, 0xe5, 0x00, 0xc0, 0xe5, 0x05, 0x00,
+ 0x65, 0x46, 0xe0, 0x03, 0xe5, 0x0a, 0x46, 0x36,
+ 0xe0, 0x01, 0xe5, 0x0a, 0x26, 0xe0, 0x04, 0xe5,
+ 0x05, 0x00, 0x45, 0x00, 0x26, 0xe0, 0x04, 0xe5,
+ 0x2c, 0x26, 0x07, 0xc6, 0xe7, 0x00, 0x06, 0x27,
+ 0xe6, 0x03, 0x56, 0x04, 0x56, 0x0d, 0x05, 0x06,
+ 0x20, 0xe9, 0x02, 0xa0, 0xeb, 0x02, 0xa0, 0xb6,
+ 0x11, 0x76, 0x46, 0x1b, 0x00, 0xe9, 0x02, 0xa0,
+ 0xe5, 0x1b, 0x04, 0xe5, 0x2d, 0xc0, 0x85, 0x26,
+ 0xe5, 0x1a, 0x06, 0x05, 0x80, 0xe5, 0x3e, 0xe0,
+ 0x02, 0xe5, 0x17, 0x00, 0x46, 0x67, 0x26, 0x47,
+ 0x60, 0x27, 0x06, 0xa7, 0x46, 0x60, 0x0f, 0x40,
+ 0x36, 0xe9, 0x02, 0xe5, 0x16, 0x20, 0x85, 0xe0,
+ 0x03, 0xe5, 0x24, 0x60, 0xe5, 0x12, 0xa0, 0xe9,
+ 0x02, 0x0b, 0x40, 0xef, 0x1a, 0xe5, 0x0f, 0x26,
+ 0x27, 0x06, 0x20, 0x36, 0xe5, 0x2d, 0x07, 0x06,
+ 0x07, 0xc6, 0x00, 0x06, 0x07, 0x06, 0x27, 0xe6,
+ 0x00, 0xa7, 0xe6, 0x02, 0x20, 0x06, 0xe9, 0x02,
+ 0xa0, 0xe9, 0x02, 0xa0, 0xd6, 0x04, 0xb6, 0x20,
+ 0xe6, 0x06, 0x08, 0x26, 0xe0, 0x37, 0x66, 0x07,
0xe5, 0x27, 0x06, 0x07, 0x86, 0x07, 0x06, 0x87,
0x06, 0x27, 0xc5, 0x60, 0xe9, 0x02, 0xd6, 0xef,
0x02, 0xe6, 0x01, 0xef, 0x01, 0x40, 0x26, 0x07,
@@ -2461,7 +2480,7 @@ static const uint8_t unicode_gc_table[3719] = {
0x13, 0x12, 0x13, 0x12, 0x13, 0xec, 0x37, 0x12,
0x13, 0x12, 0x13, 0xec, 0x18, 0x12, 0x13, 0xec,
0x80, 0x7a, 0xef, 0x28, 0xec, 0x0d, 0x2f, 0xac,
- 0xef, 0x1f, 0x20, 0xef, 0x18, 0x20, 0xef, 0x60,
+ 0xef, 0x1f, 0x20, 0xef, 0x18, 0x00, 0xef, 0x61,
0xe1, 0x27, 0x00, 0xe2, 0x27, 0x00, 0x5f, 0x21,
0x22, 0xdf, 0x41, 0x02, 0x3f, 0x02, 0x3f, 0x82,
0x24, 0x41, 0x02, 0xff, 0x5a, 0x02, 0xaf, 0x7f,
@@ -2475,257 +2494,266 @@ static const uint8_t unicode_gc_table[3719] = {
0x11, 0x36, 0x11, 0x16, 0x14, 0x15, 0x36, 0x14,
0x15, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12,
0x13, 0x96, 0x04, 0xf6, 0x02, 0x31, 0x76, 0x11,
- 0x16, 0x12, 0xf6, 0x05, 0xe0, 0x28, 0xef, 0x12,
- 0x00, 0xef, 0x51, 0xe0, 0x04, 0xef, 0x80, 0x4e,
- 0xe0, 0x12, 0xef, 0x04, 0x60, 0x17, 0x56, 0x0f,
- 0x04, 0x05, 0x0a, 0x12, 0x13, 0x12, 0x13, 0x12,
- 0x13, 0x12, 0x13, 0x12, 0x13, 0x2f, 0x12, 0x13,
- 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x11, 0x12,
- 0x33, 0x0f, 0xea, 0x01, 0x66, 0x27, 0x11, 0x84,
- 0x2f, 0x4a, 0x04, 0x05, 0x16, 0x2f, 0x00, 0xe5,
- 0x4e, 0x20, 0x26, 0x2e, 0x24, 0x05, 0x11, 0xe5,
- 0x52, 0x16, 0x44, 0x05, 0x80, 0xe5, 0x23, 0x00,
- 0xe5, 0x56, 0x00, 0x2f, 0x6b, 0xef, 0x02, 0xe5,
- 0x13, 0x80, 0xef, 0x1c, 0xe0, 0x04, 0xe5, 0x08,
- 0xef, 0x17, 0x00, 0xeb, 0x02, 0xef, 0x16, 0xeb,
- 0x00, 0x0f, 0xeb, 0x07, 0xef, 0x18, 0xeb, 0x02,
- 0xef, 0x1f, 0xeb, 0x07, 0xef, 0x80, 0xb8, 0xe5,
- 0x99, 0x2e, 0xe0, 0x02, 0xef, 0x38, 0xe5, 0xc0,
- 0x11, 0x68, 0xe0, 0x08, 0xe5, 0x0d, 0x04, 0xe5,
- 0x83, 0xef, 0x40, 0xef, 0x2f, 0xe0, 0x01, 0xe5,
- 0x20, 0xa4, 0x36, 0xe5, 0x80, 0x84, 0x04, 0x56,
- 0xe5, 0x08, 0xe9, 0x02, 0x25, 0xe0, 0x0c, 0xff,
- 0x26, 0x05, 0x06, 0x48, 0x16, 0xe6, 0x02, 0x16,
- 0x04, 0xff, 0x14, 0x24, 0x26, 0xe5, 0x3e, 0xea,
- 0x02, 0x26, 0xb6, 0xe0, 0x00, 0xee, 0x0f, 0xe4,
- 0x01, 0x2e, 0xff, 0x06, 0x22, 0xff, 0x36, 0x04,
- 0xe2, 0x00, 0x9f, 0xff, 0x02, 0x04, 0x2e, 0x7f,
- 0x05, 0x7f, 0x22, 0xff, 0x0d, 0x61, 0x02, 0x81,
- 0x02, 0xff, 0x02, 0x20, 0x5f, 0x21, 0xe0, 0x28,
- 0x05, 0x24, 0x02, 0xc5, 0x06, 0x45, 0x06, 0x65,
- 0x06, 0xe5, 0x0f, 0x27, 0x26, 0x07, 0x6f, 0x60,
- 0xab, 0x2f, 0x0d, 0x0f, 0xa0, 0xe5, 0x2c, 0x76,
- 0xe0, 0x00, 0x27, 0xe5, 0x2a, 0xe7, 0x08, 0x26,
- 0xe0, 0x00, 0x36, 0xe9, 0x02, 0xa0, 0xe6, 0x0a,
- 0xa5, 0x56, 0x05, 0x16, 0x25, 0x06, 0xe9, 0x02,
- 0xe5, 0x14, 0xe6, 0x00, 0x36, 0xe5, 0x0f, 0xe6,
- 0x03, 0x27, 0xe0, 0x03, 0x16, 0xe5, 0x15, 0x40,
- 0x46, 0x07, 0xe5, 0x27, 0x06, 0x27, 0x66, 0x27,
- 0x26, 0x47, 0xf6, 0x05, 0x00, 0x04, 0xe9, 0x02,
- 0x60, 0x36, 0x85, 0x06, 0x04, 0xe5, 0x01, 0xe9,
- 0x02, 0x85, 0x00, 0xe5, 0x21, 0xa6, 0x27, 0x26,
- 0x27, 0x26, 0xe0, 0x01, 0x45, 0x06, 0xe5, 0x00,
- 0x06, 0x07, 0x20, 0xe9, 0x02, 0x20, 0x76, 0xe5,
- 0x08, 0x04, 0xa5, 0x4f, 0x05, 0x07, 0x06, 0x07,
- 0xe5, 0x2a, 0x06, 0x05, 0x46, 0x25, 0x26, 0x85,
- 0x26, 0x05, 0x06, 0x05, 0xe0, 0x10, 0x25, 0x04,
- 0x36, 0xe5, 0x03, 0x07, 0x26, 0x27, 0x36, 0x05,
- 0x24, 0x07, 0x06, 0xe0, 0x02, 0xa5, 0x20, 0xa5,
- 0x20, 0xa5, 0xe0, 0x01, 0xc5, 0x00, 0xc5, 0x00,
- 0xe2, 0x23, 0x0e, 0x64, 0xe2, 0x00, 0xe0, 0x00,
- 0xe2, 0x48, 0xe5, 0x1b, 0x27, 0x06, 0x27, 0x06,
- 0x27, 0x16, 0x07, 0x06, 0x20, 0xe9, 0x02, 0xa0,
- 0xe5, 0xab, 0x1c, 0xe0, 0x04, 0xe5, 0x0f, 0x60,
- 0xe5, 0x29, 0x60, 0xfc, 0x87, 0x78, 0xfd, 0x98,
- 0x78, 0xe5, 0x80, 0xe6, 0x20, 0xe5, 0x62, 0xe0,
- 0x1e, 0xc2, 0xe0, 0x04, 0x82, 0x80, 0x05, 0x06,
- 0xe5, 0x02, 0x0c, 0xe5, 0x05, 0x00, 0x85, 0x00,
- 0x05, 0x00, 0x25, 0x00, 0x25, 0x00, 0xe5, 0x64,
- 0xee, 0x08, 0xe0, 0x09, 0xe5, 0x80, 0xe3, 0x13,
- 0x12, 0xe0, 0x08, 0xe5, 0x38, 0x20, 0xe5, 0x2e,
- 0xe0, 0x20, 0xe5, 0x04, 0x0d, 0x0f, 0x20, 0xe6,
- 0x08, 0xd6, 0x12, 0x13, 0x16, 0xa0, 0xe6, 0x08,
- 0x16, 0x31, 0x30, 0x12, 0x13, 0x12, 0x13, 0x12,
- 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12,
- 0x13, 0x12, 0x13, 0x36, 0x12, 0x13, 0x76, 0x50,
- 0x56, 0x00, 0x76, 0x11, 0x12, 0x13, 0x12, 0x13,
- 0x12, 0x13, 0x56, 0x0c, 0x11, 0x4c, 0x00, 0x16,
- 0x0d, 0x36, 0x60, 0x85, 0x00, 0xe5, 0x7f, 0x20,
- 0x1b, 0x00, 0x56, 0x0d, 0x56, 0x12, 0x13, 0x16,
- 0x0c, 0x16, 0x11, 0x36, 0xe9, 0x02, 0x36, 0x4c,
- 0x36, 0xe1, 0x12, 0x12, 0x16, 0x13, 0x0e, 0x10,
- 0x0e, 0xe2, 0x12, 0x12, 0x0c, 0x13, 0x0c, 0x12,
- 0x13, 0x16, 0x12, 0x13, 0x36, 0xe5, 0x02, 0x04,
- 0xe5, 0x25, 0x24, 0xe5, 0x17, 0x40, 0xa5, 0x20,
- 0xa5, 0x20, 0xa5, 0x20, 0x45, 0x40, 0x2d, 0x0c,
- 0x0e, 0x0f, 0x2d, 0x00, 0x0f, 0x6c, 0x2f, 0xe0,
- 0x02, 0x5b, 0x2f, 0x20, 0xe5, 0x04, 0x00, 0xe5,
- 0x12, 0x00, 0xe5, 0x0b, 0x00, 0x25, 0x00, 0xe5,
- 0x07, 0x20, 0xe5, 0x06, 0xe0, 0x1a, 0xe5, 0x73,
- 0x80, 0x56, 0x60, 0xeb, 0x25, 0x40, 0xef, 0x01,
- 0xea, 0x2d, 0x6b, 0xef, 0x09, 0x2b, 0x4f, 0x00,
- 0xef, 0x04, 0x60, 0x0f, 0xe0, 0x27, 0xef, 0x25,
- 0x06, 0xe0, 0x7a, 0xe5, 0x15, 0x40, 0xe5, 0x29,
- 0xe0, 0x07, 0x06, 0xeb, 0x13, 0x60, 0xe5, 0x18,
- 0x6b, 0xe0, 0x01, 0xe5, 0x0c, 0x0a, 0xe5, 0x00,
- 0x0a, 0x80, 0xe5, 0x1e, 0x86, 0x80, 0xe5, 0x16,
- 0x00, 0x16, 0xe5, 0x1c, 0x60, 0xe5, 0x00, 0x16,
- 0x8a, 0xe0, 0x22, 0xe1, 0x20, 0xe2, 0x20, 0xe5,
- 0x46, 0x20, 0xe9, 0x02, 0xa0, 0xe1, 0x1c, 0x60,
- 0xe2, 0x1c, 0x60, 0xe5, 0x20, 0xe0, 0x00, 0xe5,
- 0x2c, 0xe0, 0x03, 0x16, 0xe0, 0x80, 0x08, 0xe5,
- 0x80, 0xaf, 0xe0, 0x01, 0xe5, 0x0e, 0xe0, 0x02,
- 0xe5, 0x00, 0xe0, 0x80, 0x10, 0xa5, 0x20, 0x05,
- 0x00, 0xe5, 0x24, 0x00, 0x25, 0x40, 0x05, 0x20,
- 0xe5, 0x0f, 0x00, 0x16, 0xeb, 0x00, 0xe5, 0x0f,
- 0x2f, 0xcb, 0xe5, 0x17, 0xe0, 0x00, 0xeb, 0x01,
- 0xe0, 0x28, 0xe5, 0x0b, 0x00, 0x25, 0x80, 0x8b,
- 0xe5, 0x0e, 0xab, 0x40, 0x16, 0xe5, 0x12, 0x80,
- 0x16, 0xe0, 0x38, 0xe5, 0x30, 0x60, 0x2b, 0x25,
- 0xeb, 0x08, 0x20, 0xeb, 0x26, 0x05, 0x46, 0x00,
- 0x26, 0x80, 0x66, 0x65, 0x00, 0x45, 0x00, 0xe5,
- 0x15, 0x20, 0x46, 0x60, 0x06, 0xeb, 0x01, 0xc0,
- 0xf6, 0x01, 0xc0, 0xe5, 0x15, 0x2b, 0x16, 0xe5,
- 0x15, 0x4b, 0xe0, 0x18, 0xe5, 0x00, 0x0f, 0xe5,
- 0x14, 0x26, 0x60, 0x8b, 0xd6, 0xe0, 0x01, 0xe5,
- 0x2e, 0x40, 0xd6, 0xe5, 0x0e, 0x20, 0xeb, 0x00,
- 0xe5, 0x0b, 0x80, 0xeb, 0x00, 0xe5, 0x0a, 0xc0,
- 0x76, 0xe0, 0x04, 0xcb, 0xe0, 0x48, 0xe5, 0x41,
- 0xe0, 0x2f, 0xe1, 0x2b, 0xe0, 0x05, 0xe2, 0x2b,
- 0xc0, 0xab, 0xe5, 0x1c, 0x66, 0xe0, 0x00, 0xe9,
- 0x02, 0xe0, 0x80, 0x9e, 0xeb, 0x17, 0xe0, 0x79,
- 0xe5, 0x15, 0xeb, 0x02, 0x05, 0xe0, 0x00, 0xe5,
- 0x0e, 0xe6, 0x03, 0x6b, 0x96, 0xe0, 0x7e, 0xe5,
+ 0x16, 0x12, 0xf6, 0x05, 0x2f, 0x16, 0xe0, 0x25,
+ 0xef, 0x12, 0x00, 0xef, 0x51, 0xe0, 0x04, 0xef,
+ 0x80, 0x4e, 0xe0, 0x12, 0xef, 0x04, 0x60, 0x17,
+ 0x56, 0x0f, 0x04, 0x05, 0x0a, 0x12, 0x13, 0x12,
+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x2f,
+ 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13,
+ 0x11, 0x12, 0x33, 0x0f, 0xea, 0x01, 0x66, 0x27,
+ 0x11, 0x84, 0x2f, 0x4a, 0x04, 0x05, 0x16, 0x2f,
+ 0x00, 0xe5, 0x4e, 0x20, 0x26, 0x2e, 0x24, 0x05,
+ 0x11, 0xe5, 0x52, 0x16, 0x44, 0x05, 0x80, 0xe5,
+ 0x23, 0x00, 0xe5, 0x56, 0x00, 0x2f, 0x6b, 0xef,
+ 0x02, 0xe5, 0x18, 0xef, 0x1c, 0xe0, 0x04, 0xe5,
+ 0x08, 0xef, 0x17, 0x00, 0xeb, 0x02, 0xef, 0x16,
+ 0xeb, 0x00, 0x0f, 0xeb, 0x07, 0xef, 0x18, 0xeb,
+ 0x02, 0xef, 0x1f, 0xeb, 0x07, 0xef, 0x80, 0xb8,
+ 0xe5, 0x99, 0x38, 0xef, 0x38, 0xe5, 0xc0, 0x11,
+ 0x75, 0x40, 0xe5, 0x0d, 0x04, 0xe5, 0x83, 0xef,
+ 0x40, 0xef, 0x2f, 0xe0, 0x01, 0xe5, 0x20, 0xa4,
+ 0x36, 0xe5, 0x80, 0x84, 0x04, 0x56, 0xe5, 0x08,
+ 0xe9, 0x02, 0x25, 0xe0, 0x0c, 0xff, 0x26, 0x05,
+ 0x06, 0x48, 0x16, 0xe6, 0x02, 0x16, 0x04, 0xff,
+ 0x14, 0x24, 0x26, 0xe5, 0x3e, 0xea, 0x02, 0x26,
+ 0xb6, 0xe0, 0x00, 0xee, 0x0f, 0xe4, 0x01, 0x2e,
+ 0xff, 0x06, 0x22, 0xff, 0x36, 0x04, 0xe2, 0x00,
+ 0x9f, 0xff, 0x02, 0x04, 0x2e, 0x7f, 0x05, 0x7f,
+ 0x22, 0xff, 0x0d, 0x61, 0x02, 0x81, 0x02, 0xff,
+ 0x02, 0x20, 0x5f, 0x41, 0x02, 0x3f, 0xe0, 0x22,
+ 0x3f, 0x05, 0x24, 0x02, 0xc5, 0x06, 0x45, 0x06,
+ 0x65, 0x06, 0xe5, 0x0f, 0x27, 0x26, 0x07, 0x6f,
+ 0x06, 0x40, 0xab, 0x2f, 0x0d, 0x0f, 0xa0, 0xe5,
+ 0x2c, 0x76, 0xe0, 0x00, 0x27, 0xe5, 0x2a, 0xe7,
+ 0x08, 0x26, 0xe0, 0x00, 0x36, 0xe9, 0x02, 0xa0,
+ 0xe6, 0x0a, 0xa5, 0x56, 0x05, 0x16, 0x25, 0x06,
+ 0xe9, 0x02, 0xe5, 0x14, 0xe6, 0x00, 0x36, 0xe5,
+ 0x0f, 0xe6, 0x03, 0x27, 0xe0, 0x03, 0x16, 0xe5,
+ 0x15, 0x40, 0x46, 0x07, 0xe5, 0x27, 0x06, 0x27,
+ 0x66, 0x27, 0x26, 0x47, 0xf6, 0x05, 0x00, 0x04,
+ 0xe9, 0x02, 0x60, 0x36, 0x85, 0x06, 0x04, 0xe5,
+ 0x01, 0xe9, 0x02, 0x85, 0x00, 0xe5, 0x21, 0xa6,
+ 0x27, 0x26, 0x27, 0x26, 0xe0, 0x01, 0x45, 0x06,
+ 0xe5, 0x00, 0x06, 0x07, 0x20, 0xe9, 0x02, 0x20,
+ 0x76, 0xe5, 0x08, 0x04, 0xa5, 0x4f, 0x05, 0x07,
+ 0x06, 0x07, 0xe5, 0x2a, 0x06, 0x05, 0x46, 0x25,
+ 0x26, 0x85, 0x26, 0x05, 0x06, 0x05, 0xe0, 0x10,
+ 0x25, 0x04, 0x36, 0xe5, 0x03, 0x07, 0x26, 0x27,
+ 0x36, 0x05, 0x24, 0x07, 0x06, 0xe0, 0x02, 0xa5,
+ 0x20, 0xa5, 0x20, 0xa5, 0xe0, 0x01, 0xc5, 0x00,
+ 0xc5, 0x00, 0xe2, 0x23, 0x0e, 0x64, 0xe2, 0x01,
+ 0x04, 0x2e, 0x60, 0xe2, 0x48, 0xe5, 0x1b, 0x27,
+ 0x06, 0x27, 0x06, 0x27, 0x16, 0x07, 0x06, 0x20,
+ 0xe9, 0x02, 0xa0, 0xe5, 0xab, 0x1c, 0xe0, 0x04,
+ 0xe5, 0x0f, 0x60, 0xe5, 0x29, 0x60, 0xfc, 0x87,
+ 0x78, 0xfd, 0x98, 0x78, 0xe5, 0x80, 0xe6, 0x20,
+ 0xe5, 0x62, 0xe0, 0x1e, 0xc2, 0xe0, 0x04, 0x82,
+ 0x80, 0x05, 0x06, 0xe5, 0x02, 0x0c, 0xe5, 0x05,
+ 0x00, 0x85, 0x00, 0x05, 0x00, 0x25, 0x00, 0x25,
+ 0x00, 0xe5, 0x64, 0xee, 0x08, 0xe0, 0x09, 0xe5,
+ 0x80, 0xe3, 0x13, 0x12, 0xe0, 0x08, 0xe5, 0x38,
+ 0x20, 0xe5, 0x2e, 0xe0, 0x20, 0xe5, 0x04, 0x0d,
+ 0x0f, 0x20, 0xe6, 0x08, 0xd6, 0x12, 0x13, 0x16,
+ 0xa0, 0xe6, 0x08, 0x16, 0x31, 0x30, 0x12, 0x13,
+ 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13,
+ 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x36, 0x12,
+ 0x13, 0x76, 0x50, 0x56, 0x00, 0x76, 0x11, 0x12,
+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x56, 0x0c, 0x11,
+ 0x4c, 0x00, 0x16, 0x0d, 0x36, 0x60, 0x85, 0x00,
+ 0xe5, 0x7f, 0x20, 0x1b, 0x00, 0x56, 0x0d, 0x56,
+ 0x12, 0x13, 0x16, 0x0c, 0x16, 0x11, 0x36, 0xe9,
+ 0x02, 0x36, 0x4c, 0x36, 0xe1, 0x12, 0x12, 0x16,
+ 0x13, 0x0e, 0x10, 0x0e, 0xe2, 0x12, 0x12, 0x0c,
+ 0x13, 0x0c, 0x12, 0x13, 0x16, 0x12, 0x13, 0x36,
+ 0xe5, 0x02, 0x04, 0xe5, 0x25, 0x24, 0xe5, 0x17,
+ 0x40, 0xa5, 0x20, 0xa5, 0x20, 0xa5, 0x20, 0x45,
+ 0x40, 0x2d, 0x0c, 0x0e, 0x0f, 0x2d, 0x00, 0x0f,
+ 0x6c, 0x2f, 0xe0, 0x02, 0x5b, 0x2f, 0x20, 0xe5,
+ 0x04, 0x00, 0xe5, 0x12, 0x00, 0xe5, 0x0b, 0x00,
+ 0x25, 0x00, 0xe5, 0x07, 0x20, 0xe5, 0x06, 0xe0,
+ 0x1a, 0xe5, 0x73, 0x80, 0x56, 0x60, 0xeb, 0x25,
+ 0x40, 0xef, 0x01, 0xea, 0x2d, 0x6b, 0xef, 0x09,
+ 0x2b, 0x4f, 0x00, 0xef, 0x05, 0x40, 0x0f, 0xe0,
+ 0x27, 0xef, 0x25, 0x06, 0xe0, 0x7a, 0xe5, 0x15,
+ 0x40, 0xe5, 0x29, 0xe0, 0x07, 0x06, 0xeb, 0x13,
+ 0x60, 0xe5, 0x18, 0x6b, 0xe0, 0x01, 0xe5, 0x0c,
+ 0x0a, 0xe5, 0x00, 0x0a, 0x80, 0xe5, 0x1e, 0x86,
+ 0x80, 0xe5, 0x16, 0x00, 0x16, 0xe5, 0x1c, 0x60,
+ 0xe5, 0x00, 0x16, 0x8a, 0xe0, 0x22, 0xe1, 0x20,
+ 0xe2, 0x20, 0xe5, 0x46, 0x20, 0xe9, 0x02, 0xa0,
+ 0xe1, 0x1c, 0x60, 0xe2, 0x1c, 0x60, 0xe5, 0x20,
+ 0xe0, 0x00, 0xe5, 0x2c, 0xe0, 0x03, 0x16, 0xe0,
+ 0x80, 0x08, 0xe5, 0x80, 0xaf, 0xe0, 0x01, 0xe5,
+ 0x0e, 0xe0, 0x02, 0xe5, 0x00, 0xe0, 0x80, 0x10,
+ 0xa5, 0x20, 0x05, 0x00, 0xe5, 0x24, 0x00, 0x25,
+ 0x40, 0x05, 0x20, 0xe5, 0x0f, 0x00, 0x16, 0xeb,
+ 0x00, 0xe5, 0x0f, 0x2f, 0xcb, 0xe5, 0x17, 0xe0,
+ 0x00, 0xeb, 0x01, 0xe0, 0x28, 0xe5, 0x0b, 0x00,
+ 0x25, 0x80, 0x8b, 0xe5, 0x0e, 0xab, 0x40, 0x16,
+ 0xe5, 0x12, 0x80, 0x16, 0xe0, 0x38, 0xe5, 0x30,
+ 0x60, 0x2b, 0x25, 0xeb, 0x08, 0x20, 0xeb, 0x26,
+ 0x05, 0x46, 0x00, 0x26, 0x80, 0x66, 0x65, 0x00,
+ 0x45, 0x00, 0xe5, 0x15, 0x20, 0x46, 0x60, 0x06,
+ 0xeb, 0x01, 0xc0, 0xf6, 0x01, 0xc0, 0xe5, 0x15,
+ 0x2b, 0x16, 0xe5, 0x15, 0x4b, 0xe0, 0x18, 0xe5,
+ 0x00, 0x0f, 0xe5, 0x14, 0x26, 0x60, 0x8b, 0xd6,
+ 0xe0, 0x01, 0xe5, 0x2e, 0x40, 0xd6, 0xe5, 0x0e,
+ 0x20, 0xeb, 0x00, 0xe5, 0x0b, 0x80, 0xeb, 0x00,
+ 0xe5, 0x0a, 0xc0, 0x76, 0xe0, 0x04, 0xcb, 0xe0,
+ 0x48, 0xe5, 0x41, 0xe0, 0x2f, 0xe1, 0x2b, 0xe0,
+ 0x05, 0xe2, 0x2b, 0xc0, 0xab, 0xe5, 0x1c, 0x66,
+ 0xe0, 0x00, 0xe9, 0x02, 0xe0, 0x80, 0x9e, 0xeb,
+ 0x17, 0x00, 0xe5, 0x22, 0x00, 0x26, 0x11, 0x20,
+ 0x25, 0xe0, 0x46, 0xe5, 0x15, 0xeb, 0x02, 0x05,
+ 0xe0, 0x00, 0xe5, 0x0e, 0xe6, 0x03, 0x6b, 0x96,
+ 0xe0, 0x4e, 0xe5, 0x0d, 0xcb, 0xe0, 0x0c, 0xe5,
0x0f, 0xe0, 0x01, 0x07, 0x06, 0x07, 0xe5, 0x2d,
0xe6, 0x07, 0xd6, 0x60, 0xeb, 0x0c, 0xe9, 0x02,
0xe0, 0x07, 0x46, 0x07, 0xe5, 0x25, 0x47, 0x66,
0x27, 0x26, 0x36, 0x1b, 0x76, 0xe0, 0x03, 0x1b,
0x20, 0xe5, 0x11, 0xc0, 0xe9, 0x02, 0xa0, 0x46,
0xe5, 0x1c, 0x86, 0x07, 0xe6, 0x00, 0x00, 0xe9,
- 0x02, 0x76, 0x05, 0x27, 0xe0, 0x01, 0xe5, 0x1b,
- 0x06, 0x36, 0x05, 0xe0, 0x01, 0x26, 0x07, 0xe5,
- 0x28, 0x47, 0xe6, 0x01, 0x27, 0x65, 0x76, 0x66,
- 0x16, 0x20, 0xe9, 0x02, 0x05, 0x16, 0x05, 0x56,
- 0x00, 0xeb, 0x0c, 0xe0, 0x03, 0xe5, 0x0a, 0x00,
- 0xe5, 0x11, 0x47, 0x46, 0x27, 0x06, 0x07, 0x26,
- 0xb6, 0x06, 0xe0, 0x39, 0xc5, 0x00, 0x05, 0x00,
- 0x65, 0x00, 0xe5, 0x07, 0x00, 0xe5, 0x02, 0x16,
- 0xa0, 0xe5, 0x27, 0x06, 0x47, 0xe6, 0x00, 0x80,
- 0xe9, 0x02, 0xa0, 0x26, 0x27, 0x00, 0xe5, 0x00,
- 0x20, 0x25, 0x20, 0xe5, 0x0e, 0x00, 0xc5, 0x00,
- 0x25, 0x00, 0x85, 0x00, 0x26, 0x05, 0x27, 0x06,
- 0x67, 0x20, 0x27, 0x20, 0x47, 0x20, 0x05, 0xa0,
- 0x07, 0x80, 0x85, 0x27, 0x20, 0xc6, 0x40, 0x86,
- 0xe0, 0x80, 0x03, 0xe5, 0x2d, 0x47, 0xe6, 0x00,
- 0x27, 0x46, 0x07, 0x06, 0x65, 0x96, 0xe9, 0x02,
- 0x00, 0x16, 0x00, 0x16, 0x06, 0x05, 0xe0, 0x18,
- 0xe5, 0x28, 0x47, 0xa6, 0x07, 0x06, 0x67, 0x26,
- 0x07, 0x26, 0x25, 0x16, 0x05, 0xe0, 0x00, 0xe9,
- 0x02, 0xe0, 0x80, 0x1e, 0xe5, 0x27, 0x47, 0x66,
- 0x20, 0x67, 0x26, 0x07, 0x26, 0xf6, 0x0f, 0x65,
- 0x26, 0xe0, 0x1a, 0xe5, 0x28, 0x47, 0xe6, 0x00,
- 0x27, 0x06, 0x07, 0x26, 0x56, 0x05, 0xe0, 0x03,
- 0xe9, 0x02, 0xa0, 0xf6, 0x05, 0xe0, 0x0b, 0xe5,
- 0x23, 0x06, 0x07, 0x06, 0x27, 0xa6, 0x07, 0x06,
- 0x05, 0xc0, 0xe9, 0x02, 0xe0, 0x2e, 0xe5, 0x13,
- 0x20, 0x46, 0x27, 0x66, 0x07, 0x86, 0x60, 0xe9,
- 0x02, 0x2b, 0x56, 0x0f, 0xe0, 0x80, 0x38, 0xe5,
- 0x24, 0x47, 0xe6, 0x01, 0x07, 0x26, 0x16, 0xe0,
- 0x5c, 0xe1, 0x18, 0xe2, 0x18, 0xe9, 0x02, 0xeb,
- 0x01, 0xe0, 0x04, 0x05, 0xe0, 0x80, 0x18, 0xe5,
- 0x00, 0x20, 0xe5, 0x1f, 0x47, 0x66, 0x20, 0x26,
- 0x67, 0x06, 0x05, 0x16, 0x05, 0x07, 0xe0, 0x13,
- 0x05, 0xe6, 0x02, 0xe5, 0x20, 0xa6, 0x07, 0x05,
- 0x66, 0xf6, 0x00, 0x06, 0xe0, 0x00, 0x05, 0xa6,
- 0x27, 0x46, 0xe5, 0x26, 0xe6, 0x05, 0x07, 0x26,
- 0x56, 0x05, 0x96, 0xe0, 0x15, 0xe5, 0x31, 0xe0,
- 0x80, 0x7f, 0xe5, 0x01, 0x00, 0xe5, 0x1d, 0x07,
- 0xc6, 0x00, 0xa6, 0x07, 0x06, 0x05, 0x96, 0xe0,
- 0x02, 0xe9, 0x02, 0xeb, 0x0b, 0x40, 0x36, 0xe5,
- 0x16, 0x20, 0xe6, 0x0e, 0x00, 0x07, 0xc6, 0x07,
- 0x26, 0x07, 0x26, 0xe0, 0x41, 0xc5, 0x00, 0x25,
- 0x00, 0xe5, 0x1e, 0xa6, 0x40, 0x06, 0x00, 0x26,
- 0x00, 0xc6, 0x05, 0x06, 0xe0, 0x00, 0xe9, 0x02,
- 0xa0, 0xa5, 0x00, 0x25, 0x00, 0xe5, 0x18, 0x87,
- 0x00, 0x26, 0x00, 0x27, 0x06, 0x07, 0x06, 0x05,
- 0xc0, 0xe9, 0x02, 0xe0, 0x80, 0xae, 0xe5, 0x0b,
- 0x26, 0x27, 0x36, 0xe0, 0x80, 0x3f, 0xeb, 0x0d,
- 0xef, 0x00, 0x6d, 0xef, 0x09, 0xe0, 0x05, 0x16,
- 0xe5, 0x83, 0x12, 0xe0, 0x5e, 0xea, 0x67, 0x00,
- 0x96, 0xe0, 0x03, 0xe5, 0x80, 0x3c, 0xe0, 0x8a,
- 0x34, 0xe5, 0x83, 0xa7, 0x00, 0xfb, 0x01, 0xe0,
- 0x8f, 0x3f, 0xe5, 0x81, 0xbf, 0xe0, 0xa1, 0x31,
- 0xe5, 0x81, 0xb1, 0xc0, 0xe5, 0x17, 0x00, 0xe9,
- 0x02, 0x60, 0x36, 0xe0, 0x58, 0xe5, 0x16, 0x20,
- 0x86, 0x16, 0xe0, 0x02, 0xe5, 0x28, 0xc6, 0x96,
- 0x6f, 0x64, 0x16, 0x0f, 0xe0, 0x02, 0xe9, 0x02,
- 0x00, 0xcb, 0x00, 0xe5, 0x0d, 0x80, 0xe5, 0x0b,
- 0xe0, 0x82, 0x28, 0xe1, 0x18, 0xe2, 0x18, 0xeb,
- 0x0f, 0x76, 0xe0, 0x5d, 0xe5, 0x43, 0x60, 0x06,
- 0x05, 0xe7, 0x2f, 0xc0, 0x66, 0xe4, 0x05, 0xe0,
- 0x38, 0x24, 0x16, 0x04, 0xe0, 0x14, 0xe5, 0x97,
- 0x70, 0xe0, 0x00, 0xe5, 0x82, 0x6b, 0xe0, 0xa4,
- 0x85, 0xe5, 0x80, 0x97, 0xe0, 0x29, 0x45, 0xe0,
- 0x09, 0x65, 0xe0, 0x00, 0xe5, 0x81, 0x04, 0xe0,
- 0x88, 0x7c, 0xe5, 0x63, 0x80, 0xe5, 0x05, 0x40,
- 0xe5, 0x01, 0xc0, 0xe5, 0x02, 0x20, 0x0f, 0x26,
- 0x16, 0x7b, 0xe0, 0x92, 0xd4, 0xef, 0x80, 0x6e,
- 0xe0, 0x02, 0xef, 0x1f, 0x20, 0xef, 0x34, 0x27,
- 0x46, 0x4f, 0xa7, 0xfb, 0x00, 0xe6, 0x00, 0x2f,
- 0xc6, 0xef, 0x16, 0x66, 0xef, 0x33, 0xe0, 0x0f,
- 0xef, 0x3a, 0x46, 0x0f, 0xe0, 0x80, 0x12, 0xeb,
- 0x0c, 0xe0, 0x04, 0xef, 0x4f, 0xe0, 0x01, 0xeb,
- 0x11, 0xe0, 0x7f, 0xe1, 0x12, 0xe2, 0x12, 0xe1,
- 0x12, 0xc2, 0x00, 0xe2, 0x0a, 0xe1, 0x12, 0xe2,
- 0x12, 0x01, 0x00, 0x21, 0x20, 0x01, 0x20, 0x21,
- 0x20, 0x61, 0x00, 0xe1, 0x00, 0x62, 0x00, 0x02,
- 0x00, 0xc2, 0x00, 0xe2, 0x03, 0xe1, 0x12, 0xe2,
- 0x12, 0x21, 0x00, 0x61, 0x20, 0xe1, 0x00, 0x00,
- 0xc1, 0x00, 0xe2, 0x12, 0x21, 0x00, 0x61, 0x00,
- 0x81, 0x00, 0x01, 0x40, 0xc1, 0x00, 0xe2, 0x12,
- 0xe1, 0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x12,
- 0xe1, 0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x12,
- 0xe1, 0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x14,
- 0x20, 0xe1, 0x11, 0x0c, 0xe2, 0x11, 0x0c, 0xa2,
+ 0x02, 0x76, 0x05, 0x27, 0x05, 0xe0, 0x00, 0xe5,
+ 0x1b, 0x06, 0x36, 0x05, 0xe0, 0x01, 0x26, 0x07,
+ 0xe5, 0x28, 0x47, 0xe6, 0x01, 0x27, 0x65, 0x76,
+ 0x66, 0x16, 0x07, 0x06, 0xe9, 0x02, 0x05, 0x16,
+ 0x05, 0x56, 0x00, 0xeb, 0x0c, 0xe0, 0x03, 0xe5,
+ 0x0a, 0x00, 0xe5, 0x11, 0x47, 0x46, 0x27, 0x06,
+ 0x07, 0x26, 0xb6, 0x06, 0xe0, 0x39, 0xc5, 0x00,
+ 0x05, 0x00, 0x65, 0x00, 0xe5, 0x07, 0x00, 0xe5,
+ 0x02, 0x16, 0xa0, 0xe5, 0x27, 0x06, 0x47, 0xe6,
+ 0x00, 0x80, 0xe9, 0x02, 0xa0, 0x26, 0x27, 0x00,
+ 0xe5, 0x00, 0x20, 0x25, 0x20, 0xe5, 0x0e, 0x00,
+ 0xc5, 0x00, 0x25, 0x00, 0x85, 0x00, 0x26, 0x05,
+ 0x27, 0x06, 0x67, 0x20, 0x27, 0x20, 0x47, 0x20,
+ 0x05, 0xa0, 0x07, 0x80, 0x85, 0x27, 0x20, 0xc6,
+ 0x40, 0x86, 0xe0, 0x80, 0x03, 0xe5, 0x2d, 0x47,
+ 0xe6, 0x00, 0x27, 0x46, 0x07, 0x06, 0x65, 0x96,
+ 0xe9, 0x02, 0x36, 0x00, 0x16, 0x06, 0x45, 0xe0,
+ 0x16, 0xe5, 0x28, 0x47, 0xa6, 0x07, 0x06, 0x67,
+ 0x26, 0x07, 0x26, 0x25, 0x16, 0x05, 0xe0, 0x00,
+ 0xe9, 0x02, 0xe0, 0x80, 0x1e, 0xe5, 0x27, 0x47,
+ 0x66, 0x20, 0x67, 0x26, 0x07, 0x26, 0xf6, 0x0f,
+ 0x65, 0x26, 0xe0, 0x1a, 0xe5, 0x28, 0x47, 0xe6,
+ 0x00, 0x27, 0x06, 0x07, 0x26, 0x56, 0x05, 0xe0,
+ 0x03, 0xe9, 0x02, 0xa0, 0xf6, 0x05, 0xe0, 0x0b,
+ 0xe5, 0x23, 0x06, 0x07, 0x06, 0x27, 0xa6, 0x07,
+ 0x06, 0x05, 0xc0, 0xe9, 0x02, 0xe0, 0x2e, 0xe5,
+ 0x13, 0x20, 0x46, 0x27, 0x66, 0x07, 0x86, 0x60,
+ 0xe9, 0x02, 0x2b, 0x56, 0x0f, 0xe0, 0x80, 0x38,
+ 0xe5, 0x24, 0x47, 0xe6, 0x01, 0x07, 0x26, 0x16,
+ 0xe0, 0x5c, 0xe1, 0x18, 0xe2, 0x18, 0xe9, 0x02,
+ 0xeb, 0x01, 0xe0, 0x04, 0xe5, 0x00, 0x20, 0x05,
+ 0x20, 0xe5, 0x00, 0x00, 0x25, 0x00, 0xe5, 0x10,
+ 0xa7, 0x00, 0x27, 0x20, 0x26, 0x07, 0x06, 0x05,
+ 0x07, 0x05, 0x07, 0x06, 0x56, 0xe0, 0x01, 0xe9,
+ 0x02, 0xe0, 0x3e, 0xe5, 0x00, 0x20, 0xe5, 0x1f,
+ 0x47, 0x66, 0x20, 0x26, 0x67, 0x06, 0x05, 0x16,
+ 0x05, 0x07, 0xe0, 0x13, 0x05, 0xe6, 0x02, 0xe5,
+ 0x20, 0xa6, 0x07, 0x05, 0x66, 0xf6, 0x00, 0x06,
+ 0xe0, 0x00, 0x05, 0xa6, 0x27, 0x46, 0xe5, 0x26,
+ 0xe6, 0x05, 0x07, 0x26, 0x56, 0x05, 0x96, 0xe0,
+ 0x15, 0xe5, 0x31, 0xe0, 0x80, 0x7f, 0xe5, 0x01,
+ 0x00, 0xe5, 0x1d, 0x07, 0xc6, 0x00, 0xa6, 0x07,
+ 0x06, 0x05, 0x96, 0xe0, 0x02, 0xe9, 0x02, 0xeb,
+ 0x0b, 0x40, 0x36, 0xe5, 0x16, 0x20, 0xe6, 0x0e,
+ 0x00, 0x07, 0xc6, 0x07, 0x26, 0x07, 0x26, 0xe0,
+ 0x41, 0xc5, 0x00, 0x25, 0x00, 0xe5, 0x1e, 0xa6,
+ 0x40, 0x06, 0x00, 0x26, 0x00, 0xc6, 0x05, 0x06,
+ 0xe0, 0x00, 0xe9, 0x02, 0xa0, 0xa5, 0x00, 0x25,
+ 0x00, 0xe5, 0x18, 0x87, 0x00, 0x26, 0x00, 0x27,
+ 0x06, 0x07, 0x06, 0x05, 0xc0, 0xe9, 0x02, 0xe0,
+ 0x80, 0xae, 0xe5, 0x0b, 0x26, 0x27, 0x36, 0xe0,
+ 0x80, 0x2f, 0x05, 0xe0, 0x07, 0xeb, 0x0d, 0xef,
+ 0x00, 0x6d, 0xef, 0x09, 0xe0, 0x05, 0x16, 0xe5,
+ 0x83, 0x12, 0xe0, 0x5e, 0xea, 0x67, 0x00, 0x96,
+ 0xe0, 0x03, 0xe5, 0x80, 0x3c, 0xe0, 0x8a, 0x34,
+ 0xe5, 0x83, 0xa7, 0x00, 0xfb, 0x01, 0xe0, 0x8f,
+ 0x3f, 0xe5, 0x81, 0xbf, 0xe0, 0xa1, 0x31, 0xe5,
+ 0x81, 0xb1, 0xc0, 0xe5, 0x17, 0x00, 0xe9, 0x02,
+ 0x60, 0x36, 0xe0, 0x58, 0xe5, 0x16, 0x20, 0x86,
+ 0x16, 0xe0, 0x02, 0xe5, 0x28, 0xc6, 0x96, 0x6f,
+ 0x64, 0x16, 0x0f, 0xe0, 0x02, 0xe9, 0x02, 0x00,
+ 0xcb, 0x00, 0xe5, 0x0d, 0x80, 0xe5, 0x0b, 0xe0,
+ 0x82, 0x28, 0xe1, 0x18, 0xe2, 0x18, 0xeb, 0x0f,
+ 0x76, 0xe0, 0x5d, 0xe5, 0x43, 0x60, 0x06, 0x05,
+ 0xe7, 0x2f, 0xc0, 0x66, 0xe4, 0x05, 0xe0, 0x38,
+ 0x24, 0x16, 0x04, 0x06, 0xe0, 0x03, 0x27, 0xe0,
+ 0x06, 0xe5, 0x97, 0x70, 0xe0, 0x00, 0xe5, 0x84,
+ 0x4e, 0xe0, 0x22, 0xe5, 0x01, 0xe0, 0xa2, 0x6f,
+ 0xe5, 0x80, 0x97, 0xe0, 0x29, 0x45, 0xe0, 0x09,
+ 0x65, 0xe0, 0x00, 0xe5, 0x81, 0x04, 0xe0, 0x88,
+ 0x7c, 0xe5, 0x63, 0x80, 0xe5, 0x05, 0x40, 0xe5,
+ 0x01, 0xc0, 0xe5, 0x02, 0x20, 0x0f, 0x26, 0x16,
+ 0x7b, 0xe0, 0x92, 0xd4, 0xef, 0x80, 0x6e, 0xe0,
+ 0x02, 0xef, 0x1f, 0x20, 0xef, 0x34, 0x27, 0x46,
+ 0x4f, 0xa7, 0xfb, 0x00, 0xe6, 0x00, 0x2f, 0xc6,
+ 0xef, 0x16, 0x66, 0xef, 0x33, 0xe0, 0x0f, 0xef,
+ 0x3a, 0x46, 0x0f, 0xe0, 0x80, 0x12, 0xeb, 0x0c,
+ 0xe0, 0x04, 0xef, 0x4f, 0xe0, 0x01, 0xeb, 0x11,
+ 0xe0, 0x7f, 0xe1, 0x12, 0xe2, 0x12, 0xe1, 0x12,
+ 0xc2, 0x00, 0xe2, 0x0a, 0xe1, 0x12, 0xe2, 0x12,
+ 0x01, 0x00, 0x21, 0x20, 0x01, 0x20, 0x21, 0x20,
+ 0x61, 0x00, 0xe1, 0x00, 0x62, 0x00, 0x02, 0x00,
+ 0xc2, 0x00, 0xe2, 0x03, 0xe1, 0x12, 0xe2, 0x12,
+ 0x21, 0x00, 0x61, 0x20, 0xe1, 0x00, 0x00, 0xc1,
+ 0x00, 0xe2, 0x12, 0x21, 0x00, 0x61, 0x00, 0x81,
+ 0x00, 0x01, 0x40, 0xc1, 0x00, 0xe2, 0x12, 0xe1,
+ 0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x12, 0xe1,
+ 0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x12, 0xe1,
+ 0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x14, 0x20,
0xe1, 0x11, 0x0c, 0xe2, 0x11, 0x0c, 0xa2, 0xe1,
0x11, 0x0c, 0xe2, 0x11, 0x0c, 0xa2, 0xe1, 0x11,
0x0c, 0xe2, 0x11, 0x0c, 0xa2, 0xe1, 0x11, 0x0c,
- 0xe2, 0x11, 0x0c, 0xa2, 0x3f, 0x20, 0xe9, 0x2a,
- 0xef, 0x81, 0x78, 0xe6, 0x2f, 0x6f, 0xe6, 0x2a,
- 0xef, 0x00, 0x06, 0xef, 0x06, 0x06, 0x2f, 0x96,
- 0xe0, 0x07, 0x86, 0x00, 0xe6, 0x07, 0xe0, 0x84,
- 0xc8, 0xc6, 0x00, 0xe6, 0x09, 0x20, 0xc6, 0x00,
- 0x26, 0x00, 0x86, 0xe0, 0x80, 0x4d, 0xe5, 0x25,
- 0x40, 0xc6, 0xc4, 0x20, 0xe9, 0x02, 0x60, 0x05,
- 0x0f, 0xe0, 0x80, 0xe8, 0xe5, 0x24, 0x66, 0xe9,
- 0x02, 0x80, 0x0d, 0xe0, 0x84, 0x78, 0xe5, 0x80,
- 0x3d, 0x20, 0xeb, 0x01, 0xc6, 0xe0, 0x21, 0xe1,
- 0x1a, 0xe2, 0x1a, 0xc6, 0x04, 0x60, 0xe9, 0x02,
- 0x60, 0x36, 0xe0, 0x82, 0x89, 0xeb, 0x33, 0x0f,
- 0x4b, 0x0d, 0x6b, 0xe0, 0x44, 0xeb, 0x25, 0x0f,
- 0xeb, 0x07, 0xe0, 0x80, 0x3a, 0x65, 0x00, 0xe5,
- 0x13, 0x00, 0x25, 0x00, 0x05, 0x20, 0x05, 0x00,
- 0xe5, 0x02, 0x00, 0x65, 0x00, 0x05, 0x00, 0x05,
- 0xa0, 0x05, 0x60, 0x05, 0x00, 0x05, 0x00, 0x05,
- 0x00, 0x45, 0x00, 0x25, 0x00, 0x05, 0x20, 0x05,
- 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05,
- 0x00, 0x25, 0x00, 0x05, 0x20, 0x65, 0x00, 0xc5,
- 0x00, 0x65, 0x00, 0x65, 0x00, 0x05, 0x00, 0xe5,
- 0x02, 0x00, 0xe5, 0x09, 0x80, 0x45, 0x00, 0x85,
- 0x00, 0xe5, 0x09, 0xe0, 0x2c, 0x2c, 0xe0, 0x80,
- 0x86, 0xef, 0x24, 0x60, 0xef, 0x5c, 0xe0, 0x04,
- 0xef, 0x07, 0x20, 0xef, 0x07, 0x00, 0xef, 0x07,
- 0x00, 0xef, 0x1d, 0xe0, 0x02, 0xeb, 0x05, 0x40,
- 0xef, 0x55, 0x40, 0xef, 0x35, 0xe0, 0x31, 0xef,
- 0x15, 0xe0, 0x05, 0xef, 0x24, 0x60, 0xef, 0x01,
- 0xc0, 0x2f, 0xe0, 0x06, 0xaf, 0xe0, 0x80, 0x12,
- 0xef, 0x80, 0x73, 0x8e, 0xef, 0x82, 0x4e, 0xe0,
- 0x02, 0xef, 0x05, 0x40, 0xef, 0x03, 0x80, 0xef,
- 0x6c, 0xe0, 0x04, 0xef, 0x51, 0xc0, 0xef, 0x04,
- 0xe0, 0x0c, 0xef, 0x04, 0x60, 0xef, 0x30, 0xe0,
- 0x00, 0xef, 0x02, 0xa0, 0xef, 0x20, 0xe0, 0x00,
- 0xef, 0x16, 0xe0, 0x4a, 0xef, 0x04, 0x00, 0xef,
- 0x5d, 0x00, 0x6f, 0x40, 0xef, 0x21, 0x20, 0xaf,
- 0x40, 0xef, 0x15, 0x20, 0xef, 0x7f, 0xe0, 0x04,
- 0xef, 0x06, 0x20, 0x6f, 0x60, 0x4f, 0x80, 0x4f,
- 0xe0, 0x05, 0xaf, 0xe0, 0x84, 0xe2, 0xe5, 0xc0,
- 0x66, 0x4f, 0xe0, 0x21, 0xe5, 0x8f, 0xad, 0xe0,
- 0x03, 0xe5, 0x80, 0x56, 0x20, 0xe5, 0x95, 0xfa,
- 0xe0, 0x06, 0xe5, 0x9c, 0xa9, 0xe0, 0x8b, 0x97,
- 0xe5, 0x81, 0x96, 0xe0, 0xca, 0xc5, 0x5b, 0x1b,
- 0xe0, 0x16, 0xfb, 0x58, 0xe0, 0x78, 0xe6, 0x80,
- 0x68, 0xe0, 0xc0, 0xbd, 0x88, 0xfd, 0xc0, 0xbf,
- 0x76, 0x20, 0xfd, 0xc0, 0xbf, 0x76, 0x20,
+ 0xe2, 0x11, 0x0c, 0xa2, 0xe1, 0x11, 0x0c, 0xe2,
+ 0x11, 0x0c, 0xa2, 0x3f, 0x20, 0xe9, 0x2a, 0xef,
+ 0x81, 0x78, 0xe6, 0x2f, 0x6f, 0xe6, 0x2a, 0xef,
+ 0x00, 0x06, 0xef, 0x06, 0x06, 0x2f, 0x96, 0xe0,
+ 0x07, 0x86, 0x00, 0xe6, 0x07, 0xe0, 0x84, 0xc8,
+ 0xc6, 0x00, 0xe6, 0x09, 0x20, 0xc6, 0x00, 0x26,
+ 0x00, 0x86, 0xe0, 0x80, 0x4d, 0xe5, 0x25, 0x40,
+ 0xc6, 0xc4, 0x20, 0xe9, 0x02, 0x60, 0x05, 0x0f,
+ 0xe0, 0x80, 0xe8, 0xe5, 0x24, 0x66, 0xe9, 0x02,
+ 0x80, 0x0d, 0xe0, 0x84, 0x78, 0xe5, 0x80, 0x3d,
+ 0x20, 0xeb, 0x01, 0xc6, 0xe0, 0x21, 0xe1, 0x1a,
+ 0xe2, 0x1a, 0xc6, 0x04, 0x60, 0xe9, 0x02, 0x60,
+ 0x36, 0xe0, 0x82, 0x89, 0xeb, 0x33, 0x0f, 0x4b,
+ 0x0d, 0x6b, 0xe0, 0x44, 0xeb, 0x25, 0x0f, 0xeb,
+ 0x07, 0xe0, 0x80, 0x3a, 0x65, 0x00, 0xe5, 0x13,
+ 0x00, 0x25, 0x00, 0x05, 0x20, 0x05, 0x00, 0xe5,
+ 0x02, 0x00, 0x65, 0x00, 0x05, 0x00, 0x05, 0xa0,
+ 0x05, 0x60, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00,
+ 0x45, 0x00, 0x25, 0x00, 0x05, 0x20, 0x05, 0x00,
+ 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00,
+ 0x25, 0x00, 0x05, 0x20, 0x65, 0x00, 0xc5, 0x00,
+ 0x65, 0x00, 0x65, 0x00, 0x05, 0x00, 0xe5, 0x02,
+ 0x00, 0xe5, 0x09, 0x80, 0x45, 0x00, 0x85, 0x00,
+ 0xe5, 0x09, 0xe0, 0x2c, 0x2c, 0xe0, 0x80, 0x86,
+ 0xef, 0x24, 0x60, 0xef, 0x5c, 0xe0, 0x04, 0xef,
+ 0x07, 0x20, 0xef, 0x07, 0x00, 0xef, 0x07, 0x00,
+ 0xef, 0x1d, 0xe0, 0x02, 0xeb, 0x05, 0xef, 0x80,
+ 0x19, 0xe0, 0x30, 0xef, 0x15, 0xe0, 0x05, 0xef,
+ 0x24, 0x60, 0xef, 0x01, 0xc0, 0x2f, 0xe0, 0x06,
+ 0xaf, 0xe0, 0x80, 0x12, 0xef, 0x80, 0x73, 0x8e,
+ 0xef, 0x82, 0x50, 0xe0, 0x00, 0xef, 0x05, 0x40,
+ 0xef, 0x05, 0x40, 0xef, 0x6c, 0xe0, 0x04, 0xef,
+ 0x51, 0xc0, 0xef, 0x04, 0xe0, 0x0c, 0xef, 0x04,
+ 0x60, 0xef, 0x30, 0xe0, 0x00, 0xef, 0x02, 0xa0,
+ 0xef, 0x20, 0xe0, 0x00, 0xef, 0x16, 0x20, 0x2f,
+ 0xe0, 0x46, 0xef, 0x71, 0x00, 0xef, 0x4a, 0x00,
+ 0xef, 0x7f, 0xe0, 0x04, 0xef, 0x06, 0x20, 0x8f,
+ 0x40, 0x4f, 0x80, 0xcf, 0xe0, 0x01, 0xef, 0x11,
+ 0xc0, 0xcf, 0xe0, 0x01, 0x4f, 0xe0, 0x05, 0xcf,
+ 0xe0, 0x21, 0xef, 0x80, 0x0b, 0x00, 0xef, 0x2f,
+ 0xe0, 0x1d, 0xe9, 0x02, 0xe0, 0x83, 0x7e, 0xe5,
+ 0xc0, 0x66, 0x56, 0xe0, 0x1a, 0xe5, 0x8f, 0xad,
+ 0xe0, 0x03, 0xe5, 0x80, 0x56, 0x20, 0xe5, 0x95,
+ 0xfa, 0xe0, 0x06, 0xe5, 0x9c, 0xa9, 0xe0, 0x8b,
+ 0x97, 0xe5, 0x81, 0x96, 0xe0, 0x85, 0x5a, 0xe5,
+ 0x92, 0xc3, 0xe0, 0xca, 0xac, 0x2e, 0x1b, 0xe0,
+ 0x16, 0xfb, 0x58, 0xe0, 0x78, 0xe6, 0x80, 0x68,
+ 0xe0, 0xc0, 0xbd, 0x88, 0xfd, 0xc0, 0xbf, 0x76,
+ 0x20, 0xfd, 0xc0, 0xbf, 0x76, 0x20,
};
typedef enum {
@@ -2753,6 +2781,7 @@ typedef enum {
UNICODE_SCRIPT_Chakma,
UNICODE_SCRIPT_Cham,
UNICODE_SCRIPT_Cherokee,
+ UNICODE_SCRIPT_Chorasmian,
UNICODE_SCRIPT_Common,
UNICODE_SCRIPT_Coptic,
UNICODE_SCRIPT_Cuneiform,
@@ -2760,6 +2789,7 @@ typedef enum {
UNICODE_SCRIPT_Cyrillic,
UNICODE_SCRIPT_Deseret,
UNICODE_SCRIPT_Devanagari,
+ UNICODE_SCRIPT_Dives_Akuru,
UNICODE_SCRIPT_Dogra,
UNICODE_SCRIPT_Duployan,
UNICODE_SCRIPT_Egyptian_Hieroglyphs,
@@ -2793,6 +2823,7 @@ typedef enum {
UNICODE_SCRIPT_Kharoshthi,
UNICODE_SCRIPT_Khmer,
UNICODE_SCRIPT_Khojki,
+ UNICODE_SCRIPT_Khitan_Small_Script,
UNICODE_SCRIPT_Khudawadi,
UNICODE_SCRIPT_Lao,
UNICODE_SCRIPT_Latin,
@@ -2880,6 +2911,7 @@ typedef enum {
UNICODE_SCRIPT_Vai,
UNICODE_SCRIPT_Wancho,
UNICODE_SCRIPT_Warang_Citi,
+ UNICODE_SCRIPT_Yezidi,
UNICODE_SCRIPT_Yi,
UNICODE_SCRIPT_Zanabazar_Square,
UNICODE_SCRIPT_COUNT,
@@ -2909,6 +2941,7 @@ static const char unicode_script_name_table[] =
"Chakma,Cakm" "\0"
"Cham,Cham" "\0"
"Cherokee,Cher" "\0"
+ "Chorasmian,Chrs" "\0"
"Common,Zyyy" "\0"
"Coptic,Copt,Qaac" "\0"
"Cuneiform,Xsux" "\0"
@@ -2916,6 +2949,7 @@ static const char unicode_script_name_table[] =
"Cyrillic,Cyrl" "\0"
"Deseret,Dsrt" "\0"
"Devanagari,Deva" "\0"
+ "Dives_Akuru,Diak" "\0"
"Dogra,Dogr" "\0"
"Duployan,Dupl" "\0"
"Egyptian_Hieroglyphs,Egyp" "\0"
@@ -2949,6 +2983,7 @@ static const char unicode_script_name_table[] =
"Kharoshthi,Khar" "\0"
"Khmer,Khmr" "\0"
"Khojki,Khoj" "\0"
+ "Khitan_Small_Script,Kits" "\0"
"Khudawadi,Sind" "\0"
"Lao,Laoo" "\0"
"Latin,Latn" "\0"
@@ -3036,434 +3071,442 @@ static const char unicode_script_name_table[] =
"Vai,Vaii" "\0"
"Wancho,Wcho" "\0"
"Warang_Citi,Wara" "\0"
+ "Yezidi,Yezi" "\0"
"Yi,Yiii" "\0"
"Zanabazar_Square,Zanb" "\0"
;
-static const uint8_t unicode_script_table[2565] = {
- 0xc0, 0x18, 0x99, 0x42, 0x85, 0x18, 0x99, 0x42,
- 0xae, 0x18, 0x80, 0x42, 0x8e, 0x18, 0x80, 0x42,
- 0x84, 0x18, 0x96, 0x42, 0x80, 0x18, 0x9e, 0x42,
- 0x80, 0x18, 0xe1, 0x60, 0x42, 0xa6, 0x18, 0x84,
- 0x42, 0x84, 0x18, 0x81, 0x0d, 0x93, 0x18, 0xe0,
- 0x0f, 0x35, 0x83, 0x29, 0x80, 0x18, 0x82, 0x29,
- 0x01, 0x83, 0x29, 0x80, 0x18, 0x80, 0x29, 0x03,
- 0x80, 0x29, 0x80, 0x18, 0x80, 0x29, 0x80, 0x18,
- 0x82, 0x29, 0x00, 0x80, 0x29, 0x00, 0x93, 0x29,
- 0x00, 0xbe, 0x29, 0x8d, 0x19, 0x8f, 0x29, 0xe0,
- 0x24, 0x1c, 0x81, 0x35, 0xe0, 0x48, 0x1c, 0x00,
- 0xa5, 0x05, 0x01, 0xaf, 0x05, 0x80, 0x18, 0x80,
- 0x05, 0x01, 0x82, 0x05, 0x00, 0xb6, 0x32, 0x07,
- 0x9a, 0x32, 0x03, 0x85, 0x32, 0x0a, 0x84, 0x04,
- 0x80, 0x18, 0x85, 0x04, 0x80, 0x18, 0x8d, 0x04,
- 0x80, 0x18, 0x80, 0x04, 0x00, 0x80, 0x04, 0x80,
- 0x18, 0x9f, 0x04, 0x80, 0x18, 0x89, 0x04, 0x8a,
- 0x35, 0x99, 0x04, 0x80, 0x35, 0xe0, 0x0b, 0x04,
- 0x80, 0x18, 0xa1, 0x04, 0x8d, 0x84, 0x00, 0xbb,
- 0x84, 0x01, 0x82, 0x84, 0xaf, 0x04, 0xb1, 0x8e,
- 0x0d, 0xba, 0x60, 0x01, 0x82, 0x60, 0xad, 0x78,
- 0x01, 0x8e, 0x78, 0x00, 0x9b, 0x4d, 0x01, 0x80,
- 0x4d, 0x00, 0x8a, 0x84, 0x34, 0x94, 0x04, 0x00,
- 0x87, 0x04, 0x14, 0x8e, 0x04, 0x80, 0x18, 0x9c,
- 0x04, 0xd0, 0x1e, 0x83, 0x35, 0x8e, 0x1e, 0x81,
- 0x18, 0x99, 0x1e, 0x83, 0x0b, 0x00, 0x87, 0x0b,
- 0x01, 0x81, 0x0b, 0x01, 0x95, 0x0b, 0x00, 0x86,
- 0x0b, 0x00, 0x80, 0x0b, 0x02, 0x83, 0x0b, 0x01,
- 0x88, 0x0b, 0x01, 0x81, 0x0b, 0x01, 0x83, 0x0b,
- 0x07, 0x80, 0x0b, 0x03, 0x81, 0x0b, 0x00, 0x84,
- 0x0b, 0x01, 0x98, 0x0b, 0x01, 0x82, 0x2c, 0x00,
- 0x85, 0x2c, 0x03, 0x81, 0x2c, 0x01, 0x95, 0x2c,
- 0x00, 0x86, 0x2c, 0x00, 0x81, 0x2c, 0x00, 0x81,
- 0x2c, 0x00, 0x81, 0x2c, 0x01, 0x80, 0x2c, 0x00,
- 0x84, 0x2c, 0x03, 0x81, 0x2c, 0x01, 0x82, 0x2c,
- 0x02, 0x80, 0x2c, 0x06, 0x83, 0x2c, 0x00, 0x80,
- 0x2c, 0x06, 0x90, 0x2c, 0x09, 0x82, 0x2a, 0x00,
- 0x88, 0x2a, 0x00, 0x82, 0x2a, 0x00, 0x95, 0x2a,
- 0x00, 0x86, 0x2a, 0x00, 0x81, 0x2a, 0x00, 0x84,
- 0x2a, 0x01, 0x89, 0x2a, 0x00, 0x82, 0x2a, 0x00,
- 0x82, 0x2a, 0x01, 0x80, 0x2a, 0x0e, 0x83, 0x2a,
- 0x01, 0x8b, 0x2a, 0x06, 0x86, 0x2a, 0x00, 0x82,
- 0x6d, 0x00, 0x87, 0x6d, 0x01, 0x81, 0x6d, 0x01,
- 0x95, 0x6d, 0x00, 0x86, 0x6d, 0x00, 0x81, 0x6d,
- 0x00, 0x84, 0x6d, 0x01, 0x88, 0x6d, 0x01, 0x81,
- 0x6d, 0x01, 0x82, 0x6d, 0x07, 0x81, 0x6d, 0x03,
- 0x81, 0x6d, 0x00, 0x84, 0x6d, 0x01, 0x91, 0x6d,
- 0x09, 0x81, 0x8b, 0x00, 0x85, 0x8b, 0x02, 0x82,
- 0x8b, 0x00, 0x83, 0x8b, 0x02, 0x81, 0x8b, 0x00,
- 0x80, 0x8b, 0x00, 0x81, 0x8b, 0x02, 0x81, 0x8b,
- 0x02, 0x82, 0x8b, 0x02, 0x8b, 0x8b, 0x03, 0x84,
- 0x8b, 0x02, 0x82, 0x8b, 0x00, 0x83, 0x8b, 0x01,
- 0x80, 0x8b, 0x05, 0x80, 0x8b, 0x0d, 0x94, 0x8b,
- 0x04, 0x8c, 0x8d, 0x00, 0x82, 0x8d, 0x00, 0x96,
- 0x8d, 0x00, 0x8f, 0x8d, 0x02, 0x87, 0x8d, 0x00,
- 0x82, 0x8d, 0x00, 0x83, 0x8d, 0x06, 0x81, 0x8d,
- 0x00, 0x82, 0x8d, 0x04, 0x83, 0x8d, 0x01, 0x89,
- 0x8d, 0x06, 0x88, 0x8d, 0x8c, 0x3a, 0x00, 0x82,
- 0x3a, 0x00, 0x96, 0x3a, 0x00, 0x89, 0x3a, 0x00,
- 0x84, 0x3a, 0x01, 0x88, 0x3a, 0x00, 0x82, 0x3a,
- 0x00, 0x83, 0x3a, 0x06, 0x81, 0x3a, 0x06, 0x80,
- 0x3a, 0x00, 0x83, 0x3a, 0x01, 0x89, 0x3a, 0x00,
- 0x81, 0x3a, 0x0c, 0x83, 0x4c, 0x00, 0x87, 0x4c,
- 0x00, 0x82, 0x4c, 0x00, 0xb2, 0x4c, 0x00, 0x82,
- 0x4c, 0x00, 0x85, 0x4c, 0x03, 0x8f, 0x4c, 0x01,
- 0x99, 0x4c, 0x01, 0x81, 0x7e, 0x00, 0x91, 0x7e,
- 0x02, 0x97, 0x7e, 0x00, 0x88, 0x7e, 0x00, 0x80,
- 0x7e, 0x01, 0x86, 0x7e, 0x02, 0x80, 0x7e, 0x03,
- 0x85, 0x7e, 0x00, 0x80, 0x7e, 0x00, 0x87, 0x7e,
- 0x05, 0x89, 0x7e, 0x01, 0x82, 0x7e, 0x0b, 0xb9,
- 0x8f, 0x03, 0x80, 0x18, 0x9b, 0x8f, 0x24, 0x81,
- 0x41, 0x00, 0x80, 0x41, 0x00, 0x84, 0x41, 0x00,
- 0x97, 0x41, 0x00, 0x80, 0x41, 0x00, 0x96, 0x41,
- 0x01, 0x84, 0x41, 0x00, 0x80, 0x41, 0x00, 0x85,
- 0x41, 0x01, 0x89, 0x41, 0x01, 0x83, 0x41, 0x1f,
- 0xc7, 0x90, 0x00, 0xa3, 0x90, 0x03, 0xa6, 0x90,
- 0x00, 0xa3, 0x90, 0x00, 0x8e, 0x90, 0x00, 0x86,
- 0x90, 0x83, 0x18, 0x81, 0x90, 0x24, 0xe0, 0x3f,
- 0x5b, 0xa5, 0x25, 0x00, 0x80, 0x25, 0x04, 0x80,
- 0x25, 0x01, 0xaa, 0x25, 0x80, 0x18, 0x83, 0x25,
- 0xe0, 0x9f, 0x2e, 0xc8, 0x24, 0x00, 0x83, 0x24,
- 0x01, 0x86, 0x24, 0x00, 0x80, 0x24, 0x00, 0x83,
- 0x24, 0x01, 0xa8, 0x24, 0x00, 0x83, 0x24, 0x01,
- 0xa0, 0x24, 0x00, 0x83, 0x24, 0x01, 0x86, 0x24,
- 0x00, 0x80, 0x24, 0x00, 0x83, 0x24, 0x01, 0x8e,
- 0x24, 0x00, 0xb8, 0x24, 0x00, 0x83, 0x24, 0x01,
- 0xc2, 0x24, 0x01, 0x9f, 0x24, 0x02, 0x99, 0x24,
- 0x05, 0xd5, 0x17, 0x01, 0x85, 0x17, 0x01, 0xe2,
- 0x1f, 0x12, 0x9c, 0x63, 0x02, 0xca, 0x77, 0x82,
- 0x18, 0x8a, 0x77, 0x06, 0x8c, 0x85, 0x00, 0x86,
- 0x85, 0x0a, 0x94, 0x30, 0x81, 0x18, 0x08, 0x93,
- 0x11, 0x0b, 0x8c, 0x86, 0x00, 0x82, 0x86, 0x00,
- 0x81, 0x86, 0x0b, 0xdd, 0x3e, 0x01, 0x89, 0x3e,
- 0x05, 0x89, 0x3e, 0x05, 0x81, 0x58, 0x81, 0x18,
- 0x80, 0x58, 0x80, 0x18, 0x88, 0x58, 0x00, 0x89,
- 0x58, 0x05, 0xd8, 0x58, 0x06, 0xaa, 0x58, 0x04,
- 0xc5, 0x12, 0x09, 0x9e, 0x44, 0x00, 0x8b, 0x44,
- 0x03, 0x8b, 0x44, 0x03, 0x80, 0x44, 0x02, 0x8b,
- 0x44, 0x9d, 0x87, 0x01, 0x84, 0x87, 0x0a, 0xab,
- 0x5e, 0x03, 0x99, 0x5e, 0x05, 0x8a, 0x5e, 0x02,
- 0x81, 0x5e, 0x9f, 0x3e, 0x9b, 0x10, 0x01, 0x81,
- 0x10, 0xbe, 0x88, 0x00, 0x9c, 0x88, 0x01, 0x8a,
- 0x88, 0x05, 0x89, 0x88, 0x05, 0x8d, 0x88, 0x01,
- 0x8e, 0x35, 0x40, 0xcb, 0x07, 0x03, 0xac, 0x07,
- 0x02, 0xbf, 0x82, 0xb3, 0x0a, 0x07, 0x83, 0x0a,
- 0xb7, 0x43, 0x02, 0x8e, 0x43, 0x02, 0x82, 0x43,
- 0xaf, 0x64, 0x88, 0x1c, 0x06, 0xaa, 0x25, 0x01,
- 0x82, 0x25, 0x87, 0x82, 0x07, 0x82, 0x35, 0x80,
- 0x18, 0x8c, 0x35, 0x80, 0x18, 0x86, 0x35, 0x83,
- 0x18, 0x80, 0x35, 0x85, 0x18, 0x80, 0x35, 0x82,
- 0x18, 0x81, 0x35, 0x80, 0x18, 0x04, 0xa5, 0x42,
- 0x84, 0x29, 0x80, 0x1c, 0xb0, 0x42, 0x84, 0x29,
- 0x83, 0x42, 0x84, 0x29, 0x8c, 0x42, 0x80, 0x1c,
- 0xc5, 0x42, 0x80, 0x29, 0xb9, 0x35, 0x00, 0x84,
- 0x35, 0xe0, 0x9f, 0x42, 0x95, 0x29, 0x01, 0x85,
- 0x29, 0x01, 0xa5, 0x29, 0x01, 0x85, 0x29, 0x01,
- 0x87, 0x29, 0x00, 0x80, 0x29, 0x00, 0x80, 0x29,
- 0x00, 0x80, 0x29, 0x00, 0x9e, 0x29, 0x01, 0xb4,
- 0x29, 0x00, 0x8e, 0x29, 0x00, 0x8d, 0x29, 0x01,
- 0x85, 0x29, 0x00, 0x92, 0x29, 0x01, 0x82, 0x29,
- 0x00, 0x88, 0x29, 0x00, 0x8b, 0x18, 0x81, 0x35,
- 0xd6, 0x18, 0x00, 0x8a, 0x18, 0x80, 0x42, 0x01,
- 0x8a, 0x18, 0x80, 0x42, 0x8e, 0x18, 0x00, 0x8c,
- 0x42, 0x02, 0x9f, 0x18, 0x0f, 0xa0, 0x35, 0x0e,
- 0xa5, 0x18, 0x80, 0x29, 0x82, 0x18, 0x81, 0x42,
- 0x85, 0x18, 0x80, 0x42, 0x9a, 0x18, 0x80, 0x42,
- 0x90, 0x18, 0xa8, 0x42, 0x82, 0x18, 0x03, 0xe2,
- 0x36, 0x18, 0x18, 0x8a, 0x18, 0x14, 0xe3, 0x3f,
- 0x18, 0xe0, 0x9f, 0x0f, 0xe2, 0x13, 0x18, 0x01,
- 0x9f, 0x18, 0x01, 0xe0, 0x07, 0x18, 0xae, 0x26,
- 0x00, 0xae, 0x26, 0x00, 0x9f, 0x42, 0xe0, 0x13,
- 0x19, 0x04, 0x86, 0x19, 0xa5, 0x25, 0x00, 0x80,
- 0x25, 0x04, 0x80, 0x25, 0x01, 0xb7, 0x91, 0x06,
- 0x81, 0x91, 0x0d, 0x80, 0x91, 0x96, 0x24, 0x08,
- 0x86, 0x24, 0x00, 0x86, 0x24, 0x00, 0x86, 0x24,
- 0x00, 0x86, 0x24, 0x00, 0x86, 0x24, 0x00, 0x86,
- 0x24, 0x00, 0x86, 0x24, 0x00, 0x86, 0x24, 0x00,
- 0x9f, 0x1c, 0xcf, 0x18, 0x2f, 0x99, 0x2d, 0x00,
- 0xd8, 0x2d, 0x0b, 0xe0, 0x75, 0x2d, 0x19, 0x8b,
- 0x18, 0x03, 0x84, 0x18, 0x80, 0x2d, 0x80, 0x18,
- 0x80, 0x2d, 0x98, 0x18, 0x88, 0x2d, 0x83, 0x35,
- 0x81, 0x2e, 0x87, 0x18, 0x83, 0x2d, 0x83, 0x18,
- 0x00, 0xd5, 0x33, 0x01, 0x81, 0x35, 0x81, 0x18,
- 0x82, 0x33, 0x80, 0x18, 0xd9, 0x3b, 0x81, 0x18,
- 0x82, 0x3b, 0x04, 0xaa, 0x0d, 0x00, 0xdd, 0x2e,
- 0x00, 0x8f, 0x18, 0x9a, 0x0d, 0x04, 0xa3, 0x18,
- 0x0b, 0x8f, 0x3b, 0x9e, 0x2e, 0x00, 0xbf, 0x18,
- 0x9e, 0x2e, 0xd0, 0x18, 0xae, 0x3b, 0x80, 0x18,
- 0xd7, 0x3b, 0xe0, 0x47, 0x18, 0xf0, 0x09, 0x55,
- 0x2d, 0x09, 0xbf, 0x18, 0xf0, 0x41, 0x8f, 0x2d,
- 0x0f, 0xe4, 0x2c, 0x97, 0x02, 0xb6, 0x97, 0x08,
- 0xaf, 0x47, 0xe0, 0xcb, 0x94, 0x13, 0xdf, 0x1c,
- 0xd7, 0x08, 0x07, 0xa1, 0x18, 0xe0, 0x05, 0x42,
- 0x82, 0x18, 0xb4, 0x42, 0x01, 0x84, 0x42, 0x2f,
- 0x88, 0x42, 0xab, 0x83, 0x03, 0x89, 0x18, 0x05,
- 0xb7, 0x73, 0x07, 0xc5, 0x79, 0x07, 0x8b, 0x79,
- 0x05, 0x9f, 0x1e, 0xad, 0x3c, 0x80, 0x18, 0x80,
- 0x3c, 0xa3, 0x76, 0x0a, 0x80, 0x76, 0x9c, 0x2e,
- 0x02, 0xcd, 0x38, 0x00, 0x80, 0x18, 0x89, 0x38,
- 0x03, 0x81, 0x38, 0x9e, 0x5b, 0x00, 0xb6, 0x16,
- 0x08, 0x8d, 0x16, 0x01, 0x89, 0x16, 0x01, 0x83,
- 0x16, 0x9f, 0x5b, 0xc2, 0x89, 0x17, 0x84, 0x89,
- 0x96, 0x52, 0x09, 0x85, 0x24, 0x01, 0x85, 0x24,
- 0x01, 0x85, 0x24, 0x08, 0x86, 0x24, 0x00, 0x86,
- 0x24, 0x00, 0xaa, 0x42, 0x80, 0x18, 0x88, 0x42,
- 0x80, 0x29, 0x81, 0x42, 0x07, 0xcf, 0x17, 0xad,
- 0x52, 0x01, 0x89, 0x52, 0x05, 0xf0, 0x1b, 0x43,
- 0x2e, 0x0b, 0x96, 0x2e, 0x03, 0xb0, 0x2e, 0x70,
- 0x10, 0xa3, 0xe1, 0x0d, 0x2d, 0x01, 0xe0, 0x09,
- 0x2d, 0x25, 0x86, 0x42, 0x0b, 0x84, 0x05, 0x04,
- 0x99, 0x32, 0x00, 0x84, 0x32, 0x00, 0x80, 0x32,
- 0x00, 0x81, 0x32, 0x00, 0x81, 0x32, 0x00, 0x89,
- 0x32, 0xe0, 0x11, 0x04, 0x10, 0xe1, 0x0a, 0x04,
- 0x81, 0x18, 0x0f, 0xbf, 0x04, 0x01, 0xb5, 0x04,
- 0x27, 0x8d, 0x04, 0x01, 0x8f, 0x35, 0x89, 0x18,
- 0x05, 0x8d, 0x35, 0x81, 0x1c, 0xa2, 0x18, 0x00,
- 0x92, 0x18, 0x00, 0x83, 0x18, 0x03, 0x84, 0x04,
- 0x00, 0xe0, 0x26, 0x04, 0x01, 0x80, 0x18, 0x00,
- 0x9f, 0x18, 0x99, 0x42, 0x85, 0x18, 0x99, 0x42,
- 0x8a, 0x18, 0x89, 0x3b, 0x80, 0x18, 0xac, 0x3b,
- 0x81, 0x18, 0x9e, 0x2e, 0x02, 0x85, 0x2e, 0x01,
- 0x85, 0x2e, 0x01, 0x85, 0x2e, 0x01, 0x82, 0x2e,
- 0x02, 0x86, 0x18, 0x00, 0x86, 0x18, 0x09, 0x84,
- 0x18, 0x01, 0x8b, 0x46, 0x00, 0x99, 0x46, 0x00,
- 0x92, 0x46, 0x00, 0x81, 0x46, 0x00, 0x8e, 0x46,
- 0x01, 0x8d, 0x46, 0x21, 0xe0, 0x1a, 0x46, 0x04,
- 0x82, 0x18, 0x03, 0xac, 0x18, 0x02, 0x88, 0x18,
- 0xce, 0x29, 0x00, 0x8b, 0x18, 0x03, 0x80, 0x29,
- 0x2e, 0xac, 0x18, 0x80, 0x35, 0x60, 0x21, 0x9c,
- 0x48, 0x02, 0xb0, 0x13, 0x0e, 0x80, 0x35, 0x9a,
- 0x18, 0x03, 0xa3, 0x66, 0x08, 0x82, 0x66, 0x9a,
- 0x27, 0x04, 0xaa, 0x68, 0x04, 0x9d, 0x93, 0x00,
- 0x80, 0x93, 0xa3, 0x69, 0x03, 0x8d, 0x69, 0x29,
- 0xcf, 0x1d, 0xaf, 0x7b, 0x9d, 0x6f, 0x01, 0x89,
- 0x6f, 0x05, 0xa3, 0x6e, 0x03, 0xa3, 0x6e, 0x03,
- 0xa7, 0x22, 0x07, 0xb3, 0x14, 0x0a, 0x80, 0x14,
- 0x60, 0x2f, 0xe0, 0xd6, 0x45, 0x08, 0x95, 0x45,
- 0x09, 0x87, 0x45, 0x60, 0x37, 0x85, 0x1b, 0x01,
- 0x80, 0x1b, 0x00, 0xab, 0x1b, 0x00, 0x81, 0x1b,
- 0x02, 0x80, 0x1b, 0x01, 0x80, 0x1b, 0x95, 0x34,
- 0x00, 0x88, 0x34, 0x9f, 0x71, 0x9e, 0x5c, 0x07,
- 0x88, 0x5c, 0x2f, 0x92, 0x31, 0x00, 0x81, 0x31,
- 0x04, 0x84, 0x31, 0x9b, 0x74, 0x02, 0x80, 0x74,
- 0x99, 0x49, 0x04, 0x80, 0x49, 0x3f, 0x9f, 0x55,
- 0x97, 0x54, 0x03, 0x93, 0x54, 0x01, 0xad, 0x54,
- 0x83, 0x3d, 0x00, 0x81, 0x3d, 0x04, 0x87, 0x3d,
- 0x00, 0x82, 0x3d, 0x00, 0x9c, 0x3d, 0x01, 0x82,
- 0x3d, 0x03, 0x89, 0x3d, 0x06, 0x88, 0x3d, 0x06,
- 0x9f, 0x6b, 0x9f, 0x67, 0x1f, 0xa6, 0x4e, 0x03,
- 0x8b, 0x4e, 0x08, 0xb5, 0x06, 0x02, 0x86, 0x06,
- 0x95, 0x37, 0x01, 0x87, 0x37, 0x92, 0x36, 0x04,
- 0x87, 0x36, 0x91, 0x75, 0x06, 0x83, 0x75, 0x0b,
- 0x86, 0x75, 0x4f, 0xc8, 0x6c, 0x36, 0xb2, 0x65,
- 0x0c, 0xb2, 0x65, 0x06, 0x85, 0x65, 0xa7, 0x2f,
- 0x07, 0x89, 0x2f, 0x60, 0xc5, 0x9e, 0x04, 0x60,
- 0x20, 0xa7, 0x6a, 0x07, 0xa9, 0x7f, 0x60, 0x25,
- 0x96, 0x23, 0x08, 0xcd, 0x0e, 0x03, 0x9d, 0x0e,
- 0x0e, 0x80, 0x0e, 0xc1, 0x39, 0x0a, 0x80, 0x39,
- 0x01, 0x98, 0x80, 0x06, 0x89, 0x80, 0x05, 0xb4,
- 0x15, 0x00, 0x90, 0x15, 0x08, 0xa6, 0x4b, 0x08,
- 0xcd, 0x7a, 0x01, 0x8f, 0x7a, 0x00, 0x93, 0x7e,
- 0x0a, 0x91, 0x3f, 0x00, 0xab, 0x3f, 0x40, 0x86,
- 0x5a, 0x00, 0x80, 0x5a, 0x00, 0x83, 0x5a, 0x00,
- 0x8e, 0x5a, 0x00, 0x8a, 0x5a, 0x05, 0xba, 0x40,
- 0x04, 0x89, 0x40, 0x05, 0x83, 0x28, 0x00, 0x87,
- 0x28, 0x01, 0x81, 0x28, 0x01, 0x95, 0x28, 0x00,
- 0x86, 0x28, 0x00, 0x81, 0x28, 0x00, 0x84, 0x28,
- 0x00, 0x80, 0x35, 0x88, 0x28, 0x01, 0x81, 0x28,
- 0x01, 0x82, 0x28, 0x01, 0x80, 0x28, 0x05, 0x80,
- 0x28, 0x04, 0x86, 0x28, 0x01, 0x86, 0x28, 0x02,
- 0x84, 0x28, 0x60, 0x2a, 0xd9, 0x5f, 0x00, 0x80,
- 0x5f, 0x00, 0x82, 0x5f, 0x1f, 0xc7, 0x92, 0x07,
- 0x89, 0x92, 0x60, 0x45, 0xb5, 0x7c, 0x01, 0xa5,
- 0x7c, 0x21, 0xc4, 0x57, 0x0a, 0x89, 0x57, 0x05,
- 0x8c, 0x58, 0x12, 0xb8, 0x8a, 0x06, 0x89, 0x8a,
- 0x35, 0x9a, 0x02, 0x01, 0x8e, 0x02, 0x03, 0x8f,
- 0x02, 0x60, 0x5f, 0xbb, 0x1f, 0x60, 0x03, 0xd2,
- 0x96, 0x0b, 0x80, 0x96, 0x60, 0x3f, 0x87, 0x5d,
- 0x01, 0xad, 0x5d, 0x01, 0x8a, 0x5d, 0x1a, 0xc7,
- 0x98, 0x07, 0xd2, 0x81, 0x1c, 0xb8, 0x72, 0x60,
- 0xa6, 0x88, 0x0c, 0x00, 0xac, 0x0c, 0x00, 0x8d,
- 0x0c, 0x09, 0x9c, 0x0c, 0x02, 0x9f, 0x4f, 0x01,
- 0x95, 0x4f, 0x00, 0x8d, 0x4f, 0x48, 0x86, 0x50,
- 0x00, 0x81, 0x50, 0x00, 0xab, 0x50, 0x02, 0x80,
- 0x50, 0x00, 0x81, 0x50, 0x00, 0x88, 0x50, 0x07,
- 0x89, 0x50, 0x05, 0x85, 0x2b, 0x00, 0x81, 0x2b,
- 0x00, 0xa4, 0x2b, 0x00, 0x81, 0x2b, 0x00, 0x85,
- 0x2b, 0x06, 0x89, 0x2b, 0x60, 0xd5, 0x98, 0x4a,
- 0x60, 0x66, 0xb1, 0x8b, 0x0c, 0x80, 0x8b, 0xe3,
- 0x39, 0x1a, 0x60, 0x05, 0xe0, 0x0e, 0x1a, 0x00,
- 0x84, 0x1a, 0x0a, 0xe0, 0x63, 0x1a, 0x6a, 0x5b,
- 0xe3, 0xce, 0x21, 0x00, 0x88, 0x21, 0x6f, 0x66,
- 0xe1, 0xe6, 0x03, 0x70, 0x11, 0x58, 0xe1, 0xd8,
- 0x08, 0x06, 0x9e, 0x59, 0x00, 0x89, 0x59, 0x03,
- 0x81, 0x59, 0x5f, 0x9d, 0x09, 0x01, 0x85, 0x09,
- 0x09, 0xc5, 0x70, 0x09, 0x89, 0x70, 0x00, 0x86,
- 0x70, 0x00, 0x94, 0x70, 0x04, 0x92, 0x70, 0x62,
- 0x4f, 0xda, 0x51, 0x60, 0x04, 0xca, 0x56, 0x03,
- 0xb8, 0x56, 0x06, 0x90, 0x56, 0x3f, 0x80, 0x8c,
- 0x80, 0x61, 0x81, 0x18, 0x1b, 0xf0, 0x07, 0x97,
- 0x8c, 0x07, 0xe2, 0x92, 0x8c, 0x70, 0x14, 0xac,
- 0x80, 0x3b, 0xe0, 0xbd, 0x33, 0x30, 0x82, 0x33,
- 0x10, 0x83, 0x3b, 0x07, 0xe1, 0x2b, 0x61, 0x68,
- 0xa3, 0xe0, 0x0a, 0x20, 0x04, 0x8c, 0x20, 0x02,
- 0x88, 0x20, 0x06, 0x89, 0x20, 0x01, 0x83, 0x20,
- 0x83, 0x18, 0x70, 0x02, 0xfb, 0xe0, 0x95, 0x18,
- 0x09, 0xa6, 0x18, 0x01, 0xbd, 0x18, 0x82, 0x35,
- 0x90, 0x18, 0x87, 0x35, 0x81, 0x18, 0x86, 0x35,
- 0x9d, 0x18, 0x83, 0x35, 0xba, 0x18, 0x16, 0xc5,
- 0x29, 0x60, 0x39, 0x93, 0x18, 0x0b, 0xd6, 0x18,
- 0x08, 0x98, 0x18, 0x60, 0x26, 0xd4, 0x18, 0x00,
- 0xc6, 0x18, 0x00, 0x81, 0x18, 0x01, 0x80, 0x18,
- 0x01, 0x81, 0x18, 0x01, 0x83, 0x18, 0x00, 0x8b,
- 0x18, 0x00, 0x80, 0x18, 0x00, 0x86, 0x18, 0x00,
- 0xc0, 0x18, 0x00, 0x83, 0x18, 0x01, 0x87, 0x18,
- 0x00, 0x86, 0x18, 0x00, 0x9b, 0x18, 0x00, 0x83,
- 0x18, 0x00, 0x84, 0x18, 0x00, 0x80, 0x18, 0x02,
- 0x86, 0x18, 0x00, 0xe0, 0xf3, 0x18, 0x01, 0xe0,
- 0xc3, 0x18, 0x01, 0xb1, 0x18, 0xe2, 0x2b, 0x7d,
- 0x0e, 0x84, 0x7d, 0x00, 0x8e, 0x7d, 0x64, 0xef,
- 0x86, 0x26, 0x00, 0x90, 0x26, 0x01, 0x86, 0x26,
- 0x00, 0x81, 0x26, 0x00, 0x84, 0x26, 0x60, 0x74,
- 0xac, 0x62, 0x02, 0x8d, 0x62, 0x01, 0x89, 0x62,
- 0x03, 0x81, 0x62, 0x61, 0x0f, 0xb9, 0x95, 0x04,
- 0x80, 0x95, 0x64, 0x9f, 0xe0, 0x64, 0x53, 0x01,
- 0x8f, 0x53, 0x28, 0xcb, 0x01, 0x03, 0x89, 0x01,
- 0x03, 0x81, 0x01, 0x62, 0xb0, 0xc3, 0x18, 0x4b,
- 0xbc, 0x18, 0x60, 0x61, 0x83, 0x04, 0x00, 0x9a,
- 0x04, 0x00, 0x81, 0x04, 0x00, 0x80, 0x04, 0x01,
- 0x80, 0x04, 0x00, 0x89, 0x04, 0x00, 0x83, 0x04,
- 0x00, 0x80, 0x04, 0x00, 0x80, 0x04, 0x05, 0x80,
- 0x04, 0x03, 0x80, 0x04, 0x00, 0x80, 0x04, 0x00,
- 0x80, 0x04, 0x00, 0x82, 0x04, 0x00, 0x81, 0x04,
- 0x00, 0x80, 0x04, 0x01, 0x80, 0x04, 0x00, 0x80,
- 0x04, 0x00, 0x80, 0x04, 0x00, 0x80, 0x04, 0x00,
- 0x80, 0x04, 0x00, 0x81, 0x04, 0x00, 0x80, 0x04,
- 0x01, 0x83, 0x04, 0x00, 0x86, 0x04, 0x00, 0x83,
- 0x04, 0x00, 0x83, 0x04, 0x00, 0x80, 0x04, 0x00,
- 0x89, 0x04, 0x00, 0x90, 0x04, 0x04, 0x82, 0x04,
- 0x00, 0x84, 0x04, 0x00, 0x90, 0x04, 0x33, 0x81,
- 0x04, 0x60, 0xad, 0xab, 0x18, 0x03, 0xe0, 0x03,
- 0x18, 0x0b, 0x8e, 0x18, 0x01, 0x8e, 0x18, 0x00,
- 0x8e, 0x18, 0x00, 0xa4, 0x18, 0x09, 0x8c, 0x18,
- 0x02, 0xdc, 0x18, 0x02, 0xbc, 0x18, 0x38, 0x99,
- 0x18, 0x80, 0x33, 0x81, 0x18, 0x0c, 0xab, 0x18,
- 0x03, 0x88, 0x18, 0x06, 0x81, 0x18, 0x0d, 0x85,
- 0x18, 0x60, 0x39, 0xe3, 0x75, 0x18, 0x09, 0x8c,
- 0x18, 0x02, 0x8a, 0x18, 0x04, 0xe0, 0x13, 0x18,
- 0x0b, 0xd8, 0x18, 0x06, 0x8b, 0x18, 0x13, 0x8b,
- 0x18, 0x03, 0xb7, 0x18, 0x07, 0x89, 0x18, 0x05,
- 0xa7, 0x18, 0x07, 0x9d, 0x18, 0x51, 0x8b, 0x18,
- 0x00, 0xe0, 0x04, 0x18, 0x00, 0x83, 0x18, 0x02,
- 0xa8, 0x18, 0x01, 0x85, 0x18, 0x02, 0x9c, 0x18,
- 0x01, 0xe0, 0x26, 0x18, 0x0b, 0x8d, 0x18, 0x01,
- 0x83, 0x18, 0x03, 0x82, 0x18, 0x04, 0x82, 0x18,
- 0x0c, 0x85, 0x18, 0x65, 0x09, 0xf0, 0x96, 0x76,
- 0x2d, 0x28, 0xef, 0xd4, 0x2d, 0x0a, 0xe0, 0x7d,
- 0x2d, 0x01, 0xf0, 0x06, 0x21, 0x2d, 0x0d, 0xf0,
- 0x0c, 0xd0, 0x2d, 0x6b, 0xbe, 0xe1, 0xbd, 0x2d,
- 0x7a, 0xf5, 0x82, 0x80, 0x18, 0x1d, 0xdf, 0x18,
- 0x60, 0x1f, 0xe0, 0x8f, 0x35,
+static const uint8_t unicode_script_table[2609] = {
+ 0xc0, 0x19, 0x99, 0x45, 0x85, 0x19, 0x99, 0x45,
+ 0xae, 0x19, 0x80, 0x45, 0x8e, 0x19, 0x80, 0x45,
+ 0x84, 0x19, 0x96, 0x45, 0x80, 0x19, 0x9e, 0x45,
+ 0x80, 0x19, 0xe1, 0x60, 0x45, 0xa6, 0x19, 0x84,
+ 0x45, 0x84, 0x19, 0x81, 0x0d, 0x93, 0x19, 0xe0,
+ 0x0f, 0x37, 0x83, 0x2b, 0x80, 0x19, 0x82, 0x2b,
+ 0x01, 0x83, 0x2b, 0x80, 0x19, 0x80, 0x2b, 0x03,
+ 0x80, 0x2b, 0x80, 0x19, 0x80, 0x2b, 0x80, 0x19,
+ 0x82, 0x2b, 0x00, 0x80, 0x2b, 0x00, 0x93, 0x2b,
+ 0x00, 0xbe, 0x2b, 0x8d, 0x1a, 0x8f, 0x2b, 0xe0,
+ 0x24, 0x1d, 0x81, 0x37, 0xe0, 0x48, 0x1d, 0x00,
+ 0xa5, 0x05, 0x01, 0xb1, 0x05, 0x01, 0x82, 0x05,
+ 0x00, 0xb6, 0x34, 0x07, 0x9a, 0x34, 0x03, 0x85,
+ 0x34, 0x0a, 0x84, 0x04, 0x80, 0x19, 0x85, 0x04,
+ 0x80, 0x19, 0x8d, 0x04, 0x80, 0x19, 0x80, 0x04,
+ 0x00, 0x80, 0x04, 0x80, 0x19, 0x9f, 0x04, 0x80,
+ 0x19, 0x89, 0x04, 0x8a, 0x37, 0x99, 0x04, 0x80,
+ 0x37, 0xe0, 0x0b, 0x04, 0x80, 0x19, 0xa1, 0x04,
+ 0x8d, 0x87, 0x00, 0xbb, 0x87, 0x01, 0x82, 0x87,
+ 0xaf, 0x04, 0xb1, 0x91, 0x0d, 0xba, 0x63, 0x01,
+ 0x82, 0x63, 0xad, 0x7b, 0x01, 0x8e, 0x7b, 0x00,
+ 0x9b, 0x50, 0x01, 0x80, 0x50, 0x00, 0x8a, 0x87,
+ 0x34, 0x94, 0x04, 0x00, 0x91, 0x04, 0x0a, 0x8e,
+ 0x04, 0x80, 0x19, 0x9c, 0x04, 0xd0, 0x1f, 0x83,
+ 0x37, 0x8e, 0x1f, 0x81, 0x19, 0x99, 0x1f, 0x83,
+ 0x0b, 0x00, 0x87, 0x0b, 0x01, 0x81, 0x0b, 0x01,
+ 0x95, 0x0b, 0x00, 0x86, 0x0b, 0x00, 0x80, 0x0b,
+ 0x02, 0x83, 0x0b, 0x01, 0x88, 0x0b, 0x01, 0x81,
+ 0x0b, 0x01, 0x83, 0x0b, 0x07, 0x80, 0x0b, 0x03,
+ 0x81, 0x0b, 0x00, 0x84, 0x0b, 0x01, 0x98, 0x0b,
+ 0x01, 0x82, 0x2e, 0x00, 0x85, 0x2e, 0x03, 0x81,
+ 0x2e, 0x01, 0x95, 0x2e, 0x00, 0x86, 0x2e, 0x00,
+ 0x81, 0x2e, 0x00, 0x81, 0x2e, 0x00, 0x81, 0x2e,
+ 0x01, 0x80, 0x2e, 0x00, 0x84, 0x2e, 0x03, 0x81,
+ 0x2e, 0x01, 0x82, 0x2e, 0x02, 0x80, 0x2e, 0x06,
+ 0x83, 0x2e, 0x00, 0x80, 0x2e, 0x06, 0x90, 0x2e,
+ 0x09, 0x82, 0x2c, 0x00, 0x88, 0x2c, 0x00, 0x82,
+ 0x2c, 0x00, 0x95, 0x2c, 0x00, 0x86, 0x2c, 0x00,
+ 0x81, 0x2c, 0x00, 0x84, 0x2c, 0x01, 0x89, 0x2c,
+ 0x00, 0x82, 0x2c, 0x00, 0x82, 0x2c, 0x01, 0x80,
+ 0x2c, 0x0e, 0x83, 0x2c, 0x01, 0x8b, 0x2c, 0x06,
+ 0x86, 0x2c, 0x00, 0x82, 0x70, 0x00, 0x87, 0x70,
+ 0x01, 0x81, 0x70, 0x01, 0x95, 0x70, 0x00, 0x86,
+ 0x70, 0x00, 0x81, 0x70, 0x00, 0x84, 0x70, 0x01,
+ 0x88, 0x70, 0x01, 0x81, 0x70, 0x01, 0x82, 0x70,
+ 0x06, 0x82, 0x70, 0x03, 0x81, 0x70, 0x00, 0x84,
+ 0x70, 0x01, 0x91, 0x70, 0x09, 0x81, 0x8e, 0x00,
+ 0x85, 0x8e, 0x02, 0x82, 0x8e, 0x00, 0x83, 0x8e,
+ 0x02, 0x81, 0x8e, 0x00, 0x80, 0x8e, 0x00, 0x81,
+ 0x8e, 0x02, 0x81, 0x8e, 0x02, 0x82, 0x8e, 0x02,
+ 0x8b, 0x8e, 0x03, 0x84, 0x8e, 0x02, 0x82, 0x8e,
+ 0x00, 0x83, 0x8e, 0x01, 0x80, 0x8e, 0x05, 0x80,
+ 0x8e, 0x0d, 0x94, 0x8e, 0x04, 0x8c, 0x90, 0x00,
+ 0x82, 0x90, 0x00, 0x96, 0x90, 0x00, 0x8f, 0x90,
+ 0x02, 0x87, 0x90, 0x00, 0x82, 0x90, 0x00, 0x83,
+ 0x90, 0x06, 0x81, 0x90, 0x00, 0x82, 0x90, 0x04,
+ 0x83, 0x90, 0x01, 0x89, 0x90, 0x06, 0x88, 0x90,
+ 0x8c, 0x3c, 0x00, 0x82, 0x3c, 0x00, 0x96, 0x3c,
+ 0x00, 0x89, 0x3c, 0x00, 0x84, 0x3c, 0x01, 0x88,
+ 0x3c, 0x00, 0x82, 0x3c, 0x00, 0x83, 0x3c, 0x06,
+ 0x81, 0x3c, 0x06, 0x80, 0x3c, 0x00, 0x83, 0x3c,
+ 0x01, 0x89, 0x3c, 0x00, 0x81, 0x3c, 0x0c, 0x8c,
+ 0x4f, 0x00, 0x82, 0x4f, 0x00, 0xb2, 0x4f, 0x00,
+ 0x82, 0x4f, 0x00, 0x85, 0x4f, 0x03, 0x8f, 0x4f,
+ 0x01, 0x99, 0x4f, 0x00, 0x82, 0x81, 0x00, 0x91,
+ 0x81, 0x02, 0x97, 0x81, 0x00, 0x88, 0x81, 0x00,
+ 0x80, 0x81, 0x01, 0x86, 0x81, 0x02, 0x80, 0x81,
+ 0x03, 0x85, 0x81, 0x00, 0x80, 0x81, 0x00, 0x87,
+ 0x81, 0x05, 0x89, 0x81, 0x01, 0x82, 0x81, 0x0b,
+ 0xb9, 0x92, 0x03, 0x80, 0x19, 0x9b, 0x92, 0x24,
+ 0x81, 0x44, 0x00, 0x80, 0x44, 0x00, 0x84, 0x44,
+ 0x00, 0x97, 0x44, 0x00, 0x80, 0x44, 0x00, 0x96,
+ 0x44, 0x01, 0x84, 0x44, 0x00, 0x80, 0x44, 0x00,
+ 0x85, 0x44, 0x01, 0x89, 0x44, 0x01, 0x83, 0x44,
+ 0x1f, 0xc7, 0x93, 0x00, 0xa3, 0x93, 0x03, 0xa6,
+ 0x93, 0x00, 0xa3, 0x93, 0x00, 0x8e, 0x93, 0x00,
+ 0x86, 0x93, 0x83, 0x19, 0x81, 0x93, 0x24, 0xe0,
+ 0x3f, 0x5e, 0xa5, 0x27, 0x00, 0x80, 0x27, 0x04,
+ 0x80, 0x27, 0x01, 0xaa, 0x27, 0x80, 0x19, 0x83,
+ 0x27, 0xe0, 0x9f, 0x30, 0xc8, 0x26, 0x00, 0x83,
+ 0x26, 0x01, 0x86, 0x26, 0x00, 0x80, 0x26, 0x00,
+ 0x83, 0x26, 0x01, 0xa8, 0x26, 0x00, 0x83, 0x26,
+ 0x01, 0xa0, 0x26, 0x00, 0x83, 0x26, 0x01, 0x86,
+ 0x26, 0x00, 0x80, 0x26, 0x00, 0x83, 0x26, 0x01,
+ 0x8e, 0x26, 0x00, 0xb8, 0x26, 0x00, 0x83, 0x26,
+ 0x01, 0xc2, 0x26, 0x01, 0x9f, 0x26, 0x02, 0x99,
+ 0x26, 0x05, 0xd5, 0x17, 0x01, 0x85, 0x17, 0x01,
+ 0xe2, 0x1f, 0x12, 0x9c, 0x66, 0x02, 0xca, 0x7a,
+ 0x82, 0x19, 0x8a, 0x7a, 0x06, 0x8c, 0x88, 0x00,
+ 0x86, 0x88, 0x0a, 0x94, 0x32, 0x81, 0x19, 0x08,
+ 0x93, 0x11, 0x0b, 0x8c, 0x89, 0x00, 0x82, 0x89,
+ 0x00, 0x81, 0x89, 0x0b, 0xdd, 0x40, 0x01, 0x89,
+ 0x40, 0x05, 0x89, 0x40, 0x05, 0x81, 0x5b, 0x81,
+ 0x19, 0x80, 0x5b, 0x80, 0x19, 0x88, 0x5b, 0x00,
+ 0x89, 0x5b, 0x05, 0xd8, 0x5b, 0x06, 0xaa, 0x5b,
+ 0x04, 0xc5, 0x12, 0x09, 0x9e, 0x47, 0x00, 0x8b,
+ 0x47, 0x03, 0x8b, 0x47, 0x03, 0x80, 0x47, 0x02,
+ 0x8b, 0x47, 0x9d, 0x8a, 0x01, 0x84, 0x8a, 0x0a,
+ 0xab, 0x61, 0x03, 0x99, 0x61, 0x05, 0x8a, 0x61,
+ 0x02, 0x81, 0x61, 0x9f, 0x40, 0x9b, 0x10, 0x01,
+ 0x81, 0x10, 0xbe, 0x8b, 0x00, 0x9c, 0x8b, 0x01,
+ 0x8a, 0x8b, 0x05, 0x89, 0x8b, 0x05, 0x8d, 0x8b,
+ 0x01, 0x90, 0x37, 0x3e, 0xcb, 0x07, 0x03, 0xac,
+ 0x07, 0x02, 0xbf, 0x85, 0xb3, 0x0a, 0x07, 0x83,
+ 0x0a, 0xb7, 0x46, 0x02, 0x8e, 0x46, 0x02, 0x82,
+ 0x46, 0xaf, 0x67, 0x88, 0x1d, 0x06, 0xaa, 0x27,
+ 0x01, 0x82, 0x27, 0x87, 0x85, 0x07, 0x82, 0x37,
+ 0x80, 0x19, 0x8c, 0x37, 0x80, 0x19, 0x86, 0x37,
+ 0x83, 0x19, 0x80, 0x37, 0x85, 0x19, 0x80, 0x37,
+ 0x82, 0x19, 0x81, 0x37, 0x80, 0x19, 0x04, 0xa5,
+ 0x45, 0x84, 0x2b, 0x80, 0x1d, 0xb0, 0x45, 0x84,
+ 0x2b, 0x83, 0x45, 0x84, 0x2b, 0x8c, 0x45, 0x80,
+ 0x1d, 0xc5, 0x45, 0x80, 0x2b, 0xb9, 0x37, 0x00,
+ 0x84, 0x37, 0xe0, 0x9f, 0x45, 0x95, 0x2b, 0x01,
+ 0x85, 0x2b, 0x01, 0xa5, 0x2b, 0x01, 0x85, 0x2b,
+ 0x01, 0x87, 0x2b, 0x00, 0x80, 0x2b, 0x00, 0x80,
+ 0x2b, 0x00, 0x80, 0x2b, 0x00, 0x9e, 0x2b, 0x01,
+ 0xb4, 0x2b, 0x00, 0x8e, 0x2b, 0x00, 0x8d, 0x2b,
+ 0x01, 0x85, 0x2b, 0x00, 0x92, 0x2b, 0x01, 0x82,
+ 0x2b, 0x00, 0x88, 0x2b, 0x00, 0x8b, 0x19, 0x81,
+ 0x37, 0xd6, 0x19, 0x00, 0x8a, 0x19, 0x80, 0x45,
+ 0x01, 0x8a, 0x19, 0x80, 0x45, 0x8e, 0x19, 0x00,
+ 0x8c, 0x45, 0x02, 0x9f, 0x19, 0x0f, 0xa0, 0x37,
+ 0x0e, 0xa5, 0x19, 0x80, 0x2b, 0x82, 0x19, 0x81,
+ 0x45, 0x85, 0x19, 0x80, 0x45, 0x9a, 0x19, 0x80,
+ 0x45, 0x90, 0x19, 0xa8, 0x45, 0x82, 0x19, 0x03,
+ 0xe2, 0x36, 0x19, 0x18, 0x8a, 0x19, 0x14, 0xe3,
+ 0x3f, 0x19, 0xe0, 0x9f, 0x0f, 0xe2, 0x13, 0x19,
+ 0x01, 0x9f, 0x19, 0x00, 0xe0, 0x08, 0x19, 0xae,
+ 0x28, 0x00, 0xae, 0x28, 0x00, 0x9f, 0x45, 0xe0,
+ 0x13, 0x1a, 0x04, 0x86, 0x1a, 0xa5, 0x27, 0x00,
+ 0x80, 0x27, 0x04, 0x80, 0x27, 0x01, 0xb7, 0x94,
+ 0x06, 0x81, 0x94, 0x0d, 0x80, 0x94, 0x96, 0x26,
+ 0x08, 0x86, 0x26, 0x00, 0x86, 0x26, 0x00, 0x86,
+ 0x26, 0x00, 0x86, 0x26, 0x00, 0x86, 0x26, 0x00,
+ 0x86, 0x26, 0x00, 0x86, 0x26, 0x00, 0x86, 0x26,
+ 0x00, 0x9f, 0x1d, 0xd2, 0x19, 0x2c, 0x99, 0x2f,
+ 0x00, 0xd8, 0x2f, 0x0b, 0xe0, 0x75, 0x2f, 0x19,
+ 0x8b, 0x19, 0x03, 0x84, 0x19, 0x80, 0x2f, 0x80,
+ 0x19, 0x80, 0x2f, 0x98, 0x19, 0x88, 0x2f, 0x83,
+ 0x37, 0x81, 0x30, 0x87, 0x19, 0x83, 0x2f, 0x83,
+ 0x19, 0x00, 0xd5, 0x35, 0x01, 0x81, 0x37, 0x81,
+ 0x19, 0x82, 0x35, 0x80, 0x19, 0xd9, 0x3d, 0x81,
+ 0x19, 0x82, 0x3d, 0x04, 0xaa, 0x0d, 0x00, 0xdd,
+ 0x30, 0x00, 0x8f, 0x19, 0x9f, 0x0d, 0xa3, 0x19,
+ 0x0b, 0x8f, 0x3d, 0x9e, 0x30, 0x00, 0xbf, 0x19,
+ 0x9e, 0x30, 0xd0, 0x19, 0xae, 0x3d, 0x80, 0x19,
+ 0xd7, 0x3d, 0xe0, 0x47, 0x19, 0xf0, 0x09, 0x5f,
+ 0x2f, 0xbf, 0x19, 0xf0, 0x41, 0x9c, 0x2f, 0x02,
+ 0xe4, 0x2c, 0x9b, 0x02, 0xb6, 0x9b, 0x08, 0xaf,
+ 0x4a, 0xe0, 0xcb, 0x97, 0x13, 0xdf, 0x1d, 0xd7,
+ 0x08, 0x07, 0xa1, 0x19, 0xe0, 0x05, 0x45, 0x82,
+ 0x19, 0xb4, 0x45, 0x01, 0x88, 0x45, 0x29, 0x8a,
+ 0x45, 0xac, 0x86, 0x02, 0x89, 0x19, 0x05, 0xb7,
+ 0x76, 0x07, 0xc5, 0x7c, 0x07, 0x8b, 0x7c, 0x05,
+ 0x9f, 0x1f, 0xad, 0x3e, 0x80, 0x19, 0x80, 0x3e,
+ 0xa3, 0x79, 0x0a, 0x80, 0x79, 0x9c, 0x30, 0x02,
+ 0xcd, 0x3a, 0x00, 0x80, 0x19, 0x89, 0x3a, 0x03,
+ 0x81, 0x3a, 0x9e, 0x5e, 0x00, 0xb6, 0x16, 0x08,
+ 0x8d, 0x16, 0x01, 0x89, 0x16, 0x01, 0x83, 0x16,
+ 0x9f, 0x5e, 0xc2, 0x8c, 0x17, 0x84, 0x8c, 0x96,
+ 0x55, 0x09, 0x85, 0x26, 0x01, 0x85, 0x26, 0x01,
+ 0x85, 0x26, 0x08, 0x86, 0x26, 0x00, 0x86, 0x26,
+ 0x00, 0xaa, 0x45, 0x80, 0x19, 0x88, 0x45, 0x80,
+ 0x2b, 0x83, 0x45, 0x81, 0x19, 0x03, 0xcf, 0x17,
+ 0xad, 0x55, 0x01, 0x89, 0x55, 0x05, 0xf0, 0x1b,
+ 0x43, 0x30, 0x0b, 0x96, 0x30, 0x03, 0xb0, 0x30,
+ 0x70, 0x10, 0xa3, 0xe1, 0x0d, 0x2f, 0x01, 0xe0,
+ 0x09, 0x2f, 0x25, 0x86, 0x45, 0x0b, 0x84, 0x05,
+ 0x04, 0x99, 0x34, 0x00, 0x84, 0x34, 0x00, 0x80,
+ 0x34, 0x00, 0x81, 0x34, 0x00, 0x81, 0x34, 0x00,
+ 0x89, 0x34, 0xe0, 0x11, 0x04, 0x10, 0xe1, 0x0a,
+ 0x04, 0x81, 0x19, 0x0f, 0xbf, 0x04, 0x01, 0xb5,
+ 0x04, 0x27, 0x8d, 0x04, 0x01, 0x8f, 0x37, 0x89,
+ 0x19, 0x05, 0x8d, 0x37, 0x81, 0x1d, 0xa2, 0x19,
+ 0x00, 0x92, 0x19, 0x00, 0x83, 0x19, 0x03, 0x84,
+ 0x04, 0x00, 0xe0, 0x26, 0x04, 0x01, 0x80, 0x19,
+ 0x00, 0x9f, 0x19, 0x99, 0x45, 0x85, 0x19, 0x99,
+ 0x45, 0x8a, 0x19, 0x89, 0x3d, 0x80, 0x19, 0xac,
+ 0x3d, 0x81, 0x19, 0x9e, 0x30, 0x02, 0x85, 0x30,
+ 0x01, 0x85, 0x30, 0x01, 0x85, 0x30, 0x01, 0x82,
+ 0x30, 0x02, 0x86, 0x19, 0x00, 0x86, 0x19, 0x09,
+ 0x84, 0x19, 0x01, 0x8b, 0x49, 0x00, 0x99, 0x49,
+ 0x00, 0x92, 0x49, 0x00, 0x81, 0x49, 0x00, 0x8e,
+ 0x49, 0x01, 0x8d, 0x49, 0x21, 0xe0, 0x1a, 0x49,
+ 0x04, 0x82, 0x19, 0x03, 0xac, 0x19, 0x02, 0x88,
+ 0x19, 0xce, 0x2b, 0x00, 0x8c, 0x19, 0x02, 0x80,
+ 0x2b, 0x2e, 0xac, 0x19, 0x80, 0x37, 0x60, 0x21,
+ 0x9c, 0x4b, 0x02, 0xb0, 0x13, 0x0e, 0x80, 0x37,
+ 0x9a, 0x19, 0x03, 0xa3, 0x69, 0x08, 0x82, 0x69,
+ 0x9a, 0x29, 0x04, 0xaa, 0x6b, 0x04, 0x9d, 0x96,
+ 0x00, 0x80, 0x96, 0xa3, 0x6c, 0x03, 0x8d, 0x6c,
+ 0x29, 0xcf, 0x1e, 0xaf, 0x7e, 0x9d, 0x72, 0x01,
+ 0x89, 0x72, 0x05, 0xa3, 0x71, 0x03, 0xa3, 0x71,
+ 0x03, 0xa7, 0x24, 0x07, 0xb3, 0x14, 0x0a, 0x80,
+ 0x14, 0x60, 0x2f, 0xe0, 0xd6, 0x48, 0x08, 0x95,
+ 0x48, 0x09, 0x87, 0x48, 0x60, 0x37, 0x85, 0x1c,
+ 0x01, 0x80, 0x1c, 0x00, 0xab, 0x1c, 0x00, 0x81,
+ 0x1c, 0x02, 0x80, 0x1c, 0x01, 0x80, 0x1c, 0x95,
+ 0x36, 0x00, 0x88, 0x36, 0x9f, 0x74, 0x9e, 0x5f,
+ 0x07, 0x88, 0x5f, 0x2f, 0x92, 0x33, 0x00, 0x81,
+ 0x33, 0x04, 0x84, 0x33, 0x9b, 0x77, 0x02, 0x80,
+ 0x77, 0x99, 0x4c, 0x04, 0x80, 0x4c, 0x3f, 0x9f,
+ 0x58, 0x97, 0x57, 0x03, 0x93, 0x57, 0x01, 0xad,
+ 0x57, 0x83, 0x3f, 0x00, 0x81, 0x3f, 0x04, 0x87,
+ 0x3f, 0x00, 0x82, 0x3f, 0x00, 0x9c, 0x3f, 0x01,
+ 0x82, 0x3f, 0x03, 0x89, 0x3f, 0x06, 0x88, 0x3f,
+ 0x06, 0x9f, 0x6e, 0x9f, 0x6a, 0x1f, 0xa6, 0x51,
+ 0x03, 0x8b, 0x51, 0x08, 0xb5, 0x06, 0x02, 0x86,
+ 0x06, 0x95, 0x39, 0x01, 0x87, 0x39, 0x92, 0x38,
+ 0x04, 0x87, 0x38, 0x91, 0x78, 0x06, 0x83, 0x78,
+ 0x0b, 0x86, 0x78, 0x4f, 0xc8, 0x6f, 0x36, 0xb2,
+ 0x68, 0x0c, 0xb2, 0x68, 0x06, 0x85, 0x68, 0xa7,
+ 0x31, 0x07, 0x89, 0x31, 0x60, 0xc5, 0x9e, 0x04,
+ 0x00, 0xa9, 0x9a, 0x00, 0x82, 0x9a, 0x01, 0x81,
+ 0x9a, 0x4d, 0xa7, 0x6d, 0x07, 0xa9, 0x82, 0x55,
+ 0x9b, 0x18, 0x13, 0x96, 0x25, 0x08, 0xcd, 0x0e,
+ 0x03, 0x9d, 0x0e, 0x0e, 0x80, 0x0e, 0xc1, 0x3b,
+ 0x0a, 0x80, 0x3b, 0x01, 0x98, 0x83, 0x06, 0x89,
+ 0x83, 0x05, 0xb4, 0x15, 0x00, 0x91, 0x15, 0x07,
+ 0xa6, 0x4e, 0x08, 0xdf, 0x7d, 0x00, 0x93, 0x81,
+ 0x0a, 0x91, 0x41, 0x00, 0xab, 0x41, 0x40, 0x86,
+ 0x5d, 0x00, 0x80, 0x5d, 0x00, 0x83, 0x5d, 0x00,
+ 0x8e, 0x5d, 0x00, 0x8a, 0x5d, 0x05, 0xba, 0x43,
+ 0x04, 0x89, 0x43, 0x05, 0x83, 0x2a, 0x00, 0x87,
+ 0x2a, 0x01, 0x81, 0x2a, 0x01, 0x95, 0x2a, 0x00,
+ 0x86, 0x2a, 0x00, 0x81, 0x2a, 0x00, 0x84, 0x2a,
+ 0x00, 0x80, 0x37, 0x88, 0x2a, 0x01, 0x81, 0x2a,
+ 0x01, 0x82, 0x2a, 0x01, 0x80, 0x2a, 0x05, 0x80,
+ 0x2a, 0x04, 0x86, 0x2a, 0x01, 0x86, 0x2a, 0x02,
+ 0x84, 0x2a, 0x60, 0x2a, 0xdb, 0x62, 0x00, 0x84,
+ 0x62, 0x1d, 0xc7, 0x95, 0x07, 0x89, 0x95, 0x60,
+ 0x45, 0xb5, 0x7f, 0x01, 0xa5, 0x7f, 0x21, 0xc4,
+ 0x5a, 0x0a, 0x89, 0x5a, 0x05, 0x8c, 0x5b, 0x12,
+ 0xb8, 0x8d, 0x06, 0x89, 0x8d, 0x35, 0x9a, 0x02,
+ 0x01, 0x8e, 0x02, 0x03, 0x8f, 0x02, 0x60, 0x5f,
+ 0xbb, 0x21, 0x60, 0x03, 0xd2, 0x99, 0x0b, 0x80,
+ 0x99, 0x86, 0x20, 0x01, 0x80, 0x20, 0x01, 0x87,
+ 0x20, 0x00, 0x81, 0x20, 0x00, 0x9d, 0x20, 0x00,
+ 0x81, 0x20, 0x01, 0x8b, 0x20, 0x08, 0x89, 0x20,
+ 0x45, 0x87, 0x60, 0x01, 0xad, 0x60, 0x01, 0x8a,
+ 0x60, 0x1a, 0xc7, 0x9c, 0x07, 0xd2, 0x84, 0x1c,
+ 0xb8, 0x75, 0x60, 0xa6, 0x88, 0x0c, 0x00, 0xac,
+ 0x0c, 0x00, 0x8d, 0x0c, 0x09, 0x9c, 0x0c, 0x02,
+ 0x9f, 0x52, 0x01, 0x95, 0x52, 0x00, 0x8d, 0x52,
+ 0x48, 0x86, 0x53, 0x00, 0x81, 0x53, 0x00, 0xab,
+ 0x53, 0x02, 0x80, 0x53, 0x00, 0x81, 0x53, 0x00,
+ 0x88, 0x53, 0x07, 0x89, 0x53, 0x05, 0x85, 0x2d,
+ 0x00, 0x81, 0x2d, 0x00, 0xa4, 0x2d, 0x00, 0x81,
+ 0x2d, 0x00, 0x85, 0x2d, 0x06, 0x89, 0x2d, 0x60,
+ 0xd5, 0x98, 0x4d, 0x60, 0x56, 0x80, 0x4a, 0x0e,
+ 0xb1, 0x8e, 0x0c, 0x80, 0x8e, 0xe3, 0x39, 0x1b,
+ 0x60, 0x05, 0xe0, 0x0e, 0x1b, 0x00, 0x84, 0x1b,
+ 0x0a, 0xe0, 0x63, 0x1b, 0x6a, 0x5b, 0xe3, 0xce,
+ 0x23, 0x00, 0x88, 0x23, 0x6f, 0x66, 0xe1, 0xe6,
+ 0x03, 0x70, 0x11, 0x58, 0xe1, 0xd8, 0x08, 0x06,
+ 0x9e, 0x5c, 0x00, 0x89, 0x5c, 0x03, 0x81, 0x5c,
+ 0x5f, 0x9d, 0x09, 0x01, 0x85, 0x09, 0x09, 0xc5,
+ 0x73, 0x09, 0x89, 0x73, 0x00, 0x86, 0x73, 0x00,
+ 0x94, 0x73, 0x04, 0x92, 0x73, 0x62, 0x4f, 0xda,
+ 0x54, 0x60, 0x04, 0xca, 0x59, 0x03, 0xb8, 0x59,
+ 0x06, 0x90, 0x59, 0x3f, 0x80, 0x8f, 0x80, 0x64,
+ 0x81, 0x19, 0x80, 0x42, 0x0a, 0x81, 0x2f, 0x0d,
+ 0xf0, 0x07, 0x97, 0x8f, 0x07, 0xe2, 0x9f, 0x8f,
+ 0xe1, 0x75, 0x42, 0x29, 0x88, 0x8f, 0x70, 0x12,
+ 0x96, 0x80, 0x3d, 0xe0, 0xbd, 0x35, 0x30, 0x82,
+ 0x35, 0x10, 0x83, 0x3d, 0x07, 0xe1, 0x2b, 0x64,
+ 0x68, 0xa3, 0xe0, 0x0a, 0x22, 0x04, 0x8c, 0x22,
+ 0x02, 0x88, 0x22, 0x06, 0x89, 0x22, 0x01, 0x83,
+ 0x22, 0x83, 0x19, 0x70, 0x02, 0xfb, 0xe0, 0x95,
+ 0x19, 0x09, 0xa6, 0x19, 0x01, 0xbd, 0x19, 0x82,
+ 0x37, 0x90, 0x19, 0x87, 0x37, 0x81, 0x19, 0x86,
+ 0x37, 0x9d, 0x19, 0x83, 0x37, 0xba, 0x19, 0x16,
+ 0xc5, 0x2b, 0x60, 0x39, 0x93, 0x19, 0x0b, 0xd6,
+ 0x19, 0x08, 0x98, 0x19, 0x60, 0x26, 0xd4, 0x19,
+ 0x00, 0xc6, 0x19, 0x00, 0x81, 0x19, 0x01, 0x80,
+ 0x19, 0x01, 0x81, 0x19, 0x01, 0x83, 0x19, 0x00,
+ 0x8b, 0x19, 0x00, 0x80, 0x19, 0x00, 0x86, 0x19,
+ 0x00, 0xc0, 0x19, 0x00, 0x83, 0x19, 0x01, 0x87,
+ 0x19, 0x00, 0x86, 0x19, 0x00, 0x9b, 0x19, 0x00,
+ 0x83, 0x19, 0x00, 0x84, 0x19, 0x00, 0x80, 0x19,
+ 0x02, 0x86, 0x19, 0x00, 0xe0, 0xf3, 0x19, 0x01,
+ 0xe0, 0xc3, 0x19, 0x01, 0xb1, 0x19, 0xe2, 0x2b,
+ 0x80, 0x0e, 0x84, 0x80, 0x00, 0x8e, 0x80, 0x64,
+ 0xef, 0x86, 0x28, 0x00, 0x90, 0x28, 0x01, 0x86,
+ 0x28, 0x00, 0x81, 0x28, 0x00, 0x84, 0x28, 0x60,
+ 0x74, 0xac, 0x65, 0x02, 0x8d, 0x65, 0x01, 0x89,
+ 0x65, 0x03, 0x81, 0x65, 0x61, 0x0f, 0xb9, 0x98,
+ 0x04, 0x80, 0x98, 0x64, 0x9f, 0xe0, 0x64, 0x56,
+ 0x01, 0x8f, 0x56, 0x28, 0xcb, 0x01, 0x03, 0x89,
+ 0x01, 0x03, 0x81, 0x01, 0x62, 0xb0, 0xc3, 0x19,
+ 0x4b, 0xbc, 0x19, 0x60, 0x61, 0x83, 0x04, 0x00,
+ 0x9a, 0x04, 0x00, 0x81, 0x04, 0x00, 0x80, 0x04,
+ 0x01, 0x80, 0x04, 0x00, 0x89, 0x04, 0x00, 0x83,
+ 0x04, 0x00, 0x80, 0x04, 0x00, 0x80, 0x04, 0x05,
+ 0x80, 0x04, 0x03, 0x80, 0x04, 0x00, 0x80, 0x04,
+ 0x00, 0x80, 0x04, 0x00, 0x82, 0x04, 0x00, 0x81,
+ 0x04, 0x00, 0x80, 0x04, 0x01, 0x80, 0x04, 0x00,
+ 0x80, 0x04, 0x00, 0x80, 0x04, 0x00, 0x80, 0x04,
+ 0x00, 0x80, 0x04, 0x00, 0x81, 0x04, 0x00, 0x80,
+ 0x04, 0x01, 0x83, 0x04, 0x00, 0x86, 0x04, 0x00,
+ 0x83, 0x04, 0x00, 0x83, 0x04, 0x00, 0x80, 0x04,
+ 0x00, 0x89, 0x04, 0x00, 0x90, 0x04, 0x04, 0x82,
+ 0x04, 0x00, 0x84, 0x04, 0x00, 0x90, 0x04, 0x33,
+ 0x81, 0x04, 0x60, 0xad, 0xab, 0x19, 0x03, 0xe0,
+ 0x03, 0x19, 0x0b, 0x8e, 0x19, 0x01, 0x8e, 0x19,
+ 0x00, 0x8e, 0x19, 0x00, 0xa4, 0x19, 0x09, 0xe0,
+ 0x4d, 0x19, 0x37, 0x99, 0x19, 0x80, 0x35, 0x81,
+ 0x19, 0x0c, 0xab, 0x19, 0x03, 0x88, 0x19, 0x06,
+ 0x81, 0x19, 0x0d, 0x85, 0x19, 0x60, 0x39, 0xe3,
+ 0x77, 0x19, 0x07, 0x8c, 0x19, 0x02, 0x8c, 0x19,
+ 0x02, 0xe0, 0x13, 0x19, 0x0b, 0xd8, 0x19, 0x06,
+ 0x8b, 0x19, 0x13, 0x8b, 0x19, 0x03, 0xb7, 0x19,
+ 0x07, 0x89, 0x19, 0x05, 0xa7, 0x19, 0x07, 0x9d,
+ 0x19, 0x01, 0x81, 0x19, 0x4d, 0xe0, 0x18, 0x19,
+ 0x00, 0xd1, 0x19, 0x00, 0xe0, 0x26, 0x19, 0x0b,
+ 0x8d, 0x19, 0x01, 0x84, 0x19, 0x02, 0x82, 0x19,
+ 0x04, 0x86, 0x19, 0x08, 0x98, 0x19, 0x06, 0x86,
+ 0x19, 0x08, 0x82, 0x19, 0x0c, 0x86, 0x19, 0x28,
+ 0xe0, 0x32, 0x19, 0x00, 0xb6, 0x19, 0x24, 0x89,
+ 0x19, 0x63, 0xa5, 0xf0, 0x96, 0x7d, 0x2f, 0x21,
+ 0xef, 0xd4, 0x2f, 0x0a, 0xe0, 0x7d, 0x2f, 0x01,
+ 0xf0, 0x06, 0x21, 0x2f, 0x0d, 0xf0, 0x0c, 0xd0,
+ 0x2f, 0x6b, 0xbe, 0xe1, 0xbd, 0x2f, 0x65, 0x81,
+ 0xf0, 0x02, 0xea, 0x2f, 0x7a, 0xdc, 0x55, 0x80,
+ 0x19, 0x1d, 0xdf, 0x19, 0x60, 0x1f, 0xe0, 0x8f,
+ 0x37,
};
-static const uint8_t unicode_script_ext_table[789] = {
- 0x82, 0xc1, 0x00, 0x00, 0x01, 0x29, 0x01, 0x00,
- 0x00, 0x01, 0x29, 0x1c, 0x00, 0x0c, 0x01, 0x42,
- 0x80, 0x92, 0x00, 0x00, 0x02, 0x1c, 0x68, 0x00,
- 0x02, 0x1c, 0x26, 0x01, 0x02, 0x1c, 0x42, 0x00,
- 0x02, 0x1c, 0x26, 0x80, 0x80, 0x00, 0x00, 0x02,
- 0x05, 0x25, 0x80, 0x01, 0x00, 0x00, 0x04, 0x04,
- 0x2f, 0x84, 0x8e, 0x0d, 0x00, 0x00, 0x04, 0x04,
- 0x2f, 0x84, 0x8e, 0x00, 0x03, 0x04, 0x84, 0x8e,
- 0x01, 0x00, 0x00, 0x04, 0x04, 0x2f, 0x84, 0x8e,
- 0x1f, 0x00, 0x00, 0x08, 0x01, 0x04, 0x4d, 0x4e,
- 0x75, 0x2f, 0x7f, 0x84, 0x09, 0x00, 0x0a, 0x02,
- 0x04, 0x84, 0x09, 0x00, 0x09, 0x02, 0x04, 0x8e,
- 0x05, 0x00, 0x00, 0x02, 0x04, 0x84, 0x62, 0x00,
- 0x00, 0x02, 0x04, 0x2f, 0x81, 0xfb, 0x00, 0x00,
- 0x0d, 0x0b, 0x1e, 0x28, 0x2a, 0x2c, 0x3a, 0x42,
- 0x4c, 0x6d, 0x7a, 0x8b, 0x8d, 0x92, 0x00, 0x0c,
- 0x0b, 0x1e, 0x28, 0x2a, 0x2c, 0x3a, 0x42, 0x4c,
- 0x6d, 0x8b, 0x8d, 0x92, 0x10, 0x00, 0x00, 0x14,
- 0x0b, 0x1e, 0x1f, 0x2b, 0x50, 0x28, 0x2a, 0x2c,
- 0x3a, 0x4b, 0x4c, 0x5d, 0x6d, 0x40, 0x7e, 0x83,
- 0x8a, 0x8b, 0x8d, 0x92, 0x00, 0x15, 0x0b, 0x1e,
- 0x1f, 0x2b, 0x50, 0x28, 0x2a, 0x2c, 0x3a, 0x44,
- 0x4b, 0x4c, 0x5d, 0x6d, 0x40, 0x7e, 0x83, 0x8a,
- 0x8b, 0x8d, 0x92, 0x09, 0x04, 0x1e, 0x1f, 0x39,
- 0x4b, 0x75, 0x00, 0x09, 0x03, 0x0b, 0x15, 0x83,
- 0x75, 0x00, 0x09, 0x02, 0x2c, 0x5a, 0x75, 0x00,
- 0x09, 0x02, 0x2a, 0x3f, 0x80, 0x75, 0x00, 0x0d,
- 0x02, 0x28, 0x8b, 0x80, 0x71, 0x00, 0x09, 0x02,
- 0x3a, 0x5d, 0x82, 0xcf, 0x00, 0x09, 0x03, 0x15,
- 0x5b, 0x87, 0x80, 0x30, 0x00, 0x00, 0x02, 0x25,
- 0x42, 0x85, 0xb8, 0x00, 0x01, 0x04, 0x11, 0x30,
- 0x86, 0x85, 0x80, 0x4a, 0x00, 0x01, 0x02, 0x58,
- 0x73, 0x00, 0x00, 0x00, 0x02, 0x58, 0x73, 0x84,
- 0x49, 0x00, 0x00, 0x04, 0x0b, 0x1e, 0x28, 0x3a,
- 0x00, 0x01, 0x1e, 0x00, 0x04, 0x0b, 0x1e, 0x28,
- 0x3a, 0x00, 0x02, 0x1e, 0x28, 0x00, 0x01, 0x1e,
- 0x01, 0x02, 0x0b, 0x1e, 0x00, 0x02, 0x1e, 0x7a,
- 0x00, 0x02, 0x0b, 0x1e, 0x00, 0x02, 0x1e, 0x7a,
- 0x00, 0x06, 0x1e, 0x3a, 0x4c, 0x6d, 0x8b, 0x8d,
- 0x00, 0x01, 0x1e, 0x01, 0x02, 0x1e, 0x7a, 0x01,
- 0x01, 0x1e, 0x00, 0x02, 0x1e, 0x7a, 0x00, 0x02,
- 0x0b, 0x1e, 0x06, 0x01, 0x1e, 0x00, 0x02, 0x1e,
- 0x5d, 0x00, 0x02, 0x0b, 0x1e, 0x01, 0x01, 0x1e,
- 0x00, 0x02, 0x0b, 0x1e, 0x03, 0x01, 0x1e, 0x00,
- 0x08, 0x0b, 0x1e, 0x28, 0x3a, 0x5d, 0x6d, 0x8d,
- 0x92, 0x00, 0x02, 0x1e, 0x28, 0x00, 0x03, 0x1e,
- 0x28, 0x3a, 0x01, 0x02, 0x0b, 0x1e, 0x00, 0x01,
- 0x0b, 0x01, 0x02, 0x1e, 0x28, 0x00, 0x01, 0x5d,
- 0x80, 0x44, 0x00, 0x01, 0x01, 0x29, 0x81, 0xec,
- 0x00, 0x00, 0x02, 0x42, 0x58, 0x80, 0x3f, 0x00,
- 0x00, 0x03, 0x1e, 0x28, 0x42, 0x8c, 0xd1, 0x00,
- 0x00, 0x02, 0x1c, 0x26, 0x81, 0x3c, 0x00, 0x01,
- 0x06, 0x0d, 0x2e, 0x2d, 0x33, 0x3b, 0x97, 0x00,
- 0x05, 0x0d, 0x2e, 0x2d, 0x33, 0x3b, 0x01, 0x00,
- 0x00, 0x01, 0x2d, 0x00, 0x00, 0x09, 0x06, 0x0d,
- 0x2e, 0x2d, 0x33, 0x3b, 0x97, 0x00, 0x00, 0x00,
- 0x05, 0x0d, 0x2e, 0x2d, 0x33, 0x3b, 0x07, 0x06,
- 0x0d, 0x2e, 0x2d, 0x33, 0x3b, 0x97, 0x03, 0x05,
- 0x0d, 0x2e, 0x2d, 0x33, 0x3b, 0x09, 0x00, 0x03,
- 0x02, 0x0d, 0x2d, 0x01, 0x00, 0x00, 0x05, 0x0d,
- 0x2e, 0x2d, 0x33, 0x3b, 0x04, 0x02, 0x33, 0x3b,
- 0x00, 0x00, 0x00, 0x05, 0x0d, 0x2e, 0x2d, 0x33,
- 0x3b, 0x03, 0x00, 0x01, 0x03, 0x2d, 0x33, 0x3b,
- 0x01, 0x01, 0x2d, 0x58, 0x00, 0x03, 0x02, 0x33,
- 0x3b, 0x02, 0x00, 0x00, 0x02, 0x33, 0x3b, 0x59,
- 0x00, 0x00, 0x06, 0x0d, 0x2e, 0x2d, 0x33, 0x3b,
- 0x97, 0x00, 0x02, 0x33, 0x3b, 0x80, 0x12, 0x00,
- 0x0f, 0x01, 0x2d, 0x1f, 0x00, 0x23, 0x01, 0x2d,
- 0x3b, 0x00, 0x27, 0x01, 0x2d, 0x37, 0x00, 0x30,
- 0x01, 0x2d, 0x0e, 0x00, 0x0b, 0x01, 0x2d, 0x32,
- 0x00, 0x00, 0x01, 0x2d, 0x57, 0x00, 0x18, 0x01,
- 0x2d, 0x09, 0x00, 0x04, 0x01, 0x2d, 0x5f, 0x00,
- 0x1e, 0x01, 0x2d, 0xc0, 0x31, 0xef, 0x00, 0x00,
- 0x02, 0x1c, 0x26, 0x81, 0x3f, 0x00, 0x02, 0x0e,
- 0x1e, 0x1f, 0x2a, 0x2c, 0x3f, 0x3a, 0x39, 0x4b,
- 0x4c, 0x57, 0x5d, 0x40, 0x8a, 0x92, 0x02, 0x0d,
- 0x1e, 0x1f, 0x2a, 0x2c, 0x3f, 0x3a, 0x39, 0x4b,
- 0x57, 0x5d, 0x40, 0x8a, 0x92, 0x03, 0x0b, 0x1e,
- 0x1f, 0x2a, 0x2c, 0x3f, 0x39, 0x4b, 0x57, 0x40,
- 0x8a, 0x92, 0x80, 0x36, 0x00, 0x00, 0x02, 0x0b,
- 0x1e, 0x00, 0x00, 0x00, 0x02, 0x1e, 0x8b, 0x39,
- 0x00, 0x00, 0x03, 0x3c, 0x42, 0x5b, 0x80, 0x1f,
- 0x00, 0x00, 0x02, 0x10, 0x38, 0xc0, 0x13, 0xa1,
- 0x00, 0x00, 0x02, 0x04, 0x8e, 0x09, 0x00, 0x00,
- 0x02, 0x04, 0x8e, 0x46, 0x00, 0x01, 0x05, 0x0d,
- 0x2e, 0x2d, 0x33, 0x3b, 0x80, 0x99, 0x00, 0x04,
- 0x06, 0x0d, 0x2e, 0x2d, 0x33, 0x3b, 0x97, 0x09,
- 0x00, 0x00, 0x02, 0x33, 0x3b, 0x2c, 0x00, 0x01,
- 0x02, 0x33, 0x3b, 0x80, 0xdf, 0x00, 0x02, 0x02,
- 0x1b, 0x46, 0x03, 0x00, 0x2c, 0x03, 0x1b, 0x45,
- 0x46, 0x02, 0x00, 0x08, 0x02, 0x1b, 0x46, 0x81,
- 0x1f, 0x00, 0x1b, 0x02, 0x04, 0x19, 0x8f, 0x84,
- 0x00, 0x00, 0x02, 0x28, 0x8b, 0x00, 0x00, 0x00,
- 0x02, 0x28, 0x8b, 0x36, 0x00, 0x01, 0x02, 0x28,
- 0x8b, 0x8c, 0x12, 0x00, 0x01, 0x02, 0x28, 0x8b,
- 0x00, 0x00, 0x00, 0x02, 0x28, 0x8b, 0xc0, 0x5c,
- 0x4b, 0x00, 0x03, 0x01, 0x20, 0x96, 0x3b, 0x00,
- 0x11, 0x01, 0x2d, 0x9e, 0x5d, 0x00, 0x01, 0x01,
- 0x2d, 0xce, 0xcd, 0x2d, 0x00,
+static const uint8_t unicode_script_ext_table[799] = {
+ 0x82, 0xc1, 0x00, 0x00, 0x01, 0x2b, 0x01, 0x00,
+ 0x00, 0x01, 0x2b, 0x1c, 0x00, 0x0c, 0x01, 0x45,
+ 0x80, 0x92, 0x00, 0x00, 0x02, 0x1d, 0x6b, 0x00,
+ 0x02, 0x1d, 0x28, 0x01, 0x02, 0x1d, 0x45, 0x00,
+ 0x02, 0x1d, 0x28, 0x81, 0x03, 0x00, 0x00, 0x05,
+ 0x04, 0x31, 0x87, 0x91, 0x9a, 0x0d, 0x00, 0x00,
+ 0x05, 0x04, 0x31, 0x87, 0x91, 0x9a, 0x00, 0x03,
+ 0x04, 0x87, 0x91, 0x01, 0x00, 0x00, 0x05, 0x04,
+ 0x31, 0x87, 0x91, 0x9a, 0x1f, 0x00, 0x00, 0x08,
+ 0x01, 0x04, 0x50, 0x51, 0x78, 0x31, 0x82, 0x87,
+ 0x09, 0x00, 0x0a, 0x02, 0x04, 0x87, 0x09, 0x00,
+ 0x09, 0x03, 0x04, 0x91, 0x9a, 0x05, 0x00, 0x00,
+ 0x02, 0x04, 0x87, 0x62, 0x00, 0x00, 0x02, 0x04,
+ 0x31, 0x81, 0xfb, 0x00, 0x00, 0x0d, 0x0b, 0x1f,
+ 0x2a, 0x2c, 0x2e, 0x3c, 0x45, 0x4f, 0x70, 0x7d,
+ 0x8e, 0x90, 0x95, 0x00, 0x0c, 0x0b, 0x1f, 0x2a,
+ 0x2c, 0x2e, 0x3c, 0x45, 0x4f, 0x70, 0x8e, 0x90,
+ 0x95, 0x10, 0x00, 0x00, 0x14, 0x0b, 0x1f, 0x21,
+ 0x2d, 0x53, 0x2a, 0x2c, 0x2e, 0x3c, 0x4e, 0x4f,
+ 0x60, 0x70, 0x43, 0x81, 0x86, 0x8d, 0x8e, 0x90,
+ 0x95, 0x00, 0x15, 0x0b, 0x1f, 0x21, 0x2d, 0x53,
+ 0x2a, 0x2c, 0x2e, 0x3c, 0x47, 0x4e, 0x4f, 0x60,
+ 0x70, 0x43, 0x81, 0x86, 0x8d, 0x8e, 0x90, 0x95,
+ 0x09, 0x04, 0x1f, 0x21, 0x3b, 0x4e, 0x75, 0x00,
+ 0x09, 0x03, 0x0b, 0x15, 0x86, 0x75, 0x00, 0x09,
+ 0x02, 0x2e, 0x5d, 0x75, 0x00, 0x09, 0x02, 0x2c,
+ 0x41, 0x80, 0x75, 0x00, 0x0d, 0x02, 0x2a, 0x8e,
+ 0x80, 0x71, 0x00, 0x09, 0x02, 0x3c, 0x60, 0x82,
+ 0xcf, 0x00, 0x09, 0x03, 0x15, 0x5e, 0x8a, 0x80,
+ 0x30, 0x00, 0x00, 0x02, 0x27, 0x45, 0x85, 0xb8,
+ 0x00, 0x01, 0x04, 0x11, 0x32, 0x89, 0x88, 0x80,
+ 0x4a, 0x00, 0x01, 0x02, 0x5b, 0x76, 0x00, 0x00,
+ 0x00, 0x02, 0x5b, 0x76, 0x84, 0x49, 0x00, 0x00,
+ 0x04, 0x0b, 0x1f, 0x2a, 0x3c, 0x00, 0x01, 0x1f,
+ 0x00, 0x04, 0x0b, 0x1f, 0x2a, 0x3c, 0x00, 0x02,
+ 0x1f, 0x2a, 0x00, 0x01, 0x1f, 0x01, 0x02, 0x0b,
+ 0x1f, 0x00, 0x02, 0x1f, 0x7d, 0x00, 0x02, 0x0b,
+ 0x1f, 0x00, 0x02, 0x1f, 0x7d, 0x00, 0x06, 0x1f,
+ 0x3c, 0x4f, 0x70, 0x8e, 0x90, 0x00, 0x01, 0x1f,
+ 0x01, 0x02, 0x1f, 0x7d, 0x01, 0x01, 0x1f, 0x00,
+ 0x02, 0x1f, 0x7d, 0x00, 0x02, 0x0b, 0x1f, 0x06,
+ 0x01, 0x1f, 0x00, 0x02, 0x1f, 0x60, 0x00, 0x02,
+ 0x0b, 0x1f, 0x01, 0x01, 0x1f, 0x00, 0x02, 0x0b,
+ 0x1f, 0x03, 0x01, 0x1f, 0x00, 0x08, 0x0b, 0x1f,
+ 0x2a, 0x3c, 0x60, 0x70, 0x90, 0x95, 0x00, 0x02,
+ 0x1f, 0x2a, 0x00, 0x03, 0x1f, 0x2a, 0x3c, 0x01,
+ 0x02, 0x0b, 0x1f, 0x00, 0x01, 0x0b, 0x01, 0x02,
+ 0x1f, 0x2a, 0x00, 0x01, 0x60, 0x80, 0x44, 0x00,
+ 0x01, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x02, 0x1d,
+ 0x87, 0x81, 0xb5, 0x00, 0x00, 0x02, 0x45, 0x5b,
+ 0x80, 0x3f, 0x00, 0x00, 0x03, 0x1f, 0x2a, 0x45,
+ 0x8c, 0xd1, 0x00, 0x00, 0x02, 0x1d, 0x28, 0x81,
+ 0x3c, 0x00, 0x01, 0x06, 0x0d, 0x30, 0x2f, 0x35,
+ 0x3d, 0x9b, 0x00, 0x05, 0x0d, 0x30, 0x2f, 0x35,
+ 0x3d, 0x01, 0x00, 0x00, 0x01, 0x2f, 0x00, 0x00,
+ 0x09, 0x06, 0x0d, 0x30, 0x2f, 0x35, 0x3d, 0x9b,
+ 0x00, 0x00, 0x00, 0x05, 0x0d, 0x30, 0x2f, 0x35,
+ 0x3d, 0x07, 0x06, 0x0d, 0x30, 0x2f, 0x35, 0x3d,
+ 0x9b, 0x03, 0x05, 0x0d, 0x30, 0x2f, 0x35, 0x3d,
+ 0x09, 0x00, 0x03, 0x02, 0x0d, 0x2f, 0x01, 0x00,
+ 0x00, 0x05, 0x0d, 0x30, 0x2f, 0x35, 0x3d, 0x04,
+ 0x02, 0x35, 0x3d, 0x00, 0x00, 0x00, 0x05, 0x0d,
+ 0x30, 0x2f, 0x35, 0x3d, 0x03, 0x00, 0x01, 0x03,
+ 0x2f, 0x35, 0x3d, 0x01, 0x01, 0x2f, 0x58, 0x00,
+ 0x03, 0x02, 0x35, 0x3d, 0x02, 0x00, 0x00, 0x02,
+ 0x35, 0x3d, 0x59, 0x00, 0x00, 0x06, 0x0d, 0x30,
+ 0x2f, 0x35, 0x3d, 0x9b, 0x00, 0x02, 0x35, 0x3d,
+ 0x80, 0x12, 0x00, 0x0f, 0x01, 0x2f, 0x1f, 0x00,
+ 0x23, 0x01, 0x2f, 0x3b, 0x00, 0x27, 0x01, 0x2f,
+ 0x37, 0x00, 0x30, 0x01, 0x2f, 0x0e, 0x00, 0x0b,
+ 0x01, 0x2f, 0x32, 0x00, 0x00, 0x01, 0x2f, 0x57,
+ 0x00, 0x18, 0x01, 0x2f, 0x09, 0x00, 0x04, 0x01,
+ 0x2f, 0x5f, 0x00, 0x1e, 0x01, 0x2f, 0xc0, 0x31,
+ 0xef, 0x00, 0x00, 0x02, 0x1d, 0x28, 0x80, 0x0f,
+ 0x00, 0x07, 0x02, 0x2f, 0x45, 0x80, 0xa7, 0x00,
+ 0x02, 0x0e, 0x1f, 0x21, 0x2c, 0x2e, 0x41, 0x3c,
+ 0x3b, 0x4e, 0x4f, 0x5a, 0x60, 0x43, 0x8d, 0x95,
+ 0x02, 0x0d, 0x1f, 0x21, 0x2c, 0x2e, 0x41, 0x3c,
+ 0x3b, 0x4e, 0x5a, 0x60, 0x43, 0x8d, 0x95, 0x03,
+ 0x0b, 0x1f, 0x21, 0x2c, 0x2e, 0x41, 0x3b, 0x4e,
+ 0x5a, 0x43, 0x8d, 0x95, 0x80, 0x36, 0x00, 0x00,
+ 0x02, 0x0b, 0x1f, 0x00, 0x00, 0x00, 0x02, 0x1f,
+ 0x8e, 0x39, 0x00, 0x00, 0x03, 0x3e, 0x45, 0x5e,
+ 0x80, 0x1f, 0x00, 0x00, 0x02, 0x10, 0x3a, 0xc0,
+ 0x13, 0xa1, 0x00, 0x00, 0x02, 0x04, 0x91, 0x09,
+ 0x00, 0x00, 0x02, 0x04, 0x91, 0x46, 0x00, 0x01,
+ 0x05, 0x0d, 0x30, 0x2f, 0x35, 0x3d, 0x80, 0x99,
+ 0x00, 0x04, 0x06, 0x0d, 0x30, 0x2f, 0x35, 0x3d,
+ 0x9b, 0x09, 0x00, 0x00, 0x02, 0x35, 0x3d, 0x2c,
+ 0x00, 0x01, 0x02, 0x35, 0x3d, 0x80, 0xdf, 0x00,
+ 0x02, 0x02, 0x1c, 0x49, 0x03, 0x00, 0x2c, 0x03,
+ 0x1c, 0x48, 0x49, 0x02, 0x00, 0x08, 0x02, 0x1c,
+ 0x49, 0x81, 0x1f, 0x00, 0x1b, 0x02, 0x04, 0x1a,
+ 0x8f, 0x84, 0x00, 0x00, 0x02, 0x2a, 0x8e, 0x00,
+ 0x00, 0x00, 0x02, 0x2a, 0x8e, 0x36, 0x00, 0x01,
+ 0x02, 0x2a, 0x8e, 0x8c, 0x12, 0x00, 0x01, 0x02,
+ 0x2a, 0x8e, 0x00, 0x00, 0x00, 0x02, 0x2a, 0x8e,
+ 0xc0, 0x5c, 0x4b, 0x00, 0x03, 0x01, 0x22, 0x96,
+ 0x3b, 0x00, 0x11, 0x01, 0x2f, 0x9e, 0x5d, 0x00,
+ 0x01, 0x01, 0x2f, 0xce, 0xcd, 0x2d, 0x00,
};
static const uint8_t unicode_prop_Hyphen_table[28] = {
@@ -3501,7 +3544,7 @@ static const uint8_t unicode_prop_Other_Math_table[200] = {
0x80, 0x89, 0x80, 0x90, 0x22, 0x04, 0x80, 0x90,
};
-static const uint8_t unicode_prop_Other_Alphabetic_table[396] = {
+static const uint8_t unicode_prop_Other_Alphabetic_table[411] = {
0x43, 0x44, 0x80, 0x42, 0x69, 0x8d, 0x00, 0x01,
0x01, 0x00, 0xc7, 0x8a, 0xaf, 0x8c, 0x06, 0x8f,
0x80, 0xe4, 0x33, 0x19, 0x0b, 0x80, 0xa2, 0x80,
@@ -3517,7 +3560,7 @@ static const uint8_t unicode_prop_Other_Alphabetic_table[396] = {
0x30, 0x10, 0x17, 0x81, 0x8a, 0x81, 0x9c, 0x82,
0xb9, 0x30, 0x10, 0x17, 0x81, 0x8a, 0x81, 0x9b,
0x83, 0xb9, 0x30, 0x10, 0x82, 0x89, 0x80, 0x89,
- 0x81, 0x9d, 0x81, 0xca, 0x28, 0x00, 0x87, 0x91,
+ 0x81, 0x9c, 0x82, 0xca, 0x28, 0x00, 0x87, 0x91,
0x81, 0xbc, 0x01, 0x86, 0x91, 0x80, 0xe2, 0x01,
0x28, 0x81, 0x8f, 0x80, 0x40, 0xa2, 0x90, 0x8a,
0x8a, 0x80, 0xa3, 0xed, 0x8b, 0x00, 0x0b, 0x96,
@@ -3525,33 +3568,35 @@ static const uint8_t unicode_prop_Other_Alphabetic_table[396] = {
0x89, 0x83, 0x46, 0x73, 0x81, 0x9d, 0x81, 0x9d,
0x81, 0x9d, 0x81, 0xc1, 0x92, 0x40, 0xbb, 0x81,
0xa1, 0x80, 0xf5, 0x8b, 0x83, 0x88, 0x40, 0xdd,
- 0x84, 0xb8, 0x89, 0x81, 0x93, 0x40, 0x8a, 0x84,
- 0xaf, 0x8e, 0xbb, 0x82, 0x9d, 0x88, 0x09, 0xb8,
- 0x8a, 0xb1, 0x92, 0x41, 0xaf, 0x8d, 0x46, 0xc0,
- 0xb3, 0x48, 0xf5, 0x9f, 0x60, 0x78, 0x73, 0x87,
- 0xa1, 0x81, 0x41, 0x61, 0x07, 0x80, 0x96, 0x84,
- 0xd7, 0x81, 0xb1, 0x8f, 0x00, 0xb8, 0x80, 0xa5,
- 0x84, 0x9b, 0x8b, 0xac, 0x83, 0xaf, 0x8b, 0xa4,
- 0x80, 0xc2, 0x8d, 0x8b, 0x07, 0x81, 0xac, 0x82,
- 0xb1, 0x00, 0x11, 0x0c, 0x80, 0xab, 0x24, 0x80,
- 0x40, 0xec, 0x87, 0x60, 0x4f, 0x32, 0x80, 0x48,
- 0x56, 0x84, 0x46, 0x85, 0x10, 0x0c, 0x83, 0x43,
- 0x13, 0x83, 0x42, 0xd7, 0x82, 0xb4, 0x8d, 0xbb,
- 0x80, 0xac, 0x88, 0xc6, 0x82, 0xa3, 0x8b, 0x91,
- 0x81, 0xb8, 0x82, 0xaf, 0x8c, 0xeb, 0x88, 0x08,
- 0x28, 0x40, 0x9f, 0x89, 0x96, 0x83, 0xb9, 0x31,
- 0x09, 0x81, 0x89, 0x80, 0x89, 0x81, 0x40, 0xd0,
- 0x8c, 0x02, 0xe9, 0x91, 0x40, 0xec, 0x31, 0x86,
- 0x9c, 0x81, 0xd1, 0x8e, 0x00, 0xe9, 0x8a, 0xe6,
- 0x8d, 0x41, 0x00, 0x8c, 0x41, 0x97, 0x31, 0x2b,
- 0x80, 0x9b, 0x89, 0xa9, 0x20, 0x83, 0x91, 0x8a,
- 0xad, 0x8d, 0x41, 0x96, 0x38, 0x86, 0xd2, 0x95,
- 0x80, 0x8d, 0xf9, 0x2a, 0x00, 0x08, 0x10, 0x02,
- 0x80, 0xc1, 0x20, 0x08, 0x83, 0x41, 0x5b, 0x83,
- 0x60, 0x50, 0x57, 0x00, 0xb6, 0x33, 0x60, 0x4d,
- 0x0a, 0x80, 0x60, 0x23, 0x60, 0x30, 0x90, 0x0e,
- 0x01, 0x04, 0x49, 0x1b, 0x80, 0x47, 0xe7, 0x99,
- 0x85, 0x99, 0x85, 0x99,
+ 0x84, 0xb8, 0x89, 0x81, 0x93, 0xc9, 0x81, 0xbe,
+ 0x84, 0xaf, 0x8e, 0xbb, 0x82, 0x9d, 0x88, 0x09,
+ 0xb8, 0x8a, 0xb1, 0x92, 0x41, 0xaf, 0x8d, 0x46,
+ 0xc0, 0xb3, 0x48, 0xf5, 0x9f, 0x60, 0x78, 0x73,
+ 0x87, 0xa1, 0x81, 0x41, 0x61, 0x07, 0x80, 0x96,
+ 0x84, 0xd7, 0x81, 0xb1, 0x8f, 0x00, 0xb8, 0x80,
+ 0xa5, 0x84, 0x9b, 0x8b, 0xac, 0x83, 0xaf, 0x8b,
+ 0xa4, 0x80, 0xc2, 0x8d, 0x8b, 0x07, 0x81, 0xac,
+ 0x82, 0xb1, 0x00, 0x11, 0x0c, 0x80, 0xab, 0x24,
+ 0x80, 0x40, 0xec, 0x87, 0x60, 0x4f, 0x32, 0x80,
+ 0x48, 0x56, 0x84, 0x46, 0x85, 0x10, 0x0c, 0x83,
+ 0x43, 0x13, 0x83, 0x41, 0x82, 0x81, 0x41, 0x52,
+ 0x82, 0xb4, 0x8d, 0xbb, 0x80, 0xac, 0x88, 0xc6,
+ 0x82, 0xa3, 0x8b, 0x91, 0x81, 0xb8, 0x82, 0xaf,
+ 0x8c, 0x8d, 0x81, 0xdb, 0x88, 0x08, 0x28, 0x40,
+ 0x9f, 0x89, 0x96, 0x83, 0xb9, 0x31, 0x09, 0x81,
+ 0x89, 0x80, 0x89, 0x81, 0x40, 0xd0, 0x8c, 0x02,
+ 0xe9, 0x91, 0x40, 0xec, 0x31, 0x86, 0x9c, 0x81,
+ 0xd1, 0x8e, 0x00, 0xe9, 0x8a, 0xe6, 0x8d, 0x41,
+ 0x00, 0x8c, 0x40, 0xf6, 0x28, 0x09, 0x0a, 0x00,
+ 0x80, 0x40, 0x8d, 0x31, 0x2b, 0x80, 0x9b, 0x89,
+ 0xa9, 0x20, 0x83, 0x91, 0x8a, 0xad, 0x8d, 0x41,
+ 0x96, 0x38, 0x86, 0xd2, 0x95, 0x80, 0x8d, 0xf9,
+ 0x2a, 0x00, 0x08, 0x10, 0x02, 0x80, 0xc1, 0x20,
+ 0x08, 0x83, 0x41, 0x5b, 0x83, 0x60, 0x50, 0x57,
+ 0x00, 0xb6, 0x33, 0xdc, 0x81, 0x60, 0x4c, 0xab,
+ 0x80, 0x60, 0x23, 0x60, 0x30, 0x90, 0x0e, 0x01,
+ 0x04, 0x49, 0x1b, 0x80, 0x47, 0xe7, 0x99, 0x85,
+ 0x99, 0x85, 0x99,
};
static const uint8_t unicode_prop_Other_Lowercase_table[51] = {
@@ -3569,15 +3614,16 @@ static const uint8_t unicode_prop_Other_Uppercase_table[15] = {
0xcc, 0x5f, 0x99, 0x85, 0x99, 0x85, 0x99,
};
-static const uint8_t unicode_prop_Other_Grapheme_Extend_table[62] = {
+static const uint8_t unicode_prop_Other_Grapheme_Extend_table[65] = {
0x49, 0xbd, 0x80, 0x97, 0x80, 0x41, 0x65, 0x80,
0x97, 0x80, 0xe5, 0x80, 0x97, 0x80, 0x40, 0xe9,
0x80, 0x91, 0x81, 0xe6, 0x80, 0x97, 0x80, 0xf6,
0x80, 0x8e, 0x80, 0x4d, 0x54, 0x80, 0x44, 0xd5,
0x80, 0x50, 0x20, 0x81, 0x60, 0xcf, 0x6d, 0x81,
0x53, 0x9d, 0x80, 0x97, 0x80, 0x41, 0x57, 0x80,
- 0x8b, 0x80, 0x40, 0xf0, 0x80, 0x60, 0xbb, 0xb4,
- 0x07, 0x84, 0x6c, 0x2e, 0xac, 0xdf,
+ 0x8b, 0x80, 0x40, 0xf0, 0x80, 0x43, 0x7f, 0x80,
+ 0x60, 0xb8, 0x33, 0x07, 0x84, 0x6c, 0x2e, 0xac,
+ 0xdf,
};
static const uint8_t unicode_prop_Other_Default_Ignorable_Code_Point_table[32] = {
@@ -3630,7 +3676,7 @@ static const uint8_t unicode_prop_Changes_When_Casefolded1_table[33] = {
0x84,
};
-static const uint8_t unicode_prop_Changes_When_NFKC_Casefolded1_table[436] = {
+static const uint8_t unicode_prop_Changes_When_NFKC_Casefolded1_table[441] = {
0x40, 0x9f, 0x06, 0x00, 0x01, 0x00, 0x01, 0x12,
0x10, 0x82, 0x9f, 0x80, 0xcf, 0x01, 0x80, 0x8b,
0x07, 0x80, 0xfb, 0x01, 0x01, 0x80, 0xa5, 0x80,
@@ -3663,29 +3709,30 @@ static const uint8_t unicode_prop_Changes_When_NFKC_Casefolded1_table[436] = {
0x80, 0xde, 0x80, 0xb0, 0xdd, 0x82, 0x8d, 0xdf,
0x9e, 0x80, 0xa7, 0x87, 0xae, 0x80, 0x41, 0x7f,
0x60, 0x72, 0x9b, 0x81, 0x40, 0xd1, 0x80, 0x40,
- 0x86, 0x81, 0x43, 0x61, 0x83, 0x60, 0x4d, 0x9f,
- 0x41, 0x0d, 0x08, 0x00, 0x81, 0x89, 0x00, 0x00,
- 0x09, 0x82, 0xc3, 0x81, 0xe9, 0xa5, 0x86, 0x8b,
- 0x24, 0x00, 0x97, 0x04, 0x00, 0x01, 0x01, 0x80,
- 0xeb, 0xa0, 0x41, 0x6a, 0x91, 0xbf, 0x81, 0xb5,
- 0xa7, 0x8c, 0x82, 0x99, 0x95, 0x94, 0x81, 0x8b,
- 0x80, 0x92, 0x03, 0x1a, 0x00, 0x80, 0x40, 0x86,
- 0x08, 0x80, 0x9f, 0x99, 0x40, 0x83, 0x15, 0x0d,
- 0x0d, 0x0a, 0x16, 0x06, 0x80, 0x88, 0x60, 0xbc,
- 0xa6, 0x83, 0x54, 0xb9, 0x86, 0x8d, 0x87, 0xbf,
- 0x85, 0x42, 0x3e, 0xd4, 0x80, 0xc6, 0x01, 0x08,
- 0x09, 0x0b, 0x80, 0x8b, 0x00, 0x06, 0x80, 0xc0,
- 0x03, 0x0f, 0x06, 0x80, 0x9b, 0x03, 0x04, 0x00,
- 0x16, 0x80, 0x41, 0x53, 0x81, 0x41, 0x23, 0x81,
- 0xb1, 0x55, 0xff, 0x18, 0x9a, 0x01, 0x00, 0x08,
- 0x80, 0x89, 0x03, 0x00, 0x00, 0x28, 0x18, 0x00,
- 0x00, 0x02, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x0b, 0x06, 0x03, 0x03, 0x00,
- 0x80, 0x89, 0x80, 0x90, 0x22, 0x04, 0x80, 0x90,
- 0x42, 0x43, 0x8a, 0x84, 0x9e, 0x80, 0x9f, 0x99,
- 0x82, 0xa2, 0x80, 0xee, 0x82, 0x8c, 0xab, 0x83,
- 0x88, 0x31, 0x61, 0x05, 0xad, 0x42, 0x1d, 0x6b,
- 0x05, 0xe1, 0x4f, 0xff,
+ 0x86, 0x81, 0x43, 0x61, 0x83, 0x88, 0x80, 0x60,
+ 0x4d, 0x95, 0x41, 0x0d, 0x08, 0x00, 0x81, 0x89,
+ 0x00, 0x00, 0x09, 0x82, 0xc3, 0x81, 0xe9, 0xa5,
+ 0x86, 0x8b, 0x24, 0x00, 0x97, 0x04, 0x00, 0x01,
+ 0x01, 0x80, 0xeb, 0xa0, 0x41, 0x6a, 0x91, 0xbf,
+ 0x81, 0xb5, 0xa7, 0x8c, 0x82, 0x99, 0x95, 0x94,
+ 0x81, 0x8b, 0x80, 0x92, 0x03, 0x1a, 0x00, 0x80,
+ 0x40, 0x86, 0x08, 0x80, 0x9f, 0x99, 0x40, 0x83,
+ 0x15, 0x0d, 0x0d, 0x0a, 0x16, 0x06, 0x80, 0x88,
+ 0x60, 0xbc, 0xa6, 0x83, 0x54, 0xb9, 0x86, 0x8d,
+ 0x87, 0xbf, 0x85, 0x42, 0x3e, 0xd4, 0x80, 0xc6,
+ 0x01, 0x08, 0x09, 0x0b, 0x80, 0x8b, 0x00, 0x06,
+ 0x80, 0xc0, 0x03, 0x0f, 0x06, 0x80, 0x9b, 0x03,
+ 0x04, 0x00, 0x16, 0x80, 0x41, 0x53, 0x81, 0x41,
+ 0x23, 0x81, 0xb1, 0x55, 0xff, 0x18, 0x9a, 0x01,
+ 0x00, 0x08, 0x80, 0x89, 0x03, 0x00, 0x00, 0x28,
+ 0x18, 0x00, 0x00, 0x02, 0x01, 0x00, 0x08, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x0b, 0x06, 0x03,
+ 0x03, 0x00, 0x80, 0x89, 0x80, 0x90, 0x22, 0x04,
+ 0x80, 0x90, 0x42, 0x43, 0x8a, 0x84, 0x9e, 0x80,
+ 0x9f, 0x99, 0x82, 0xa2, 0x80, 0xee, 0x82, 0x8c,
+ 0xab, 0x83, 0x88, 0x31, 0x49, 0x9d, 0x89, 0x60,
+ 0xfc, 0x05, 0x42, 0x1d, 0x6b, 0x05, 0xe1, 0x4f,
+ 0xff,
};
static const uint8_t unicode_prop_ASCII_Hex_Digit_table[5] = {
@@ -3697,14 +3744,14 @@ static const uint8_t unicode_prop_Bidi_Control_table[10] = {
0xb6, 0x83,
};
-static const uint8_t unicode_prop_Dash_table[50] = {
+static const uint8_t unicode_prop_Dash_table[53] = {
0xac, 0x80, 0x45, 0x5b, 0x80, 0xb2, 0x80, 0x4e,
0x40, 0x80, 0x44, 0x04, 0x80, 0x48, 0x08, 0x85,
0xbc, 0x80, 0xa6, 0x80, 0x8e, 0x80, 0x41, 0x85,
0x80, 0x4c, 0x03, 0x01, 0x80, 0x9e, 0x0b, 0x80,
0x41, 0xda, 0x80, 0x92, 0x80, 0xee, 0x80, 0x60,
0xcd, 0x8f, 0x81, 0xa4, 0x80, 0x89, 0x80, 0x40,
- 0xa8, 0x80,
+ 0xa8, 0x80, 0x4f, 0x9e, 0x80,
};
static const uint8_t unicode_prop_Deprecated_table[23] = {
@@ -3713,7 +3760,7 @@ static const uint8_t unicode_prop_Deprecated_table[23] = {
0x42, 0xb8, 0x81, 0x6d, 0xdc, 0xd5, 0x80,
};
-static const uint8_t unicode_prop_Diacritic_table[350] = {
+static const uint8_t unicode_prop_Diacritic_table[358] = {
0xdd, 0x00, 0x80, 0xc6, 0x05, 0x03, 0x01, 0x81,
0x41, 0xf6, 0x40, 0x9e, 0x07, 0x25, 0x90, 0x0b,
0x80, 0x88, 0x81, 0x40, 0xfc, 0x84, 0x40, 0xd0,
@@ -3723,55 +3770,57 @@ static const uint8_t unicode_prop_Diacritic_table[350] = {
0x81, 0x40, 0xc8, 0x9b, 0xbc, 0x80, 0x8f, 0x02,
0x83, 0x9b, 0x80, 0xc9, 0x80, 0x8f, 0x80, 0xed,
0x80, 0x8f, 0x80, 0xed, 0x80, 0x8f, 0x80, 0xae,
- 0x82, 0xbb, 0x80, 0x8f, 0x80, 0xfe, 0x80, 0xfe,
- 0x80, 0xed, 0x80, 0x8f, 0x80, 0xec, 0x81, 0x8f,
- 0x80, 0xfb, 0x80, 0xfb, 0x28, 0x80, 0xea, 0x80,
- 0x8c, 0x84, 0xca, 0x81, 0x9a, 0x00, 0x00, 0x03,
- 0x81, 0xc1, 0x10, 0x81, 0xbd, 0x80, 0xef, 0x00,
- 0x81, 0xa7, 0x0b, 0x84, 0x98, 0x30, 0x80, 0x89,
- 0x81, 0x42, 0xc0, 0x82, 0x44, 0x68, 0x8a, 0x88,
- 0x80, 0x41, 0x5a, 0x82, 0x41, 0x38, 0x39, 0x80,
- 0xaf, 0x8d, 0xf5, 0x80, 0x8e, 0x80, 0xa5, 0x88,
- 0xb5, 0x81, 0x40, 0x89, 0x81, 0xbf, 0x85, 0xd1,
- 0x98, 0x18, 0x28, 0x0a, 0xb1, 0xbe, 0xd8, 0x8b,
- 0xa4, 0x22, 0x82, 0x41, 0xbc, 0x00, 0x82, 0x8a,
- 0x82, 0x8c, 0x82, 0x8c, 0x82, 0x8c, 0x81, 0x4c,
- 0xef, 0x82, 0x41, 0x3c, 0x80, 0x41, 0xf9, 0x85,
- 0xe8, 0x83, 0xde, 0x80, 0x60, 0x75, 0x71, 0x80,
- 0x8b, 0x08, 0x80, 0x9b, 0x81, 0xd1, 0x81, 0x8d,
- 0xa1, 0xe5, 0x82, 0xec, 0x81, 0x40, 0xc9, 0x80,
- 0x9a, 0x91, 0xb8, 0x83, 0xa3, 0x80, 0xde, 0x80,
- 0x8b, 0x80, 0xa3, 0x80, 0x40, 0x94, 0x82, 0xc0,
- 0x83, 0xb2, 0x80, 0xe3, 0x84, 0x40, 0x8b, 0x81,
- 0x60, 0x4f, 0x2f, 0x80, 0x43, 0x00, 0x8f, 0x41,
- 0x0d, 0x00, 0x80, 0xae, 0x80, 0xac, 0x81, 0xc2,
- 0x80, 0x42, 0xfb, 0x80, 0x48, 0x03, 0x81, 0x42,
- 0x3a, 0x85, 0x42, 0x1d, 0x8a, 0x41, 0x67, 0x81,
- 0xf7, 0x81, 0xbd, 0x80, 0xcb, 0x80, 0x88, 0x82,
- 0xe7, 0x81, 0x40, 0xb1, 0x81, 0xd0, 0x80, 0x8f,
- 0x80, 0x97, 0x32, 0x84, 0x40, 0xcc, 0x02, 0x80,
- 0xfa, 0x81, 0x40, 0xfa, 0x81, 0xfd, 0x80, 0xf5,
- 0x81, 0xf2, 0x80, 0x41, 0x0c, 0x81, 0x41, 0xa4,
- 0x80, 0xd2, 0x80, 0x91, 0x80, 0xd0, 0x80, 0x41,
- 0xa4, 0x80, 0x41, 0x01, 0x00, 0x81, 0xd0, 0x80,
- 0x60, 0x4d, 0x57, 0x84, 0xba, 0x86, 0x44, 0x57,
- 0x90, 0x60, 0x61, 0xc6, 0x12, 0x2f, 0x39, 0x86,
+ 0x82, 0xbb, 0x80, 0x8f, 0x06, 0x80, 0xf6, 0x80,
+ 0xfe, 0x80, 0xed, 0x80, 0x8f, 0x80, 0xec, 0x81,
+ 0x8f, 0x80, 0xfb, 0x80, 0xfb, 0x28, 0x80, 0xea,
+ 0x80, 0x8c, 0x84, 0xca, 0x81, 0x9a, 0x00, 0x00,
+ 0x03, 0x81, 0xc1, 0x10, 0x81, 0xbd, 0x80, 0xef,
+ 0x00, 0x81, 0xa7, 0x0b, 0x84, 0x98, 0x30, 0x80,
+ 0x89, 0x81, 0x42, 0xc0, 0x82, 0x44, 0x68, 0x8a,
+ 0x88, 0x80, 0x41, 0x5a, 0x82, 0x41, 0x38, 0x39,
+ 0x80, 0xaf, 0x8d, 0xf5, 0x80, 0x8e, 0x80, 0xa5,
+ 0x88, 0xb5, 0x81, 0x40, 0x89, 0x81, 0xbf, 0x85,
+ 0xd1, 0x98, 0x18, 0x28, 0x0a, 0xb1, 0xbe, 0xd8,
+ 0x8b, 0xa4, 0x22, 0x82, 0x41, 0xbc, 0x00, 0x82,
+ 0x8a, 0x82, 0x8c, 0x82, 0x8c, 0x82, 0x8c, 0x81,
+ 0x4c, 0xef, 0x82, 0x41, 0x3c, 0x80, 0x41, 0xf9,
+ 0x85, 0xe8, 0x83, 0xde, 0x80, 0x60, 0x75, 0x71,
+ 0x80, 0x8b, 0x08, 0x80, 0x9b, 0x81, 0xd1, 0x81,
+ 0x8d, 0xa1, 0xe5, 0x82, 0xec, 0x81, 0x40, 0xc9,
+ 0x80, 0x9a, 0x91, 0xb8, 0x83, 0xa3, 0x80, 0xde,
+ 0x80, 0x8b, 0x80, 0xa3, 0x80, 0x40, 0x94, 0x82,
+ 0xc0, 0x83, 0xb2, 0x80, 0xe3, 0x84, 0x88, 0x82,
+ 0xff, 0x81, 0x60, 0x4f, 0x2f, 0x80, 0x43, 0x00,
+ 0x8f, 0x41, 0x0d, 0x00, 0x80, 0xae, 0x80, 0xac,
+ 0x81, 0xc2, 0x80, 0x42, 0xfb, 0x80, 0x48, 0x03,
+ 0x81, 0x42, 0x3a, 0x85, 0x42, 0x1d, 0x8a, 0x41,
+ 0x67, 0x81, 0xf7, 0x81, 0xbd, 0x80, 0xcb, 0x80,
+ 0x88, 0x82, 0xe7, 0x81, 0x40, 0xb1, 0x81, 0xd0,
+ 0x80, 0x8f, 0x80, 0x97, 0x32, 0x84, 0x40, 0xcc,
+ 0x02, 0x80, 0xfa, 0x81, 0x40, 0xfa, 0x81, 0xfd,
+ 0x80, 0xf5, 0x81, 0xf2, 0x80, 0x41, 0x0c, 0x81,
+ 0x41, 0x01, 0x0b, 0x80, 0x40, 0x9b, 0x80, 0xd2,
+ 0x80, 0x91, 0x80, 0xd0, 0x80, 0x41, 0xa4, 0x80,
+ 0x41, 0x01, 0x00, 0x81, 0xd0, 0x80, 0x60, 0x4d,
+ 0x57, 0x84, 0xba, 0x86, 0x44, 0x57, 0x90, 0xcf,
+ 0x81, 0x60, 0x61, 0x74, 0x12, 0x2f, 0x39, 0x86,
0x9d, 0x83, 0x4f, 0x81, 0x86, 0x41, 0xb4, 0x83,
0x45, 0xdf, 0x86, 0xec, 0x10, 0x82,
};
-static const uint8_t unicode_prop_Extender_table[86] = {
+static const uint8_t unicode_prop_Extender_table[89] = {
0x40, 0xb6, 0x80, 0x42, 0x17, 0x81, 0x43, 0x6d,
- 0x80, 0x41, 0xb8, 0x80, 0x46, 0x4a, 0x80, 0xfe,
- 0x80, 0x49, 0x42, 0x80, 0xb7, 0x80, 0x42, 0x62,
- 0x80, 0x41, 0x8d, 0x80, 0xc3, 0x80, 0x53, 0x88,
- 0x80, 0xaa, 0x84, 0xe6, 0x81, 0xdc, 0x82, 0x60,
- 0x6f, 0x15, 0x80, 0x45, 0xf5, 0x80, 0x43, 0xc1,
- 0x80, 0x95, 0x80, 0x40, 0x88, 0x80, 0xeb, 0x80,
- 0x94, 0x81, 0x60, 0x54, 0x7a, 0x80, 0x53, 0xeb,
- 0x80, 0x42, 0x67, 0x82, 0x44, 0xce, 0x80, 0x60,
- 0x50, 0xa8, 0x81, 0x44, 0x9b, 0x08, 0x80, 0x60,
- 0x71, 0x57, 0x81, 0x48, 0x05, 0x82,
+ 0x80, 0x41, 0xb8, 0x80, 0x43, 0x59, 0x80, 0x42,
+ 0xef, 0x80, 0xfe, 0x80, 0x49, 0x42, 0x80, 0xb7,
+ 0x80, 0x42, 0x62, 0x80, 0x41, 0x8d, 0x80, 0xc3,
+ 0x80, 0x53, 0x88, 0x80, 0xaa, 0x84, 0xe6, 0x81,
+ 0xdc, 0x82, 0x60, 0x6f, 0x15, 0x80, 0x45, 0xf5,
+ 0x80, 0x43, 0xc1, 0x80, 0x95, 0x80, 0x40, 0x88,
+ 0x80, 0xeb, 0x80, 0x94, 0x81, 0x60, 0x54, 0x7a,
+ 0x80, 0x53, 0xeb, 0x80, 0x42, 0x67, 0x82, 0x44,
+ 0xce, 0x80, 0x60, 0x50, 0xa8, 0x81, 0x44, 0x9b,
+ 0x08, 0x80, 0x60, 0x71, 0x57, 0x81, 0x48, 0x05,
+ 0x82,
};
static const uint8_t unicode_prop_Hex_Digit_table[12] = {
@@ -3787,15 +3836,16 @@ static const uint8_t unicode_prop_IDS_Trinary_Operator_table[4] = {
0x60, 0x2f, 0xf1, 0x81,
};
-static const uint8_t unicode_prop_Ideographic_table[58] = {
+static const uint8_t unicode_prop_Ideographic_table[66] = {
0x60, 0x30, 0x05, 0x81, 0x98, 0x88, 0x8d, 0x82,
- 0x43, 0xc4, 0x59, 0xb5, 0xc9, 0x60, 0x51, 0xef,
- 0x60, 0x59, 0x0f, 0x41, 0x6d, 0x81, 0xe9, 0x60,
- 0x75, 0x25, 0x57, 0xf7, 0x87, 0x42, 0xf2, 0x60,
- 0x26, 0x7c, 0x41, 0x8b, 0x60, 0x4d, 0x03, 0x60,
- 0xa6, 0xd6, 0xa8, 0x50, 0x34, 0x8a, 0x40, 0xdd,
- 0x81, 0x56, 0x81, 0x8d, 0x5d, 0x30, 0x4c, 0x1e,
- 0x42, 0x1d,
+ 0x43, 0xc4, 0x59, 0xbf, 0xbf, 0x60, 0x51, 0xfc,
+ 0x60, 0x59, 0x02, 0x41, 0x6d, 0x81, 0xe9, 0x60,
+ 0x75, 0x09, 0x80, 0x9a, 0x57, 0xf7, 0x87, 0x44,
+ 0xd5, 0xa9, 0x88, 0x60, 0x24, 0x66, 0x41, 0x8b,
+ 0x60, 0x4d, 0x03, 0x60, 0xa6, 0xdd, 0xa1, 0x50,
+ 0x34, 0x8a, 0x40, 0xdd, 0x81, 0x56, 0x81, 0x8d,
+ 0x5d, 0x30, 0x4c, 0x1e, 0x42, 0x1d, 0x45, 0xe1,
+ 0x53, 0x4a,
};
static const uint8_t unicode_prop_Join_Control_table[4] = {
@@ -3851,7 +3901,7 @@ static const uint8_t unicode_prop_Regional_Indicator_table[4] = {
0x61, 0xf1, 0xe5, 0x99,
};
-static const uint8_t unicode_prop_Sentence_Terminal_table[184] = {
+static const uint8_t unicode_prop_Sentence_Terminal_table[188] = {
0xa0, 0x80, 0x8b, 0x80, 0x8f, 0x80, 0x45, 0x48,
0x80, 0x40, 0x93, 0x81, 0x40, 0xb3, 0x80, 0xaa,
0x82, 0x40, 0xf5, 0x80, 0xbc, 0x00, 0x02, 0x81,
@@ -3871,10 +3921,11 @@ static const uint8_t unicode_prop_Sentence_Terminal_table[184] = {
0x82, 0x40, 0x80, 0x0d, 0x80, 0x8f, 0x81, 0xd7,
0x08, 0x81, 0xeb, 0x80, 0x41, 0xa0, 0x81, 0x41,
0x74, 0x0c, 0x8e, 0xe8, 0x81, 0x40, 0xf8, 0x82,
- 0x43, 0x02, 0x81, 0xd6, 0x81, 0x41, 0xa3, 0x81,
- 0x42, 0xb3, 0x81, 0x60, 0x4b, 0x74, 0x81, 0x40,
- 0x84, 0x80, 0xc0, 0x81, 0x8a, 0x80, 0x43, 0x52,
- 0x80, 0x60, 0x4e, 0x05, 0x80, 0x5d, 0xe7, 0x80,
+ 0x42, 0x04, 0x00, 0x80, 0x40, 0xfa, 0x81, 0xd6,
+ 0x81, 0x41, 0xa3, 0x81, 0x42, 0xb3, 0x81, 0x60,
+ 0x4b, 0x74, 0x81, 0x40, 0x84, 0x80, 0xc0, 0x81,
+ 0x8a, 0x80, 0x43, 0x52, 0x80, 0x60, 0x4e, 0x05,
+ 0x80, 0x5d, 0xe7, 0x80,
};
static const uint8_t unicode_prop_Soft_Dotted_table[71] = {
@@ -3889,7 +3940,7 @@ static const uint8_t unicode_prop_Soft_Dotted_table[71] = {
0x81, 0xb1, 0x81, 0xb1, 0x81, 0xb1, 0x81,
};
-static const uint8_t unicode_prop_Terminal_Punctuation_table[237] = {
+static const uint8_t unicode_prop_Terminal_Punctuation_table[241] = {
0xa0, 0x80, 0x89, 0x00, 0x80, 0x8a, 0x0a, 0x80,
0x43, 0x3d, 0x07, 0x80, 0x42, 0x00, 0x80, 0xb8,
0x80, 0xc7, 0x80, 0x8d, 0x01, 0x81, 0x40, 0xb3,
@@ -3913,21 +3964,23 @@ static const uint8_t unicode_prop_Terminal_Punctuation_table[237] = {
0x85, 0xc3, 0x85, 0xd8, 0x83, 0x43, 0xb7, 0x84,
0x40, 0xec, 0x86, 0xef, 0x83, 0xfe, 0x82, 0x40,
0x80, 0x0d, 0x80, 0x8f, 0x81, 0xd7, 0x84, 0xeb,
- 0x80, 0x41, 0xa0, 0x82, 0x8c, 0x80, 0x41, 0x65,
- 0x1a, 0x8e, 0xe8, 0x81, 0x40, 0xf8, 0x82, 0x43,
- 0x02, 0x81, 0xd6, 0x0b, 0x81, 0x41, 0x9d, 0x82,
- 0xac, 0x80, 0x42, 0x84, 0x81, 0x45, 0x76, 0x84,
- 0x60, 0x45, 0xf8, 0x81, 0x40, 0x84, 0x80, 0xc0,
- 0x82, 0x89, 0x80, 0x43, 0x51, 0x81, 0x60, 0x4e,
- 0x05, 0x80, 0x5d, 0xe6, 0x83,
+ 0x80, 0x41, 0xa0, 0x82, 0x8b, 0x81, 0x41, 0x65,
+ 0x1a, 0x8e, 0xe8, 0x81, 0x40, 0xf8, 0x82, 0x42,
+ 0x04, 0x00, 0x80, 0x40, 0xfa, 0x81, 0xd6, 0x0b,
+ 0x81, 0x41, 0x9d, 0x82, 0xac, 0x80, 0x42, 0x84,
+ 0x81, 0x45, 0x76, 0x84, 0x60, 0x45, 0xf8, 0x81,
+ 0x40, 0x84, 0x80, 0xc0, 0x82, 0x89, 0x80, 0x43,
+ 0x51, 0x81, 0x60, 0x4e, 0x05, 0x80, 0x5d, 0xe6,
+ 0x83,
};
-static const uint8_t unicode_prop_Unified_Ideograph_table[38] = {
- 0x60, 0x33, 0xff, 0x59, 0xb5, 0xc9, 0x60, 0x51,
- 0xef, 0x60, 0x5a, 0x1d, 0x08, 0x00, 0x81, 0x89,
+static const uint8_t unicode_prop_Unified_Ideograph_table[42] = {
+ 0x60, 0x33, 0xff, 0x59, 0xbf, 0xbf, 0x60, 0x51,
+ 0xfc, 0x60, 0x5a, 0x10, 0x08, 0x00, 0x81, 0x89,
0x00, 0x00, 0x09, 0x82, 0x61, 0x05, 0xd5, 0x60,
- 0xa6, 0xd6, 0xa8, 0x50, 0x34, 0x8a, 0x40, 0xdd,
- 0x81, 0x56, 0x81, 0x8d, 0x5d, 0x30,
+ 0xa6, 0xdd, 0xa1, 0x50, 0x34, 0x8a, 0x40, 0xdd,
+ 0x81, 0x56, 0x81, 0x8d, 0x5d, 0x30, 0x54, 0x1e,
+ 0x53, 0x4a,
};
static const uint8_t unicode_prop_Variation_Selector_table[12] = {
@@ -3966,7 +4019,7 @@ static const uint8_t unicode_prop_Bidi_Mirrored_table[171] = {
0x80, 0xb8, 0x80,
};
-static const uint8_t unicode_prop_Emoji_table[236] = {
+static const uint8_t unicode_prop_Emoji_table[238] = {
0xa2, 0x05, 0x04, 0x89, 0xee, 0x03, 0x80, 0x5f,
0x8c, 0x80, 0x8b, 0x80, 0x40, 0xd7, 0x80, 0x95,
0x80, 0xd9, 0x85, 0x8e, 0x81, 0x41, 0x6e, 0x81,
@@ -3976,27 +4029,27 @@ static const uint8_t unicode_prop_Emoji_table[236] = {
0x09, 0x03, 0x01, 0x00, 0x09, 0x02, 0x02, 0x0f,
0x14, 0x00, 0x04, 0x8b, 0x8a, 0x09, 0x00, 0x08,
0x80, 0x91, 0x01, 0x81, 0x91, 0x28, 0x00, 0x0a,
- 0x0f, 0x0b, 0x81, 0x8a, 0x0c, 0x09, 0x04, 0x08,
- 0x00, 0x81, 0x93, 0x0c, 0x28, 0x19, 0x03, 0x01,
- 0x01, 0x28, 0x01, 0x00, 0x00, 0x05, 0x02, 0x05,
- 0x80, 0x89, 0x81, 0x8e, 0x01, 0x03, 0x00, 0x03,
- 0x10, 0x80, 0x8a, 0x81, 0xaf, 0x82, 0x88, 0x80,
- 0x8d, 0x80, 0x8d, 0x80, 0x41, 0x73, 0x81, 0x41,
- 0xce, 0x82, 0x92, 0x81, 0xb2, 0x03, 0x80, 0x44,
- 0xd9, 0x80, 0x8b, 0x80, 0x42, 0x58, 0x00, 0x80,
- 0x61, 0xbd, 0x69, 0x80, 0x40, 0xc9, 0x80, 0x40,
- 0x9f, 0x81, 0x8b, 0x81, 0x8d, 0x01, 0x89, 0xca,
- 0x99, 0x01, 0x96, 0x80, 0x93, 0x01, 0x88, 0x94,
- 0x81, 0x40, 0xad, 0xa1, 0x81, 0xef, 0x09, 0x02,
- 0x81, 0xd2, 0x0a, 0x80, 0x41, 0x06, 0x80, 0xbe,
- 0x8a, 0x28, 0x97, 0x31, 0x0f, 0x8b, 0x01, 0x19,
- 0x03, 0x81, 0x8c, 0x09, 0x07, 0x81, 0x88, 0x04,
- 0x82, 0x8b, 0x17, 0x11, 0x00, 0x03, 0x05, 0x02,
- 0x05, 0xd5, 0xaf, 0xc5, 0x27, 0x08, 0x89, 0x2a,
- 0x00, 0x0a, 0x01, 0x87, 0x40, 0xe4, 0x8b, 0x41,
- 0x20, 0xad, 0x80, 0x89, 0x80, 0xaa, 0x03, 0x82,
- 0xa8, 0x0d, 0x82, 0x9c, 0x81, 0xb2, 0xef, 0x1b,
- 0x14, 0x82, 0x8c, 0x85,
+ 0x0c, 0x01, 0x0b, 0x81, 0x8a, 0x0c, 0x09, 0x04,
+ 0x08, 0x00, 0x81, 0x93, 0x0c, 0x28, 0x19, 0x03,
+ 0x01, 0x01, 0x28, 0x01, 0x00, 0x00, 0x05, 0x02,
+ 0x05, 0x80, 0x89, 0x81, 0x8e, 0x01, 0x03, 0x00,
+ 0x03, 0x10, 0x80, 0x8a, 0x81, 0xaf, 0x82, 0x88,
+ 0x80, 0x8d, 0x80, 0x8d, 0x80, 0x41, 0x73, 0x81,
+ 0x41, 0xce, 0x82, 0x92, 0x81, 0xb2, 0x03, 0x80,
+ 0x44, 0xd9, 0x80, 0x8b, 0x80, 0x42, 0x58, 0x00,
+ 0x80, 0x61, 0xbd, 0x69, 0x80, 0x40, 0xc9, 0x80,
+ 0x40, 0x9f, 0x81, 0x8b, 0x81, 0x8d, 0x01, 0x89,
+ 0xca, 0x99, 0x01, 0x96, 0x80, 0x93, 0x01, 0x88,
+ 0x94, 0x81, 0x40, 0xad, 0xa1, 0x81, 0xef, 0x09,
+ 0x02, 0x81, 0xd2, 0x0a, 0x80, 0x41, 0x06, 0x80,
+ 0xbe, 0x8a, 0x28, 0x97, 0x31, 0x0f, 0x8b, 0x01,
+ 0x19, 0x03, 0x81, 0x8c, 0x09, 0x07, 0x81, 0x88,
+ 0x04, 0x82, 0x8b, 0x17, 0x11, 0x00, 0x03, 0x05,
+ 0x02, 0x05, 0xd5, 0xaf, 0xc5, 0x27, 0x0a, 0x3d,
+ 0x10, 0x01, 0x10, 0x81, 0x89, 0x40, 0xe2, 0x8b,
+ 0x41, 0x1f, 0xae, 0x80, 0x89, 0x80, 0xb1, 0x80,
+ 0xd1, 0x80, 0xb2, 0xef, 0x22, 0x14, 0x86, 0x88,
+ 0x98, 0x36, 0x88, 0x82, 0x8c, 0x86,
};
static const uint8_t unicode_prop_Emoji_Component_table[28] = {
@@ -4010,18 +4063,19 @@ static const uint8_t unicode_prop_Emoji_Modifier_table[4] = {
0x61, 0xf3, 0xfa, 0x84,
};
-static const uint8_t unicode_prop_Emoji_Modifier_Base_table[63] = {
+static const uint8_t unicode_prop_Emoji_Modifier_Base_table[66] = {
0x60, 0x26, 0x1c, 0x80, 0x40, 0xda, 0x80, 0x8f,
0x83, 0x61, 0xcc, 0x76, 0x80, 0xbb, 0x11, 0x01,
0x82, 0xf4, 0x09, 0x8a, 0x94, 0x92, 0x10, 0x1a,
0x02, 0x30, 0x00, 0x97, 0x80, 0x40, 0xc8, 0x0b,
0x80, 0x94, 0x03, 0x81, 0x40, 0xad, 0x12, 0x84,
0xd2, 0x80, 0x8f, 0x82, 0x88, 0x80, 0x8a, 0x80,
- 0x42, 0x41, 0x07, 0x3d, 0x80, 0x88, 0x89, 0x0a,
- 0xf5, 0x08, 0x08, 0x80, 0x90, 0x10, 0x8c,
+ 0x42, 0x3e, 0x01, 0x07, 0x3d, 0x80, 0x88, 0x89,
+ 0x0a, 0xb7, 0x80, 0xbc, 0x08, 0x08, 0x80, 0x90,
+ 0x10, 0x8c,
};
-static const uint8_t unicode_prop_Emoji_Presentation_table[143] = {
+static const uint8_t unicode_prop_Emoji_Presentation_table[144] = {
0x60, 0x23, 0x19, 0x81, 0x40, 0xcc, 0x1a, 0x01,
0x80, 0x42, 0x08, 0x81, 0x94, 0x81, 0xb1, 0x8b,
0xaa, 0x80, 0x92, 0x80, 0x8c, 0x07, 0x81, 0x90,
@@ -4036,13 +4090,13 @@ static const uint8_t unicode_prop_Emoji_Presentation_table[143] = {
0x1c, 0x8b, 0x90, 0x10, 0x82, 0xc6, 0x00, 0x80,
0x40, 0xba, 0x81, 0xbe, 0x8c, 0x18, 0x97, 0x91,
0x80, 0x99, 0x81, 0x8c, 0x80, 0xd5, 0xd4, 0xaf,
- 0xc5, 0x28, 0x12, 0x08, 0x94, 0x0e, 0x86, 0x40,
- 0xe4, 0x8b, 0x41, 0x20, 0xad, 0x80, 0x89, 0x80,
- 0xaa, 0x03, 0x82, 0xa8, 0x0d, 0x82, 0x9c, 0x81,
- 0xb2, 0xef, 0x1b, 0x14, 0x82, 0x8c, 0x85,
+ 0xc5, 0x28, 0x12, 0x0a, 0x92, 0x0e, 0x88, 0x40,
+ 0xe2, 0x8b, 0x41, 0x1f, 0xae, 0x80, 0x89, 0x80,
+ 0xb1, 0x80, 0xd1, 0x80, 0xb2, 0xef, 0x22, 0x14,
+ 0x86, 0x88, 0x98, 0x36, 0x88, 0x82, 0x8c, 0x86,
};
-static const uint8_t unicode_prop_Extended_Pictographic_table[152] = {
+static const uint8_t unicode_prop_Extended_Pictographic_table[156] = {
0x40, 0xa8, 0x03, 0x80, 0x5f, 0x8c, 0x80, 0x8b,
0x80, 0x40, 0xd7, 0x80, 0x95, 0x80, 0xd9, 0x85,
0x8e, 0x81, 0x41, 0x6e, 0x81, 0x8b, 0x80, 0xde,
@@ -4061,7 +4115,8 @@ static const uint8_t unicode_prop_Extended_Pictographic_table[152] = {
0x88, 0x41, 0xb1, 0x84, 0x41, 0x3d, 0x87, 0x41,
0x09, 0xaf, 0xff, 0xf3, 0x8b, 0xd4, 0xaa, 0x8b,
0x83, 0xb7, 0x87, 0x89, 0x85, 0xa7, 0x87, 0x9d,
- 0xd1, 0x8b, 0xae, 0x80, 0x89, 0x80, 0x46, 0xb6,
+ 0xd1, 0x8b, 0xae, 0x80, 0x89, 0x80, 0x41, 0xb8,
+ 0x40, 0xff, 0x43, 0xfd,
};
static const uint8_t unicode_prop_Default_Ignorable_Code_Point_table[51] = {
@@ -4175,11 +4230,11 @@ static const char unicode_prop_name_table[] =
"White_Space,space" "\0"
"Bidi_Mirrored,Bidi_M" "\0"
"Emoji" "\0"
- "Emoji_Component" "\0"
- "Emoji_Modifier" "\0"
- "Emoji_Modifier_Base" "\0"
- "Emoji_Presentation" "\0"
- "Extended_Pictographic" "\0"
+ "Emoji_Component,EComp" "\0"
+ "Emoji_Modifier,EMod" "\0"
+ "Emoji_Modifier_Base,EBase" "\0"
+ "Emoji_Presentation,EPres" "\0"
+ "Extended_Pictographic,ExtPict" "\0"
"Default_Ignorable_Code_Point,DI" "\0"
"ID_Start,IDS" "\0"
"Case_Ignorable,CI" "\0"
diff --git a/quickjs-libc.c b/quickjs-libc.c
@@ -224,17 +224,15 @@ static JSValue js_printf_internal(JSContext *ctx,
case 'X':
if (i >= argc)
goto missing;
+ if (JS_ToInt64Ext(ctx, &int64_arg, argv[i++]))
+ goto fail;
if (modsize > 0) {
- if (JS_ToInt64(ctx, &int64_arg, argv[i++]))
- goto fail;
q[1] = q[-1];
q[-1] = q[0] = 'l';
q[2] = '\0';
dbuf_printf_fun(&dbuf, fmtbuf, (long long)int64_arg);
} else {
- if (JS_ToInt32(ctx, &int32_arg, argv[i++]))
- goto fail;
- dbuf_printf_fun(&dbuf, fmtbuf, int32_arg);
+ dbuf_printf_fun(&dbuf, fmtbuf, (int)int64_arg);
}
break;
@@ -369,6 +367,27 @@ static JSValue js_loadScript(JSContext *ctx, JSValueConst this_val,
return ret;
}
+/* load a file as a UTF-8 encoded string */
+static JSValue js_std_loadFile(JSContext *ctx, JSValueConst this_val,
+ int argc, JSValueConst *argv)
+{
+ uint8_t *buf;
+ const char *filename;
+ JSValue ret;
+ size_t buf_len;
+
+ filename = JS_ToCString(ctx, argv[0]);
+ if (!filename)
+ return JS_EXCEPTION;
+ buf = js_load_file(ctx, &buf_len, filename);
+ JS_FreeCString(ctx, filename);
+ if (!buf)
+ return JS_NULL;
+ ret = JS_NewStringLen(ctx, (char *)buf, buf_len);
+ js_free(ctx, buf);
+ return ret;
+}
+
typedef JSModuleDef *(JSInitModuleFunc)(JSContext *ctx,
const char *module_name);
@@ -633,30 +652,14 @@ static void js_std_file_finalizer(JSRuntime *rt, JSValue val)
}
}
-static JSValue js_new_std_error(JSContext *ctx, int err)
+static ssize_t js_get_errno(ssize_t ret)
{
- JSValue obj;
- /* XXX: could add a specific Error prototype */
- obj = JS_NewError(ctx);
- JS_DefinePropertyValueStr(ctx, obj, "message",
- JS_NewString(ctx, strerror(err)),
- JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE);
- JS_DefinePropertyValueStr(ctx, obj, "errno",
- JS_NewInt32(ctx, err),
- JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE);
- return obj;
-}
-
-static JSValue js_std_error_constructor(JSContext *ctx, JSValueConst new_target,
- int argc, JSValueConst *argv)
-{
- int err;
- if (JS_ToInt32(ctx, &err, argv[0]))
- return JS_EXCEPTION;
- return js_new_std_error(ctx, err);
+ if (ret == -1)
+ ret = -errno;
+ return ret;
}
-static JSValue js_std_error_strerror(JSContext *ctx, JSValueConst this_val,
+static JSValue js_std_strerror(JSContext *ctx, JSValueConst this_val,
int argc, JSValueConst *argv)
{
int err;
@@ -665,15 +668,6 @@ static JSValue js_std_error_strerror(JSContext *ctx, JSValueConst this_val,
return JS_NewString(ctx, strerror(err));
}
-static JSValue js_std_throw_errno(JSContext *ctx, int err)
-{
- JSValue obj;
- obj = js_new_std_error(ctx, err);
- if (JS_IsException(obj))
- obj = JS_NULL;
- return JS_Throw(ctx, obj);
-}
-
static JSValue js_new_std_file(JSContext *ctx, FILE *f,
BOOL close_in_finalizer,
BOOL is_popen)
@@ -695,12 +689,20 @@ static JSValue js_new_std_file(JSContext *ctx, FILE *f,
return obj;
}
+static void js_set_error_object(JSContext *ctx, JSValue obj, int err)
+{
+ if (!JS_IsUndefined(obj)) {
+ JS_SetPropertyStr(ctx, obj, "errno", JS_NewInt32(ctx, err));
+ }
+}
+
static JSValue js_std_open(JSContext *ctx, JSValueConst this_val,
int argc, JSValueConst *argv)
{
const char *filename, *mode = NULL;
FILE *f;
-
+ int err;
+
filename = JS_ToCString(ctx, argv[0]);
if (!filename)
goto fail;
@@ -708,15 +710,21 @@ static JSValue js_std_open(JSContext *ctx, JSValueConst this_val,
if (!mode)
goto fail;
if (mode[strspn(mode, "rwa+b")] != '\0') {
- js_std_throw_errno(ctx, EINVAL);
+ JS_ThrowTypeError(ctx, "invalid file mode");
goto fail;
}
f = fopen(filename, mode);
+ if (!f)
+ err = errno;
+ else
+ err = 0;
+ if (argc >= 3)
+ js_set_error_object(ctx, argv[2], err);
JS_FreeCString(ctx, filename);
JS_FreeCString(ctx, mode);
if (!f)
- return js_std_throw_errno(ctx, errno);
+ return JS_NULL;
return js_new_std_file(ctx, f, TRUE, FALSE);
fail:
JS_FreeCString(ctx, filename);
@@ -729,7 +737,8 @@ static JSValue js_std_popen(JSContext *ctx, JSValueConst this_val,
{
const char *filename, *mode = NULL;
FILE *f;
-
+ int err;
+
filename = JS_ToCString(ctx, argv[0]);
if (!filename)
goto fail;
@@ -737,15 +746,21 @@ static JSValue js_std_popen(JSContext *ctx, JSValueConst this_val,
if (!mode)
goto fail;
if (mode[strspn(mode, "rw")] != '\0') {
- js_std_throw_errno(ctx, EINVAL);
+ JS_ThrowTypeError(ctx, "invalid file mode");
goto fail;
}
f = popen(filename, mode);
+ if (!f)
+ err = errno;
+ else
+ err = 0;
+ if (argc >= 3)
+ js_set_error_object(ctx, argv[2], err);
JS_FreeCString(ctx, filename);
JS_FreeCString(ctx, mode);
if (!f)
- return js_std_throw_errno(ctx, errno);
+ return JS_NULL;
return js_new_std_file(ctx, f, TRUE, TRUE);
fail:
JS_FreeCString(ctx, filename);
@@ -758,7 +773,7 @@ static JSValue js_std_fdopen(JSContext *ctx, JSValueConst this_val,
{
const char *mode;
FILE *f;
- int fd;
+ int fd, err;
if (JS_ToInt32(ctx, &fd, argv[0]))
return JS_EXCEPTION;
@@ -766,14 +781,20 @@ static JSValue js_std_fdopen(JSContext *ctx, JSValueConst this_val,
if (!mode)
goto fail;
if (mode[strspn(mode, "rwa+")] != '\0') {
- js_std_throw_errno(ctx, EINVAL);
+ JS_ThrowTypeError(ctx, "invalid file mode");
goto fail;
}
f = fdopen(fd, mode);
+ if (!f)
+ err = errno;
+ else
+ err = 0;
+ if (argc >= 3)
+ js_set_error_object(ctx, argv[2], err);
JS_FreeCString(ctx, mode);
if (!f)
- return js_std_throw_errno(ctx, errno);
+ return JS_NULL;
return js_new_std_file(ctx, f, TRUE, FALSE);
fail:
JS_FreeCString(ctx, mode);
@@ -785,8 +806,10 @@ static JSValue js_std_tmpfile(JSContext *ctx, JSValueConst this_val,
{
FILE *f;
f = tmpfile();
+ if (argc >= 1)
+ js_set_error_object(ctx, argv[0], f ? 0 : errno);
if (!f)
- return js_std_throw_errno(ctx, errno);
+ return JS_NULL;
return js_new_std_file(ctx, f, TRUE, FALSE);
}
@@ -808,7 +831,7 @@ static FILE *js_std_file_get(JSContext *ctx, JSValueConst obj)
if (!s)
return NULL;
if (!s->f) {
- js_std_throw_errno(ctx, EBADF);
+ JS_ThrowTypeError(ctx, "invalid file handle");
return NULL;
}
return s->f;
@@ -843,17 +866,17 @@ static JSValue js_std_file_close(JSContext *ctx, JSValueConst this_val,
int argc, JSValueConst *argv)
{
JSSTDFile *s = JS_GetOpaque2(ctx, this_val, js_std_file_class_id);
+ int err;
if (!s)
return JS_EXCEPTION;
if (!s->f)
- return js_std_throw_errno(ctx, EBADF);
- /* XXX: could return exit code */
+ return JS_ThrowTypeError(ctx, "invalid file handle");
if (s->is_popen)
- pclose(s->f);
+ err = js_get_errno(pclose(s->f));
else
- fclose(s->f);
+ err = js_get_errno(fclose(s->f));
s->f = NULL;
- return JS_UNDEFINED;
+ return JS_NewInt32(ctx, err);
}
static JSValue js_std_file_printf(JSContext *ctx, JSValueConst this_val,
@@ -876,7 +899,7 @@ static JSValue js_std_file_flush(JSContext *ctx, JSValueConst this_val,
}
static JSValue js_std_file_tell(JSContext *ctx, JSValueConst this_val,
- int argc, JSValueConst *argv)
+ int argc, JSValueConst *argv, int is_bigint)
{
FILE *f = js_std_file_get(ctx, this_val);
int64_t pos;
@@ -887,7 +910,10 @@ static JSValue js_std_file_tell(JSContext *ctx, JSValueConst this_val,
#else
pos = ftell(f);
#endif
- return JS_NewInt64(ctx, pos);
+ if (is_bigint)
+ return JS_NewBigInt64(ctx, pos);
+ else
+ return JS_NewInt64(ctx, pos);
}
static JSValue js_std_file_seek(JSContext *ctx, JSValueConst this_val,
@@ -898,7 +924,7 @@ static JSValue js_std_file_seek(JSContext *ctx, JSValueConst this_val,
int whence, ret;
if (!f)
return JS_EXCEPTION;
- if (JS_ToInt64(ctx, &pos, argv[0]))
+ if (JS_ToInt64Ext(ctx, &pos, argv[0]))
return JS_EXCEPTION;
if (JS_ToInt32(ctx, &whence, argv[1]))
return JS_EXCEPTION;
@@ -908,8 +934,8 @@ static JSValue js_std_file_seek(JSContext *ctx, JSValueConst this_val,
ret = fseek(f, pos, whence);
#endif
if (ret < 0)
- return js_std_throw_errno(ctx, EBADF);
- return JS_UNDEFINED;
+ ret = -errno;
+ return JS_NewInt32(ctx, ret);
}
static JSValue js_std_file_eof(JSContext *ctx, JSValueConst this_val,
@@ -921,6 +947,25 @@ static JSValue js_std_file_eof(JSContext *ctx, JSValueConst this_val,
return JS_NewBool(ctx, feof(f));
}
+static JSValue js_std_file_error(JSContext *ctx, JSValueConst this_val,
+ int argc, JSValueConst *argv)
+{
+ FILE *f = js_std_file_get(ctx, this_val);
+ if (!f)
+ return JS_EXCEPTION;
+ return JS_NewBool(ctx, ferror(f));
+}
+
+static JSValue js_std_file_clearerr(JSContext *ctx, JSValueConst this_val,
+ int argc, JSValueConst *argv)
+{
+ FILE *f = js_std_file_get(ctx, this_val);
+ if (!f)
+ return JS_EXCEPTION;
+ clearerr(f);
+ return JS_UNDEFINED;
+}
+
static JSValue js_std_file_fileno(JSContext *ctx, JSValueConst this_val,
int argc, JSValueConst *argv)
{
@@ -1151,7 +1196,7 @@ static JSValue js_std_urlGet(JSContext *ctx, JSValueConst this_val,
f = popen((char *)cmd_buf.buf, "r");
dbuf_free(&cmd_buf);
if (!f) {
- return js_std_throw_errno(ctx, errno);
+ return JS_ThrowTypeError(ctx, "could not start curl");
}
js_std_dbuf_init(ctx, data_buf);
@@ -1162,20 +1207,21 @@ static JSValue js_std_urlGet(JSContext *ctx, JSValueConst this_val,
goto fail;
/* get the HTTP status */
- if (http_get_header_line(f, buf, URL_GET_BUF_SIZE, NULL) < 0)
+ if (http_get_header_line(f, buf, URL_GET_BUF_SIZE, NULL) < 0) {
+ status = 0;
goto bad_header;
+ }
status = http_get_status(buf);
if (!full_flag && !(status >= 200 && status <= 299)) {
- js_std_throw_errno(ctx, ENOENT);
- goto fail;
+ goto bad_header;
}
/* wait until there is an empty line */
for(;;) {
if (http_get_header_line(f, buf, URL_GET_BUF_SIZE, header_buf) < 0) {
bad_header:
- js_std_throw_errno(ctx, EINVAL);
- goto fail;
+ response = JS_NULL;
+ goto done;
}
if (!strcmp(buf, "\r\n"))
break;
@@ -1191,11 +1237,6 @@ static JSValue js_std_urlGet(JSContext *ctx, JSValueConst this_val,
break;
dbuf_put(data_buf, (uint8_t *)buf, len);
}
- js_free(ctx, buf);
- buf = NULL;
- pclose(f);
- f = NULL;
-
if (dbuf_error(data_buf))
goto fail;
if (binary_flag) {
@@ -1204,10 +1245,15 @@ static JSValue js_std_urlGet(JSContext *ctx, JSValueConst this_val,
} else {
response = JS_NewStringLen(ctx, (char *)data_buf->buf, data_buf->size);
}
- dbuf_free(data_buf);
- data_buf = NULL;
if (JS_IsException(response))
goto fail;
+ done:
+ js_free(ctx, buf);
+ buf = NULL;
+ pclose(f);
+ f = NULL;
+ dbuf_free(data_buf);
+ data_buf = NULL;
if (full_flag) {
ret_obj = JS_NewObject(ctx);
@@ -1216,13 +1262,15 @@ static JSValue js_std_urlGet(JSContext *ctx, JSValueConst this_val,
JS_DefinePropertyValueStr(ctx, ret_obj, "response",
response,
JS_PROP_C_W_E);
- JS_DefinePropertyValueStr(ctx, ret_obj, "responseHeaders",
- JS_NewStringLen(ctx, (char *)header_buf->buf,
- header_buf->size),
- JS_PROP_C_W_E);
- JS_DefinePropertyValueStr(ctx, ret_obj, "status",
- JS_NewInt32(ctx, status),
- JS_PROP_C_W_E);
+ if (!JS_IsNull(response)) {
+ JS_DefinePropertyValueStr(ctx, ret_obj, "responseHeaders",
+ JS_NewStringLen(ctx, (char *)header_buf->buf,
+ header_buf->size),
+ JS_PROP_C_W_E);
+ JS_DefinePropertyValueStr(ctx, ret_obj, "status",
+ JS_NewInt32(ctx, status),
+ JS_PROP_C_W_E);
+ }
} else {
ret_obj = response;
}
@@ -1245,6 +1293,23 @@ static JSClassDef js_std_file_class = {
.finalizer = js_std_file_finalizer,
};
+static const JSCFunctionListEntry js_std_error_props[] = {
+ /* various errno values */
+#define DEF(x) JS_PROP_INT32_DEF(#x, x, JS_PROP_CONFIGURABLE )
+ DEF(EINVAL),
+ DEF(EIO),
+ DEF(EACCES),
+ DEF(EEXIST),
+ DEF(ENOSPC),
+ DEF(ENOSYS),
+ DEF(EBUSY),
+ DEF(ENOENT),
+ DEF(EPERM),
+ DEF(EPIPE),
+ DEF(EBADF),
+#undef DEF
+};
+
static const JSCFunctionListEntry js_std_funcs[] = {
JS_CFUNC_DEF("exit", 1, js_std_exit ),
JS_CFUNC_DEF("gc", 0, js_std_gc ),
@@ -1252,7 +1317,9 @@ static const JSCFunctionListEntry js_std_funcs[] = {
JS_CFUNC_DEF("loadScript", 1, js_loadScript ),
JS_CFUNC_DEF("getenv", 1, js_std_getenv ),
JS_CFUNC_DEF("urlGet", 1, js_std_urlGet ),
-
+ JS_CFUNC_DEF("loadFile", 1, js_std_loadFile ),
+ JS_CFUNC_DEF("strerror", 1, js_std_strerror ),
+
/* FILE I/O */
JS_CFUNC_DEF("open", 2, js_std_open ),
JS_CFUNC_DEF("popen", 2, js_std_popen ),
@@ -1264,49 +1331,34 @@ static const JSCFunctionListEntry js_std_funcs[] = {
JS_PROP_INT32_DEF("SEEK_SET", SEEK_SET, JS_PROP_CONFIGURABLE ),
JS_PROP_INT32_DEF("SEEK_CUR", SEEK_CUR, JS_PROP_CONFIGURABLE ),
JS_PROP_INT32_DEF("SEEK_END", SEEK_END, JS_PROP_CONFIGURABLE ),
-
+ JS_OBJECT_DEF("Error", js_std_error_props, countof(js_std_error_props), JS_PROP_CONFIGURABLE),
/* setenv, ... */
};
-
-static const JSCFunctionListEntry js_std_error_funcs[] = {
- JS_CFUNC_DEF("strerror", 1, js_std_error_strerror ),
- /* various errno values */
-#define DEF(x) JS_PROP_INT32_DEF(#x, x, JS_PROP_CONFIGURABLE )
- DEF(EINVAL),
- DEF(EIO),
- DEF(EACCES),
- DEF(EEXIST),
- DEF(ENOSPC),
- DEF(ENOSYS),
- DEF(EBUSY),
- DEF(ENOENT),
- DEF(EPERM),
- DEF(EPIPE),
- DEF(EBADF),
-#undef DEF
-};
-
+
static const JSCFunctionListEntry js_std_file_proto_funcs[] = {
JS_CFUNC_DEF("close", 0, js_std_file_close ),
JS_CFUNC_MAGIC_DEF("puts", 1, js_std_file_puts, 1 ),
JS_CFUNC_DEF("printf", 1, js_std_file_printf ),
JS_CFUNC_DEF("flush", 0, js_std_file_flush ),
- JS_CFUNC_DEF("tell", 0, js_std_file_tell ),
+ JS_CFUNC_MAGIC_DEF("tell", 0, js_std_file_tell, 0 ),
+ JS_CFUNC_MAGIC_DEF("tello", 0, js_std_file_tell, 1 ),
JS_CFUNC_DEF("seek", 2, js_std_file_seek ),
JS_CFUNC_DEF("eof", 0, js_std_file_eof ),
JS_CFUNC_DEF("fileno", 0, js_std_file_fileno ),
+ JS_CFUNC_DEF("error", 0, js_std_file_error ),
+ JS_CFUNC_DEF("clearerr", 0, js_std_file_clearerr ),
JS_CFUNC_MAGIC_DEF("read", 3, js_std_file_read_write, 0 ),
JS_CFUNC_MAGIC_DEF("write", 3, js_std_file_read_write, 1 ),
JS_CFUNC_DEF("getline", 0, js_std_file_getline ),
JS_CFUNC_DEF("readAsString", 0, js_std_file_readAsString ),
JS_CFUNC_DEF("getByte", 0, js_std_file_getByte ),
JS_CFUNC_DEF("putByte", 1, js_std_file_putByte ),
- /* setvbuf, ferror, clearerr, ... */
+ /* setvbuf, ... */
};
static int js_std_init(JSContext *ctx, JSModuleDef *m)
{
- JSValue proto, obj;
+ JSValue proto;
/* FILE class */
/* the class ID is created once */
@@ -1323,13 +1375,6 @@ static int js_std_init(JSContext *ctx, JSModuleDef *m)
JS_SetModuleExport(ctx, m, "in", js_new_std_file(ctx, stdin, FALSE, FALSE));
JS_SetModuleExport(ctx, m, "out", js_new_std_file(ctx, stdout, FALSE, FALSE));
JS_SetModuleExport(ctx, m, "err", js_new_std_file(ctx, stderr, FALSE, FALSE));
-
- obj = JS_NewCFunction2(ctx, js_std_error_constructor,
- "Error", 1, JS_CFUNC_constructor, 0);
- JS_SetPropertyFunctionList(ctx, obj, js_std_error_funcs,
- countof(js_std_error_funcs));
- JS_SetModuleExport(ctx, m, "Error", obj);
-
return 0;
}
@@ -1343,20 +1388,12 @@ JSModuleDef *js_init_module_std(JSContext *ctx, const char *module_name)
JS_AddModuleExport(ctx, m, "in");
JS_AddModuleExport(ctx, m, "out");
JS_AddModuleExport(ctx, m, "err");
- JS_AddModuleExport(ctx, m, "Error");
return m;
}
/**********************************************************/
/* 'os' object */
-static JSValue js_os_return(JSContext *ctx, ssize_t ret)
-{
- if (ret < 0)
- ret = -errno;
- return JS_NewInt64(ctx, ret);
-}
-
static JSValue js_os_open(JSContext *ctx, JSValueConst this_val,
int argc, JSValueConst *argv)
{
@@ -1382,9 +1419,9 @@ static JSValue js_os_open(JSContext *ctx, JSValueConst this_val,
if (!(flags & O_TEXT))
flags |= O_BINARY;
#endif
- ret = open(filename, flags, mode);
+ ret = js_get_errno(open(filename, flags, mode));
JS_FreeCString(ctx, filename);
- return js_os_return(ctx, ret);
+ return JS_NewInt32(ctx, ret);
}
static JSValue js_os_close(JSContext *ctx, JSValueConst this_val,
@@ -1393,24 +1430,31 @@ static JSValue js_os_close(JSContext *ctx, JSValueConst this_val,
int fd, ret;
if (JS_ToInt32(ctx, &fd, argv[0]))
return JS_EXCEPTION;
- ret = close(fd);
- return js_os_return(ctx, ret);
+ ret = js_get_errno(close(fd));
+ return JS_NewInt32(ctx, ret);
}
static JSValue js_os_seek(JSContext *ctx, JSValueConst this_val,
int argc, JSValueConst *argv)
{
- int fd, whence, ret;
- int64_t pos;
+ int fd, whence;
+ int64_t pos, ret;
+ BOOL is_bigint;
if (JS_ToInt32(ctx, &fd, argv[0]))
return JS_EXCEPTION;
- if (JS_ToInt64(ctx, &pos, argv[1]))
+ is_bigint = JS_IsBigInt(ctx, argv[1]);
+ if (JS_ToInt64Ext(ctx, &pos, argv[1]))
return JS_EXCEPTION;
if (JS_ToInt32(ctx, &whence, argv[2]))
return JS_EXCEPTION;
ret = lseek(fd, pos, whence);
- return js_os_return(ctx, ret);
+ if (ret == -1)
+ ret = -errno;
+ if (is_bigint)
+ return JS_NewBigInt64(ctx, ret);
+ else
+ return JS_NewInt64(ctx, ret);
}
static JSValue js_os_read_write(JSContext *ctx, JSValueConst this_val,
@@ -1434,10 +1478,10 @@ static JSValue js_os_read_write(JSContext *ctx, JSValueConst this_val,
if (pos + len > size)
return JS_ThrowRangeError(ctx, "read/write array buffer overflow");
if (magic)
- ret = write(fd, buf + pos, len);
+ ret = js_get_errno(write(fd, buf + pos, len));
else
- ret = read(fd, buf + pos, len);
- return js_os_return(ctx, ret);
+ ret = js_get_errno(read(fd, buf + pos, len));
+ return JS_NewInt64(ctx, ret);
}
static JSValue js_os_isatty(JSContext *ctx, JSValueConst this_val,
@@ -1555,9 +1599,9 @@ static JSValue js_os_remove(JSContext *ctx, JSValueConst this_val,
filename = JS_ToCString(ctx, argv[0]);
if (!filename)
return JS_EXCEPTION;
- ret = remove(filename);
+ ret = js_get_errno(remove(filename));
JS_FreeCString(ctx, filename);
- return js_os_return(ctx, ret);
+ return JS_NewInt32(ctx, ret);
}
static JSValue js_os_rename(JSContext *ctx, JSValueConst this_val,
@@ -1574,10 +1618,10 @@ static JSValue js_os_rename(JSContext *ctx, JSValueConst this_val,
JS_FreeCString(ctx, oldpath);
return JS_EXCEPTION;
}
- ret = rename(oldpath, newpath);
+ ret = js_get_errno(rename(oldpath, newpath));
JS_FreeCString(ctx, oldpath);
JS_FreeCString(ctx, newpath);
- return js_os_return(ctx, ret);
+ return JS_NewInt32(ctx, ret);
}
static JSOSRWHandler *find_rh(int fd)
@@ -2018,7 +2062,7 @@ static JSValue js_os_getcwd(JSContext *ctx, JSValueConst this_val,
if (!getcwd(buf, sizeof(buf))) {
buf[0] = '\0';
- err = -errno;
+ err = errno;
} else {
err = 0;
}
@@ -2036,9 +2080,9 @@ static JSValue js_os_chdir(JSContext *ctx, JSValueConst this_val,
target = JS_ToCString(ctx, argv[0]);
if (!target)
return JS_EXCEPTION;
- err = chdir(target);
+ err = js_get_errno(chdir(target));
JS_FreeCString(ctx, target);
- return js_os_return(ctx, err);
+ return JS_NewInt32(ctx, err);
}
/* return [path, errorcode] */
@@ -2056,7 +2100,7 @@ static JSValue js_os_realpath(JSContext *ctx, JSValueConst this_val,
JS_FreeCString(ctx, path);
if (!res) {
buf[0] = '\0';
- err = -errno;
+ err = errno;
} else {
err = 0;
}
@@ -2078,9 +2122,9 @@ static JSValue js_os_mkdir(JSContext *ctx, JSValueConst this_val,
path = JS_ToCString(ctx, argv[0]);
if (!path)
return JS_EXCEPTION;
- ret = mkdir(path, mode);
+ ret = js_get_errno(mkdir(path, mode));
JS_FreeCString(ctx, path);
- return js_os_return(ctx, ret);
+ return JS_NewInt32(ctx, ret);
}
static int64_t timespec_to_ms(const struct timespec *tv)
@@ -2106,7 +2150,7 @@ static JSValue js_os_stat(JSContext *ctx, JSValueConst this_val,
res = stat(path, &st);
JS_FreeCString(ctx, path);
if (res < 0) {
- err = -errno;
+ err = errno;
obj = JS_NULL;
} else {
err = 0;
@@ -2179,10 +2223,10 @@ static JSValue js_os_symlink(JSContext *ctx, JSValueConst this_val,
JS_FreeCString(ctx, target);
return JS_EXCEPTION;
}
- err = symlink(target, linkpath);
+ err = js_get_errno(symlink(target, linkpath));
JS_FreeCString(ctx, target);
JS_FreeCString(ctx, linkpath);
- return js_os_return(ctx, err);
+ return JS_NewInt32(ctx, err);
}
/* return [path, errorcode] */
@@ -2198,14 +2242,14 @@ static JSValue js_os_readlink(JSContext *ctx, JSValueConst this_val,
if (!path)
return JS_EXCEPTION;
res = readlink(path, buf, sizeof(buf) - 1);
- JS_FreeCString(ctx, path);
if (res < 0) {
buf[0] = '\0';
- err = -errno;
+ err = errno;
} else {
buf[res] = '\0';
err = 0;
}
+ JS_FreeCString(ctx, path);
return make_string_error(ctx, buf, err);
}
@@ -2229,18 +2273,19 @@ static JSValue js_os_readdir(JSContext *ctx, JSValueConst this_val,
return JS_EXCEPTION;
}
f = opendir(path);
+ if (!f)
+ err = errno;
+ else
+ err = 0;
JS_FreeCString(ctx, path);
- err = 0;
- if (!f) {
- err = -errno;
+ if (!f)
goto done;
- }
len = 0;
for(;;) {
errno = 0;
d = readdir(f);
if (!d) {
- err = -errno;
+ err = errno;
break;
}
JS_DefinePropertyValueUint32(ctx, obj, len++,
@@ -2275,9 +2320,9 @@ static JSValue js_os_utimes(JSContext *ctx, JSValueConst this_val,
return JS_EXCEPTION;
ms_to_timeval(×[0], atime);
ms_to_timeval(×[1], mtime);
- ret = utimes(path, times);
+ ret = js_get_errno(utimes(path, times));
JS_FreeCString(ctx, path);
- return js_os_return(ctx, ret);
+ return JS_NewInt32(ctx, ret);
}
/* exec(args[, options]) -> exitcode */
@@ -2486,8 +2531,8 @@ static JSValue js_os_kill(JSContext *ctx, JSValueConst this_val,
return JS_EXCEPTION;
if (JS_ToInt32(ctx, &sig, argv[1]))
return JS_EXCEPTION;
- ret = kill(pid, sig);
- return js_os_return(ctx, ret);
+ ret = js_get_errno(kill(pid, sig));
+ return JS_NewInt32(ctx, ret);
}
/* sleep(delay_ms) */
@@ -2502,8 +2547,8 @@ static JSValue js_os_sleep(JSContext *ctx, JSValueConst this_val,
return JS_EXCEPTION;
ts.tv_sec = delay / 1000;
ts.tv_nsec = (delay % 1000) * 1000000;
- ret = nanosleep(&ts, NULL);
- return js_os_return(ctx, ret);
+ ret = js_get_errno(nanosleep(&ts, NULL));
+ return JS_NewInt32(ctx, ret);
}
/* dup(fd) */
@@ -2514,8 +2559,8 @@ static JSValue js_os_dup(JSContext *ctx, JSValueConst this_val,
if (JS_ToInt32(ctx, &fd, argv[0]))
return JS_EXCEPTION;
- ret = dup(fd);
- return js_os_return(ctx, ret);
+ ret = js_get_errno(dup(fd));
+ return JS_NewInt32(ctx, ret);
}
/* dup2(fd) */
@@ -2528,8 +2573,8 @@ static JSValue js_os_dup2(JSContext *ctx, JSValueConst this_val,
return JS_EXCEPTION;
if (JS_ToInt32(ctx, &fd2, argv[1]))
return JS_EXCEPTION;
- ret = dup2(fd, fd2);
- return js_os_return(ctx, ret);
+ ret = js_get_errno(dup2(fd, fd2));
+ return JS_NewInt32(ctx, ret);
}
#endif /* !_WIN32 */
@@ -2725,23 +2770,30 @@ void js_std_free_handlers(JSRuntime *rt)
}
}
-static void js_std_dump_error1(JSContext *ctx, JSValueConst exception_val,
- BOOL is_throw)
+static void js_dump_obj(JSContext *ctx, FILE *f, JSValueConst val)
+{
+ const char *str;
+
+ str = JS_ToCString(ctx, val);
+ if (str) {
+ fprintf(f, "%s\n", str);
+ JS_FreeCString(ctx, str);
+ } else {
+ fprintf(f, "[exception]\n");
+ }
+}
+
+static void js_std_dump_error1(JSContext *ctx, JSValueConst exception_val)
{
JSValue val;
- const char *stack;
BOOL is_error;
is_error = JS_IsError(ctx, exception_val);
- if (is_throw && !is_error)
- printf("Throw: ");
- js_print(ctx, JS_NULL, 1, (JSValueConst *)&exception_val);
+ js_dump_obj(ctx, stderr, exception_val);
if (is_error) {
val = JS_GetPropertyStr(ctx, exception_val, "stack");
if (!JS_IsUndefined(val)) {
- stack = JS_ToCString(ctx, val);
- printf("%s\n", stack);
- JS_FreeCString(ctx, stack);
+ js_dump_obj(ctx, stderr, val);
}
JS_FreeValue(ctx, val);
}
@@ -2752,7 +2804,7 @@ void js_std_dump_error(JSContext *ctx)
JSValue exception_val;
exception_val = JS_GetException(ctx);
- js_std_dump_error1(ctx, exception_val, TRUE);
+ js_std_dump_error1(ctx, exception_val);
JS_FreeValue(ctx, exception_val);
}
@@ -2761,8 +2813,8 @@ void js_std_promise_rejection_tracker(JSContext *ctx, JSValueConst promise,
BOOL is_handled, void *opaque)
{
if (!is_handled) {
- printf("Possibly unhandled promise rejection: ");
- js_std_dump_error1(ctx, reason, FALSE);
+ fprintf(stderr, "Possibly unhandled promise rejection: ");
+ js_std_dump_error1(ctx, reason);
}
}
diff --git a/quickjs-opcode.h b/quickjs-opcode.h
@@ -119,7 +119,6 @@ DEF( eval, 5, 1, 1, npop_u16) /* func args... -> ret_val */
DEF( apply_eval, 3, 2, 1, u16) /* func array -> ret_eval */
DEF( regexp, 1, 2, 1, none) /* create a RegExp object from the pattern and a
bytecode string */
-DEF( get_super_ctor, 1, 1, 1, none)
DEF( get_super, 1, 1, 1, none)
DEF( import, 1, 1, 1, none) /* dynamic module import */
diff --git a/quickjs.c b/quickjs.c
@@ -284,6 +284,7 @@ struct JSRuntime {
JSNumericOperations bigdecimal_ops;
uint32_t operator_count;
#endif
+ void *user_opaque;
};
struct JSClass {
@@ -1537,6 +1538,16 @@ JSRuntime *JS_NewRuntime2(const JSMallocFunctions *mf, void *opaque)
return NULL;
}
+void *JS_GetRuntimeOpaque(JSRuntime *rt)
+{
+ return rt->user_opaque;
+}
+
+void JS_SetRuntimeOpaque(JSRuntime *rt, void *opaque)
+{
+ rt->user_opaque = opaque;
+}
+
/* default memory allocation functions with memory limitation */
static inline size_t js_def_malloc_usable_size(void *ptr)
{
@@ -2198,26 +2209,6 @@ static inline BOOL is_math_mode(JSContext *ctx)
}
#endif
-JSValue JS_NewInt64(JSContext *ctx, int64_t v)
-{
- if (v == (int32_t)v) {
- return JS_NewInt32(ctx, v);
- } else {
- return __JS_NewFloat64(ctx, (double)v);
- }
-}
-
-static force_inline JSValue JS_NewUint32(JSContext *ctx, uint32_t val)
-{
- JSValue v;
- if (val <= 0x7fffffff) {
- v = JS_MKVAL(JS_TAG_INT, val);
- } else {
- v = __JS_NewFloat64(ctx, val);
- }
- return v;
-}
-
/* JSAtom support */
#define JS_ATOM_TAG_INT (1U << 31)
@@ -9794,6 +9785,8 @@ static JSValue js_atof(JSContext *ctx, const char *str, const char **pp,
if (*p == '.' && (p > p_start || to_digit((uint8_t)p[1]) < radix)) {
is_float = TRUE;
p++;
+ if (*p == sep)
+ goto fail;
while (to_digit((uint8_t)*p) < radix ||
(*p == sep && to_digit((uint8_t)p[1]) < radix))
p++;
@@ -10129,7 +10122,6 @@ static __maybe_unused JSValue JS_ToIntegerFree(JSContext *ctx, JSValue val)
ret = JS_NewInt32(ctx, 0);
} else {
/* convert -0 to +0 */
- /* XXX: should not be done here ? */
d = trunc(d) + 0.0;
ret = JS_NewFloat64(ctx, d);
}
@@ -10385,6 +10377,14 @@ int JS_ToInt64(JSContext *ctx, int64_t *pres, JSValueConst val)
return JS_ToInt64Free(ctx, pres, JS_DupValue(ctx, val));
}
+int JS_ToInt64Ext(JSContext *ctx, int64_t *pres, JSValueConst val)
+{
+ if (JS_IsBigInt(ctx, val))
+ return JS_ToBigInt64(ctx, pres, val);
+ else
+ return JS_ToInt64(ctx, pres, val);
+}
+
/* return (<0, 0) in case of exception */
static int JS_ToInt32Free(JSContext *ctx, int32_t *pres, JSValue val)
{
@@ -11840,7 +11840,8 @@ static JSValue JS_CompactBigInt(JSContext *ctx, JSValue val)
}
/* must be kept in sync with JSOverloadableOperatorEnum */
-static const char *js_overloadable_operator_names[JS_OVOP_COUNT] = {
+/* XXX: use atoms ? */
+static const char js_overloadable_operator_names[JS_OVOP_COUNT][4] = {
"+",
"-",
"*",
@@ -12894,7 +12895,7 @@ static no_inline __exception int js_binary_arith_slow(JSContext *ctx, JSValue *s
handle_bigint:
if (ctx->rt->bigint_ops.binary_arith(ctx, op, sp - 2, op1, op2))
goto exception;
- } else if (tag1 == JS_TAG_FLOAT64 || tag2 == JS_TAG_FLOAT64) {
+ } else {
double dr;
/* float64 result */
if (JS_ToFloat64Free(ctx, &d1, op1)) {
@@ -13031,7 +13032,11 @@ static no_inline __exception int js_add_slow(JSContext *ctx, JSValue *sp)
} else if (tag1 == JS_TAG_BIG_FLOAT || tag2 == JS_TAG_BIG_FLOAT) {
if (ctx->rt->bigfloat_ops.binary_arith(ctx, OP_add, sp - 2, op1, op2))
goto exception;
- } else if (tag1 == JS_TAG_FLOAT64 || tag2 == JS_TAG_FLOAT64) {
+ } else if (tag1 == JS_TAG_BIG_INT || tag2 == JS_TAG_BIG_INT) {
+ handle_bigint:
+ if (ctx->rt->bigint_ops.binary_arith(ctx, OP_add, sp - 2, op1, op2))
+ goto exception;
+ } else {
double d1, d2;
/* float64 result */
if (JS_ToFloat64Free(ctx, &d1, op1)) {
@@ -13040,10 +13045,9 @@ static no_inline __exception int js_add_slow(JSContext *ctx, JSValue *sp)
}
if (JS_ToFloat64Free(ctx, &d2, op2))
goto exception;
+ if (is_math_mode(ctx) && is_safe_integer(d1) && is_safe_integer(d2))
+ goto handle_bigint;
sp[-2] = __JS_NewFloat64(ctx, d1 + d2);
- } else {
- if (ctx->rt->bigint_ops.binary_arith(ctx, OP_add, sp - 2, op1, op2))
- goto exception;
}
return 0;
exception:
@@ -13642,6 +13646,28 @@ static no_inline int js_mul_pow10(JSContext *ctx, JSValue *sp)
#else /* !CONFIG_BIGNUM */
+static JSValue JS_ThrowUnsupportedBigint(JSContext *ctx)
+{
+ return JS_ThrowTypeError(ctx, "bigint is not supported");
+}
+
+JSValue JS_NewBigInt64(JSContext *ctx, int64_t v)
+{
+ return JS_ThrowUnsupportedBigint(ctx);
+}
+
+JSValue JS_NewBigUint64(JSContext *ctx, uint64_t v)
+{
+ return JS_ThrowUnsupportedBigint(ctx);
+}
+
+int JS_ToBigInt64(JSContext *ctx, int64_t *pres, JSValueConst val)
+{
+ JS_ThrowUnsupportedBigint(ctx);
+ *pres = 0;
+ return -1;
+}
+
static no_inline __exception int js_unary_arith_slow(JSContext *ctx,
JSValue *sp,
OPCodeEnum op)
@@ -16280,22 +16306,6 @@ static JSValue JS_CallInternal(JSContext *ctx, JSValueConst func_obj,
}
BREAK;
- CASE(OP_get_super_ctor):
- {
- JSValue proto;
- proto = JS_DupValue(ctx, JS_GetPrototype(ctx, sp[-1]));
- if (JS_IsException(proto))
- goto exception;
- if (!JS_IsConstructor(ctx, proto)) {
- JS_FreeValue(ctx, proto);
- JS_ThrowTypeError(ctx, "not a constructor");
- goto exception;
- }
- JS_FreeValue(ctx, sp[-1]);
- sp[-1] = proto;
- }
- BREAK;
-
CASE(OP_get_super):
{
JSValue proto;
@@ -23821,7 +23831,7 @@ static __exception int js_parse_postfix_expr(JSParseState *s, BOOL accept_lparen
emit_atom(s, JS_ATOM_this_active_func);
emit_u16(s, 0);
- emit_op(s, OP_get_super_ctor);
+ emit_op(s, OP_get_super);
emit_op(s, OP_scope_get_var);
emit_atom(s, JS_ATOM_new_target);
@@ -31993,10 +32003,10 @@ static __exception int js_parse_function_decl2(JSParseState *s,
js_parse_expect(s, ')');
goto fail;
}
- if (s->token.val == ',') {
- if (next_token(s))
- goto fail;
- }
+ if (s->token.val == ')')
+ break;
+ if (js_parse_expect(s, ','))
+ goto fail;
}
if ((func_type == JS_PARSE_FUNC_GETTER && fd->arg_count != 0) ||
(func_type == JS_PARSE_FUNC_SETTER && fd->arg_count != 1)) {
@@ -34381,6 +34391,10 @@ int JS_SetModuleExportList(JSContext *ctx, JSModuleDef *m,
case JS_DEF_PROP_DOUBLE:
val = __JS_NewFloat64(ctx, e->u.f64);
break;
+ case JS_DEF_OBJECT:
+ val = JS_NewObject(ctx);
+ JS_SetPropertyFunctionList(ctx, val, e->u.prop_list.tab, e->u.prop_list.len);
+ break;
default:
abort();
}
@@ -37357,7 +37371,8 @@ static int64_t JS_FlattenIntoArray(JSContext *ctx, JSValueConst target,
JS_ThrowTypeError(ctx, "Array too long");
goto fail;
}
- if (JS_SetPropertyInt64(ctx, target, targetIndex, element) < 0)
+ if (JS_DefinePropertyValueInt64(ctx, target, targetIndex, element,
+ JS_PROP_C_W_E | JS_PROP_THROW) < 0)
return -1;
targetIndex++;
}
@@ -37754,7 +37769,6 @@ static const JSCFunctionListEntry js_array_proto_funcs[] = {
JS_CFUNC_DEF("copyWithin", 2, js_array_copyWithin ),
JS_CFUNC_MAGIC_DEF("flatMap", 1, js_array_flatten, 1 ),
JS_CFUNC_MAGIC_DEF("flat", 0, js_array_flatten, 0 ),
- JS_CFUNC_MAGIC_DEF("flatten", 0, js_array_flatten, 0 ),
JS_CFUNC_MAGIC_DEF("values", 0, js_create_array_iterator, JS_ITERATOR_KIND_VALUE ),
JS_ALIAS_DEF("[Symbol.iterator]", "values" ),
JS_CFUNC_MAGIC_DEF("keys", 0, js_create_array_iterator, JS_ITERATOR_KIND_KEY ),
@@ -39918,14 +39932,36 @@ static JSValue js_math_hypot(JSContext *ctx, JSValueConst this_val,
if (JS_ToFloat64(ctx, &b, argv[1]))
return JS_EXCEPTION;
r = hypot(a, b);
- } else {
+ } else if (argc == 0) {
r = 0;
+ } else {
+ double *tab, a_max;
+ tab = js_malloc(ctx, sizeof(tab[0]) * argc);
+ if (!tab)
+ return JS_EXCEPTION;
+ /* avoid overflow by taking the maximum */
+ a_max = 0;
for(i = 0; i < argc; i++) {
- if (JS_ToFloat64(ctx, &a, argv[i]))
+ if (JS_ToFloat64(ctx, &a, argv[i])) {
+ js_free(ctx, tab);
return JS_EXCEPTION;
- r += a;
+ }
+ a = fabs(a);
+ tab[i] = a;
+ if (a > a_max)
+ a_max = a;
+ }
+ if (a_max == 0 || !isfinite(a_max)) {
+ r = a_max;
+ } else {
+ r = 0;
+ for(i = 0; i < argc; i++) {
+ a = tab[i] / a_max;
+ r += a * a;
+ }
+ r = a_max * sqrt(r);
}
- r = sqrt(r);
+ js_free(ctx, tab);
}
return JS_NewFloat64(ctx, r);
}
@@ -45234,10 +45270,10 @@ static JSValue js_promise_then_finally_func(JSContext *ctx, JSValueConst this_va
}
JS_FreeValue(ctx, ret);
if (magic == 0) {
- then_func = JS_NewCFunctionData(ctx, js_promise_finally_value_thunk, 1,
+ then_func = JS_NewCFunctionData(ctx, js_promise_finally_value_thunk, 0,
0, 1, argv);
} else {
- then_func = JS_NewCFunctionData(ctx, js_promise_finally_thrower, 1,
+ then_func = JS_NewCFunctionData(ctx, js_promise_finally_thrower, 0,
0, 1, argv);
}
if (JS_IsException(then_func)) {
@@ -50037,7 +50073,7 @@ static JSValue js_typed_array_indexOf(JSContext *ctx, JSValueConst this_val,
int argc, JSValueConst *argv, int special)
{
JSObject *p;
- int len, tag, is_int, is_big, k, stop, inc, res = -1;
+ int len, tag, is_int, is_bigint, k, stop, inc, res = -1;
int64_t v64;
double d;
float f;
@@ -50080,7 +50116,11 @@ static JSValue js_typed_array_indexOf(JSContext *ctx, JSValueConst this_val,
inc = 1;
}
- is_big = 0;
+ if (validate_typed_array(ctx, this_val))
+ goto exception;
+ p = JS_VALUE_GET_OBJ(this_val);
+
+ is_bigint = 0;
is_int = 0; /* avoid warning */
v64 = 0; /* avoid warning */
tag = JS_VALUE_GET_NORM_TAG(argv[0]);
@@ -50095,10 +50135,20 @@ static JSValue js_typed_array_indexOf(JSContext *ctx, JSValueConst this_val,
is_int = (v64 == d);
} else
#ifdef CONFIG_BIGNUM
- if (tag == JS_TAG_BIG_INT || tag == JS_TAG_BIG_FLOAT) {
- /* will a generic loop for bigint and bigfloat */
- /* XXX: should use the generic loop in math_mode? */
- is_big = 1;
+ if (tag == JS_TAG_BIG_INT) {
+ JSBigFloat *p1 = JS_VALUE_GET_PTR(argv[0]);
+
+ if (p->class_id == JS_CLASS_BIG_INT64_ARRAY) {
+ if (bf_get_int64(&v64, &p1->num, 0) != 0)
+ goto done;
+ } else if (p->class_id == JS_CLASS_BIG_UINT64_ARRAY) {
+ if (bf_get_uint64((uint64_t *)&v64, &p1->num) != 0)
+ goto done;
+ } else {
+ goto done;
+ }
+ d = 0;
+ is_bigint = 1;
} else
#endif
{
@@ -50172,7 +50222,7 @@ static JSValue js_typed_array_indexOf(JSContext *ctx, JSValueConst this_val,
}
break;
case JS_CLASS_FLOAT32_ARRAY:
- if (is_big)
+ if (is_bigint)
break;
if (isnan(d)) {
const float *pv = p->u.array.u.float_ptr;
@@ -50196,7 +50246,7 @@ static JSValue js_typed_array_indexOf(JSContext *ctx, JSValueConst this_val,
}
break;
case JS_CLASS_FLOAT64_ARRAY:
- if (is_big)
+ if (is_bigint)
break;
if (isnan(d)) {
const double *pv = p->u.array.u.double_ptr;
@@ -50221,20 +50271,22 @@ static JSValue js_typed_array_indexOf(JSContext *ctx, JSValueConst this_val,
break;
#ifdef CONFIG_BIGNUM
case JS_CLASS_BIG_INT64_ARRAY:
+ if (is_bigint || (is_math_mode(ctx) && is_int &&
+ v64 >= -MAX_SAFE_INTEGER &&
+ v64 <= MAX_SAFE_INTEGER)) {
+ goto scan64;
+ }
+ break;
case JS_CLASS_BIG_UINT64_ARRAY:
- if (is_big || is_strict_mode(ctx)) {
- /* generic loop for bignums, argv[0] is a bignum != NaN */
- /* XXX: optimize with explicit values */
+ if (is_bigint || (is_math_mode(ctx) && is_int &&
+ v64 >= 0 && v64 <= MAX_SAFE_INTEGER)) {
+ const uint64_t *pv;
+ uint64_t v;
+ scan64:
+ pv = p->u.array.u.uint64_ptr;
+ v = v64;
for (; k != stop; k += inc) {
- JSValue v = JS_GetPropertyUint32(ctx, this_val, k);
- int ret;
- if (JS_IsException(v))
- goto exception;
- ret = js_same_value_zero(ctx, v, argv[0]);
- JS_FreeValue(ctx, v);
- if (ret) {
- if (ret < 0)
- goto exception;
+ if (pv[k] == v) {
res = k;
break;
}
diff --git a/quickjs.h b/quickjs.h
@@ -335,6 +335,8 @@ void JS_SetMemoryLimit(JSRuntime *rt, size_t limit);
void JS_SetGCThreshold(JSRuntime *rt, size_t gc_threshold);
JSRuntime *JS_NewRuntime2(const JSMallocFunctions *mf, void *opaque);
void JS_FreeRuntime(JSRuntime *rt);
+void *JS_GetRuntimeOpaque(JSRuntime *rt);
+void JS_SetRuntimeOpaque(JSRuntime *rt, void *opaque);
typedef void JS_MarkFunc(JSRuntime *rt, JSGCObjectHeader *gp);
void JS_MarkValue(JSRuntime *rt, JSValueConst val, JS_MarkFunc *mark_func);
void JS_RunGC(JSRuntime *rt);
@@ -508,7 +510,28 @@ static js_force_inline JSValue JS_NewCatchOffset(JSContext *ctx, int32_t val)
return JS_MKVAL(JS_TAG_CATCH_OFFSET, val);
}
-JSValue JS_NewInt64(JSContext *ctx, int64_t v);
+static js_force_inline JSValue JS_NewInt64(JSContext *ctx, int64_t val)
+{
+ JSValue v;
+ if (val == (int32_t)val) {
+ v = JS_NewInt32(ctx, val);
+ } else {
+ v = __JS_NewFloat64(ctx, val);
+ }
+ return v;
+}
+
+static js_force_inline JSValue JS_NewUint32(JSContext *ctx, uint32_t val)
+{
+ JSValue v;
+ if (val <= 0x7fffffff) {
+ v = JS_NewInt32(ctx, val);
+ } else {
+ v = __JS_NewFloat64(ctx, val);
+ }
+ return v;
+}
+
JSValue JS_NewBigInt64(JSContext *ctx, int64_t v);
JSValue JS_NewBigUint64(JSContext *ctx, uint64_t v);
@@ -657,7 +680,10 @@ static int inline JS_ToUint32(JSContext *ctx, uint32_t *pres, JSValueConst val)
int JS_ToInt64(JSContext *ctx, int64_t *pres, JSValueConst val);
int JS_ToIndex(JSContext *ctx, uint64_t *plen, JSValueConst val);
int JS_ToFloat64(JSContext *ctx, double *pres, JSValueConst val);
+/* return an exception if 'val' is a Number */
int JS_ToBigInt64(JSContext *ctx, int64_t *pres, JSValueConst val);
+/* same as JS_ToInt64() but allow BigInt */
+int JS_ToInt64Ext(JSContext *ctx, int64_t *pres, JSValueConst val);
JSValue JS_NewStringLen(JSContext *ctx, const char *str1, size_t len1);
JSValue JS_NewString(JSContext *ctx, const char *str);
diff --git a/release.sh b/release.sh
@@ -50,21 +50,30 @@ fi
if [ "$binary" = "yes" ] ; then
+make -j4 qjs run-test262
+make -j4 CONFIG_M32=y qjs32 run-test262-32
+strip qjs run-test262 qjs32 run-test262-32
+
d="quickjs-linux-x86_64-${version}"
-name="quickjs-linux-x86_64-${version}"
outdir="/tmp/${d}"
rm -rf $outdir
mkdir -p $outdir
-files="qjs run-test262"
+cp qjs run-test262 $outdir
+
+( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . )
+
+d="quickjs-linux-i686-${version}"
+outdir="/tmp/${d}"
-make -j4 $files
+rm -rf $outdir
+mkdir -p $outdir
-strip $files
-cp $files $outdir
+cp qjs32 $outdir/qjs
+cp run-test262-32 $outdir/run-test262
-( cd /tmp/$d && rm -f ../${name}.zip && zip -r ../${name}.zip . )
+( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . )
fi
diff --git a/run-test262.c b/run-test262.c
@@ -385,8 +385,11 @@ static JSValue js_print(JSContext *ctx, JSValueConst this_val,
str = JS_ToCString(ctx, argv[i]);
if (!str)
return JS_EXCEPTION;
- if (!strcmp(str, "Test262:AsyncTestComplete"))
+ if (!strcmp(str, "Test262:AsyncTestComplete")) {
async_done++;
+ } else if (strstart(str, "Test262:AsyncTestFailure", NULL)) {
+ async_done = 2; /* force an error */
+ }
fputs(str, outfile);
JS_FreeCString(ctx, str);
}
diff --git a/test262.conf b/test262.conf
@@ -87,6 +87,7 @@ destructuring-binding
dynamic-import
export-star-as-namespace-from-module
FinalizationGroup=skip
+FinalizationRegistry=skip
Float32Array
Float64Array
for-in-order
diff --git a/test262_errors.txt b/test262_errors.txt
@@ -1,17 +1,22 @@
test262/test/language/expressions/arrow-function/eval-var-scope-syntax-err.js:47: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
+test262/test/language/expressions/async-arrow-function/eval-var-scope-syntax-err.js:49: TypeError: $DONE() not called
+test262/test/language/expressions/async-function/named-eval-var-scope-syntax-err.js:33: TypeError: $DONE() not called
+test262/test/language/expressions/async-function/nameless-eval-var-scope-syntax-err.js:33: TypeError: $DONE() not called
test262/test/language/expressions/async-generator/eval-var-scope-syntax-err.js:28: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
test262/test/language/expressions/async-generator/named-eval-var-scope-syntax-err.js:28: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
-test262/test/language/expressions/class/super-evaluation-order.js:26: Test262Error: via ArgumentListEvaluation Expected SameValue(«0», «123») to be true
-test262/test/language/expressions/class/super-evaluation-order.js:26: strict mode: Test262Error: via ArgumentListEvaluation Expected SameValue(«0», «123») to be true
test262/test/language/expressions/dynamic-import/usage-from-eval.js:26: TypeError: $DONE() not called
test262/test/language/expressions/dynamic-import/usage-from-eval.js:26: strict mode: TypeError: $DONE() not called
test262/test/language/expressions/function/eval-var-scope-syntax-err.js:48: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
test262/test/language/expressions/generators/eval-var-scope-syntax-err.js:49: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
test262/test/language/expressions/object/method-definition/async-gen-meth-eval-var-scope-syntax-err.js:32: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
+test262/test/language/expressions/object/method-definition/async-meth-eval-var-scope-syntax-err.js:36: TypeError: $DONE() not called
test262/test/language/expressions/object/method-definition/gen-meth-eval-var-scope-syntax-err.js:54: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
test262/test/language/expressions/object/method-definition/meth-eval-var-scope-syntax-err.js:50: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:21: TypeError: value has no property
test262/test/language/expressions/optional-chaining/optional-call-preserves-this.js:15: strict mode: TypeError: value has no property
+test262/test/language/statements/async-function/eval-var-scope-syntax-err.js:33: TypeError: $DONE() not called
test262/test/language/statements/async-generator/eval-var-scope-syntax-err.js:28: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
+test262/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-iter-rtrn-close-null.js:81: TypeError: $DONE() not called
+test262/test/language/statements/for-await-of/async-gen-decl-dstr-array-elem-iter-rtrn-close-null.js:81: strict mode: TypeError: $DONE() not called
test262/test/language/statements/function/eval-var-scope-syntax-err.js:49: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
test262/test/language/statements/generators/eval-var-scope-syntax-err.js:49: Test262Error: Expected a SyntaxError to be thrown but no exception was thrown at all
diff --git a/tests/microbench.js b/tests/microbench.js
@@ -917,11 +917,9 @@ function load_result(filename)
var f, str, res;
if (typeof std === "undefined")
return null;
- try {
- f = std.open(filename, "r");
- } catch(e) {
+ f = std.open(filename, "r");
+ if (!f)
return null;
- }
str = f.readAsString();
res = JSON.parse(str);
f.close();
diff --git a/tests/test_builtin.js b/tests/test_builtin.js
@@ -501,6 +501,10 @@ function test_regexp()
a = eval("/\0a/");
assert(a.toString(), "/\0a/");
assert(a.exec("\0a")[0], "\0a");
+
+ assert(/{1a}/.toString(), "/{1a}/");
+ a = /a{1+/.exec("a{11");
+ assert(a, ["a{11"] );
}
function test_symbol()
diff --git a/tests/test_std.js b/tests/test_std.js
@@ -106,6 +106,9 @@ function test_popen()
f.puts(content);
f.close();
+ /* test loadFile */
+ assert(std.loadFile(fname), content);
+
/* execute the 'cat' shell command */
f = std.popen("cat " + fname, "r");
str = f.readAsString();
@@ -142,13 +145,19 @@ function test_os()
buf[i] = i;
assert(os.write(fd, buf.buffer, 0, buf.length) === buf.length);
- assert(os.seek(fd, 0, os.SEEK_SET) === 0);
+ assert(os.seek(fd, 0, std.SEEK_SET) === 0);
buf2 = new Uint8Array(buf.length);
assert(os.read(fd, buf2.buffer, 0, buf2.length) === buf2.length);
for(i = 0; i < buf.length; i++)
assert(buf[i] == buf2[i]);
+ if (typeof BigInt !== "undefined") {
+ assert(os.seek(fd, BigInt(6), std.SEEK_SET), BigInt(6));
+ assert(os.read(fd, buf2.buffer, 0, 1) === 1);
+ assert(buf[6] == buf2[0]);
+ }
+
assert(os.close(fd) === 0);
[files, err] = os.readdir(fdir);
diff --git a/unicode_download.sh b/unicode_download.sh
@@ -1,8 +1,8 @@
#!/bin/sh
set -e
-url="ftp://ftp.unicode.org/Public/12.1.0/ucd"
-emoji_url="ftp://ftp.unicode.org/Public/emoji/12.0/emoji-data.txt"
+url="ftp://ftp.unicode.org/Public/13.0.0/ucd"
+emoji_url="${url}/emoji/emoji-data.txt"
files="CaseFolding.txt DerivedNormalizationProps.txt PropList.txt \
SpecialCasing.txt CompositionExclusions.txt ScriptExtensions.txt \
@@ -11,9 +11,9 @@ PropertyValueAliases.txt"
mkdir -p unicode
-for f in $files; do
- g="${url}/${f}"
- wget $g -O unicode/$f
-done
+#for f in $files; do
+# g="${url}/${f}"
+# wget $g -O unicode/$f
+#done
wget $emoji_url -O unicode/emoji-data.txt
diff --git a/unicode_gen_def.h b/unicode_gen_def.h
@@ -66,6 +66,7 @@ DEF(Caucasian_Albanian, "Aghb")
DEF(Chakma, "Cakm")
DEF(Cham, "Cham")
DEF(Cherokee, "Cher")
+DEF(Chorasmian, "Chrs")
DEF(Common, "Zyyy")
DEF(Coptic, "Copt,Qaac")
DEF(Cuneiform, "Xsux")
@@ -73,6 +74,7 @@ DEF(Cypriot, "Cprt")
DEF(Cyrillic, "Cyrl")
DEF(Deseret, "Dsrt")
DEF(Devanagari, "Deva")
+DEF(Dives_Akuru, "Diak")
DEF(Dogra, "Dogr")
DEF(Duployan, "Dupl")
DEF(Egyptian_Hieroglyphs, "Egyp")
@@ -106,6 +108,7 @@ DEF(Kayah_Li, "Kali")
DEF(Kharoshthi, "Khar")
DEF(Khmer, "Khmr")
DEF(Khojki, "Khoj")
+DEF(Khitan_Small_Script, "Kits")
DEF(Khudawadi, "Sind")
DEF(Lao, "Laoo")
DEF(Latin, "Latn")
@@ -193,6 +196,7 @@ DEF(Ugaritic, "Ugar")
DEF(Vai, "Vaii")
DEF(Wancho, "Wcho")
DEF(Warang_Citi, "Wara")
+DEF(Yezidi, "Yezi")
DEF(Yi, "Yiii")
DEF(Zanabazar_Square, "Zanb")
#endif
@@ -244,11 +248,11 @@ DEF(Variation_Selector, "VS")
DEF(White_Space, "space")
DEF(Bidi_Mirrored, "Bidi_M")
DEF(Emoji, "")
-DEF(Emoji_Component, "")
-DEF(Emoji_Modifier, "")
-DEF(Emoji_Modifier_Base, "")
-DEF(Emoji_Presentation, "")
-DEF(Extended_Pictographic, "")
+DEF(Emoji_Component, "EComp")
+DEF(Emoji_Modifier, "EMod")
+DEF(Emoji_Modifier_Base, "EBase")
+DEF(Emoji_Presentation, "EPres")
+DEF(Extended_Pictographic, "ExtPict")
DEF(Default_Ignorable_Code_Point, "DI")
DEF(ID_Start, "IDS")
DEF(Case_Ignorable, "CI")