Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
7339c04b
Commit
7339c04b
authored
Jun 27, 2011
by
Aric Stewart
Committed by
Alexandre Julliard
Jul 07, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
usp10: Shift to using the unicode data for most of the indic lexical functions.
parent
95166855
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
878 additions
and
197 deletions
+878
-197
Makefile.in
dlls/usp10/Makefile.in
+1
-0
indicsyllable.c
dlls/usp10/indicsyllable.c
+684
-0
shape.c
dlls/usp10/shape.c
+68
-197
cpmap.pl
libs/wine/cpmap.pl
+125
-0
No files found.
dlls/usp10/Makefile.in
View file @
7339c04b
...
...
@@ -6,6 +6,7 @@ C_SRCS = \
bidi.c
\
breaking.c
\
indic.c
\
indicsyllable.c
\
linebreak.c
\
mirror.c
\
shape.c
\
...
...
dlls/usp10/indicsyllable.c
0 → 100644
View file @
7339c04b
/* Unicode Indic Syllabic Category */
/* generated from http://www.unicode.org/Public/6.0.0/ucd/IndicSyllabicCategory.txt */
/* and from http://www.unicode.org/Public/6.0.0/ucd/IndicMatraCategory.txt */
/* DO NOT EDIT!! */
#include "wine/unicode.h"
const
unsigned
short
indic_syllabic_table
[
5376
]
=
{
/* offsets */
0x0100
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0300
,
0x0400
,
0x0500
,
0x0600
,
0x0700
,
0x0800
,
0x0900
,
0x0a00
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0b00
,
0x0200
,
0x0c00
,
0x0d00
,
0x0e00
,
0x0f00
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x1000
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x1100
,
0x1200
,
0x1300
,
0x1400
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
/* values */
0x4d00
,
0x8700
,
0x8000
,
0x8000
,
0x7100
,
0x7100
,
0x7100
,
0x7100
,
0x6900
,
0x5900
,
0x4800
,
0x3f00
,
0x3000
,
0x1f00
,
0x1300
,
0x0a00
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0009
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x0001
,
0x0001
,
0x0002
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0507
,
0x0107
,
0x0004
,
0x0003
,
0x0107
,
0x0207
,
0x0107
,
0x0607
,
0x0607
,
0x0607
,
0x0607
,
0x0507
,
0x0507
,
0x0507
,
0x0507
,
0x0107
,
0x0107
,
0x0107
,
0x0107
,
0x0605
,
0x0207
,
0x0107
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0507
,
0x0607
,
0x0607
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0006
,
0x0006
,
0x0607
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0001
,
0x0001
,
0x0002
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0004
,
0x0003
,
0x0107
,
0x0207
,
0x0107
,
0x0607
,
0x0607
,
0x0607
,
0x0607
,
0x0000
,
0x0000
,
0x0207
,
0x0207
,
0x0000
,
0x0000
,
0x0407
,
0x0407
,
0x0605
,
0x000b
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0107
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x0006
,
0x0006
,
0x0607
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x0001
,
0x0002
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0004
,
0x0000
,
0x0107
,
0x0207
,
0x0107
,
0x0607
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0507
,
0x0507
,
0x0000
,
0x0000
,
0x0507
,
0x0507
,
0x0605
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x0000
,
0x0009
,
0x0009
,
0x0000
,
0x000e
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x0001
,
0x0002
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0004
,
0x0003
,
0x0107
,
0x0207
,
0x0107
,
0x0607
,
0x0607
,
0x0607
,
0x0607
,
0x0507
,
0x0000
,
0x0507
,
0x0507
,
0x0007
,
0x0000
,
0x0107
,
0x0107
,
0x0605
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0607
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x0001
,
0x0002
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0004
,
0x0003
,
0x0107
,
0x0507
,
0x0107
,
0x0607
,
0x0607
,
0x0607
,
0x0607
,
0x0000
,
0x0000
,
0x0207
,
0x0007
,
0x0000
,
0x0000
,
0x0007
,
0x0007
,
0x0605
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0507
,
0x0007
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x0006
,
0x0006
,
0x0607
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x0011
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0107
,
0x0107
,
0x0507
,
0x0607
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0207
,
0x0207
,
0x0207
,
0x0000
,
0x0407
,
0x0407
,
0x0407
,
0x0505
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0107
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x0001
,
0x0002
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0003
,
0x0507
,
0x0507
,
0x0507
,
0x0107
,
0x0107
,
0x0107
,
0x0107
,
0x0000
,
0x0507
,
0x0507
,
0x0007
,
0x0000
,
0x0507
,
0x0507
,
0x0507
,
0x0505
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0507
,
0x0607
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0607
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x0002
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0004
,
0x0003
,
0x0107
,
0x0507
,
0x0007
,
0x0107
,
0x0107
,
0x0107
,
0x0107
,
0x0000
,
0x0507
,
0x0807
,
0x0807
,
0x0000
,
0x0807
,
0x0807
,
0x0507
,
0x0505
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0107
,
0x0107
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x0000
,
0x0006
,
0x0006
,
0x0607
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x0002
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0003
,
0x0107
,
0x0107
,
0x0107
,
0x0107
,
0x0107
,
0x0607
,
0x0607
,
0x0000
,
0x0207
,
0x0207
,
0x0207
,
0x0000
,
0x0407
,
0x0407
,
0x0407
,
0x0505
,
0x000c
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0107
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0607
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000b
,
0x000b
,
0x000b
,
0x000b
,
0x000b
,
0x000b
,
0x0000
,
0x0000
,
0x0001
,
0x0002
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0505
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0107
,
0x0107
,
0x0107
,
0x0507
,
0x0507
,
0x0607
,
0x0000
,
0x0607
,
0x0000
,
0x0107
,
0x0207
,
0x0007
,
0x0207
,
0x0407
,
0x0407
,
0x0407
,
0x0107
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0107
,
0x0107
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0107
,
0x0507
,
0x0107
,
0x0107
,
0x0507
,
0x0507
,
0x0507
,
0x0507
,
0x0607
,
0x0607
,
0x0605
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0307
,
0x0307
,
0x0307
,
0x0307
,
0x0307
,
0x0107
,
0x0000
,
0x0507
,
0x0013
,
0x0013
,
0x0013
,
0x0013
,
0x0000
,
0x0001
,
0x0505
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x0000
,
0x0000
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x0000
,
0x000a
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x0107
,
0x0507
,
0x0107
,
0x0107
,
0x0507
,
0x0507
,
0x0507
,
0x0507
,
0x0607
,
0x0607
,
0x0000
,
0x0507
,
0x000e
,
0x000e
,
0x0000
,
0x0000
,
0x0307
,
0x0307
,
0x0307
,
0x0307
,
0x0307
,
0x0000
,
0x0000
,
0x0000
,
0x0013
,
0x0013
,
0x0013
,
0x0013
,
0x0000
,
0x0001
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0607
,
0x0507
,
0x0007
,
0x0607
,
0x0607
,
0x0707
,
0x0707
,
0x0707
,
0x0707
,
0x0507
,
0x0507
,
0x0507
,
0x0507
,
0x0001
,
0x0002
,
0x0507
,
0x0007
,
0x0001
,
0x0001
,
0x0605
,
0x0003
,
0x0000
,
0x0000
,
0x0010
,
0x0010
,
0x0010
,
0x0010
,
0x0010
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x0000
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x000d
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0107
,
0x0107
,
0x0507
,
0x0507
,
0x0607
,
0x0607
,
0x0207
,
0x0507
,
0x0507
,
0x0507
,
0x0507
,
0x0001
,
0x0013
,
0x0002
,
0x0e05
,
0x0505
,
0x000e
,
0x000e
,
0x000e
,
0x000e
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0107
,
0x0107
,
0x0607
,
0x0607
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000e
,
0x000e
,
0x000e
,
0x000a
,
0x0107
,
0x0013
,
0x0013
,
0x000a
,
0x000a
,
0x0107
,
0x0107
,
0x0013
,
0x0013
,
0x0013
,
0x0013
,
0x0013
,
0x000a
,
0x000a
,
0x000a
,
0x0507
,
0x0507
,
0x0507
,
0x0507
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000e
,
0x0107
,
0x0207
,
0x0507
,
0x0507
,
0x0013
,
0x0013
,
0x0013
,
0x0013
,
0x0013
,
0x0013
,
0x0013
,
0x000a
,
0x0013
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0013
,
0x0013
,
0x0107
,
0x0507
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0507
,
0x0607
,
0x0605
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0507
,
0x0607
,
0x0605
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0507
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0006
,
0x0006
,
0x0006
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0507
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0006
,
0x0000
,
0x0000
,
0x0107
,
0x0507
,
0x0507
,
0x0507
,
0x0507
,
0x0607
,
0x0607
,
0x0607
,
0x0007
,
0x0007
,
0x0007
,
0x0207
,
0x0207
,
0x0207
,
0x0407
,
0x0407
,
0x0001
,
0x0002
,
0x0107
,
0x0014
,
0x0014
,
0x0000
,
0x000c
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0505
,
0x0e05
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0003
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0009
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0000
,
0x0000
,
0x0000
,
0x0507
,
0x0507
,
0x0607
,
0x0107
,
0x0107
,
0x0807
,
0x0807
,
0x0507
,
0x0507
,
0x000d
,
0x000d
,
0x000d
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000f
,
0x000f
,
0x0001
,
0x000f
,
0x000f
,
0x000f
,
0x000f
,
0x000f
,
0x000f
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x000a
,
0x0008
,
0x0008
,
0x0008
,
0x0008
,
0x0008
,
0x0008
,
0x0008
,
0x0008
,
0x0008
,
0x0008
,
0x0008
,
0x0000
,
0x0000
,
0x0012
,
0x0012
,
0x0012
,
0x0012
,
0x0012
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0200
,
0x0200
,
0x0200
,
0x0100
,
0x0100
,
0x0200
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0500
,
0x0600
,
0x0200
,
0x0100
,
0x0200
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000e
,
0x000e
,
0x000f
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0e05
,
0x0107
,
0x0507
,
0x0100
,
0x0100
,
0x0500
,
0x0500
,
0x0500
,
0x0500
,
0x0600
,
0x0600
,
0x0500
,
0x0600
,
0x0100
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0200
,
0x0500
,
0x0500
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000c
,
0x0002
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0004
,
0x0107
,
0x0500
,
0x0500
,
0x0600
,
0x0600
,
0x0600
,
0x0007
,
0x0007
,
0x0000
,
0x0200
,
0x0200
,
0x0400
,
0x0400
,
0x0507
,
0x0007
,
0x0105
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x000c
,
0x0002
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000d
,
0x0000
,
0x0000
,
0x0500
,
0x0600
,
0x0200
,
0x0100
,
0x0500
,
0x0500
,
0x0105
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0004
,
0x0007
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0007
,
0x0007
,
0x0007
,
0x0000
,
0x0000
,
0x0100
,
0x0100
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0100
,
0x0200
,
0x0200
,
0x0000
,
0x0100
,
0x0100
,
0x0607
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0004
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0009
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0505
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0100
,
0x0100
,
0x0600
,
0x0500
,
0x0107
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0008
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000d
,
0x000a
,
0x0001
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0001
,
0x0002
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000f
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0605
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0600
,
0x0600
,
0x0600
,
0x0500
,
0x0600
,
0x0600
,
0x0600
,
0x0600
,
0x0000
,
0x0000
,
0x0000
,
0x000f
,
0x0105
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000c
,
0x0002
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0004
,
0x0100
,
0x0100
,
0x0500
,
0x0500
,
0x0600
,
0x0600
,
0x0200
,
0x0200
,
0x0507
,
0x000d
,
0x0000
,
0x0000
,
0x0005
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0500
,
0x0500
,
0x0500
,
0x0500
,
0x0600
,
0x0500
,
0x0200
,
0x0200
,
0x0500
,
0x0600
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000f
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000f
,
0x000f
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x000a
,
0x0013
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0507
,
0x0107
,
0x0500
,
0x0500
,
0x0600
,
0x0300
,
0x0300
,
0x0500
,
0x0500
,
0x0000
,
0x0100
,
0x0300
,
0x0300
,
0x0100
,
0x0507
,
0x0013
,
0x0012
,
0x0013
,
0x0012
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0100
,
0x0100
,
0x0507
,
0x0100
,
0x0100
,
0x0607
,
0x0100
,
0x0100
,
0x0000
,
0x0013
,
0x0605
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
};
dlls/usp10/shape.c
View file @
7339c04b
...
...
@@ -71,6 +71,7 @@ static void ShapeCharGlyphProp_Telugu( HDC hdc, ScriptCache *psc, SCRIPT_ANALYSI
static
void
ShapeCharGlyphProp_Kannada
(
HDC
hdc
,
ScriptCache
*
psc
,
SCRIPT_ANALYSIS
*
psa
,
const
WCHAR
*
pwcChars
,
const
INT
cChars
,
const
WORD
*
pwGlyphs
,
const
INT
cGlyphs
,
WORD
*
pwLogClust
,
SCRIPT_CHARPROP
*
pCharProp
,
SCRIPT_GLYPHPROP
*
pGlyphProp
);
static
void
ShapeCharGlyphProp_Malayalam
(
HDC
hdc
,
ScriptCache
*
psc
,
SCRIPT_ANALYSIS
*
psa
,
const
WCHAR
*
pwcChars
,
const
INT
cChars
,
const
WORD
*
pwGlyphs
,
const
INT
cGlyphs
,
WORD
*
pwLogClust
,
SCRIPT_CHARPROP
*
pCharProp
,
SCRIPT_GLYPHPROP
*
pGlyphProp
);
extern
const
unsigned
short
indic_syllabic_table
[];
extern
const
unsigned
short
wine_shaping_table
[];
extern
const
unsigned
short
wine_shaping_forms
[
LAST_ARABIC_CHAR
-
FIRST_ARABIC_CHAR
+
1
][
4
];
...
...
@@ -2225,31 +2226,68 @@ static void ShapeIndicSyllables(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa,
}
}
static
inline
int
unicode_lex
(
WCHAR
c
)
{
int
type
;
if
(
!
c
)
return
lex_Generic
;
if
(
c
==
0x200D
)
return
lex_ZWJ
;
if
(
c
==
0x200C
)
return
lex_ZWNJ
;
if
(
c
==
0x00A0
)
return
lex_NBSP
;
type
=
indic_syllabic_table
[
indic_syllabic_table
[
c
>>
8
]
+
(
c
&
0xff
)];
if
((
type
&
0x00ff
)
!=
0x0007
)
type
=
type
&
0x00ff
;
switch
(
type
)
{
case
0x0d07
:
/* Unknown */
case
0x0e07
:
/* Unknwon */
default:
return
lex_Generic
;
case
0x0001
:
case
0x0002
:
case
0x0011
:
case
0x0012
:
case
0x0013
:
case
0x0014
:
return
lex_Modifier
;
case
0x0003
:
case
0x0009
:
case
0x000a
:
case
0x000b
:
case
0x000d
:
case
0x000e
:
case
0x000f
:
case
0x0010
:
return
lex_Consonant
;
case
0x0004
:
return
lex_Nukta
;
case
0x0005
:
return
lex_Halant
;
case
0x0006
:
case
0x0008
:
return
lex_Vowel
;
case
0x0007
:
case
0x0107
:
return
lex_Matra_post
;
case
0x0207
:
case
0x0307
:
return
lex_Matra_pre
;
case
0x0807
:
case
0x0907
:
case
0x0a07
:
case
0x0b07
:
case
0x0c07
:
case
0x0407
:
return
lex_Composed_Vowel
;
case
0x0507
:
return
lex_Matra_above
;
case
0x0607
:
return
lex_Matra_below
;
case
0x000c
:
return
lex_Ra
;
};
}
static
int
sinhala_lex
(
WCHAR
c
)
{
switch
(
c
)
{
case
0x0DCA
:
return
lex_Halant
;
case
0x0DCF
:
case
0x0DDF
:
case
0x0DD8
:
return
lex_Matra_post
;
case
0x0DD9
:
case
0x0DDB
:
return
lex_Matra_pre
;
case
0x0DDA
:
case
0x0DDC
:
return
lex_Matra_post
;
case
0x200D
:
return
lex_ZWJ
;
case
0x200C
:
return
lex_ZWNJ
;
case
0x00A0
:
return
lex_NBSP
;
case
0x0DDD
:
case
0x0DDC
:
case
0x0DDE
:
return
lex_Matra_post
;
default:
if
(
c
>=
0x0D82
&&
c
<=
0x0D83
)
return
lex_Modifier
;
else
if
(
c
>=
0x0D85
&&
c
<=
0x0D96
)
return
lex_Vowel
;
else
if
(
c
>=
0x0D96
&&
c
<=
0x0DC6
)
return
lex_Consonant
;
else
if
(
c
>=
0x0DD0
&&
c
<=
0x0DD1
)
return
lex_Matra_post
;
else
if
(
c
>=
0x0DD2
&&
c
<=
0x0DD3
)
return
lex_Matra_above
;
else
if
(
c
>=
0x0DD4
&&
c
<=
0x0DD6
)
return
lex_Matra_below
;
else
if
(
c
>=
0x0DDD
&&
c
<=
0x0DDE
)
return
lex_Matra_post
;
else
if
(
c
>=
0x0DF2
&&
c
<=
0x0DF3
)
return
lex_Matra_post
;
else
return
lex_Generic
;
return
unicode_lex
(
c
);
}
}
...
...
@@ -2308,32 +2346,9 @@ static int devanagari_lex(WCHAR c)
{
switch
(
c
)
{
case
0x0951
:
case
0x0952
:
case
0x0903
:
return
lex_Modifier
;
case
0x0930
:
return
lex_Ra
;
case
0x093C
:
return
lex_Nukta
;
case
0x0940
:
case
0x093E
:
return
lex_Matra_post
;
case
0x093F
:
return
lex_Matra_pre
;
case
0x094D
:
return
lex_Halant
;
case
0x0972
:
return
lex_Vowel
;
case
0x200C
:
return
lex_ZWNJ
;
case
0x200D
:
return
lex_ZWJ
;
default:
if
(
c
>=
0x0901
&&
c
<=
0x0902
)
return
lex_Matra_above
;
else
if
(
c
>=
0x0904
&&
c
<=
0x0914
)
return
lex_Vowel
;
else
if
(
c
>=
0x0915
&&
c
<=
0x0939
)
return
lex_Consonant
;
else
if
(
c
>=
0x0941
&&
c
<=
0x0944
)
return
lex_Matra_below
;
else
if
(
c
>=
0x0945
&&
c
<=
0x0948
)
return
lex_Matra_above
;
else
if
(
c
>=
0x0949
&&
c
<=
0x094C
)
return
lex_Matra_post
;
else
if
(
c
>=
0x0953
&&
c
<=
0x0954
)
return
lex_Modifier
;
else
if
(
c
>=
0x0958
&&
c
<=
0x095F
)
return
lex_Consonant
;
else
if
(
c
>=
0x0960
&&
c
<=
0x0961
)
return
lex_Vowel
;
else
if
(
c
>=
0x0962
&&
c
<=
0x0963
)
return
lex_Matra_below
;
else
if
(
c
>=
0x097B
&&
c
<=
0x097C
)
return
lex_Consonant
;
else
if
(
c
>=
0x097E
&&
c
<=
0x097F
)
return
lex_Consonant
;
else
return
lex_Generic
;
return
unicode_lex
(
c
);
}
}
...
...
@@ -2388,30 +2403,9 @@ static int bengali_lex(WCHAR c)
{
switch
(
c
)
{
case
0x0981
:
return
lex_Modifier
;
case
0x09AC
:
case
0x09AF
:
case
0x09CE
:
return
lex_Consonant
;
case
0x09B0
:
return
lex_Ra
;
case
0x09BC
:
return
lex_Nukta
;
case
0x09BF
:
return
lex_Matra_pre
;
case
0x09D7
:
case
0x09BE
:
case
0x09C0
:
return
lex_Matra_post
;
case
0x09CD
:
return
lex_Halant
;
case
0x200C
:
return
lex_ZWNJ
;
case
0x200D
:
return
lex_ZWJ
;
default:
if
(
c
>=
0x0982
&&
c
<=
0x0983
)
return
lex_Matra_post
;
else
if
(
c
>=
0x0985
&&
c
<=
0x0994
)
return
lex_Vowel
;
else
if
(
c
>=
0x0995
&&
c
<=
0x09B9
)
return
lex_Consonant
;
else
if
(
c
>=
0x09C1
&&
c
<=
0x09C4
)
return
lex_Matra_below
;
else
if
(
c
>=
0x09C7
&&
c
<=
0x09C8
)
return
lex_Matra_pre
;
else
if
(
c
>=
0x09DC
&&
c
<=
0x09DF
)
return
lex_Consonant
;
else
if
(
c
>=
0x09E0
&&
c
<=
0x09E1
)
return
lex_Vowel
;
else
if
(
c
>=
0x09E2
&&
c
<=
0x09E3
)
return
lex_Matra_below
;
else
if
(
c
>=
0x09F0
&&
c
<=
0x09F1
)
return
lex_Consonant
;
else
return
lex_Generic
;
return
unicode_lex
(
c
);
}
}
...
...
@@ -2477,31 +2471,7 @@ static void ContextualShape_Bengali(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *
static
int
gurmukhi_lex
(
WCHAR
c
)
{
switch
(
c
)
{
case
0x0A30
:
case
0x0A35
:
case
0x0A39
:
case
0x0A2f
:
return
lex_Consonant
;
case
0x0A3C
:
return
lex_Nukta
;
case
0x0A3F
:
return
lex_Matra_pre
;
case
0x0A03
:
case
0x0A3E
:
case
0x0A40
:
return
lex_Matra_post
;
case
0x0A4D
:
return
lex_Halant
;
case
0x0A70
:
case
0x0A71
:
return
lex_Modifier
;
case
0x200C
:
return
lex_ZWNJ
;
case
0x200D
:
return
lex_ZWJ
;
default:
if
(
c
>=
0x0A01
&&
c
<=
0x0A02
)
return
lex_Modifier
;
else
if
(
c
>=
0x0A05
&&
c
<=
0x0A14
)
return
lex_Vowel
;
else
if
(
c
>=
0x0A15
&&
c
<=
0x0A38
)
return
lex_Consonant
;
else
if
(
c
>=
0x0A41
&&
c
<=
0x0A42
)
return
lex_Matra_below
;
else
if
(
c
>=
0x0A47
&&
c
<=
0x0A4C
)
return
lex_Matra_above
;
else
if
(
c
>=
0x0A59
&&
c
<=
0x0A5E
)
return
lex_Consonant
;
else
return
lex_Generic
;
}
return
unicode_lex
(
c
);
}
static
const
ConsonantComponents
Gurmukhi_consonants
[]
=
{
...
...
@@ -2551,25 +2521,9 @@ static int gujarati_lex(WCHAR c)
{
switch
(
c
)
{
case
0x0A83
:
return
lex_Modifier
;
case
0x0AB0
:
return
lex_Ra
;
case
0x0ABC
:
return
lex_Nukta
;
case
0x0ABF
:
return
lex_Matra_pre
;
case
0x0ABE
:
case
0x0AC0
:
return
lex_Matra_post
;
case
0x0ACD
:
return
lex_Halant
;
case
0x200C
:
return
lex_ZWNJ
;
case
0x200D
:
return
lex_ZWJ
;
default:
if
(
c
>=
0x0A81
&&
c
<=
0x0A82
)
return
lex_Modifier
;
else
if
(
c
>=
0x0A85
&&
c
<=
0x0A94
)
return
lex_Vowel
;
else
if
(
c
>=
0x0A95
&&
c
<=
0x0AB9
)
return
lex_Consonant
;
else
if
(
c
>=
0x0AC1
&&
c
<=
0x0AC4
)
return
lex_Matra_below
;
else
if
(
c
>=
0x0AC5
&&
c
<=
0x0AC8
)
return
lex_Matra_above
;
else
if
(
c
>=
0x0AC9
&&
c
<=
0x0ACC
)
return
lex_Matra_post
;
else
if
(
c
>=
0x0AE0
&&
c
<=
0x0AE1
)
return
lex_Vowel
;
else
if
(
c
>=
0x0AE2
&&
c
<=
0x0AE3
)
return
lex_Matra_below
;
else
return
lex_Generic
;
return
unicode_lex
(
c
);
}
}
...
...
@@ -2607,33 +2561,9 @@ static int oriya_lex(WCHAR c)
{
switch
(
c
)
{
case
0x0B24
:
case
0x0B28
:
case
0x0B2F
:
case
0x0B5F
:
case
0x0B71
:
case
0x0B33
:
return
lex_Consonant
;
case
0x0B30
:
return
lex_Ra
;
case
0x0B3C
:
return
lex_Nukta
;
case
0x0B3F
:
case
0x0B56
:
return
lex_Matra_above
;
case
0x0B3E
:
case
0x0B57
:
case
0x0B40
:
return
lex_Matra_post
;
case
0x0B47
:
return
lex_Matra_pre
;
case
0x0B4D
:
return
lex_Halant
;
case
0x200C
:
return
lex_ZWNJ
;
case
0x200D
:
return
lex_ZWJ
;
default:
if
(
c
>=
0x0B01
&&
c
<=
0x0B03
)
return
lex_Modifier
;
else
if
(
c
>=
0x0B05
&&
c
<=
0x0B14
)
return
lex_Vowel
;
else
if
(
c
>=
0x0B15
&&
c
<=
0x0B39
)
return
lex_Consonant
;
else
if
(
c
>=
0x0B41
&&
c
<=
0x0B44
)
return
lex_Matra_below
;
else
if
(
c
>=
0x0B48
&&
c
<=
0x0B4C
)
return
lex_Composed_Vowel
;
else
if
(
c
>=
0x0B5C
&&
c
<=
0x0B5D
)
return
lex_Consonant
;
else
if
(
c
>=
0x0B60
&&
c
<=
0x0B61
)
return
lex_Vowel
;
else
if
(
c
>=
0x0B62
&&
c
<=
0x0B63
)
return
lex_Matra_below
;
else
return
lex_Generic
;
return
unicode_lex
(
c
);
}
}
...
...
@@ -2685,20 +2615,7 @@ static void ContextualShape_Oriya(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *ps
static
int
tamil_lex
(
WCHAR
c
)
{
switch
(
c
)
{
case
0x0BC0
:
return
lex_Matra_above
;
case
0x0BCD
:
return
lex_Halant
;
case
0x0BD7
:
return
lex_Matra_post
;
case
0x200C
:
return
lex_ZWNJ
;
case
0x200D
:
return
lex_ZWJ
;
default:
if
(
c
>=
0x0B95
&&
c
<=
0x0BB9
)
return
lex_Consonant
;
else
if
(
c
>=
0x0BBE
&&
c
<=
0x0BBF
)
return
lex_Matra_post
;
else
if
(
c
>=
0x0BC1
&&
c
<=
0x0BC2
)
return
lex_Matra_below
;
else
if
(
c
>=
0x0BC6
&&
c
<=
0x0BC8
)
return
lex_Matra_pre
;
else
return
lex_Generic
;
}
return
unicode_lex
(
c
);
}
static
const
VowelComponents
Tamil_vowels
[]
=
{
...
...
@@ -2750,24 +2667,10 @@ static int telugu_lex(WCHAR c)
{
switch
(
c
)
{
case
0x0C4D
:
return
lex_Halant
;
case
0x0C55
:
return
lex_Matra_above
;
case
0x0C56
:
return
lex_Matra_below
;
case
0x200C
:
return
lex_ZWNJ
;
case
0x200D
:
return
lex_ZWJ
;
case
0x0C43
:
case
0x0C44
:
return
lex_Modifier
;
default:
if
(
c
>=
0x0C01
&&
c
<=
0x0C03
)
return
lex_Modifier
;
else
if
(
c
>=
0x0C05
&&
c
<=
0x0C14
)
return
lex_Vowel
;
else
if
(
c
>=
0x0C15
&&
c
<=
0x0C39
)
return
lex_Consonant
;
else
if
(
c
>=
0x0C3E
&&
c
<=
0x0C40
)
return
lex_Matra_above
;
else
if
(
c
>=
0x0C41
&&
c
<=
0x0C42
)
return
lex_Matra_post
;
else
if
(
c
>=
0x0C43
&&
c
<=
0x0C44
)
return
lex_Modifier
;
else
if
(
c
>=
0x0C46
&&
c
<=
0x0C47
)
return
lex_Matra_above
;
else
if
(
c
>=
0x0C4A
&&
c
<=
0x0C4C
)
return
lex_Matra_above
;
else
if
(
c
>=
0x0C58
&&
c
<=
0x0C59
)
return
lex_Consonant
;
else
if
(
c
>=
0x0C60
&&
c
<=
0x0C61
)
return
lex_Vowel
;
else
if
(
c
>=
0x0C62
&&
c
<=
0x0C63
)
return
lex_Modifier
;
else
return
lex_Generic
;
return
unicode_lex
(
c
);
}
}
...
...
@@ -2814,24 +2717,8 @@ static int kannada_lex(WCHAR c)
switch
(
c
)
{
case
0x0CB0
:
return
lex_Ra
;
case
0x0CBC
:
return
lex_Nukta
;
case
0x0CBE
:
return
lex_Matra_post
;
case
0x0CBF
:
return
lex_Matra_above
;
case
0x0CC6
:
return
lex_Matra_above
;
case
0x0CCC
:
return
lex_Matra_above
;
case
0x0CCD
:
return
lex_Halant
;
case
0x0CCE
:
return
lex_Consonant
;
case
0x200C
:
return
lex_ZWNJ
;
case
0x200D
:
return
lex_ZWJ
;
default:
if
(
c
>=
0x0C82
&&
c
<=
0x0C83
)
return
lex_Modifier
;
else
if
(
c
>=
0x0C85
&&
c
<=
0x0C94
)
return
lex_Vowel
;
else
if
(
c
>=
0x0C95
&&
c
<=
0x0CB9
)
return
lex_Consonant
;
else
if
(
c
>=
0x0CC1
&&
c
<=
0x0CC4
)
return
lex_Matra_post
;
else
if
(
c
>=
0x0CD5
&&
c
<=
0x0CD6
)
return
lex_Modifier
;
else
if
(
c
>=
0x0CE0
&&
c
<=
0x0CE1
)
return
lex_Vowel
;
else
if
(
c
>=
0x0CE2
&&
c
<=
0x0CE3
)
return
lex_Matra_below
;
else
return
lex_Generic
;
return
unicode_lex
(
c
);
}
}
...
...
@@ -2879,23 +2766,7 @@ static void ContextualShape_Kannada(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *
static
int
malayalam_lex
(
WCHAR
c
)
{
switch
(
c
)
{
case
0x0D35
:
return
lex_Consonant
;
case
0x0D4D
:
return
lex_Halant
;
case
0x0D57
:
return
lex_Matra_post
;
case
0x200C
:
return
lex_ZWNJ
;
case
0x200D
:
return
lex_ZWJ
;
default:
if
(
c
>=
0x0D02
&&
c
<=
0x0D03
)
return
lex_Modifier
;
else
if
(
c
>=
0x0D05
&&
c
<=
0x0D14
)
return
lex_Vowel
;
else
if
(
c
>=
0x0D15
&&
c
<=
0x0D39
)
return
lex_Consonant
;
else
if
(
c
>=
0x0D3E
&&
c
<=
0x0D44
)
return
lex_Matra_post
;
else
if
(
c
>=
0x0D46
&&
c
<=
0x0D48
)
return
lex_Matra_pre
;
else
if
(
c
>=
0x0D60
&&
c
<=
0x0D61
)
return
lex_Vowel
;
else
if
(
c
>=
0x0D62
&&
c
<=
0x0D63
)
return
lex_Matra_below
;
else
return
lex_Generic
;
}
return
unicode_lex
(
c
);
}
static
const
VowelComponents
Malayalam_vowels
[]
=
{
...
...
libs/wine/cpmap.pl
View file @
7339c04b
...
...
@@ -115,6 +115,49 @@ my %ctype =
"defin"
=>
0x0200
);
my
%
indic_types
=
(
"Other"
=>
0x0000
,
"Bindu"
=>
0x0001
,
"Visarga"
=>
0x0002
,
"Avagraha"
=>
0x0003
,
"Nukta"
=>
0x0004
,
"Virama"
=>
0x0005
,
"Vowel_Independent"
=>
0x0006
,
"Vowel_Dependent"
=>
0x0007
,
"Vowel"
=>
0x0008
,
"Consonant_Placeholder"
=>
0x0009
,
"Consonant"
=>
0x000a
,
"Consonant_Dead"
=>
0x000b
,
"Consonant_Repha"
=>
0x000c
,
"Consonant_Subjoined"
=>
0x000d
,
"Consonant_Medial"
=>
0x000e
,
"Consonant_Final"
=>
0x000f
,
"Consonant_Head_Letter"
=>
0x0010
,
"Modifying_Letter"
=>
0x0011
,
"Tone_Letter"
=>
0x0012
,
"Tone_Mark"
=>
0x0013
,
"Register_Shifter"
=>
0x0014
);
my
%
matra_types
=
(
"Right"
=>
0x01
,
"Left"
=>
0x02
,
"Visual_Order_Left"
=>
0x03
,
"Left_And_Right"
=>
0x04
,
"Top"
=>
0x05
,
"Bottom"
=>
0x06
,
"Top_And_Bottom"
=>
0x07
,
"Top_And_Right"
=>
0x08
,
"Top_And_Left"
=>
0x09
,
"Top_And_Left_And_Right"
=>
0x0a
,
"Bottom_And_Right"
=>
0x0b
,
"Top_And_Bottom_And_Right"
=>
0x0c
,
"Overstruck"
=>
0x0d
,
"Invisible"
=>
0x0e
);
my
%
break_types
=
(
"BK"
=>
0x0001
,
...
...
@@ -1002,6 +1045,87 @@ sub get_lb_ranges()
}
################################################################
# dump the Indic Syllabic Category table
sub
dump_indic
($)
{
my
$filename
=
shift
;
my
@indic_table
=
(
$indic_types
{
'Other'
})
x
65536
;;
my
$INPUT
=
open_data_file
"$UNIDATA/IndicSyllabicCategory.txt"
;
while
(
<
$INPUT
>
)
{
next
if
/^\#/
;
# skip comments
next
if
/^\s*$/
;
# skip empty lines
next
if
/\x1a/
;
# skip ^Z
if
(
/^\s*([0-9a-fA-F]+)\s*;\s*([a-zA-Z_]+)\s*#/
)
{
my
$type
=
$2
;
die
"unknown indic $type"
unless
defined
$indic_types
{
$type
};
if
(
hex
$1
<
65536
)
{
$indic_table
[
hex
$1
]
=
$indic_types
{
$type
};
}
next
;
}
elsif
(
/^\s*([0-9a-fA-F]+)..\s*([0-9a-fA-F]+)\s*;\s*([A-Za-z_]+)\s*#/
)
{
my
$type
=
$3
;
die
"unknown indic $type"
unless
defined
$indic_types
{
$type
};
if
(
hex
$1
<
65536
and
hex
$2
<
6536
)
{
foreach
my
$i
(
hex
$1
..
hex
$2
)
{
$indic_table
[
$i
]
=
$indic_types
{
$type
};
}
}
next
;
}
die
"malformed line $_"
;
}
close
$INPUT
;
$INPUT
=
open_data_file
"$UNIDATA/IndicMatraCategory.txt"
;
while
(
<
$INPUT
>
)
{
next
if
/^\#/
;
# skip comments
next
if
/^\s*$/
;
# skip empty lines
next
if
/\x1a/
;
# skip ^Z
if
(
/^\s*([0-9a-fA-F]+)\s*;\s*([a-zA-Z]+)\s*#/
)
{
my
$type
=
$2
;
die
"unknown matra $type"
unless
defined
$matra_types
{
$type
};
$indic_table
[
hex
$1
]
+=
$matra_types
{
$type
}
<<
8
;
next
;
}
elsif
(
/^\s*([0-9a-fA-F]+)..\s*([0-9a-fA-F]+)\s*;\s*([A-Za-z_]+)\s*#/
)
{
my
$type
=
$3
;
die
"unknown matra $type"
unless
defined
$matra_types
{
$type
};
foreach
my
$i
(
hex
$1
..
hex
$2
)
{
$indic_table
[
$i
]
+=
$matra_types
{
$type
}
<<
8
;
}
next
;
}
die
"malformed line $_"
;
}
close
$INPUT
;
open
OUTPUT
,
">$filename.new"
or
die
"Cannot create $filename"
;
print
"Building $filename\n"
;
print
OUTPUT
"/* Unicode Indic Syllabic Category */\n"
;
print
OUTPUT
"/* generated from $UNIDATA/IndicSyllabicCategory.txt */\n"
;
print
OUTPUT
"/* and from $UNIDATA/IndicMatraCategory.txt */\n"
;
print
OUTPUT
"/* DO NOT EDIT!! */\n\n"
;
print
OUTPUT
"#include \"wine/unicode.h\"\n\n"
;
dump_simple_mapping
(
"indic_syllabic_table"
,
@indic_table
);
close
OUTPUT
;
save_file
(
$filename
);
}
################################################################
# dump the Line Break Properties table
sub
dump_linebreak
($)
{
...
...
@@ -1734,6 +1858,7 @@ DUMP_CTYPE_TABLES( "wctype.c" );
dump_mirroring
(
"../../dlls/usp10/mirror.c"
);
dump_shaping
(
"../../dlls/usp10/shaping.c"
);
dump_linebreak
(
"../../dlls/usp10/linebreak.c"
);
dump_indic
(
"../../dlls/usp10/indicsyllable.c"
);
dump_intl_nls
(
"../../tools/l_intl.nls"
);
foreach
my
$file
(
@allfiles
)
{
HANDLE_FILE
(
@
{
$file
}
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment