Index: Keyboard_EPOS/prj/GCC/c.bat
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/prj/GCC/c.bat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/prj/GCC/c.bat	(working copy)
@@ -0,0 +1,3 @@
+cls
+make clean
+make
\ No newline at end of file
Index: Keyboard_EPOS/prj/GCC/makefile
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/prj/GCC/makefile	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/prj/GCC/makefile	(working copy)
@@ -0,0 +1,86 @@
+
+ifeq ($(OS),Windows_NT)
+DIR = C:/gcc-arm-none-eabi-7-2018-q2-update-win32
+else
+DIR = /usr/gcc-arm-none-eabi-7-2018-q2-update
+endif
+
+ARCH = $(DIR)/bin/arm-none-eabi
+GCC = $(ARCH)-gcc
+LD = $(ARCH)-ld
+AS = $(ARCH)-as
+OBJCOPY = $(ARCH)-objcopy
+OBJDUMP = "$(ARCH)-objdump"
+LIB_PATH = ../../../../../Librarier
+USER_PATH = ../../user
+
+
+all : output/out.hex
+
+
+CORE_OBJS =  $(LIB_PATH)/startup/flash_start_gcc \
+             $(LIB_PATH)/core/system \
+             $(LIB_PATH)/core/misc \
+             $(LIB_PATH)/sdk/yc_gpio \
+             $(LIB_PATH)/sdk/yc_uart \
+             $(LIB_PATH)/sdk/yc_sysctrl \
+             $(LIB_PATH)/sdk/yc_timer\
+             $(LIB_PATH)/sdk/yc_lcd\
+             $(LIB_PATH)/sdk/yc_spi\
+             $(LIB_PATH)/sdk/yc_kscan\
+
+
+             
+USER_OBJS = $(USER_PATH)/main \
+            $(USER_PATH)/bt_code
+			
+OBJS = $(CORE_OBJS) $(USER_OBJS)
+
+INC_DIR = -I $(LIB_PATH)/core \
+          -I $(LIB_PATH)/sdk
+
+
+CFLAG =  -mthumb -mcpu=cortex-m0 -c -g -Os $(INC_DIR) $(DEF) -fno-toplevel-reorder
+LDFLAG = -T output/ld.script -Map=output/memmap -lc -lm -lgcc -L "$(DIR)/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m"  -L "$(DIR)/arm-none-eabi/lib/thumb/v6-m"
+
+define ldscript = 
+SECTIONS
+{ 
+        . = 0x1000000;
+        .text : { *flash_start.o *(.text*) *(.rodata*) }
+        _sidata = ALIGN(4);
+        . = 0x20000;
+        .data : AT (_sidata) { _sdata = .; *(.data) _edata = .; }
+        .bss : { _sbss = .;     *(*.bss) *(*.scommon*) }
+        _ebss = .;
+        . = 0x30000;
+        _stack = .;
+        ASSERT(_ebss < _stack, "data size overflow")
+}
+endef
+
+
+output/out.hex : output/out
+	$(OBJCOPY) $^ -O ihex $@
+
+
+output/out : $(addprefix output/, $(addsuffix .o, $(OBJS)))
+	$(file >output/ld.script, $(ldscript))
+	$(LD) $(addprefix output/obj/,$(addsuffix .o, $(notdir $(OBJS)))) -o $@  $(LDFLAG)
+	$(OBJDUMP) -S $@ > output/disasm
+
+output/%.o : %.c
+	$(GCC) $< $(CFLAG) -o output/obj/$(notdir $@)
+
+output/%.o : %.s
+	$(AS) $^ -mthumb -mcpu=cortex-m0 -o output/obj/$(notdir $@)
+
+
+clean :
+ifeq ($(OS),Windows_NT)
+	del /Q output\*.*
+	del /Q output\obj\*.*
+else
+	rm -rf output/*
+	rm -rf output/obj/*
+endif
Index: Keyboard_EPOS/prj/MDK/Objects/YC3121_keil.sct
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/prj/MDK/Objects/YC3121_keil.sct	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/prj/MDK/Objects/YC3121_keil.sct	(working copy)
@@ -0,0 +1,55 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x00000000 0x0001fff  {    ; load region size_region
+  ER_IROM1 0x00000000 0x00001fff  {  ; load address = execution address
+   startup.o (RESET, +First)
+   startup.o (|.text|,+RO)
+;   *(InRoot$$Sections)
+  }
+  ;ER_IROM2 0x4000   {
+  ;rom_main.o (+RO)
+  ;}
+  
+  ;ER_IROM3 0x100000 {
+	  ;*(InRoot$$Sections)
+  ;}
+	
+  ;ER_IROM4 0x100400   {
+  ;flash_start.o (+RO)
+  ;.ANY (+RO) 
+  ;}
+  
+  ;RW_IRAM1 0x000d0000 0x0010000  {  ; RW data
+   ;.ANY (+RW +ZI)
+  ;}
+  
+;  ARM_LIB_STACK 0xE0000 EMPTY -0x10000{}
+}
+
+;LR_IROM2 0x4000 0x4000{
+;	ER_IROM2 0x4000 {
+;	  rom_main.o (+RO)
+;	}
+;}
+
+LR_IROM3 0x1000200 0x200{
+	ER_IROM3 0x1000200 {
+	  flash_start.o (|.flash_start|,+RO)
+	}
+}
+
+LR_IROM4 0x1000400 0x1000000{
+	ER_IROM4 0x1000400 {
+;	  flash_start.o (|.flash_start|,+RO)
+	  *(InRoot$$Sections)
+	  .ANY (+RO)
+	}
+	
+	
+	 RW_IRAM2 0x00020000 0x010000  {  ; RW data
+	.ANY (+RW +ZI)
+	}
+}
+
Index: Keyboard_EPOS/prj/MDK/YC3121_Keil.uvoptx
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/prj/MDK/YC3121_Keil.uvoptx	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/prj/MDK/YC3121_Keil.uvoptx	(working copy)
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
+
+  <SchemaVersion>1.0</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Extensions>
+    <cExt>*.c</cExt>
+    <aExt>*.s*; *.src; *.a*</aExt>
+    <oExt>*.obj; *.o</oExt>
+    <lExt>*.lib</lExt>
+    <tExt>*.txt; *.h; *.inc</tExt>
+    <pExt>*.plm</pExt>
+    <CppX>*.cpp</CppX>
+    <nMigrate>0</nMigrate>
+  </Extensions>
+
+  <DaveTm>
+    <dwLowDateTime>0</dwLowDateTime>
+    <dwHighDateTime>0</dwHighDateTime>
+  </DaveTm>
+
+  <Target>
+    <TargetName>YC3121</TargetName>
+    <ToolsetNumber>0x4</ToolsetNumber>
+    <ToolsetName>ARM-ADS</ToolsetName>
+    <TargetOption>
+      <CLKADS>12000000</CLKADS>
+      <OPTTT>
+        <gFlags>1</gFlags>
+        <BeepAtEnd>1</BeepAtEnd>
+        <RunSim>0</RunSim>
+        <RunTarget>1</RunTarget>
+        <RunAbUc>0</RunAbUc>
+      </OPTTT>
+      <OPTHX>
+        <HexSelection>1</HexSelection>
+        <FlashByte>65535</FlashByte>
+        <HexRangeLowAddress>0</HexRangeLowAddress>
+        <HexRangeHighAddress>0</HexRangeHighAddress>
+        <HexOffset>0</HexOffset>
+      </OPTHX>
+      <OPTLEX>
+        <PageWidth>79</PageWidth>
+        <PageLength>66</PageLength>
+        <TabStop>8</TabStop>
+        <ListingPath>.\Listings\</ListingPath>
+      </OPTLEX>
+      <ListingPage>
+        <CreateCListing>1</CreateCListing>
+        <CreateAListing>1</CreateAListing>
+        <CreateLListing>1</CreateLListing>
+        <CreateIListing>0</CreateIListing>
+        <AsmCond>1</AsmCond>
+        <AsmSymb>1</AsmSymb>
+        <AsmXref>0</AsmXref>
+        <CCond>1</CCond>
+        <CCode>0</CCode>
+        <CListInc>0</CListInc>
+        <CSymb>0</CSymb>
+        <LinkerCodeListing>0</LinkerCodeListing>
+      </ListingPage>
+      <OPTXL>
+        <LMap>1</LMap>
+        <LComments>1</LComments>
+        <LGenerateSymbols>1</LGenerateSymbols>
+        <LLibSym>1</LLibSym>
+        <LLines>1</LLines>
+        <LLocSym>1</LLocSym>
+        <LPubSym>1</LPubSym>
+        <LXref>0</LXref>
+        <LExpSel>0</LExpSel>
+      </OPTXL>
+      <OPTFL>
+        <tvExp>1</tvExp>
+        <tvExpOptDlg>0</tvExpOptDlg>
+        <IsCurrentTarget>1</IsCurrentTarget>
+      </OPTFL>
+      <CpuCode>7</CpuCode>
+      <DebugOpt>
+        <uSim>0</uSim>
+        <uTrg>1</uTrg>
+        <sLdApp>1</sLdApp>
+        <sGomain>1</sGomain>
+        <sRbreak>1</sRbreak>
+        <sRwatch>1</sRwatch>
+        <sRmem>1</sRmem>
+        <sRfunc>1</sRfunc>
+        <sRbox>1</sRbox>
+        <tLdApp>1</tLdApp>
+        <tGomain>1</tGomain>
+        <tRbreak>1</tRbreak>
+        <tRwatch>1</tRwatch>
+        <tRmem>1</tRmem>
+        <tRfunc>0</tRfunc>
+        <tRbox>1</tRbox>
+        <tRtrace>1</tRtrace>
+        <sRSysVw>1</sRSysVw>
+        <tRSysVw>1</tRSysVw>
+        <sRunDeb>0</sRunDeb>
+        <sLrtime>0</sLrtime>
+        <bEvRecOn>1</bEvRecOn>
+        <bSchkAxf>0</bSchkAxf>
+        <bTchkAxf>0</bTchkAxf>
+        <nTsel>4</nTsel>
+        <sDll></sDll>
+        <sDllPa></sDllPa>
+        <sDlgDll></sDlgDll>
+        <sDlgPa></sDlgPa>
+        <sIfile></sIfile>
+        <tDll></tDll>
+        <tDllPa></tDllPa>
+        <tDlgDll></tDlgDll>
+        <tDlgPa></tDlgPa>
+        <tIfile>..\..\..\..\..\ConfigFiles\MDK\flash.ini</tIfile>
+        <pMon>Segger\JL2CM3.dll</pMon>
+      </DebugOpt>
+      <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>PWSTATINFO</Key>
+          <Name>200,50,700</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>ARMRTXEVENTFLAGS</Key>
+          <Name>-L70 -Z18 -C0 -M0 -T1</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGTARM</Key>
+          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>ARMDBGFLAGS</Key>
+          <Name></Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>JL2CM3</Key>
+          <Name>-U4294967295 -O78 -S0 -ZTIFSpeedSel20000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO31 -FD20000 -FCA000 -FN1 -FF0YC3121 -FS01000200 -FL01000000</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>UL2CM3</Key>
+          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000)</Name>
+        </SetRegEntry>
+      </TargetDriverDllRegistry>
+      <Breakpoint>
+        <Bp>
+          <Number>0</Number>
+          <Type>0</Type>
+          <LineNumber>64</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>0</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>0</BreakIfRCount>
+          <Filename>H:\易兆微电子（杭州）有限责任公司\PRJ\PR3_3121demo\应用板\3121demo\Librarier\sdk\Keyboard.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression></Expression>
+        </Bp>
+      </Breakpoint>
+      <Tracepoint>
+        <THDelay>0</THDelay>
+      </Tracepoint>
+      <DebugFlag>
+        <trace>0</trace>
+        <periodic>0</periodic>
+        <aLwin>1</aLwin>
+        <aCover>0</aCover>
+        <aSer1>0</aSer1>
+        <aSer2>0</aSer2>
+        <aPa>0</aPa>
+        <viewmode>1</viewmode>
+        <vrSel>0</vrSel>
+        <aSym>0</aSym>
+        <aTbox>0</aTbox>
+        <AscS1>0</AscS1>
+        <AscS2>0</AscS2>
+        <AscS3>0</AscS3>
+        <aSer3>0</aSer3>
+        <eProf>0</eProf>
+        <aLa>0</aLa>
+        <aPa1>0</aPa1>
+        <AscS4>0</AscS4>
+        <aSer4>0</aSer4>
+        <StkLoc>0</StkLoc>
+        <TrcWin>0</TrcWin>
+        <newCpu>0</newCpu>
+        <uProt>0</uProt>
+      </DebugFlag>
+      <LintExecutable></LintExecutable>
+      <LintConfigFile></LintConfigFile>
+      <bLintAuto>0</bLintAuto>
+      <bAutoGenD>0</bAutoGenD>
+      <LntExFlags>0</LntExFlags>
+      <pMisraName></pMisraName>
+      <pszMrule></pszMrule>
+      <pSingCmds></pSingCmds>
+      <pMultCmds></pMultCmds>
+      <pMisraNamep></pMisraNamep>
+      <pszMrulep></pszMrulep>
+      <pSingCmdsp></pSingCmdsp>
+      <pMultCmdsp></pMultCmdsp>
+    </TargetOption>
+  </Target>
+
+  <Group>
+    <GroupName>core</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>1</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\core\misc.c</PathWithFileName>
+      <FilenameWithoutPath>misc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>2</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\core\system.c</PathWithFileName>
+      <FilenameWithoutPath>system.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>main</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>3</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\user\main.c</PathWithFileName>
+      <FilenameWithoutPath>main.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>4</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\user\font.c</PathWithFileName>
+      <FilenameWithoutPath>font.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>sdk</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>5</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_gpio.c</PathWithFileName>
+      <FilenameWithoutPath>yc_gpio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>6</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_uart.c</PathWithFileName>
+      <FilenameWithoutPath>yc_uart.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>7</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_timer.c</PathWithFileName>
+      <FilenameWithoutPath>yc_timer.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>8</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_spi.c</PathWithFileName>
+      <FilenameWithoutPath>yc_spi.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>9</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_kscan.c</PathWithFileName>
+      <FilenameWithoutPath>yc_kscan.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>10</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_st7789.c</PathWithFileName>
+      <FilenameWithoutPath>yc_st7789.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>startup</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>11</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\startup\flash_start.s</PathWithFileName>
+      <FilenameWithoutPath>flash_start.s</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>12</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\startup\startup.s</PathWithFileName>
+      <FilenameWithoutPath>startup.s</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+</ProjectOpt>
Index: Keyboard_EPOS/prj/MDK/YC3121_Keil.uvprojx
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/prj/MDK/YC3121_Keil.uvprojx	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/prj/MDK/YC3121_Keil.uvprojx	(working copy)
@@ -0,0 +1,471 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
+
+  <SchemaVersion>2.1</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Targets>
+    <Target>
+      <TargetName>YC3121</TargetName>
+      <ToolsetNumber>0x4</ToolsetNumber>
+      <ToolsetName>ARM-ADS</ToolsetName>
+      <pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
+      <uAC6>0</uAC6>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>ARMCM0</Device>
+          <Vendor>ARM</Vendor>
+          <PackID>ARM.CMSIS.5.5.1</PackID>
+          <PackURL>http://www.keil.com/pack/</PackURL>
+          <Cpu>IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0") CLOCK(12000000) ESEL ELITTLE</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile></StartupFile>
+          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000)</FlashDriverDll>
+          <DeviceId>0</DeviceId>
+          <RegisterFile>$$Device:ARMCM0$Device\ARM\ARMCM0\Include\ARMCM0.h</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile></SFDFile>
+          <bCustSvd>0</bCustSvd>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath></RegisterFilePath>
+          <DBRegisterFilePath></DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>.\Objects\</OutputDirectory>
+          <OutputName>YC3121_Keil</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>1</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>.\Listings\</ListingPath>
+          <HexFormatSelection>1</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>1</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopU1X>0</nStopU1X>
+            <nStopU2X>0</nStopU2X>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopB1X>0</nStopB1X>
+            <nStopB2X>0</nStopB2X>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>1</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>fromelf.exe --text -a -c --output=@L_asm.txt "!L"</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopA1X>0</nStopA1X>
+            <nStopA2X>0</nStopA2X>
+          </AfterMake>
+          <SelectedForBatchBuild>0</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+          <ComprImg>1</ComprImg>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>SARMCM3.DLL</SimDllName>
+          <SimDllArguments>  </SimDllArguments>
+          <SimDlgDll>DARMCM1.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pCM0</SimDlgDllArguments>
+          <TargetDllName>SARMCM3.DLL</TargetDllName>
+          <TargetDllArguments> </TargetDllArguments>
+          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>
+          <TargetDlgDllArguments>-pCM0</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>1</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>1</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4100</DriverSelection>
+          </Flash1>
+          <bUseTDR>0</bUseTDR>
+          <Flash2>Segger\JL2CM3.dll</Flash2>
+          <Flash3>"" ()</Flash3>
+          <Flash4></Flash4>
+          <pFcarmOut></pFcarmOut>
+          <pFcarmGrp></pFcarmGrp>
+          <pFcArmRoot></pFcArmRoot>
+          <FcArmLst>0</FcArmLst>
+        </Utilities>
+        <TargetArmAds>
+          <ArmAdsMisc>
+            <GenerateListings>0</GenerateListings>
+            <asHll>1</asHll>
+            <asAsm>1</asAsm>
+            <asMacX>1</asMacX>
+            <asSyms>1</asSyms>
+            <asFals>1</asFals>
+            <asDbgD>1</asDbgD>
+            <asForm>1</asForm>
+            <ldLst>0</ldLst>
+            <ldmm>1</ldmm>
+            <ldXref>1</ldXref>
+            <BigEnd>0</BigEnd>
+            <AdsALst>1</AdsALst>
+            <AdsACrf>1</AdsACrf>
+            <AdsANop>0</AdsANop>
+            <AdsANot>0</AdsANot>
+            <AdsLLst>1</AdsLLst>
+            <AdsLmap>1</AdsLmap>
+            <AdsLcgr>1</AdsLcgr>
+            <AdsLsym>1</AdsLsym>
+            <AdsLszi>1</AdsLszi>
+            <AdsLtoi>1</AdsLtoi>
+            <AdsLsun>1</AdsLsun>
+            <AdsLven>1</AdsLven>
+            <AdsLsxf>1</AdsLsxf>
+            <RvctClst>0</RvctClst>
+            <GenPPlst>0</GenPPlst>
+            <AdsCpuType>"Cortex-M0"</AdsCpuType>
+            <RvctDeviceName></RvctDeviceName>
+            <mOS>0</mOS>
+            <uocRom>0</uocRom>
+            <uocRam>0</uocRam>
+            <hadIROM>1</hadIROM>
+            <hadIRAM>1</hadIRAM>
+            <hadXRAM>0</hadXRAM>
+            <uocXRam>0</uocXRam>
+            <RvdsVP>0</RvdsVP>
+            <hadIRAM2>0</hadIRAM2>
+            <hadIROM2>0</hadIROM2>
+            <StupSel>8</StupSel>
+            <useUlib>1</useUlib>
+            <EndSel>1</EndSel>
+            <uLtcg>0</uLtcg>
+            <nSecure>0</nSecure>
+            <RoSelD>3</RoSelD>
+            <RwSelD>3</RwSelD>
+            <CodeSel>0</CodeSel>
+            <OptFeed>0</OptFeed>
+            <NoZi1>0</NoZi1>
+            <NoZi2>0</NoZi2>
+            <NoZi3>0</NoZi3>
+            <NoZi4>0</NoZi4>
+            <NoZi5>0</NoZi5>
+            <Ro1Chk>0</Ro1Chk>
+            <Ro2Chk>0</Ro2Chk>
+            <Ro3Chk>0</Ro3Chk>
+            <Ir1Chk>1</Ir1Chk>
+            <Ir2Chk>0</Ir2Chk>
+            <Ra1Chk>0</Ra1Chk>
+            <Ra2Chk>0</Ra2Chk>
+            <Ra3Chk>0</Ra3Chk>
+            <Im1Chk>1</Im1Chk>
+            <Im2Chk>0</Im2Chk>
+            <OnChipMemories>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocm4>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm4>
+              <Ocm5>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm5>
+              <Ocm6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm6>
+              <IRAM>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0x20000</Size>
+              </IRAM>
+              <IROM>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x40000</Size>
+              </IROM>
+              <XRAM>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRAM>
+              <OCR_RVCT1>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT1>
+              <OCR_RVCT2>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT2>
+              <OCR_RVCT3>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT3>
+              <OCR_RVCT4>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x40000</Size>
+              </OCR_RVCT4>
+              <OCR_RVCT5>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT5>
+              <OCR_RVCT6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT6>
+              <OCR_RVCT7>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT7>
+              <OCR_RVCT8>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT8>
+              <OCR_RVCT9>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0x20000</Size>
+              </OCR_RVCT9>
+              <OCR_RVCT10>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT10>
+            </OnChipMemories>
+            <RvctStartVector></RvctStartVector>
+          </ArmAdsMisc>
+          <Cads>
+            <interw>1</interw>
+            <Optim>3</Optim>
+            <oTime>0</oTime>
+            <SplitLS>0</SplitLS>
+            <OneElfS>0</OneElfS>
+            <Strict>0</Strict>
+            <EnumInt>0</EnumInt>
+            <PlainCh>0</PlainCh>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <wLevel>2</wLevel>
+            <uThumb>0</uThumb>
+            <uSurpInc>0</uSurpInc>
+            <uC99>1</uC99>
+            <uGnu>1</uGnu>
+            <useXO>0</useXO>
+            <v6Lang>1</v6Lang>
+            <v6LangP>1</v6LangP>
+            <vShortEn>1</vShortEn>
+            <vShortWch>1</vShortWch>
+            <v6Lto>0</v6Lto>
+            <v6WtE>0</v6WtE>
+            <v6Rtti>0</v6Rtti>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define>__USEKEILCOMPILE__</Define>
+              <Undefine></Undefine>
+              <IncludePath>..\..\..\..\..\Librarier\core;..\..\..\..\..\Librarier\sdk;..\MDK;..\..\user</IncludePath>
+            </VariousControls>
+          </Cads>
+          <Aads>
+            <interw>1</interw>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <thumb>0</thumb>
+            <SplitLS>0</SplitLS>
+            <SwStkChk>0</SwStkChk>
+            <NoWarn>0</NoWarn>
+            <uSurpInc>0</uSurpInc>
+            <useXO>0</useXO>
+            <uClangAs>0</uClangAs>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Aads>
+          <LDads>
+            <umfTarg>0</umfTarg>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <noStLib>0</noStLib>
+            <RepFail>1</RepFail>
+            <useFile>0</useFile>
+            <TextAddressRange>0x00000000</TextAddressRange>
+            <DataAddressRange>0xd0000</DataAddressRange>
+            <pXoBase></pXoBase>
+            <ScatterFile>.\Objects\YC3121_keil.sct</ScatterFile>
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc></Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
+          </LDads>
+        </TargetArmAds>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>core</GroupName>
+          <Files>
+            <File>
+              <FileName>misc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\core\misc.c</FilePath>
+            </File>
+            <File>
+              <FileName>system.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\core\system.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>main</GroupName>
+          <Files>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\user\main.c</FilePath>
+            </File>
+            <File>
+              <FileName>font.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\user\font.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>sdk</GroupName>
+          <Files>
+            <File>
+              <FileName>yc_gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_uart.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_uart.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_timer.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_timer.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_spi.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_spi.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_kscan.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_kscan.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_st7789.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_st7789.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>startup</GroupName>
+          <Files>
+            <File>
+              <FileName>flash_start.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\..\..\..\Librarier\startup\flash_start.s</FilePath>
+            </File>
+            <File>
+              <FileName>startup.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\..\..\..\Librarier\startup\startup.s</FilePath>
+            </File>
+          </Files>
+        </Group>
+      </Groups>
+    </Target>
+  </Targets>
+
+  <RTE>
+    <apis/>
+    <components/>
+    <files/>
+  </RTE>
+
+</Project>
Index: Keyboard_EPOS/user/font.h
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/user/font.h	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/user/font.h	(working copy)
@@ -0,0 +1,29 @@
+#ifndef __FONT_H__
+#define __FONT_H__
+
+//常用ASCII表
+//偏移量32
+//ASCII字符集: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
+//PC2LCD2002取模方式设置：阴码+逐列式+顺向+C51格式
+//总共：2个字符集（16*16和24*24），用户可以自行新增其他分辨率的字符集。
+//每个字符所占用的字节数为:(size/8+((size%8)?1:0))*(size/2),其中size:是字库生成时的点阵大小(12/16/24...)
+
+//1608 ASCII字符集点阵
+extern const unsigned char asc2_1608[95][16];
+
+//2412 ASICII字符集点阵
+extern const unsigned char asc2_2412[95][36];
+
+//3216 ASICII字符集点阵
+extern const unsigned char asc2_3216[95][64];
+
+/* YiChip图标 */
+extern const unsigned char gImage_Yichip[7208];
+
+/* 易兆微电子 */
+extern const unsigned char Yichip_ch[];
+
+/* 欢迎使用 */
+extern const unsigned char Welcom_ch[];
+
+#endif
Index: Keyboard_EPOS/user/font.c
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/user/font.c	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/user/font.c	(working copy)
@@ -0,0 +1,800 @@
+#include "font.h"
+
+//常用ASCII表
+//偏移量32
+//ASCII字符集: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
+//PC2LCD2002取模方式设置：阴码+逐列式+顺向+C51格式
+//总共：3个字符集（12*12、16*16和24*24），用户可以自行新增其他分辨率的字符集。
+//每个字符所占用的字节数为:(size/8+((size%8)?1:0))*(size/2),其中size:是字库生成时的点阵大小(12/16/24...)
+//1608 ASCII字符集点阵
+const unsigned char asc2_1608[95][16]={
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xCC,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/
+{0x00,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x00,0x00},/*""",2*/
+{0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x00,0x00},/*"#",3*/
+{0x00,0x00,0x0E,0x18,0x11,0x04,0x3F,0xFF,0x10,0x84,0x0C,0x78,0x00,0x00,0x00,0x00},/*"$",4*/
+{0x0F,0x00,0x10,0x84,0x0F,0x38,0x00,0xC0,0x07,0x78,0x18,0x84,0x00,0x78,0x00,0x00},/*"%",5*/
+{0x00,0x78,0x0F,0x84,0x10,0xC4,0x11,0x24,0x0E,0x98,0x00,0xE4,0x00,0x84,0x00,0x08},/*"&",6*/
+{0x08,0x00,0x68,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x18,0x18,0x20,0x04,0x40,0x02,0x00,0x00},/*"(",8*/
+{0x00,0x00,0x40,0x02,0x20,0x04,0x18,0x18,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*")",9*/
+{0x02,0x40,0x02,0x40,0x01,0x80,0x0F,0xF0,0x01,0x80,0x02,0x40,0x02,0x40,0x00,0x00},/*"*",10*/
+{0x00,0x80,0x00,0x80,0x00,0x80,0x0F,0xF8,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00},/*"+",11*/
+{0x00,0x01,0x00,0x0D,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",12*/
+{0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80},/*"-",13*/
+{0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/
+{0x00,0x00,0x00,0x06,0x00,0x18,0x00,0x60,0x01,0x80,0x06,0x00,0x18,0x00,0x20,0x00},/*"/",15*/
+{0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"0",16*/
+{0x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/*"1",17*/
+{0x00,0x00,0x0E,0x0C,0x10,0x14,0x10,0x24,0x10,0x44,0x11,0x84,0x0E,0x0C,0x00,0x00},/*"2",18*/
+{0x00,0x00,0x0C,0x18,0x10,0x04,0x11,0x04,0x11,0x04,0x12,0x88,0x0C,0x70,0x00,0x00},/*"3",19*/
+{0x00,0x00,0x00,0xE0,0x03,0x20,0x04,0x24,0x08,0x24,0x1F,0xFC,0x00,0x24,0x00,0x00},/*"4",20*/
+{0x00,0x00,0x1F,0x98,0x10,0x84,0x11,0x04,0x11,0x04,0x10,0x88,0x10,0x70,0x00,0x00},/*"5",21*/
+{0x00,0x00,0x07,0xF0,0x08,0x88,0x11,0x04,0x11,0x04,0x18,0x88,0x00,0x70,0x00,0x00},/*"6",22*/
+{0x00,0x00,0x1C,0x00,0x10,0x00,0x10,0xFC,0x13,0x00,0x1C,0x00,0x10,0x00,0x00,0x00},/*"7",23*/
+{0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00},/*"8",24*/
+{0x00,0x00,0x07,0x00,0x08,0x8C,0x10,0x44,0x10,0x44,0x08,0x88,0x07,0xF0,0x00,0x00},/*"9",25*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x03,0x0C,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/
+{0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*";",27*/
+{0x00,0x00,0x00,0x80,0x01,0x40,0x02,0x20,0x04,0x10,0x08,0x08,0x10,0x04,0x00,0x00},/*"<",28*/
+{0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x00,0x00},/*"=",29*/
+{0x00,0x00,0x10,0x04,0x08,0x08,0x04,0x10,0x02,0x20,0x01,0x40,0x00,0x80,0x00,0x00},/*">",30*/
+{0x00,0x00,0x0E,0x00,0x12,0x00,0x10,0x0C,0x10,0x6C,0x10,0x80,0x0F,0x00,0x00,0x00},/*"?",31*/
+{0x03,0xE0,0x0C,0x18,0x13,0xE4,0x14,0x24,0x17,0xC4,0x08,0x28,0x07,0xD0,0x00,0x00},/*"@",32*/
+{0x00,0x04,0x00,0x3C,0x03,0xC4,0x1C,0x40,0x07,0x40,0x00,0xE4,0x00,0x1C,0x00,0x04},/*"A",33*/
+{0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x11,0x04,0x0E,0x88,0x00,0x70,0x00,0x00},/*"B",34*/
+{0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x1C,0x10,0x00,0x00},/*"C",35*/
+{0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"D",36*/
+{0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x17,0xC4,0x10,0x04,0x08,0x18,0x00,0x00},/*"E",37*/
+{0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x17,0xC0,0x10,0x00,0x08,0x00,0x00,0x00},/*"F",38*/
+{0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x44,0x1C,0x78,0x00,0x40,0x00,0x00},/*"G",39*/
+{0x10,0x04,0x1F,0xFC,0x10,0x84,0x00,0x80,0x00,0x80,0x10,0x84,0x1F,0xFC,0x10,0x04},/*"H",40*/
+{0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x00,0x00,0x00,0x00},/*"I",41*/
+{0x00,0x03,0x00,0x01,0x10,0x01,0x10,0x01,0x1F,0xFE,0x10,0x00,0x10,0x00,0x00,0x00},/*"J",42*/
+{0x10,0x04,0x1F,0xFC,0x11,0x04,0x03,0x80,0x14,0x64,0x18,0x1C,0x10,0x04,0x00,0x00},/*"K",43*/
+{0x10,0x04,0x1F,0xFC,0x10,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0C,0x00,0x00},/*"L",44*/
+{0x10,0x04,0x1F,0xFC,0x1F,0x00,0x00,0xFC,0x1F,0x00,0x1F,0xFC,0x10,0x04,0x00,0x00},/*"M",45*/
+{0x10,0x04,0x1F,0xFC,0x0C,0x04,0x03,0x00,0x00,0xE0,0x10,0x18,0x1F,0xFC,0x10,0x00},/*"N",46*/
+{0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"O",47*/
+{0x10,0x04,0x1F,0xFC,0x10,0x84,0x10,0x80,0x10,0x80,0x10,0x80,0x0F,0x00,0x00,0x00},/*"P",48*/
+{0x07,0xF0,0x08,0x18,0x10,0x24,0x10,0x24,0x10,0x1C,0x08,0x0A,0x07,0xF2,0x00,0x00},/*"Q",49*/
+{0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x11,0xC0,0x11,0x30,0x0E,0x0C,0x00,0x04},/*"R",50*/
+{0x00,0x00,0x0E,0x1C,0x11,0x04,0x10,0x84,0x10,0x84,0x10,0x44,0x1C,0x38,0x00,0x00},/*"S",51*/
+{0x18,0x00,0x10,0x00,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x00,0x18,0x00,0x00,0x00},/*"T",52*/
+{0x10,0x00,0x1F,0xF8,0x10,0x04,0x00,0x04,0x00,0x04,0x10,0x04,0x1F,0xF8,0x10,0x00},/*"U",53*/
+{0x10,0x00,0x1E,0x00,0x11,0xE0,0x00,0x1C,0x00,0x70,0x13,0x80,0x1C,0x00,0x10,0x00},/*"V",54*/
+{0x1F,0xC0,0x10,0x3C,0x00,0xE0,0x1F,0x00,0x00,0xE0,0x10,0x3C,0x1F,0xC0,0x00,0x00},/*"W",55*/
+{0x10,0x04,0x18,0x0C,0x16,0x34,0x01,0xC0,0x01,0xC0,0x16,0x34,0x18,0x0C,0x10,0x04},/*"X",56*/
+{0x10,0x00,0x1C,0x00,0x13,0x04,0x00,0xFC,0x13,0x04,0x1C,0x00,0x10,0x00,0x00,0x00},/*"Y",57*/
+{0x08,0x04,0x10,0x1C,0x10,0x64,0x10,0x84,0x13,0x04,0x1C,0x04,0x10,0x18,0x00,0x00},/*"Z",58*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x40,0x02,0x40,0x02,0x40,0x02,0x00,0x00},/*"[",59*/
+{0x00,0x00,0x30,0x00,0x0C,0x00,0x03,0x80,0x00,0x60,0x00,0x1C,0x00,0x03,0x00,0x00},/*"\",60*/
+{0x00,0x00,0x40,0x02,0x40,0x02,0x40,0x02,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00},/*"]",61*/
+{0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00},/*"^",62*/
+{0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01},/*"_",63*/
+{0x00,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
+{0x00,0x00,0x00,0x98,0x01,0x24,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xFC,0x00,0x04},/*"a",65*/
+{0x10,0x00,0x1F,0xFC,0x00,0x88,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00},/*"b",66*/
+{0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x00},/*"c",67*/
+{0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x11,0x08,0x1F,0xFC,0x00,0x04},/*"d",68*/
+{0x00,0x00,0x00,0xF8,0x01,0x44,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xC8,0x00,0x00},/*"e",69*/
+{0x00,0x00,0x01,0x04,0x01,0x04,0x0F,0xFC,0x11,0x04,0x11,0x04,0x11,0x00,0x18,0x00},/*"f",70*/
+{0x00,0x00,0x00,0xD6,0x01,0x29,0x01,0x29,0x01,0x29,0x01,0xC9,0x01,0x06,0x00,0x00},/*"g",71*/
+{0x10,0x04,0x1F,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04},/*"h",72*/
+{0x00,0x00,0x01,0x04,0x19,0x04,0x19,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/*"i",73*/
+{0x00,0x00,0x00,0x03,0x00,0x01,0x01,0x01,0x19,0x01,0x19,0xFE,0x00,0x00,0x00,0x00},/*"j",74*/
+{0x10,0x04,0x1F,0xFC,0x00,0x24,0x00,0x40,0x01,0xB4,0x01,0x0C,0x01,0x04,0x00,0x00},/*"k",75*/
+{0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/*"l",76*/
+{0x01,0x04,0x01,0xFC,0x01,0x04,0x01,0x00,0x01,0xFC,0x01,0x04,0x01,0x00,0x00,0xFC},/*"m",77*/
+{0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04},/*"n",78*/
+{0x00,0x00,0x00,0xF8,0x01,0x04,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0xF8,0x00,0x00},/*"o",79*/
+{0x01,0x01,0x01,0xFF,0x00,0x85,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00},/*"p",80*/
+{0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x05,0x01,0xFF,0x00,0x01},/*"q",81*/
+{0x01,0x04,0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x04,0x01,0x00,0x01,0x80,0x00,0x00},/*"r",82*/
+{0x00,0x00,0x00,0xCC,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x98,0x00,0x00},/*"s",83*/
+{0x00,0x00,0x01,0x00,0x01,0x00,0x07,0xF8,0x01,0x04,0x01,0x04,0x00,0x00,0x00,0x00},/*"t",84*/
+{0x01,0x00,0x01,0xF8,0x00,0x04,0x00,0x04,0x00,0x04,0x01,0x08,0x01,0xFC,0x00,0x04},/*"u",85*/
+{0x01,0x00,0x01,0x80,0x01,0x70,0x00,0x0C,0x00,0x10,0x01,0x60,0x01,0x80,0x01,0x00},/*"v",86*/
+{0x01,0xF0,0x01,0x0C,0x00,0x30,0x01,0xC0,0x00,0x30,0x01,0x0C,0x01,0xF0,0x01,0x00},/*"w",87*/
+{0x00,0x00,0x01,0x04,0x01,0x8C,0x00,0x74,0x01,0x70,0x01,0x8C,0x01,0x04,0x00,0x00},/*"x",88*/
+{0x01,0x01,0x01,0x81,0x01,0x71,0x00,0x0E,0x00,0x18,0x01,0x60,0x01,0x80,0x01,0x00},/*"y",89*/
+{0x00,0x00,0x01,0x84,0x01,0x0C,0x01,0x34,0x01,0x44,0x01,0x84,0x01,0x0C,0x00,0x00},/*"z",90*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x3E,0xFC,0x40,0x02,0x40,0x02},/*"{",91*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},/*"|",92*/
+{0x00,0x00,0x40,0x02,0x40,0x02,0x3E,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"}",93*/
+{0x00,0x00,0x60,0x00,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00},/*"~",94*/
+};
+
+//2412 ASICII字符集点阵
+const unsigned char asc2_2412[95][36]={
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x38,0x0F,0xFE,0x38,0x0F,0x80,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x06,0x00,0x00,0x0C,0x00,0x00,0x38,0x00,0x00,0x31,0x00,0x00,0x06,0x00,0x00,0x0C,0x00,0x00,0x38,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00},/*""",2*/
+{0x00,0x00,0x00,0x00,0x61,0x80,0x00,0x67,0xF8,0x07,0xF9,0x80,0x00,0x61,0x80,0x00,0x61,0x80,0x00,0x61,0x80,0x00,0x61,0x80,0x00,0x67,0xF8,0x07,0xF9,0x80,0x00,0x61,0x80,0x00,0x00,0x00},/*"#",3*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0xE0,0x03,0xE0,0xF0,0x06,0x30,0x08,0x04,0x18,0x08,0x1F,0xFF,0xFE,0x04,0x0E,0x08,0x07,0x87,0xF0,0x03,0x81,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*"$",4*/
+{0x01,0xF0,0x00,0x06,0x0C,0x00,0x04,0x04,0x08,0x06,0x0C,0x70,0x01,0xF9,0xC0,0x00,0x0E,0x00,0x00,0x3B,0xE0,0x00,0xEC,0x18,0x07,0x08,0x08,0x04,0x0C,0x18,0x00,0x03,0xE0,0x00,0x00,0x00},/*"%",5*/
+{0x00,0x01,0xE0,0x00,0x07,0xF0,0x03,0xF8,0x18,0x04,0x1C,0x08,0x04,0x17,0x08,0x07,0xE1,0xD0,0x03,0xC0,0xE0,0x00,0x23,0xB0,0x00,0x3C,0x08,0x00,0x20,0x08,0x00,0x00,0x10,0x00,0x00,0x00},/*"&",6*/
+{0x00,0x00,0x00,0x01,0x00,0x00,0x31,0x00,0x00,0x32,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0xFF,0xC0,0x07,0x80,0xF0,0x0C,0x00,0x18,0x10,0x00,0x04,0x20,0x00,0x02,0x00,0x00,0x00},/*"(",8*/
+{0x00,0x00,0x00,0x20,0x00,0x02,0x10,0x00,0x04,0x0C,0x00,0x18,0x07,0x80,0xF0,0x01,0xFF,0xC0,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*")",9*/
+{0x00,0x00,0x00,0x00,0x42,0x00,0x00,0x66,0x00,0x00,0x66,0x00,0x00,0x3C,0x00,0x00,0x18,0x00,0x03,0xFF,0xC0,0x00,0x18,0x00,0x00,0x3C,0x00,0x00,0x66,0x00,0x00,0x66,0x00,0x00,0x42,0x00},/*"*",10*/
+{0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x01,0xFF,0xC0,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00},/*"+",11*/
+{0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x31,0x00,0x00,0x32,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",12*/
+{0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00},/*"-",13*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/
+{0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x1C,0x00,0x00,0x70,0x00,0x01,0x80,0x00,0x0E,0x00,0x00,0x38,0x00,0x00,0xC0,0x00,0x07,0x00,0x00,0x1C,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00},/*"/",15*/
+{0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x18,0x04,0x00,0x08,0x04,0x00,0x08,0x06,0x00,0x18,0x03,0x80,0x70,0x01,0xFF,0xE0,0x00,0x7F,0x80,0x00,0x00,0x00},/*"0",16*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0x08,0x03,0xFF,0xF8,0x07,0xFF,0xF8,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00},/*"1",17*/
+{0x00,0x00,0x00,0x01,0xC0,0x38,0x02,0xC0,0x58,0x04,0x00,0x98,0x04,0x01,0x18,0x04,0x02,0x18,0x04,0x04,0x18,0x06,0x1C,0x18,0x03,0xF8,0x18,0x01,0xE0,0xF8,0x00,0x00,0x00,0x00,0x00,0x00},/*"2",18*/
+{0x00,0x00,0x00,0x01,0xC0,0xE0,0x03,0xC0,0xF0,0x04,0x00,0x08,0x04,0x08,0x08,0x04,0x08,0x08,0x06,0x18,0x08,0x03,0xF4,0x18,0x01,0xE7,0xF0,0x00,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*"3",19*/
+{0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x0D,0x00,0x00,0x11,0x00,0x00,0x61,0x00,0x00,0x81,0x08,0x03,0x01,0x08,0x07,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0x01,0x08,0x00,0x01,0x08,0x00,0x00,0x00},/*"4",20*/
+{0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0xFC,0xD0,0x06,0x08,0x08,0x06,0x10,0x08,0x06,0x10,0x08,0x06,0x10,0x08,0x06,0x18,0x38,0x06,0x0F,0xF0,0x06,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00},/*"5",21*/
+{0x00,0x00,0x00,0x00,0x3F,0x80,0x01,0xFF,0xE0,0x03,0x84,0x30,0x02,0x08,0x18,0x04,0x10,0x08,0x04,0x10,0x08,0x04,0x10,0x08,0x07,0x18,0x10,0x03,0x0F,0xF0,0x00,0x07,0xC0,0x00,0x00,0x00},/*"6",22*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x07,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0xF8,0x06,0x07,0xF8,0x06,0x18,0x00,0x06,0xE0,0x00,0x07,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00},/*"7",23*/
+{0x00,0x00,0x00,0x01,0xE1,0xE0,0x03,0xF7,0xF0,0x06,0x34,0x10,0x04,0x18,0x08,0x04,0x18,0x08,0x04,0x0C,0x08,0x04,0x0C,0x08,0x06,0x16,0x18,0x03,0xF3,0xF0,0x01,0xC1,0xE0,0x00,0x00,0x00},/*"8",24*/
+{0x00,0x00,0x00,0x00,0xF8,0x00,0x03,0xFC,0x30,0x03,0x06,0x38,0x04,0x02,0x08,0x04,0x02,0x08,0x04,0x02,0x08,0x04,0x04,0x10,0x03,0x08,0xF0,0x01,0xFF,0xC0,0x00,0x7F,0x00,0x00,0x00,0x00},/*"9",25*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x38,0x00,0x70,0x38,0x00,0x70,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x1A,0x00,0x30,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*";",27*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x14,0x00,0x00,0x22,0x00,0x00,0x41,0x00,0x00,0x80,0x80,0x01,0x00,0x40,0x02,0x00,0x20,0x04,0x00,0x10,0x08,0x00,0x08,0x00,0x00,0x00},/*"<",28*/
+{0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x00,0x00},/*"=",29*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x04,0x00,0x10,0x02,0x00,0x20,0x01,0x00,0x40,0x00,0x80,0x80,0x00,0x41,0x00,0x00,0x22,0x00,0x00,0x14,0x00,0x00,0x08,0x00,0x00,0x00,0x00},/*">",30*/
+{0x00,0x00,0x00,0x03,0xC0,0x00,0x04,0xC0,0x00,0x04,0x00,0x00,0x08,0x00,0x38,0x08,0x0F,0x38,0x08,0x08,0x38,0x08,0x10,0x00,0x0C,0x30,0x00,0x07,0xE0,0x00,0x03,0xC0,0x00,0x00,0x00,0x00},/*"?",31*/
+{0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0xFF,0xE0,0x03,0x80,0x70,0x02,0x0F,0x10,0x06,0x70,0x88,0x04,0xC0,0x88,0x04,0x83,0x08,0x04,0x7F,0x88,0x02,0xC0,0x90,0x03,0x01,0x20,0x00,0xFE,0x40},/*"@",32*/
+{0x00,0x00,0x08,0x00,0x00,0x18,0x00,0x01,0xF8,0x00,0x3E,0x08,0x01,0xC2,0x00,0x07,0x02,0x00,0x07,0xE2,0x00,0x00,0xFE,0x00,0x00,0x1F,0xC8,0x00,0x01,0xF8,0x00,0x00,0x38,0x00,0x00,0x08},/*"A",33*/
+{0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x08,0x08,0x06,0x18,0x08,0x03,0xF4,0x18,0x01,0xE7,0xF0,0x00,0x01,0xE0,0x00,0x00,0x00},/*"B",34*/
+{0x00,0x00,0x00,0x00,0x3F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x02,0x00,0x18,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x10,0x06,0x00,0x20,0x07,0x80,0xC0,0x00,0x00,0x00},/*"C",35*/
+{0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x18,0x02,0x00,0x10,0x03,0x80,0x70,0x01,0xFF,0xE0,0x00,0x7F,0x80,0x00,0x00,0x00},/*"D",36*/
+{0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x3E,0x08,0x04,0x00,0x08,0x06,0x00,0x18,0x01,0x00,0x60,0x00,0x00,0x00},/*"E",37*/
+{0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x00,0x04,0x08,0x00,0x04,0x08,0x00,0x04,0x3E,0x00,0x06,0x00,0x00,0x06,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00},/*"F",38*/
+{0x00,0x00,0x00,0x00,0x3F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x18,0x04,0x00,0x08,0x04,0x02,0x08,0x04,0x02,0x08,0x02,0x03,0xF0,0x07,0x83,0xF0,0x00,0x02,0x00,0x00,0x02,0x00},/*"G",39*/
+{0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x04,0x08,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08},/*"H",40*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00},/*"I",41*/
+{0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x07,0x00,0x00,0x01,0x04,0x00,0x01,0x04,0x00,0x01,0x04,0x00,0x03,0x07,0xFF,0xFE,0x07,0xFF,0xFC,0x04,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00},/*"J",42*/
+{0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x0C,0x08,0x00,0x18,0x00,0x00,0x3E,0x00,0x04,0xC7,0x80,0x05,0x03,0xC8,0x06,0x00,0xF8,0x04,0x00,0x38,0x04,0x00,0x18,0x00,0x00,0x08},/*"K",43*/
+{0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x18,0x00,0x00,0x60,0x00,0x00,0x00},/*"L",44*/
+{0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0x80,0x08,0x07,0xFC,0x00,0x00,0x7F,0xC0,0x00,0x03,0xF8,0x00,0x07,0xC0,0x00,0x78,0x00,0x07,0x80,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08},/*"M",45*/
+{0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0x00,0x08,0x03,0xC0,0x00,0x00,0xE0,0x00,0x00,0x38,0x00,0x00,0x1E,0x00,0x00,0x07,0x00,0x00,0x01,0xC0,0x04,0x00,0xF0,0x07,0xFF,0xF8,0x04,0x00,0x00},/*"N",46*/
+{0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x18,0x04,0x00,0x08,0x04,0x00,0x08,0x06,0x00,0x18,0x03,0x00,0x30,0x01,0xFF,0xE0,0x00,0x7F,0x80,0x00,0x00,0x00},/*"O",47*/
+{0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x04,0x08,0x04,0x04,0x00,0x04,0x04,0x00,0x04,0x04,0x00,0x04,0x04,0x00,0x06,0x0C,0x00,0x03,0xF8,0x00,0x01,0xF0,0x00,0x00,0x00,0x00},/*"P",48*/
+{0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x88,0x04,0x00,0x88,0x04,0x00,0xC8,0x06,0x00,0x3C,0x03,0x00,0x3E,0x01,0xFF,0xE6,0x00,0x7F,0x84,0x00,0x00,0x00},/*"Q",49*/
+{0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x00,0x04,0x0C,0x00,0x04,0x0F,0x00,0x04,0x0B,0xC0,0x06,0x10,0xF0,0x03,0xF0,0x38,0x01,0xE0,0x08,0x00,0x00,0x08},/*"R",50*/
+{0x00,0x00,0x00,0x01,0xE0,0xF8,0x03,0xF0,0x30,0x06,0x30,0x10,0x04,0x18,0x08,0x04,0x18,0x08,0x04,0x0C,0x08,0x04,0x0C,0x08,0x02,0x06,0x18,0x02,0x07,0xF0,0x07,0x81,0xE0,0x00,0x00,0x00},/*"S",51*/
+{0x01,0x80,0x00,0x06,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,0x04,0x00,0x00,0x04,0x00,0x00,0x06,0x00,0x00,0x01,0x80,0x00},/*"T",52*/
+{0x04,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xF0,0x04,0x00,0x18,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x04,0x00,0x10,0x07,0xFF,0xE0,0x04,0x00,0x00},/*"U",53*/
+{0x04,0x00,0x00,0x06,0x00,0x00,0x07,0xE0,0x00,0x07,0xFE,0x00,0x04,0x1F,0xE0,0x00,0x01,0xF8,0x00,0x00,0x38,0x00,0x01,0xE0,0x04,0x3E,0x00,0x07,0xC0,0x00,0x06,0x00,0x00,0x04,0x00,0x00},/*"V",54*/
+{0x04,0x00,0x00,0x07,0xE0,0x00,0x07,0xFF,0xC0,0x04,0x1F,0xF8,0x00,0x07,0xC0,0x07,0xF8,0x00,0x07,0xFF,0x80,0x04,0x3F,0xF8,0x00,0x07,0xC0,0x04,0xF8,0x00,0x07,0x00,0x00,0x04,0x00,0x00},/*"W",55*/
+{0x00,0x00,0x00,0x04,0x00,0x08,0x06,0x00,0x18,0x07,0xC0,0x78,0x05,0xF1,0xC8,0x00,0x3E,0x00,0x00,0x1F,0x80,0x04,0x63,0xE8,0x07,0x80,0xF8,0x06,0x00,0x18,0x04,0x00,0x08,0x00,0x00,0x00},/*"X",56*/
+{0x04,0x00,0x00,0x06,0x00,0x00,0x07,0x80,0x00,0x07,0xE0,0x08,0x04,0x7C,0x08,0x00,0x1F,0xF8,0x00,0x07,0xF8,0x00,0x18,0x08,0x04,0xE0,0x08,0x07,0x00,0x00,0x06,0x00,0x00,0x04,0x00,0x00},/*"Y",57*/
+{0x00,0x00,0x00,0x01,0x00,0x08,0x06,0x00,0x38,0x04,0x00,0xF8,0x04,0x03,0xE8,0x04,0x0F,0x08,0x04,0x7C,0x08,0x05,0xF0,0x08,0x07,0xC0,0x08,0x07,0x00,0x18,0x04,0x00,0x60,0x00,0x00,0x00},/*"Z",58*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFE,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x00,0x00,0x00},/*"[",59*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x07,0x00,0x00,0x00,0xC0,0x00,0x00,0x38,0x00,0x00,0x06,0x00,0x00,0x01,0xC0,0x00,0x00,0x30,0x00,0x00,0x0E,0x00,0x00,0x01,0x00,0x00,0x00},/*"\",60*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x3F,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"]",61*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x10,0x00,0x00,0x30,0x00,0x00,0x20,0x00,0x00,0x30,0x00,0x00,0x10,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
+{0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01},/*"_",63*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
+{0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x19,0xF8,0x00,0x1B,0x18,0x00,0x22,0x08,0x00,0x26,0x08,0x00,0x24,0x08,0x00,0x24,0x10,0x00,0x3F,0xF8,0x00,0x1F,0xF8,0x00,0x00,0x08,0x00,0x00,0x18},/*"a",65*/
+{0x00,0x00,0x00,0x04,0x00,0x00,0x07,0xFF,0xF8,0x0F,0xFF,0xF0,0x00,0x18,0x18,0x00,0x10,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x30,0x18,0x00,0x1F,0xF0,0x00,0x0F,0xC0,0x00,0x00,0x00},/*"b",66*/
+{0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x18,0x30,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x3C,0x08,0x00,0x1C,0x10,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00},/*"c",67*/
+{0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x38,0x18,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x04,0x10,0x10,0x07,0xFF,0xF8,0x0F,0xFF,0xF0,0x00,0x00,0x10,0x00,0x00,0x00},/*"d",68*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x12,0x30,0x00,0x22,0x18,0x00,0x22,0x08,0x00,0x22,0x08,0x00,0x32,0x08,0x00,0x1E,0x10,0x00,0x0E,0x20,0x00,0x00,0x00},/*"e",69*/
+{0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x08,0x00,0x20,0x08,0x01,0xFF,0xF8,0x03,0xFF,0xF8,0x06,0x20,0x08,0x04,0x20,0x08,0x04,0x20,0x08,0x07,0x20,0x00,0x03,0x00,0x00,0x00,0x00,0x00},/*"f",70*/
+{0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x0E,0x6E,0x00,0x1F,0xF3,0x00,0x31,0xB1,0x00,0x20,0xB1,0x00,0x20,0xB1,0x00,0x31,0x91,0x00,0x1F,0x13,0x00,0x2E,0x1E,0x00,0x20,0x0E,0x00,0x30,0x00},/*"g",71*/
+{0x00,0x00,0x00,0x04,0x00,0x08,0x07,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0x10,0x08,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x1F,0xF8,0x00,0x00,0x08,0x00,0x00,0x00},/*"h",72*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x06,0x3F,0xF8,0x06,0x3F,0xF8,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00},/*"i",73*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x20,0x01,0x00,0x20,0x01,0x00,0x20,0x03,0x06,0x3F,0xFE,0x06,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"j",74*/
+{0x00,0x00,0x00,0x04,0x00,0x08,0x07,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0x01,0x88,0x00,0x03,0x00,0x00,0x2F,0xC0,0x00,0x38,0xF8,0x00,0x20,0x38,0x00,0x20,0x08,0x00,0x00,0x08,0x00,0x00,0x00},/*"k",75*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x07,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00},/*"l",76*/
+{0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x10,0x08,0x00,0x20,0x00,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x10,0x08,0x00,0x20,0x00,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x00,0x08},/*"m",77*/
+{0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x10,0x08,0x00,0x10,0x00,0x00,0x20,0x00,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x1F,0xF8,0x00,0x00,0x08,0x00,0x00,0x00},/*"n",78*/
+{0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x0F,0xF0,0x00,0x18,0x30,0x00,0x30,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x30,0x08,0x00,0x18,0x30,0x00,0x0F,0xF0,0x00,0x07,0xC0,0x00,0x00,0x00},/*"o",79*/
+{0x00,0x00,0x00,0x00,0x20,0x01,0x00,0x3F,0xFF,0x00,0x3F,0xFF,0x00,0x10,0x11,0x00,0x20,0x09,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x30,0x38,0x00,0x1F,0xF0,0x00,0x0F,0xC0,0x00,0x00,0x00},/*"p",80*/
+{0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x38,0x18,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x09,0x00,0x10,0x11,0x00,0x1F,0xFF,0x00,0x3F,0xFF,0x00,0x00,0x01,0x00,0x00,0x00},/*"q",81*/
+{0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x08,0x08,0x00,0x10,0x08,0x00,0x20,0x08,0x00,0x20,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x00,0x00},/*"r",82*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x78,0x00,0x1E,0x18,0x00,0x33,0x08,0x00,0x23,0x08,0x00,0x21,0x08,0x00,0x21,0x88,0x00,0x21,0x98,0x00,0x30,0xF0,0x00,0x38,0x60,0x00,0x00,0x00},/*"s",83*/
+{0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0xFF,0xF0,0x03,0xFF,0xF8,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00},/*"t",84*/
+{0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x3F,0xF0,0x00,0x7F,0xF8,0x00,0x00,0x18,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x20,0x10,0x00,0x3F,0xF8,0x00,0x7F,0xF0,0x00,0x00,0x10,0x00,0x00,0x00},/*"u",85*/
+{0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x30,0x00,0x00,0x3C,0x00,0x00,0x3F,0x80,0x00,0x23,0xF0,0x00,0x00,0x78,0x00,0x00,0x70,0x00,0x23,0x80,0x00,0x3C,0x00,0x00,0x30,0x00,0x00,0x20,0x00},/*"v",86*/
+{0x00,0x20,0x00,0x00,0x3C,0x00,0x00,0x3F,0xE0,0x00,0x23,0xF8,0x00,0x00,0xE0,0x00,0x27,0x00,0x00,0x3E,0x00,0x00,0x3F,0xE0,0x00,0x21,0xF8,0x00,0x01,0xE0,0x00,0x3E,0x00,0x00,0x20,0x00},/*"w",87*/
+{0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x38,0x38,0x00,0x3E,0x68,0x00,0x27,0x80,0x00,0x03,0xC8,0x00,0x2C,0xF8,0x00,0x38,0x38,0x00,0x20,0x18,0x00,0x20,0x08,0x00,0x00,0x00},/*"x",88*/
+{0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x30,0x03,0x00,0x3C,0x01,0x00,0x3F,0x83,0x00,0x23,0xEC,0x00,0x00,0x70,0x00,0x23,0x80,0x00,0x3C,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0x00},/*"y",89*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x08,0x00,0x20,0x38,0x00,0x20,0xF8,0x00,0x23,0xE8,0x00,0x2F,0x88,0x00,0x3E,0x08,0x00,0x38,0x08,0x00,0x20,0x18,0x00,0x00,0x70,0x00,0x00,0x00},/*"z",90*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x14,0x00,0x1F,0xF7,0xFC,0x30,0x00,0x06,0x20,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00},/*"{",91*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"|",92*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x02,0x30,0x00,0x06,0x1F,0xF7,0xFC,0x00,0x14,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"}",93*/
+{0x00,0x00,0x00,0x18,0x00,0x00,0x60,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x20,0x00,0x00,0x10,0x00,0x00,0x08,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x0C,0x00,0x00,0x10,0x00,0x00},/*"~",94*/
+};
+
+//3216 ASICII字符集点阵
+const unsigned char asc2_3216[95][64]={
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x00,0x60,0x03,0xFF,0xF8,0xF0,0x03,0xFF,0xF8,0xF0,0x03,0xF8,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x01,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x38,0xC0,0x00,0x00,0x01,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
+{0x00,0x00,0x00,0x00,0x00,0x1C,0x0E,0x00,0x00,0x1C,0x0E,0x00,0x00,0x1C,0x0F,0xF0,0x00,0x1F,0xFF,0x00,0x03,0xFC,0x0E,0x00,0x00,0x1C,0x0E,0x00,0x00,0x1C,0x0E,0x00,0x00,0x1C,0x0E,0x00,0x00,0x1C,0x0E,0x00,0x00,0x1C,0x0F,0xF0,0x00,0x1F,0xFF,0x00,0x03,0xFC,0x0E,0x00,0x00,0x1C,0x0E,0x00,0x00,0x1C,0x0E,0x00,0x00,0x00,0x00,0x00},/*"#",3*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x78,0x03,0xE0,0x01,0xFE,0x03,0x20,0x01,0x0F,0x00,0x10,0x02,0x03,0x80,0x10,0x0F,0xFF,0xFF,0xFE,0x02,0x00,0xE0,0x10,0x02,0x00,0xE0,0x30,0x01,0x30,0x78,0x60,0x01,0xF0,0x3F,0xC0,0x00,0xF0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"$",4*/
+{0x00,0x7E,0x00,0x00,0x01,0xFF,0x80,0x00,0x03,0x00,0xC0,0x00,0x02,0x00,0x40,0x30,0x03,0x00,0xC1,0xC0,0x01,0xFF,0x86,0x00,0x00,0x7E,0x38,0x00,0x00,0x00,0xC0,0x00,0x00,0x07,0x1F,0x80,0x00,0x38,0x7F,0xE0,0x00,0xC0,0xC0,0x30,0x03,0x00,0x80,0x10,0x00,0x00,0xC0,0x30,0x00,0x00,0x7F,0xE0,0x00,0x00,0x1F,0x80,0x00,0x00,0x00,0x00},/*"%",5*/
+{0x00,0x00,0x1F,0x80,0x00,0x00,0x3F,0xC0,0x00,0xFE,0xC0,0x60,0x01,0xFF,0xC0,0x30,0x03,0x03,0xF0,0x10,0x02,0x01,0x7C,0x10,0x02,0x06,0x1E,0x10,0x03,0xFC,0x07,0xA0,0x00,0xF0,0x01,0xC0,0x00,0x00,0x81,0xE0,0x00,0x00,0x8E,0x70,0x00,0x00,0xF0,0x30,0x00,0x00,0x80,0x30,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00},/*"&",6*/
+{0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x38,0xC0,0x00,0x00,0x38,0x80,0x00,0x00,0x3F,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,0x00,0x00,0x3F,0xFE,0x00,0x00,0xF0,0x07,0x80,0x03,0x80,0x00,0xE0,0x06,0x00,0x00,0x30,0x0C,0x00,0x00,0x18,0x10,0x00,0x00,0x04,0x20,0x00,0x00,0x02,0x00,0x00,0x00,0x00},/*"(",8*/
+{0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x02,0x10,0x00,0x00,0x04,0x0C,0x00,0x00,0x18,0x06,0x00,0x00,0x30,0x03,0x80,0x00,0xE0,0x00,0xF0,0x07,0x80,0x00,0x3F,0xFF,0x00,0x00,0x0F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*")",9*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x1C,0x38,0x00,0x00,0x0C,0x30,0x00,0x00,0x06,0x60,0x00,0x00,0x02,0x40,0x00,0x00,0x61,0x8F,0x00,0x00,0xFF,0xFF,0x00,0x00,0xF1,0x87,0x00,0x00,0x02,0x40,0x00,0x00,0x06,0x60,0x00,0x00,0x0C,0x30,0x00,0x00,0x1C,0x38,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00},/*"*",10*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x7F,0xFF,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00},/*"+",11*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xE3,0x00,0x00,0x00,0xE2,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",12*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x00,0x03,0x80,0x00,0x00,0x0E,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x00,0x03,0x80,0x00,0x00,0x0E,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x00,0x03,0x80,0x00,0x00,0x0E,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"/",15*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x00,0x00,0x7F,0xFF,0x80,0x00,0xF0,0x03,0xC0,0x01,0x80,0x00,0x60,0x03,0x00,0x00,0x30,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x01,0x80,0x00,0x60,0x00,0xE0,0x01,0xC0,0x00,0x7F,0xFF,0x80,0x00,0x0F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"0",16*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x10,0x00,0x80,0x00,0x10,0x00,0x80,0x00,0x10,0x00,0x80,0x00,0x30,0x01,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"1",17*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x70,0x00,0x98,0x00,0xB0,0x01,0x00,0x01,0x30,0x02,0x00,0x02,0x30,0x02,0x00,0x0C,0x30,0x02,0x00,0x18,0x30,0x02,0x00,0x30,0x30,0x02,0x00,0x60,0x30,0x03,0x00,0xC0,0x30,0x01,0x83,0x80,0x30,0x01,0xFF,0x00,0x70,0x00,0x7C,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"2",18*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0xC0,0x01,0xF0,0x03,0xE0,0x01,0x00,0x00,0x20,0x02,0x00,0x00,0x10,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x03,0x01,0xC0,0x10,0x01,0x83,0x40,0x20,0x00,0xFE,0x60,0x60,0x00,0x7C,0x3F,0xC0,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"3",19*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x34,0x00,0x00,0x00,0x64,0x00,0x00,0x01,0x84,0x00,0x00,0x06,0x04,0x00,0x00,0x08,0x04,0x10,0x00,0x30,0x04,0x10,0x00,0xC0,0x04,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"4",20*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0xFF,0xC3,0x20,0x03,0x00,0x80,0x20,0x03,0x01,0x00,0x10,0x03,0x02,0x00,0x10,0x03,0x02,0x00,0x10,0x03,0x02,0x00,0x10,0x03,0x02,0x00,0x10,0x03,0x03,0x00,0x20,0x03,0x01,0x80,0xE0,0x03,0x00,0xFF,0xC0,0x03,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"5",21*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFE,0x00,0x00,0x3F,0xFF,0x80,0x00,0xE0,0xC1,0xE0,0x01,0x81,0x00,0x60,0x01,0x03,0x00,0x30,0x02,0x02,0x00,0x10,0x02,0x02,0x00,0x10,0x02,0x02,0x00,0x10,0x02,0x03,0x00,0x30,0x01,0xC1,0x80,0x60,0x01,0xC0,0xFF,0xC0,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"6",22*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x03,0xF0,0x03,0x00,0x3F,0xF0,0x03,0x00,0xC0,0x00,0x03,0x07,0x00,0x00,0x03,0x18,0x00,0x00,0x03,0x60,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"7",23*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x00,0x7C,0x3F,0xC0,0x00,0xFE,0x70,0x60,0x01,0x8F,0x40,0x20,0x03,0x03,0x80,0x10,0x02,0x03,0x80,0x10,0x02,0x01,0x80,0x10,0x02,0x00,0xC0,0x10,0x02,0x00,0xE0,0x10,0x03,0x01,0x70,0x20,0x01,0x82,0x78,0x60,0x00,0xFE,0x3F,0xC0,0x00,0x78,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"8",24*/
+{0x00,0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0x00,0xFF,0xC0,0xE0,0x01,0xC0,0xE0,0xE0,0x01,0x00,0x30,0x10,0x02,0x00,0x10,0x10,0x02,0x00,0x10,0x10,0x02,0x00,0x10,0x10,0x02,0x00,0x10,0x30,0x02,0x00,0x20,0x60,0x01,0x00,0x60,0xC0,0x00,0xC0,0x87,0x80,0x00,0x7F,0xFE,0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"9",25*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x60,0x00,0x07,0x80,0xF0,0x00,0x07,0x80,0xF0,0x00,0x03,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x76,0x00,0x03,0x80,0x7E,0x00,0x03,0x80,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*";",27*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x01,0x20,0x00,0x00,0x02,0x10,0x00,0x00,0x04,0x08,0x00,0x00,0x08,0x04,0x00,0x00,0x10,0x02,0x00,0x00,0x20,0x01,0x00,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x40,0x01,0x00,0x00,0x20,0x02,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"<",28*/
+{0x00,0x00,0x00,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x01,0x00,0x00,0x20,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x80,0x00,0x20,0x01,0x00,0x00,0x10,0x02,0x00,0x00,0x08,0x04,0x00,0x00,0x04,0x08,0x00,0x00,0x02,0x10,0x00,0x00,0x01,0x20,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*">",30*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0xFC,0x00,0x00,0x01,0x9C,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x60,0x02,0x00,0x00,0xF0,0x02,0x00,0x7C,0xF0,0x02,0x00,0xC0,0x60,0x02,0x00,0x80,0x00,0x01,0x01,0x80,0x00,0x01,0x83,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00},/*"?",31*/
+{0x00,0x00,0x00,0x00,0x00,0x07,0xF8,0x00,0x00,0x3F,0xFF,0x00,0x00,0x70,0x03,0xC0,0x00,0xC0,0x00,0x60,0x01,0x81,0xFC,0x20,0x03,0x07,0xFE,0x10,0x02,0x1E,0x02,0x10,0x02,0x30,0x04,0x10,0x02,0x20,0x3C,0x10,0x02,0x1F,0xFE,0x10,0x01,0x3C,0x02,0x20,0x00,0x80,0x04,0x60,0x00,0x60,0x18,0xC0,0x00,0x1F,0xE1,0x00,0x00,0x00,0x00,0x00},/*"@",32*/
+{0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x30,0x00,0x00,0x01,0xF0,0x00,0x00,0x3E,0x10,0x00,0x03,0xF0,0x10,0x00,0x3E,0x10,0x00,0x03,0xC0,0x10,0x00,0x03,0xC0,0x10,0x00,0x03,0xFC,0x10,0x00,0x00,0x3F,0xD0,0x00,0x00,0x01,0xFE,0x10,0x00,0x00,0x1F,0xF0,0x00,0x00,0x01,0xF0,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00},/*"A",33*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x03,0x01,0x80,0x10,0x01,0x83,0x40,0x30,0x01,0xFE,0x60,0x60,0x00,0x7C,0x3F,0xC0,0x00,0x00,0x0F,0x80,0x00,0x00,0x00,0x00},/*"B",34*/
+{0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0x00,0x00,0x3F,0xFF,0x00,0x00,0x78,0x03,0xC0,0x00,0xC0,0x00,0x60,0x01,0x00,0x00,0x20,0x03,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x01,0x00,0x00,0x20,0x01,0x80,0x00,0x40,0x01,0xC0,0x00,0x80,0x00,0x70,0x03,0x00,0x00,0x00,0x00,0x00},/*"C",35*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0x00,0x00,0x30,0x01,0x00,0x00,0x20,0x01,0x80,0x00,0xC0,0x00,0xF0,0x03,0xC0,0x00,0x3F,0xFF,0x00,0x00,0x0F,0xF8,0x00,0x00,0x00,0x00,0x00},/*"D",36*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x02,0x01,0xC0,0x10,0x02,0x07,0xF0,0x10,0x03,0x00,0x00,0x30,0x03,0x80,0x00,0x70,0x00,0x60,0x01,0x80,0x00,0x00,0x00,0x00},/*"E",37*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x00,0x02,0x00,0x80,0x00,0x02,0x00,0x80,0x00,0x02,0x01,0xC0,0x00,0x03,0x07,0xF8,0x00,0x03,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00},/*"F",38*/
+{0x00,0x00,0x00,0x00,0x00,0x07,0xF8,0x00,0x00,0x3F,0xFF,0x00,0x00,0x70,0x03,0xC0,0x01,0xC0,0x00,0x60,0x01,0x00,0x00,0x30,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x20,0x10,0x01,0x00,0x20,0x20,0x01,0xC0,0x3F,0xC0,0x00,0x70,0x3F,0xC0,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00},/*"G",39*/
+{0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10},/*"H",40*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"I",41*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x01,0x02,0x00,0x00,0x01,0x02,0x00,0x00,0x01,0x02,0x00,0x00,0x03,0x02,0x00,0x00,0x06,0x03,0xFF,0xFF,0xFC,0x03,0xFF,0xFF,0xF8,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"J",42*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0xC0,0x10,0x02,0x01,0x00,0x10,0x00,0x07,0xC0,0x00,0x00,0x18,0xF0,0x00,0x02,0x60,0x3C,0x00,0x03,0xC0,0x0F,0x90,0x03,0x00,0x03,0xF0,0x02,0x00,0x00,0x70,0x02,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00},/*"K",43*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x70,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00},/*"L",44*/
+{0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xF0,0x00,0x10,0x01,0xFF,0x80,0x00,0x00,0x0F,0xF8,0x00,0x00,0x00,0x7F,0xC0,0x00,0x00,0x03,0xF0,0x00,0x00,0x0F,0x00,0x00,0x01,0xF0,0x00,0x00,0x1E,0x00,0x10,0x01,0xE0,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10},/*"M",45*/
+{0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0x80,0x00,0x10,0x01,0xE0,0x00,0x10,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x02,0x00,0x07,0x80,0x02,0x00,0x01,0xE0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00},/*"N",46*/
+{0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,0x00,0x00,0x3F,0xFF,0x00,0x00,0xF0,0x03,0xC0,0x01,0x80,0x00,0x60,0x01,0x00,0x00,0x20,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x01,0x00,0x00,0x20,0x01,0x80,0x00,0x60,0x00,0xF0,0x03,0xC0,0x00,0x3F,0xFF,0x00,0x00,0x07,0xFC,0x00,0x00,0x00,0x00,0x00},/*"O",47*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x40,0x10,0x02,0x00,0x40,0x10,0x02,0x00,0x40,0x00,0x02,0x00,0x40,0x00,0x02,0x00,0x40,0x00,0x02,0x00,0x40,0x00,0x03,0x00,0x80,0x00,0x01,0x81,0x80,0x00,0x00,0xFF,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00},/*"P",48*/
+{0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x00,0x00,0x3F,0xFF,0x80,0x00,0xF0,0x01,0xC0,0x01,0x80,0x01,0xE0,0x01,0x00,0x02,0x20,0x02,0x00,0x02,0x10,0x02,0x00,0x02,0x10,0x02,0x00,0x03,0x10,0x02,0x00,0x01,0xF0,0x01,0x00,0x00,0xFC,0x01,0x80,0x00,0x6E,0x00,0xF0,0x01,0xC6,0x00,0x3F,0xFF,0x86,0x00,0x0F,0xFC,0x08,0x00,0x00,0x00,0x00},/*"Q",49*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x10,0x02,0x00,0x80,0x00,0x02,0x00,0xE0,0x00,0x02,0x00,0xFC,0x00,0x03,0x01,0x9F,0x80,0x01,0x83,0x03,0xF0,0x01,0xFE,0x00,0x70,0x00,0x7C,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00},/*"R",50*/
+{0x00,0x00,0x00,0x00,0x00,0x7C,0x07,0x00,0x00,0xFE,0x01,0xF0,0x01,0x87,0x00,0x60,0x03,0x03,0x00,0x20,0x02,0x03,0x80,0x10,0x02,0x01,0x80,0x10,0x02,0x01,0xC0,0x10,0x02,0x00,0xC0,0x10,0x03,0x00,0xE0,0x10,0x01,0x00,0x60,0x30,0x01,0xC0,0x78,0x60,0x03,0xF0,0x3F,0xC0,0x00,0x00,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"S",51*/
+{0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*"T",52*/
+{0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xE0,0x02,0x00,0x00,0x60,0x02,0x00,0x00,0x30,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x02,0x00,0x00,0x20,0x02,0x00,0x00,0x40,0x03,0xFF,0xFF,0x80,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"U",53*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0xE0,0x00,0x00,0x03,0xFF,0x00,0x00,0x02,0x1F,0xF0,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x01,0xC0,0x00,0x00,0x1E,0x00,0x00,0x01,0xE0,0x00,0x02,0x1E,0x00,0x00,0x03,0xE0,0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"V",54*/
+{0x02,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0xFF,0x00,0x00,0x02,0x1F,0xFC,0x00,0x00,0x00,0x3F,0xF0,0x00,0x00,0x07,0xC0,0x02,0x00,0x78,0x00,0x03,0xCF,0x80,0x00,0x03,0xFF,0x80,0x00,0x02,0x1F,0xFF,0x00,0x00,0x00,0x3F,0xF0,0x00,0x00,0x0F,0x80,0x02,0x03,0xF0,0x00,0x03,0xFC,0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00},/*"W",55*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0x80,0x00,0x70,0x03,0xE0,0x01,0xD0,0x02,0x78,0x06,0x10,0x00,0x1E,0x18,0x00,0x00,0x07,0xE0,0x00,0x00,0x03,0xF0,0x00,0x00,0x0C,0x3E,0x00,0x02,0x30,0x0F,0x90,0x02,0xC0,0x03,0xF0,0x03,0x00,0x00,0x70,0x02,0x00,0x00,0x30,0x02,0x00,0x00,0x10,0x00,0x00,0x00,0x00},/*"X",56*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xF8,0x00,0x00,0x02,0x3E,0x00,0x10,0x02,0x07,0xC0,0x10,0x00,0x01,0xFF,0xF0,0x00,0x00,0x7F,0xF0,0x00,0x01,0x80,0x10,0x02,0x0E,0x00,0x10,0x02,0x70,0x00,0x00,0x03,0x80,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"Y",57*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x60,0x00,0x70,0x03,0xC0,0x01,0xF0,0x03,0x80,0x03,0x90,0x03,0x00,0x0E,0x10,0x02,0x00,0x3C,0x10,0x02,0x00,0xF0,0x10,0x02,0x03,0xC0,0x10,0x02,0x0F,0x00,0x10,0x02,0x1C,0x00,0x10,0x02,0x70,0x00,0x30,0x03,0xE0,0x00,0x30,0x03,0x80,0x00,0xF0,0x02,0x00,0x01,0x80,0x00,0x00,0x00,0x00},/*"Z",58*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFC,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"[",59*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x03,0xE0,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00},/*"\",60*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x10,0x00,0x00,0x04,0x1F,0xFF,0xFF,0xFC,0x1F,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"]",61*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
+{0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01},/*"_",63*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x01,0xC7,0xE0,0x00,0x03,0xCC,0x30,0x00,0x02,0x08,0x10,0x00,0x04,0x18,0x10,0x00,0x04,0x10,0x10,0x00,0x04,0x10,0x10,0x00,0x04,0x10,0x10,0x00,0x04,0x10,0x20,0x00,0x06,0x20,0x20,0x00,0x03,0xFF,0xE0,0x00,0x01,0xFF,0xF0,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x60},/*"a",65*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0xFF,0xFF,0xF0,0x07,0xFF,0xFF,0xE0,0x00,0x01,0x80,0x60,0x00,0x02,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x06,0x00,0x30,0x00,0x03,0x00,0x60,0x00,0x03,0xFF,0xC0,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"b",66*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0xFF,0xC0,0x00,0x03,0x80,0xE0,0x00,0x03,0x00,0x20,0x00,0x06,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x03,0xC0,0x20,0x00,0x01,0xC0,0x40,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"c",67*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x01,0xFF,0xC0,0x00,0x03,0x80,0x60,0x00,0x06,0x00,0x30,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x02,0x04,0x00,0x20,0x02,0x02,0x00,0x40,0x03,0xFF,0xFF,0xF0,0x07,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00},/*"d",68*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0xFF,0xC0,0x00,0x03,0x88,0xE0,0x00,0x02,0x08,0x20,0x00,0x04,0x08,0x30,0x00,0x04,0x08,0x10,0x00,0x04,0x08,0x10,0x00,0x04,0x08,0x10,0x00,0x02,0x08,0x10,0x00,0x03,0x08,0x20,0x00,0x01,0xF8,0x60,0x00,0x00,0x78,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"e",69*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x7F,0xFF,0xF0,0x01,0xFF,0xFF,0xF0,0x01,0x04,0x00,0x10,0x02,0x04,0x00,0x10,0x02,0x04,0x00,0x10,0x02,0x04,0x00,0x10,0x02,0x04,0x00,0x00,0x03,0xC0,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00},/*"f",70*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0xE3,0xBE,0x00,0x03,0xFF,0xE2,0x00,0x02,0x0C,0xC1,0x00,0x04,0x04,0xC1,0x00,0x04,0x04,0xC1,0x00,0x04,0x04,0xC1,0x00,0x04,0x04,0xC1,0x00,0x06,0x0C,0x41,0x00,0x03,0xF8,0x62,0x00,0x05,0xF0,0x7E,0x00,0x06,0x00,0x3C,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00},/*"g",71*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x07,0xFF,0xFF,0xF0,0x00,0x01,0x00,0x10,0x00,0x02,0x00,0x10,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x10,0x00,0x06,0x00,0x10,0x00,0x03,0xFF,0xF0,0x00,0x01,0xFF,0xF0,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00},/*"h",72*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x01,0x04,0x00,0x10,0x03,0x87,0xFF,0xF0,0x03,0x8F,0xFF,0xF0,0x01,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"i",73*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x01,0x00,0x04,0x00,0x01,0x00,0x04,0x00,0x01,0x01,0x04,0x00,0x06,0x03,0x87,0xFF,0xFC,0x03,0x8F,0xFF,0xF8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"j",74*/
+{0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x07,0xFF,0xFF,0xF0,0x00,0x00,0x0C,0x10,0x00,0x00,0x18,0x10,0x00,0x00,0x30,0x00,0x00,0x00,0x7C,0x00,0x00,0x04,0x8E,0x00,0x00,0x07,0x03,0x90,0x00,0x06,0x01,0xF0,0x00,0x04,0x00,0x70,0x00,0x04,0x00,0x30,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00},/*"k",75*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x02,0x00,0x00,0x10,0x03,0xFF,0xFF,0xF0,0x07,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"l",76*/
+{0x00,0x04,0x00,0x10,0x00,0x07,0xFF,0xF0,0x00,0x0F,0xFF,0xF0,0x00,0x02,0x00,0x10,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x10,0x00,0x07,0xFF,0xF0,0x00,0x03,0xFF,0xF0,0x00,0x02,0x00,0x10,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x10,0x00,0x07,0xFF,0xF0,0x00,0x03,0xFF,0xF0,0x00,0x00,0x00,0x10},/*"m",77*/
+{0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x10,0x00,0x02,0x00,0x10,0x00,0x03,0xFF,0xF0,0x00,0x07,0xFF,0xF0,0x00,0x01,0x00,0x10,0x00,0x02,0x00,0x10,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x10,0x00,0x06,0x00,0x10,0x00,0x03,0xFF,0xF0,0x00,0x01,0xFF,0xF0,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00},/*"n",78*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xFF,0xC0,0x00,0x03,0x80,0xE0,0x00,0x02,0x00,0x20,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x02,0x00,0x20,0x00,0x03,0x80,0xE0,0x00,0x01,0xFF,0xC0,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"o",79*/
+{0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x03,0xFF,0xFF,0x00,0x07,0xFF,0xFF,0x00,0x01,0x00,0x61,0x00,0x02,0x00,0x21,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x06,0x00,0x30,0x00,0x03,0x00,0xE0,0x00,0x01,0xFF,0xC0,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"p",80*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x01,0xFF,0xC0,0x00,0x03,0x80,0x60,0x00,0x02,0x00,0x30,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x06,0x00,0x21,0x00,0x03,0x00,0x61,0x00,0x03,0xFF,0xFF,0x00,0x07,0xFF,0xFF,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00},/*"q",81*/
+{0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x10,0x00,0x02,0x00,0x10,0x00,0x02,0x00,0x10,0x00,0x02,0x00,0x10,0x00,0x07,0xFF,0xF0,0x00,0x07,0xFF,0xF0,0x00,0x00,0xC0,0x10,0x00,0x01,0x80,0x10,0x00,0x02,0x00,0x10,0x00,0x02,0x00,0x10,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"r",82*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF0,0x00,0x01,0xE0,0x60,0x00,0x03,0xF0,0x20,0x00,0x06,0x30,0x10,0x00,0x04,0x18,0x10,0x00,0x04,0x18,0x10,0x00,0x04,0x1C,0x10,0x00,0x04,0x0C,0x10,0x00,0x02,0x0E,0x30,0x00,0x03,0x07,0xE0,0x00,0x07,0xC3,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"s",83*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x1F,0xFF,0xC0,0x00,0xFF,0xFF,0xE0,0x00,0x04,0x00,0x30,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x20,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"t",84*/
+{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x07,0xFF,0xC0,0x00,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x04,0x00,0x20,0x00,0x04,0x00,0x40,0x00,0x07,0xFF,0xF0,0x00,0x0F,0xFF,0xE0,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00},/*"u",85*/
+{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x07,0xE0,0x00,0x00,0x04,0x7C,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x03,0xF0,0x00,0x00,0x00,0xE0,0x00,0x00,0x03,0x80,0x00,0x04,0x1C,0x00,0x00,0x04,0xE0,0x00,0x00,0x07,0x80,0x00,0x00,0x06,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00},/*"v",86*/
+{0x00,0x04,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x07,0xE0,0x00,0x00,0x04,0xFE,0x00,0x00,0x04,0x0F,0xE0,0x00,0x00,0x01,0xF0,0x00,0x04,0x0F,0x00,0x00,0x07,0xF0,0x00,0x00,0x07,0xF8,0x00,0x00,0x04,0x3F,0x80,0x00,0x00,0x03,0xF0,0x00,0x00,0x03,0xC0,0x00,0x04,0x3C,0x00,0x00,0x07,0xC0,0x00,0x00,0x06,0x00,0x00,0x00,0x04,0x00,0x00},/*"w",87*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x04,0x00,0x10,0x00,0x04,0x00,0x30,0x00,0x07,0x00,0x70,0x00,0x07,0x81,0x90,0x00,0x05,0xE2,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x1C,0x00,0x00,0x04,0x67,0x10,0x00,0x04,0x83,0x90,0x00,0x07,0x00,0xF0,0x00,0x04,0x00,0x70,0x00,0x04,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00},/*"x",88*/
+{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x03,0x00,0x07,0x00,0x03,0x00,0x07,0xC0,0x03,0x00,0x04,0x78,0x03,0x00,0x00,0x1E,0x06,0x00,0x00,0x03,0xF8,0x00,0x00,0x00,0xC0,0x00,0x00,0x07,0x00,0x00,0x04,0x38,0x00,0x00,0x07,0xC0,0x00,0x00,0x06,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00},/*"y",89*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x30,0x00,0x07,0x00,0x70,0x00,0x04,0x01,0xD0,0x00,0x04,0x03,0x90,0x00,0x04,0x0F,0x10,0x00,0x04,0x1C,0x10,0x00,0x04,0x78,0x10,0x00,0x04,0xE0,0x10,0x00,0x07,0xC0,0x10,0x00,0x07,0x00,0x30,0x00,0x06,0x00,0x70,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"z",90*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x40,0x00,0x0F,0xFE,0x3F,0xF8,0x10,0x00,0x00,0x04,0x20,0x00,0x00,0x02,0x20,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"{",91*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"|",92*/
+{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x02,0x20,0x00,0x00,0x02,0x10,0x00,0x00,0x04,0x0F,0xFE,0x3F,0xF8,0x00,0x01,0x40,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"}",93*/
+{0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
+};
+
+const unsigned char gImage_Yichip[7208] = { 0X10,0X10,0X00,0X78,0X00,0X1E,0X01,0X1B,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XDE,0XFF,0X9C,0XFF,0X5A,0XFF,0X18,0XFE,0XF6,0XFE,0XD5,0XFE,0X93,0XFE,0X72,
+0XFE,0X51,0XF6,0X2F,0XF6,0X0E,0XF5,0XED,0XF5,0XCC,0XF5,0XCB,0XF5,0XA9,0XF5,0X88,
+0XF5,0X88,0XF5,0X87,0XF5,0X66,0XF5,0X65,0XF5,0X65,0XF5,0X65,0XF5,0X64,0XF5,0X84,
+0XF5,0X84,0XF5,0X84,0XF5,0XA4,0XF5,0XA5,0XF5,0XC6,0XF5,0XC6,0XF5,0XE7,0XFE,0X08,
+0XFE,0X29,0XFE,0X4B,0XFE,0X6D,0XFE,0XAE,0XFE,0XD1,0XFF,0X13,0XFF,0X35,0XFF,0X78,
+0XFF,0XBB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7C,0XFE,0XF8,0XFE,0X94,0XFE,0X52,
+0XF6,0X31,0XF6,0X0F,0XF5,0XCE,0XF5,0XAD,0XF5,0X8B,0XF5,0X69,0XF5,0X28,0XF5,0X06,
+0XF4,0XE4,0XF4,0XA2,0XF4,0X60,0XF4,0X40,0XF4,0X60,0XF4,0X60,0XF4,0X80,0XF4,0XA0,
+0XF4,0XA0,0XF4,0XC0,0XF4,0XE0,0XF4,0XE0,0XF5,0X01,0XF5,0X21,0XF5,0X21,0XF5,0X41,
+0XF5,0X41,0XF5,0X41,0XF5,0X41,0XF5,0X61,0XF5,0X61,0XF5,0X61,0XF5,0X61,0XF5,0X81,
+0XF5,0X81,0XF5,0X80,0XF5,0X80,0XF5,0X80,0XF5,0X80,0XF5,0X80,0XF5,0X80,0XF5,0X80,
+0XF5,0X80,0XF5,0X80,0XF5,0X80,0XF5,0XC1,0XFE,0X26,0XFE,0X8B,0XFE,0XF1,0XFF,0X78,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDD,0XFF,0X7A,0XFF,0X37,
+0XFE,0XD4,0XFE,0X91,0XFE,0X2E,0XF5,0XEA,0XF5,0X86,0XF5,0X42,0XF4,0XE0,0XF5,0X00,
+0XF5,0X00,0XF5,0X20,0XF5,0X20,0XF5,0X40,0XF5,0X60,0XF5,0X61,0XF5,0X81,0XF5,0X81,
+0XF5,0X81,0XF5,0XA1,0XF5,0XA1,0XF5,0XA1,0XF5,0XA1,0XF5,0XC1,0XF5,0XC1,0XF5,0XC1,
+0XF5,0XC1,0XF5,0XE1,0XF5,0XE1,0XF5,0XE1,0XF5,0XC0,0XF5,0XC0,0XF5,0XA0,0XF5,0XA0,
+0XF5,0X80,0XF5,0XA0,0XFE,0X48,0XFE,0XF1,0XFF,0XBC,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0X9A,0XFF,0X16,0XFE,0XB1,0XFE,0X4C,0XF5,0XE6,0XF5,0X60,0XF5,0X40,0XF5,0X60,
+0XF5,0X60,0XF5,0X80,0XF5,0XA0,0XF5,0XA1,0XF5,0XC1,0XF5,0XC1,0XF5,0XC1,0XF5,0XE1,
+0XFD,0XE1,0XF6,0X01,0XFE,0X01,0XFE,0X21,0XFE,0X21,0XFE,0X01,0XF6,0X01,0XFD,0XE1,
+0XF5,0XE1,0XF5,0XC1,0XF5,0XA0,0XF5,0X80,0XF5,0X60,0XF5,0XA0,0XFE,0X8C,0XFF,0X9A,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9A,
+0XFF,0X14,0XFE,0X8D,0XFE,0X06,0XF5,0X80,0XF5,0X80,0XF5,0XA0,0XF5,0XE0,0XF6,0X00,
+0XFE,0X21,0XFE,0X21,0XFE,0X41,0XFE,0X41,0XFE,0X41,0XFE,0X41,0XFE,0X21,0XFE,0X21,
+0XFE,0X01,0XFD,0XE1,0XF5,0XC1,0XF5,0XC1,0XF5,0XC1,0XF5,0XA1,0XF5,0X80,0XF5,0X60,
+0XF5,0XA2,0XFE,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDC,0XFF,0X34,0XFE,0XAB,0XFE,0X42,
+0XFE,0X00,0XFE,0X40,0XFE,0X40,0XFE,0X60,0XFE,0X60,0XFE,0X61,0XFE,0X61,0XFE,0X41,
+0XFE,0X21,0XFE,0X21,0XFD,0XE1,0XF5,0XC1,0XF5,0XC1,0XF5,0XC1,0XF5,0XA1,0XF5,0XA1,
+0XF5,0X81,0XF5,0X60,0XF5,0X60,0XFF,0X37,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0X74,0XFF,0X09,0XFE,0X80,0XFE,0X80,0XFE,0X80,0XFE,0X80,0XFE,0X60,
+0XFE,0X41,0XFE,0X21,0XFE,0X01,0XFD,0XE1,0XF5,0XC1,0XF5,0XC1,0XF5,0XC1,0XF5,0XA1,
+0XF5,0XA1,0XF5,0XA1,0XF5,0X81,0XF5,0X40,0XFE,0X29,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB8,0XFF,0X2B,0XFE,0X80,0XFE,0X80,
+0XFE,0X60,0XFE,0X41,0XFE,0X21,0XF6,0X01,0XF5,0XE1,0XF5,0XC1,0XF5,0XA1,0XF5,0XA1,
+0XF5,0XA1,0XF5,0XA1,0XF5,0X81,0XF5,0X81,0XF5,0X40,0XF5,0XA4,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X95,
+0XFE,0XA4,0XFE,0X40,0XFE,0X20,0XFE,0X21,0XFD,0XE1,0XF5,0XC1,0XF5,0XC1,0XF5,0XA1,
+0XF5,0XA1,0XF5,0XA1,0XF5,0XA1,0XF5,0X81,0XF5,0X81,0XF5,0X40,0XF6,0X2A,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XBA,0XFE,0X85,0XFE,0X00,0XF5,0XE0,0XF5,0XC1,0XF5,0XC1,0XF5,0XC1,
+0XF5,0XA1,0XF5,0XA1,0XF5,0XA1,0XF5,0X81,0XF5,0X81,0XF5,0X61,0XF5,0X20,0XFF,0X9B,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XB9,0XFE,0X00,0XF5,0XC0,0XF5,0XC1,0XF5,0XC1,
+0XF5,0XA1,0XF5,0XA1,0XF5,0X81,0XF5,0X81,0XF5,0X81,0XF5,0X81,0XF5,0X40,0XFE,0X4D,
+0X9C,0XB2,0X83,0XEF,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X0F,
+0X83,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XA4,0XF3,0X83,0XEF,0X84,0X10,0X83,0XEF,0X84,0X10,0X84,0X10,0X84,0X10,
+0X84,0X10,0X84,0X10,0X84,0X10,0X83,0XEF,0XA4,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0X3C,
+0XBD,0XB6,0X9C,0XB2,0X8C,0X30,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,
+0X84,0X10,0X84,0X10,0X84,0X10,0X83,0XEF,0X9C,0XD3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X7B,0XAE,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X83,0XEF,0XA5,0X14,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7B,0XAE,0X84,0X10,
+0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X83,0XEF,0X9C,0XB2,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XDF,0X7B,0XAE,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X83,0XCF,
+0XA5,0X14,0XFF,0XFF,0XFF,0XFF,0XF7,0X9E,0X7B,0XAE,0X84,0X10,0X84,0X10,0X84,0X10,
+0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,0X84,0X10,
+0X94,0X71,0XAD,0X34,0XCE,0X38,0XFF,0XFF,0XFF,0XFF,0XFF,0X0D,0XFD,0XA0,0XF5,0XA1,
+0XF5,0XA1,0XF5,0XA1,0XF5,0X81,0XF5,0X81,0XF5,0X81,0XF5,0X81,0XF5,0X61,0XF5,0XA5,
+0XBD,0XD7,0X10,0X41,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,
+0X10,0X61,0XCE,0X38,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X7B,0X8E,0X18,0X82,0X29,0X03,0X18,0XA2,0X29,0X24,0X20,0XE3,0X29,0X03,0X29,0X03,
+0X29,0X03,0X29,0X03,0X29,0X03,0X18,0X82,0X94,0X92,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC6,0X18,0X63,0X0C,0X20,0XC3,0X18,0XA2,
+0X20,0XC3,0X20,0XE3,0X21,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,
+0X29,0X03,0X29,0X03,0X29,0X03,0X18,0X82,0X94,0X71,0XFF,0XFF,0XFF,0XFF,0XBD,0XD7,
+0X18,0X81,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X18,0X82,0X9C,0XD3,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCE,0X79,0X10,0X61,0X29,0X03,
+0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X18,0XA2,0X8C,0X30,0XFF,0XFF,0XFF,0XFF,
+0XBD,0XD7,0X18,0X81,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X18,0X82,
+0X9C,0XD3,0XFF,0XFF,0XFF,0XFF,0XAD,0X54,0X18,0X82,0X29,0X03,0X29,0X03,0X29,0X03,
+0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X29,0X03,0X21,0X03,
+0X20,0XE3,0X20,0XE3,0X20,0XC3,0X18,0X82,0X31,0X65,0X84,0X33,0XE6,0X70,0XFE,0X00,
+0XF5,0XA1,0XF5,0XA1,0XF5,0X81,0XF5,0X81,0XF5,0X81,0XF5,0X81,0XF5,0X61,0XF5,0X62,
+0XFF,0XFF,0X39,0XA6,0X29,0X24,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X29,0X24,0X4A,0X08,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X63,0X0C,
+0X20,0XC2,0X31,0X65,0X20,0XC3,0X6B,0X4C,0X94,0X71,0X20,0XE3,0X29,0X24,0X29,0X24,
+0X29,0X24,0X29,0X24,0X29,0X24,0X18,0X81,0XE7,0X1C,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XAD,0X34,0X29,0X04,0X18,0XA2,0X29,0X04,0X31,0X45,0X31,0X65,
+0X29,0X24,0X20,0XE3,0X20,0XC3,0X20,0XC3,0X20,0XC3,0X20,0XC3,0X20,0XC3,0X20,0XC3,
+0X20,0XC3,0X20,0XC3,0X20,0XC3,0X08,0X20,0XE6,0XFB,0XFF,0XFF,0XFF,0XFF,0X73,0X8E,
+0X29,0X04,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X18,0XA2,0XEF,0X5D,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X8C,0X30,0X21,0X03,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X18,0XA2,0XDE,0XDB,0XFF,0XFF,0XFF,0XFF,
+0X73,0X6D,0X20,0XC3,0X29,0X24,0X29,0X24,0X29,0X24,0X29,0X24,0X29,0X24,0X10,0X61,
+0XEF,0X5D,0XFF,0XFF,0XFF,0XFF,0X63,0X0C,0X29,0X04,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X29,0X24,0X20,0XC3,0X20,0XC3,0X20,0XC3,0X29,0X03,
+0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X45,0X29,0X44,0X29,0X03,0X10,0X84,0X8B,0X64,
+0XFE,0X21,0XF5,0XA1,0XF5,0XA1,0XF5,0X81,0XF5,0X81,0XF5,0X81,0XF5,0X61,0XF5,0XA4,
+0XFF,0XFF,0XCE,0X59,0X18,0XA2,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X45,0X18,0X82,0XDE,0XFB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X52,0X69,0X20,0XE3,
+0X31,0X65,0X18,0XA2,0X6B,0X2C,0XFF,0XFF,0X62,0XEB,0X52,0X69,0X52,0X89,0X52,0X89,
+0X52,0X89,0X52,0X89,0X52,0X69,0X4A,0X28,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XE7,0X1C,0X31,0X65,0X20,0XC3,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X20,0XC3,
+0X4A,0X28,0XB5,0X75,0XCE,0X59,0XCE,0X59,0XCE,0X59,0XCE,0X59,0XCE,0X59,0XCE,0X59,
+0XCE,0X59,0XCE,0X59,0XCE,0X59,0XC6,0X38,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X29,0X24,
+0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X29,0X04,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X41,0XC7,0X29,0X24,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X20,0XC3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X5A,0X8A,0X52,0X69,0X52,0X89,0X52,0X89,0X52,0X89,0X52,0X89,0X52,0X69,0X52,0X49,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X20,0XE3,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X29,0X24,0X4A,0X28,0XDE,0XDB,0XCE,0X79,0XCE,0X38,0X8C,0X30,
+0X18,0XA2,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X10,0XC5,
+0XC4,0X82,0XFD,0XC1,0XF5,0XA1,0XF5,0X81,0XF5,0X81,0XF5,0X81,0XF5,0X61,0XF6,0X0A,
+0XFF,0XFF,0XFF,0XFF,0X41,0XE7,0X29,0X24,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X29,0X24,0X5A,0XAA,0XFF,0XFF,0XFF,0XFF,0X42,0X07,0X20,0XE3,0X31,0X45,
+0X18,0XA2,0X7B,0XCE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XA5,0X14,
+0X10,0X61,0X29,0X24,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X18,0XA2,0X94,0X71,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0X7D,0X18,0X82,
+0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X29,0X04,0X73,0X6D,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X18,0X81,0X31,0X45,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X29,0X24,0X62,0XEB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XDE,0XFB,0X18,0XA2,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X20,0XE3,0X94,0X92,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XBD,0XB6,0X20,0XC3,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,
+0X29,0X25,0XFE,0X01,0XF5,0X81,0XF5,0X81,0XF5,0X81,0XF5,0X81,0XF5,0X40,0XFE,0XF3,
+0XFF,0XFF,0XFF,0XFF,0XD6,0XBA,0X18,0X82,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X45,0X18,0X82,0XEF,0X7D,0X39,0XC6,0X29,0X04,0X31,0X45,0X18,0X82,
+0X8C,0X51,0XFF,0XFF,0XFF,0XFF,0XDE,0XDB,0XA5,0X13,0XAD,0X34,0XAD,0X34,0XAD,0X34,
+0XAD,0X34,0XAD,0X34,0XA4,0XF3,0XE6,0XFB,0XFF,0XFF,0XFF,0XFF,0X9C,0XD2,0X18,0X81,
+0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X29,0X24,0X5A,0XCA,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XA5,0X34,0X20,0XE3,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X20,0XC3,0XB5,0X96,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBD,0XD6,0X20,0XC3,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X20,0XE3,0XAD,0X34,0XFF,0XFF,0XFF,0XFF,0XDE,0XBA,
+0XA5,0X14,0XAD,0X34,0XAD,0X34,0XAD,0X34,0XAD,0X34,0XAD,0X34,0XA4,0XF3,0XE7,0X1C,
+0XFF,0XFF,0XFF,0XFF,0X94,0X92,0X20,0XE3,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X18,0XA2,0XDE,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X18,0XA2,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X18,0XE5,0XBC,0X42,0XFD,0XC1,0XF5,0X81,0XF5,0X81,0XF5,0X61,0XF5,0X00,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X52,0X69,0X29,0X24,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X45,0X20,0XC3,0X29,0X24,0X31,0X45,0X18,0X81,0X9C,0XF3,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X6B,0X0C,0X18,0XA2,0X20,0XE3,0X20,0XE3,0X20,0XE3,
+0X20,0XE3,0X20,0XE3,0X08,0X00,0XF7,0X7D,0XFF,0XFF,0XDE,0XBA,0X10,0X61,0X31,0X45,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X18,0X82,0XF7,0X9E,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X62,0XEB,0X29,0X24,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X18,0XA2,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X73,0X8E,0X29,0X04,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X45,0X18,0X82,0XF7,0X9E,0XFF,0XFF,0XFF,0XFF,0X5A,0XCB,
+0X18,0XA2,0X20,0XE3,0X20,0XE3,0X20,0XE3,0X20,0XE3,0X20,0XE3,0X08,0X00,0XF7,0XBE,
+0XFF,0XFF,0XFF,0XFF,0X52,0X49,0X29,0X24,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X45,0X20,0XC3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X18,0XA2,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X29,0X25,0X72,0XC4,0XFD,0XC1,0XF5,0X81,0XF5,0X61,0XF5,0X40,0XF6,0X09,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0X3C,0X18,0X81,0X31,0X45,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X31,0X45,0X10,0X61,0XB5,0X75,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X29,0X04,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X29,0X44,0X39,0X86,0XFF,0XFF,0XFF,0XFF,0X39,0XA6,0X29,0X24,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X29,0X24,0X4A,0X08,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X20,0XC3,0X31,0X45,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X31,0X45,0X5A,0XAA,0X52,0X69,
+0X52,0X69,0X52,0X69,0X52,0X69,0X52,0X8A,0X31,0X45,0X31,0X45,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X45,0X31,0X45,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X20,0XC3,
+0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X29,0X24,0X39,0XC7,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X18,0X82,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X29,0X24,0X62,0XEB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X9C,0XB2,0X20,0XE3,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,
+0X10,0X82,0XCE,0X14,0XFD,0X80,0XF5,0X81,0XF5,0X61,0XF5,0X20,0XFF,0XFE,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X62,0XEB,0X29,0X24,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X18,0X82,0XC5,0XF7,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XE7,0X1C,0X18,0XA2,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X29,0X04,0X7B,0XCF,0XFF,0XFF,0XE6,0XFB,0X18,0X82,0X31,0X45,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X20,0XE3,0X9C,0XB2,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDE,0XBA,0X18,0XA2,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X29,0X24,0X29,0X24,
+0X29,0X24,0X29,0X24,0X29,0X24,0X29,0X24,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X29,0X04,0X7B,0X8E,0XFF,0XFF,0XFF,0XFF,0XDE,0XDB,0X18,0XA2,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X21,0X03,0X84,0X10,0XFF,0XFF,
+0XFF,0XFF,0XCE,0X38,0X20,0XC3,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X20,0XE3,0XAD,0X34,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCE,0X79,
+0X18,0X82,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X18,0XA2,
+0X7B,0XAF,0XFF,0XFC,0XF5,0X40,0XF5,0X81,0XF5,0X40,0XFE,0X8E,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC6,0X18,0X20,0XC3,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X20,0XE3,0XA4,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X9C,0XD3,0X20,0XE3,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X20,0XC3,0XC6,0X18,0XFF,0XFF,0XA5,0X14,0X20,0XE3,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X18,0XA2,0XDE,0XDB,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X94,0X71,0X20,0XE3,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X18,0XA2,0X18,0XA2,0X18,0XA2,
+0X18,0XA2,0X18,0XA2,0X18,0XA2,0X29,0X24,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X20,0XC3,0XBD,0XF7,0XFF,0XFF,0XFF,0XFF,0X94,0X91,0X20,0XE3,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X20,0XC2,0XCE,0X79,0XFF,0XFF,
+0XFF,0XFF,0X83,0XEF,0X29,0X04,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X20,0XC2,0XF7,0X9E,0XFF,0XFF,0XFF,0XFF,0XDE,0XFB,0X73,0X8E,0X18,0X82,
+0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X29,0X24,0X10,0X61,0X8C,0X51,
+0XFF,0XFF,0XFF,0X35,0XF5,0X40,0XF5,0X61,0XF5,0X62,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7B,0XAE,0X29,0X04,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X45,0X18,0XA2,0XEF,0X5D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X52,0X89,0X29,0X24,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X45,0X18,0X82,0XFF,0XFF,0XFF,0XFF,0X9C,0XD3,0X20,0XE3,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X18,0XA2,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X4A,0X28,0X29,0X24,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X18,0XA2,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X62,0XEB,0X29,0X24,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X45,0X18,0X82,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X4A,0X28,0X29,0X24,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X18,0XA2,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X39,0XA6,0X29,0X44,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X20,0XC2,0X18,0X82,0X18,0XA2,0X18,0XC2,0X29,0X04,0X31,0X45,
+0X31,0X65,0X31,0X45,0X29,0X24,0X20,0XE3,0X18,0X81,0X52,0X69,0XEF,0X3C,0XFF,0XFF,
+0XFF,0XFF,0XFE,0X6D,0XF5,0X40,0XF5,0X20,0XFF,0XDD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X31,0X45,0X31,0X45,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X45,0X29,0X24,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X18,0XA2,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X29,0X24,0X4A,0X49,0XFF,0XFF,0XFF,0XFF,0XCE,0X59,0X18,0XA2,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X29,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X18,0X82,0X31,0X45,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X29,0X24,0X52,0X69,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X20,0XC2,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X29,0X24,0X42,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X18,0X82,0X31,0X45,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X29,0X24,0X52,0X8A,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XDF,0X18,0X82,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X29,0X24,0X29,0X24,0X29,0X24,0X29,0X24,0X29,0X24,0X29,0X04,0X20,0XE3,
+0X20,0XC3,0X18,0X82,0X39,0XA6,0X8C,0X51,0XF7,0X7D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XF5,0X60,0XF5,0X00,0XFF,0X36,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0X9D,0X18,0X82,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X29,0X04,0X73,0X6D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XCE,0X59,0X20,0XC2,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X20,0XE3,0X94,0X92,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X31,0X44,0X29,0X24,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X18,0XA2,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC6,0X18,0X20,0XC3,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X20,0XE3,0X9C,0XD2,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XD6,0XBA,0X18,0XA2,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X20,0XE3,0X8C,0X51,0XFF,0XFF,0XFF,0XFF,0XC6,0X18,0X20,0XC3,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X20,0XE3,0X9C,0XD3,0XFF,0XFF,0XFF,0XFF,
+0XB5,0X95,0X20,0XE3,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X29,0X24,0X42,0X08,0X52,0X49,0X4A,0X49,0X52,0X69,0X62,0XCB,0X7B,0X8E,0X9C,0XB2,
+0XC6,0X18,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0X37,0XF5,0X00,0XFE,0X8F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XAD,0X34,0X20,0XE3,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X20,0XC3,0XBD,0XB6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X84,0X10,0X29,0X03,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X18,0XA2,0XDE,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0X1C,0X10,0X61,0X29,0X44,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X29,0X24,0X52,0X49,0XFF,0XDF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7B,0XCF,0X29,0X04,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X18,0XA2,0XE7,0X1C,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X94,0X71,0X20,0XE3,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X18,0XA2,0XD6,0X9A,0XFF,0XFF,0XFF,0XFF,0X7B,0XCF,0X29,0X04,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X18,0XA2,0XE7,0X3C,0XFF,0XFF,0XFF,0XFF,
+0X6B,0X4C,0X29,0X04,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,
+0X18,0X82,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XF5,0X60,0XF6,0X09,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X62,0XEB,0X29,0X24,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X45,0X18,0X82,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0X39,0XA6,0X29,0X24,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,
+0X20,0XE3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0X1C,0X20,0XE3,
+0X20,0XE3,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X29,0X24,0X18,0XA2,0X18,0XA2,
+0X20,0XC2,0X20,0XC2,0X20,0XC2,0X20,0XC2,0X20,0XC2,0X20,0XC2,0X20,0XC2,0X18,0XA2,
+0X08,0X20,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X31,0X65,0X29,0X44,0X31,0X65,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X45,0X29,0X04,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X4A,0X08,0X29,0X24,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,
+0X31,0X45,0X18,0XA2,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X31,0X65,0X29,0X44,0X31,0X65,
+0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X45,0X29,0X04,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X29,0X04,0X31,0X45,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X31,0X65,0X29,0X24,
+0X41,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0XD1,
+0XF5,0XA5,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X20,0XC2,0X29,0X44,0X31,0X45,0X31,0X45,0X31,0X45,
+0X31,0X45,0X29,0X24,0X41,0XC7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XDF,0X10,0X81,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X29,0X04,
+0X63,0X0B,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0X8C,0X30,0X20,0XC2,0X20,0XC2,0X29,0X03,0X29,0X24,0X29,0X24,0X31,0X45,0X31,0X44,
+0X29,0X44,0X29,0X44,0X29,0X44,0X29,0X44,0X29,0X44,0X29,0X44,0X29,0X44,0X29,0X04,
+0X62,0XCB,0XFF,0XFF,0XFF,0XFF,0XF7,0X9E,0X18,0X81,0X31,0X45,0X31,0X45,0X31,0X45,
+0X31,0X45,0X31,0X45,0X29,0X03,0X6B,0X2C,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0X18,0X81,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,
+0X29,0X04,0X5A,0XAA,0XFF,0XFF,0XFF,0XFF,0XF7,0X9E,0X10,0X61,0X31,0X45,0X31,0X45,
+0X31,0X45,0X31,0X45,0X31,0X45,0X21,0X03,0X6B,0X4D,0XFF,0XFF,0XFF,0XFF,0XE7,0X1C,
+0X18,0X82,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X20,0XE3,
+0X8C,0X51,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDD,0XF5,0XA4,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XD6,0XBA,0X20,0XC2,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,
+0X31,0X45,0X29,0X04,0X8C,0X50,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XB5,0X75,0X20,0XE3,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X20,0XE3,
+0XAD,0X75,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XC6,0X18,0X84,0X10,0X5A,0XAA,0X39,0XC7,0X31,0X65,0X31,0X45,
+0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X20,0XE3,
+0XAD,0X34,0XFF,0XFF,0XFF,0XFF,0XAD,0X34,0X20,0XE3,0X31,0X45,0X31,0X45,0X31,0X45,
+0X31,0X45,0X31,0X45,0X20,0XE3,0XB5,0X96,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XBD,0XD7,0X20,0XC3,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,
+0X20,0XE3,0XA5,0X14,0XFF,0XFF,0XFF,0XFF,0XAD,0X34,0X20,0XE3,0X31,0X45,0X31,0X45,
+0X31,0X45,0X31,0X45,0X31,0X45,0X20,0XE3,0XB5,0XB6,0XFF,0XFF,0XFF,0XFF,0X9C,0XB2,
+0X20,0XE3,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X31,0X45,0X20,0XC3,
+0XD6,0X9A,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF6,0X2A,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0XF3,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBC,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
+};
+
+
+
+const unsigned char Yichip_ch[] = {
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x03,0x20,0x00,0x06,0x30,0x3F,0xC6,0x22,0x32,0x4C,0x66,0x32,0x7C,0xC6,
+0x32,0x7C,0xCC,0x32,0x6F,0x8C,0x32,0x4F,0x18,0x32,0x4C,0x38,0x32,0x4C,0x70,0x32,0x4C,0xE0,0x32,0x4F,0xC0,0x32,0x4F,0x06,
+0x32,0x4C,0x06,0x32,0x4C,0x06,0x3F,0xCC,0x0E,0x00,0x0F,0xFC,0x00,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"易",0*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x86,0x07,0x03,0x06,0x03,0x86,0x0C,0x01,0xC6,0x0C,0x00,0x8C,0x18,0x00,0x0C,0x70,
+0x3F,0xFF,0xE0,0x3F,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFC,0x3F,0xFF,0xFC,0x00,0x04,0x0C,
+0x00,0x8C,0x04,0x01,0x8E,0x04,0x03,0x06,0x04,0x0E,0x07,0x04,0x06,0x03,0x1C,0x00,0x00,0x3C,0x00,0x00,0x10,0x00,0x00,0x00,/*"兆",1*/
+0x00,0x00,0x00,0x02,0x04,0x00,0x06,0x1C,0x00,0x0C,0x38,0x00,0x38,0xFF,0xFE,0x33,0xC0,0x00,0x01,0x00,0x08,0x0F,0xB0,0x3C,
+0x0F,0xB3,0xF0,0x00,0xB2,0x00,0x3F,0xB2,0x00,0x3F,0xB3,0xF0,0x00,0xB3,0xF0,0x0F,0xB0,0x36,0x00,0x98,0x6E,0x00,0xF0,0x0C,
+0x0F,0xFF,0x18,0x3F,0x03,0xF0,0x21,0x00,0xF0,0x01,0xFF,0x98,0x01,0xFC,0x0C,0x01,0x00,0x0E,0x03,0x00,0x04,0x00,0x00,0x00,/*"微",2*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x20,0x07,0xFF,0xE0,0x07,0xFF,0xE0,0x06,0x30,0x80,0x06,0x30,0x80,0x06,0x30,0x80,
+0x06,0x30,0x80,0x06,0x30,0x80,0x7F,0xFF,0xFC,0x7F,0xFF,0xFE,0x06,0x30,0x86,0x06,0x30,0x82,0x06,0x30,0x82,0x06,0x30,0x82,
+0x06,0x30,0x82,0x06,0x30,0x82,0x07,0xFF,0x82,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0x00,0x1E,0x00,0x00,0x08,0x00,0x00,0x00,/*"电",3*/
+0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x18,0x00,0x00,0x18,0x00,0x18,0x18,0x00,0x18,0x18,0x00,0x18,0x18,0x00,0x18,0x18,0x00,
+0x18,0x18,0x06,0x18,0x18,0x06,0x18,0x18,0x06,0x18,0xFF,0xFE,0x19,0xFF,0xFC,0x19,0x18,0x00,0x1B,0x18,0x00,0x1E,0x18,0x00,
+0x1E,0x18,0x00,0x1C,0x18,0x00,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x18,0x00,0x00,0x18,0x00,0x00,0x18,0x00,0x00,0x00,0x00,/*"子",4*/
+};
+
+const unsigned char Welcom_ch[] = {
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x06,0x00,0x03,0x86,0x00,0x1F,0x00,0x01,0x8F,0x00,0x3E,0x00,0x01,0x87,0x80,0xF8,0x00,0x01,
+0x83,0xE3,0xF0,0x00,0x01,0x81,0xFF,0xC0,0x00,0x01,0x80,0x7F,0x00,0x00,0x01,0x81,0xFE,0x00,0x00,0x01,0x9F,0xFF,0x80,0x00,0x01,0xFF,0x87,0xC0,0x00,0x01,0xF8,0x03,0xF1,0x80,0x01,0x80,
+0x00,0xE1,0xC0,0x00,0x01,0x00,0x23,0xC0,0x00,0x07,0x00,0x07,0x80,0x00,0x3F,0x80,0x0F,0x00,0x03,0xFE,0x00,0x1E,0x00,0x3F,0xF0,0x00,0x3C,0x00,0x3F,0xC0,0x00,0xF8,0x00,0x3C,0xC0,0x07,
+0xF0,0x00,0x00,0xC3,0xFF,0xC0,0x00,0x00,0xC3,0xFE,0x00,0x00,0x00,0xC3,0xFF,0x80,0x00,0x00,0xC0,0x03,0xE0,0x00,0x00,0xC0,0x00,0xF8,0x00,0x00,0xC0,0x00,0x7C,0x00,0x00,0xC2,0x00,0x1E,
+0x00,0x00,0xFE,0x00,0x0E,0x00,0x00,0xFE,0x00,0x07,0x00,0x00,0xF8,0x00,0x07,0x80,0x00,0xC0,0x00,0x03,0xC0,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"欢",0*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x07,0x00,0x01,0xC0,0x10,0x03,0x00,0x03,0xE0,0x3E,0x03,0x00,0x03,0x80,0x3F,0xC3,0x00,0x07,0x00,0x0F,0x83,0xFF,0xFE,0x00,0x01,
+0x83,0xFF,0xFC,0x00,0x00,0x03,0x00,0x0E,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x03,0x00,0x0F,0xFF,0xFF,0xC3,0x00,0x0F,0xFF,0xFF,0xC3,0x80,0x0F,0xFF,
+0xFF,0x83,0x80,0x1C,0x00,0x03,0x81,0x80,0x18,0x00,0x03,0x01,0x80,0x18,0x00,0x07,0x01,0xC0,0x38,0x00,0x0E,0x01,0xC0,0x18,0x00,0x0E,0x01,0xC0,0x08,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,
+0x01,0xC0,0x0F,0xFF,0xFF,0xF9,0xC0,0x0F,0xFF,0xFF,0xF9,0xC0,0x0C,0x00,0x00,0x39,0xC0,0x0C,0x00,0x00,0x01,0xC0,0x0C,0x00,0x00,0x01,0xC0,0x0C,0x00,0x03,0x81,0xC0,0x0C,0x00,0x03,0x81,
+0xC0,0x0C,0x00,0x0F,0x81,0xC0,0x0F,0xFF,0xFF,0x01,0xC0,0x0F,0xFF,0xFF,0x01,0xC0,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"迎",1*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xC0,0x3F,
+0xFF,0xFF,0xFF,0xC0,0x3F,0xFF,0xFF,0xFF,0xC0,0x3C,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0xC0,0x03,0x8C,0x70,0x00,0xE0,0x03,0x8F,0xF2,0x00,0xC0,0x03,0x8F,
+0xF3,0x01,0xC0,0x03,0x8C,0x33,0x83,0x80,0x03,0x8C,0x31,0xC3,0x80,0x03,0x8C,0x30,0xF7,0x00,0x03,0x8C,0x30,0x7E,0x00,0x03,0x8C,0x30,0x3C,0x00,0x03,0x8C,0x33,0xFC,0x00,0x3F,0xFF,0xFF,
+0xFE,0x00,0x3F,0xFF,0xFF,0xCE,0x00,0x3B,0x8C,0x30,0x07,0x00,0x03,0x8C,0x30,0x07,0x00,0x03,0x8C,0x30,0x03,0x80,0x03,0x8C,0x30,0x03,0x80,0x03,0x8C,0x30,0x03,0x80,0x03,0x8C,0x30,0x01,
+0x80,0x03,0x8F,0xF0,0x01,0xC0,0x03,0x8F,0xF0,0x01,0xC0,0x03,0x8F,0xF0,0x01,0xC0,0x03,0x80,0x00,0x01,0xC0,0x03,0x80,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"使",2*/
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x00,0xFF,0x80,0x1F,0xFF,0xFF,0xFC,0x00,0x1F,
+0xFF,0xFF,0xE0,0x00,0x1F,0xFF,0xFC,0x00,0x00,0x18,0x1C,0x1C,0x00,0x00,0x18,0x1C,0x1C,0x00,0x00,0x18,0x1C,0x1C,0x00,0x00,0x18,0x1C,0x1C,0x00,0x00,0x18,0x1C,0x1C,0x00,0x00,0x18,0x1C,
+0x1C,0x00,0x00,0x18,0x1C,0x1C,0x00,0x00,0x18,0x1C,0x1C,0x00,0x80,0x1F,0xFF,0xFF,0xFF,0x80,0x1F,0xFF,0xFF,0xFF,0x80,0x18,0x1C,0x1C,0x00,0x80,0x18,0x1C,0x1C,0x00,0x00,0x18,0x1C,0x1C,
+0x00,0x00,0x18,0x1C,0x1C,0x00,0x00,0x18,0x1C,0x1C,0x00,0x00,0x18,0x1C,0x1C,0x02,0x00,0x18,0x1C,0x1C,0x03,0x80,0x18,0x1C,0x1C,0x03,0x80,0x18,0x1C,0x1C,0x03,0x80,0x1F,0xFF,0xFF,0xFF,
+0x80,0x1F,0xFF,0xFF,0xFF,0x00,0x1F,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"用",3*/
+};
Index: Keyboard_EPOS/user/main.c
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/user/main.c	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_EPOS/user/main.c	(working copy)
@@ -0,0 +1,358 @@
+/**
+  ******************************************************************************
+  * @file    ModuleDemo\Keyboard\Keyboard_EPOS\user\main.c
+  * @author  Yichip Application Team
+  * @version V1.0.1
+  * @date    16-July-2020
+  * @brief   Keyboard test program.
+  ******************************************************************************
+  * @attention
+  *
+  * COPYRIGHT 2019 Yichip Microelectronics
+  *
+  * The purpose of this firmware is to provide guidance to customers engaged in
+  * programming work to guide them smoothly to product development,
+  * so as to save their time.
+  *
+  * Therefore, Yichip microelectronics shall not be responsible for any direct,
+  * indirect or consequential damages caused by any content of this gu jiang
+  * and/or contained in this code used by the customer in its products.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "yc3121.h"
+#include "yc_gpio.h"
+#include "yc_uart.h"
+#include "yc_timer.h"
+#include "yc_st7789.h"
+#include "yc_kscan.h"
+#include "misc.h"
+#include "board_config.h"
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+uint8_t keyvalue = 0;
+uint32_t keyflag = 0x80000;
+
+/* Private function prototypes -----------------------------------------------*/
+void UART_Configuration(void);
+void NVIC_Configuration(void);
+void TFT_Configuration(void);
+void TIMER_Configuration(void);
+void SPI_TFT_Test(void);
+void key_test(void);
+
+/**
+  * @brief  Main program
+  * @param  None
+  * @retval None
+  */
+int main(void)
+{
+    QSPI_CTRL  |= (0x80);
+    SYSCTRL_HCLK_CON = 0x0;
+
+    UART_Configuration();
+    TIMER_Configuration();
+    NVIC_Configuration();
+    TFT_Configuration();
+
+    MyPrintf("Yichip Yc3121 Keyboard test Demo V1.0.\r\n");
+
+    SPI_TFT_Test();
+
+    while (1)
+    {
+        key_test();
+    }
+}
+
+/**
+  * @brief  NVIC configuration function.
+  * @param  None
+  * @retval None
+  */
+void NVIC_Configuration(void)
+{
+    NVIC_EnableIRQ(TIM0_IRQn);
+    NVIC_SetPriority(TIM0_IRQn, 0);
+}
+
+/**
+  * @brief  Serial port 0 initialization function.
+  * @param  None
+  * @retval None
+  */
+void UART_Configuration(void)
+{
+    UART_InitTypeDef UART_InitStruct;
+
+    /* Configure serial ports RX and TX for IO. */
+    UART0_TX_IO_CONFIG
+    UART0_RX_IO_CONFIG
+
+    /* USARTx configured as follow:
+    - BaudRate = 921600 baud
+    - Word Length = 8 Bits
+    - Stop Bit = 1 Stop Bit
+    - Parity = No Parity
+    - Hardware flow control disabled (RTS and CTS signals)
+    - Receive and transmit enabled
+    */
+    UART_InitStruct.BaudRate = UARTBAUD;			//Configure serial port baud rate, the baud rate defaults to 128000.
+    UART_InitStruct.DataBits = Databits_8b;
+    UART_InitStruct.StopBits = StopBits_1;
+    UART_InitStruct.Parity = Parity_None;
+    UART_InitStruct.FlowCtrl = FlowCtrl_None;
+    UART_InitStruct.Mode = Mode_duplex;
+
+    UART_Init(UART0, &UART_InitStruct);
+}
+
+/**
+  * @brief  LCD related IO port and SPI related configuration
+  * @param  None
+  * @retval None
+  */
+void TFT_Configuration(void)
+{
+    St7789TFT_InitTypedef St7789TFT_InitStruct;
+
+    St7789TFT_InitStruct.SPIx = ST7789VTFTSPI;
+    St7789TFT_InitStruct.IO_TFT_SDA_PIN = ST7789_TFT_SDA_PIN;
+    St7789TFT_InitStruct.IO_TFT_SDA_Port = ST7789_TFT_SDA_PORT;
+    St7789TFT_InitStruct.IO_TFT_SCL_PIN = ST7789_TFT_SCL_PIN;
+    St7789TFT_InitStruct.IO_TFT_SCL_Port = ST7789_TFT_SCL_PORT;
+    St7789TFT_InitStruct.IO_TFT_CS_PIN = ST7789_TFT_CS_PIN;
+    St7789TFT_InitStruct.IO_TFT_CS_Port = ST7789_TFT_CS_PORT;
+    St7789TFT_InitStruct.IO_TFT_RES_PIN = ST7789_TFT_RST_PIN;
+    St7789TFT_InitStruct.IO_TFT_RES_Port = ST7789_TFT_RST_PORT;
+    St7789TFT_InitStruct.IO_TFT_BL_PIN = ST7789_TFT_BL_PIN;
+    St7789TFT_InitStruct.IO_TFT_BL_Port = ST7789_TFT_BL_PORT;
+    St7789TFT_InitStruct.IO_TFT_A0_PIN = ST7789_TFT_A0_PIN;
+    St7789TFT_InitStruct.IO_TFT_A0_Port = ST7789_TFT_A0_PORT;
+
+    ST7789_TFT_GpioInit(&St7789TFT_InitStruct);
+    ST7789_TFT_Init();
+}
+
+void TIMER_Configuration(void)
+{
+    TIM_InitTypeDef TIM_InitStruct;
+
+    TIM_InitStruct.TIMx = TIM0;
+    TIM_InitStruct.period = 7200000;
+    TIM_Init(&TIM_InitStruct);
+
+    TIM_ModeConfig(TIM0, TIM_Mode_TIMER);
+    TIM_Cmd(TIM0, ENABLE);
+}
+
+void key_test(void)
+{
+    static unsigned char change = 0;
+
+    if (keyflag == 0x0001 && change == 0)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "    1   ", 32, 1, WHITE, OLIVE);
+        change = 1;
+    }
+    if (keyflag == 0x0002 && change == 1)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "    2   ", 32, 1, WHITE, OLIVE);
+        change = 2;
+    }
+    if (keyflag == 0x0004 && change == 2)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "    3   ", 32, 1, WHITE, OLIVE);
+        change = 3;
+    }
+    if (keyflag == 0x0008 && change == 3)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "    4   ", 32, 1, WHITE, OLIVE);
+        change = 4;
+    }
+    if (keyflag == 0x0010 && change == 4)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "    5   ", 32, 1, WHITE, OLIVE);
+        change = 5;
+    }
+    if (keyflag == 0x0020 && change == 5)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "    6   ", 32, 1, WHITE, OLIVE);
+        change = 6;
+    }
+    if (keyflag == 0x0040 && change == 6)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "    7   ", 32, 1, WHITE, OLIVE);
+        change = 7;
+    }
+    if (keyflag == 0x0080 && change == 7)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "    8   ", 32, 1, WHITE, OLIVE);
+        change = 8;
+    }
+
+    if (keyflag == 0x0100 && change == 8)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "    9   ", 32, 1, WHITE, OLIVE);
+        change = 9;
+    }
+    if (keyflag == 0x0200 && change == 9)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "   UP   ", 32, 1, WHITE, OLIVE);
+        change = 10;
+    }
+    if (keyflag == 0x0400 && change == 10)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "  DOWN  ", 32, 1, WHITE, OLIVE);
+        change = 11;
+    }
+    if (keyflag == 0x0800 && change == 11)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "  MENU  ", 32, 1, WHITE, OLIVE);
+        change = 12;
+    }
+    if (keyflag == 0x1000 && change == 12)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "   F1   ", 32, 1, WHITE, OLIVE);
+        change = 13;
+    }
+    if (keyflag == 0x2000 && change == 13)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "   F2   ", 32, 1, WHITE, OLIVE);
+        change = 14;
+    }
+    if (keyflag == 0x4000 && change == 14)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, " CANCEL ", 32, 1, WHITE, OLIVE);
+        change = 15;
+    }
+    if (keyflag == 0x8000 && change == 15)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "  CLEAR ", 32, 1, WHITE, OLIVE);
+        change = 16;
+    }
+    if (keyflag == 0x10000 && change == 16)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, " CONFIRM", 32, 1, WHITE, OLIVE);
+        change = 17;
+    }
+    if (keyflag == 0x20000 && change == 17)
+    {
+        ST7789_TFT_Clear_White(96, 160, 224, 192);
+        ST7789_TFT_ShowString(96, 160, 128, 16, "    0   ", 32, 1, WHITE, OLIVE);
+        change = 0;
+    }
+}
+
+/**
+  * @brief  LCD displays test functions
+  * @param  None
+  * @retval None
+  */
+void SPI_TFT_Test(void)
+{
+    ST7789_TFT_Clear_White(0, 28, TFT_COL, TFT_ROW);
+    ST7789_TFT_ShowChinese(100, 1, Yichip_ch, 24, 5, 1, WHITE, OLIVE);
+    ST7789_TFT_Draw_Piece(0, 27, TFT_COL, 28, DGRAY);
+    ST7789_TFT_ShowChinese(165, 75, Welcom_ch, 36, 4, 1, WHITE, OLIVE);
+    ST7789_TFT_ShowString(175, 111, 128, 16, "YC3121-C", 32, 1, WHITE, OLIVE);
+    ST7789_TFT_Picture_Q(25, 80, gImage_Yichip);
+    ST7789_TFT_ShowString(96, 160, 128, 16, "    0   ", 32, 1, WHITE, OLIVE);
+}
+
+/**
+  * @brief  TIM0 Interrupt service function.
+  * @param  None
+  * @retval None
+  */
+void TIMER0_IRQHandler(void)
+{
+    keyvalue = KEY_Scan();
+    if (keyvalue)
+    {
+        switch (keyvalue)
+        {
+        case 30:
+            keyflag = 0x0001;
+            break;
+        case 31:
+            keyflag = 0x0002;
+            break;
+        case 32:
+            keyflag = 0x0004;
+            break;
+        case 33:
+            keyflag = 0x0008;
+            break;
+        case 34:
+            keyflag = 0x0010;
+            break;
+        case 35:
+            keyflag = 0x0020;
+            break;
+        case 36:
+            keyflag = 0x0040;
+            break;
+        case 37:
+            keyflag = 0x0080;
+            break;
+        case 38:
+            keyflag = 0x0100;
+            break;
+        case 39:
+            keyflag = 0x0200;
+            break;
+        case 40:
+            keyflag = 0x0400;
+            break;
+        case 41:
+            keyflag = 0x0800;
+            break;
+        case 42:
+            keyflag = 0x1000;
+            break;
+        case 43:
+            keyflag = 0x2000;
+            break;
+        case 44:
+            keyflag = 0x4000;
+            break;
+        case 45:
+            keyflag = 0x8000;
+            break;
+        case 46:
+            keyflag = 0x10000;
+            break;
+        case 47:
+            keyflag = 0x20000;
+            break;
+        default:
+            break;
+        }
+    }
+}
+
+/************************ (C) COPYRIGHT Yichip Microelectronics *****END OF FILE****/
Index: Keyboard_MPOS/prj/GCC/c.bat
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/GCC/c.bat	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/GCC/c.bat	(working copy)
@@ -0,0 +1,3 @@
+cls
+make clean
+make
\ No newline at end of file
Index: Keyboard_MPOS/prj/GCC/makefile
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/GCC/makefile	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/GCC/makefile	(working copy)
@@ -0,0 +1,86 @@
+
+ifeq ($(OS),Windows_NT)
+DIR = C:/gcc-arm-none-eabi-7-2018-q2-update-win32
+else
+DIR = /usr/gcc-arm-none-eabi-7-2018-q2-update
+endif
+
+ARCH = $(DIR)/bin/arm-none-eabi
+GCC = $(ARCH)-gcc
+LD = $(ARCH)-ld
+AS = $(ARCH)-as
+OBJCOPY = $(ARCH)-objcopy
+OBJDUMP = "$(ARCH)-objdump"
+LIB_PATH = ../../../../../Librarier
+USER_PATH = ../../user
+
+
+all : output/out.hex
+
+
+CORE_OBJS =  $(LIB_PATH)/startup/flash_start_gcc \
+             $(LIB_PATH)/core/system \
+             $(LIB_PATH)/core/misc \
+             $(LIB_PATH)/sdk/yc_gpio \
+             $(LIB_PATH)/sdk/yc_uart \
+             $(LIB_PATH)/sdk/yc_sysctrl \
+             $(LIB_PATH)/sdk/yc_timer\
+             $(LIB_PATH)/sdk/yc_lcd\
+             $(LIB_PATH)/sdk/yc_spi\
+             $(LIB_PATH)/sdk/yc_kscan\
+
+
+             
+USER_OBJS = $(USER_PATH)/main \
+            $(USER_PATH)/bt_code
+			
+OBJS = $(CORE_OBJS) $(USER_OBJS)
+
+INC_DIR = -I $(LIB_PATH)/core \
+          -I $(LIB_PATH)/sdk
+
+
+CFLAG =  -mthumb -mcpu=cortex-m0 -c -g -Os $(INC_DIR) $(DEF) -fno-toplevel-reorder
+LDFLAG = -T output/ld.script -Map=output/memmap -lc -lm -lgcc -L "$(DIR)/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m"  -L "$(DIR)/arm-none-eabi/lib/thumb/v6-m"
+
+define ldscript = 
+SECTIONS
+{ 
+        . = 0x1000000;
+        .text : { *flash_start.o *(.text*) *(.rodata*) }
+        _sidata = ALIGN(4);
+        . = 0x20000;
+        .data : AT (_sidata) { _sdata = .; *(.data) _edata = .; }
+        .bss : { _sbss = .;     *(*.bss) *(*.scommon*) }
+        _ebss = .;
+        . = 0x30000;
+        _stack = .;
+        ASSERT(_ebss < _stack, "data size overflow")
+}
+endef
+
+
+output/out.hex : output/out
+	$(OBJCOPY) $^ -O ihex $@
+
+
+output/out : $(addprefix output/, $(addsuffix .o, $(OBJS)))
+	$(file >output/ld.script, $(ldscript))
+	$(LD) $(addprefix output/obj/,$(addsuffix .o, $(notdir $(OBJS)))) -o $@  $(LDFLAG)
+	$(OBJDUMP) -S $@ > output/disasm
+
+output/%.o : %.c
+	$(GCC) $< $(CFLAG) -o output/obj/$(notdir $@)
+
+output/%.o : %.s
+	$(AS) $^ -mthumb -mcpu=cortex-m0 -o output/obj/$(notdir $@)
+
+
+clean :
+ifeq ($(OS),Windows_NT)
+	del /Q output\*.*
+	del /Q output\obj\*.*
+else
+	rm -rf output/*
+	rm -rf output/obj/*
+endif
Index: Keyboard_MPOS/prj/MDK/Objects/YC3121_keil.sct
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/MDK/Objects/YC3121_keil.sct	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/MDK/Objects/YC3121_keil.sct	(working copy)
@@ -0,0 +1,55 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x00000000 0x0001fff  {    ; load region size_region
+  ER_IROM1 0x00000000 0x00001fff  {  ; load address = execution address
+   startup.o (RESET, +First)
+   startup.o (|.text|,+RO)
+;   *(InRoot$$Sections)
+  }
+  ;ER_IROM2 0x4000   {
+  ;rom_main.o (+RO)
+  ;}
+  
+  ;ER_IROM3 0x100000 {
+	  ;*(InRoot$$Sections)
+  ;}
+	
+  ;ER_IROM4 0x100400   {
+  ;flash_start.o (+RO)
+  ;.ANY (+RO) 
+  ;}
+  
+  ;RW_IRAM1 0x000d0000 0x0010000  {  ; RW data
+   ;.ANY (+RW +ZI)
+  ;}
+  
+;  ARM_LIB_STACK 0xE0000 EMPTY -0x10000{}
+}
+
+;LR_IROM2 0x4000 0x4000{
+;	ER_IROM2 0x4000 {
+;	  rom_main.o (+RO)
+;	}
+;}
+
+LR_IROM3 0x1000200 0x200{
+	ER_IROM3 0x1000200 {
+	  flash_start.o (|.flash_start|,+RO)
+	}
+}
+
+LR_IROM4 0x1000400 0x1000000{
+	ER_IROM4 0x1000400 {
+;	  flash_start.o (|.flash_start|,+RO)
+	  *(InRoot$$Sections)
+	  .ANY (+RO)
+	}
+	
+	
+	 RW_IRAM2 0x00020000 0x010000  {  ; RW data
+	.ANY (+RW +ZI)
+	}
+}
+
Index: Keyboard_MPOS/prj/MDK/YC3121_Keil.uvoptx
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/MDK/YC3121_Keil.uvoptx	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/MDK/YC3121_Keil.uvoptx	(working copy)
@@ -0,0 +1,378 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
+
+  <SchemaVersion>1.0</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Extensions>
+    <cExt>*.c</cExt>
+    <aExt>*.s*; *.src; *.a*</aExt>
+    <oExt>*.obj; *.o</oExt>
+    <lExt>*.lib</lExt>
+    <tExt>*.txt; *.h; *.inc</tExt>
+    <pExt>*.plm</pExt>
+    <CppX>*.cpp</CppX>
+    <nMigrate>0</nMigrate>
+  </Extensions>
+
+  <DaveTm>
+    <dwLowDateTime>0</dwLowDateTime>
+    <dwHighDateTime>0</dwHighDateTime>
+  </DaveTm>
+
+  <Target>
+    <TargetName>YC3121</TargetName>
+    <ToolsetNumber>0x4</ToolsetNumber>
+    <ToolsetName>ARM-ADS</ToolsetName>
+    <TargetOption>
+      <CLKADS>12000000</CLKADS>
+      <OPTTT>
+        <gFlags>1</gFlags>
+        <BeepAtEnd>1</BeepAtEnd>
+        <RunSim>0</RunSim>
+        <RunTarget>1</RunTarget>
+        <RunAbUc>0</RunAbUc>
+      </OPTTT>
+      <OPTHX>
+        <HexSelection>1</HexSelection>
+        <FlashByte>65535</FlashByte>
+        <HexRangeLowAddress>0</HexRangeLowAddress>
+        <HexRangeHighAddress>0</HexRangeHighAddress>
+        <HexOffset>0</HexOffset>
+      </OPTHX>
+      <OPTLEX>
+        <PageWidth>79</PageWidth>
+        <PageLength>66</PageLength>
+        <TabStop>8</TabStop>
+        <ListingPath>.\Listings\</ListingPath>
+      </OPTLEX>
+      <ListingPage>
+        <CreateCListing>1</CreateCListing>
+        <CreateAListing>1</CreateAListing>
+        <CreateLListing>1</CreateLListing>
+        <CreateIListing>0</CreateIListing>
+        <AsmCond>1</AsmCond>
+        <AsmSymb>1</AsmSymb>
+        <AsmXref>0</AsmXref>
+        <CCond>1</CCond>
+        <CCode>0</CCode>
+        <CListInc>0</CListInc>
+        <CSymb>0</CSymb>
+        <LinkerCodeListing>0</LinkerCodeListing>
+      </ListingPage>
+      <OPTXL>
+        <LMap>1</LMap>
+        <LComments>1</LComments>
+        <LGenerateSymbols>1</LGenerateSymbols>
+        <LLibSym>1</LLibSym>
+        <LLines>1</LLines>
+        <LLocSym>1</LLocSym>
+        <LPubSym>1</LPubSym>
+        <LXref>0</LXref>
+        <LExpSel>0</LExpSel>
+      </OPTXL>
+      <OPTFL>
+        <tvExp>1</tvExp>
+        <tvExpOptDlg>0</tvExpOptDlg>
+        <IsCurrentTarget>1</IsCurrentTarget>
+      </OPTFL>
+      <CpuCode>7</CpuCode>
+      <DebugOpt>
+        <uSim>0</uSim>
+        <uTrg>1</uTrg>
+        <sLdApp>1</sLdApp>
+        <sGomain>1</sGomain>
+        <sRbreak>1</sRbreak>
+        <sRwatch>1</sRwatch>
+        <sRmem>1</sRmem>
+        <sRfunc>1</sRfunc>
+        <sRbox>1</sRbox>
+        <tLdApp>1</tLdApp>
+        <tGomain>1</tGomain>
+        <tRbreak>1</tRbreak>
+        <tRwatch>1</tRwatch>
+        <tRmem>1</tRmem>
+        <tRfunc>0</tRfunc>
+        <tRbox>1</tRbox>
+        <tRtrace>1</tRtrace>
+        <sRSysVw>1</sRSysVw>
+        <tRSysVw>1</tRSysVw>
+        <sRunDeb>0</sRunDeb>
+        <sLrtime>0</sLrtime>
+        <bEvRecOn>1</bEvRecOn>
+        <bSchkAxf>0</bSchkAxf>
+        <bTchkAxf>0</bTchkAxf>
+        <nTsel>4</nTsel>
+        <sDll></sDll>
+        <sDllPa></sDllPa>
+        <sDlgDll></sDlgDll>
+        <sDlgPa></sDlgPa>
+        <sIfile></sIfile>
+        <tDll></tDll>
+        <tDllPa></tDllPa>
+        <tDlgDll></tDlgDll>
+        <tDlgPa></tDlgPa>
+        <tIfile>..\..\..\..\..\ConfigFiles\MDK\flash.ini</tIfile>
+        <pMon>Segger\JL2CM3.dll</pMon>
+      </DebugOpt>
+      <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>PWSTATINFO</Key>
+          <Name>200,50,700</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>ARMRTXEVENTFLAGS</Key>
+          <Name>-L70 -Z18 -C0 -M0 -T1</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>DLGTARM</Key>
+          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>ARMDBGFLAGS</Key>
+          <Name></Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>JL2CM3</Key>
+          <Name>-U4294967295 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO31 -FD20000 -FCA000 -FN1 -FF0YC3121 -FS01000200 -FL01000000</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>UL2CM3</Key>
+          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000)</Name>
+        </SetRegEntry>
+      </TargetDriverDllRegistry>
+      <Breakpoint>
+        <Bp>
+          <Number>0</Number>
+          <Type>0</Type>
+          <LineNumber>64</LineNumber>
+          <EnabledFlag>1</EnabledFlag>
+          <Address>0</Address>
+          <ByteObject>0</ByteObject>
+          <HtxType>0</HtxType>
+          <ManyObjects>0</ManyObjects>
+          <SizeOfObject>0</SizeOfObject>
+          <BreakByAccess>0</BreakByAccess>
+          <BreakIfRCount>0</BreakIfRCount>
+          <Filename>H:\易兆微电子（杭州）有限责任公司\PRJ\PR3_3121demo\应用板\3121demo\Librarier\sdk\Keyboard.c</Filename>
+          <ExecCommand></ExecCommand>
+          <Expression></Expression>
+        </Bp>
+      </Breakpoint>
+      <Tracepoint>
+        <THDelay>0</THDelay>
+      </Tracepoint>
+      <DebugFlag>
+        <trace>0</trace>
+        <periodic>0</periodic>
+        <aLwin>1</aLwin>
+        <aCover>0</aCover>
+        <aSer1>0</aSer1>
+        <aSer2>0</aSer2>
+        <aPa>0</aPa>
+        <viewmode>1</viewmode>
+        <vrSel>0</vrSel>
+        <aSym>0</aSym>
+        <aTbox>0</aTbox>
+        <AscS1>0</AscS1>
+        <AscS2>0</AscS2>
+        <AscS3>0</AscS3>
+        <aSer3>0</aSer3>
+        <eProf>0</eProf>
+        <aLa>0</aLa>
+        <aPa1>0</aPa1>
+        <AscS4>0</AscS4>
+        <aSer4>0</aSer4>
+        <StkLoc>0</StkLoc>
+        <TrcWin>0</TrcWin>
+        <newCpu>0</newCpu>
+        <uProt>0</uProt>
+      </DebugFlag>
+      <LintExecutable></LintExecutable>
+      <LintConfigFile></LintConfigFile>
+      <bLintAuto>0</bLintAuto>
+      <bAutoGenD>0</bAutoGenD>
+      <LntExFlags>0</LntExFlags>
+      <pMisraName></pMisraName>
+      <pszMrule></pszMrule>
+      <pSingCmds></pSingCmds>
+      <pMultCmds></pMultCmds>
+      <pMisraNamep></pMisraNamep>
+      <pszMrulep></pszMrulep>
+      <pSingCmdsp></pSingCmdsp>
+      <pMultCmdsp></pMultCmdsp>
+    </TargetOption>
+  </Target>
+
+  <Group>
+    <GroupName>core</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>1</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\core\misc.c</PathWithFileName>
+      <FilenameWithoutPath>misc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>2</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\core\system.c</PathWithFileName>
+      <FilenameWithoutPath>system.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>main</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>3</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\user\main.c</PathWithFileName>
+      <FilenameWithoutPath>main.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>sdk</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>4</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_gpio.c</PathWithFileName>
+      <FilenameWithoutPath>yc_gpio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>5</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_uart.c</PathWithFileName>
+      <FilenameWithoutPath>yc_uart.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>6</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_timer.c</PathWithFileName>
+      <FilenameWithoutPath>yc_timer.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>7</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_lcd.c</PathWithFileName>
+      <FilenameWithoutPath>yc_lcd.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>8</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_spi.c</PathWithFileName>
+      <FilenameWithoutPath>yc_spi.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>9</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_kscan.c</PathWithFileName>
+      <FilenameWithoutPath>yc_kscan.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>startup</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>10</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\startup\flash_start.s</PathWithFileName>
+      <FilenameWithoutPath>flash_start.s</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>11</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\..\..\..\Librarier\startup\startup.s</PathWithFileName>
+      <FilenameWithoutPath>startup.s</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+</ProjectOpt>
Index: Keyboard_MPOS/prj/MDK/YC3121_Keil.uvprojx
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/MDK/YC3121_Keil.uvprojx	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/MDK/YC3121_Keil.uvprojx	(working copy)
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
+
+  <SchemaVersion>2.1</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Targets>
+    <Target>
+      <TargetName>YC3121</TargetName>
+      <ToolsetNumber>0x4</ToolsetNumber>
+      <ToolsetName>ARM-ADS</ToolsetName>
+      <pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
+      <uAC6>0</uAC6>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>ARMCM0</Device>
+          <Vendor>ARM</Vendor>
+          <PackID>ARM.CMSIS.5.5.1</PackID>
+          <PackURL>http://www.keil.com/pack/</PackURL>
+          <Cpu>IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0") CLOCK(12000000) ESEL ELITTLE</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile></StartupFile>
+          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000)</FlashDriverDll>
+          <DeviceId>0</DeviceId>
+          <RegisterFile>$$Device:ARMCM0$Device\ARM\ARMCM0\Include\ARMCM0.h</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile></SFDFile>
+          <bCustSvd>0</bCustSvd>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath></RegisterFilePath>
+          <DBRegisterFilePath></DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>.\Objects\</OutputDirectory>
+          <OutputName>YC3121_Keil</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>1</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>.\Listings\</ListingPath>
+          <HexFormatSelection>1</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>1</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopU1X>0</nStopU1X>
+            <nStopU2X>0</nStopU2X>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopB1X>0</nStopB1X>
+            <nStopB2X>0</nStopB2X>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>1</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>fromelf.exe --text -a -c --output=@L_asm.txt "!L"</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopA1X>0</nStopA1X>
+            <nStopA2X>0</nStopA2X>
+          </AfterMake>
+          <SelectedForBatchBuild>0</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+          <ComprImg>1</ComprImg>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>SARMCM3.DLL</SimDllName>
+          <SimDllArguments>  </SimDllArguments>
+          <SimDlgDll>DARMCM1.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pCM0</SimDlgDllArguments>
+          <TargetDllName>SARMCM3.DLL</TargetDllName>
+          <TargetDllArguments> </TargetDllArguments>
+          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>
+          <TargetDlgDllArguments>-pCM0</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>1</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>1</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4100</DriverSelection>
+          </Flash1>
+          <bUseTDR>0</bUseTDR>
+          <Flash2>Segger\JL2CM3.dll</Flash2>
+          <Flash3>"" ()</Flash3>
+          <Flash4></Flash4>
+          <pFcarmOut></pFcarmOut>
+          <pFcarmGrp></pFcarmGrp>
+          <pFcArmRoot></pFcArmRoot>
+          <FcArmLst>0</FcArmLst>
+        </Utilities>
+        <TargetArmAds>
+          <ArmAdsMisc>
+            <GenerateListings>0</GenerateListings>
+            <asHll>1</asHll>
+            <asAsm>1</asAsm>
+            <asMacX>1</asMacX>
+            <asSyms>1</asSyms>
+            <asFals>1</asFals>
+            <asDbgD>1</asDbgD>
+            <asForm>1</asForm>
+            <ldLst>0</ldLst>
+            <ldmm>1</ldmm>
+            <ldXref>1</ldXref>
+            <BigEnd>0</BigEnd>
+            <AdsALst>1</AdsALst>
+            <AdsACrf>1</AdsACrf>
+            <AdsANop>0</AdsANop>
+            <AdsANot>0</AdsANot>
+            <AdsLLst>1</AdsLLst>
+            <AdsLmap>1</AdsLmap>
+            <AdsLcgr>1</AdsLcgr>
+            <AdsLsym>1</AdsLsym>
+            <AdsLszi>1</AdsLszi>
+            <AdsLtoi>1</AdsLtoi>
+            <AdsLsun>1</AdsLsun>
+            <AdsLven>1</AdsLven>
+            <AdsLsxf>1</AdsLsxf>
+            <RvctClst>0</RvctClst>
+            <GenPPlst>0</GenPPlst>
+            <AdsCpuType>"Cortex-M0"</AdsCpuType>
+            <RvctDeviceName></RvctDeviceName>
+            <mOS>0</mOS>
+            <uocRom>0</uocRom>
+            <uocRam>0</uocRam>
+            <hadIROM>1</hadIROM>
+            <hadIRAM>1</hadIRAM>
+            <hadXRAM>0</hadXRAM>
+            <uocXRam>0</uocXRam>
+            <RvdsVP>0</RvdsVP>
+            <hadIRAM2>0</hadIRAM2>
+            <hadIROM2>0</hadIROM2>
+            <StupSel>8</StupSel>
+            <useUlib>1</useUlib>
+            <EndSel>1</EndSel>
+            <uLtcg>0</uLtcg>
+            <nSecure>0</nSecure>
+            <RoSelD>3</RoSelD>
+            <RwSelD>3</RwSelD>
+            <CodeSel>0</CodeSel>
+            <OptFeed>0</OptFeed>
+            <NoZi1>0</NoZi1>
+            <NoZi2>0</NoZi2>
+            <NoZi3>0</NoZi3>
+            <NoZi4>0</NoZi4>
+            <NoZi5>0</NoZi5>
+            <Ro1Chk>0</Ro1Chk>
+            <Ro2Chk>0</Ro2Chk>
+            <Ro3Chk>0</Ro3Chk>
+            <Ir1Chk>1</Ir1Chk>
+            <Ir2Chk>0</Ir2Chk>
+            <Ra1Chk>0</Ra1Chk>
+            <Ra2Chk>0</Ra2Chk>
+            <Ra3Chk>0</Ra3Chk>
+            <Im1Chk>1</Im1Chk>
+            <Im2Chk>0</Im2Chk>
+            <OnChipMemories>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocm4>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm4>
+              <Ocm5>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm5>
+              <Ocm6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm6>
+              <IRAM>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0x20000</Size>
+              </IRAM>
+              <IROM>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x40000</Size>
+              </IROM>
+              <XRAM>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRAM>
+              <OCR_RVCT1>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT1>
+              <OCR_RVCT2>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT2>
+              <OCR_RVCT3>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT3>
+              <OCR_RVCT4>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x40000</Size>
+              </OCR_RVCT4>
+              <OCR_RVCT5>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT5>
+              <OCR_RVCT6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT6>
+              <OCR_RVCT7>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT7>
+              <OCR_RVCT8>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT8>
+              <OCR_RVCT9>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0x20000</Size>
+              </OCR_RVCT9>
+              <OCR_RVCT10>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT10>
+            </OnChipMemories>
+            <RvctStartVector></RvctStartVector>
+          </ArmAdsMisc>
+          <Cads>
+            <interw>1</interw>
+            <Optim>3</Optim>
+            <oTime>0</oTime>
+            <SplitLS>0</SplitLS>
+            <OneElfS>0</OneElfS>
+            <Strict>0</Strict>
+            <EnumInt>0</EnumInt>
+            <PlainCh>0</PlainCh>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <wLevel>2</wLevel>
+            <uThumb>0</uThumb>
+            <uSurpInc>0</uSurpInc>
+            <uC99>1</uC99>
+            <uGnu>1</uGnu>
+            <useXO>0</useXO>
+            <v6Lang>1</v6Lang>
+            <v6LangP>1</v6LangP>
+            <vShortEn>1</vShortEn>
+            <vShortWch>1</vShortWch>
+            <v6Lto>0</v6Lto>
+            <v6WtE>0</v6WtE>
+            <v6Rtti>0</v6Rtti>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define>__USEKEILCOMPILE__</Define>
+              <Undefine></Undefine>
+              <IncludePath>..\..\..\..\..\Librarier\core;..\..\..\..\..\Librarier\sdk;..\MDK</IncludePath>
+            </VariousControls>
+          </Cads>
+          <Aads>
+            <interw>1</interw>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <thumb>0</thumb>
+            <SplitLS>0</SplitLS>
+            <SwStkChk>0</SwStkChk>
+            <NoWarn>0</NoWarn>
+            <uSurpInc>0</uSurpInc>
+            <useXO>0</useXO>
+            <uClangAs>0</uClangAs>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Aads>
+          <LDads>
+            <umfTarg>0</umfTarg>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <noStLib>0</noStLib>
+            <RepFail>1</RepFail>
+            <useFile>0</useFile>
+            <TextAddressRange>0x00000000</TextAddressRange>
+            <DataAddressRange>0xd0000</DataAddressRange>
+            <pXoBase></pXoBase>
+            <ScatterFile>.\Objects\YC3121_keil.sct</ScatterFile>
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc></Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
+          </LDads>
+        </TargetArmAds>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>core</GroupName>
+          <Files>
+            <File>
+              <FileName>misc.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\core\misc.c</FilePath>
+            </File>
+            <File>
+              <FileName>system.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\core\system.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>main</GroupName>
+          <Files>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\user\main.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>sdk</GroupName>
+          <Files>
+            <File>
+              <FileName>yc_gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_uart.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_uart.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_timer.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_timer.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_lcd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_lcd.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_spi.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_spi.c</FilePath>
+            </File>
+            <File>
+              <FileName>yc_kscan.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\..\..\Librarier\sdk\yc_kscan.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>startup</GroupName>
+          <Files>
+            <File>
+              <FileName>flash_start.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\..\..\..\Librarier\startup\flash_start.s</FilePath>
+            </File>
+            <File>
+              <FileName>startup.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\..\..\..\Librarier\startup\startup.s</FilePath>
+            </File>
+          </Files>
+        </Group>
+      </Groups>
+    </Target>
+  </Targets>
+
+  <RTE>
+    <apis/>
+    <components/>
+    <files/>
+  </RTE>
+
+</Project>
Index: Keyboard_MPOS/prj/MDK/word.h
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/MDK/word.h	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/prj/MDK/word.h	(working copy)
@@ -0,0 +1,126 @@
+#ifndef  WORD_H
+#define  WORD_H
+
+unsigned char Bmp001[24 * 6]={
+	0x00,0x00,0x00,0x00,0x00,0xFC,0x4C,0x4C,0x4C,0x4C,0x4C,0x4C,
+	0x4C,0x4C,0x4C,0x4C,0x4C,0x4C,0xFC,0x00,0x00,0x00,0x00,0x00,
+	0x00,0x00,0x80,0xC0,0x60,0x63,0x32,0x3E,0x3E,0xF6,0xF2,0x32,
+	0x32,0x32,0xF2,0xF2,0x32,0x32,0x33,0xF0,0xF0,0x00,0x00,0x00,
+	0x00,0x00,0x00,0x04,0x0C,0x44,0x66,0x63,0x33,0x31,0x18,0x1C,
+	0x0E,0x07,0x03,0x60,0x60,0x60,0x70,0x3F,0x07,0x00,0x00,0x00
+}; /* 易 */
+unsigned char Bmp002[24 * 6]={
+	0x00,0x00,0x40,0xE0,0xC0,0x80,0x00,0x00,0xFC,0xFC,0x00,0x00,
+	0x00,0xFC,0xFC,0x00,0x00,0x80,0xC0,0x70,0x60,0x00,0x00,0x00,
+	0x00,0x00,0xC0,0xC0,0x61,0x63,0x31,0x30,0xFF,0xFF,0x00,0x00,
+	0x00,0xFF,0xFF,0x20,0x31,0x71,0x60,0xE0,0xC0,0x00,0x00,0x00,
+	0x00,0x00,0x61,0x60,0x30,0x30,0x18,0x0E,0x07,0x01,0x00,0x00,
+	0x00,0x3F,0x3F,0x30,0x20,0x20,0x20,0x20,0x38,0x3C,0x08,0x00
+}; /* 兆 */
+unsigned char Bmp003[24 * 6]={
+	0x00,0x40,0x60,0x30,0x1C,0xCC,0x80,0xF0,0xF0,0x00,0xFC,0xFC,
+	0x00,0xF0,0x00,0x00,0xF0,0xFC,0x84,0x80,0x80,0x80,0xC0,0x00,
+	0x00,0x20,0x38,0x1C,0xFF,0x03,0x00,0x0D,0xCD,0x4D,0x4D,0xCD,
+	0xCD,0x0D,0x19,0x0F,0xFF,0xC0,0x00,0xFF,0x3F,0x00,0x00,0x00,
+	0x00,0x00,0x00,0x00,0x7F,0x00,0x10,0x3C,0x0F,0x00,0x00,0x0F,
+	0x0F,0x6C,0x76,0x30,0x18,0x0F,0x0F,0x19,0x30,0x70,0x20,0x00
+}; /* 微 */
+unsigned char Bmp004[24 * 6]={
+	0x00,0x00,0xE0,0xE0,0xE0,0x60,0x60,0x60,0x60,0x60,0xFE,0xFE,
+	0x60,0x60,0x60,0x60,0x60,0x60,0xE0,0x00,0x00,0x00,0x00,0x00,
+	0x00,0x00,0x00,0xFF,0xFF,0x0C,0x0C,0x0C,0x0C,0x0C,0xFF,0xFF,
+	0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0xFF,0x00,0x00,0x00,0x00,0x00,
+	0x00,0x00,0x04,0x07,0x07,0x01,0x01,0x01,0x01,0x01,0x3F,0x7F,
+	0x61,0x41,0x41,0x41,0x41,0x41,0x41,0x60,0x60,0x78,0x10,0x00
+}; /* 电 */
+unsigned char Bmp005[24 * 6]={
+	0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+	0x98,0x98,0xD8,0x78,0x78,0x38,0x18,0x18,0x00,0x00,0x00,0x00,
+	0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xFF,
+	0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x7F,
+	0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
+}; /* 子 */
+
+unsigned char Test_K[252]={
+	0x00,0x30,0x30,0x30,0x30,0xF0,0xF0,0x30,0x30,0x30,0x30,0x00,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+	0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+	0x00,0xF0,0xF0,0x00,0x00,0x00,0x80,0xC0,0xE0,0x30,0x10,0x00,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+
+	0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
+	0x00,0xE0,0xF8,0x5C,0x4C,0x44,0x44,0x4C,0x7C,0x78,0x40,0x00,
+	0x00,0x00,0x78,0x7C,0xCC,0xC4,0xC4,0x8C,0x9C,0x18,0x00,0x00,
+	0x00,0x0C,0x0C,0x0C,0xFF,0xFF,0x0C,0x0C,0x0C,0x0C,0x00,0x00,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+	0x00,0xFF,0xFF,0x38,0x1C,0x3F,0xF3,0xE1,0x80,0x00,0x00,0x00,
+	0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,
+
+	0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,
+	0x00,0x03,0x07,0x0C,0x18,0x18,0x18,0x18,0x0E,0x06,0x02,0x00,
+	0x00,0x00,0x0E,0x0C,0x18,0x18,0x18,0x18,0x0F,0x0F,0x00,0x00,
+	0x00,0x00,0x00,0x00,0x07,0x0F,0x18,0x18,0x18,0x18,0x00,0x00,
+	0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+	0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,0x03,0x0F,0x1E,0x18,0x00,
+	0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00
+};
+
+unsigned char num0[36]={
+	0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x60,0xE0,0xC0,0x00,0x00,
+	0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFE,0x00,
+	0x00,0x01,0x07,0x0E,0x0C,0x18,0x18,0x0C,0x0F,0x07,0x00,0x00
+};
+unsigned char num1[36]={
+	0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0x00,0x00,0x00,0x00,0x00,
+	0x00,0x00,0x03,0x01,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
+	0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00
+};
+unsigned char num2[36]={
+	0x00,0x80,0xE0,0x60,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,
+	0x00,0x01,0x01,0x00,0x80,0xC0,0xE0,0x38,0x1F,0x07,0x00,0x00,
+	0x00,0x08,0x0E,0x0F,0x0B,0x09,0x08,0x08,0x08,0x08,0x08,0x00
+};
+unsigned char num3[36]={
+	0x00,0x80,0xC0,0x60,0x30,0x30,0x30,0x30,0xE0,0xC0,0x00,0x00,
+	0x00,0x01,0x01,0x00,0x00,0x18,0x18,0x38,0x7F,0xE7,0x80,0x00,
+	0x00,0x03,0x07,0x0C,0x18,0x18,0x18,0x0C,0x0E,0x07,0x01,0x00
+};
+unsigned char num4[36]={
+	0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xF0,0x00,0x00,0x00,
+	0x80,0xC0,0xF0,0xB8,0x8E,0x87,0x81,0xFF,0xFF,0x80,0x80,0x80,
+	0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x0F,0x0F,0x01,0x01,0x01
+};
+unsigned char num5[36]={
+	0x00,0x00,0xE0,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,
+	0x00,0x1C,0x1F,0x0D,0x04,0x04,0x0C,0x0C,0x3C,0xF8,0xC0,0x00,
+	0x01,0x07,0x0E,0x08,0x18,0x18,0x18,0x0C,0x0F,0x07,0x00,0x00
+};
+unsigned char num6[36]={
+	0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x30,0x10,0x00,0x00,0x00,
+	0x00,0xE0,0xF8,0x1E,0x0F,0x0D,0x0C,0x0C,0x18,0xF8,0xF0,0x00,
+	0x00,0x03,0x07,0x0C,0x18,0x18,0x18,0x18,0x0C,0x0F,0x03,0x00
+};
+unsigned char num7[36]={
+	0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0xE0,0x60,0x00,
+	0x00,0x00,0x00,0x00,0x00,0xE0,0xF8,0x1E,0x07,0x01,0x00,0x00,
+	0x00,0x00,0x00,0x08,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0x00
+};
+unsigned char num8[36]={
+	0x00,0x80,0xE0,0x60,0x30,0x30,0x30,0x20,0xE0,0xC0,0x00,0x00,
+	0x00,0xE3,0xFF,0x3C,0x18,0x18,0x18,0x3C,0x3F,0xE7,0xC0,0x00,
+	0x00,0x07,0x0F,0x0C,0x18,0x18,0x18,0x18,0x0C,0x07,0x03,0x00
+};
+unsigned char num9[36]={
+	0x00,0xC0,0xE0,0x60,0x30,0x30,0x30,0x60,0xE0,0xC0,0x00,0x00,
+	0x02,0x1F,0x3D,0x30,0x60,0x60,0xE0,0xF0,0x7F,0x1F,0x03,0x00,
+	0x00,0x00,0x00,0x10,0x1C,0x0F,0x03,0x01,0x00,0x00,0x00,0x00
+};
+unsigned char nume[36]={
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
+};
+#endif
Index: Keyboard_MPOS/user/main.c
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/user/main.c	(nonexistent)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_MPOS/user/main.c	(working copy)
@@ -0,0 +1,447 @@
+/**
+  ******************************************************************************
+  * @file    3121Demo\ModuleDemo\Keyboard\Keyboard_MPOS\user\main.c
+  * @author  Yichip Application Team
+  * @version V1.0.1
+  * @date    15-July-2020
+  * @brief   Keyboard test program.
+  ******************************************************************************
+  * @attention
+  *
+  * COPYRIGHT 2019 Yichip Microelectronics
+  *
+  * The purpose of this firmware is to provide guidance to customers engaged in
+  * programming work to guide them smoothly to product development,
+  * so as to save their time.
+  *
+  * Therefore, Yichip microelectronics shall not be responsible for any direct,
+  * indirect or consequential damages caused by any content of this gu jiang
+  * and/or contained in this code used by the customer in its products.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "yc3121.h"
+#include "yc_gpio.h"
+#include "yc_uart.h"
+#include "yc_timer.h"
+#include "yc_lcd.h"
+#include "yc_kscan.h"
+#include "misc.h"
+#include "word.h"
+#include "board_config.h"
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+uint8_t keyvalue = 0;
+uint16_t keyflag = 0x8000;
+
+/* Private function prototypes -----------------------------------------------*/
+void UART_Configuration(void);
+void NVIC_Configuration(void);
+void LCD_Configuration(void);
+void TIMER_Configuration(void);
+void SPI_LCD_Test(void);
+void key_test(void);
+
+/**
+  * @brief  Main program
+  * @param  None
+  * @retval None
+  */
+int main(void)
+{
+    UART_Configuration();
+    TIMER_Configuration();
+    NVIC_Configuration();
+    LCD_Configuration();
+
+    MyPrintf("Yichip Yc3121 Keyboard test Demo V1.0.\r\n");
+
+    SPI_LCD_Test();
+
+    while (1)
+    {
+        key_test();
+    }
+}
+
+/**
+  * @brief  NVIC configuration function.
+  * @param  None
+  * @retval None
+  */
+void NVIC_Configuration(void)
+{
+    NVIC_EnableIRQ(TIM0_IRQn);
+    NVIC_SetPriority(TIM0_IRQn, 0);
+}
+
+/**
+  * @brief  Serial port 0 initialization function.
+  * @param  None
+  * @retval None
+  */
+void UART_Configuration(void)
+{
+    UART_InitTypeDef UART_InitStruct;
+
+    /* Configure serial ports RX and TX for IO. */
+    UART0_TX_IO_CONFIG
+    UART0_RX_IO_CONFIG
+
+
+    /* USARTx configured as follow:
+    - BaudRate = 115200 baud
+    - Word Length = 8 Bits
+    - Stop Bit = 1 Stop Bit
+    - Parity = No Parity
+    - Hardware flow control disabled (RTS and CTS signals)
+    - Receive and transmit enabled
+    */
+    UART_InitStruct.BaudRate = UARTBAUD;			//Configure serial port baud rate, the baud rate defaults to 128000.
+    UART_InitStruct.DataBits = Databits_8b;
+    UART_InitStruct.StopBits = StopBits_1;
+    UART_InitStruct.Parity = Parity_None;
+    UART_InitStruct.FlowCtrl = FlowCtrl_None;
+    UART_InitStruct.Mode = Mode_duplex;
+
+    UART_Init(UART0, &UART_InitStruct);
+}
+
+/**
+  * @brief  LCD related IO port and SPI related configuration
+  * @param  None
+  * @retval None
+  */
+void LCD_Configuration(void)
+{
+    LCD_InitTypedef LCD_ConfigureStructure;
+
+    LCD_ConfigureStructure.SPIx = LCD_SPI;
+    LCD_ConfigureStructure.IO_LCD_SDA_Port = LCDSDA_PORT;
+    LCD_ConfigureStructure.IO_LCD_SDA_PIN  = LCDSDA_PIN;
+    LCD_ConfigureStructure.IO_LCD_SCL_Port = LCDSCL_PORT;
+    LCD_ConfigureStructure.IO_LCD_SCL_PIN  = LCDSCL_PIN;
+    LCD_ConfigureStructure.IO_LCD_CS_Port  = LCDCS_PORT;
+    LCD_ConfigureStructure.IO_LCD_CS_PIN   = LCDCS_PIN;
+    LCD_ConfigureStructure.IO_LCD_RES_Port = LCDRST_PORT;
+    LCD_ConfigureStructure.IO_LCD_RES_PIN  = LCDRST_PIN;
+    LCD_ConfigureStructure.IO_LCD_A0_Port  = LCDA0_PORT;
+    LCD_ConfigureStructure.IO_LCD_A0_PIN   = LCDA0_PIN;
+    LCD_ConfigureStructure.IO_LCD_BL_Port  = LCDBL_PORT;
+    LCD_ConfigureStructure.IO_LCD_BL_PIN   = LCDBL_PIN;
+
+    lcd_io_init(&LCD_ConfigureStructure);
+
+    /* Initialize the LCD screen */
+    init_lcd();
+}
+
+void TIMER_Configuration(void)
+{
+    TIM_InitTypeDef TIM_InitStruct;
+
+    TIM_InitStruct.TIMx = TIM0;
+    TIM_InitStruct.period = 7200000;
+    TIM_Init(&TIM_InitStruct);
+
+    TIM_ModeConfig(TIM0, TIM_Mode_TIMER);
+    TIM_Cmd(TIM0, ENABLE);
+}
+
+void key_test(void)
+{
+    static unsigned char change = 0;
+    unsigned char i;
+
+    if (keyflag == 0x0001 && change == 0)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num2[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 1;
+    }
+    if (keyflag == 0x0002 && change == 1)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num3[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 2;
+    }
+    if (keyflag == 0x0004 && change == 2)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num4[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 3;
+    }
+    if (keyflag == 0x0008 && change == 3)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num5[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 4;
+    }
+    if (keyflag == 0x0010 && change == 4)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num6[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 5;
+    }
+    if (keyflag == 0x0020 && change == 5)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num7[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 6;
+    }
+    if (keyflag == 0x0040 && change == 6)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num8[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 7;
+    }
+    if (keyflag == 0x0080 && change == 7)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num9[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 8;
+    }
+
+    if (keyflag == 0x0100 && change == 8)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num1[12 * i], 12, LCD_RS_DATA);
+        }
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(112, 5 + i);
+            write_bytes_lcd(&num0[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 9;
+    }
+    if (keyflag == 0x0200 && change == 9)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num1[12 * i], 12, LCD_RS_DATA);
+        }
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(112, 5 + i);
+            write_bytes_lcd(&num1[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 10;
+    }
+    if (keyflag == 0x0400 && change == 10)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num1[12 * i], 12, LCD_RS_DATA);
+        }
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(112, 5 + i);
+            write_bytes_lcd(&num2[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 11;
+    }
+    if (keyflag == 0x0800 && change == 11)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num1[12 * i], 12, LCD_RS_DATA);
+        }
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(112, 5 + i);
+            write_bytes_lcd(&num3[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 12;
+    }
+    if (keyflag == 0x1000 && change == 12)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num1[12 * i], 12, LCD_RS_DATA);
+        }
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(112, 5 + i);
+            write_bytes_lcd(&num4[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 13;
+    }
+    if (keyflag == 0x2000 && change == 13)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num1[12 * i], 12, LCD_RS_DATA);
+        }
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(112, 5 + i);
+            write_bytes_lcd(&num5[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 14;
+    }
+    if (keyflag == 0x4000 && change == 14)
+    {
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(100, 5 + i);
+            write_bytes_lcd(&num1[12 * i], 12, LCD_RS_DATA);
+        }
+        for (i = 0; i < 6; i++)
+        {
+            set_xy(112, 5 + i);
+            write_bytes_lcd(&nume[12 * i], 12, LCD_RS_DATA);
+        }
+        change = 0;
+    }
+}
+
+/**
+  * @brief  LCD displays test functions
+  * @param  None
+  * @retval None
+  */
+void SPI_LCD_Test(void)
+{
+    unsigned char i;
+    GPIO_Config(GPIOA, GPIO_Pin_2, OUTPUT_HIGH);
+    clr_screen();
+
+    for (i = 0; i < 3; i++)
+    {
+        /* Set the starting pixel X and Y positions */
+        set_xy(4, i + 1);
+        write_bytes_lcd(&Bmp001[24 * i], 24, LCD_RS_DATA);
+    }
+    for (i = 0; i < 3; i++)
+    {
+        set_xy(28, i + 1);
+        write_bytes_lcd(&Bmp002[24 * i], 24, LCD_RS_DATA);
+    }
+    for (i = 0; i < 3; i++)
+    {
+        set_xy(52, i + 1);
+        write_bytes_lcd(&Bmp003[24 * i], 24, LCD_RS_DATA);
+    }
+    for (i = 0; i < 3; i++)
+    {
+        set_xy(76, i + 1);
+        write_bytes_lcd(&Bmp004[24 * i], 24, LCD_RS_DATA);
+    }
+    for (i = 0; i < 3; i++)
+    {
+        set_xy(100, i + 1);
+        write_bytes_lcd(&Bmp005[24 * i], 24, LCD_RS_DATA);
+    }
+    for (i = 0; i < 3; i++)
+    {
+        set_xy(100, 5 + i);
+        write_bytes_lcd(&num1[12 * i], 12, LCD_RS_DATA);
+    }
+
+    for (i = 0; i < 3; i++)
+    {
+        set_xy(16, 5 + i);
+        write_bytes_lcd(&Test_K[84 * i], 84, LCD_RS_DATA);
+    }
+}
+
+/**
+  * @brief  TIM0 Interrupt service function.
+  * @param  None
+  * @retval None
+  */
+void TIMER0_IRQHandler(void)
+{
+    keyvalue = KEY_Scan();
+    if (keyvalue)
+    {
+        switch (keyvalue)
+        {
+        case 30:
+            keyflag = 0x0001;
+            break;
+        case 31:
+            keyflag = 0x0002;
+            break;
+        case 32:
+            keyflag = 0x0004;
+            break;
+        case 33:
+            keyflag = 0x0008;
+            break;
+        case 34:
+            keyflag = 0x0010;
+            break;
+        case 35:
+            keyflag = 0x0020;
+            break;
+        case 36:
+            keyflag = 0x0040;
+            break;
+        case 37:
+            keyflag = 0x0080;
+            break;
+        case 38:
+            keyflag = 0x0100;
+            break;
+        case 39:
+            keyflag = 0x0800;
+            break;
+        case 40:
+            keyflag = 0x0400;
+            break;
+        case 41:
+            keyflag = 0x0200;
+            break;
+        case 42:
+            keyflag = 0x1000;
+            break;
+        case 43:
+            keyflag = 0x2000;
+            break;
+        case 44:
+            keyflag = 0x4000;
+            break;
+        default:
+            break;
+        }
+    }
+}
+
+/************************ (C) COPYRIGHT Yichip Microelectronics *****END OF FILE****/
Index: Keyboard_test/prj/GCC/c.bat
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/GCC/c.bat	(revision 659)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/GCC/c.bat	(nonexistent)
@@ -1,3 +0,0 @@
-cls
-make clean
-make
\ No newline at end of file
Index: Keyboard_test/prj/GCC/makefile
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/GCC/makefile	(revision 659)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/GCC/makefile	(nonexistent)
@@ -1,86 +0,0 @@
-
-ifeq ($(OS),Windows_NT)
-DIR = C:/gcc-arm-none-eabi-7-2018-q2-update-win32
-else
-DIR = /usr/gcc-arm-none-eabi-7-2018-q2-update
-endif
-
-ARCH = $(DIR)/bin/arm-none-eabi
-GCC = $(ARCH)-gcc
-LD = $(ARCH)-ld
-AS = $(ARCH)-as
-OBJCOPY = $(ARCH)-objcopy
-OBJDUMP = "$(ARCH)-objdump"
-LIB_PATH = ../../../../../Librarier
-USER_PATH = ../../user
-
-
-all : output/out.hex
-
-
-CORE_OBJS =  $(LIB_PATH)/startup/flash_start_gcc \
-             $(LIB_PATH)/core/system \
-             $(LIB_PATH)/core/misc \
-             $(LIB_PATH)/sdk/yc_gpio \
-             $(LIB_PATH)/sdk/yc_uart \
-             $(LIB_PATH)/sdk/yc_sysctrl \
-             $(LIB_PATH)/sdk/yc_timer\
-             $(LIB_PATH)/sdk/yc_lcd\
-             $(LIB_PATH)/sdk/yc_spi\
-             $(LIB_PATH)/sdk/yc_kscan\
-
-
-             
-USER_OBJS = $(USER_PATH)/main \
-            $(USER_PATH)/bt_code
-			
-OBJS = $(CORE_OBJS) $(USER_OBJS)
-
-INC_DIR = -I $(LIB_PATH)/core \
-          -I $(LIB_PATH)/sdk
-
-
-CFLAG =  -mthumb -mcpu=cortex-m0 -c -g -Os $(INC_DIR) $(DEF) -fno-toplevel-reorder
-LDFLAG = -T output/ld.script -Map=output/memmap -lc -lm -lgcc -L "$(DIR)/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m"  -L "$(DIR)/arm-none-eabi/lib/thumb/v6-m"
-
-define ldscript = 
-SECTIONS
-{ 
-        . = 0x1000000;
-        .text : { *flash_start.o *(.text*) *(.rodata*) }
-        _sidata = ALIGN(4);
-        . = 0x20000;
-        .data : AT (_sidata) { _sdata = .; *(.data) _edata = .; }
-        .bss : { _sbss = .;     *(*.bss) *(*.scommon*) }
-        _ebss = .;
-        . = 0x30000;
-        _stack = .;
-        ASSERT(_ebss < _stack, "data size overflow")
-}
-endef
-
-
-output/out.hex : output/out
-	$(OBJCOPY) $^ -O ihex $@
-
-
-output/out : $(addprefix output/, $(addsuffix .o, $(OBJS)))
-	$(file >output/ld.script, $(ldscript))
-	$(LD) $(addprefix output/obj/,$(addsuffix .o, $(notdir $(OBJS)))) -o $@  $(LDFLAG)
-	$(OBJDUMP) -S $@ > output/disasm
-
-output/%.o : %.c
-	$(GCC) $< $(CFLAG) -o output/obj/$(notdir $@)
-
-output/%.o : %.s
-	$(AS) $^ -mthumb -mcpu=cortex-m0 -o output/obj/$(notdir $@)
-
-
-clean :
-ifeq ($(OS),Windows_NT)
-	del /Q output\*.*
-	del /Q output\obj\*.*
-else
-	rm -rf output/*
-	rm -rf output/obj/*
-endif
Index: Keyboard_test/prj/MDK/Objects/YC3121_Keil.axf
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: Keyboard_test/prj/MDK/Objects/YC3121_Keil.axf
___________________________________________________________________
Deleted: svn:mime-type
## -1 +0,0 ##
-application/octet-stream
\ No newline at end of property
Index: Keyboard_test/prj/MDK/Objects/YC3121_keil.sct
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/MDK/Objects/YC3121_keil.sct	(revision 665)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/MDK/Objects/YC3121_keil.sct	(nonexistent)
@@ -1,55 +0,0 @@
-; *************************************************************
-; *** Scatter-Loading Description File generated by uVision ***
-; *************************************************************
-
-LR_IROM1 0x00000000 0x0001fff  {    ; load region size_region
-  ER_IROM1 0x00000000 0x00001fff  {  ; load address = execution address
-   startup.o (RESET, +First)
-   startup.o (|.text|,+RO)
-;   *(InRoot$$Sections)
-  }
-  ;ER_IROM2 0x4000   {
-  ;rom_main.o (+RO)
-  ;}
-  
-  ;ER_IROM3 0x100000 {
-	  ;*(InRoot$$Sections)
-  ;}
-	
-  ;ER_IROM4 0x100400   {
-  ;flash_start.o (+RO)
-  ;.ANY (+RO) 
-  ;}
-  
-  ;RW_IRAM1 0x000d0000 0x0010000  {  ; RW data
-   ;.ANY (+RW +ZI)
-  ;}
-  
-;  ARM_LIB_STACK 0xE0000 EMPTY -0x10000{}
-}
-
-;LR_IROM2 0x4000 0x4000{
-;	ER_IROM2 0x4000 {
-;	  rom_main.o (+RO)
-;	}
-;}
-
-LR_IROM3 0x1000200 0x200{
-	ER_IROM3 0x1000200 {
-	  flash_start.o (|.flash_start|,+RO)
-	}
-}
-
-LR_IROM4 0x1000400 0x1000000{
-	ER_IROM4 0x1000400 {
-;	  flash_start.o (|.flash_start|,+RO)
-	  *(InRoot$$Sections)
-	  .ANY (+RO)
-	}
-	
-	
-	 RW_IRAM2 0x00020000 0x010000  {  ; RW data
-	.ANY (+RW +ZI)
-	}
-}
-
Index: Keyboard_test/prj/MDK/YC3121_Keil.uvoptx
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/MDK/YC3121_Keil.uvoptx	(revision 665)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/MDK/YC3121_Keil.uvoptx	(nonexistent)
@@ -1,390 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
-<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
-
-  <SchemaVersion>1.0</SchemaVersion>
-
-  <Header>### uVision Project, (C) Keil Software</Header>
-
-  <Extensions>
-    <cExt>*.c</cExt>
-    <aExt>*.s*; *.src; *.a*</aExt>
-    <oExt>*.obj; *.o</oExt>
-    <lExt>*.lib</lExt>
-    <tExt>*.txt; *.h; *.inc</tExt>
-    <pExt>*.plm</pExt>
-    <CppX>*.cpp</CppX>
-    <nMigrate>0</nMigrate>
-  </Extensions>
-
-  <DaveTm>
-    <dwLowDateTime>0</dwLowDateTime>
-    <dwHighDateTime>0</dwHighDateTime>
-  </DaveTm>
-
-  <Target>
-    <TargetName>YC3121</TargetName>
-    <ToolsetNumber>0x4</ToolsetNumber>
-    <ToolsetName>ARM-ADS</ToolsetName>
-    <TargetOption>
-      <CLKADS>12000000</CLKADS>
-      <OPTTT>
-        <gFlags>1</gFlags>
-        <BeepAtEnd>1</BeepAtEnd>
-        <RunSim>0</RunSim>
-        <RunTarget>1</RunTarget>
-        <RunAbUc>0</RunAbUc>
-      </OPTTT>
-      <OPTHX>
-        <HexSelection>1</HexSelection>
-        <FlashByte>65535</FlashByte>
-        <HexRangeLowAddress>0</HexRangeLowAddress>
-        <HexRangeHighAddress>0</HexRangeHighAddress>
-        <HexOffset>0</HexOffset>
-      </OPTHX>
-      <OPTLEX>
-        <PageWidth>79</PageWidth>
-        <PageLength>66</PageLength>
-        <TabStop>8</TabStop>
-        <ListingPath>.\Listings\</ListingPath>
-      </OPTLEX>
-      <ListingPage>
-        <CreateCListing>1</CreateCListing>
-        <CreateAListing>1</CreateAListing>
-        <CreateLListing>1</CreateLListing>
-        <CreateIListing>0</CreateIListing>
-        <AsmCond>1</AsmCond>
-        <AsmSymb>1</AsmSymb>
-        <AsmXref>0</AsmXref>
-        <CCond>1</CCond>
-        <CCode>0</CCode>
-        <CListInc>0</CListInc>
-        <CSymb>0</CSymb>
-        <LinkerCodeListing>0</LinkerCodeListing>
-      </ListingPage>
-      <OPTXL>
-        <LMap>1</LMap>
-        <LComments>1</LComments>
-        <LGenerateSymbols>1</LGenerateSymbols>
-        <LLibSym>1</LLibSym>
-        <LLines>1</LLines>
-        <LLocSym>1</LLocSym>
-        <LPubSym>1</LPubSym>
-        <LXref>0</LXref>
-        <LExpSel>0</LExpSel>
-      </OPTXL>
-      <OPTFL>
-        <tvExp>1</tvExp>
-        <tvExpOptDlg>0</tvExpOptDlg>
-        <IsCurrentTarget>1</IsCurrentTarget>
-      </OPTFL>
-      <CpuCode>7</CpuCode>
-      <DebugOpt>
-        <uSim>0</uSim>
-        <uTrg>1</uTrg>
-        <sLdApp>1</sLdApp>
-        <sGomain>1</sGomain>
-        <sRbreak>1</sRbreak>
-        <sRwatch>1</sRwatch>
-        <sRmem>1</sRmem>
-        <sRfunc>1</sRfunc>
-        <sRbox>1</sRbox>
-        <tLdApp>1</tLdApp>
-        <tGomain>1</tGomain>
-        <tRbreak>1</tRbreak>
-        <tRwatch>1</tRwatch>
-        <tRmem>1</tRmem>
-        <tRfunc>0</tRfunc>
-        <tRbox>1</tRbox>
-        <tRtrace>1</tRtrace>
-        <sRSysVw>1</sRSysVw>
-        <tRSysVw>1</tRSysVw>
-        <sRunDeb>0</sRunDeb>
-        <sLrtime>0</sLrtime>
-        <bEvRecOn>1</bEvRecOn>
-        <bSchkAxf>0</bSchkAxf>
-        <bTchkAxf>0</bTchkAxf>
-        <nTsel>4</nTsel>
-        <sDll></sDll>
-        <sDllPa></sDllPa>
-        <sDlgDll></sDlgDll>
-        <sDlgPa></sDlgPa>
-        <sIfile></sIfile>
-        <tDll></tDll>
-        <tDllPa></tDllPa>
-        <tDlgDll></tDlgDll>
-        <tDlgPa></tDlgPa>
-        <tIfile>..\..\..\..\..\ConfigFiles\MDK\flash.ini</tIfile>
-        <pMon>Segger\JL2CM3.dll</pMon>
-      </DebugOpt>
-      <TargetDriverDllRegistry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>PWSTATINFO</Key>
-          <Name>200,50,700</Name>
-        </SetRegEntry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>ARMRTXEVENTFLAGS</Key>
-          <Name>-L70 -Z18 -C0 -M0 -T1</Name>
-        </SetRegEntry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>DLGTARM</Key>
-          <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)</Name>
-        </SetRegEntry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>ARMDBGFLAGS</Key>
-          <Name></Name>
-        </SetRegEntry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>JL2CM3</Key>
-          <Name>-U4294967295 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO31 -FD20000 -FCA000 -FN1 -FF0YC3121 -FS01000200 -FL01000000</Name>
-        </SetRegEntry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>UL2CM3</Key>
-          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000)</Name>
-        </SetRegEntry>
-      </TargetDriverDllRegistry>
-      <Breakpoint>
-        <Bp>
-          <Number>0</Number>
-          <Type>0</Type>
-          <LineNumber>64</LineNumber>
-          <EnabledFlag>1</EnabledFlag>
-          <Address>0</Address>
-          <ByteObject>0</ByteObject>
-          <HtxType>0</HtxType>
-          <ManyObjects>0</ManyObjects>
-          <SizeOfObject>0</SizeOfObject>
-          <BreakByAccess>0</BreakByAccess>
-          <BreakIfRCount>0</BreakIfRCount>
-          <Filename>H:\易兆微电子（杭州）有限责任公司\PRJ\PR3_3121demo\应用板\3121demo\Librarier\sdk\Keyboard.c</Filename>
-          <ExecCommand></ExecCommand>
-          <Expression></Expression>
-        </Bp>
-      </Breakpoint>
-      <Tracepoint>
-        <THDelay>0</THDelay>
-      </Tracepoint>
-      <DebugFlag>
-        <trace>0</trace>
-        <periodic>0</periodic>
-        <aLwin>1</aLwin>
-        <aCover>0</aCover>
-        <aSer1>0</aSer1>
-        <aSer2>0</aSer2>
-        <aPa>0</aPa>
-        <viewmode>1</viewmode>
-        <vrSel>0</vrSel>
-        <aSym>0</aSym>
-        <aTbox>0</aTbox>
-        <AscS1>0</AscS1>
-        <AscS2>0</AscS2>
-        <AscS3>0</AscS3>
-        <aSer3>0</aSer3>
-        <eProf>0</eProf>
-        <aLa>0</aLa>
-        <aPa1>0</aPa1>
-        <AscS4>0</AscS4>
-        <aSer4>0</aSer4>
-        <StkLoc>0</StkLoc>
-        <TrcWin>0</TrcWin>
-        <newCpu>0</newCpu>
-        <uProt>0</uProt>
-      </DebugFlag>
-      <LintExecutable></LintExecutable>
-      <LintConfigFile></LintConfigFile>
-      <bLintAuto>0</bLintAuto>
-      <bAutoGenD>0</bAutoGenD>
-      <LntExFlags>0</LntExFlags>
-      <pMisraName></pMisraName>
-      <pszMrule></pszMrule>
-      <pSingCmds></pSingCmds>
-      <pMultCmds></pMultCmds>
-      <pMisraNamep></pMisraNamep>
-      <pszMrulep></pszMrulep>
-      <pSingCmdsp></pSingCmdsp>
-      <pMultCmdsp></pMultCmdsp>
-    </TargetOption>
-  </Target>
-
-  <Group>
-    <GroupName>core</GroupName>
-    <tvExp>1</tvExp>
-    <tvExpOptDlg>0</tvExpOptDlg>
-    <cbSel>0</cbSel>
-    <RteFlg>0</RteFlg>
-    <File>
-      <GroupNumber>1</GroupNumber>
-      <FileNumber>1</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\core\misc.c</PathWithFileName>
-      <FilenameWithoutPath>misc.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>1</GroupNumber>
-      <FileNumber>2</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\core\system.c</PathWithFileName>
-      <FilenameWithoutPath>system.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-  </Group>
-
-  <Group>
-    <GroupName>main</GroupName>
-    <tvExp>1</tvExp>
-    <tvExpOptDlg>0</tvExpOptDlg>
-    <cbSel>0</cbSel>
-    <RteFlg>0</RteFlg>
-    <File>
-      <GroupNumber>2</GroupNumber>
-      <FileNumber>3</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\user\main.c</PathWithFileName>
-      <FilenameWithoutPath>main.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>2</GroupNumber>
-      <FileNumber>4</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\user\bt_code.c</PathWithFileName>
-      <FilenameWithoutPath>bt_code.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-  </Group>
-
-  <Group>
-    <GroupName>sdk</GroupName>
-    <tvExp>1</tvExp>
-    <tvExpOptDlg>0</tvExpOptDlg>
-    <cbSel>0</cbSel>
-    <RteFlg>0</RteFlg>
-    <File>
-      <GroupNumber>3</GroupNumber>
-      <FileNumber>5</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_gpio.c</PathWithFileName>
-      <FilenameWithoutPath>yc_gpio.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>3</GroupNumber>
-      <FileNumber>6</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_uart.c</PathWithFileName>
-      <FilenameWithoutPath>yc_uart.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>3</GroupNumber>
-      <FileNumber>7</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_timer.c</PathWithFileName>
-      <FilenameWithoutPath>yc_timer.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>3</GroupNumber>
-      <FileNumber>8</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_lcd.c</PathWithFileName>
-      <FilenameWithoutPath>yc_lcd.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>3</GroupNumber>
-      <FileNumber>9</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>1</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_spi.c</PathWithFileName>
-      <FilenameWithoutPath>yc_spi.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>3</GroupNumber>
-      <FileNumber>10</FileNumber>
-      <FileType>1</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\sdk\yc_kscan.c</PathWithFileName>
-      <FilenameWithoutPath>yc_kscan.c</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-  </Group>
-
-  <Group>
-    <GroupName>startup</GroupName>
-    <tvExp>1</tvExp>
-    <tvExpOptDlg>0</tvExpOptDlg>
-    <cbSel>0</cbSel>
-    <RteFlg>0</RteFlg>
-    <File>
-      <GroupNumber>4</GroupNumber>
-      <FileNumber>11</FileNumber>
-      <FileType>2</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\startup\flash_start.s</PathWithFileName>
-      <FilenameWithoutPath>flash_start.s</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-    <File>
-      <GroupNumber>4</GroupNumber>
-      <FileNumber>12</FileNumber>
-      <FileType>2</FileType>
-      <tvExp>0</tvExp>
-      <tvExpOptDlg>0</tvExpOptDlg>
-      <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\..\..\Librarier\startup\startup.s</PathWithFileName>
-      <FilenameWithoutPath>startup.s</FilenameWithoutPath>
-      <RteFlg>0</RteFlg>
-      <bShared>0</bShared>
-    </File>
-  </Group>
-
-</ProjectOpt>
Index: Keyboard_test/prj/MDK/YC3121_Keil.uvprojx
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/MDK/YC3121_Keil.uvprojx	(revision 665)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/MDK/YC3121_Keil.uvprojx	(nonexistent)
@@ -1,471 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
-<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
-
-  <SchemaVersion>2.1</SchemaVersion>
-
-  <Header>### uVision Project, (C) Keil Software</Header>
-
-  <Targets>
-    <Target>
-      <TargetName>YC3121</TargetName>
-      <ToolsetNumber>0x4</ToolsetNumber>
-      <ToolsetName>ARM-ADS</ToolsetName>
-      <pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
-      <uAC6>0</uAC6>
-      <TargetOption>
-        <TargetCommonOption>
-          <Device>ARMCM0</Device>
-          <Vendor>ARM</Vendor>
-          <PackID>ARM.CMSIS.5.5.1</PackID>
-          <PackURL>http://www.keil.com/pack/</PackURL>
-          <Cpu>IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0") CLOCK(12000000) ESEL ELITTLE</Cpu>
-          <FlashUtilSpec></FlashUtilSpec>
-          <StartupFile></StartupFile>
-          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000)</FlashDriverDll>
-          <DeviceId>0</DeviceId>
-          <RegisterFile>$$Device:ARMCM0$Device\ARM\ARMCM0\Include\ARMCM0.h</RegisterFile>
-          <MemoryEnv></MemoryEnv>
-          <Cmp></Cmp>
-          <Asm></Asm>
-          <Linker></Linker>
-          <OHString></OHString>
-          <InfinionOptionDll></InfinionOptionDll>
-          <SLE66CMisc></SLE66CMisc>
-          <SLE66AMisc></SLE66AMisc>
-          <SLE66LinkerMisc></SLE66LinkerMisc>
-          <SFDFile></SFDFile>
-          <bCustSvd>0</bCustSvd>
-          <UseEnv>0</UseEnv>
-          <BinPath></BinPath>
-          <IncludePath></IncludePath>
-          <LibPath></LibPath>
-          <RegisterFilePath></RegisterFilePath>
-          <DBRegisterFilePath></DBRegisterFilePath>
-          <TargetStatus>
-            <Error>0</Error>
-            <ExitCodeStop>0</ExitCodeStop>
-            <ButtonStop>0</ButtonStop>
-            <NotGenerated>0</NotGenerated>
-            <InvalidFlash>1</InvalidFlash>
-          </TargetStatus>
-          <OutputDirectory>.\Objects\</OutputDirectory>
-          <OutputName>YC3121_Keil</OutputName>
-          <CreateExecutable>1</CreateExecutable>
-          <CreateLib>0</CreateLib>
-          <CreateHexFile>1</CreateHexFile>
-          <DebugInformation>1</DebugInformation>
-          <BrowseInformation>1</BrowseInformation>
-          <ListingPath>.\Listings\</ListingPath>
-          <HexFormatSelection>1</HexFormatSelection>
-          <Merge32K>0</Merge32K>
-          <CreateBatchFile>1</CreateBatchFile>
-          <BeforeCompile>
-            <RunUserProg1>0</RunUserProg1>
-            <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name></UserProg1Name>
-            <UserProg2Name></UserProg2Name>
-            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
-            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
-            <nStopU1X>0</nStopU1X>
-            <nStopU2X>0</nStopU2X>
-          </BeforeCompile>
-          <BeforeMake>
-            <RunUserProg1>0</RunUserProg1>
-            <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name></UserProg1Name>
-            <UserProg2Name></UserProg2Name>
-            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
-            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
-            <nStopB1X>0</nStopB1X>
-            <nStopB2X>0</nStopB2X>
-          </BeforeMake>
-          <AfterMake>
-            <RunUserProg1>1</RunUserProg1>
-            <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name>fromelf.exe --text -a -c --output=@L_asm.txt "!L"</UserProg1Name>
-            <UserProg2Name></UserProg2Name>
-            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
-            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
-            <nStopA1X>0</nStopA1X>
-            <nStopA2X>0</nStopA2X>
-          </AfterMake>
-          <SelectedForBatchBuild>0</SelectedForBatchBuild>
-          <SVCSIdString></SVCSIdString>
-        </TargetCommonOption>
-        <CommonProperty>
-          <UseCPPCompiler>0</UseCPPCompiler>
-          <RVCTCodeConst>0</RVCTCodeConst>
-          <RVCTZI>0</RVCTZI>
-          <RVCTOtherData>0</RVCTOtherData>
-          <ModuleSelection>0</ModuleSelection>
-          <IncludeInBuild>1</IncludeInBuild>
-          <AlwaysBuild>0</AlwaysBuild>
-          <GenerateAssemblyFile>0</GenerateAssemblyFile>
-          <AssembleAssemblyFile>0</AssembleAssemblyFile>
-          <PublicsOnly>0</PublicsOnly>
-          <StopOnExitCode>3</StopOnExitCode>
-          <CustomArgument></CustomArgument>
-          <IncludeLibraryModules></IncludeLibraryModules>
-          <ComprImg>1</ComprImg>
-        </CommonProperty>
-        <DllOption>
-          <SimDllName>SARMCM3.DLL</SimDllName>
-          <SimDllArguments>  </SimDllArguments>
-          <SimDlgDll>DARMCM1.DLL</SimDlgDll>
-          <SimDlgDllArguments>-pCM0</SimDlgDllArguments>
-          <TargetDllName>SARMCM3.DLL</TargetDllName>
-          <TargetDllArguments> </TargetDllArguments>
-          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>
-          <TargetDlgDllArguments>-pCM0</TargetDlgDllArguments>
-        </DllOption>
-        <DebugOption>
-          <OPTHX>
-            <HexSelection>1</HexSelection>
-            <HexRangeLowAddress>0</HexRangeLowAddress>
-            <HexRangeHighAddress>0</HexRangeHighAddress>
-            <HexOffset>0</HexOffset>
-            <Oh166RecLen>16</Oh166RecLen>
-          </OPTHX>
-        </DebugOption>
-        <Utilities>
-          <Flash1>
-            <UseTargetDll>1</UseTargetDll>
-            <UseExternalTool>0</UseExternalTool>
-            <RunIndependent>1</RunIndependent>
-            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
-            <Capability>1</Capability>
-            <DriverSelection>4100</DriverSelection>
-          </Flash1>
-          <bUseTDR>0</bUseTDR>
-          <Flash2>Segger\JL2CM3.dll</Flash2>
-          <Flash3>"" ()</Flash3>
-          <Flash4></Flash4>
-          <pFcarmOut></pFcarmOut>
-          <pFcarmGrp></pFcarmGrp>
-          <pFcArmRoot></pFcArmRoot>
-          <FcArmLst>0</FcArmLst>
-        </Utilities>
-        <TargetArmAds>
-          <ArmAdsMisc>
-            <GenerateListings>0</GenerateListings>
-            <asHll>1</asHll>
-            <asAsm>1</asAsm>
-            <asMacX>1</asMacX>
-            <asSyms>1</asSyms>
-            <asFals>1</asFals>
-            <asDbgD>1</asDbgD>
-            <asForm>1</asForm>
-            <ldLst>0</ldLst>
-            <ldmm>1</ldmm>
-            <ldXref>1</ldXref>
-            <BigEnd>0</BigEnd>
-            <AdsALst>1</AdsALst>
-            <AdsACrf>1</AdsACrf>
-            <AdsANop>0</AdsANop>
-            <AdsANot>0</AdsANot>
-            <AdsLLst>1</AdsLLst>
-            <AdsLmap>1</AdsLmap>
-            <AdsLcgr>1</AdsLcgr>
-            <AdsLsym>1</AdsLsym>
-            <AdsLszi>1</AdsLszi>
-            <AdsLtoi>1</AdsLtoi>
-            <AdsLsun>1</AdsLsun>
-            <AdsLven>1</AdsLven>
-            <AdsLsxf>1</AdsLsxf>
-            <RvctClst>0</RvctClst>
-            <GenPPlst>0</GenPPlst>
-            <AdsCpuType>"Cortex-M0"</AdsCpuType>
-            <RvctDeviceName></RvctDeviceName>
-            <mOS>0</mOS>
-            <uocRom>0</uocRom>
-            <uocRam>0</uocRam>
-            <hadIROM>1</hadIROM>
-            <hadIRAM>1</hadIRAM>
-            <hadXRAM>0</hadXRAM>
-            <uocXRam>0</uocXRam>
-            <RvdsVP>0</RvdsVP>
-            <hadIRAM2>0</hadIRAM2>
-            <hadIROM2>0</hadIROM2>
-            <StupSel>8</StupSel>
-            <useUlib>1</useUlib>
-            <EndSel>1</EndSel>
-            <uLtcg>0</uLtcg>
-            <nSecure>0</nSecure>
-            <RoSelD>3</RoSelD>
-            <RwSelD>3</RwSelD>
-            <CodeSel>0</CodeSel>
-            <OptFeed>0</OptFeed>
-            <NoZi1>0</NoZi1>
-            <NoZi2>0</NoZi2>
-            <NoZi3>0</NoZi3>
-            <NoZi4>0</NoZi4>
-            <NoZi5>0</NoZi5>
-            <Ro1Chk>0</Ro1Chk>
-            <Ro2Chk>0</Ro2Chk>
-            <Ro3Chk>0</Ro3Chk>
-            <Ir1Chk>1</Ir1Chk>
-            <Ir2Chk>0</Ir2Chk>
-            <Ra1Chk>0</Ra1Chk>
-            <Ra2Chk>0</Ra2Chk>
-            <Ra3Chk>0</Ra3Chk>
-            <Im1Chk>1</Im1Chk>
-            <Im2Chk>0</Im2Chk>
-            <OnChipMemories>
-              <Ocm1>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm1>
-              <Ocm2>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm2>
-              <Ocm3>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm3>
-              <Ocm4>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm4>
-              <Ocm5>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm5>
-              <Ocm6>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </Ocm6>
-              <IRAM>
-                <Type>0</Type>
-                <StartAddress>0x20000000</StartAddress>
-                <Size>0x20000</Size>
-              </IRAM>
-              <IROM>
-                <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x40000</Size>
-              </IROM>
-              <XRAM>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </XRAM>
-              <OCR_RVCT1>
-                <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT1>
-              <OCR_RVCT2>
-                <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT2>
-              <OCR_RVCT3>
-                <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT3>
-              <OCR_RVCT4>
-                <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x40000</Size>
-              </OCR_RVCT4>
-              <OCR_RVCT5>
-                <Type>1</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT5>
-              <OCR_RVCT6>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT6>
-              <OCR_RVCT7>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT7>
-              <OCR_RVCT8>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT8>
-              <OCR_RVCT9>
-                <Type>0</Type>
-                <StartAddress>0x20000000</StartAddress>
-                <Size>0x20000</Size>
-              </OCR_RVCT9>
-              <OCR_RVCT10>
-                <Type>0</Type>
-                <StartAddress>0x0</StartAddress>
-                <Size>0x0</Size>
-              </OCR_RVCT10>
-            </OnChipMemories>
-            <RvctStartVector></RvctStartVector>
-          </ArmAdsMisc>
-          <Cads>
-            <interw>1</interw>
-            <Optim>3</Optim>
-            <oTime>0</oTime>
-            <SplitLS>0</SplitLS>
-            <OneElfS>0</OneElfS>
-            <Strict>0</Strict>
-            <EnumInt>0</EnumInt>
-            <PlainCh>0</PlainCh>
-            <Ropi>0</Ropi>
-            <Rwpi>0</Rwpi>
-            <wLevel>2</wLevel>
-            <uThumb>0</uThumb>
-            <uSurpInc>0</uSurpInc>
-            <uC99>1</uC99>
-            <uGnu>1</uGnu>
-            <useXO>0</useXO>
-            <v6Lang>1</v6Lang>
-            <v6LangP>1</v6LangP>
-            <vShortEn>1</vShortEn>
-            <vShortWch>1</vShortWch>
-            <v6Lto>0</v6Lto>
-            <v6WtE>0</v6WtE>
-            <v6Rtti>0</v6Rtti>
-            <VariousControls>
-              <MiscControls></MiscControls>
-              <Define>__USEKEILCOMPILE__</Define>
-              <Undefine></Undefine>
-              <IncludePath>..\..\..\..\..\Librarier\core;..\..\..\..\..\Librarier\sdk;..\MDK</IncludePath>
-            </VariousControls>
-          </Cads>
-          <Aads>
-            <interw>1</interw>
-            <Ropi>0</Ropi>
-            <Rwpi>0</Rwpi>
-            <thumb>0</thumb>
-            <SplitLS>0</SplitLS>
-            <SwStkChk>0</SwStkChk>
-            <NoWarn>0</NoWarn>
-            <uSurpInc>0</uSurpInc>
-            <useXO>0</useXO>
-            <uClangAs>0</uClangAs>
-            <VariousControls>
-              <MiscControls></MiscControls>
-              <Define></Define>
-              <Undefine></Undefine>
-              <IncludePath></IncludePath>
-            </VariousControls>
-          </Aads>
-          <LDads>
-            <umfTarg>0</umfTarg>
-            <Ropi>0</Ropi>
-            <Rwpi>0</Rwpi>
-            <noStLib>0</noStLib>
-            <RepFail>1</RepFail>
-            <useFile>0</useFile>
-            <TextAddressRange>0x00000000</TextAddressRange>
-            <DataAddressRange>0xd0000</DataAddressRange>
-            <pXoBase></pXoBase>
-            <ScatterFile>.\Objects\YC3121_keil.sct</ScatterFile>
-            <IncludeLibs></IncludeLibs>
-            <IncludeLibsPath></IncludeLibsPath>
-            <Misc></Misc>
-            <LinkerInputFile></LinkerInputFile>
-            <DisabledWarnings></DisabledWarnings>
-          </LDads>
-        </TargetArmAds>
-      </TargetOption>
-      <Groups>
-        <Group>
-          <GroupName>core</GroupName>
-          <Files>
-            <File>
-              <FileName>misc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\..\..\Librarier\core\misc.c</FilePath>
-            </File>
-            <File>
-              <FileName>system.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\..\..\Librarier\core\system.c</FilePath>
-            </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>main</GroupName>
-          <Files>
-            <File>
-              <FileName>main.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\user\main.c</FilePath>
-            </File>
-            <File>
-              <FileName>bt_code.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\user\bt_code.c</FilePath>
-            </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>sdk</GroupName>
-          <Files>
-            <File>
-              <FileName>yc_gpio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\..\..\Librarier\sdk\yc_gpio.c</FilePath>
-            </File>
-            <File>
-              <FileName>yc_uart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\..\..\Librarier\sdk\yc_uart.c</FilePath>
-            </File>
-            <File>
-              <FileName>yc_timer.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\..\..\Librarier\sdk\yc_timer.c</FilePath>
-            </File>
-            <File>
-              <FileName>yc_lcd.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\..\..\Librarier\sdk\yc_lcd.c</FilePath>
-            </File>
-            <File>
-              <FileName>yc_spi.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\..\..\Librarier\sdk\yc_spi.c</FilePath>
-            </File>
-            <File>
-              <FileName>yc_kscan.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\..\..\Librarier\sdk\yc_kscan.c</FilePath>
-            </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>startup</GroupName>
-          <Files>
-            <File>
-              <FileName>flash_start.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\..\..\..\..\Librarier\startup\flash_start.s</FilePath>
-            </File>
-            <File>
-              <FileName>startup.s</FileName>
-              <FileType>2</FileType>
-              <FilePath>..\..\..\..\..\Librarier\startup\startup.s</FilePath>
-            </File>
-          </Files>
-        </Group>
-      </Groups>
-    </Target>
-  </Targets>
-
-  <RTE>
-    <apis/>
-    <components/>
-    <files/>
-  </RTE>
-
-</Project>
Index: Keyboard_test/prj/MDK/word.h
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/MDK/word.h	(revision 665)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/prj/MDK/word.h	(nonexistent)
@@ -1,126 +0,0 @@
-#ifndef  WORD_H
-#define  WORD_H
-
-unsigned char Bmp001[24 * 6]={
-	0x00,0x00,0x00,0x00,0x00,0xFC,0x4C,0x4C,0x4C,0x4C,0x4C,0x4C,
-	0x4C,0x4C,0x4C,0x4C,0x4C,0x4C,0xFC,0x00,0x00,0x00,0x00,0x00,
-	0x00,0x00,0x80,0xC0,0x60,0x63,0x32,0x3E,0x3E,0xF6,0xF2,0x32,
-	0x32,0x32,0xF2,0xF2,0x32,0x32,0x33,0xF0,0xF0,0x00,0x00,0x00,
-	0x00,0x00,0x00,0x04,0x0C,0x44,0x66,0x63,0x33,0x31,0x18,0x1C,
-	0x0E,0x07,0x03,0x60,0x60,0x60,0x70,0x3F,0x07,0x00,0x00,0x00
-}; /* 易 */
-unsigned char Bmp002[24 * 6]={
-	0x00,0x00,0x40,0xE0,0xC0,0x80,0x00,0x00,0xFC,0xFC,0x00,0x00,
-	0x00,0xFC,0xFC,0x00,0x00,0x80,0xC0,0x70,0x60,0x00,0x00,0x00,
-	0x00,0x00,0xC0,0xC0,0x61,0x63,0x31,0x30,0xFF,0xFF,0x00,0x00,
-	0x00,0xFF,0xFF,0x20,0x31,0x71,0x60,0xE0,0xC0,0x00,0x00,0x00,
-	0x00,0x00,0x61,0x60,0x30,0x30,0x18,0x0E,0x07,0x01,0x00,0x00,
-	0x00,0x3F,0x3F,0x30,0x20,0x20,0x20,0x20,0x38,0x3C,0x08,0x00
-}; /* 兆 */
-unsigned char Bmp003[24 * 6]={
-	0x00,0x40,0x60,0x30,0x1C,0xCC,0x80,0xF0,0xF0,0x00,0xFC,0xFC,
-	0x00,0xF0,0x00,0x00,0xF0,0xFC,0x84,0x80,0x80,0x80,0xC0,0x00,
-	0x00,0x20,0x38,0x1C,0xFF,0x03,0x00,0x0D,0xCD,0x4D,0x4D,0xCD,
-	0xCD,0x0D,0x19,0x0F,0xFF,0xC0,0x00,0xFF,0x3F,0x00,0x00,0x00,
-	0x00,0x00,0x00,0x00,0x7F,0x00,0x10,0x3C,0x0F,0x00,0x00,0x0F,
-	0x0F,0x6C,0x76,0x30,0x18,0x0F,0x0F,0x19,0x30,0x70,0x20,0x00
-}; /* 微 */
-unsigned char Bmp004[24 * 6]={
-	0x00,0x00,0xE0,0xE0,0xE0,0x60,0x60,0x60,0x60,0x60,0xFE,0xFE,
-	0x60,0x60,0x60,0x60,0x60,0x60,0xE0,0x00,0x00,0x00,0x00,0x00,
-	0x00,0x00,0x00,0xFF,0xFF,0x0C,0x0C,0x0C,0x0C,0x0C,0xFF,0xFF,
-	0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0xFF,0x00,0x00,0x00,0x00,0x00,
-	0x00,0x00,0x04,0x07,0x07,0x01,0x01,0x01,0x01,0x01,0x3F,0x7F,
-	0x61,0x41,0x41,0x41,0x41,0x41,0x41,0x60,0x60,0x78,0x10,0x00
-}; /* 电 */
-unsigned char Bmp005[24 * 6]={
-	0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-	0x98,0x98,0xD8,0x78,0x78,0x38,0x18,0x18,0x00,0x00,0x00,0x00,
-	0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xFF,
-	0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,
-	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x7F,
-	0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
-}; /* 子 */
-
-unsigned char Test_K[252]={
-	0x00,0x30,0x30,0x30,0x30,0xF0,0xF0,0x30,0x30,0x30,0x30,0x00,
-	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-	0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
-	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-	0x00,0xF0,0xF0,0x00,0x00,0x00,0x80,0xC0,0xE0,0x30,0x10,0x00,
-	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-
-	0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
-	0x00,0xE0,0xF8,0x5C,0x4C,0x44,0x44,0x4C,0x7C,0x78,0x40,0x00,
-	0x00,0x00,0x78,0x7C,0xCC,0xC4,0xC4,0x8C,0x9C,0x18,0x00,0x00,
-	0x00,0x0C,0x0C,0x0C,0xFF,0xFF,0x0C,0x0C,0x0C,0x0C,0x00,0x00,
-	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-	0x00,0xFF,0xFF,0x38,0x1C,0x3F,0xF3,0xE1,0x80,0x00,0x00,0x00,
-	0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,
-
-	0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,
-	0x00,0x03,0x07,0x0C,0x18,0x18,0x18,0x18,0x0E,0x06,0x02,0x00,
-	0x00,0x00,0x0E,0x0C,0x18,0x18,0x18,0x18,0x0F,0x0F,0x00,0x00,
-	0x00,0x00,0x00,0x00,0x07,0x0F,0x18,0x18,0x18,0x18,0x00,0x00,
-	0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
-	0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,0x03,0x0F,0x1E,0x18,0x00,
-	0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00
-};
-
-unsigned char num0[36]={
-	0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x60,0xE0,0xC0,0x00,0x00,
-	0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFE,0x00,
-	0x00,0x01,0x07,0x0E,0x0C,0x18,0x18,0x0C,0x0F,0x07,0x00,0x00
-};
-unsigned char num1[36]={
-	0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0x00,0x00,0x00,0x00,0x00,
-	0x00,0x00,0x03,0x01,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
-	0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00
-};
-unsigned char num2[36]={
-	0x00,0x80,0xE0,0x60,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,
-	0x00,0x01,0x01,0x00,0x80,0xC0,0xE0,0x38,0x1F,0x07,0x00,0x00,
-	0x00,0x08,0x0E,0x0F,0x0B,0x09,0x08,0x08,0x08,0x08,0x08,0x00
-};
-unsigned char num3[36]={
-	0x00,0x80,0xC0,0x60,0x30,0x30,0x30,0x30,0xE0,0xC0,0x00,0x00,
-	0x00,0x01,0x01,0x00,0x00,0x18,0x18,0x38,0x7F,0xE7,0x80,0x00,
-	0x00,0x03,0x07,0x0C,0x18,0x18,0x18,0x0C,0x0E,0x07,0x01,0x00
-};
-unsigned char num4[36]={
-	0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xF0,0x00,0x00,0x00,
-	0x80,0xC0,0xF0,0xB8,0x8E,0x87,0x81,0xFF,0xFF,0x80,0x80,0x80,
-	0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x0F,0x0F,0x01,0x01,0x01
-};
-unsigned char num5[36]={
-	0x00,0x00,0xE0,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,
-	0x00,0x1C,0x1F,0x0D,0x04,0x04,0x0C,0x0C,0x3C,0xF8,0xC0,0x00,
-	0x01,0x07,0x0E,0x08,0x18,0x18,0x18,0x0C,0x0F,0x07,0x00,0x00
-};
-unsigned char num6[36]={
-	0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x30,0x10,0x00,0x00,0x00,
-	0x00,0xE0,0xF8,0x1E,0x0F,0x0D,0x0C,0x0C,0x18,0xF8,0xF0,0x00,
-	0x00,0x03,0x07,0x0C,0x18,0x18,0x18,0x18,0x0C,0x0F,0x03,0x00
-};
-unsigned char num7[36]={
-	0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0xE0,0x60,0x00,
-	0x00,0x00,0x00,0x00,0x00,0xE0,0xF8,0x1E,0x07,0x01,0x00,0x00,
-	0x00,0x00,0x00,0x08,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0x00
-};
-unsigned char num8[36]={
-	0x00,0x80,0xE0,0x60,0x30,0x30,0x30,0x20,0xE0,0xC0,0x00,0x00,
-	0x00,0xE3,0xFF,0x3C,0x18,0x18,0x18,0x3C,0x3F,0xE7,0xC0,0x00,
-	0x00,0x07,0x0F,0x0C,0x18,0x18,0x18,0x18,0x0C,0x07,0x03,0x00
-};
-unsigned char num9[36]={
-	0x00,0xC0,0xE0,0x60,0x30,0x30,0x30,0x60,0xE0,0xC0,0x00,0x00,
-	0x02,0x1F,0x3D,0x30,0x60,0x60,0xE0,0xF0,0x7F,0x1F,0x03,0x00,
-	0x00,0x00,0x00,0x10,0x1C,0x0F,0x03,0x01,0x00,0x00,0x00,0x00
-};
-unsigned char nume[36]={
-	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
-};
-#endif
Index: Keyboard_test/user/bt_code.h
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/user/bt_code.h	(revision 659)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/user/bt_code.h	(nonexistent)
@@ -1 +0,0 @@
-extern const unsigned char bt_code[];
\ No newline at end of file
Index: Keyboard_test/user/bt_code.c
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/user/bt_code.c	(revision 659)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/user/bt_code.c	(nonexistent)
@@ -1,116 +0,0 @@
-const unsigned char bt_code[] = {
-0x00,0x02,0xaa,0x55,0x7a,0x03,0xc0,0x42,0x80,0x19,0xc0,0x43,0x00,0x1b,0xc0,0x43,
-0x80,0x1f,0xc0,0x44,0x00,0x1d,0xc0,0x44,0x80,0x28,0xc0,0x45,0x00,0x2d,0xc0,0x02,
-0x00,0x0d,0xc0,0x03,0x00,0x08,0x20,0x40,0x57,0xaf,0x24,0x36,0xd8,0xa5,0x20,0x40,
-0x00,0xb5,0x20,0x40,0x49,0x36,0x20,0x20,0x58,0xa6,0x09,0x80,0x00,0x18,0x78,0x28,
-0x7c,0x00,0xdb,0x60,0x06,0x64,0x1f,0xef,0x7e,0x00,0x1f,0xf1,0x7e,0x00,0xe7,0xe6,
-0x00,0x05,0x20,0x23,0x46,0x49,0x78,0x36,0xfc,0x00,0x6f,0xe2,0x00,0x17,0x1f,0xe0,
-0x84,0x00,0x20,0x40,0x00,0xb9,0x20,0x20,0x58,0x97,0x20,0x40,0x00,0xb1,0x20,0x20,
-0x48,0xf6,0x20,0x40,0x00,0xb3,0x20,0x20,0x49,0x16,0x20,0x40,0x00,0xb7,0x20,0x20,
-0x49,0x22,0x60,0x42,0x00,0x17,0x20,0x20,0x00,0xbb,0x20,0x40,0x00,0xbb,0xda,0x20,
-0x89,0x60,0x20,0x40,0x00,0xa7,0xda,0x20,0x00,0x10,0x20,0x40,0x00,0xa7,0xda,0x20,
-0x00,0x00,0x20,0x20,0x00,0xd6,0x60,0x42,0x00,0x17,0x20,0x40,0x00,0xb9,0x58,0x00,
-0x03,0x84,0x20,0x40,0x4a,0x8e,0x20,0x20,0x49,0x36,0x70,0x89,0x07,0xff,0x70,0x80,
-0x42,0x05,0x20,0x00,0x03,0xe8,0x6f,0xe2,0x4f,0xef,0x24,0x7a,0x00,0x00,0x70,0x4f,
-0xef,0x01,0x70,0x89,0x4e,0xc2,0x70,0x89,0x4e,0xc0,0x20,0x40,0x00,0xca,0xc0,0x81,
-0x00,0x43,0x20,0x00,0x75,0x30,0x20,0x40,0x00,0xca,0xc0,0x81,0x00,0x43,0x20,0x00,
-0x27,0x10,0xda,0x20,0x89,0x56,0xda,0x40,0x00,0xf0,0x20,0x40,0x00,0xd1,0xda,0x20,
-0x89,0x55,0x20,0x40,0x00,0xa7,0xda,0x20,0x00,0x00,0x20,0x40,0x00,0xd6,0x20,0x60,
-0x00,0x00,0x20,0x20,0x00,0x43,0x20,0x40,0x00,0x46,0x20,0x20,0x48,0xf5,0x20,0x40,
-0x00,0x6e,0x20,0x40,0x00,0x77,0x79,0x20,0x2a,0x00,0x78,0x46,0xfc,0x00,0x78,0x2e,
-0xfc,0x00,0x78,0x30,0x7c,0x00,0x78,0x50,0xfc,0x00,0x19,0x31,0x7e,0x00,0x1f,0xec,
-0xfe,0x00,0x1f,0xf1,0xfe,0x00,0x08,0x00,0x86,0x28,0x78,0x24,0xfc,0x00,0x6f,0xe2,
-0x43,0xae,0x08,0x00,0x86,0x08,0xef,0xe2,0x00,0x06,0x1f,0xe1,0x72,0x3f,0x08,0x00,
-0x86,0x08,0x20,0x22,0x80,0x5b,0xef,0xe2,0x00,0x06,0x08,0x00,0x86,0x08,0xc2,0x00,
-0x00,0x58,0x78,0x24,0x7c,0x00,0x08,0x00,0x86,0x18,0x78,0x44,0x7c,0x00,0x37,0xd3,
-0x82,0x00,0x20,0x00,0x00,0x64,0x20,0x60,0x00,0x00,0x78,0x3b,0x7c,0x00,0x70,0x89,
-0x14,0x07,0x20,0x60,0x00,0x00,0x78,0x5b,0x7c,0x00,0x70,0x89,0x14,0x03,0x20,0x60,
-0x00,0x00,0x58,0x71,0x76,0x41,0x1f,0xed,0x7e,0x00,0x1f,0xe1,0xfe,0x29,0x98,0x00,
-0x12,0x00,0x58,0x55,0x55,0x55,0x67,0xe6,0x04,0x63,0x20,0x60,0x00,0x00,0x78,0x44,
-0xfc,0x00,0x78,0x43,0xfc,0x00,0x6f,0xe6,0x04,0x63,0x98,0x00,0x1e,0x00,0x6f,0xe2,
-0x00,0x16,0x1f,0xed,0x84,0x00,0x79,0x20,0x04,0x01,0x18,0x43,0x1c,0x00,0x20,0x60,
-0x00,0x00,0x20,0x40,0x00,0x7c,0x20,0x20,0x49,0x30,0x20,0x40,0x00,0x7c,0x20,0x40,
-0x49,0x1c,0x20,0x20,0x49,0x21,0x20,0x40,0x49,0x15,0x6f,0xe2,0x00,0x16,0x1f,0xe3,
-0x84,0x00,0x20,0x60,0x00,0x00,0x20,0x40,0x00,0x79,0x20,0x40,0x00,0x6e,0x78,0x56,
-0xfc,0x00,0x78,0x26,0xfc,0x00,0x78,0x4e,0xfc,0x00,0x78,0x30,0xfc,0x00,0x78,0x50,
-0x7c,0x00,0x19,0x62,0x36,0x00,0x37,0xc1,0x84,0x00,0x24,0x2c,0x48,0xf5,0x1b,0x42,
-0x04,0x00,0xdd,0x20,0x01,0xe0,0x1c,0x22,0x50,0x00,0x78,0x24,0xfc,0x00,0x09,0x80,
-0x00,0x08,0x19,0x89,0x7e,0x00,0x67,0xe2,0x02,0xd5,0x09,0x80,0x00,0x08,0x19,0x89,
-0x7e,0x00,0xe7,0xe2,0x00,0x05,0x1f,0xe1,0x72,0x3f,0x20,0x22,0x80,0x9a,0x09,0x80,
-0x00,0x08,0x19,0x89,0x7e,0x00,0xe7,0xe2,0x00,0x05,0xc2,0x00,0x00,0x96,0x09,0x80,
-0x00,0x18,0x78,0x28,0x7c,0x00,0xdb,0x60,0x06,0x64,0x1f,0xef,0x7e,0x00,0x1f,0xf1,
-0x7e,0x00,0xe7,0xe6,0x00,0x05,0x20,0x40,0x49,0xba,0x20,0x23,0x48,0xf5,0x78,0x36,
-0xfc,0x00,0x6f,0xe2,0x00,0x17,0x1f,0xe0,0xa2,0x02,0x20,0x40,0x49,0x80,0x20,0x20,
-0x49,0x15,0x58,0x00,0x00,0x00,0x67,0xf0,0x0a,0x96,0xdf,0x20,0x00,0x08,0xda,0x40,
-0x0a,0x96,0x20,0x40,0x00,0xcd,0xe7,0xe2,0x00,0x12,0x1a,0x40,0xa4,0x01,0x1a,0x20,
-0xa2,0x01,0xc2,0x00,0x00,0xab,0x20,0x60,0x00,0x00,0xda,0x40,0x00,0xfe,0x20,0x20,
-0x00,0xd2,0xda,0x40,0x00,0xfd,0x20,0x20,0x00,0xd2,0xda,0x40,0x00,0xfc,0x20,0x20,
-0x00,0xd2,0xda,0x40,0x00,0xfb,0x20,0x20,0x00,0xd2,0x18,0x42,0x24,0x00,0x20,0x20,
-0x00,0xd2,0x18,0x41,0xa4,0x80,0x20,0x20,0x00,0xd2,0x67,0xe2,0x89,0x4b,0x70,0x89,
-0x4e,0xc5,0x70,0x89,0x4e,0xc4,0x6f,0xe2,0x89,0x91,0xc4,0x00,0x80,0x00,0x20,0x20,
-0x00,0xc0,0x6f,0xe2,0x89,0x91,0xc3,0x00,0x00,0xc3,0x6f,0xe2,0x89,0x90,0x70,0x89,
-0x4e,0xc6,0x70,0x89,0x4e,0xc4,0x20,0x00,0x03,0xe8,0x20,0x60,0x00,0x00,0x58,0x00,
-0x00,0x02,0x20,0x40,0x00,0xbd,0x20,0x20,0x00,0xc3,0x20,0x40,0x00,0xd6,0x58,0x00,
-0x00,0x06,0x20,0x40,0x00,0xbd,0x20,0x20,0x00,0xc3,0x20,0x40,0x00,0xd6,0x58,0x00,
-0x00,0x05,0x20,0x40,0x00,0xbd,0x1a,0x42,0x7e,0x00,0x20,0x20,0x00,0xbd,0x58,0x00,
-0x00,0x0b,0x20,0x40,0x00,0xbd,0x1a,0x2c,0xfe,0x00,0x20,0x40,0x00,0xbd,0x58,0x00,
-0x00,0x03,0x20,0x40,0x00,0xbd,0x1a,0x21,0x7e,0xff,0x20,0x20,0x00,0xbd,0x3f,0xc9,
-0xaa,0x55,0x01,0x00,0x92,0x40,0x0a,0xaa,0x55,0x01,0x00,0x54,0x46,0x40,0xaa,0x55,
-0x01,0x00,0x06,0x42,0x13,0xaa,0x55,0x08,0x00,0x98,0x40,0xff,0xff,0x8f,0xf8,0x9b,
-0x9d,0x59,0x83,0xaa,0x55,0x03,0x00,0x14,0x42,0x07,0x4a,0x05,0xaa,0x55,0x04,0x00,
-0x3d,0x45,0x00,0x7f,0x00,0x07,0xaa,0x55,0x03,0x00,0x2d,0x46,0x03,0x00,0x04,0xaa,
-0x55,0x01,0x00,0x2c,0x46,0x01,0xaa,0x55,0x06,0x00,0x57,0x46,0x04,0x30,0x30,0x30,
-0x30,0x30,0xaa,0x55,0x10,0x00,0xf0,0x4f,0x00,0x1c,0xff,0x1f,0x00,0x1c,0x00,0x1c,
-0x00,0x4c,0xe0,0x4f,0x00,0x4c,0x00,0x4c,0xaa,0x55,0x02,0x00,0x68,0x46,0x00,0x01,
-0xaa,0x55,0x01,0x00,0x6c,0x46,0x03,0xaa,0x55,0x01,0x00,0x6f,0x46,0x07,0xaa,0x55,
-0x03,0x00,0xaa,0x40,0x24,0x04,0x04,0xaa,0x55,0x01,0x00,0x79,0x46,0x00,0xaa,0x55,
-0x01,0x00,0x91,0x40,0x00,0xaa,0x55,0x03,0x00,0x54,0x41,0x00,0x01,0x08,0xaa,0x55,
-0x01,0x00,0x74,0x41,0x02,0xaa,0x55,0x01,0x00,0x93,0x40,0x03,0xaa,0x55,0x01,0x00,
-0x6d,0x46,0x28,0xaa,0x55,0x06,0x00,0xa0,0x40,0xa7,0x2a,0x2a,0x31,0x10,0x3a,0xaa,
-0x55,0x0c,0x00,0xe7,0x44,0x0b,0x59,0x69,0x63,0x68,0x69,0x70,0x20,0x33,0x31,0x32,
-0x31,0xaa,0x55,0x03,0x00,0xe4,0x41,0x20,0x00,0x01,0xaa,0x55,0x01,0x00,0xe8,0x41,
-0x00,0xaa,0x55,0x01,0x00,0x90,0x44,0x01,0xaa,0x55,0x01,0x00,0x5f,0x44,0x07,0xaa,
-0x55,0x01,0x00,0x98,0x44,0x01,0xaa,0x55,0x04,0x00,0x75,0x46,0x09,0x00,0x2f,0x00,
-0xaa,0x55,0x01,0x00,0x40,0x43,0x01,0xaa,0x55,0x02,0x00,0x54,0x44,0xf0,0x00,0xaa,
-0x55,0x01,0x00,0x6e,0x46,0x05,0xaa,0x55,0x06,0x00,0x72,0x44,0x21,0x22,0x00,0x33,
-0x02,0x3a,0xaa,0x55,0x10,0x00,0x81,0x43,0x0f,0x59,0x69,0x63,0x68,0x69,0x70,0x20,
-0x33,0x31,0x32,0x31,0x20,0x4d,0x6f,0x75,0xaa,0x55,0x04,0x00,0x41,0x43,0x03,0x02,
-0x01,0x0e,0xaa,0x55,0x13,0x00,0x61,0x43,0x0e,0x11,0x09,0x59,0x69,0x63,0x68,0x69,
-0x70,0x20,0x31,0x30,0x32,0x31,0x73,0x20,0x4d,0x6f,0x75,0xaa,0x55,0x07,0x00,0x25,
-0x44,0x02,0x03,0x00,0x05,0x10,0x02,0x03,0xaa,0x55,0x08,0x00,0x68,0x44,0x08,0x00,
-0x10,0x00,0x00,0x00,0x2c,0x01,0xaa,0x55,0x01,0x00,0x78,0x44,0xb5,0xaa,0x55,0x01,
-0x00,0x7a,0x44,0x17,0xaa,0x55,0x02,0x00,0xcc,0x44,0x31,0x00,0xaa,0x55,0x01,0x00,
-0xd1,0x40,0x01,0xaa,0x55,0x0c,0x00,0x49,0x45,0x05,0x03,0x00,0x12,0x00,0x01,0x01,
-0x00,0x01,0x11,0x03,0x00,0xaa,0x55,0x01,0x00,0x5f,0x45,0x00,0xaa,0x55,0x02,0x00,
-0x47,0x45,0x83,0x46,0xaa,0x55,0xb8,0x00,0x83,0x46,0x03,0x12,0x00,0x01,0x00,0x00,
-0x01,0x00,0x01,0x00,0x01,0x36,0x00,0x52,0x09,0x00,0x00,0x0a,0x00,0x01,0x00,0x01,
-0x09,0x00,0x01,0x35,0x03,0x19,0x12,0x00,0x09,0x00,0x04,0x35,0x0d,0x35,0x06,0x19,
-0x01,0x00,0x09,0x00,0x01,0x35,0x03,0x19,0x00,0x01,0x09,0x00,0x09,0x35,0x08,0x35,
-0x06,0x19,0x12,0x00,0x09,0x01,0x00,0x09,0x02,0x00,0x09,0x01,0x03,0x09,0x02,0x01,
-0x09,0x05,0xac,0x09,0x02,0x02,0x09,0x02,0x39,0x09,0x02,0x03,0x09,0x06,0x44,0x09,
-0x02,0x04,0x28,0x01,0x09,0x02,0x05,0x09,0x00,0x02,0x03,0x11,0x01,0x00,0x03,0x01,
-0x00,0x00,0x01,0x00,0x03,0x36,0x00,0x46,0x09,0x00,0x00,0x0a,0x00,0x01,0x00,0x03,
-0x09,0x00,0x01,0x35,0x03,0x19,0x11,0x01,0x09,0x00,0x02,0x0a,0x00,0x00,0x00,0x00,
-0x09,0x00,0x04,0x35,0x0c,0x35,0x03,0x19,0x01,0x00,0x35,0x05,0x19,0x00,0x03,0x08,
-0x01,0x09,0x00,0x06,0x35,0x09,0x09,0x65,0x6e,0x09,0x00,0x6a,0x09,0x01,0x00,0x09,
-0x01,0x00,0x25,0x0a,0x53,0x50,0x50,0x20,0x73,0x6c,0x61,0x76,0x65,0x00,0x00,0x00,
-0x01,0x00,0xaa,0x55,0x02,0x00,0x8e,0x44,0xaf,0x47,0xaa,0x55,0x8a,0x00,0xaf,0x47,
-0x01,0x00,0x02,0x00,0x28,0x02,0x00,0x18,0x02,0x00,0x02,0x03,0x28,0x01,0x0a,0x03,
-0x00,0x02,0x00,0x2a,0x13,0x41,0x73,0x74,0x20,0x4c,0x45,0x20,0x4d,0x6f,0x75,0x73,
-0x65,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x04,0x00,0x02,0x00,0x28,0x10,0x55,0xe4,
-0x05,0xd2,0xaf,0x9f,0xa9,0x8f,0xe5,0x4a,0x7d,0xfe,0x43,0x53,0x53,0x49,0x05,0x00,
-0x02,0x03,0x28,0x01,0x10,0x06,0x00,0x02,0x87,0x05,0x14,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
-0x00,0x02,0x02,0x29,0x02,0x00,0x00,0x08,0x00,0x02,0x03,0x28,0x01,0x0e,0x09,0x00,
-0x02,0x98,0x05,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaa,0x55,0x02,0x00,0x10,0x40,
-0xe0,0x07,0xaa,0x55,0x01,0x00,0x20,0x40,0x50,0xaa,0x55,0x04,0x00,0x79,0x41,0x0a,
-0x0b,0xb2,0x32,0xaa,0x55,0x02,0x00,0x57,0x41,0x8b,0x0b,0xaa,0x55,0x08,0x00,0xa1,
-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xaa,0x55,0x02,0x00,0xbd,0x40,0x02,
-0x24,0xaa,0x55,0x08,0x00,0xad,0x40,0x24,0x00,0x80,0x00,0x24,0x00,0x80,0x00,0xaa,
-0x55,0x02,0x00,0xbb,0x40,0x20,0x00,0xaa,0x55,0x04,0x00,0xb7,0x40,0x20,0x00,0x00,
-0x20,0xaa,0x55,0x04,0x00,0xbf,0x40,0x80,0x04,0x00,0x10,0xaa,0x55,0x05,0x00,0xe2,
-0x44,0x08,0x0e,0x05,0x04,0x00,0xaa,0x55,0x02,0x00,0x02,0x42,0x30,0x1f,0xaa,0x55,
-0x01,0x00,0x10,0x42,0x20,0xaa,0x55,0x01,0x00,0xe0,0x41,0x01,0xaa,0x55,0x01,0x00,
-0xe2,0x41,0xff,0xaa,0x55,0x02,0x00,0xc3,0x40,0xe2,0x41,0x97,0xc3
-};
Index: Keyboard_test/user/main.c
===================================================================
--- /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/user/main.c	(revision 659)
+++ /YC3121_demo/ModuleDemo/Keyboard/Keyboard_test/user/main.c	(nonexistent)
@@ -1,416 +0,0 @@
-/**
-  ******************************************************************************
-  * @file    3121Demo\ModuleDemo\Keyboard\Keyboard_test\user\main.c
-  * @author  Yichip Application Team
-  * @version V1.0.0
-  * @date    7-Dec-2019
-  * @brief   Keyboard test program.
-  ******************************************************************************
-  * @attention
-  *
-  * COPYRIGHT 2019 Yichip Microelectronics
-  *
-  * The purpose of this firmware is to provide guidance to customers engaged in 
-	* programming work to guide them smoothly to product development, 
-	* so as to save their time.
-	*
-	* Therefore, Yichip microelectronics shall not be responsible for any direct, 
-	* indirect or consequential damages caused by any content of this gu jiang 
-	* and/or contained in this code used by the customer in its products.
-  *
-  ******************************************************************************
-  */
-
-/* Includes ------------------------------------------------------------------*/
-#include "yc3121.h"
-#include "yc_gpio.h"
-#include "yc_uart.h"
-#include "yc_timer.h"
-#include "yc_lcd.h"
-#include "yc_kscan.h"
-#include "misc.h"
-#include "word.h"
-
-/* Private typedef -----------------------------------------------------------*/
-/* Private define ------------------------------------------------------------*/
-#define uartBaud 115200
-
-/* Private macro -------------------------------------------------------------*/
-/* Private variables ---------------------------------------------------------*/
-uint8_t keyvalue = 0;
-uint16_t keyflag = 0x8000;
-
-/* Private function prototypes -----------------------------------------------*/
-void UART_Configuration(void);
-void NVIC_Configuration(void);
-void LCD_Configuration(void);
-void TIMER_Configuration(void);
-void SPI_LCD_Test(void);
-void key_test(void);
-
-/**
-  * @brief  Main program
-  * @param  None
-  * @retval None
-  */
-int main(void)
-{	
-	UART_Configuration();
-	TIMER_Configuration();
-	NVIC_Configuration();
-	LCD_Configuration();
-	
-	MyPrintf("Yichip Yc3121 Keyboard test Demo V1.0.\r\n");
-	
-	SPI_LCD_Test();
-	
-	while (1)
-	{
-		key_test();
-	}
-}
-
-/**
-  * @brief  NVIC configuration function.
-  * @param  None
-  * @retval None
-  */
-void NVIC_Configuration(void)
-{
-	NVIC_EnableIRQ(TIM0_IRQn);
-	NVIC_SetPriority(TIM0_IRQn, 0);
-}
-
-/**
-  * @brief  Serial port 0 initialization function.
-  * @param  None
-  * @retval None
-  */
-void UART_Configuration(void)
-{
-	UART_InitTypeDef UART_InitStruct;
-
-	/* Configure serial ports RX and TX for IO. */
-	GPIO_Config(GPIOA, GPIO_Pin_1, UART0_TXD);
-	GPIO_Config(GPIOA, GPIO_Pin_0, UART0_RXD);
-
-	/* USARTx configured as follow:
-  - BaudRate = 115200 baud  
-  - Word Length = 8 Bits
-  - Stop Bit = 1 Stop Bit
-  - Parity = No Parity
-  - Hardware flow control disabled (RTS and CTS signals)
-  - Receive and transmit enabled
-  */
-	UART_InitStruct.BaudRate = uartBaud;			//Configure serial port baud rate, the baud rate defaults to 128000.
-	UART_InitStruct.DataBits = Databits_8b;
-	UART_InitStruct.StopBits = StopBits_1;
-	UART_InitStruct.Parity = Parity_None;
-	UART_InitStruct.FlowCtrl = FlowCtrl_None;
-	UART_InitStruct.Mode = Mode_duplex;
-
-	UART_Init(UART0, &UART_InitStruct);
-}
-
-/**
-  * @brief  LCD related IO port and SPI related configuration
-  * @param  None
-  * @retval None
-  */
-void LCD_Configuration(void)
-{
-	LCD_InitTypedef LCD_ConfigureStructure;
-	
-	LCD_ConfigureStructure.SPIx = SPI0;
-	LCD_ConfigureStructure.IO_LCD_SDA_Port = GPIOB;
-	LCD_ConfigureStructure.IO_LCD_SDA_PIN  = GPIO_Pin_1;
-	LCD_ConfigureStructure.IO_LCD_SCL_Port = GPIOB;
-	LCD_ConfigureStructure.IO_LCD_SCL_PIN  = GPIO_Pin_0;
-	LCD_ConfigureStructure.IO_LCD_CS_Port  = GPIOC;
-	LCD_ConfigureStructure.IO_LCD_CS_PIN   = GPIO_Pin_6;
-	LCD_ConfigureStructure.IO_LCD_RES_Port = GPIOA;
-	LCD_ConfigureStructure.IO_LCD_RES_PIN  = GPIO_Pin_5;
-	LCD_ConfigureStructure.IO_LCD_A0_Port  = GPIOA;
-	LCD_ConfigureStructure.IO_LCD_A0_PIN   = GPIO_Pin_10;
-	LCD_ConfigureStructure.IO_LCD_BL_Port  = GPIOA;
-	LCD_ConfigureStructure.IO_LCD_BL_PIN   = GPIO_Pin_2;
-	
-	lcd_io_init(&LCD_ConfigureStructure);
-	
-	/* Initialize the LCD screen */
-	init_lcd();
-}
-
-void TIMER_Configuration(void)
-{
-	TIM_InitTypeDef TIM_InitStruct;
-	
-	TIM_InitStruct.TIMx = TIM0;
-	TIM_InitStruct.period = 7200000;
-	TIM_Init(&TIM_InitStruct);
-	
-	TIM_ModeConfig(TIM0, TIM_Mode_TIMER);
-	TIM_Cmd(TIM0, ENABLE);
-}
-
-void key_test(void)
-{
-	static unsigned char change = 0;
-	unsigned char i;
-	
-	if (keyflag == 0x0001 && change == 0)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num2[12*i], 12, LCD_RS_DATA);
-		}
-		change = 1;
-	}
-	if (keyflag == 0x0002 && change == 1)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num3[12*i], 12, LCD_RS_DATA);
-		}
-		change = 2;
-	}
-	if (keyflag == 0x0004 && change == 2)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num4[12*i], 12, LCD_RS_DATA);
-		}
-		change = 3;
-	}
-	if (keyflag == 0x0008 && change == 3)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num5[12*i], 12, LCD_RS_DATA);
-		}
-		change = 4;
-	}
-	if (keyflag == 0x0010 && change == 4)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num6[12*i], 12, LCD_RS_DATA);
-		}
-		change = 5;
-	}
-	if (keyflag == 0x0020 && change == 5)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num7[12*i], 12, LCD_RS_DATA);
-		}
-		change = 6;
-	}
-	if (keyflag == 0x0040 && change == 6)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num8[12*i], 12, LCD_RS_DATA);
-		}
-		change = 7;
-	}
-	if (keyflag == 0x0080 && change == 7)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num9[12*i], 12, LCD_RS_DATA);
-		}
-		change = 8;
-	}
-	
-	if (keyflag == 0x0100 && change == 8)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num1[12*i], 12, LCD_RS_DATA);
-		}
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(112,5 + i);
-			write_bytes_lcd(&num0[12*i], 12, LCD_RS_DATA);
-		}
-		change = 9;
-	}
-	if (keyflag == 0x0200 && change == 9)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num1[12*i], 12, LCD_RS_DATA);
-		}
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(112,5 + i);
-			write_bytes_lcd(&num1[12*i], 12, LCD_RS_DATA);
-		}
-		change = 10;
-	}
-	if (keyflag == 0x0400 && change == 10)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num1[12*i], 12, LCD_RS_DATA);
-		}
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(112,5 + i);
-			write_bytes_lcd(&num2[12*i], 12, LCD_RS_DATA);
-		}
-		change = 11;
-	}
-	if (keyflag == 0x0800 && change == 11)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num1[12*i], 12, LCD_RS_DATA);
-		}
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(112,5 + i);
-			write_bytes_lcd(&num3[12*i], 12, LCD_RS_DATA);
-		}
-		change = 12;
-	}
-	if (keyflag == 0x1000 && change == 12)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num1[12*i], 12, LCD_RS_DATA);
-		}
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(112,5 + i);
-			write_bytes_lcd(&num4[12*i], 12, LCD_RS_DATA);
-		}
-		change = 13;
-	}
-	if (keyflag == 0x2000 && change == 13)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num1[12*i], 12, LCD_RS_DATA);
-		}
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(112,5 + i);
-			write_bytes_lcd(&num5[12*i], 12, LCD_RS_DATA);
-		}
-		change = 14;
-	}
-	if (keyflag == 0x4000 && change == 14)
-	{
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(100,5 + i);
-			write_bytes_lcd(&num1[12*i], 12, LCD_RS_DATA);
-		}
-		for(i = 0;i < 6; i++)
-		{
-			set_xy(112,5 + i);
-			write_bytes_lcd(&nume[12*i], 12, LCD_RS_DATA);
-		}
-		change = 0;
-	}
-}
-
-/**
-  * @brief  LCD displays test functions
-  * @param  None
-  * @retval None
-  */
-void SPI_LCD_Test(void)
-{
-	unsigned char i;
-	GPIO_Config(GPIOA, GPIO_Pin_2, OUTPUT_HIGH);
-	clr_screen();
-
-	for(i = 0; i < 3; i++)
-	{
-		/* Set the starting pixel X and Y positions */
-		set_xy(4,i+1);
-		write_bytes_lcd(&Bmp001[24*i], 24, LCD_RS_DATA);
-	}
-	for(i = 0; i < 3; i++)
-	{
-		set_xy(28,i+1);
-		write_bytes_lcd(&Bmp002[24*i], 24, LCD_RS_DATA);
-	}
-	for(i = 0; i < 3; i++)
-	{
-		set_xy(52,i+1);
-		write_bytes_lcd(&Bmp003[24*i], 24, LCD_RS_DATA);
-	}	
-	for(i = 0; i < 3; i++)
-	{
-		set_xy(76,i+1);
-		write_bytes_lcd(&Bmp004[24*i], 24, LCD_RS_DATA);
-	}
-	for(i = 0; i < 3; i++)
-	{
-		set_xy(100,i+1);
-		write_bytes_lcd(&Bmp005[24*i], 24, LCD_RS_DATA);
-	}
-	for(i = 0; i < 3; i++)
-	{
-		set_xy(100,5 + i);
-		write_bytes_lcd(&num1[12*i], 12, LCD_RS_DATA);
-	}
-	
-	for(i = 0;i < 3; i++)
-	{
-		set_xy(16,5 + i);
-		write_bytes_lcd(&Test_K[84*i], 84, LCD_RS_DATA);
-	}
-}
-
-/**
-  * @brief  TIM0 Interrupt service function.
-  * @param  None
-  * @retval None
-  */
-void TIMER0_IRQHandler(void)
-{
-	keyvalue = KEY_Scan();
-	if (keyvalue)
-	{
-		switch (keyvalue)
-		{
-			case 30: keyflag = 0x0001; break;
-			case 31: keyflag = 0x0002; break;
-			case 32: keyflag = 0x0004; break;
-			case 33: keyflag = 0x0008; break;
-			case 34: keyflag = 0x0010; break;
-			case 35: keyflag = 0x0020; break;
-			case 36: keyflag = 0x0040; break;
-			case 37: keyflag = 0x0080; break;
-			case 38: keyflag = 0x0100; break;
-			case 39: keyflag = 0x0800; break;
-			case 40: keyflag = 0x0400; break;
-			case 41: keyflag = 0x0200; break;
-			case 42: keyflag = 0x1000; break;
-			case 43: keyflag = 0x2000; break;
-			case 44: keyflag = 0x4000; break;
-			default: break;
-		}
-	}
-}
-
-/************************ (C) COPYRIGHT Yichip Microelectronics *****END OF FILE****/

