mirror of
https://gitee.com/zlgopen/awtk.git
synced 2024-11-29 18:48:09 +08:00
add t9 input engine
This commit is contained in:
parent
8df353f3c2
commit
bf26e67fbf
@ -35,6 +35,9 @@ TK_DEMO_ROOT = joinPath(TK_ROOT, 'demos')
|
||||
GTEST_ROOT = joinPath(TK_ROOT, '3rd/gtest/googletest')
|
||||
|
||||
#INPUT_ENGINE='null'
|
||||
#INPUT_ENGINE='spinyin'
|
||||
#INPUT_ENGINE='t9'
|
||||
#INPUT_ENGINE='t9ext'
|
||||
INPUT_ENGINE='pinyin'
|
||||
|
||||
VGCANVAS='NANOVG'
|
||||
@ -84,6 +87,17 @@ GRAPHIC_BUFFER='default'
|
||||
#only for c compiler flags
|
||||
COMMON_CFLAGS=''
|
||||
|
||||
if INPUT_ENGINE == 't9':
|
||||
COMMON_CCFLAGS = COMMON_CCFLAGS + ' -DWITH_IME_T9 '
|
||||
elif INPUT_ENGINE == 't9ext' :
|
||||
COMMON_CCFLAGS = COMMON_CCFLAGS + ' -DWITH_IME_T9EXT'
|
||||
elif INPUT_ENGINE == 'pinyin' :
|
||||
COMMON_CCFLAGS = COMMON_CCFLAGS + ' -DWITH_IME_PINYIN '
|
||||
elif INPUT_ENGINE == 'spinyin' :
|
||||
COMMON_CCFLAGS = COMMON_CCFLAGS + ' -DWITH_IME_SPINYIN '
|
||||
elif INPUT_ENGINE == 'null' :
|
||||
COMMON_CCFLAGS = COMMON_CCFLAGS + ' -DWITH_IME_NULL '
|
||||
|
||||
if LCD == 'SDL_GPU':
|
||||
COMMON_CCFLAGS = COMMON_CCFLAGS + ' -DWITH_NANOVG_GPU -DWITH_VGCANVAS_LCD'
|
||||
COMMON_CCFLAGS=COMMON_CCFLAGS+' -DWITH_STB_FONT '
|
||||
|
@ -71,7 +71,7 @@ static ret_t widget_set_theme_without_file_system(widget_t* widget, const char*
|
||||
log_debug("theme changed: %s\n", name);
|
||||
|
||||
return RET_OK;
|
||||
#else /*WITH_FS_RES*/
|
||||
#else /*WITH_FS_RES*/
|
||||
return RET_NOT_IMPL;
|
||||
#endif /*WITH_FS_RES*/
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,67 +1,97 @@
|
||||
TK_CONST_DATA_ALIGN(const unsigned char style_keyboard[]) = {
|
||||
0x03,0x00,0x00,0x01,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,
|
||||
0x03,0x00,0x00,0x01,0x41,0x0b,0x00,0x00,0x00,0x00,0x00,0x00,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,
|
||||
0x00,0x64,0x61,0x74,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0xfd,0xfc,0xfb,0xfa,0x00,0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x20,0x05,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0xfd,0xfc,0xfb,0xfa,0x00,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x78,0x07,0x00,0x00,
|
||||
0x6e,0x6f,0x72,0x6d,0x61,0x6c,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,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,
|
||||
0x74,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x5d,0x05,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xb5,0x07,0x00,0x00,
|
||||
0x70,0x72,0x65,0x73,0x73,0x65,0x64,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,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,
|
||||
0x74,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x9a,0x05,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf2,0x07,0x00,0x00,
|
||||
0x6f,0x76,0x65,0x72,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,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,
|
||||
0x74,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0xd7,0x05,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2f,0x08,0x00,0x00,
|
||||
0x64,0x69,0x73,0x61,0x62,0x6c,0x65,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,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,
|
||||
0x74,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x14,0x06,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6c,0x08,0x00,0x00,
|
||||
0x6e,0x6f,0x72,0x6d,0x61,0x6c,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,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,
|
||||
0x65,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x2b,0x06,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x08,0x00,0x00,
|
||||
0x70,0x72,0x65,0x73,0x73,0x65,0x64,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,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,
|
||||
0x65,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x68,0x06,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x08,0x00,0x00,
|
||||
0x6f,0x76,0x65,0x72,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,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,
|
||||
0x65,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0xa5,0x06,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfd,0x08,0x00,0x00,
|
||||
0x6e,0x6f,0x72,0x6d,0x61,0x6c,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,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,
|
||||
0x65,0x73,0x5f,0x66,0x6f,0x63,0x75,0x73,0x61,0x62,0x6c,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x14,0x09,0x00,0x00,
|
||||
0x70,0x72,0x65,0x73,0x73,0x65,0x64,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,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,
|
||||
0x65,0x73,0x5f,0x66,0x6f,0x63,0x75,0x73,0x61,0x62,0x6c,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x51,0x09,0x00,0x00,
|
||||
0x6f,0x76,0x65,0x72,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,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,
|
||||
0x65,0x73,0x5f,0x66,0x6f,0x63,0x75,0x73,0x61,0x62,0x6c,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x8e,0x09,0x00,0x00,
|
||||
0x66,0x6f,0x63,0x75,0x73,0x65,0x64,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,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,
|
||||
0x65,0x73,0x5f,0x66,0x6f,0x63,0x75,0x73,0x61,0x62,0x6c,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0xb6,0x09,0x00,0x00,
|
||||
0x64,0x69,0x73,0x61,0x62,0x6c,0x65,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,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,
|
||||
0x65,0x73,0x5f,0x66,0x6f,0x63,0x75,0x73,0x61,0x62,0x6c,0x65,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0xde,0x09,0x00,0x00,
|
||||
0x6e,0x6f,0x72,0x6d,0x61,0x6c,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,0x63,0x6c,0x6f,0x73,0x65,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,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0xf7,0x06,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x0a,0x00,0x00,
|
||||
0x70,0x72,0x65,0x73,0x73,0x65,0x64,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,0x63,0x6c,0x6f,0x73,0x65,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,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x5e,0x07,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x97,0x0a,0x00,0x00,
|
||||
0x6f,0x76,0x65,0x72,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,0x63,0x6c,0x6f,0x73,0x65,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,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0xc5,0x07,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x0a,0x00,0x00,
|
||||
0x6e,0x6f,0x72,0x6d,0x61,0x6c,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,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,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,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,0x65,0x73,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xda,0x07,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x0b,0x00,0x00,
|
||||
0x6e,0x6f,0x72,0x6d,0x61,0x6c,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,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,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,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xef,0x07,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x0b,0x00,0x00,
|
||||
0x6e,0x6f,0x72,0x6d,0x61,0x6c,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,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,
|
||||
0x65,0x6e,0x74,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x0b,0x00,0x00,
|
||||
0x6e,0x6f,0x72,0x6d,0x61,0x6c,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,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,
|
||||
0x64,0x65,0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
@ -86,21 +116,33 @@ TK_CONST_DATA_ALIGN(const unsigned char style_keyboard[]) = {
|
||||
0xa0,0xa0,0xa0,0xff,0x03,0x00,0x00,0x00,0x07,0x0b,0x04,0x00,0x74,0x65,0x78,0x74,0x5f,0x63,0x6f,0x6c,
|
||||
0x6f,0x72,0x00,0x00,0x00,0x00,0xff,0x07,0x09,0x04,0x00,0x62,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,
|
||||
0xe0,0xe0,0xe0,0xff,0x07,0x0d,0x04,0x00,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,
|
||||
0x00,0xa0,0xa0,0xa0,0xff,0x04,0x00,0x00,0x00,0x07,0x0b,0x04,0x00,0x74,0x65,0x78,0x74,0x5f,0x63,0x6f,
|
||||
0x6c,0x6f,0x72,0x00,0x00,0x00,0x00,0xff,0x07,0x0d,0x04,0x00,0x74,0x65,0x78,0x74,0x5f,0x61,0x6c,0x69,
|
||||
0x67,0x6e,0x5f,0x68,0x00,0x01,0x00,0x00,0x00,0x07,0x0d,0x04,0x00,0x74,0x65,0x78,0x74,0x5f,0x61,0x6c,
|
||||
0x69,0x67,0x6e,0x5f,0x76,0x00,0x01,0x00,0x00,0x00,0x07,0x09,0x04,0x00,0x62,0x67,0x5f,0x63,0x6f,0x6c,
|
||||
0x6f,0x72,0x00,0xf0,0xf0,0xf0,0xff,0x05,0x00,0x00,0x00,0x07,0x0b,0x04,0x00,0x74,0x65,0x78,0x74,0x5f,
|
||||
0x63,0x6f,0x6c,0x6f,0x72,0x00,0x00,0x00,0x00,0xff,0x07,0x0d,0x04,0x00,0x74,0x65,0x78,0x74,0x5f,0x61,
|
||||
0x6c,0x69,0x67,0x6e,0x5f,0x68,0x00,0x01,0x00,0x00,0x00,0x07,0x0d,0x04,0x00,0x74,0x65,0x78,0x74,0x5f,
|
||||
0x61,0x6c,0x69,0x67,0x6e,0x5f,0x76,0x00,0x01,0x00,0x00,0x00,0x07,0x09,0x04,0x00,0x62,0x67,0x5f,0x63,
|
||||
0x6f,0x6c,0x6f,0x72,0x00,0xc0,0xc0,0xc0,0xff,0x07,0x0d,0x04,0x00,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,
|
||||
0x63,0x6f,0x6c,0x6f,0x72,0x00,0xa0,0xa0,0xa0,0xff,0x05,0x00,0x00,0x00,0x07,0x0b,0x04,0x00,0x74,0x65,
|
||||
0x00,0xa0,0xa0,0xa0,0xff,0x01,0x00,0x00,0x00,0x07,0x0b,0x04,0x00,0x74,0x65,0x78,0x74,0x5f,0x63,0x6f,
|
||||
0x6c,0x6f,0x72,0x00,0x00,0x00,0x00,0xff,0x03,0x00,0x00,0x00,0x07,0x0b,0x04,0x00,0x74,0x65,0x78,0x74,
|
||||
0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x00,0x00,0x00,0xff,0x07,0x09,0x04,0x00,0x62,0x67,0x5f,0x63,0x6f,
|
||||
0x6c,0x6f,0x72,0x00,0xc0,0xc0,0xc0,0xff,0x07,0x0d,0x04,0x00,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,0x63,
|
||||
0x6f,0x6c,0x6f,0x72,0x00,0xa0,0xa0,0xa0,0xff,0x03,0x00,0x00,0x00,0x07,0x0b,0x04,0x00,0x74,0x65,0x78,
|
||||
0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x00,0x00,0x00,0xff,0x07,0x09,0x04,0x00,0x62,0x67,0x5f,0x63,
|
||||
0x6f,0x6c,0x6f,0x72,0x00,0xe0,0xe0,0xe0,0xff,0x07,0x0d,0x04,0x00,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,
|
||||
0x63,0x6f,0x6c,0x6f,0x72,0x00,0xa0,0xa0,0xa0,0xff,0x02,0x00,0x00,0x00,0x07,0x0b,0x04,0x00,0x74,0x65,
|
||||
0x78,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x00,0x00,0x00,0xff,0x07,0x09,0x04,0x00,0x62,0x67,0x5f,
|
||||
0x63,0x6f,0x6c,0x6f,0x72,0x00,0xe0,0xe0,0xe0,0xff,0x02,0x00,0x00,0x00,0x07,0x0b,0x04,0x00,0x74,0x65,
|
||||
0x78,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xd0,0xd0,0xd0,0xff,0x07,0x09,0x04,0x00,0x62,0x67,0x5f,
|
||||
0x63,0x6f,0x6c,0x6f,0x72,0x00,0xbe,0xbe,0xbe,0xff,0x04,0x00,0x00,0x00,0x07,0x0b,0x04,0x00,0x74,0x65,
|
||||
0x78,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x00,0x00,0x00,0xff,0x07,0x0d,0x04,0x00,0x74,0x65,0x78,
|
||||
0x74,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x5f,0x68,0x00,0x01,0x00,0x00,0x00,0x07,0x0d,0x04,0x00,0x74,0x65,
|
||||
0x78,0x74,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x5f,0x76,0x00,0x01,0x00,0x00,0x00,0x07,0x09,0x04,0x00,0x62,
|
||||
0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xe0,0xe0,0xe0,0xff,0x07,0x0d,0x04,0x00,0x62,0x6f,0x72,0x64,
|
||||
0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xa0,0xa0,0xa0,0xff,0x01,0x00,0x00,0x00,0x07,0x09,0x04,
|
||||
0x00,0x62,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xfa,0xfa,0xfa,0xff,0x01,0x00,0x00,0x00,0x07,0x09,
|
||||
0x04,0x00,0x62,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xcf,0xd4,0xda,0xff,0x01,0x00,0x00,0x00,0x07,
|
||||
0x09,0x04,0x00,0x62,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xf0,0xf0,0xf0,0xff,0x00,0x00,0x00,0x00,};/*2100*/
|
||||
0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xf0,0xf0,0xf0,0xff,0x05,0x00,0x00,0x00,0x07,0x0b,0x04,0x00,
|
||||
0x74,0x65,0x78,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x00,0x00,0x00,0xff,0x07,0x0d,0x04,0x00,0x74,
|
||||
0x65,0x78,0x74,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x5f,0x68,0x00,0x01,0x00,0x00,0x00,0x07,0x0d,0x04,0x00,
|
||||
0x74,0x65,0x78,0x74,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x5f,0x76,0x00,0x01,0x00,0x00,0x00,0x07,0x09,0x04,
|
||||
0x00,0x62,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xc0,0xc0,0xc0,0xff,0x07,0x0d,0x04,0x00,0x62,0x6f,
|
||||
0x72,0x64,0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xa0,0xa0,0xa0,0xff,0x05,0x00,0x00,0x00,0x07,
|
||||
0x0b,0x04,0x00,0x74,0x65,0x78,0x74,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0x00,0x00,0x00,0xff,0x07,0x0d,
|
||||
0x04,0x00,0x74,0x65,0x78,0x74,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x5f,0x68,0x00,0x01,0x00,0x00,0x00,0x07,
|
||||
0x0d,0x04,0x00,0x74,0x65,0x78,0x74,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x5f,0x76,0x00,0x01,0x00,0x00,0x00,
|
||||
0x07,0x09,0x04,0x00,0x62,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xe0,0xe0,0xe0,0xff,0x07,0x0d,0x04,
|
||||
0x00,0x62,0x6f,0x72,0x64,0x65,0x72,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xa0,0xa0,0xa0,0xff,0x01,0x00,
|
||||
0x00,0x00,0x07,0x09,0x04,0x00,0x62,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xfa,0xfa,0xfa,0xff,0x01,
|
||||
0x00,0x00,0x00,0x07,0x09,0x04,0x00,0x62,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x00,0xcf,0xd4,0xda,0xff,
|
||||
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x07,0x09,0x04,0x00,0x62,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,
|
||||
0x00,0xf0,0xf0,0xf0,0xff,0x00,0x00,0x00,0x00,};/*2929*/
|
||||
|
382
demos/assets/default/inc/ui/kb_ascii_t9.data
Normal file
382
demos/assets/default/inc/ui/kb_ascii_t9.data
Normal file
@ -0,0 +1,382 @@
|
||||
TK_CONST_DATA_ALIGN(const unsigned char ui_kb_ascii_t9[]) = {
|
||||
0x04,0x00,0x01,0x01,0x8c,0x1d,0x00,0x00,0x00,0x00,0x00,0x00,0x6b,0x62,0x5f,0x61,0x73,0x63,0x69,0x69,
|
||||
0x5f,0x74,0x39,0x00,0x64,0x61,0x74,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x12,0x12,0x22,0x11,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,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,0x64,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,
|
||||
0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,
|
||||
0x79,0x3d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x34,0x30,
|
||||
0x25,0x29,0x00,0x74,0x68,0x65,0x6d,0x65,0x00,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x00,0x00,0x70,
|
||||
0x61,0x67,0x65,0x73,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,0x64,
|
||||
0x00,0x00,0x00,0xe4,0xff,0xff,0xff,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,
|
||||
0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x2c,
|
||||
0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x2d,0x32,0x38,0x29,0x00,0x61,0x63,0x74,0x69,0x76,0x65,
|
||||
0x00,0x32,0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,
|
||||
0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,
|
||||
0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x6e,0x75,0x6d,0x62,0x65,0x72,0x00,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,
|
||||
0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x35,0x2c,0x73,
|
||||
0x3d,0x32,0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x31,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x31,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x32,0x00,0x74,0x65,0x78,0x74,0x00,0x32,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x33,0x00,0x74,0x65,0x78,0x74,0x00,0x33,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2b,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x2b,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,
|
||||
0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,
|
||||
0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,
|
||||
0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,
|
||||
0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,
|
||||
0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,
|
||||
0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x34,0x00,0x74,0x65,0x78,0x74,0x00,0x34,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x35,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x35,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x36,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x36,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2d,0x00,0x74,0x65,0x78,0x74,0x00,0x2d,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6c,0x6f,0x77,
|
||||
0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x61,0x62,0x63,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,
|
||||
0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x37,0x00,0x74,0x65,0x78,0x74,
|
||||
0x00,0x37,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,
|
||||
0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x38,0x00,0x74,0x65,0x78,0x74,0x00,0x38,0x00,0x00,0x00,
|
||||
0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,
|
||||
0x61,0x6d,0x65,0x00,0x39,0x00,0x74,0x65,0x78,0x74,0x00,0x39,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,
|
||||
0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2a,
|
||||
0x00,0x74,0x65,0x78,0x74,0x00,0x2a,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x75,0x70,0x70,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,
|
||||
0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x41,0x42,0x43,0x00,0x00,
|
||||
0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,
|
||||
0x6e,0x61,0x6d,0x65,0x00,0x2e,0x00,0x74,0x65,0x78,0x74,0x00,0x2e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,
|
||||
0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x30,0x00,0x74,0x65,0x78,0x74,0x00,0x30,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,
|
||||
0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x25,0x00,0x74,0x65,0x78,
|
||||
0x74,0x00,0x25,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,
|
||||
0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2f,0x00,0x74,0x65,0x78,0x74,0x00,0x2f,0x00,0x00,
|
||||
0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x73,
|
||||
0x79,0x6d,0x62,0x6f,0x6c,0x73,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,
|
||||
0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x23,0x2b,0x3d,0x00,0x00,0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,
|
||||
0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,
|
||||
0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,
|
||||
0x31,0x30,0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x00,0x63,
|
||||
0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,
|
||||
0x6c,0x74,0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x35,0x2c,0x73,0x3d,0x32,0x2c,0x6d,0x3d,0x32,0x29,0x00,
|
||||
0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,
|
||||
0x6e,0x61,0x6d,0x65,0x00,0x3c,0x00,0x74,0x65,0x78,0x74,0x00,0x3c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,
|
||||
0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x3e,0x00,0x74,0x65,0x78,0x74,0x00,0x3e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,
|
||||
0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x28,0x00,0x74,0x65,0x78,
|
||||
0x74,0x00,0x28,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,
|
||||
0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x29,0x00,0x74,0x65,0x78,0x74,0x00,0x29,0x00,0x00,
|
||||
0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,
|
||||
0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,
|
||||
0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,
|
||||
0x65,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,0x64,0x00,0x00,0x00,
|
||||
0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,
|
||||
0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,
|
||||
0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,
|
||||
0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,
|
||||
0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,
|
||||
0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x7b,0x00,0x74,0x65,0x78,
|
||||
0x74,0x00,0x7b,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,
|
||||
0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x7d,0x00,0x74,0x65,0x78,0x74,0x00,0x7d,0x00,0x00,
|
||||
0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,
|
||||
0x6e,0x61,0x6d,0x65,0x00,0x5b,0x00,0x74,0x65,0x78,0x74,0x00,0x5b,0x00,0x00,0x00,0x62,0x75,0x74,0x74,
|
||||
0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x5d,0x00,0x74,0x65,0x78,0x74,0x00,0x5d,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,
|
||||
0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6c,0x6f,0x77,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,
|
||||
0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x61,0x62,0x63,0x00,
|
||||
0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,
|
||||
0x00,0x6e,0x61,0x6d,0x65,0x00,0x24,0x00,0x74,0x65,0x78,0x74,0x00,0x24,0x00,0x00,0x00,0x62,0x75,0x74,
|
||||
0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x40,0x00,0x74,0x65,0x78,0x74,0x00,0x40,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,
|
||||
0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x22,0x00,0x74,0x65,
|
||||
0x78,0x74,0x00,0x22,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,
|
||||
0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x27,0x00,0x74,0x65,0x78,0x74,0x00,0x27,0x00,
|
||||
0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,
|
||||
0x75,0x70,0x70,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,
|
||||
0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x41,0x42,0x43,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x23,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x23,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,
|
||||
0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x3d,0x00,0x74,0x65,0x78,0x74,0x00,0x3d,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,
|
||||
0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2c,0x00,0x74,0x65,0x78,0x74,0x00,0x2c,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x3f,0x00,0x74,0x65,0x78,0x74,0x00,0x3f,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6e,0x75,0x6d,0x62,0x65,0x72,0x00,0x73,0x74,
|
||||
0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x31,
|
||||
0x32,0x33,0x00,0x00,0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,
|
||||
0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,
|
||||
0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x6c,0x6f,0x77,0x65,0x72,0x00,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,
|
||||
0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x34,0x2c,
|
||||
0x73,0x3d,0x32,0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,
|
||||
0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x2e,0x5f,
|
||||
0x40,0x2f,0x25,0x00,0x74,0x65,0x78,0x74,0x00,0x2e,0x5f,0x40,0x2f,0x25,0x00,0x00,0x00,0x62,0x75,0x74,
|
||||
0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x6f,0x70,0x74,0x3a,0x61,0x62,0x63,0x00,0x74,0x65,0x78,0x74,0x00,0x61,0x62,0x63,0x00,0x00,0x00,
|
||||
0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,
|
||||
0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x64,0x65,0x66,0x00,0x74,0x65,0x78,0x74,0x00,0x64,0x65,0x66,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,
|
||||
0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,
|
||||
0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,
|
||||
0x61,0x67,0x65,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,0x64,0x00,
|
||||
0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,
|
||||
0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,
|
||||
0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,
|
||||
0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,
|
||||
0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,
|
||||
0x3a,0x67,0x68,0x69,0x00,0x74,0x65,0x78,0x74,0x00,0x67,0x68,0x69,0x00,0x00,0x00,0x62,0x75,0x74,0x74,
|
||||
0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x6f,0x70,0x74,0x3a,0x6a,0x6b,0x6c,0x00,0x74,0x65,0x78,0x74,0x00,0x6a,0x6b,0x6c,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x6d,0x6e,0x6f,0x00,0x74,0x65,0x78,0x74,0x00,0x6d,0x6e,0x6f,0x00,
|
||||
0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,
|
||||
0x75,0x70,0x70,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,
|
||||
0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x41,0x42,0x43,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,
|
||||
0x3a,0x70,0x71,0x72,0x73,0x00,0x74,0x65,0x78,0x74,0x00,0x70,0x71,0x72,0x73,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x6f,0x70,0x74,0x3a,0x74,0x75,0x76,0x00,0x74,0x65,0x78,0x74,0x00,0x74,0x75,0x76,0x00,0x00,
|
||||
0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,
|
||||
0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x77,0x78,0x79,0x7a,0x00,0x74,0x65,0x78,0x74,0x00,0x77,
|
||||
0x78,0x79,0x7a,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,
|
||||
0x61,0x67,0x65,0x3a,0x6e,0x75,0x6d,0x62,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,
|
||||
0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x31,0x32,0x33,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x6f,0x70,0x74,0x3a,0x2c,0x3f,0x21,0x3a,0x00,0x74,0x65,0x78,0x74,0x00,0x2c,0x3f,0x21,0x3a,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,
|
||||
0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6f,0x6e,0x66,0x69,0x72,0x6d,0x5f,0x70,0x72,0x65,0x65,0x64,
|
||||
0x69,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x2d,0x2d,0x3e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x73,0x70,
|
||||
0x61,0x63,0x65,0x00,0x74,0x65,0x78,0x74,0x00,0x53,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x62,0x75,0x74,
|
||||
0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x61,0x63,0x74,0x69,0x6f,0x6e,0x00,0x73,0x74,0x79,
|
||||
0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x52,0x65,
|
||||
0x74,0x75,0x72,0x6e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x70,0x61,0x67,0x65,0x3a,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,
|
||||
0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x23,0x2b,0x3d,0x00,0x00,0x00,
|
||||
0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,
|
||||
0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,
|
||||
0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x75,0x70,0x70,
|
||||
0x65,0x72,0x00,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,
|
||||
0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x34,0x2c,0x73,0x3d,0x32,0x2c,0x6d,
|
||||
0x3d,0x32,0x29,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,
|
||||
0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x2e,0x5f,0x40,0x2f,0x23,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x2e,0x5f,0x40,0x2f,0x23,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,
|
||||
0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,
|
||||
0x41,0x42,0x43,0x00,0x74,0x65,0x78,0x74,0x00,0x41,0x42,0x43,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,
|
||||
0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,
|
||||
0x70,0x74,0x3a,0x44,0x45,0x46,0x00,0x74,0x65,0x78,0x74,0x00,0x44,0x45,0x46,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,0x79,0x6c,
|
||||
0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,
|
||||
0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,
|
||||
0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,
|
||||
0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,
|
||||
0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,0x6b,0x73,
|
||||
0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,
|
||||
0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x47,0x48,0x49,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x47,0x48,0x49,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,
|
||||
0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x4a,
|
||||
0x4b,0x4c,0x00,0x74,0x65,0x78,0x74,0x00,0x4a,0x4b,0x4c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,
|
||||
0x74,0x3a,0x4d,0x4e,0x4f,0x00,0x74,0x65,0x78,0x74,0x00,0x4d,0x4e,0x4f,0x00,0x00,0x00,0x62,0x75,0x74,
|
||||
0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6c,0x6f,0x77,0x65,0x72,
|
||||
0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,
|
||||
0x74,0x00,0x61,0x62,0x63,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,
|
||||
0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x50,0x51,0x52,0x53,
|
||||
0x00,0x74,0x65,0x78,0x74,0x00,0x50,0x51,0x52,0x53,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,
|
||||
0x3a,0x54,0x55,0x56,0x00,0x74,0x65,0x78,0x74,0x00,0x54,0x55,0x56,0x00,0x00,0x00,0x62,0x75,0x74,0x74,
|
||||
0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x6f,0x70,0x74,0x3a,0x57,0x58,0x59,0x5a,0x00,0x74,0x65,0x78,0x74,0x00,0x57,0x58,0x59,0x5a,0x00,0x00,
|
||||
0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6e,
|
||||
0x75,0x6d,0x62,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,
|
||||
0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x31,0x32,0x33,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6f,0x6e,
|
||||
0x66,0x69,0x72,0x6d,0x5f,0x70,0x72,0x65,0x65,0x64,0x69,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x2d,0x2d,
|
||||
0x3e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x73,0x70,0x61,0x63,0x65,0x00,0x74,0x65,0x78,0x74,0x00,0x53,
|
||||
0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x61,0x63,0x74,0x69,0x6f,0x6e,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,
|
||||
0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x52,0x65,0x74,0x75,0x72,0x6e,0x00,0x00,0x00,0x62,0x75,0x74,
|
||||
0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x73,0x79,0x6d,0x62,0x6f,
|
||||
0x6c,0x73,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x23,0x2b,0x3d,0x00,0x00,0x00,0x00,0x00,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,
|
||||
0x65,0x73,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,0x64,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,
|
||||
0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,
|
||||
0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x33,0x30,0x29,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6c,0x6f,0x73,
|
||||
0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x63,0x6c,0x6f,0x73,0x65,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,
|
||||
0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x72,0x3a,0x32,0x2c,
|
||||
0x20,0x79,0x3d,0x32,0x2c,0x20,0x77,0x3d,0x32,0x30,0x2c,0x20,0x68,0x3d,0x32,0x30,0x29,0x00,0x74,0x65,
|
||||
0x78,0x74,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*7612*/
|
495
demos/assets/default/inc/ui/kb_default_t9.data
Normal file
495
demos/assets/default/inc/ui/kb_default_t9.data
Normal file
@ -0,0 +1,495 @@
|
||||
TK_CONST_DATA_ALIGN(const unsigned char ui_kb_default_t9[]) = {
|
||||
0x04,0x00,0x01,0x01,0x61,0x26,0x00,0x00,0x00,0x00,0x00,0x00,0x6b,0x62,0x5f,0x64,0x65,0x66,0x61,0x75,
|
||||
0x6c,0x74,0x5f,0x74,0x39,0x00,0x64,0x61,0x74,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x12,0x12,0x22,0x11,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,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,0x64,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,
|
||||
0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,
|
||||
0x79,0x3d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x34,0x30,
|
||||
0x25,0x29,0x00,0x74,0x68,0x65,0x6d,0x65,0x00,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x00,0x00,0x70,
|
||||
0x61,0x67,0x65,0x73,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,0x64,
|
||||
0x00,0x00,0x00,0xe4,0xff,0xff,0xff,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,
|
||||
0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x2c,
|
||||
0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x2d,0x32,0x38,0x29,0x00,0x61,0x63,0x74,0x69,0x76,0x65,
|
||||
0x00,0x32,0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,
|
||||
0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,
|
||||
0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x6e,0x75,0x6d,0x62,0x65,0x72,0x00,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,
|
||||
0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x35,0x2c,0x73,
|
||||
0x3d,0x32,0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x31,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x31,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x32,0x00,0x74,0x65,0x78,0x74,0x00,0x32,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x33,0x00,0x74,0x65,0x78,0x74,0x00,0x33,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2b,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x2b,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,
|
||||
0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,
|
||||
0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,
|
||||
0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,
|
||||
0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,
|
||||
0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,
|
||||
0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x34,0x00,0x74,0x65,0x78,0x74,0x00,0x34,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x35,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x35,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x36,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x36,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2d,0x00,0x74,0x65,0x78,0x74,0x00,0x2d,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6c,0x6f,0x77,
|
||||
0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,
|
||||
0x69,0x6d,0x61,0x67,0x65,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,
|
||||
0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,
|
||||
0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,
|
||||
0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,
|
||||
0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,
|
||||
0x65,0x00,0x65,0x6e,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,
|
||||
0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x37,0x00,0x74,0x65,0x78,0x74,0x00,0x37,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,
|
||||
0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x38,0x00,0x74,0x65,0x78,0x74,0x00,0x38,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x39,0x00,0x74,0x65,0x78,0x74,0x00,0x39,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2a,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x2a,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x70,0x61,0x67,0x65,0x3a,0x63,0x68,0x69,0x6e,0x65,0x73,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,
|
||||
0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,
|
||||
0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,
|
||||
0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,
|
||||
0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,
|
||||
0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x7a,0x68,0x00,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x2e,0x00,0x74,0x65,0x78,0x74,0x00,0x2e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x30,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x30,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x25,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x25,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2f,0x00,0x74,0x65,0x78,0x74,0x00,0x2f,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x73,0x79,0x6d,
|
||||
0x62,0x6f,0x6c,0x73,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,
|
||||
0x00,0x74,0x65,0x78,0x74,0x00,0x23,0x2b,0x3d,0x00,0x00,0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,
|
||||
0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,
|
||||
0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,
|
||||
0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x00,0x63,0x68,0x69,
|
||||
0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,
|
||||
0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x35,0x2c,0x73,0x3d,0x32,0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x3c,0x00,0x74,0x65,0x78,0x74,0x00,0x3c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x3e,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x3e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x28,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x28,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x29,0x00,0x74,0x65,0x78,0x74,0x00,0x29,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,0x79,
|
||||
0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,
|
||||
0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,
|
||||
0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,
|
||||
0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,
|
||||
0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,0x6b,
|
||||
0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x7b,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x7b,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x7d,0x00,0x74,0x65,0x78,0x74,0x00,0x7d,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x5b,0x00,0x74,0x65,0x78,0x74,0x00,0x5b,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x5d,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x5d,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6c,0x6f,0x77,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,
|
||||
0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,
|
||||
0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,
|
||||
0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,
|
||||
0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,
|
||||
0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x65,0x6e,0x00,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x24,0x00,0x74,0x65,0x78,0x74,0x00,0x24,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x40,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x40,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,
|
||||
0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x22,0x00,0x74,0x65,0x78,0x74,0x00,0x22,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,
|
||||
0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x27,0x00,0x74,0x65,0x78,0x74,0x00,0x27,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x63,0x68,0x69,0x6e,
|
||||
0x65,0x73,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,
|
||||
0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,
|
||||
0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,
|
||||
0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,
|
||||
0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,
|
||||
0x67,0x65,0x00,0x7a,0x68,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x23,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x23,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x3d,0x00,0x74,0x65,0x78,0x74,0x00,0x3d,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x2c,0x00,0x74,0x65,0x78,0x74,0x00,0x2c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x3f,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x3f,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6e,0x75,0x6d,0x62,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,
|
||||
0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x31,0x32,0x33,0x00,0x00,
|
||||
0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,
|
||||
0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,
|
||||
0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6c,0x6f,
|
||||
0x77,0x65,0x72,0x00,0x6c,0x61,0x6e,0x67,0x00,0x65,0x6e,0x5f,0x75,0x73,0x00,0x63,0x68,0x69,0x6c,0x64,
|
||||
0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x72,
|
||||
0x3d,0x34,0x2c,0x63,0x3d,0x34,0x2c,0x73,0x3d,0x32,0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,0x75,0x74,
|
||||
0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x2c,0x00,0x74,0x65,0x78,0x74,0x00,0x2c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,
|
||||
0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,
|
||||
0x32,0x00,0x74,0x65,0x78,0x74,0x00,0x61,0x62,0x63,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,
|
||||
0x3a,0x33,0x00,0x74,0x65,0x78,0x74,0x00,0x64,0x65,0x66,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,
|
||||
0x79,0x3a,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,
|
||||
0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,
|
||||
0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,
|
||||
0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,
|
||||
0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,
|
||||
0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x34,0x00,0x74,0x65,0x78,0x74,0x00,0x67,
|
||||
0x68,0x69,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,
|
||||
0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x35,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x6a,0x6b,0x6c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,
|
||||
0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x36,0x00,0x74,0x65,0x78,0x74,
|
||||
0x00,0x6d,0x6e,0x6f,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x70,0x61,0x67,0x65,0x3a,0x75,0x70,0x70,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,
|
||||
0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x41,0x42,0x43,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x6b,0x65,0x79,0x3a,0x37,0x00,0x74,0x65,0x78,0x74,0x00,0x70,0x71,0x72,0x73,0x00,0x00,0x00,
|
||||
0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,
|
||||
0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x38,0x00,0x74,0x65,0x78,0x74,0x00,0x74,0x75,0x76,0x00,0x00,
|
||||
0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,
|
||||
0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x39,0x00,0x74,0x65,0x78,0x74,0x00,0x77,0x78,0x79,0x7a,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,
|
||||
0x3a,0x63,0x68,0x69,0x6e,0x65,0x73,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,
|
||||
0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,
|
||||
0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,
|
||||
0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,
|
||||
0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,
|
||||
0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x7a,0x68,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,
|
||||
0x74,0x3a,0x2e,0x3f,0x21,0x00,0x74,0x65,0x78,0x74,0x00,0x2e,0x3f,0x21,0x00,0x00,0x00,0x62,0x75,0x74,
|
||||
0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x73,0x70,0x61,0x63,0x65,0x00,0x74,0x65,0x78,0x74,0x00,0x53,0x70,0x61,0x63,0x65,0x00,0x00,0x00,
|
||||
0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x61,0x63,0x74,0x69,0x6f,0x6e,0x00,
|
||||
0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,
|
||||
0x00,0x52,0x65,0x74,0x75,0x72,0x6e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6e,0x75,0x6d,0x62,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,
|
||||
0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x31,0x32,0x33,0x00,
|
||||
0x00,0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,
|
||||
0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,
|
||||
0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x75,
|
||||
0x70,0x70,0x65,0x72,0x00,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,
|
||||
0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x34,0x2c,0x73,0x3d,0x32,
|
||||
0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,
|
||||
0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x2e,0x5f,0x40,0x2f,0x23,
|
||||
0x00,0x74,0x65,0x78,0x74,0x00,0x2e,0x5f,0x40,0x2f,0x23,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,
|
||||
0x74,0x3a,0x41,0x42,0x43,0x00,0x74,0x65,0x78,0x74,0x00,0x41,0x42,0x43,0x00,0x00,0x00,0x62,0x75,0x74,
|
||||
0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x6f,0x70,0x74,0x3a,0x44,0x45,0x46,0x00,0x74,0x65,0x78,0x74,0x00,0x44,0x45,0x46,0x00,0x00,0x00,
|
||||
0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,
|
||||
0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,
|
||||
0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,
|
||||
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,0x64,0x00,0x00,0x00,0x64,
|
||||
0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,
|
||||
0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,
|
||||
0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,
|
||||
0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,
|
||||
0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,
|
||||
0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x47,0x48,
|
||||
0x49,0x00,0x74,0x65,0x78,0x74,0x00,0x47,0x48,0x49,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,
|
||||
0x3a,0x4a,0x4b,0x4c,0x00,0x74,0x65,0x78,0x74,0x00,0x4a,0x4b,0x4c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,
|
||||
0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x6f,0x70,0x74,0x3a,0x4d,0x4e,0x4f,0x00,0x74,0x65,0x78,0x74,0x00,0x4d,0x4e,0x4f,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6c,0x6f,0x77,
|
||||
0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x61,0x62,0x63,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,
|
||||
0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x50,0x51,
|
||||
0x52,0x53,0x00,0x74,0x65,0x78,0x74,0x00,0x50,0x51,0x52,0x53,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,
|
||||
0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,
|
||||
0x70,0x74,0x3a,0x54,0x55,0x56,0x00,0x74,0x65,0x78,0x74,0x00,0x54,0x55,0x56,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x6f,0x70,0x74,0x3a,0x57,0x58,0x59,0x5a,0x00,0x74,0x65,0x78,0x74,0x00,0x57,0x58,0x59,0x5a,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,
|
||||
0x3a,0x63,0x68,0x69,0x6e,0x65,0x73,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,
|
||||
0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,
|
||||
0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,
|
||||
0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,
|
||||
0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,
|
||||
0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x7a,0x68,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6f,
|
||||
0x6e,0x66,0x69,0x72,0x6d,0x5f,0x70,0x72,0x65,0x65,0x64,0x69,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x2d,
|
||||
0x2d,0x3e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,
|
||||
0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x73,0x70,0x61,0x63,0x65,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x53,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x61,0x63,0x74,0x69,0x6f,0x6e,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,
|
||||
0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x52,0x65,0x74,0x75,0x72,0x6e,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6e,0x75,0x6d,0x62,
|
||||
0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x31,0x32,0x33,0x00,0x00,0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,
|
||||
0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,
|
||||
0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,
|
||||
0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x68,0x69,0x6e,0x65,0x73,0x65,0x00,0x6c,0x61,0x6e,0x67,0x00,
|
||||
0x7a,0x68,0x5f,0x63,0x6e,0x00,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,
|
||||
0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x34,0x2c,0x73,0x3d,
|
||||
0x32,0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,
|
||||
0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0xef,0xbc,0x8c,0x00,0x74,0x65,0x78,0x74,
|
||||
0x00,0xef,0xbc,0x8c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,
|
||||
0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x32,0x00,0x74,0x65,0x78,
|
||||
0x74,0x00,0x41,0x42,0x43,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,
|
||||
0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x33,0x00,0x74,0x65,
|
||||
0x78,0x74,0x00,0x44,0x45,0x46,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,
|
||||
0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,
|
||||
0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,
|
||||
0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,
|
||||
0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,
|
||||
0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,
|
||||
0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x34,0x00,0x74,0x65,0x78,0x74,0x00,0x47,0x48,0x49,0x00,0x00,0x00,
|
||||
0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,
|
||||
0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x35,0x00,0x74,0x65,0x78,0x74,0x00,0x4a,0x4b,0x4c,0x00,0x00,
|
||||
0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,
|
||||
0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x36,0x00,0x74,0x65,0x78,0x74,0x00,0x4d,0x4e,0x4f,0x00,
|
||||
0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,
|
||||
0x6c,0x6f,0x77,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,
|
||||
0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x61,0x62,0x63,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,
|
||||
0x3a,0x37,0x00,0x74,0x65,0x78,0x74,0x00,0x50,0x51,0x52,0x53,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,
|
||||
0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,
|
||||
0x65,0x79,0x3a,0x38,0x00,0x74,0x65,0x78,0x74,0x00,0x54,0x55,0x56,0x00,0x00,0x00,0x62,0x75,0x74,0x74,
|
||||
0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x6b,0x65,0x79,0x3a,0x39,0x00,0x74,0x65,0x78,0x74,0x00,0x57,0x58,0x59,0x5a,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x73,0x79,0x6d,0x62,
|
||||
0x6f,0x6c,0x73,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x23,0x2b,0x3d,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,
|
||||
0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0xe3,
|
||||
0x80,0x82,0xef,0xbc,0x9f,0xef,0xbc,0x81,0x00,0x74,0x65,0x78,0x74,0x00,0xe3,0x80,0x82,0xef,0xbc,0x9f,
|
||||
0xef,0xbc,0x81,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,
|
||||
0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x73,0x70,0x61,0x63,0x65,0x00,0x74,0x65,0x78,0x74,
|
||||
0x00,0x53,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x61,0x63,0x74,0x69,0x6f,0x6e,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,
|
||||
0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x52,0x65,0x74,0x75,0x72,0x6e,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6e,0x75,0x6d,
|
||||
0x62,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x31,0x32,0x33,0x00,0x00,0x00,0x00,0x00,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,
|
||||
0x74,0x65,0x73,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,0x64,0x00,0x00,0x00,0x1e,0x00,0x00,
|
||||
0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,
|
||||
0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x33,0x30,
|
||||
0x29,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6c,0x6f,
|
||||
0x73,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x63,0x6c,0x6f,0x73,0x65,0x00,0x73,0x65,0x6c,0x66,0x5f,
|
||||
0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x72,0x3a,0x32,
|
||||
0x2c,0x20,0x79,0x3d,0x32,0x2c,0x20,0x77,0x3d,0x32,0x30,0x2c,0x20,0x68,0x3d,0x32,0x30,0x29,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*9873*/
|
40
demos/assets/default/inc/ui/kb_default_t9ext.data
Normal file
40
demos/assets/default/inc/ui/kb_default_t9ext.data
Normal file
@ -0,0 +1,40 @@
|
||||
TK_CONST_DATA_ALIGN(const unsigned char ui_kb_default_t9ext[]) = {
|
||||
0x04,0x00,0x01,0x01,0xcd,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x6b,0x62,0x5f,0x64,0x65,0x66,0x61,0x75,
|
||||
0x6c,0x74,0x5f,0x74,0x39,0x65,0x78,0x74,0x00,0x64,0x61,0x74,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x12,0x12,0x22,0x11,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,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,0x64,0x00,0x00,0x00,0x4e,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,
|
||||
0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,
|
||||
0x79,0x3d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x37,0x38,
|
||||
0x29,0x00,0x64,0x69,0x73,0x61,0x62,0x6c,0x65,0x5f,0x61,0x6e,0x69,0x6d,0x00,0x74,0x72,0x75,0x65,0x00,
|
||||
0x74,0x68,0x65,0x6d,0x65,0x00,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x00,0x73,0x74,0x79,0x6c,0x65,
|
||||
0x00,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x00,0x6d,0x6f,0x76,0x65,0x5f,0x66,0x6f,
|
||||
0x63,0x75,0x73,0x5f,0x75,0x70,0x5f,0x6b,0x65,0x79,0x00,0x75,0x70,0x00,0x6d,0x6f,0x76,0x65,0x5f,0x66,
|
||||
0x6f,0x63,0x75,0x73,0x5f,0x64,0x6f,0x77,0x6e,0x5f,0x6b,0x65,0x79,0x00,0x64,0x6f,0x77,0x6e,0x00,0x6d,
|
||||
0x6f,0x76,0x65,0x5f,0x66,0x6f,0x63,0x75,0x73,0x5f,0x6c,0x65,0x66,0x74,0x5f,0x6b,0x65,0x79,0x00,0x6c,
|
||||
0x65,0x66,0x74,0x00,0x6d,0x6f,0x76,0x65,0x5f,0x66,0x6f,0x63,0x75,0x73,0x5f,0x72,0x69,0x67,0x68,0x74,
|
||||
0x5f,0x6b,0x65,0x79,0x00,0x72,0x69,0x67,0x68,0x74,0x00,0x67,0x72,0x61,0x62,0x5f,0x6b,0x65,0x79,0x73,
|
||||
0x00,0x74,0x72,0x75,0x65,0x00,0x00,0x6c,0x61,0x6e,0x67,0x5f,0x69,0x6e,0x64,0x69,0x63,0x61,0x74,0x6f,
|
||||
0x72,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,0x73,0x65,0x6c,0x66,0x5f,
|
||||
0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x72,0x3a,0x32,
|
||||
0x2c,0x20,0x79,0x3d,0x30,0x2c,0x20,0x77,0x3d,0x34,0x38,0x2c,0x20,0x68,0x3d,0x32,0x30,0x29,0x00,0x00,
|
||||
0x00,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,0x65,0x73,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,0x14,0x00,0x00,
|
||||
0x00,0x64,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,
|
||||
0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x32,0x30,0x2c,0x77,0x3d,
|
||||
0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x70,0x72,0x65,0x00,0x74,0x72,0x75,0x65,0x00,
|
||||
0x76,0x69,0x73,0x69,0x62,0x6c,0x65,0x00,0x66,0x61,0x6c,0x73,0x65,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
0x5f,0x73,0x74,0x79,0x6c,0x65,0x00,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,0x65,0x73,0x5f,0x66,0x6f,
|
||||
0x63,0x75,0x73,0x61,0x62,0x6c,0x65,0x00,0x61,0x75,0x74,0x6f,0x5f,0x68,0x69,0x64,0x65,0x00,0x74,0x72,
|
||||
0x75,0x65,0x00,0x73,0x65,0x6c,0x65,0x63,0x74,0x5f,0x62,0x79,0x5f,0x6e,0x75,0x6d,0x00,0x66,0x61,0x6c,
|
||||
0x73,0x65,0x00,0x00,0x00,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,0x65,0x73,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,0x30,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,
|
||||
0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x34,
|
||||
0x38,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x33,0x30,0x29,0x00,0x76,0x69,0x73,0x69,0x62,
|
||||
0x6c,0x65,0x00,0x66,0x61,0x6c,0x73,0x65,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,0x5f,0x73,0x74,0x79,0x6c,
|
||||
0x65,0x00,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,0x74,0x65,0x73,0x5f,0x66,0x6f,0x63,0x75,0x73,0x61,0x62,
|
||||
0x6c,0x65,0x00,0x61,0x75,0x74,0x6f,0x5f,0x68,0x69,0x64,0x65,0x00,0x74,0x72,0x75,0x65,0x00,0x73,0x65,
|
||||
0x6c,0x65,0x63,0x74,0x5f,0x62,0x79,0x5f,0x6e,0x75,0x6d,0x00,0x66,0x61,0x6c,0x73,0x65,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,};/*765*/
|
495
demos/assets/default/inc/ui/kb_t9.data
Normal file
495
demos/assets/default/inc/ui/kb_t9.data
Normal file
@ -0,0 +1,495 @@
|
||||
TK_CONST_DATA_ALIGN(const unsigned char ui_kb_t9[]) = {
|
||||
0x04,0x00,0x01,0x01,0x61,0x26,0x00,0x00,0x00,0x00,0x00,0x00,0x6b,0x62,0x5f,0x74,0x39,0x00,0x64,0x61,
|
||||
0x74,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x12,0x12,0x22,0x11,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,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,0x64,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,
|
||||
0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,
|
||||
0x79,0x3d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x34,0x30,
|
||||
0x25,0x29,0x00,0x74,0x68,0x65,0x6d,0x65,0x00,0x6b,0x65,0x79,0x62,0x6f,0x61,0x72,0x64,0x00,0x00,0x70,
|
||||
0x61,0x67,0x65,0x73,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,0x64,
|
||||
0x00,0x00,0x00,0xe4,0xff,0xff,0xff,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,
|
||||
0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x2c,
|
||||
0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x2d,0x32,0x38,0x29,0x00,0x61,0x63,0x74,0x69,0x76,0x65,
|
||||
0x00,0x32,0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,
|
||||
0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,
|
||||
0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x6e,0x75,0x6d,0x62,0x65,0x72,0x00,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,
|
||||
0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x35,0x2c,0x73,
|
||||
0x3d,0x32,0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x31,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x31,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x32,0x00,0x74,0x65,0x78,0x74,0x00,0x32,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x33,0x00,0x74,0x65,0x78,0x74,0x00,0x33,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2b,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x2b,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,
|
||||
0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,
|
||||
0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,
|
||||
0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,
|
||||
0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,
|
||||
0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,
|
||||
0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x34,0x00,0x74,0x65,0x78,0x74,0x00,0x34,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x35,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x35,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x36,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x36,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2d,0x00,0x74,0x65,0x78,0x74,0x00,0x2d,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6c,0x6f,0x77,
|
||||
0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,
|
||||
0x69,0x6d,0x61,0x67,0x65,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,
|
||||
0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,
|
||||
0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,
|
||||
0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,
|
||||
0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,
|
||||
0x65,0x00,0x65,0x6e,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,
|
||||
0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x37,0x00,0x74,0x65,0x78,0x74,0x00,0x37,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,
|
||||
0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x38,0x00,0x74,0x65,0x78,0x74,0x00,0x38,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x39,0x00,0x74,0x65,0x78,0x74,0x00,0x39,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2a,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x2a,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x70,0x61,0x67,0x65,0x3a,0x63,0x68,0x69,0x6e,0x65,0x73,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,
|
||||
0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,
|
||||
0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,
|
||||
0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,
|
||||
0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,
|
||||
0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x7a,0x68,0x00,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x2e,0x00,0x74,0x65,0x78,0x74,0x00,0x2e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x30,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x30,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x25,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x25,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x2f,0x00,0x74,0x65,0x78,0x74,0x00,0x2f,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x73,0x79,0x6d,
|
||||
0x62,0x6f,0x6c,0x73,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,
|
||||
0x00,0x74,0x65,0x78,0x74,0x00,0x23,0x2b,0x3d,0x00,0x00,0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,
|
||||
0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,
|
||||
0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,
|
||||
0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x73,0x79,0x6d,0x62,0x6f,0x6c,0x73,0x00,0x63,0x68,0x69,
|
||||
0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,
|
||||
0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x35,0x2c,0x73,0x3d,0x32,0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x3c,0x00,0x74,0x65,0x78,0x74,0x00,0x3c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x3e,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x3e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x28,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x28,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x29,0x00,0x74,0x65,0x78,0x74,0x00,0x29,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,0x79,
|
||||
0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,
|
||||
0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,
|
||||
0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,
|
||||
0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,
|
||||
0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,0x6b,
|
||||
0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x7b,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x7b,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x7d,0x00,0x74,0x65,0x78,0x74,0x00,0x7d,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x5b,0x00,0x74,0x65,0x78,0x74,0x00,0x5b,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x5d,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x5d,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6c,0x6f,0x77,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,
|
||||
0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,
|
||||
0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,
|
||||
0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,
|
||||
0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,
|
||||
0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x65,0x6e,0x00,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x24,0x00,0x74,0x65,0x78,0x74,0x00,0x24,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x40,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x40,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,
|
||||
0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x22,0x00,0x74,0x65,0x78,0x74,0x00,0x22,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,
|
||||
0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x27,0x00,0x74,0x65,0x78,0x74,0x00,0x27,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x63,0x68,0x69,0x6e,
|
||||
0x65,0x73,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,
|
||||
0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,
|
||||
0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,
|
||||
0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,
|
||||
0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,
|
||||
0x67,0x65,0x00,0x7a,0x68,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x23,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x23,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x3d,0x00,0x74,0x65,0x78,0x74,0x00,0x3d,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x2c,0x00,0x74,0x65,0x78,0x74,0x00,0x2c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x3f,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x3f,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6e,0x75,0x6d,0x62,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,
|
||||
0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x31,0x32,0x33,0x00,0x00,
|
||||
0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,
|
||||
0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,
|
||||
0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6c,0x6f,
|
||||
0x77,0x65,0x72,0x00,0x6c,0x61,0x6e,0x67,0x00,0x65,0x6e,0x5f,0x75,0x73,0x00,0x63,0x68,0x69,0x6c,0x64,
|
||||
0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x72,
|
||||
0x3d,0x34,0x2c,0x63,0x3d,0x34,0x2c,0x73,0x3d,0x32,0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,0x75,0x74,
|
||||
0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x2c,0x00,0x74,0x65,0x78,0x74,0x00,0x2c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,
|
||||
0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,
|
||||
0x31,0x00,0x74,0x65,0x78,0x74,0x00,0x61,0x62,0x63,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,
|
||||
0x3a,0x32,0x00,0x74,0x65,0x78,0x74,0x00,0x64,0x65,0x66,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,
|
||||
0x79,0x3a,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,
|
||||
0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,
|
||||
0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,
|
||||
0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,
|
||||
0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,
|
||||
0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,
|
||||
0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,
|
||||
0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x33,0x00,0x74,0x65,0x78,0x74,0x00,0x67,
|
||||
0x68,0x69,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,
|
||||
0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x34,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x6a,0x6b,0x6c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,
|
||||
0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x35,0x00,0x74,0x65,0x78,0x74,
|
||||
0x00,0x6d,0x6e,0x6f,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x70,0x61,0x67,0x65,0x3a,0x75,0x70,0x70,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,
|
||||
0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x41,0x42,0x43,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x6b,0x65,0x79,0x3a,0x36,0x00,0x74,0x65,0x78,0x74,0x00,0x70,0x71,0x72,0x73,0x00,0x00,0x00,
|
||||
0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,
|
||||
0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x37,0x00,0x74,0x65,0x78,0x74,0x00,0x74,0x75,0x76,0x00,0x00,
|
||||
0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,
|
||||
0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x38,0x00,0x74,0x65,0x78,0x74,0x00,0x77,0x78,0x79,0x7a,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,
|
||||
0x3a,0x63,0x68,0x69,0x6e,0x65,0x73,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,
|
||||
0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,
|
||||
0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,
|
||||
0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,
|
||||
0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,
|
||||
0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x7a,0x68,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,
|
||||
0x74,0x3a,0x2e,0x3f,0x21,0x00,0x74,0x65,0x78,0x74,0x00,0x2e,0x3f,0x21,0x00,0x00,0x00,0x62,0x75,0x74,
|
||||
0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x73,0x70,0x61,0x63,0x65,0x00,0x74,0x65,0x78,0x74,0x00,0x53,0x70,0x61,0x63,0x65,0x00,0x00,0x00,
|
||||
0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x61,0x63,0x74,0x69,0x6f,0x6e,0x00,
|
||||
0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,
|
||||
0x00,0x52,0x65,0x74,0x75,0x72,0x6e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6e,0x75,0x6d,0x62,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,
|
||||
0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x31,0x32,0x33,0x00,
|
||||
0x00,0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,
|
||||
0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,
|
||||
0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x75,
|
||||
0x70,0x70,0x65,0x72,0x00,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,
|
||||
0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x34,0x2c,0x73,0x3d,0x32,
|
||||
0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,
|
||||
0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x2e,0x5f,0x40,0x2f,0x23,
|
||||
0x00,0x74,0x65,0x78,0x74,0x00,0x2e,0x5f,0x40,0x2f,0x23,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,
|
||||
0x74,0x3a,0x41,0x42,0x43,0x00,0x74,0x65,0x78,0x74,0x00,0x41,0x42,0x43,0x00,0x00,0x00,0x62,0x75,0x74,
|
||||
0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x6f,0x70,0x74,0x3a,0x44,0x45,0x46,0x00,0x74,0x65,0x78,0x74,0x00,0x44,0x45,0x46,0x00,0x00,0x00,
|
||||
0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,
|
||||
0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,
|
||||
0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,
|
||||
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,0x64,0x00,0x00,0x00,0x64,
|
||||
0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,
|
||||
0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,
|
||||
0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,
|
||||
0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,
|
||||
0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,
|
||||
0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x47,0x48,
|
||||
0x49,0x00,0x74,0x65,0x78,0x74,0x00,0x47,0x48,0x49,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,
|
||||
0x3a,0x4a,0x4b,0x4c,0x00,0x74,0x65,0x78,0x74,0x00,0x4a,0x4b,0x4c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,
|
||||
0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x6f,0x70,0x74,0x3a,0x4d,0x4e,0x4f,0x00,0x74,0x65,0x78,0x74,0x00,0x4d,0x4e,0x4f,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6c,0x6f,0x77,
|
||||
0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x61,0x62,0x63,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,
|
||||
0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0x50,0x51,
|
||||
0x52,0x53,0x00,0x74,0x65,0x78,0x74,0x00,0x50,0x51,0x52,0x53,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,
|
||||
0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,
|
||||
0x70,0x74,0x3a,0x54,0x55,0x56,0x00,0x74,0x65,0x78,0x74,0x00,0x54,0x55,0x56,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x6f,0x70,0x74,0x3a,0x57,0x58,0x59,0x5a,0x00,0x74,0x65,0x78,0x74,0x00,0x57,0x58,0x59,0x5a,
|
||||
0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,
|
||||
0x3a,0x63,0x68,0x69,0x6e,0x65,0x73,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,
|
||||
0x69,0x67,0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,
|
||||
0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,
|
||||
0x65,0x72,0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,
|
||||
0x3d,0x31,0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,
|
||||
0x6e,0x00,0x69,0x6d,0x61,0x67,0x65,0x00,0x7a,0x68,0x00,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,
|
||||
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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6f,
|
||||
0x6e,0x66,0x69,0x72,0x6d,0x5f,0x70,0x72,0x65,0x65,0x64,0x69,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x2d,
|
||||
0x2d,0x3e,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,
|
||||
0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x73,0x70,0x61,0x63,0x65,0x00,0x74,0x65,0x78,0x74,0x00,
|
||||
0x53,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,
|
||||
0x00,0x61,0x63,0x74,0x69,0x6f,0x6e,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,
|
||||
0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x52,0x65,0x74,0x75,0x72,0x6e,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6e,0x75,0x6d,0x62,
|
||||
0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x31,0x32,0x33,0x00,0x00,0x00,0x00,0x76,0x69,0x65,0x77,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,
|
||||
0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,
|
||||
0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,0x30,0x30,0x25,
|
||||
0x29,0x00,0x6e,0x61,0x6d,0x65,0x00,0x63,0x68,0x69,0x6e,0x65,0x73,0x65,0x00,0x6c,0x61,0x6e,0x67,0x00,
|
||||
0x7a,0x68,0x5f,0x63,0x6e,0x00,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x5f,0x6c,0x61,0x79,0x6f,0x75,
|
||||
0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x72,0x3d,0x34,0x2c,0x63,0x3d,0x34,0x2c,0x73,0x3d,
|
||||
0x32,0x2c,0x6d,0x3d,0x32,0x29,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,
|
||||
0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0xef,0xbc,0x8c,0x00,0x74,0x65,0x78,0x74,
|
||||
0x00,0xef,0xbc,0x8c,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,
|
||||
0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x31,0x00,0x74,0x65,0x78,
|
||||
0x74,0x00,0x41,0x42,0x43,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,
|
||||
0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x32,0x00,0x74,0x65,
|
||||
0x78,0x74,0x00,0x44,0x45,0x46,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,
|
||||
0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x62,0x61,0x63,
|
||||
0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,
|
||||
0x68,0x74,0x00,0x00,0x69,0x6d,0x61,0x67,0x65,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,0x64,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,
|
||||
0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x63,0x65,0x6e,0x74,0x65,0x72,
|
||||
0x2c,0x79,0x3d,0x6d,0x69,0x64,0x64,0x6c,0x65,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x31,
|
||||
0x30,0x30,0x25,0x29,0x00,0x64,0x72,0x61,0x77,0x5f,0x74,0x79,0x70,0x65,0x00,0x69,0x63,0x6f,0x6e,0x00,
|
||||
0x69,0x6d,0x61,0x67,0x65,0x00,0x62,0x61,0x63,0x6b,0x73,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,
|
||||
0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x33,0x00,0x74,0x65,0x78,0x74,0x00,0x47,0x48,0x49,0x00,0x00,0x00,
|
||||
0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,
|
||||
0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x34,0x00,0x74,0x65,0x78,0x74,0x00,0x4a,0x4b,0x4c,0x00,0x00,
|
||||
0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,
|
||||
0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,0x3a,0x35,0x00,0x74,0x65,0x78,0x74,0x00,0x4d,0x4e,0x4f,0x00,
|
||||
0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,
|
||||
0x6c,0x6f,0x77,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,
|
||||
0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x61,0x62,0x63,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,0x65,0x79,
|
||||
0x3a,0x36,0x00,0x74,0x65,0x78,0x74,0x00,0x50,0x51,0x52,0x53,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,
|
||||
0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6b,
|
||||
0x65,0x79,0x3a,0x37,0x00,0x74,0x65,0x78,0x74,0x00,0x54,0x55,0x56,0x00,0x00,0x00,0x62,0x75,0x74,0x74,
|
||||
0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,
|
||||
0x6b,0x65,0x79,0x3a,0x38,0x00,0x74,0x65,0x78,0x74,0x00,0x57,0x58,0x59,0x5a,0x00,0x00,0x00,0x62,0x75,
|
||||
0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x73,0x79,0x6d,0x62,
|
||||
0x6f,0x6c,0x73,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x23,0x2b,0x3d,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,
|
||||
0x65,0x70,0x65,0x61,0x74,0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x6f,0x70,0x74,0x3a,0xe3,
|
||||
0x80,0x82,0xef,0xbc,0x9f,0xef,0xbc,0x81,0x00,0x74,0x65,0x78,0x74,0x00,0xe3,0x80,0x82,0xef,0xbc,0x9f,
|
||||
0xef,0xbc,0x81,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x72,0x65,0x70,0x65,0x61,0x74,
|
||||
0x00,0x33,0x30,0x30,0x00,0x6e,0x61,0x6d,0x65,0x00,0x73,0x70,0x61,0x63,0x65,0x00,0x74,0x65,0x78,0x74,
|
||||
0x00,0x53,0x70,0x61,0x63,0x65,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,
|
||||
0x65,0x00,0x61,0x63,0x74,0x69,0x6f,0x6e,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,
|
||||
0x69,0x67,0x68,0x74,0x00,0x74,0x65,0x78,0x74,0x00,0x52,0x65,0x74,0x75,0x72,0x6e,0x00,0x00,0x00,0x62,
|
||||
0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x70,0x61,0x67,0x65,0x3a,0x6e,0x75,0x6d,
|
||||
0x62,0x65,0x72,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x68,0x69,0x67,0x68,0x6c,0x69,0x67,0x68,0x74,0x00,
|
||||
0x74,0x65,0x78,0x74,0x00,0x31,0x32,0x33,0x00,0x00,0x00,0x00,0x00,0x63,0x61,0x6e,0x64,0x69,0x64,0x61,
|
||||
0x74,0x65,0x73,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,0x64,0x00,0x00,0x00,0x1e,0x00,0x00,
|
||||
0x00,0x73,0x65,0x6c,0x66,0x5f,0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,
|
||||
0x28,0x78,0x3d,0x30,0x2c,0x79,0x3d,0x30,0x2c,0x77,0x3d,0x31,0x30,0x30,0x25,0x2c,0x68,0x3d,0x33,0x30,
|
||||
0x29,0x00,0x00,0x00,0x62,0x75,0x74,0x74,0x6f,0x6e,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,0x6e,0x61,0x6d,0x65,0x00,0x63,0x6c,0x6f,
|
||||
0x73,0x65,0x00,0x73,0x74,0x79,0x6c,0x65,0x00,0x63,0x6c,0x6f,0x73,0x65,0x00,0x73,0x65,0x6c,0x66,0x5f,
|
||||
0x6c,0x61,0x79,0x6f,0x75,0x74,0x00,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x28,0x78,0x3d,0x72,0x3a,0x32,
|
||||
0x2c,0x20,0x79,0x3d,0x32,0x2c,0x20,0x77,0x3d,0x32,0x30,0x2c,0x20,0x68,0x3d,0x32,0x30,0x29,0x00,0x74,
|
||||
0x65,0x78,0x74,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};/*9873*/
|
Binary file not shown.
@ -155,6 +155,12 @@
|
||||
</style>
|
||||
</digit_clock>
|
||||
|
||||
<lang_indicator>
|
||||
<style name="default">
|
||||
<normal text_color="white" bg_color="#1296db"/>
|
||||
</style>
|
||||
</lang_indicator>
|
||||
|
||||
<label>
|
||||
<style name="default">
|
||||
<normal text_color="black" />
|
||||
|
Binary file not shown.
@ -12,6 +12,14 @@
|
||||
<over bg_color="#e0e0e0" border_color="#a0a0a0"/>
|
||||
</style>
|
||||
|
||||
<style name="candidates_focusable" text_color="black">
|
||||
<normal />
|
||||
<pressed bg_color="#c0c0c0" border_color="#a0a0a0"/>
|
||||
<over bg_color="#e0e0e0" border_color="#a0a0a0"/>
|
||||
<focused bg_color="#e0e0e0" />
|
||||
<disable bg_color="gray" text_color="#d0d0d0" />
|
||||
</style>
|
||||
|
||||
<style name="close" text_color="black" text_align_h="center" text_align_v="middle">
|
||||
<normal bg_color="#f0f0f0"/>
|
||||
<pressed bg_color="#c0c0c0" border_color="#a0a0a0"/>
|
||||
@ -29,6 +37,9 @@
|
||||
<style name="default">
|
||||
<normal bg_color="#cfd4da"/>
|
||||
</style>
|
||||
<style name="transparent">
|
||||
<normal />
|
||||
</style>
|
||||
</keyboard>
|
||||
|
||||
<column>
|
||||
|
BIN
demos/assets/default/raw/ui/kb_ascii_t9.bin
Normal file
BIN
demos/assets/default/raw/ui/kb_ascii_t9.bin
Normal file
Binary file not shown.
98
demos/assets/default/raw/ui/kb_ascii_t9.xml
Normal file
98
demos/assets/default/raw/ui/kb_ascii_t9.xml
Normal file
@ -0,0 +1,98 @@
|
||||
<keyboard theme="keyboard" x="0" y="bottom" w="100%" h="40%">
|
||||
<pages x="0" y="bottom" w="100%" h="-28" active="2">
|
||||
<view name="number" x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=5,s=2,m=2)">
|
||||
<button repeat="300" name="1" text="1"/>
|
||||
<button repeat="300" name="2" text="2"/>
|
||||
<button repeat="300" name="3" text="3"/>
|
||||
<button repeat="300" name="+" text="+"/>
|
||||
<button repeat="300" name="key:backspace" style="highlight">
|
||||
<image draw_type="icon" image="backspace" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="4" text="4"/>
|
||||
<button repeat="300" name="5" text="5"/>
|
||||
<button repeat="300" name="6" text="6"/>
|
||||
<button repeat="300" name="-" text="-"/>
|
||||
<button name="page:lower" style="highlight" text="abc"/>
|
||||
<button repeat="300" name="7" text="7"/>
|
||||
<button repeat="300" name="8" text="8"/>
|
||||
<button repeat="300" name="9" text="9"/>
|
||||
<button repeat="300" name="*" text="*"/>
|
||||
<button name="page:upper" style="highlight" text="ABC"/>
|
||||
<button repeat="300" name="." text="."/>
|
||||
<button repeat="300" name="0" text="0"/>
|
||||
<button repeat="300" name="%" text="%"/>
|
||||
<button repeat="300" name="/" text="/"/>
|
||||
<button name="page:symbols" style="highlight" text="#+="/>
|
||||
</view>
|
||||
<view name="symbols" x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=5,s=2,m=2)">
|
||||
<button repeat="300" name="<" text="<"/>
|
||||
<button repeat="300" name=">" text=">"/>
|
||||
<button repeat="300" name="(" text="("/>
|
||||
<button repeat="300" name=")" text=")"/>
|
||||
<button repeat="300" name="key:backspace" style="highlight">
|
||||
<image draw_type="icon" image="backspace" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="{" text="{"/>
|
||||
<button repeat="300" name="}" text="}"/>
|
||||
<button repeat="300" name="[" text="["/>
|
||||
<button repeat="300" name="]" text="]"/>
|
||||
<button name="page:lower" style="highlight" text="abc"/>
|
||||
<button repeat="300" name="$" text="$"/>
|
||||
<button repeat="300" name="@" text="@"/>
|
||||
<button repeat="300" name=""a;" text=""a;"/>
|
||||
<button repeat="300" name="'" text="'"/>
|
||||
<button name="page:upper" style="highlight" text="ABC"/>
|
||||
<button repeat="300" name="#" text="#"/>
|
||||
<button repeat="300" name="=" text="="/>
|
||||
<button repeat="300" name="," text=","/>
|
||||
<button repeat="300" name="?" text="?"/>
|
||||
<button name="page:number" style="highlight" text="123"/>
|
||||
</view>
|
||||
<view name="lower"
|
||||
x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=4,s=2,m=2)">
|
||||
<button repeat="300" name="opt:._@/%" text="._@/%"/>
|
||||
<button repeat="300" name="opt:abc" text="abc"/>
|
||||
<button repeat="300" name="opt:def" text="def"/>
|
||||
<button repeat="300" name="key:backspace" style="highlight">
|
||||
<image draw_type="icon" image="backspace" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="opt:ghi" text="ghi"/>
|
||||
<button repeat="300" name="opt:jkl" text="jkl"/>
|
||||
<button repeat="300" name="opt:mno" text="mno"/>
|
||||
<button name="page:upper" style="highlight" text="ABC"/>
|
||||
<button repeat="300" name="opt:pqrs" text="pqrs"/>
|
||||
<button repeat="300" name="opt:tuv" text="tuv"/>
|
||||
<button repeat="300" name="opt:wxyz" text="wxyz"/>
|
||||
<button name="page:number" style="highlight" text="123"/>
|
||||
|
||||
<button repeat="300" name="opt:,?!:" text=",?!:"/>
|
||||
<button repeat="300" name="confirm_preedit" text="-->"/>
|
||||
<button repeat="300" name="space" text="Space"/>
|
||||
<button name="action" style="highlight" text="Return"/>
|
||||
<button name="page:symbols" style="highlight" text="#+="/>
|
||||
</view>
|
||||
<view name="upper" x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=4,s=2,m=2)">
|
||||
<button repeat="300" name="opt:._@/#" text="._@/#"/>
|
||||
<button repeat="300" name="opt:ABC" text="ABC"/>
|
||||
<button repeat="300" name="opt:DEF" text="DEF"/>
|
||||
<button repeat="300" name="key:backspace" style="highlight">
|
||||
<image draw_type="icon" image="backspace" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="opt:GHI" text="GHI"/>
|
||||
<button repeat="300" name="opt:JKL" text="JKL"/>
|
||||
<button repeat="300" name="opt:MNO" text="MNO"/>
|
||||
<button name="page:lower" style="highlight" text="abc"/>
|
||||
|
||||
<button repeat="300" name="opt:PQRS" text="PQRS"/>
|
||||
<button repeat="300" name="opt:TUV" text="TUV"/>
|
||||
<button repeat="300" name="opt:WXYZ" text="WXYZ"/>
|
||||
<button name="page:number" style="highlight" text="123"/>
|
||||
<button repeat="300" name="confirm_preedit" text="-->"/>
|
||||
<button repeat="300" name="space" text="Space"/>
|
||||
<button name="action" style="highlight" text="Return"/>
|
||||
<button name="page:symbols" style="highlight" text="#+="/>
|
||||
</view>
|
||||
</pages>
|
||||
<candidates x="0" y="0" w="100%" h="30"/>
|
||||
<button name="close" style="close" self_layout="default(x=r:2, y=2, w=20, h=20)" text="x" />
|
||||
</keyboard>
|
BIN
demos/assets/default/raw/ui/kb_default_t9.bin
Normal file
BIN
demos/assets/default/raw/ui/kb_default_t9.bin
Normal file
Binary file not shown.
131
demos/assets/default/raw/ui/kb_default_t9.xml
Normal file
131
demos/assets/default/raw/ui/kb_default_t9.xml
Normal file
@ -0,0 +1,131 @@
|
||||
<keyboard theme="keyboard" x="0" y="bottom" w="100%" h="40%">
|
||||
<pages x="0" y="bottom" w="100%" h="-28" active="2">
|
||||
<view name="number" x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=5,s=2,m=2)">
|
||||
<button repeat="300" name="1" text="1"/>
|
||||
<button repeat="300" name="2" text="2"/>
|
||||
<button repeat="300" name="3" text="3"/>
|
||||
<button repeat="300" name="+" text="+"/>
|
||||
<button repeat="300" name="key:backspace" style="highlight">
|
||||
<image draw_type="icon" image="backspace" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="4" text="4"/>
|
||||
<button repeat="300" name="5" text="5"/>
|
||||
<button repeat="300" name="6" text="6"/>
|
||||
<button repeat="300" name="-" text="-"/>
|
||||
<button name="page:lower" style="highlight">
|
||||
<image draw_type="icon" image="en" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="7" text="7"/>
|
||||
<button repeat="300" name="8" text="8"/>
|
||||
<button repeat="300" name="9" text="9"/>
|
||||
<button repeat="300" name="*" text="*"/>
|
||||
<button name="page:chinese" style="highlight">
|
||||
<image draw_type="icon" image="zh" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="." text="."/>
|
||||
<button repeat="300" name="0" text="0"/>
|
||||
<button repeat="300" name="%" text="%"/>
|
||||
<button repeat="300" name="/" text="/"/>
|
||||
<button name="page:symbols" style="highlight" text="#+="/>
|
||||
</view>
|
||||
<view name="symbols" x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=5,s=2,m=2)">
|
||||
<button repeat="300" name="<" text="<"/>
|
||||
<button repeat="300" name=">" text=">"/>
|
||||
<button repeat="300" name="(" text="("/>
|
||||
<button repeat="300" name=")" text=")"/>
|
||||
<button repeat="300" name="key:backspace" style="highlight">
|
||||
<image draw_type="icon" image="backspace" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="{" text="{"/>
|
||||
<button repeat="300" name="}" text="}"/>
|
||||
<button repeat="300" name="[" text="["/>
|
||||
<button repeat="300" name="]" text="]"/>
|
||||
<button name="page:lower" style="highlight">
|
||||
<image draw_type="icon" image="en" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="$" text="$"/>
|
||||
<button repeat="300" name="@" text="@"/>
|
||||
<button repeat="300" name=""a;" text=""a;"/>
|
||||
<button repeat="300" name="'" text="'"/>
|
||||
<button name="page:chinese" style="highlight">
|
||||
<image draw_type="icon" image="zh" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="#" text="#"/>
|
||||
<button repeat="300" name="=" text="="/>
|
||||
<button repeat="300" name="," text=","/>
|
||||
<button repeat="300" name="?" text="?"/>
|
||||
<button name="page:number" style="highlight" text="123"/>
|
||||
</view>
|
||||
<view name="lower" lang="en_us"
|
||||
x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=4,s=2,m=2)">
|
||||
<button repeat="300" name="," text=","/>
|
||||
<button repeat="300" name="key:2" text="abc"/>
|
||||
<button repeat="300" name="key:3" text="def"/>
|
||||
<button repeat="300" name="key:backspace" style="highlight">
|
||||
<image draw_type="icon" image="backspace" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="key:4" text="ghi"/>
|
||||
<button repeat="300" name="key:5" text="jkl"/>
|
||||
<button repeat="300" name="key:6" text="mno"/>
|
||||
<button name="page:upper" style="highlight" text="ABC"/>
|
||||
|
||||
<button repeat="300" name="key:7" text="pqrs"/>
|
||||
<button repeat="300" name="key:8" text="tuv"/>
|
||||
<button repeat="300" name="key:9" text="wxyz"/>
|
||||
<button name="page:chinese" style="highlight">
|
||||
<image draw_type="icon" image="zh" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="opt:.?!" text=".?!"/>
|
||||
<button repeat="300" name="space" text="Space"/>
|
||||
<button name="action" style="highlight" text="Return"/>
|
||||
<button name="page:number" style="highlight" text="123"/>
|
||||
</view>
|
||||
<view name="upper" x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=4,s=2,m=2)">
|
||||
<button repeat="300" name="opt:._@/#" text="._@/#"/>
|
||||
<button repeat="300" name="opt:ABC" text="ABC"/>
|
||||
<button repeat="300" name="opt:DEF" text="DEF"/>
|
||||
<button repeat="300" name="key:backspace" style="highlight">
|
||||
<image draw_type="icon" image="backspace" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="opt:GHI" text="GHI"/>
|
||||
<button repeat="300" name="opt:JKL" text="JKL"/>
|
||||
<button repeat="300" name="opt:MNO" text="MNO"/>
|
||||
<button name="page:lower" style="highlight" text="abc"/>
|
||||
|
||||
<button repeat="300" name="opt:PQRS" text="PQRS"/>
|
||||
<button repeat="300" name="opt:TUV" text="TUV"/>
|
||||
<button repeat="300" name="opt:WXYZ" text="WXYZ"/>
|
||||
<button name="page:chinese" style="highlight">
|
||||
<image draw_type="icon" image="zh" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="confirm_preedit" text="-->"/>
|
||||
<button repeat="300" name="space" text="Space"/>
|
||||
<button name="action" style="highlight" text="Return"/>
|
||||
<button name="page:number" style="highlight" text="123"/>
|
||||
</view>
|
||||
<view name="chinese" lang="zh_cn"
|
||||
x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=4,s=2,m=2)">
|
||||
<button repeat="300" name="," text=","/>
|
||||
<button repeat="300" name="key:2" text="ABC"/>
|
||||
<button repeat="300" name="key:3" text="DEF"/>
|
||||
<button repeat="300" name="key:backspace" style="highlight">
|
||||
<image draw_type="icon" image="backspace" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="key:4" text="GHI"/>
|
||||
<button repeat="300" name="key:5" text="JKL"/>
|
||||
<button repeat="300" name="key:6" text="MNO"/>
|
||||
<button name="page:lower" style="highlight" text="abc"/>
|
||||
|
||||
<button repeat="300" name="key:7" text="PQRS"/>
|
||||
<button repeat="300" name="key:8" text="TUV"/>
|
||||
<button repeat="300" name="key:9" text="WXYZ"/>
|
||||
<button name="page:symbols" style="highlight" text="#+="/>
|
||||
<button repeat="300" name="opt:。?!" text="。?!"/>
|
||||
<button repeat="300" name="space" text="Space"/>
|
||||
<button name="action" style="highlight" text="Return"/>
|
||||
<button name="page:number" style="highlight" text="123"/>
|
||||
</view>
|
||||
</pages>
|
||||
<candidates x="0" y="0" w="100%" h="30"/>
|
||||
<button name="close" style="close" self_layout="default(x=r:2, y=2, w=20, h=20)" text="x" />
|
||||
</keyboard>
|
BIN
demos/assets/default/raw/ui/kb_default_t9ext.bin
Normal file
BIN
demos/assets/default/raw/ui/kb_default_t9ext.bin
Normal file
Binary file not shown.
18
demos/assets/default/raw/ui/kb_default_t9ext.xml
Normal file
18
demos/assets/default/raw/ui/kb_default_t9ext.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<keyboard disable_anim="true" theme="keyboard" style="transparent" x="0" y="bottom" w="100%" h="78"
|
||||
move_focus_up_key="up"
|
||||
move_focus_down_key="down"
|
||||
move_focus_left_key="left"
|
||||
move_focus_right_key="right"
|
||||
grab_keys="true">
|
||||
<lang_indicator self_layout="default(x=r:2, y=0, w=48, h=20)" />
|
||||
<candidates pre="true" x="0" y="20" w="100%" h="30"
|
||||
visible="false"
|
||||
button_style="candidates_focusable"
|
||||
auto_hide="true"
|
||||
select_by_num="false"/>
|
||||
<candidates x="0" y="48" w="100%" h="30"
|
||||
visible="false"
|
||||
button_style="candidates_focusable"
|
||||
auto_hide="true"
|
||||
select_by_num="false"/>
|
||||
</keyboard>
|
@ -47,12 +47,15 @@ extern TK_CONST_DATA_ALIGN(const unsigned char ui_digit_clock[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_scroll_bar[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_lua[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_linear_gradient[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_kb_t9[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_preload[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_images[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_soft_keyboard[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_edit[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_menu_up_left[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_locale[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_kb_ascii_t9[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_kb_default_t9[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_kb_int[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_tab_control[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_slide_view_v2[]);
|
||||
@ -65,6 +68,7 @@ extern TK_CONST_DATA_ALIGN(const unsigned char ui_color_picker[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_switch[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_back_to_home[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_menu_right_middle[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_kb_default_t9ext[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_dragger[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_dialog2[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char ui_color_picker_hsv[]);
|
||||
@ -442,7 +446,7 @@ extern TK_CONST_DATA_ALIGN(const unsigned char image_girl[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char font_ap[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char font_default_full[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char font_default[]);
|
||||
#else /*WITH_STB_FONT or WITH_FT_FONT*/
|
||||
#else/*WITH_STB_FONT or WITH_FT_FONT*/
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char font_default_20[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char font_default_16[]);
|
||||
extern TK_CONST_DATA_ALIGN(const unsigned char font_default_18[]);
|
||||
@ -506,12 +510,15 @@ ret_t assets_init_dark(void) {
|
||||
assets_manager_add(am, ui_scroll_bar);
|
||||
assets_manager_add(am, ui_lua);
|
||||
assets_manager_add(am, ui_linear_gradient);
|
||||
assets_manager_add(am, ui_kb_t9);
|
||||
assets_manager_add(am, ui_preload);
|
||||
assets_manager_add(am, ui_images);
|
||||
assets_manager_add(am, ui_soft_keyboard);
|
||||
assets_manager_add(am, ui_edit);
|
||||
assets_manager_add(am, ui_menu_up_left);
|
||||
assets_manager_add(am, ui_locale);
|
||||
assets_manager_add(am, ui_kb_ascii_t9);
|
||||
assets_manager_add(am, ui_kb_default_t9);
|
||||
assets_manager_add(am, ui_kb_int);
|
||||
assets_manager_add(am, ui_tab_control);
|
||||
assets_manager_add(am, ui_slide_view_v2);
|
||||
@ -524,6 +531,7 @@ ret_t assets_init_dark(void) {
|
||||
assets_manager_add(am, ui_switch);
|
||||
assets_manager_add(am, ui_back_to_home);
|
||||
assets_manager_add(am, ui_menu_right_middle);
|
||||
assets_manager_add(am, ui_kb_default_t9ext);
|
||||
assets_manager_add(am, ui_dragger);
|
||||
assets_manager_add(am, ui_dialog2);
|
||||
assets_manager_add(am, ui_color_picker_hsv);
|
||||
@ -756,7 +764,7 @@ ret_t assets_init_dark(void) {
|
||||
assets_manager_add(am, font_ap);
|
||||
assets_manager_add(am, font_default_full);
|
||||
assets_manager_add(am, font_default);
|
||||
#else /*WITH_STB_FONT or WITH_FT_FONT*/
|
||||
#else /*WITH_STB_FONT or WITH_FT_FONT*/
|
||||
assets_manager_add(am, font_default_20);
|
||||
assets_manager_add(am, font_default_16);
|
||||
assets_manager_add(am, font_default_18);
|
||||
|
@ -47,12 +47,15 @@
|
||||
#include "assets/default/inc/ui/scroll_bar.data"
|
||||
#include "assets/default/inc/ui/lua.data"
|
||||
#include "assets/default/inc/ui/linear_gradient.data"
|
||||
#include "assets/default/inc/ui/kb_t9.data"
|
||||
#include "assets/default/inc/ui/preload.data"
|
||||
#include "assets/default/inc/ui/images.data"
|
||||
#include "assets/default/inc/ui/soft_keyboard.data"
|
||||
#include "assets/default/inc/ui/edit.data"
|
||||
#include "assets/default/inc/ui/menu_up_left.data"
|
||||
#include "assets/default/inc/ui/locale.data"
|
||||
#include "assets/default/inc/ui/kb_ascii_t9.data"
|
||||
#include "assets/default/inc/ui/kb_default_t9.data"
|
||||
#include "assets/default/inc/ui/kb_int.data"
|
||||
#include "assets/default/inc/ui/tab_control.data"
|
||||
#include "assets/default/inc/ui/slide_view_v2.data"
|
||||
@ -65,6 +68,7 @@
|
||||
#include "assets/default/inc/ui/switch.data"
|
||||
#include "assets/default/inc/ui/back_to_home.data"
|
||||
#include "assets/default/inc/ui/menu_right_middle.data"
|
||||
#include "assets/default/inc/ui/kb_default_t9ext.data"
|
||||
#include "assets/default/inc/ui/dragger.data"
|
||||
#include "assets/default/inc/ui/dialog2.data"
|
||||
#include "assets/default/inc/ui/color_picker_hsv.data"
|
||||
@ -442,7 +446,7 @@
|
||||
#include "assets/default/inc/fonts/ap.res"
|
||||
#include "assets/default/inc/fonts/default_full.res"
|
||||
#include "assets/default/inc/fonts/default.res"
|
||||
#else /*WITH_STB_FONT or WITH_FT_FONT*/
|
||||
#else/*WITH_STB_FONT or WITH_FT_FONT*/
|
||||
#include "assets/default/inc/fonts/default_20.data"
|
||||
#include "assets/default/inc/fonts/default_16.data"
|
||||
#include "assets/default/inc/fonts/default_18.data"
|
||||
@ -506,12 +510,15 @@ ret_t assets_init_default(void) {
|
||||
assets_manager_add(am, ui_scroll_bar);
|
||||
assets_manager_add(am, ui_lua);
|
||||
assets_manager_add(am, ui_linear_gradient);
|
||||
assets_manager_add(am, ui_kb_t9);
|
||||
assets_manager_add(am, ui_preload);
|
||||
assets_manager_add(am, ui_images);
|
||||
assets_manager_add(am, ui_soft_keyboard);
|
||||
assets_manager_add(am, ui_edit);
|
||||
assets_manager_add(am, ui_menu_up_left);
|
||||
assets_manager_add(am, ui_locale);
|
||||
assets_manager_add(am, ui_kb_ascii_t9);
|
||||
assets_manager_add(am, ui_kb_default_t9);
|
||||
assets_manager_add(am, ui_kb_int);
|
||||
assets_manager_add(am, ui_tab_control);
|
||||
assets_manager_add(am, ui_slide_view_v2);
|
||||
@ -524,6 +531,7 @@ ret_t assets_init_default(void) {
|
||||
assets_manager_add(am, ui_switch);
|
||||
assets_manager_add(am, ui_back_to_home);
|
||||
assets_manager_add(am, ui_menu_right_middle);
|
||||
assets_manager_add(am, ui_kb_default_t9ext);
|
||||
assets_manager_add(am, ui_dragger);
|
||||
assets_manager_add(am, ui_dialog2);
|
||||
assets_manager_add(am, ui_color_picker_hsv);
|
||||
@ -756,7 +764,7 @@ ret_t assets_init_default(void) {
|
||||
assets_manager_add(am, font_ap);
|
||||
assets_manager_add(am, font_default_full);
|
||||
assets_manager_add(am, font_default);
|
||||
#else /*WITH_STB_FONT or WITH_FT_FONT*/
|
||||
#else /*WITH_STB_FONT or WITH_FT_FONT*/
|
||||
assets_manager_add(am, font_default_20);
|
||||
assets_manager_add(am, font_default_16);
|
||||
assets_manager_add(am, font_default_18);
|
||||
|
@ -1,7 +1,9 @@
|
||||
# 最新动态
|
||||
|
||||
* 2020/04/20
|
||||
* 完善 tab button,允许兄弟控件中存在非tab button控件。
|
||||
* 完善 tab button,允许兄弟控件中存在非 tab button 控件。
|
||||
* 增加触屏版 T9 输入引擎。
|
||||
* 增加按键版 T9 输入引擎。
|
||||
|
||||
* 2020/04/19
|
||||
* 修改 strgen 中处理注释的 BUG(感谢大恒提供补丁)。
|
||||
|
BIN
docs/images/t9_1.gif
Normal file
BIN
docs/images/t9_1.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 499 KiB |
212
docs/t9_notes.md
Normal file
212
docs/t9_notes.md
Normal file
@ -0,0 +1,212 @@
|
||||
# T9 输入法笔记(触屏版)
|
||||
|
||||
## 1. T9 输入法的中文字典数据
|
||||
|
||||
网上可以找到 T9 输入法的中文字典数据,但是通常有两个问题:
|
||||
|
||||
* 采用 GPL 协议,不太适合加入 AWTK。
|
||||
|
||||
* 只支持单个汉字的输入,不支持词组的输入。
|
||||
|
||||
经过考虑之后,决定自己生成 T9 输入法的中文字典数据。AWTK 使用了谷歌拼音输入法作为缺省的拼音输入法,谷歌拼音输入法的字典数据质量还是不错的,写一个工具把谷歌拼音输入法的字典数据转换为 T9 输入法的中文字典数据即可。
|
||||
|
||||
谷歌拼音输入法的字典数据原始格式为:
|
||||
|
||||
```
|
||||
汉字 频率 简体/繁体标志 拼音
|
||||
```
|
||||
|
||||
如:
|
||||
|
||||
```
|
||||
中 243213.912993 0 zhong
|
||||
```
|
||||
|
||||
转换工具要做的事情的是:
|
||||
|
||||
* 把拼音转换成对应的数字。比 zhong 对应的是 83553。
|
||||
|
||||
* 生成适合查询的格式。本来想复用谷歌拼音输入的引擎,但是没有成功,最后决定自己写程序来查询。
|
||||
|
||||
转换工具完整的代码请参考:awtk/tools/t9_gen/to_t9_zh.js
|
||||
|
||||
> 如果需要对字典进行裁剪,可以先编辑原始数据,然后重新生成数据。
|
||||
|
||||
## 2. T9 输入法的英文字典数据
|
||||
|
||||
要生成英文字典数据,获取一个英文单词列表,并且按照单词的使用频率进行排序。找 [github](https://github.com/first20hours/google-10000-english.git) 上找到了这样的数据。
|
||||
|
||||
同样需要写个小工具,把该数据转成生成适合查询的格式。
|
||||
|
||||
转换工具完整的代码请参考:awtk/tools/t9_gen/to_t9_en.js
|
||||
|
||||
> 该工具应该同样适用于其它西文语言。
|
||||
|
||||
## 3. 对键盘、输入法框架和编辑器进行改进
|
||||
|
||||
为了支持 T9 输入法,需要对键盘、输入法框架和编辑器进行改进。
|
||||
|
||||
> 随便提一下,SOLID 原则中的开闭原则通常只存在于理想(简单)情况下,一种切实可行的方法是,在早期设计时要考虑将来的扩展,但也无需过度设计,而是每次扩展时都对框架进行完善,让它更适应于将来的扩展。
|
||||
|
||||
### 3.1 支持语言切换
|
||||
|
||||
同样是在中文环境下,你可能需要输入中文,也可能需要输入英文。在中文键盘下输入中文,在英文键盘下输入英文。 在键盘切换时需要让输入法引擎知道当前的语言。
|
||||
|
||||
#### 3.1.1 键盘
|
||||
|
||||
如果需要切换语言,可以给键盘的页面设置一个 lang 属性,用于标识改键盘的语言,切换到该页面时,自动设置输入法引擎的语言。
|
||||
|
||||
如:
|
||||
|
||||
```xml
|
||||
<view name="chinese" lang="zh_cn"
|
||||
x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=4,s=2,m=2)">
|
||||
<button repeat="300" name="," text=","/>
|
||||
<button repeat="300" name="key:1" text="ABC"/>
|
||||
<button repeat="300" name="key:2" text="DEF"/>
|
||||
<button repeat="300" name="key:backspace" style="highlight">
|
||||
<image draw_type="icon" image="backspace" x="center" y="middle" w="100%" h="100%"/>
|
||||
</button>
|
||||
<button repeat="300" name="key:3" text="GHI"/>
|
||||
<button repeat="300" name="key:4" text="JKL"/>
|
||||
<button repeat="300" name="key:5" text="MNO"/>
|
||||
<button name="page:lower" style="highlight" text="abc"/>
|
||||
|
||||
<button repeat="300" name="key:6" text="PQRS"/>
|
||||
<button repeat="300" name="key:7" text="TUV"/>
|
||||
<button repeat="300" name="key:8" text="WXYZ"/>
|
||||
<button name="page:symbols" style="highlight" text="#+="/>
|
||||
<button repeat="300" name="opt:。?!" text="。?!"/>
|
||||
<button repeat="300" name="space" text="Space"/>
|
||||
<button name="action" style="highlight" text="Return"/>
|
||||
<button name="page:number" style="highlight" text="123"/>
|
||||
</view>
|
||||
```
|
||||
|
||||
在切换键盘时,如果存在 lang 属性,将其设置到输入法。
|
||||
|
||||
```c
|
||||
value_t v;
|
||||
widget_t* active = widget_get_child(iter, widget_get_value(iter));
|
||||
|
||||
if (widget_get_prop(active, WIDGET_PROP_IM_LANG, &v) == RET_OK) {
|
||||
input_method_set_lang(input_method(), value_str(&v));
|
||||
}
|
||||
```
|
||||
|
||||
#### 3.1.2 输入法提供设置语言的函数
|
||||
|
||||
```c
|
||||
/**
|
||||
* @method input_method_set_lang
|
||||
* 设置语言。
|
||||
*
|
||||
* > 有的输入法,同时支持输入多种语言。
|
||||
* > 比如 T9,可以同时支持中文和英文输入,配合软键盘随时切换输入的语言。
|
||||
*
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
* @param {const char*} lang 语言。
|
||||
*
|
||||
* @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_method_set_lang(input_method_t* im, const char* lang);
|
||||
```
|
||||
|
||||
#### 3.1.3 输入法引擎提供设置语言的函数
|
||||
|
||||
```c
|
||||
/**
|
||||
* @engine input_engine_set_lang
|
||||
* 设置语言。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_engine_t*} engine 输入法引擎对象。
|
||||
* @param {const char*} lang 语言。
|
||||
*
|
||||
* @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_engine_set_lang(input_engine_t* engine, const char* lang);
|
||||
|
||||
```
|
||||
|
||||
### 3.2 支持预编辑状态 (preedit)
|
||||
|
||||
预编辑状态是在文本真正提交到编辑器之前的状态,在预编辑状态下输入的文本,可以被后面的输入覆盖。比如软键盘上,一个按键有 ABC 三个字符,按一下输入 A,再按一下输入 B,继续按钮输入 C,在指定时间内没有按,则提交当前的字符到编辑器。
|
||||
|
||||
![](images/t9_1.gif)
|
||||
|
||||
#### 3.2.1 软键盘
|
||||
|
||||
键盘的按钮名称以"opt:"开头的按钮,表示这个按钮需要预编辑处理。为了支持预编辑输入,软键盘在按钮事件处理函数中,要做下列处理:
|
||||
|
||||
* 当前不在预编辑状态时,则进入预编辑状态,并启动定时器,把当前字符的序数设置为 0,并提交字符到编辑器。
|
||||
|
||||
* 当前在预编辑状态,更新定时器,把字符的序数设置为下一个,并提交字符到编辑器。
|
||||
|
||||
* 定时器超时或点击其它按钮,退出预编辑。
|
||||
|
||||
> 详情参考函数:keyboard\_on\_button\_click
|
||||
|
||||
#### 3.2.2 输入法
|
||||
|
||||
输入法需要提供几个函数用于中转消息:
|
||||
|
||||
```c
|
||||
/**
|
||||
* @method input_method_dispatch_preedit
|
||||
* 分发进入预编辑状态的事件。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
*
|
||||
* @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_method_dispatch_preedit(input_method_t* im);
|
||||
|
||||
/**
|
||||
* @method input_method_dispatch_preedit_confirm
|
||||
* 分发确认预编辑状态的事件(提交预编辑内容,退出预编辑状态)。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
*
|
||||
* @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_method_dispatch_preedit_confirm(input_method_t* im);
|
||||
|
||||
/**
|
||||
* @method input_method_dispatch_preedit_abort
|
||||
* 分发取消预编辑状态的事件(提交预编辑内容,退出预编辑状态)。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
*
|
||||
* @return {ret_t} 返回 RET_OK 表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_method_dispatch_preedit_abort(input_method_t* im);
|
||||
|
||||
```
|
||||
|
||||
#### 3.2.3 编辑器
|
||||
|
||||
编辑器需要处理相关事件:
|
||||
|
||||
```c
|
||||
case EVT_IM_PREEDIT: {
|
||||
text_edit_preedit(edit->model);
|
||||
break;
|
||||
}
|
||||
case EVT_IM_PREEDIT_CONFIRM: {
|
||||
text_edit_preedit_confirm(edit->model);
|
||||
break;
|
||||
}
|
||||
case EVT_IM_PREEDIT_ABORT: {
|
||||
text_edit_preedit_abort(edit->model);
|
||||
break;
|
||||
}
|
||||
```
|
||||
|
||||
>具体请参考:edit.c/mledit.c
|
||||
|
||||
## 4. T9 输入法引擎的实现
|
||||
|
||||
T9 输入法引擎的实现很简单,不到 300 行代码。查找算法为:先精确查找,如果找到,将其添加到候选字列表中,否则使用前缀查找,在满足前缀的候选字中,挑选词频最高的,放到候选字列表中。
|
||||
|
||||
> 详情参考:input_engine_t9.c/t9.c
|
@ -62,6 +62,15 @@ else:
|
||||
|
||||
if os.environ['INPUT_ENGINE'] == 'null':
|
||||
BASE_SOURCES += Glob('input_engines/input_engine_null.c')
|
||||
elif os.environ['INPUT_ENGINE'] == 't9ext':
|
||||
BASE_SOURCES += Glob('input_engines/ime_utils.c')
|
||||
BASE_SOURCES += Glob('input_engines/input_engine_t9ext.c')
|
||||
elif os.environ['INPUT_ENGINE'] == 't9':
|
||||
BASE_SOURCES += Glob('input_engines/ime_utils.c')
|
||||
BASE_SOURCES += Glob('input_engines/input_engine_t9.c')
|
||||
elif os.environ['INPUT_ENGINE'] == 'spinyin':
|
||||
BASE_SOURCES += Glob('input_engines/ime_utils.c')
|
||||
BASE_SOURCES += Glob('input_engines/input_engine_spinyin.c')
|
||||
else:
|
||||
BASE_SOURCES += Glob('input_engines/input_engine_pinyin.cpp')
|
||||
|
||||
|
@ -290,11 +290,40 @@ typedef enum _event_type_t {
|
||||
* 输入法提交输入的文本事件(im_commit_event_t)。
|
||||
*/
|
||||
EVT_IM_COMMIT,
|
||||
/**
|
||||
* @const EVT_IM_PREEDIT
|
||||
* 进入预编辑状态(event_t)。
|
||||
*/
|
||||
EVT_IM_PREEDIT,
|
||||
|
||||
/**
|
||||
* @const EVT_IM_PREEDIT_CONFIRM
|
||||
* 确认预编辑内容,退出预编辑状态(event_t)。
|
||||
*/
|
||||
EVT_IM_PREEDIT_CONFIRM,
|
||||
|
||||
/**
|
||||
* @const EVT_IM_PREEDIT_ABORT
|
||||
* 删除预编辑内容,退出预编辑状态event_t)。
|
||||
*/
|
||||
EVT_IM_PREEDIT_ABORT,
|
||||
|
||||
/**
|
||||
* @const EVT_IM_SHOW_CANDIDATES
|
||||
* 输入法请求显示候选字事件(im_candidates_event_t)。
|
||||
*/
|
||||
EVT_IM_SHOW_CANDIDATES,
|
||||
|
||||
/**
|
||||
* @const EVT_IM_SHOW_PRE_CANDIDATES
|
||||
* 输入法请求显示预候选字事件(im_candidates_event_t)。
|
||||
*/
|
||||
EVT_IM_SHOW_PRE_CANDIDATES,
|
||||
/**
|
||||
* @const EVT_IM_LANG_CHANGED
|
||||
* 输入法语言改变事件(event_t)。
|
||||
*/
|
||||
EVT_IM_LANG_CHANGED,
|
||||
/**
|
||||
* @const EVT_IM_ACTION
|
||||
* 软键盘Action点击事件(event_t)。
|
||||
|
@ -36,6 +36,47 @@ ret_t input_engine_reset_input(input_engine_t* engine) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret_t input_engine_set_lang(input_engine_t* engine, const char* lang) {
|
||||
ret_t ret = RET_OK;
|
||||
return_value_if_fail(engine != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (engine->set_lang) {
|
||||
ret = engine->set_lang(engine, lang);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
const char* input_engine_get_lang(input_engine_t* engine) {
|
||||
return_value_if_fail(engine != NULL, NULL);
|
||||
|
||||
if (engine->get_lang) {
|
||||
return engine->get_lang(engine);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ret_t input_engine_search(input_engine_t* engine, const char* keys) {
|
||||
return_value_if_fail(engine != NULL && engine->search != NULL && keys != NULL, RET_BAD_PARAMS);
|
||||
|
||||
return engine->search(engine, keys);
|
||||
}
|
||||
|
||||
static ret_t input_engine_append_char(input_engine_t* engine, int key) {
|
||||
if (key == TK_KEY_TAB || key == TK_KEY_LEFT || key == TK_KEY_RIGHT || key == TK_KEY_UP ||
|
||||
key == TK_KEY_DOWN || key == TK_KEY_PAGEUP || key == TK_KEY_PAGEDOWN ||
|
||||
key == TK_KEY_RETURN || key == TK_KEY_CANCEL) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
if (isprint(key)) {
|
||||
str_append_char(&(engine->keys), (char)key);
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
ret_t input_engine_input(input_engine_t* engine, int key) {
|
||||
ret_t ret = RET_OK;
|
||||
return_value_if_fail(engine != NULL, RET_BAD_PARAMS);
|
||||
@ -45,6 +86,7 @@ ret_t input_engine_input(input_engine_t* engine, int key) {
|
||||
engine->keys.size--;
|
||||
engine->keys.str[engine->keys.size] = '\0';
|
||||
} else {
|
||||
input_engine_reset_input(engine);
|
||||
return RET_FAIL;
|
||||
}
|
||||
} else {
|
||||
@ -52,11 +94,19 @@ ret_t input_engine_input(input_engine_t* engine, int key) {
|
||||
return RET_BAD_PARAMS;
|
||||
}
|
||||
|
||||
str_append_char(&(engine->keys), (char)key);
|
||||
if (engine->input != NULL) {
|
||||
if (engine->input(engine, key) == RET_OK) {
|
||||
input_engine_append_char(engine, key);
|
||||
} else {
|
||||
return RET_FAIL;
|
||||
}
|
||||
} else {
|
||||
input_engine_append_char(engine, key);
|
||||
}
|
||||
}
|
||||
|
||||
if (engine->input) {
|
||||
ret = engine->input(engine, key);
|
||||
if (engine->search) {
|
||||
ret = engine->search(engine, engine->keys.str);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -23,17 +23,18 @@
|
||||
#define TK_INPUT_ENGINE_H
|
||||
|
||||
#include "tkc/str.h"
|
||||
#include "base/types_def.h"
|
||||
|
||||
BEGIN_C_DECLS
|
||||
|
||||
struct _input_engine_t;
|
||||
typedef struct _input_engine_t input_engine_t;
|
||||
|
||||
typedef ret_t (*input_engine_search_t)(input_engine_t* engine, const char* keys);
|
||||
typedef ret_t (*input_engine_reset_input_t)(input_engine_t* engine);
|
||||
typedef ret_t (*input_engine_input_t)(input_engine_t* engine, int key);
|
||||
typedef ret_t (*input_engine_set_lang_t)(input_engine_t* engine, const char* lang);
|
||||
typedef const char* (*input_engine_get_lang_t)(input_engine_t* engine);
|
||||
|
||||
#define TK_IM_MAX_INPUT_CHARS 11
|
||||
#define TK_IM_MAX_CANDIDATE_CHARS 127
|
||||
#define TK_IM_MAX_INPUT_CHARS 15
|
||||
#define TK_IM_MAX_CANDIDATE_CHARS 255
|
||||
|
||||
/**
|
||||
* @class input_engine_t
|
||||
@ -75,17 +76,25 @@ struct _input_engine_t {
|
||||
|
||||
/*具体实现需要实现的函数*/
|
||||
input_engine_input_t input;
|
||||
input_engine_search_t search;
|
||||
input_engine_set_lang_t set_lang;
|
||||
input_engine_get_lang_t get_lang;
|
||||
input_engine_reset_input_t reset_input;
|
||||
|
||||
/*private*/
|
||||
input_method_t* im;
|
||||
char lang[TK_NAME_LEN + 1];
|
||||
};
|
||||
|
||||
/**
|
||||
* @method input_engine_create
|
||||
* @annotation ["constructor"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
* 创建输入法引擎对象。
|
||||
*
|
||||
* @return {input_engine_t*} 返回输入法引擎对象。
|
||||
*/
|
||||
input_engine_t* input_engine_create(void);
|
||||
input_engine_t* input_engine_create(input_method_t* im);
|
||||
|
||||
/**
|
||||
* @method input_engine_destroy
|
||||
@ -106,6 +115,32 @@ ret_t input_engine_destroy(input_engine_t* engine);
|
||||
*/
|
||||
ret_t input_engine_reset_input(input_engine_t* engine);
|
||||
|
||||
/**
|
||||
* @engine input_engine_set_lang
|
||||
* 设置语言。
|
||||
* > 有时在同一种语言环境下,也需要输入多种文字,典型的情况是同时输入中文和英文。
|
||||
* > 比如T9输入法,可以同时支持中文和英文输入,配合软键盘随时切换输入的语言。
|
||||
* > 数字、小写字母、大写字母和符合也可以视为输入的语言。
|
||||
* > 主要用于提示输入法引擎选择适当的输入方法。
|
||||
*
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_engine_t*} engine 输入法引擎对象。
|
||||
* @param {const char*} lang 语言。格式为语言+国家/地区码。如:zh_cn和en_us等。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_engine_set_lang(input_engine_t* engine, const char* lang);
|
||||
|
||||
/**
|
||||
* @engine input_engine_get_lang
|
||||
* 获取语言。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_engine_t*} engine 输入法引擎对象。
|
||||
*
|
||||
* @return {const char*} 返回语言。
|
||||
*/
|
||||
const char* input_engine_get_lang(input_engine_t* engine);
|
||||
|
||||
/**
|
||||
* @method input_engine_input
|
||||
* 输入新的按键,并更新候选字。
|
||||
@ -116,6 +151,16 @@ ret_t input_engine_reset_input(input_engine_t* engine);
|
||||
*/
|
||||
ret_t input_engine_input(input_engine_t* engine, int key);
|
||||
|
||||
/**
|
||||
* @method input_engine_search
|
||||
* 根据按键组合,更新候选字,并通过输入法对象提交候选字和pre候选字。
|
||||
* @param {input_engine_t*} engine 输入法引擎对象。
|
||||
* @param {const char*} keys 按键组合。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_engine_search(input_engine_t* engine, const char* keys);
|
||||
|
||||
END_C_DECLS
|
||||
|
||||
#endif /*TK_INPUT_ENGINE_H*/
|
||||
|
@ -29,6 +29,24 @@ ret_t input_method_dispatch(input_method_t* im, event_t* e) {
|
||||
return emitter_dispatch(&(im->emitter), e);
|
||||
}
|
||||
|
||||
ret_t input_method_dispatch_preedit(input_method_t* im) {
|
||||
event_t e = event_init(EVT_IM_PREEDIT, im);
|
||||
|
||||
return input_method_dispatch_to_widget(im, &e);
|
||||
}
|
||||
|
||||
ret_t input_method_dispatch_preedit_confirm(input_method_t* im) {
|
||||
event_t e = event_init(EVT_IM_PREEDIT_CONFIRM, im);
|
||||
|
||||
return input_method_dispatch_to_widget(im, &e);
|
||||
}
|
||||
|
||||
ret_t input_method_dispatch_preedit_abort(input_method_t* im) {
|
||||
event_t e = event_init(EVT_IM_PREEDIT_ABORT, im);
|
||||
|
||||
return input_method_dispatch_to_widget(im, &e);
|
||||
}
|
||||
|
||||
ret_t input_method_dispatch_to_widget(input_method_t* im, event_t* e) {
|
||||
return_value_if_fail(im != NULL && im->widget != NULL && e != NULL, RET_BAD_PARAMS);
|
||||
|
||||
@ -113,28 +131,49 @@ static ret_t input_method_dispatch_key_only(input_method_t* im, uint32_t key) {
|
||||
ret_t input_method_dispatch_key(input_method_t* im, uint32_t key) {
|
||||
return_value_if_fail(im != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (key == TK_KEY_TAB || key == TK_KEY_LEFT || key == TK_KEY_RIGHT || key == TK_KEY_UP ||
|
||||
key == TK_KEY_DOWN || key == TK_KEY_PAGEUP || key == TK_KEY_PAGEDOWN ||
|
||||
key == TK_KEY_RETURN || key == TK_KEY_CANCEL) {
|
||||
return input_method_dispatch_key_only(im, key);
|
||||
}
|
||||
|
||||
if (im->engine != NULL) {
|
||||
if (input_engine_input(im->engine, (char)key) == RET_OK) {
|
||||
input_method_dispatch_candidates(im, (const char*)(im->engine->candidates),
|
||||
im->engine->candidates_nr);
|
||||
|
||||
return RET_OK;
|
||||
} else {
|
||||
if (key != TK_KEY_BACKSPACE && key != TK_KEY_DELETE) {
|
||||
return RET_FAIL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return input_method_dispatch_key_only(im, key);
|
||||
}
|
||||
|
||||
ret_t input_method_dispatch_keys(input_method_t* im, const char* keys) {
|
||||
return_value_if_fail(im != NULL && keys != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (im->engine != NULL) {
|
||||
return input_engine_search(im->engine, keys);
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
ret_t input_method_set_lang(input_method_t* im, const char* lang) {
|
||||
return_value_if_fail(im != NULL, RET_BAD_PARAMS);
|
||||
if (im->engine != NULL) {
|
||||
if (input_engine_set_lang(im->engine, lang) == RET_OK) {
|
||||
event_t e = event_init(EVT_IM_LANG_CHANGED, im);
|
||||
input_method_dispatch(im, &e);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
}
|
||||
|
||||
return RET_FAIL;
|
||||
}
|
||||
|
||||
const char* input_method_get_lang(input_method_t* im) {
|
||||
return_value_if_fail(im != NULL, NULL);
|
||||
|
||||
if (im->engine != NULL) {
|
||||
return input_engine_get_lang(im->engine);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ret_t input_method_dispatch_candidates(input_method_t* im, const char* strs, uint32_t nr) {
|
||||
im_candidates_event_t ce;
|
||||
|
||||
@ -145,6 +184,18 @@ ret_t input_method_dispatch_candidates(input_method_t* im, const char* strs, uin
|
||||
return input_method_dispatch(im, (event_t*)(&ce));
|
||||
}
|
||||
|
||||
ret_t input_method_dispatch_pre_candidates(input_method_t* im, const char* strs, uint32_t nr,
|
||||
int32_t selected) {
|
||||
im_candidates_event_t ce;
|
||||
|
||||
ce.e = event_init(EVT_IM_SHOW_PRE_CANDIDATES, im);
|
||||
ce.candidates_nr = nr;
|
||||
ce.candidates = strs;
|
||||
ce.selected = selected;
|
||||
|
||||
return input_method_dispatch(im, (event_t*)(&ce));
|
||||
}
|
||||
|
||||
ret_t input_method_commit_text_ex(input_method_t* im, bool_t replace, const char* text) {
|
||||
im_commit_event_t e;
|
||||
return_value_if_fail(im != NULL && text != NULL, RET_BAD_PARAMS);
|
||||
|
@ -28,9 +28,6 @@
|
||||
|
||||
BEGIN_C_DECLS
|
||||
|
||||
struct _input_method_t;
|
||||
typedef struct _input_method_t input_method_t;
|
||||
|
||||
typedef ret_t (*input_method_request_t)(input_method_t* im, widget_t* widget);
|
||||
typedef ret_t (*input_method_destroy_t)(input_method_t* im);
|
||||
|
||||
@ -118,6 +115,7 @@ typedef struct _im_commit_event_t {
|
||||
* 是否替换原来的文本。
|
||||
*/
|
||||
bool_t replace;
|
||||
|
||||
} im_commit_event_t;
|
||||
|
||||
/**
|
||||
@ -161,6 +159,13 @@ typedef struct _im_candidates_event_t {
|
||||
* 可选的文本的个数。
|
||||
*/
|
||||
uint32_t candidates_nr;
|
||||
|
||||
/**
|
||||
* @property {int32_t} selected;
|
||||
* @annotation ["readable"]
|
||||
* 缺省选中某个候选字,小余0不选择任何候选字 。
|
||||
*/
|
||||
int32_t selected;
|
||||
} im_candidates_event_t;
|
||||
|
||||
/**
|
||||
@ -341,12 +346,40 @@ ret_t input_method_dispatch_action(input_method_t* im);
|
||||
* 提交输入文本。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
* @param {char*} text 文本。
|
||||
* @param {const char*} text 文本。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_method_commit_text(input_method_t* im, const char* text);
|
||||
|
||||
/**
|
||||
* @method input_method_set_lang
|
||||
* 设置语言。
|
||||
*
|
||||
* > 有时在同一种语言环境下,也需要输入多种文字,典型的情况是同时输入中文和英文。
|
||||
* > 比如T9输入法,可以同时支持中文和英文输入,配合软键盘随时切换输入的语言。
|
||||
* > 数字、小写字母、大写字母和符合也可以视为输入的语言。
|
||||
* > 主要用于提示输入法引擎选择适当的输入方法。
|
||||
*
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
* @param {const char*} lang 语言。格式为语言+国家/地区码。如:zh_cn和en_us等。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_method_set_lang(input_method_t* im, const char* lang);
|
||||
|
||||
/**
|
||||
* @method input_method_get_lang
|
||||
* 获取语言。
|
||||
*
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
*
|
||||
* @return {const char*} 返回语言。
|
||||
*/
|
||||
const char* input_method_get_lang(input_method_t* im);
|
||||
|
||||
/**
|
||||
* @method input_method_commit_text_ex
|
||||
* 提交输入文本。
|
||||
@ -369,6 +402,47 @@ ret_t input_method_commit_text_ex(input_method_t* im, bool_t replace, const char
|
||||
*/
|
||||
ret_t input_method_dispatch_key(input_method_t* im, uint32_t key);
|
||||
|
||||
/**
|
||||
* @method input_method_dispatch_keys
|
||||
* 提交按键。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
* @param {uint32_t} key 键值。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_method_dispatch_keys(input_method_t* im, const char* keys);
|
||||
|
||||
/**
|
||||
* @method input_method_dispatch_preedit
|
||||
* 分发进入预编辑状态的事件。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_method_dispatch_preedit(input_method_t* im);
|
||||
|
||||
/**
|
||||
* @method input_method_dispatch_preedit_confirm
|
||||
* 分发确认预编辑状态的事件(提交预编辑内容,退出预编辑状态)。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_method_dispatch_preedit_confirm(input_method_t* im);
|
||||
|
||||
/**
|
||||
* @method input_method_dispatch_preedit_abort
|
||||
* 分发取消预编辑状态的事件(提交预编辑内容,退出预编辑状态)。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_method_dispatch_preedit_abort(input_method_t* im);
|
||||
|
||||
/**
|
||||
* @method input_method_dispatch_candidates
|
||||
* 请求显示候选字。
|
||||
@ -380,6 +454,23 @@ ret_t input_method_dispatch_key(input_method_t* im, uint32_t key);
|
||||
*/
|
||||
ret_t input_method_dispatch_candidates(input_method_t* im, const char* strs, uint32_t nr);
|
||||
|
||||
/**
|
||||
* @method input_method_dispatch_pre_candidates
|
||||
* 请求显示预候选字。
|
||||
*
|
||||
* > 预候选字: 在有的输入法中,比如T9硬键盘输入时,按下12两个键时,预候选字会显示可用的拼音列表。
|
||||
* > 从预候选字列表中选择拼音,再查询拼音对应的候选字列表。
|
||||
*
|
||||
* @param {input_method_t*} im 输入法对象。
|
||||
* @param {char*} strs 候选字列表。
|
||||
* @param {uint32_t} nr 候选字个数。
|
||||
* @param {int32_t} selected 缺省选中候选字的序数。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t input_method_dispatch_pre_candidates(input_method_t* im, const char* strs, uint32_t nr,
|
||||
int32_t selected);
|
||||
|
||||
/**
|
||||
* @method input_method_create
|
||||
* 创建输入法对象。在具体实现中实现。
|
||||
@ -416,8 +507,17 @@ input_method_t* input_method(void);
|
||||
*/
|
||||
ret_t input_method_set(input_method_t* im);
|
||||
|
||||
/*public for internal use*/
|
||||
event_t* im_commit_event_init(im_commit_event_t* e, const char* text, bool_t replace);
|
||||
|
||||
#define IM_LANG_DIGIT "123"
|
||||
#define IM_LANG_LOWER "abc"
|
||||
#define IM_LANG_UPPER "ABC"
|
||||
#define IM_LANG_SYMBOL "sym"
|
||||
#define IM_LANG_EN_US "en_us"
|
||||
#define IM_LANG_ZH_CN "zh_cn"
|
||||
#define IM_LANG_ZH_TW "zh_tw"
|
||||
|
||||
END_C_DECLS
|
||||
|
||||
#endif /*TK_INPUT_METHOD_H*/
|
||||
|
@ -106,12 +106,6 @@ static ret_t suggest_words_update(suggest_words_t* suggest_words, const uint8_t*
|
||||
}
|
||||
}
|
||||
|
||||
if (suggest_words->words_nr < 5) {
|
||||
if (wbuffer_write_string(&wb, "的") == RET_OK) {
|
||||
suggest_words->words_nr++;
|
||||
}
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
|
@ -85,6 +85,9 @@ typedef struct _text_edit_impl_t {
|
||||
uint32_t last_line_number;
|
||||
text_layout_info_t layout_info;
|
||||
|
||||
bool_t preedit;
|
||||
uint32_t preedit_chars_nr;
|
||||
|
||||
/*for single line edit*/
|
||||
wchar_t mask_char;
|
||||
bool_t mask;
|
||||
@ -569,8 +572,13 @@ static ret_t text_edit_paint_line(text_edit_t* text_edit, canvas_t* c, row_info_
|
||||
if (chr != STB_TEXTEDIT_NEWLINE) {
|
||||
uint32_t rx = x - layout_info->ox;
|
||||
uint32_t ry = y - layout_info->oy;
|
||||
uint32_t cursor = state->cursor;
|
||||
|
||||
if (offset >= select_start && offset < select_end) {
|
||||
bool_t selected = offset >= select_start && offset < select_end;
|
||||
bool_t preedit =
|
||||
impl->preedit && offset < cursor && offset >= (cursor - impl->preedit_chars_nr);
|
||||
|
||||
if (selected || preedit) {
|
||||
color_t select_bg_color = style_get_color(style, STYLE_ID_SELECTED_BG_COLOR, white);
|
||||
color_t select_text_color = style_get_color(style, STYLE_ID_SELECTED_TEXT_COLOR, black);
|
||||
|
||||
@ -1099,6 +1107,9 @@ ret_t text_edit_paste(text_edit_t* text_edit, const wchar_t* str, uint32_t size)
|
||||
return_value_if_fail(text_edit != NULL && str != NULL, RET_BAD_PARAMS);
|
||||
|
||||
stb_textedit_paste(text_edit, &(impl->state), str, size);
|
||||
if (impl->preedit) {
|
||||
impl->preedit_chars_nr += size;
|
||||
}
|
||||
text_edit_layout(text_edit);
|
||||
|
||||
return RET_OK;
|
||||
@ -1219,6 +1230,7 @@ ret_t text_edit_get_state(text_edit_t* text_edit, text_edit_state_t* state) {
|
||||
state->virtual_h = impl->layout_info.virtual_h;
|
||||
state->rows = impl->rows->size;
|
||||
state->caret = impl->caret;
|
||||
state->preedit = impl->preedit;
|
||||
state->line_height = impl->line_height;
|
||||
|
||||
state->cursor = impl->state.cursor;
|
||||
@ -1280,3 +1292,46 @@ ret_t text_edit_set_on_state_changed(text_edit_t* text_edit,
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
ret_t text_edit_preedit(text_edit_t* text_edit) {
|
||||
DECL_IMPL(text_edit);
|
||||
return_value_if_fail(text_edit != NULL, RET_BAD_PARAMS);
|
||||
|
||||
impl->preedit = TRUE;
|
||||
impl->preedit_chars_nr = 0;
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
ret_t text_edit_preedit_confirm(text_edit_t* text_edit) {
|
||||
DECL_IMPL(text_edit);
|
||||
return_value_if_fail(text_edit != NULL, RET_BAD_PARAMS);
|
||||
|
||||
impl->preedit = FALSE;
|
||||
impl->preedit_chars_nr = 0;
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
ret_t text_edit_preedit_clear(text_edit_t* text_edit) {
|
||||
DECL_IMPL(text_edit);
|
||||
return_value_if_fail(text_edit != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (impl->preedit_chars_nr > 0) {
|
||||
text_edit_remove(text_edit, impl->state.cursor - impl->preedit_chars_nr,
|
||||
impl->preedit_chars_nr);
|
||||
impl->preedit_chars_nr = 0;
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
ret_t text_edit_preedit_abort(text_edit_t* text_edit) {
|
||||
DECL_IMPL(text_edit);
|
||||
return_value_if_fail(text_edit != NULL, RET_BAD_PARAMS);
|
||||
|
||||
impl->preedit = FALSE;
|
||||
text_edit_preedit_clear(text_edit);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
@ -44,6 +44,7 @@ typedef struct _text_edit_state_t {
|
||||
uint32_t last_line_number;
|
||||
|
||||
bool_t mask;
|
||||
bool_t preedit;
|
||||
bool_t wrap_word;
|
||||
wchar_t mask_char;
|
||||
bool_t caret_visible;
|
||||
@ -320,6 +321,42 @@ ret_t text_edit_set_on_state_changed(text_edit_t* text_edit,
|
||||
*/
|
||||
ret_t text_edit_destroy(text_edit_t* text_edit);
|
||||
|
||||
/**
|
||||
* @method text_edit_preedit_clear
|
||||
* 清除预编辑文本。
|
||||
* @param {text_edit_t*} text_edit text_edit对象。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t text_edit_preedit_clear(text_edit_t* text_edit);
|
||||
|
||||
/**
|
||||
* @method text_edit_preedit
|
||||
* 进入预编辑状态。
|
||||
* @param {text_edit_t*} text_edit text_edit对象。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t text_edit_preedit(text_edit_t* text_edit);
|
||||
|
||||
/**
|
||||
* @method text_edit_preedit_confirm
|
||||
* 提交预编辑的文本,并退出预编辑状态。
|
||||
* @param {text_edit_t*} text_edit text_edit对象。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t text_edit_preedit_confirm(text_edit_t* text_edit);
|
||||
|
||||
/**
|
||||
* @method text_edit_preedit_abort
|
||||
* 取消预编辑的文本,并退出预编辑状态。
|
||||
* @param {text_edit_t*} text_edit text_edit对象。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t text_edit_preedit_abort(text_edit_t* text_edit);
|
||||
|
||||
END_C_DECLS
|
||||
|
||||
#endif /*TK_TEXT_EDIT_H*/
|
||||
|
@ -452,4 +452,10 @@ typedef enum _bitmap_flag_t {
|
||||
struct _bitmap_t;
|
||||
typedef struct _bitmap_t bitmap_t;
|
||||
|
||||
struct _input_method_t;
|
||||
typedef struct _input_method_t input_method_t;
|
||||
|
||||
struct _input_engine_t;
|
||||
typedef struct _input_engine_t input_engine_t;
|
||||
|
||||
#endif /*TK_TYPES_DEF_H*/
|
||||
|
@ -189,6 +189,10 @@ static bool_t widget_with_focus_state(widget_t* widget) {
|
||||
static bool_t widget_is_focusable(widget_t* widget) {
|
||||
return_value_if_fail(widget != NULL && widget->vt != NULL, FALSE);
|
||||
|
||||
if (!widget->visible || !widget->sensitive) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return widget->focusable || widget->vt->focusable;
|
||||
}
|
||||
|
||||
@ -2190,6 +2194,34 @@ static ret_t widget_on_keyup_impl(widget_t* widget, key_event_t* e) {
|
||||
widget_dispatch(widget, pointer_event_init(&click, EVT_CLICK, widget, 0, 0));
|
||||
|
||||
ret = RET_STOP;
|
||||
} else if (widget_is_move_focus_next_key(widget, e)) {
|
||||
if (widget_is_focusable(widget)) {
|
||||
ret = RET_STOP;
|
||||
} else if (widget_is_window(widget) && !widget_has_focused_widget_in_window(widget)) {
|
||||
ret = RET_STOP;
|
||||
}
|
||||
} else if (widget_is_move_focus_prev_key(widget, e)) {
|
||||
if (widget_is_focusable(widget)) {
|
||||
ret = RET_STOP;
|
||||
} else if (widget_is_window(widget) && !widget_has_focused_widget_in_window(widget)) {
|
||||
ret = RET_STOP;
|
||||
}
|
||||
} else if (widget_is_move_focus_up_key(widget, e)) {
|
||||
if (widget_is_focusable(widget)) {
|
||||
ret = RET_STOP;
|
||||
}
|
||||
} else if (widget_is_move_focus_down_key(widget, e)) {
|
||||
if (widget_is_focusable(widget)) {
|
||||
ret = RET_STOP;
|
||||
}
|
||||
} else if (widget_is_move_focus_left_key(widget, e)) {
|
||||
if (widget_is_focusable(widget)) {
|
||||
ret = RET_STOP;
|
||||
}
|
||||
} else if (widget_is_move_focus_right_key(widget, e)) {
|
||||
if (widget_is_focusable(widget)) {
|
||||
ret = RET_STOP;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -317,15 +317,21 @@ BEGIN_C_DECLS
|
||||
*/
|
||||
#define WIDGET_PROP_FULLSCREEN "fullscreen"
|
||||
|
||||
/**
|
||||
* @const WIDGET_PROP_DISABLE_ANIM
|
||||
* 禁用窗口动画。
|
||||
*/
|
||||
#define WIDGET_PROP_DISABLE_ANIM "disable_anim"
|
||||
|
||||
/**
|
||||
* @const WIDGET_PROP_OPEN_ANIM_HINT
|
||||
* 打开窗口动画。
|
||||
* 打开窗口时的动画。
|
||||
*/
|
||||
#define WIDGET_PROP_OPEN_ANIM_HINT "open_anim_hint"
|
||||
|
||||
/**
|
||||
* @const WIDGET_PROP_CLOSE_ANIM_HINT
|
||||
* 关闭窗口动画。
|
||||
* 关闭窗口时的动画。
|
||||
*/
|
||||
#define WIDGET_PROP_CLOSE_ANIM_HINT "close_anim_hint"
|
||||
|
||||
|
@ -102,13 +102,28 @@ ret_t window_base_get_prop(widget_t* widget, const char* name, value_t* v) {
|
||||
return_value_if_fail(widget != NULL && name != NULL && v != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (tk_str_eq(name, WIDGET_PROP_ANIM_HINT)) {
|
||||
value_set_str(v, window_base->open_anim_hint);
|
||||
if (window_base->disable_anim) {
|
||||
value_set_str(v, NULL);
|
||||
} else {
|
||||
value_set_str(v, window_base->open_anim_hint);
|
||||
}
|
||||
return RET_OK;
|
||||
} else if (tk_str_eq(name, WIDGET_PROP_OPEN_ANIM_HINT)) {
|
||||
value_set_str(v, window_base->open_anim_hint);
|
||||
if (window_base->disable_anim) {
|
||||
value_set_str(v, NULL);
|
||||
} else {
|
||||
value_set_str(v, window_base->open_anim_hint);
|
||||
}
|
||||
return RET_OK;
|
||||
} else if (tk_str_eq(name, WIDGET_PROP_CLOSE_ANIM_HINT)) {
|
||||
value_set_str(v, window_base->close_anim_hint);
|
||||
if (window_base->disable_anim) {
|
||||
value_set_str(v, NULL);
|
||||
} else {
|
||||
value_set_str(v, window_base->close_anim_hint);
|
||||
}
|
||||
return RET_OK;
|
||||
} else if (tk_str_eq(name, WIDGET_PROP_DISABLE_ANIM)) {
|
||||
value_set_bool(v, window_base->disable_anim);
|
||||
return RET_OK;
|
||||
} else if (tk_str_eq(name, WIDGET_PROP_NATIVE_WINDOW)) {
|
||||
value_set_pointer(v, window_base->native_window);
|
||||
@ -174,6 +189,9 @@ ret_t window_base_set_prop(widget_t* widget, const char* name, const value_t* v)
|
||||
} else if (tk_str_eq(name, WIDGET_PROP_OPEN_ANIM_HINT)) {
|
||||
window_base->open_anim_hint = tk_str_copy(window_base->open_anim_hint, value_str(v));
|
||||
return RET_OK;
|
||||
} else if (tk_str_eq(name, WIDGET_PROP_DISABLE_ANIM)) {
|
||||
window_base->disable_anim = value_bool(v);
|
||||
return RET_OK;
|
||||
} else if (tk_str_eq(name, WIDGET_PROP_NATIVE_WINDOW)) {
|
||||
window_base->native_window = (native_window_t*)value_pointer(v);
|
||||
return RET_OK;
|
||||
|
@ -60,6 +60,13 @@ typedef struct _window_base_t {
|
||||
*/
|
||||
char* theme;
|
||||
|
||||
/**
|
||||
* @property {bool_t} disable_anim
|
||||
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
|
||||
* 禁用窗口动画。
|
||||
*/
|
||||
bool_t disable_anim;
|
||||
|
||||
/**
|
||||
* @property {window_closable_t} closable
|
||||
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
|
||||
|
@ -29,9 +29,10 @@
|
||||
#include "gif_image/gif_image.h"
|
||||
#include "svg_image/svg_image.h"
|
||||
#include "keyboard/keyboard.h"
|
||||
#include "keyboard/candidates.h"
|
||||
#include "keyboard/lang_indicator.h"
|
||||
#include "base/widget_factory.h"
|
||||
#include "rich_text/rich_text.h"
|
||||
#include "keyboard/candidates.h"
|
||||
#include "slide_menu/slide_menu.h"
|
||||
#include "image_value/image_value.h"
|
||||
#include "time_clock/time_clock.h"
|
||||
@ -84,6 +85,7 @@ ret_t tk_ext_widgets_init() {
|
||||
widget_factory_register(f, WIDGET_TYPE_SLIDE_INDICATOR, slide_indicator_create);
|
||||
widget_factory_register(f, WIDGET_TYPE_SLIDE_INDICATOR_ARC, slide_indicator_create_arc);
|
||||
widget_factory_register(f, WIDGET_TYPE_KEYBOARD, keyboard_create);
|
||||
widget_factory_register(f, WIDGET_TYPE_LANG_INDICATOR, lang_indicator_create);
|
||||
widget_factory_register(f, WIDGET_TYPE_CANDIDATES, candidates_create);
|
||||
widget_factory_register(f, WIDGET_TYPE_TIME_CLOCK, time_clock_create);
|
||||
widget_factory_register(f, WIDGET_TYPE_GUAGE, guage_create);
|
||||
|
@ -28,32 +28,70 @@
|
||||
#include "base/system_info.h"
|
||||
#include "base/widget_vtable.h"
|
||||
|
||||
static ret_t candidates_on_button_click(void* ctx, event_t* e) {
|
||||
char str[32];
|
||||
input_method_t* im = input_method();
|
||||
wstr_t* text = &(WIDGET(ctx)->text);
|
||||
wchar_t c = text->str[text->size - 1];
|
||||
return_value_if_fail(im != NULL && text->size > 0, RET_FAIL);
|
||||
static ret_t candidates_on_im_candidates_event(void* ctx, event_t* e);
|
||||
|
||||
static ret_t candidates_on_button_focused(void* ctx, event_t* e) {
|
||||
char str[32];
|
||||
widget_t* button = WIDGET(e->target);
|
||||
input_method_t* im = input_method();
|
||||
wstr_t* text = &(button->text);
|
||||
candidates_t* candidates = CANDIDATES(ctx);
|
||||
return_value_if_fail(im != NULL && text->size > 0, RET_FAIL);
|
||||
tk_utf8_from_utf16(text->str, str, sizeof(str) - 1);
|
||||
if (input_method_commit_text(im, str) == RET_OK) {
|
||||
suggest_words_t* suggest_words = im->suggest_words;
|
||||
if (suggest_words && suggest_words_find(suggest_words, c) == RET_OK) {
|
||||
input_method_dispatch_candidates(im, suggest_words->words, suggest_words->words_nr);
|
||||
}
|
||||
|
||||
if (candidates->pre) {
|
||||
input_method_dispatch_keys(im, str);
|
||||
}
|
||||
|
||||
(void)e;
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t candidates_on_button_click(void* ctx, event_t* e) {
|
||||
char str[32];
|
||||
widget_t* button = WIDGET(e->target);
|
||||
input_method_t* im = input_method();
|
||||
wstr_t* text = &(button->text);
|
||||
candidates_t* candidates = CANDIDATES(ctx);
|
||||
return_value_if_fail(im != NULL, RET_FAIL);
|
||||
|
||||
if (text->size > 0) {
|
||||
wchar_t c = text->str[text->size - 1];
|
||||
|
||||
tk_utf8_from_utf16(text->str, str, sizeof(str) - 1);
|
||||
if (input_method_commit_text(im, str) == RET_OK) {
|
||||
if (!candidates->pre) {
|
||||
suggest_words_t* suggest_words = im->suggest_words;
|
||||
if (suggest_words && suggest_words_find(suggest_words, c) == RET_OK) {
|
||||
input_method_dispatch_candidates(im, suggest_words->words, suggest_words->words_nr);
|
||||
if (suggest_words->words_nr > 0) {
|
||||
widget_set_focused(widget_get_child(button->parent, 0), TRUE);
|
||||
}
|
||||
log_debug("suggest_words->words:%s\n", suggest_words->words);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t candidates_create_button(widget_t* widget) {
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
widget_t* button = button_create(widget, 0, 0, 0, 0);
|
||||
return_value_if_fail(button != NULL, RET_BAD_PARAMS);
|
||||
|
||||
widget_use_style(button, "candidates");
|
||||
widget_on(button, EVT_CLICK, candidates_on_button_click, button);
|
||||
if (candidates->pre) {
|
||||
widget_on(button, EVT_FOCUS, candidates_on_button_focused, widget);
|
||||
widget_on(button, EVT_CLICK, candidates_on_button_click, widget);
|
||||
} else {
|
||||
widget_on(button, EVT_CLICK, candidates_on_button_click, widget);
|
||||
}
|
||||
|
||||
if (candidates->button_style != NULL) {
|
||||
widget_use_style(button, candidates->button_style);
|
||||
}
|
||||
|
||||
widget_set_focusable(button, TRUE);
|
||||
|
||||
return RET_OK;
|
||||
@ -91,19 +129,20 @@ static ret_t candidates_relayout_children(widget_t* widget) {
|
||||
xy_t child_x = margin;
|
||||
xy_t child_y = margin;
|
||||
widget_t* iter = NULL;
|
||||
widget_t* focused = NULL;
|
||||
uint32_t nr = widget->children->size;
|
||||
wh_t child_h = widget->h - margin * 2;
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
widget_t** children = (widget_t**)(widget->children->elms);
|
||||
canvas_t* c = candidates->canvas;
|
||||
style_t* style = children[0]->astyle;
|
||||
canvas_t* c = widget_get_canvas(widget);
|
||||
const char* font = system_info_fix_font_name(NULL);
|
||||
uint16_t font_size = style_get_int(style, STYLE_ID_FONT_SIZE, TK_DEFAULT_FONT_SIZE);
|
||||
|
||||
canvas_set_font(c, font, font_size);
|
||||
for (i = 0; i < nr; i++) {
|
||||
iter = children[i];
|
||||
child_w = candidates_calc_child_width(candidates->canvas, iter);
|
||||
child_w = candidates_calc_child_width(c, iter);
|
||||
if (iter->text.size) {
|
||||
widget_set_visible(iter, TRUE, FALSE);
|
||||
} else {
|
||||
@ -112,15 +151,24 @@ static ret_t candidates_relayout_children(widget_t* widget) {
|
||||
}
|
||||
widget_move_resize(iter, child_x, child_y, child_w, child_h);
|
||||
child_x += child_w + margin;
|
||||
|
||||
if (iter->focused) {
|
||||
focused = iter;
|
||||
}
|
||||
}
|
||||
|
||||
hscrollable_set_xoffset(candidates->hscrollable, 0);
|
||||
hscrollable_set_virtual_w(candidates->hscrollable, child_x + 30);
|
||||
if (focused != NULL && focused->x > widget->w / 2) {
|
||||
hscrollable_set_xoffset(candidates->hscrollable, focused->x);
|
||||
} else {
|
||||
hscrollable_set_xoffset(candidates->hscrollable, 0);
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t candidates_update_candidates(widget_t* widget, const char* strs, uint32_t nr) {
|
||||
static ret_t candidates_update_candidates(widget_t* widget, const char* strs, uint32_t nr,
|
||||
int32_t selected) {
|
||||
uint32_t i = 0;
|
||||
widget_t* iter = NULL;
|
||||
const char* text = strs;
|
||||
@ -133,17 +181,30 @@ static ret_t candidates_update_candidates(widget_t* widget, const char* strs, ui
|
||||
|
||||
for (i = 0; i < nr; i++) {
|
||||
iter = children[i];
|
||||
widget_set_visible(iter, TRUE, FALSE);
|
||||
widget_set_text_utf8(iter, text);
|
||||
widget_set_focused(iter, i == 0);
|
||||
if (selected == i) {
|
||||
widget_set_focused(iter, TRUE);
|
||||
} else {
|
||||
widget_set_focused(iter, FALSE);
|
||||
}
|
||||
text += strlen(text) + 1;
|
||||
}
|
||||
|
||||
for (; i < widget->children->size; i++) {
|
||||
iter = children[i];
|
||||
widget_set_visible(iter, FALSE, FALSE);
|
||||
widget_set_text_utf8(iter, "");
|
||||
}
|
||||
|
||||
candidates->candidates_nr = nr;
|
||||
|
||||
if (candidates->auto_hide) {
|
||||
widget_set_visible(widget, nr > 0, FALSE);
|
||||
} else {
|
||||
widget_set_visible(widget, TRUE, FALSE);
|
||||
}
|
||||
|
||||
candidates_relayout_children(widget);
|
||||
widget_invalidate_force(widget, NULL);
|
||||
|
||||
@ -154,6 +215,7 @@ static ret_t candidates_on_destroy_default(widget_t* widget) {
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
return_value_if_fail(widget != NULL && candidates != NULL, RET_BAD_PARAMS);
|
||||
|
||||
TKMEM_FREE(candidates->button_style);
|
||||
hscrollable_destroy(candidates->hscrollable);
|
||||
input_method_off(input_method(), candidates->event_id);
|
||||
|
||||
@ -164,7 +226,6 @@ static ret_t candidates_on_paint_self(widget_t* widget, canvas_t* c) {
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
return_value_if_fail(widget != NULL && candidates != NULL, RET_BAD_PARAMS);
|
||||
|
||||
candidates->canvas = c;
|
||||
return widget_paint_helper(widget, c, NULL, NULL);
|
||||
}
|
||||
|
||||
@ -172,6 +233,16 @@ static ret_t candidates_on_event(widget_t* widget, event_t* e) {
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
return_value_if_fail(candidates != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (e->type == EVT_WINDOW_OPEN) {
|
||||
if (candidates->pre) {
|
||||
candidates->event_id = input_method_on(input_method(), EVT_IM_SHOW_PRE_CANDIDATES,
|
||||
candidates_on_im_candidates_event, candidates);
|
||||
} else {
|
||||
candidates->event_id = input_method_on(input_method(), EVT_IM_SHOW_CANDIDATES,
|
||||
candidates_on_im_candidates_event, candidates);
|
||||
}
|
||||
}
|
||||
|
||||
return hscrollable_on_event(candidates->hscrollable, e);
|
||||
}
|
||||
|
||||
@ -186,7 +257,19 @@ static ret_t candidates_get_prop(widget_t* widget, const char* name, value_t* v)
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
return_value_if_fail(candidates != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (candidates->hscrollable != NULL) {
|
||||
if (tk_str_eq(name, CANDIDATES_PROP_PRE)) {
|
||||
value_set_bool(v, candidates->pre);
|
||||
return RET_OK;
|
||||
} else if (tk_str_eq(name, CANDIDATES_PROP_SELECT_BY_NUM)) {
|
||||
value_set_bool(v, candidates->select_by_num);
|
||||
return RET_OK;
|
||||
} else if (tk_str_eq(name, CANDIDATES_PROP_AUTO_HIDE)) {
|
||||
value_set_bool(v, candidates->auto_hide);
|
||||
return RET_OK;
|
||||
} else if (tk_str_eq(name, CANDIDATES_PROP_BUTTON_STYLE)) {
|
||||
value_set_str(v, candidates->button_style);
|
||||
return RET_OK;
|
||||
} else if (candidates->hscrollable != NULL) {
|
||||
return hscrollable_get_prop(candidates->hscrollable, name, v);
|
||||
} else {
|
||||
return RET_NOT_FOUND;
|
||||
@ -197,6 +280,15 @@ static ret_t candidates_set_prop(widget_t* widget, const char* name, const value
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
return_value_if_fail(candidates != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (tk_str_eq(name, CANDIDATES_PROP_PRE)) {
|
||||
return candidates_set_pre(widget, value_bool(v));
|
||||
} else if (tk_str_eq(name, CANDIDATES_PROP_SELECT_BY_NUM)) {
|
||||
return candidates_set_select_by_num(widget, value_bool(v));
|
||||
} else if (tk_str_eq(name, CANDIDATES_PROP_AUTO_HIDE)) {
|
||||
return candidates_set_auto_hide(widget, value_bool(v));
|
||||
} else if (tk_str_eq(name, CANDIDATES_PROP_BUTTON_STYLE)) {
|
||||
return candidates_set_button_style(widget, value_str(v));
|
||||
}
|
||||
if (candidates->hscrollable != NULL) {
|
||||
return hscrollable_set_prop(candidates->hscrollable, name, v);
|
||||
} else {
|
||||
@ -237,14 +329,14 @@ static ret_t candidates_on_keydown(widget_t* widget, key_event_t* e) {
|
||||
return_value_if_fail(widget != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (nr > 1) {
|
||||
if (e->key >= TK_KEY_0 && e->key <= TK_KEY_9) {
|
||||
int32_t i = e->key - (int32_t)TK_KEY_0;
|
||||
if (e->key >= TK_KEY_1 && e->key <= TK_KEY_9 && candidates->select_by_num) {
|
||||
int32_t i = e->key - (int32_t)TK_KEY_0 - 1;
|
||||
|
||||
if (i >= 0 && i < nr) {
|
||||
event_t click = event_init(EVT_CLICK, NULL);
|
||||
child = widget_get_child(widget, i);
|
||||
|
||||
if (child->text.size > 0) {
|
||||
if (child->text.size > 0 && child->visible) {
|
||||
widget_dispatch(child, &click);
|
||||
ret = RET_STOP;
|
||||
}
|
||||
@ -260,10 +352,16 @@ static ret_t candidates_on_keydown(widget_t* widget, key_event_t* e) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const char* const s_candidates_properties[] = {
|
||||
CANDIDATES_PROP_PRE, CANDIDATES_PROP_SELECT_BY_NUM, CANDIDATES_PROP_BUTTON_STYLE,
|
||||
CANDIDATES_PROP_AUTO_HIDE, NULL};
|
||||
|
||||
TK_DECL_VTABLE(candidates) = {.size = sizeof(candidates_t),
|
||||
.scrollable = TRUE,
|
||||
.type = WIDGET_TYPE_CANDIDATES,
|
||||
.parent = TK_PARENT_VTABLE(widget),
|
||||
.clone_properties = s_candidates_properties,
|
||||
.persistent_properties = s_candidates_properties,
|
||||
.create = candidates_create,
|
||||
.on_event = candidates_on_event,
|
||||
.on_paint_self = candidates_on_paint_self,
|
||||
@ -275,9 +373,20 @@ TK_DECL_VTABLE(candidates) = {.size = sizeof(candidates_t),
|
||||
|
||||
static ret_t candidates_on_im_candidates_event(void* ctx, event_t* e) {
|
||||
widget_t* widget = WIDGET(ctx);
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
im_candidates_event_t* evt = (im_candidates_event_t*)e;
|
||||
|
||||
return candidates_update_candidates(widget, evt->candidates, evt->candidates_nr);
|
||||
if (candidates->pre) {
|
||||
if (e->type == EVT_IM_SHOW_PRE_CANDIDATES) {
|
||||
candidates_update_candidates(widget, evt->candidates, evt->candidates_nr, evt->selected);
|
||||
}
|
||||
} else {
|
||||
if (e->type == EVT_IM_SHOW_CANDIDATES) {
|
||||
candidates_update_candidates(widget, evt->candidates, evt->candidates_nr, evt->selected);
|
||||
}
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
widget_t* candidates_create(widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h) {
|
||||
@ -285,10 +394,9 @@ widget_t* candidates_create(widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h) {
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
return_value_if_fail(candidates != NULL, NULL);
|
||||
|
||||
candidates->select_by_num = TRUE;
|
||||
candidates->hscrollable = hscrollable_create(widget);
|
||||
hscrollable_set_always_scrollable(candidates->hscrollable, TRUE);
|
||||
candidates->event_id = input_method_on(input_method(), EVT_IM_SHOW_CANDIDATES,
|
||||
candidates_on_im_candidates_event, candidates);
|
||||
|
||||
ENSURE(candidates->hscrollable != NULL);
|
||||
|
||||
@ -300,3 +408,39 @@ widget_t* candidates_cast(widget_t* widget) {
|
||||
|
||||
return widget;
|
||||
}
|
||||
|
||||
ret_t candidates_set_pre(widget_t* widget, bool_t pre) {
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
return_value_if_fail(candidates != NULL, RET_BAD_PARAMS);
|
||||
|
||||
candidates->pre = pre;
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
ret_t candidates_set_select_by_num(widget_t* widget, bool_t select_by_num) {
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
return_value_if_fail(candidates != NULL, RET_BAD_PARAMS);
|
||||
|
||||
candidates->select_by_num = select_by_num;
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
ret_t candidates_set_auto_hide(widget_t* widget, bool_t auto_hide) {
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
return_value_if_fail(candidates != NULL, RET_BAD_PARAMS);
|
||||
|
||||
candidates->auto_hide = auto_hide;
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
ret_t candidates_set_button_style(widget_t* widget, const char* button_style) {
|
||||
candidates_t* candidates = CANDIDATES(widget);
|
||||
return_value_if_fail(candidates != NULL, RET_BAD_PARAMS);
|
||||
|
||||
candidates->button_style = tk_str_copy(candidates->button_style, button_style);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
@ -59,11 +59,43 @@ BEGIN_C_DECLS
|
||||
typedef struct _candidates_t {
|
||||
widget_t widget;
|
||||
|
||||
/**
|
||||
* @property {bool_t} pre
|
||||
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
|
||||
* 是否为预候选字。
|
||||
*
|
||||
* > 预候选字: 在有的输入法中,比如T9硬键盘输入时,按下12两个键时,预候选字会显示可用的拼音列表。
|
||||
* > 从预候选字列表中选择拼音,再查询拼音对应的候选字列表。
|
||||
*/
|
||||
bool_t pre;
|
||||
|
||||
/**
|
||||
* @property {bool_t} select_by_num
|
||||
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
|
||||
* 是否启用用数字选择候选字。比如按下1选择第1个候选字,按下2选择第2个候选字。
|
||||
*
|
||||
*/
|
||||
bool_t select_by_num;
|
||||
|
||||
/**
|
||||
* @property {bool_t} auto_hide
|
||||
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
|
||||
* 没有候选字时,是否自动隐藏控件。
|
||||
*
|
||||
*/
|
||||
bool_t auto_hide;
|
||||
|
||||
/**
|
||||
* @property {char*} button_style
|
||||
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
|
||||
* 按钮的style名称。
|
||||
*/
|
||||
char* button_style;
|
||||
|
||||
/*private*/
|
||||
bool_t expanded;
|
||||
wh_t normal_h;
|
||||
uint32_t event_id;
|
||||
canvas_t* canvas;
|
||||
hscrollable_t* hscrollable;
|
||||
uint32_t candidates_nr;
|
||||
} candidates_t;
|
||||
@ -92,6 +124,61 @@ widget_t* candidates_create(widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h);
|
||||
*/
|
||||
widget_t* candidates_cast(widget_t* widget);
|
||||
|
||||
/**
|
||||
* @method candidates_set_pre
|
||||
* 设置是否为预候选字列表。
|
||||
*
|
||||
* > 为预候选字列表则注册EVT\_IM\_SHOW\_PRE\_CANDIDATES,否则注册EVT\_IM\_SHOW\_CANDIDATES事件。
|
||||
*
|
||||
* @annotation ["scriptable"]
|
||||
* @param {widget_t*} widget 控件对象。
|
||||
* @param {bool_t} pre 是否为预候选字列表。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t candidates_set_pre(widget_t* widget, bool_t pre);
|
||||
|
||||
/**
|
||||
* @method candidates_set_select_by_num
|
||||
* 设置是否启用用数字选择候选字。
|
||||
*
|
||||
* @annotation ["scriptable"]
|
||||
* @param {widget_t*} widget 控件对象。
|
||||
* @param {bool_t} select_by_num 是否启用用数字选择候选字。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t candidates_set_select_by_num(widget_t* widget, bool_t select_by_num);
|
||||
|
||||
/**
|
||||
* @method candidates_set_auto_hide
|
||||
* 设置是否自动隐藏。
|
||||
*
|
||||
* @annotation ["scriptable"]
|
||||
* @param {widget_t*} widget 控件对象。
|
||||
* @param {bool_t} auto_hide 是否自动隐藏。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t candidates_set_auto_hide(widget_t* widget, bool_t auto_hide);
|
||||
|
||||
/**
|
||||
* @method candidates_set_button_style
|
||||
* 设置按钮的style名称。
|
||||
*
|
||||
* @annotation ["scriptable"]
|
||||
* @param {widget_t*} widget 控件对象。
|
||||
* @param {const char*} button_style 按钮的style名称。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t candidates_set_button_style(widget_t* widget, const char* button_style);
|
||||
|
||||
#define CANDIDATES_PROP_PRE "pre"
|
||||
#define CANDIDATES_PROP_AUTO_HIDE "auto_hide"
|
||||
#define CANDIDATES_PROP_BUTTON_STYLE "button_style"
|
||||
#define CANDIDATES_PROP_SELECT_BY_NUM "select_by_num"
|
||||
|
||||
#define CANDIDATES(widget) ((candidates_t*)(candidates_cast(WIDGET(widget))))
|
||||
|
||||
/*public for subclass and runtime type check*/
|
||||
|
@ -29,6 +29,9 @@
|
||||
#include "base/input_method.h"
|
||||
#include "base/window_manager.h"
|
||||
|
||||
#define WIDGET_PROP_IM_LANG "lang"
|
||||
#define WIDGET_PROP_PREEDIT_INDEX "preedit_index"
|
||||
|
||||
static ret_t keyboard_on_load(void* ctx, event_t* e);
|
||||
static ret_t keyboard_on_action_info(void* ctx, event_t* e);
|
||||
|
||||
@ -39,13 +42,18 @@ static ret_t keyboard_on_destroy(widget_t* widget) {
|
||||
keyboard_t* keyboard = KEYBOARD(widget);
|
||||
return_value_if_fail(keyboard != NULL, RET_BAD_PARAMS);
|
||||
darray_deinit(&(keyboard->action_buttons));
|
||||
str_reset(&(keyboard->temp));
|
||||
|
||||
return window_base_on_destroy(widget);
|
||||
}
|
||||
|
||||
static ret_t keyboard_on_event(widget_t* widget, event_t* e) {
|
||||
if (e->type == EVT_KEY_DOWN || e->type == EVT_KEY_UP) {
|
||||
key_event_t* evt = (key_event_t*)e;
|
||||
/*goto here only when grab_keys=true*/
|
||||
if (e->type == EVT_KEY_UP) {
|
||||
input_method_dispatch_key(input_method(), evt->key);
|
||||
}
|
||||
return RET_STOP;
|
||||
}
|
||||
|
||||
@ -73,6 +81,7 @@ widget_t* keyboard_create(widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h) {
|
||||
keyboard_t* keyboard = KEYBOARD(widget);
|
||||
return_value_if_fail(keyboard != NULL, NULL);
|
||||
|
||||
str_init(&(keyboard->temp), 0);
|
||||
darray_init(&(keyboard->action_buttons), 0, NULL, NULL);
|
||||
widget_on(widget, EVT_WINDOW_LOAD, keyboard_on_load, widget);
|
||||
keyboard->action_info_id =
|
||||
@ -111,6 +120,13 @@ static ret_t keyboard_set_active_page(widget_t* button, const char* name) {
|
||||
|
||||
return_value_if_fail(iter != NULL, RET_FAIL);
|
||||
if (pages_set_active_by_name(iter, name) == RET_OK) {
|
||||
value_t v;
|
||||
widget_t* active = widget_get_child(iter, widget_get_value(iter));
|
||||
|
||||
if (widget_get_prop(active, WIDGET_PROP_IM_LANG, &v) == RET_OK) {
|
||||
input_method_set_lang(input_method(), value_str(&v));
|
||||
}
|
||||
|
||||
keyboard_focus_first(widget_get_child(iter, PAGES(iter)->active));
|
||||
}
|
||||
|
||||
@ -121,20 +137,56 @@ static ret_t keyboard_set_active_page(widget_t* button, const char* name) {
|
||||
#define STR_RETURN "return"
|
||||
#define STR_ACTION "action"
|
||||
#define STR_KEY_SPACE "space"
|
||||
#define STR_KEY_OPT "opt:"
|
||||
#define STR_KEY_TAB "tab"
|
||||
#define STR_KEY_PREFIX "key:"
|
||||
#define STR_PAGE_PREFIX "page:"
|
||||
#define STR_HARD_KEY_PREFIX "hard_key:"
|
||||
#define STR_KEY_TAB "tab"
|
||||
#define STR_KEY_BACKSPACE "backspace"
|
||||
#define STR_KEY_CONFIRM_PREEDIT "confirm_preedit"
|
||||
|
||||
#ifndef PREEDIT_TIMER_DURATION
|
||||
#define PREEDIT_TIMER_DURATION 800
|
||||
#endif /*PREEDIT_TIMER_DURATION*/
|
||||
|
||||
static ret_t keyboard_preedit_confirm(widget_t* widget) {
|
||||
input_method_t* im = input_method();
|
||||
keyboard_t* keyboard = KEYBOARD(widget);
|
||||
|
||||
input_method_dispatch_preedit_confirm(im);
|
||||
widget_set_prop_int(widget, WIDGET_PROP_PREEDIT_INDEX, -1);
|
||||
|
||||
keyboard->timer_id = TK_INVALID_ID;
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t keyboard_on_preedit_timeout(const timer_info_t* info) {
|
||||
keyboard_preedit_confirm(WIDGET(info->ctx));
|
||||
|
||||
return RET_REMOVE;
|
||||
}
|
||||
|
||||
static ret_t keyboard_on_button_click(void* ctx, event_t* e) {
|
||||
input_method_t* im = input_method();
|
||||
widget_t* button = WIDGET(e->target);
|
||||
widget_t* win = widget_get_window(button);
|
||||
keyboard_t* keyboard = KEYBOARD(win);
|
||||
|
||||
const char* name = button->name;
|
||||
const char* opt = strstr(name, STR_KEY_OPT);
|
||||
const char* key = strstr(name, STR_KEY_PREFIX);
|
||||
const char* hard_key = strstr(name, STR_HARD_KEY_PREFIX);
|
||||
const char* page_name = strstr(name, STR_PAGE_PREFIX);
|
||||
|
||||
if (keyboard->last_click_button != button) {
|
||||
if (keyboard->timer_id != TK_INVALID_ID) {
|
||||
timer_remove(keyboard->timer_id);
|
||||
keyboard_preedit_confirm(win);
|
||||
}
|
||||
}
|
||||
|
||||
keyboard->last_click_button = button;
|
||||
if (tk_str_eq(name, STR_CLOSE)) {
|
||||
input_method_request(im, NULL);
|
||||
|
||||
@ -162,6 +214,33 @@ static ret_t keyboard_on_button_click(void* ctx, event_t* e) {
|
||||
return_value_if_fail(kv != NULL, RET_BAD_PARAMS);
|
||||
|
||||
return input_method_dispatch_key(im, kv->value);
|
||||
} else if (opt != NULL) {
|
||||
str_t* str = &(keyboard->temp);
|
||||
int32_t index = widget_get_prop_int(win, WIDGET_PROP_PREEDIT_INDEX, -1);
|
||||
if (index < 0) {
|
||||
index = -1;
|
||||
input_method_dispatch_preedit(im);
|
||||
}
|
||||
|
||||
if (keyboard->timer_id == TK_INVALID_ID) {
|
||||
keyboard->timer_id =
|
||||
widget_add_timer(win, keyboard_on_preedit_timeout, PREEDIT_TIMER_DURATION);
|
||||
} else {
|
||||
timer_modify(keyboard->timer_id, PREEDIT_TIMER_DURATION);
|
||||
}
|
||||
|
||||
index = (index + 1) % button->text.size;
|
||||
str_from_wstr_with_len(str, button->text.str + index, 1);
|
||||
widget_set_prop_int(win, WIDGET_PROP_PREEDIT_INDEX, index);
|
||||
|
||||
return input_method_commit_text(input_method(), str->str);
|
||||
} else if (tk_str_eq(name, STR_KEY_CONFIRM_PREEDIT)) {
|
||||
if (keyboard->timer_id != TK_INVALID_ID) {
|
||||
timer_remove(keyboard->timer_id);
|
||||
keyboard_preedit_confirm(win);
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
} else {
|
||||
if (tk_str_eq(name, STR_ACTION)) {
|
||||
return input_method_dispatch_action(im);
|
||||
|
@ -64,6 +64,7 @@ BEGIN_C_DECLS
|
||||
*| 前缀key: | 键值 |
|
||||
*| 前缀hard_key: | 模拟物理键盘 |
|
||||
*| 前缀page: | 切换到页面 |
|
||||
*| 前缀opt: | 多个字符选择一个,点击切换到下一个,超时提交字符(用于实现九宫格输入) |
|
||||
*
|
||||
* 示例:
|
||||
*
|
||||
@ -84,6 +85,35 @@ BEGIN_C_DECLS
|
||||
* ```xml
|
||||
* <button repeat="300" name="hard_key:1" text="1"/>
|
||||
* ```
|
||||
|
||||
* * 九宫格输入
|
||||
*
|
||||
* ```xml
|
||||
* <button repeat="300" name="opt:._@/#" text="._@/#"/>
|
||||
* <button repeat="300" name="opt:abc" text="abc"/>
|
||||
* <button repeat="300" name="opt:def" text="def"/>
|
||||
* ```
|
||||
*
|
||||
*
|
||||
* * 输入语言切换
|
||||
*
|
||||
* 有的输入法,同时支持输入多种语言。
|
||||
* 比如T9,可以同时支持中文和英文输入,配合软键盘随时切换输入的语言。
|
||||
*
|
||||
* 可以在pages的页面里指定lang属性,切换到该页面时会设置输入法的语言。如:
|
||||
*
|
||||
* ```xml
|
||||
* <pages x="0" y="bottom" w="100%" h="-28" active="2">
|
||||
* <view name="lower" lang="en_us"
|
||||
* x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=4,s=2,m=2)">
|
||||
* ...
|
||||
* </view>
|
||||
* <view name="chinese" lang="zh_cn"
|
||||
* x="0" y="0" w="100%" h="100%" children_layout="default(r=4,c=4,s=2,m=2)">
|
||||
* ...
|
||||
* </view>
|
||||
* </pages>
|
||||
* ```
|
||||
*
|
||||
* > 更多用法请参考:
|
||||
* [kb_default](https://github.com/zlgopen/awtk/blob/master/demos/assets/default/raw/ui/kb_default.xml)
|
||||
@ -94,8 +124,11 @@ typedef struct _keyboard_t {
|
||||
window_base_t window;
|
||||
|
||||
/*private*/
|
||||
widget_t* last_click_button;
|
||||
darray_t action_buttons;
|
||||
uint32_t action_info_id;
|
||||
uint32_t timer_id;
|
||||
str_t temp;
|
||||
} keyboard_t;
|
||||
|
||||
/**
|
||||
|
116
src/ext_widgets/keyboard/lang_indicator.c
Normal file
116
src/ext_widgets/keyboard/lang_indicator.c
Normal file
@ -0,0 +1,116 @@
|
||||
/**
|
||||
* File: lang_indicator.h
|
||||
* Author: AWTK Develop Team
|
||||
* Brief: lang_indicator
|
||||
*
|
||||
* Copyright (c) 2018 - 2020 Guangzhou ZHIYUAN Electronics Co.,Ltd.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* License file for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* History:
|
||||
* ================================================================
|
||||
* 2020-04-20 Li XianJing <xianjimli@hotmail.com> created
|
||||
*
|
||||
*/
|
||||
|
||||
#include "tkc/mem.h"
|
||||
#include "tkc/utils.h"
|
||||
#include "base/input_method.h"
|
||||
#include "keyboard/lang_indicator.h"
|
||||
|
||||
static ret_t lang_indicator_on_lang_changed(void* ctx, event_t* e) {
|
||||
widget_t* widget = WIDGET(ctx);
|
||||
widget_invalidate_force(widget, NULL);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t lang_indicator_get_prop(widget_t* widget, const char* name, value_t* v) {
|
||||
lang_indicator_t* lang_indicator = LANG_INDICATOR(widget);
|
||||
return_value_if_fail(lang_indicator != NULL && name != NULL && v != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (tk_str_eq(name, WIDGET_PROP_IMAGE)) {
|
||||
value_set_str(v, lang_indicator->image);
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
return RET_NOT_FOUND;
|
||||
}
|
||||
|
||||
static ret_t lang_indicator_set_prop(widget_t* widget, const char* name, const value_t* v) {
|
||||
return_value_if_fail(widget != NULL && name != NULL && v != NULL, RET_BAD_PARAMS);
|
||||
|
||||
if (tk_str_eq(name, WIDGET_PROP_IMAGE)) {
|
||||
return lang_indicator_set_image(widget, value_str(v));
|
||||
}
|
||||
|
||||
return RET_NOT_FOUND;
|
||||
}
|
||||
|
||||
static ret_t lang_indicator_on_destroy(widget_t* widget) {
|
||||
lang_indicator_t* lang_indicator = LANG_INDICATOR(widget);
|
||||
input_method_off(input_method(), lang_indicator->event_id);
|
||||
|
||||
lang_indicator->event_id = TK_INVALID_ID;
|
||||
TKMEM_FREE(lang_indicator->image);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t lang_indicator_on_paint_self(widget_t* widget, canvas_t* c) {
|
||||
wstr_t* str = &(widget->text);
|
||||
lang_indicator_t* lang_indicator = LANG_INDICATOR(widget);
|
||||
const char* lang = input_method_get_lang(input_method());
|
||||
|
||||
if (lang_indicator->image != NULL) {
|
||||
char icon[128];
|
||||
tk_snprintf(icon, sizeof(icon), "%s%s", lang_indicator->image, lang != NULL ? lang : "none");
|
||||
widget_paint_helper(widget, c, icon, NULL);
|
||||
} else {
|
||||
wstr_set_utf8(str, lang != NULL ? lang : "");
|
||||
widget_paint_helper(widget, c, NULL, NULL);
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
TK_DECL_VTABLE(lang_indicator) = {.size = sizeof(lang_indicator_t),
|
||||
.type = WIDGET_TYPE_LANG_INDICATOR,
|
||||
.parent = TK_PARENT_VTABLE(widget),
|
||||
.set_prop = lang_indicator_set_prop,
|
||||
.get_prop = lang_indicator_get_prop,
|
||||
.on_destroy = lang_indicator_on_destroy,
|
||||
.on_paint_self = lang_indicator_on_paint_self,
|
||||
.create = lang_indicator_create};
|
||||
|
||||
widget_t* lang_indicator_create(widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h) {
|
||||
widget_t* widget = widget_create(parent, TK_REF_VTABLE(lang_indicator), x, y, w, h);
|
||||
lang_indicator_t* lang_indicator = LANG_INDICATOR(widget);
|
||||
|
||||
lang_indicator->event_id =
|
||||
input_method_on(input_method(), EVT_IM_LANG_CHANGED, lang_indicator_on_lang_changed, widget);
|
||||
|
||||
return widget;
|
||||
}
|
||||
|
||||
widget_t* lang_indicator_cast(widget_t* widget) {
|
||||
return_value_if_fail(WIDGET_IS_INSTANCE_OF(widget, lang_indicator), NULL);
|
||||
|
||||
return widget;
|
||||
}
|
||||
|
||||
ret_t lang_indicator_set_image(widget_t* widget, const char* image) {
|
||||
lang_indicator_t* lang_indicator = LANG_INDICATOR(widget);
|
||||
return_value_if_fail(lang_indicator != NULL, RET_BAD_PARAMS);
|
||||
return_value_if_fail(image != NULL, RET_BAD_PARAMS);
|
||||
|
||||
lang_indicator->image = tk_str_copy(lang_indicator->image, image);
|
||||
|
||||
return RET_OK;
|
||||
}
|
110
src/ext_widgets/keyboard/lang_indicator.h
Normal file
110
src/ext_widgets/keyboard/lang_indicator.h
Normal file
@ -0,0 +1,110 @@
|
||||
/**
|
||||
* File: lang_indicator.h
|
||||
* Author: AWTK Develop Team
|
||||
* Brief: lang_indicator
|
||||
*
|
||||
* Copyright (c) 2018 - 2020 Guangzhou ZHIYUAN Electronics Co.,Ltd.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* License file for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* History:
|
||||
* ================================================================
|
||||
* 2020-04-20 Li XianJing <xianjimli@hotmail.com> created
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef TK_LANG_INDICATOR_H
|
||||
#define TK_LANG_INDICATOR_H
|
||||
|
||||
#include "base/widget.h"
|
||||
|
||||
BEGIN_C_DECLS
|
||||
|
||||
/**
|
||||
* @class lang_indicator_t
|
||||
* @parent widget_t
|
||||
* @annotation ["scriptable","design","widget"]
|
||||
*
|
||||
* 输入法语言指示器。
|
||||
*
|
||||
* 用于显示输入法的输入语言或类型,主要用于T9输入法。
|
||||
*
|
||||
* lang_indicator\_t是[widget\_t](widget_t.md)的子类控件,widget\_t的函数均适用于lang_indicator\_t控件。
|
||||
*
|
||||
* 在xml中使用"lang_indicator"标签创建lang_indicator。如:
|
||||
*
|
||||
* ```xml
|
||||
* <lang_indicator x="0" y="0" w="100%" h="100%" children_layout="default(c=2,r=2,m=5,s=5)">
|
||||
* </lang_indicator>
|
||||
* ```
|
||||
*
|
||||
* 可用通过style来设置控件的显示风格,如背景颜色等。如:
|
||||
*
|
||||
* ```xml
|
||||
* <style name="default" border_color="#a0a0a0">
|
||||
* <normal bg_color="#f0f0f0" />
|
||||
* </style>
|
||||
* ```
|
||||
*/
|
||||
typedef struct _lang_indicator_t {
|
||||
widget_t widget;
|
||||
/**
|
||||
* @property {char*} image
|
||||
* @annotation ["set_prop","get_prop","readable","persitent","design","scriptable"]
|
||||
*
|
||||
* 如果希望用图片格式显示,本属性用于指定图片的前缀。
|
||||
*
|
||||
*/
|
||||
char* image;
|
||||
|
||||
/*private*/
|
||||
uint32_t event_id;
|
||||
} lang_indicator_t;
|
||||
|
||||
/**
|
||||
* @method lang_indicator_create
|
||||
* 创建lang_indicator对象
|
||||
* @annotation ["constructor", "scriptable"]
|
||||
* @param {widget_t*} parent 父控件
|
||||
* @param {xy_t} x x坐标
|
||||
* @param {xy_t} y y坐标
|
||||
* @param {wh_t} w 宽度
|
||||
* @param {wh_t} h 高度
|
||||
*
|
||||
* @return {widget_t*} 对象。
|
||||
*/
|
||||
widget_t* lang_indicator_create(widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h);
|
||||
|
||||
/**
|
||||
* @method lang_indicator_set_image
|
||||
* 设置缺省获得焦点的子控件(可用控件名或类型)。
|
||||
* @annotation ["scriptable"]
|
||||
* @param {widget_t*} widget 控件对象。
|
||||
* @param {const char*} image 缺省获得焦点的子控件(可用控件名或类型)。
|
||||
*
|
||||
* @return {ret_t} 返回RET_OK表示成功,否则表示失败。
|
||||
*/
|
||||
ret_t lang_indicator_set_image(widget_t* widget, const char* image);
|
||||
|
||||
/**
|
||||
* @method lang_indicator_cast
|
||||
* 转换为lang_indicator对象(供脚本语言使用)。
|
||||
* @annotation ["cast", "scriptable"]
|
||||
* @param {widget_t*} widget lang_indicator对象。
|
||||
*
|
||||
* @return {widget_t*} lang_indicator对象。
|
||||
*/
|
||||
widget_t* lang_indicator_cast(widget_t* widget);
|
||||
|
||||
#define WIDGET_TYPE_LANG_INDICATOR "lang_indicator"
|
||||
#define LANG_INDICATOR(widget) ((lang_indicator_t*)(lang_indicator_cast(WIDGET(widget))))
|
||||
|
||||
END_C_DECLS
|
||||
|
||||
#endif /*TK_LANG_INDICATOR_H*/
|
@ -443,10 +443,18 @@ static ret_t mledit_on_event(widget_t* widget, event_t* e) {
|
||||
break;
|
||||
}
|
||||
case EVT_IM_COMMIT: {
|
||||
text_edit_state_t state;
|
||||
text_edit_get_state(mledit->model, &state);
|
||||
im_commit_event_t* evt = (im_commit_event_t*)e;
|
||||
|
||||
if (mledit->readonly) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (state.preedit) {
|
||||
text_edit_preedit_clear(mledit->model);
|
||||
}
|
||||
|
||||
if (evt->replace) {
|
||||
mledit_clear(mledit);
|
||||
}
|
||||
@ -455,6 +463,18 @@ static ret_t mledit_on_event(widget_t* widget, event_t* e) {
|
||||
widget_invalidate(widget, NULL);
|
||||
break;
|
||||
}
|
||||
case EVT_IM_PREEDIT: {
|
||||
text_edit_preedit(mledit->model);
|
||||
break;
|
||||
}
|
||||
case EVT_IM_PREEDIT_CONFIRM: {
|
||||
text_edit_preedit_confirm(mledit->model);
|
||||
break;
|
||||
}
|
||||
case EVT_IM_PREEDIT_ABORT: {
|
||||
text_edit_preedit_abort(mledit->model);
|
||||
break;
|
||||
}
|
||||
case EVT_IM_ACTION: {
|
||||
mledit_commit_str(widget, "\n");
|
||||
widget_invalidate(widget, NULL);
|
||||
@ -630,6 +650,8 @@ const char* s_mledit_properties[] = {
|
||||
|
||||
TK_DECL_VTABLE(mledit) = {.size = sizeof(mledit_t),
|
||||
.type = WIDGET_TYPE_MLEDIT,
|
||||
.focusable = TRUE,
|
||||
.inputable = TRUE,
|
||||
.clone_properties = s_mledit_properties,
|
||||
.persistent_properties = s_mledit_properties,
|
||||
.parent = TK_PARENT_VTABLE(widget),
|
||||
|
87
src/input_engines/README.md
Normal file
87
src/input_engines/README.md
Normal file
@ -0,0 +1,87 @@
|
||||
# 输入法引擎实现
|
||||
|
||||
目前只支持中文输入,如果有多语言输入需求,请找专业的输入法公司合作。
|
||||
|
||||
这里提供的输入引擎,主要用作参考,请自行优化和裁剪。
|
||||
|
||||
> 如果不启用输入法,可以不用加任何输入法引擎。
|
||||
|
||||
## 1.输入引擎介绍
|
||||
|
||||
### 1.1 null 输入引擎法
|
||||
|
||||
* 文件 input\_engine\_null.c
|
||||
* 宏:WITH\_IME\_NULL
|
||||
|
||||
> 如果不需要中文输入法,但又需要软键盘,请启用本引擎。
|
||||
|
||||
### 1.2 Goole 拼音输入引擎
|
||||
|
||||
* 文件:input\_engine\_pinyin.cpp
|
||||
* 宏:WITH\_IME\_PINYIN
|
||||
|
||||
> 如果需要拼音输入法,推荐使用本引擎。
|
||||
|
||||
### 1.3 简单的拼音输入引擎
|
||||
|
||||
* 文件:input\_engine\_spinyin.c
|
||||
* 宏:WITH\_IME\_SPINYIN
|
||||
|
||||
> 优点是简单,如果不想用 Goole 拼音输入引擎,可以使用本引擎。
|
||||
|
||||
### 1.4 带触屏的 T9 输入法引擎
|
||||
|
||||
* 文件:input\_engine\_t9.c
|
||||
* 宏:WITH\_IME\_SPINYIN:
|
||||
* 软键盘:
|
||||
* 缺省软键盘:demos/assets/default/raw/ui/kb\_default\_t9.xml
|
||||
* ascii 软键盘:demos/assets/default/raw/ui/kb\_ascii\_t9.xml
|
||||
|
||||
> 如果需要 T9 输入法,带有触摸屏,请使用本引擎。
|
||||
|
||||
### 1.5 不带触屏的 T9 输入法引擎
|
||||
|
||||
* 文件:input\_engine\_t9ext.c
|
||||
* 宏:WITH\_IME\_T9EXT
|
||||
* 软键盘:
|
||||
* 缺省软键盘:demos/assets/default/raw/ui/kb\_default\_t9ext.xml
|
||||
|
||||
> 如果需要 T9 输入法,而且没有触摸屏,使用外部硬键盘,请使用本引擎。
|
||||
|
||||
> 在PC上模拟测试时,可以用ESC键切换输入模式,在嵌入式平台可以重定义宏SWITCH\_INPUT\_MODE\_KEY来指定切换的按键。
|
||||
|
||||
## 2.数据生成
|
||||
|
||||
* t9\_en\_us.inc 由 tools/ime\_gen/to\_t9\_en.js 根据 english\_words.txt 生成。
|
||||
* pinyin\_table.inc 由 tools/ime\_gen/to\_pinyin.js 根据 chinese\_words.txt 生成。
|
||||
* t9\_zh\_cn.inc 由 tools/ime\_gen/to\_t9\_zh.js 根据 chinese\_words.txt 生成。
|
||||
* t9ext\_zh\_cn.inc 由 tools/ime\_gen/to\_t9ext\_zh.js 根据 chinese\_words.txt 生成。
|
||||
|
||||
如果需要裁剪,请编辑相应的输入文件,并重新生成。
|
||||
|
||||
## 3. Scons 编译脚本
|
||||
|
||||
编辑 awtk\_config.py 中的 INPUT\_ENGINE,可以选择不同的输入法引擎。
|
||||
|
||||
```
|
||||
#INPUT_ENGINE='null'
|
||||
#INPUT_ENGINE='spinyin'
|
||||
#INPUT_ENGINE='t9'
|
||||
#INPUT_ENGINE='t9ext'
|
||||
INPUT_ENGINE='pinyin'
|
||||
```
|
||||
|
||||
## 4. 指定软键盘
|
||||
|
||||
软键盘必须和输入法引擎配套使用 (T9/T9EXT),可以替换默认的软键盘 UI 文件,也可以在编辑器的属性中指定软键盘。
|
||||
|
||||
如:
|
||||
|
||||
```xml
|
||||
<window anim_hint="htranslate" >
|
||||
<edit x="10" y="10" w="-20" h="30" keyboard="kb_default_t9ext" focused="true" />
|
||||
<edit x="10" y="50" w="-20" h="30" keyboard="kb_default_t9ext" focused="true" />
|
||||
<mledit x="10" y="90" w="-20" h="80" keyboard="kb_default_t9ext" focused="true" />
|
||||
</window>
|
||||
```
|
||||
|
177
src/input_engines/ime_utils.c
Normal file
177
src/input_engines/ime_utils.c
Normal file
@ -0,0 +1,177 @@
|
||||
|
||||
/**
|
||||
* File: t9.c
|
||||
* Author: AWTK Develop Team
|
||||
* Brief: t9 input method helper functions
|
||||
*
|
||||
* Copyright (c) 2018 - 2020 Guangzhou ZHIYUAN Electronics Co.,Ltd.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* License file for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* History:
|
||||
* ================================================================
|
||||
* 2020-04-16 Li XianJing <xianjimli@hotmail.com> created
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ime_utils.h"
|
||||
|
||||
int32_t table_search_index(const table_entry_t* items, uint32_t items_nr, const char* key,
|
||||
uint32_t key_len, bool_t exact) {
|
||||
int r = 0;
|
||||
int32_t low = 0;
|
||||
int32_t high = items_nr - 1;
|
||||
|
||||
while (low <= high) {
|
||||
uint32_t mid = (low + high) / 2;
|
||||
const table_entry_t* iter = items + mid;
|
||||
|
||||
if (exact) {
|
||||
r = strcmp(iter->key, key);
|
||||
} else {
|
||||
r = strncmp(iter->key, key, key_len);
|
||||
}
|
||||
|
||||
if (r == 0) {
|
||||
return mid;
|
||||
} else if (r < 0) {
|
||||
low = mid + 1;
|
||||
} else {
|
||||
high = mid - 1;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
static ret_t wbuffer_write_string_if_has_room(wbuffer_t* wb, const char* str) {
|
||||
uint32_t len = 0;
|
||||
|
||||
if (str == NULL) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
len = strlen(str);
|
||||
if (wbuffer_has_room(wb, len + 1)) {
|
||||
return wbuffer_write_string(wb, str);
|
||||
}
|
||||
|
||||
return RET_FAIL;
|
||||
}
|
||||
|
||||
static uint32_t count_words(const char** words) {
|
||||
uint32_t n = 0;
|
||||
|
||||
while (words[n] != NULL) n++;
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
uint32_t table_search(const table_entry_t* items, uint32_t items_nr, const char* key,
|
||||
wbuffer_t* result, bool_t exact) {
|
||||
uint32_t i = 0;
|
||||
uint32_t nr = 0;
|
||||
int32_t found = 0;
|
||||
uint32_t key_len = 0;
|
||||
const table_entry_t* iter = NULL;
|
||||
return_value_if_fail(items != NULL && key != NULL && result != NULL, 0);
|
||||
|
||||
key_len = strlen(key);
|
||||
if (key_len == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*match exact*/
|
||||
found = table_search_index(items, items_nr, key, key_len, TRUE);
|
||||
if (found >= 0) {
|
||||
iter = items + found;
|
||||
|
||||
if (key_len > 1) {
|
||||
nr++;
|
||||
wbuffer_write_string_if_has_room(result, iter->memo);
|
||||
}
|
||||
|
||||
while (iter->words[i] != NULL) {
|
||||
if (wbuffer_write_string_if_has_room(result, iter->words[i]) != RET_OK) {
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
nr++;
|
||||
}
|
||||
|
||||
return nr;
|
||||
}
|
||||
|
||||
if (exact) {
|
||||
return nr;
|
||||
}
|
||||
|
||||
/*match prefix*/
|
||||
found = table_search_index(items, items_nr, key, key_len, FALSE);
|
||||
if (found >= 0) {
|
||||
uint32_t k = 0;
|
||||
uint32_t key_len = strlen(key);
|
||||
|
||||
iter = items + found;
|
||||
if (key_len > 1) {
|
||||
nr++;
|
||||
wbuffer_write_string_if_has_room(result, iter->memo);
|
||||
}
|
||||
|
||||
while (found > 0) {
|
||||
iter = items + found - 1;
|
||||
if (strncmp(iter->key, key, key_len) == 0) {
|
||||
found--;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
for (k = found; k < items_nr; k++) {
|
||||
iter = items + k;
|
||||
if (strncmp(iter->key, key, key_len) == 0) {
|
||||
if (count_words(iter->words) > i) {
|
||||
if (wbuffer_write_string_if_has_room(result, iter->words[i]) != RET_OK) {
|
||||
return nr;
|
||||
}
|
||||
nr++;
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nr;
|
||||
}
|
||||
|
||||
ret_t input_engine_add_chars(wbuffer_t* wb, const wchar_t** table, char c) {
|
||||
char str[8];
|
||||
uint32_t n = 0;
|
||||
const wchar_t* p = NULL;
|
||||
uint32_t index = c - '0';
|
||||
return_value_if_fail(index >= 0 && index <= 9, RET_BAD_PARAMS);
|
||||
|
||||
p = table[index];
|
||||
while (*p) {
|
||||
memset(str, 0x00, sizeof(str));
|
||||
tk_utf8_from_utf16_ex(p, 1, str, sizeof(str));
|
||||
|
||||
if (wbuffer_write_string(wb, str) != RET_OK) {
|
||||
break;
|
||||
}
|
||||
n++;
|
||||
p++;
|
||||
}
|
||||
|
||||
return n;
|
||||
}
|
||||
|
45
src/input_engines/ime_utils.h
Normal file
45
src/input_engines/ime_utils.h
Normal file
@ -0,0 +1,45 @@
|
||||
|
||||
/**
|
||||
* File: t9.h
|
||||
* Author: AWTK Develop Team
|
||||
* Brief: t9 input method helper functions
|
||||
*
|
||||
* Copyright (c) 2018 - 2020 Guangzhou ZHIYUAN Electronics Co.,Ltd.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* License file for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* History:
|
||||
* ================================================================
|
||||
* 2020-04-16 Li XianJing <xianjimli@hotmail.com> created
|
||||
*
|
||||
*/
|
||||
|
||||
#include "tkc/mem.h"
|
||||
#include "tkc/utf8.h"
|
||||
#include "tkc/buffer.h"
|
||||
|
||||
#ifndef TK_IME_UTILS
|
||||
#define TK_IME_UTILS
|
||||
|
||||
BEGIN_C_DECLS
|
||||
|
||||
typedef struct _table_entry_t {
|
||||
const char* key;
|
||||
const char* memo;
|
||||
const char** words;
|
||||
} table_entry_t;
|
||||
|
||||
uint32_t table_search(const table_entry_t* items, uint32_t items_nr, const char* keys,
|
||||
wbuffer_t* result, bool_t exact);
|
||||
|
||||
ret_t input_engine_add_chars(wbuffer_t* wb, const wchar_t** table, char c);
|
||||
|
||||
END_C_DECLS
|
||||
|
||||
#endif /*TK_IME_UTILS*/
|
@ -22,6 +22,9 @@
|
||||
#include "tkc/mem.h"
|
||||
#include "tkc/buffer.h"
|
||||
#include "base/input_engine.h"
|
||||
#include "base/input_method.h"
|
||||
|
||||
#ifdef WITH_IME_NULL
|
||||
|
||||
static ret_t input_engine_null_reset_input(input_engine_t* engine) {
|
||||
(void)engine;
|
||||
@ -29,20 +32,21 @@ static ret_t input_engine_null_reset_input(input_engine_t* engine) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t input_engine_null_input(input_engine_t* engine, int c) {
|
||||
static ret_t input_engine_null_search(input_engine_t* engine, const char* keys) {
|
||||
wbuffer_t wb;
|
||||
uint32_t keys_size = strlen(keys);
|
||||
wbuffer_init(&wb, (uint8_t*)(engine->candidates), sizeof(engine->candidates));
|
||||
|
||||
(void)c;
|
||||
if (engine->keys.size > 0) {
|
||||
wbuffer_write_string(&wb, engine->keys.str);
|
||||
if (keys_size > 0) {
|
||||
wbuffer_write_string(&wb, keys);
|
||||
wbuffer_write_string(&wb, "广");
|
||||
wbuffer_write_string(&wb, "州");
|
||||
wbuffer_write_string(&wb, "致");
|
||||
wbuffer_write_string(&wb, "远");
|
||||
wbuffer_write_string(&wb, "电子");
|
||||
wbuffer_write_string(&wb, "有限公司");
|
||||
engine->candidates_nr = 8;
|
||||
engine->candidates_nr = 7;
|
||||
input_method_dispatch_candidates(engine->im, engine->candidates, engine->candidates_nr);
|
||||
} else {
|
||||
engine->candidates_nr = 0;
|
||||
}
|
||||
@ -50,13 +54,14 @@ static ret_t input_engine_null_input(input_engine_t* engine, int c) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
input_engine_t* input_engine_create(void) {
|
||||
input_engine_t* input_engine_create(input_method_t* im) {
|
||||
input_engine_t* engine = TKMEM_ZALLOC(input_engine_t);
|
||||
return_value_if_fail(engine != NULL, NULL);
|
||||
|
||||
str_init(&(engine->keys), TK_IM_MAX_INPUT_CHARS + 1);
|
||||
engine->reset_input = input_engine_null_reset_input;
|
||||
engine->input = input_engine_null_input;
|
||||
engine->search = input_engine_null_search;
|
||||
engine->im = im;
|
||||
|
||||
return engine;
|
||||
}
|
||||
@ -68,3 +73,4 @@ ret_t input_engine_destroy(input_engine_t* engine) {
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
#endif /*WITH_IME_NULL*/
|
||||
|
@ -23,12 +23,20 @@
|
||||
#include "tkc/utf8.h"
|
||||
#include "tkc/buffer.h"
|
||||
#include "base/input_engine.h"
|
||||
#include "base/input_method.h"
|
||||
|
||||
#ifdef WITH_IME_PINYIN
|
||||
|
||||
#include "pinyinime.h"
|
||||
|
||||
#define MAX_WORD_LEN 32
|
||||
|
||||
using namespace ime_pinyin;
|
||||
|
||||
static const char* input_engine_pinyin_get_lang(input_engine_t* engine) {
|
||||
return IM_LANG_ZH_CN;
|
||||
}
|
||||
|
||||
static ret_t input_engine_pinyin_reset_input(input_engine_t* engine) {
|
||||
(void)engine;
|
||||
im_reset_search();
|
||||
@ -60,13 +68,21 @@ static ret_t input_engine_pinyin_add_candidate(input_engine_t* engine, wbuffer_t
|
||||
return wbuffer_write_string(wb, str);
|
||||
}
|
||||
|
||||
static ret_t input_engine_pinyin_input(input_engine_t* engine, int c) {
|
||||
uint32_t i = 0;
|
||||
static ret_t input_engine_pinyin_search(input_engine_t* engine, const char* keys) {
|
||||
wbuffer_t wb;
|
||||
uint32_t nr = im_search(engine->keys.str, engine->keys.size);
|
||||
uint32_t i = 0;
|
||||
uint32_t keys_size = strlen(keys);
|
||||
uint32_t nr = im_search(keys, keys_size);
|
||||
wbuffer_init(&wb, (uint8_t*)(engine->candidates), sizeof(engine->candidates));
|
||||
|
||||
wbuffer_write_string(&wb, engine->keys.str);
|
||||
if (keys_size == 0) {
|
||||
input_engine_reset_input(engine);
|
||||
input_method_dispatch_candidates(engine->im, engine->candidates, 0);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
wbuffer_write_string(&wb, keys);
|
||||
engine->candidates_nr = 1;
|
||||
|
||||
for (i = 0; i < nr; i++) {
|
||||
@ -77,18 +93,21 @@ static ret_t input_engine_pinyin_input(input_engine_t* engine, int c) {
|
||||
}
|
||||
}
|
||||
|
||||
(void)c;
|
||||
input_method_dispatch_candidates(engine->im, engine->candidates, engine->candidates_nr);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
input_engine_t* input_engine_create(void) {
|
||||
input_engine_t* input_engine_create(input_method_t* im) {
|
||||
input_engine_t* engine = TKMEM_ZALLOC(input_engine_t);
|
||||
return_value_if_fail(engine != NULL, NULL);
|
||||
|
||||
str_init(&(engine->keys), TK_IM_MAX_INPUT_CHARS + 1);
|
||||
engine->reset_input = input_engine_pinyin_reset_input;
|
||||
engine->input = input_engine_pinyin_input;
|
||||
|
||||
engine->im = im;
|
||||
engine->search = input_engine_pinyin_search;
|
||||
engine->get_lang = input_engine_pinyin_get_lang;
|
||||
|
||||
im_open_decoder_rom();
|
||||
im_set_max_lens(32, 16);
|
||||
@ -104,3 +123,5 @@ ret_t input_engine_destroy(input_engine_t* engine) {
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
#endif /*WITH_IME_PINYIN*/
|
||||
|
90
src/input_engines/input_engine_spinyin.c
Normal file
90
src/input_engines/input_engine_spinyin.c
Normal file
@ -0,0 +1,90 @@
|
||||
/**
|
||||
* File: input_engine_spinyin.c
|
||||
* Author: AWTK Develop Team
|
||||
* Brief: simple pinyin input engine
|
||||
*
|
||||
* Copyright (c) 2018 - 2020 Guangzhou ZHIYUAN Electronics Co.,Ltd.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* License file for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* History:
|
||||
* ================================================================
|
||||
* 2020-04-18 Li XianJing <xianjimli@hotmail.com> created
|
||||
*
|
||||
*/
|
||||
#include "tkc/mem.h"
|
||||
#include "tkc/utf8.h"
|
||||
#include "tkc/buffer.h"
|
||||
#include "base/input_engine.h"
|
||||
#include "base/input_method.h"
|
||||
|
||||
#ifdef WITH_IME_SPINYIN
|
||||
|
||||
#include "ime_utils.h"
|
||||
#include "pinyin_table.inc"
|
||||
|
||||
static const char* input_engine_spinyin_get_lang(input_engine_t* engine) {
|
||||
return IM_LANG_ZH_CN;
|
||||
}
|
||||
|
||||
static ret_t input_engine_spinyin_reset_input(input_engine_t* engine) {
|
||||
input_method_dispatch_candidates(engine->im, engine->candidates, 0);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t input_engine_spinyin_search(input_engine_t* engine, const char* keys) {
|
||||
wbuffer_t wb;
|
||||
uint32_t keys_size = strlen(keys);
|
||||
const table_entry_t* items = s_pinyin_chinese_items;
|
||||
uint32_t items_nr = ARRAY_SIZE(s_pinyin_chinese_items);
|
||||
|
||||
if (keys_size < 1) {
|
||||
input_engine_reset_input(engine);
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
wbuffer_init(&wb, (uint8_t*)(engine->candidates), sizeof(engine->candidates));
|
||||
|
||||
engine->candidates_nr = 1;
|
||||
wbuffer_write_string(&wb, keys);
|
||||
engine->candidates_nr += table_search(items, items_nr, keys, &wb, FALSE);
|
||||
input_method_dispatch_candidates(engine->im, engine->candidates, engine->candidates_nr);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t input_engine_spinyin_set_lang(input_engine_t* engine, const char* lang) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
input_engine_t* input_engine_create(input_method_t* im) {
|
||||
input_engine_t* engine = TKMEM_ZALLOC(input_engine_t);
|
||||
|
||||
return_value_if_fail(engine != NULL, NULL);
|
||||
|
||||
str_init(&(engine->keys), TK_IM_MAX_INPUT_CHARS + 1);
|
||||
engine->reset_input = input_engine_spinyin_reset_input;
|
||||
engine->search = input_engine_spinyin_search;
|
||||
engine->set_lang = input_engine_spinyin_set_lang;
|
||||
engine->get_lang = input_engine_spinyin_get_lang;
|
||||
engine->im = im;
|
||||
|
||||
return engine;
|
||||
}
|
||||
|
||||
ret_t input_engine_destroy(input_engine_t* engine) {
|
||||
return_value_if_fail(engine != NULL, RET_BAD_PARAMS);
|
||||
str_reset(&(engine->keys));
|
||||
TKMEM_FREE(engine);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
#endif /*WITH_IME_SPINYIN*/
|
127
src/input_engines/input_engine_t9.c
Normal file
127
src/input_engines/input_engine_t9.c
Normal file
@ -0,0 +1,127 @@
|
||||
/**
|
||||
* File: input_engine_t9.c
|
||||
* Author: AWTK Develop Team
|
||||
* Brief: t9 input method engine
|
||||
*
|
||||
* Copyright (c) 2018 - 2020 Guangzhou ZHIYUAN Electronics Co.,Ltd.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* License file for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* History:
|
||||
* ================================================================
|
||||
* 2020-04-16 Li XianJing <xianjimli@hotmail.com> created
|
||||
*
|
||||
*/
|
||||
#include "tkc/mem.h"
|
||||
#include "tkc/utf8.h"
|
||||
#include "tkc/utils.h"
|
||||
#include "tkc/buffer.h"
|
||||
#include "base/input_engine.h"
|
||||
|
||||
#ifdef WITH_IME_T9
|
||||
|
||||
#include "ime_utils.h"
|
||||
#include "t9_zh_cn.inc"
|
||||
#include "t9_en_us.inc"
|
||||
|
||||
typedef struct _input_engine_t9_t {
|
||||
input_engine_t input_engine;
|
||||
|
||||
uint32_t items_nr;
|
||||
const table_entry_t* items;
|
||||
char lang[TK_NAME_LEN + 1];
|
||||
} input_engine_t9_t;
|
||||
|
||||
static const char* input_engine_t9_get_lang(input_engine_t* engine) {
|
||||
input_engine_t9_t* t9 = (input_engine_t9_t*)engine;
|
||||
|
||||
return t9->lang;
|
||||
}
|
||||
|
||||
static ret_t input_engine_t9_reset_input(input_engine_t* engine) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static const wchar_t* s_table_num_chars[] = {
|
||||
L"", L"ABC", L"DEF", L"GHI", L"JKL", L"MNO", L"PQRS", L"TUV", L"WXYZ", L"",
|
||||
};
|
||||
|
||||
static ret_t input_engine_table_search(input_engine_t* engine, const char* keys) {
|
||||
wbuffer_t wb;
|
||||
uint32_t keys_size = strlen(keys);
|
||||
input_engine_t9_t* t9 = (input_engine_t9_t*)engine;
|
||||
|
||||
wbuffer_init(&wb, (uint8_t*)(engine->candidates), sizeof(engine->candidates));
|
||||
if (keys_size == 1) {
|
||||
engine->candidates_nr = input_engine_add_chars(&wb, s_table_num_chars, keys[0]);
|
||||
} else {
|
||||
engine->candidates_nr = 0;
|
||||
}
|
||||
engine->candidates_nr += table_search(t9->items, t9->items_nr, keys, &wb, FALSE);
|
||||
|
||||
log_debug("key=%s %d\n", keys, engine->candidates_nr);
|
||||
if (engine->candidates_nr == 0 && keys_size > 1) {
|
||||
engine->candidates_nr = 1;
|
||||
wbuffer_write_string(&wb, keys);
|
||||
}
|
||||
|
||||
input_method_dispatch_candidates(engine->im, engine->candidates, engine->candidates_nr);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t input_engine_t9_set_lang(input_engine_t* engine, const char* lang) {
|
||||
input_engine_t9_t* t9 = (input_engine_t9_t*)engine;
|
||||
return_value_if_fail(engine != NULL, RET_BAD_PARAMS);
|
||||
|
||||
log_debug("input_engine_t9_set_lang: %s\n", lang);
|
||||
if (tk_str_ieq(lang, "zh_cn")) {
|
||||
t9->items = s_t9_numbers_pinyin;
|
||||
t9->items_nr = ARRAY_SIZE(s_t9_numbers_pinyin);
|
||||
} else if (tk_str_ieq(lang, "en_us")) {
|
||||
t9->items = s_en_us_items;
|
||||
t9->items_nr = ARRAY_SIZE(s_en_us_items);
|
||||
} else {
|
||||
log_debug("not support lang:%s\n", lang);
|
||||
}
|
||||
|
||||
tk_strncpy(t9->lang, lang, TK_NAME_LEN);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
input_engine_t* input_engine_create(input_method_t* im) {
|
||||
input_engine_t9_t* t9 = TKMEM_ZALLOC(input_engine_t9_t);
|
||||
input_engine_t* engine = (input_engine_t*)t9;
|
||||
|
||||
return_value_if_fail(engine != NULL, NULL);
|
||||
|
||||
str_init(&(engine->keys), TK_IM_MAX_INPUT_CHARS + 1);
|
||||
engine->reset_input = input_engine_t9_reset_input;
|
||||
engine->search = input_engine_table_search;
|
||||
engine->set_lang = input_engine_t9_set_lang;
|
||||
engine->get_lang = input_engine_t9_get_lang;
|
||||
engine->im = im;
|
||||
|
||||
t9->items = s_en_us_items;
|
||||
t9->items_nr = ARRAY_SIZE(s_en_us_items);
|
||||
|
||||
return engine;
|
||||
}
|
||||
|
||||
ret_t input_engine_destroy(input_engine_t* engine) {
|
||||
return_value_if_fail(engine != NULL, RET_BAD_PARAMS);
|
||||
str_reset(&(engine->keys));
|
||||
TKMEM_FREE(engine);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
#endif /*WITH_IME_T9*/
|
||||
|
351
src/input_engines/input_engine_t9ext.c
Normal file
351
src/input_engines/input_engine_t9ext.c
Normal file
@ -0,0 +1,351 @@
|
||||
/**
|
||||
* File: input_engine_t9ext.c
|
||||
* Author: AWTK Develop Team
|
||||
* Brief: t9 input method engine
|
||||
*
|
||||
* Copyright (c) 2018 - 2020 Guangzhou ZHIYUAN Electronics Co.,Ltd.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* License file for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* History:
|
||||
* ================================================================
|
||||
* 2020-04-16 Li XianJing <xianjimli@hotmail.com> created
|
||||
*
|
||||
*/
|
||||
|
||||
#include "tkc/mem.h"
|
||||
#include "tkc/utf8.h"
|
||||
#include "tkc/buffer.h"
|
||||
#include "base/input_engine.h"
|
||||
#include "base/input_method.h"
|
||||
|
||||
#ifdef WITH_IME_T9EXT
|
||||
|
||||
#include "ime_utils.h"
|
||||
#include "t9ext_zh_cn.inc"
|
||||
#include "pinyin_table.inc"
|
||||
|
||||
typedef enum _input_mode_t {
|
||||
INPUT_MODE_DIGIT = 0,
|
||||
INPUT_MODE_LOWER,
|
||||
INPUT_MODE_UPPER,
|
||||
INPUT_MODE_ZH,
|
||||
INPUT_MODE_NR
|
||||
} input_mode_t;
|
||||
|
||||
typedef struct _input_engine_t9ext_t {
|
||||
input_engine_t input_engine;
|
||||
|
||||
input_mode_t mode;
|
||||
char pre_candidates[128];
|
||||
uint32_t pre_candidates_nr;
|
||||
|
||||
/*for lower/upper*/
|
||||
char last_c;
|
||||
uint32_t index;
|
||||
uint32_t timer_id;
|
||||
} input_engine_t9ext_t;
|
||||
|
||||
#ifndef SWITCH_INPUT_MODE_KEY
|
||||
#define SWITCH_INPUT_MODE_KEY TK_KEY_ESCAPE
|
||||
#endif /*SWITCH_INPUT_MODE_KEY*/
|
||||
|
||||
static ret_t input_engine_t9ext_input(input_engine_t* engine, int key) {
|
||||
input_engine_t9ext_t* t9 = (input_engine_t9ext_t*)engine;
|
||||
|
||||
if (key == SWITCH_INPUT_MODE_KEY) {
|
||||
event_t e = event_init(EVT_IM_LANG_CHANGED, engine->im);
|
||||
|
||||
t9->mode = (t9->mode + 1) % INPUT_MODE_NR;
|
||||
input_engine_reset_input(engine);
|
||||
|
||||
t9->index = 0;
|
||||
t9->last_c = 0;
|
||||
if (t9->timer_id != TK_INVALID_ID) {
|
||||
timer_remove(t9->timer_id);
|
||||
t9->timer_id = TK_INVALID_ID;
|
||||
}
|
||||
|
||||
input_method_dispatch(engine->im, &e);
|
||||
input_method_dispatch_candidates(engine->im, engine->candidates, 0);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
if (key >= TK_KEY_0 && key <= TK_KEY_9) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
if (key == TK_KEY_TAB) {
|
||||
widget_focus_next(engine->im->widget);
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
return RET_FAIL;
|
||||
}
|
||||
|
||||
static ret_t input_engine_t9ext_reset_input(input_engine_t* engine) {
|
||||
input_engine_t9ext_t* t9 = (input_engine_t9ext_t*)engine;
|
||||
|
||||
input_method_dispatch_pre_candidates(engine->im, t9->pre_candidates, 0, -1);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static const wchar_t* s_table_num_chars[] = {L"", L",。、:;?!《》『』(){}【】",
|
||||
L"2ABCabc", L"3DEFdef",
|
||||
L"4GHIghi", L"5JKLjkl",
|
||||
L"6MNOmno", L"7PQRSpqrs",
|
||||
L"8TUVtuv", L"9WXYZwxyz",
|
||||
NULL};
|
||||
|
||||
static ret_t input_engine_t9ext_commit_char(input_engine_t* engine, char c) {
|
||||
char str[2] = {c, 0};
|
||||
|
||||
return input_method_commit_text(engine->im, str);
|
||||
}
|
||||
|
||||
static ret_t input_engine_t9ext_search_digit(input_engine_t* engine, const char* keys) {
|
||||
input_engine_t9ext_commit_char(engine, *keys);
|
||||
input_engine_reset_input(engine);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static const wchar_t* s_table_num_lower[] = {L" ", L",.?:/@;:\"\'#$%^&*()_+-={}[]<>|\\",
|
||||
L"abc", L"def",
|
||||
L"ghi", L"jkl",
|
||||
L"mno", L"pqrs",
|
||||
L"tuv", L"wxyz",
|
||||
NULL};
|
||||
|
||||
static const wchar_t* s_table_num_upper[] = {L" ", L",.?:/@;:\"\'#$%^&*()_+-={}[]<>|\\",
|
||||
L"ABC", L"DEF",
|
||||
L"GHI", L"JKL",
|
||||
L"MNO", L"PQRS",
|
||||
L"TUV", L"WXYZ",
|
||||
NULL};
|
||||
|
||||
static ret_t input_engine_t9ext_preedit_confirm_timer(const timer_info_t* info) {
|
||||
input_engine_t* engine = (input_engine_t*)(info->ctx);
|
||||
input_engine_t9ext_t* t9 = (input_engine_t9ext_t*)(info->ctx);
|
||||
|
||||
t9->index = 0;
|
||||
t9->last_c = 0;
|
||||
t9->timer_id = TK_INVALID_ID;
|
||||
input_method_dispatch_preedit_confirm(engine->im);
|
||||
input_engine_reset_input(engine);
|
||||
|
||||
return RET_REMOVE;
|
||||
}
|
||||
|
||||
static ret_t input_engine_t9ext_search_alpha(input_engine_t* engine, char c,
|
||||
const wchar_t** table) {
|
||||
uint32_t i = 0;
|
||||
wbuffer_t wb;
|
||||
input_engine_t9ext_t* t9 = (input_engine_t9ext_t*)engine;
|
||||
return_value_if_fail(c >= '0' && c <= '9', RET_FAIL);
|
||||
|
||||
i = c - '0';
|
||||
if (t9->timer_id == TK_INVALID_ID) {
|
||||
t9->index = 0;
|
||||
t9->last_c = c;
|
||||
input_method_dispatch_preedit(engine->im);
|
||||
t9->timer_id = timer_add(input_engine_t9ext_preedit_confirm_timer, engine, 1000);
|
||||
} else {
|
||||
timer_modify(t9->timer_id, 1000);
|
||||
|
||||
if (t9->last_c != c) {
|
||||
input_method_dispatch_preedit_confirm(engine->im);
|
||||
|
||||
t9->index = 0;
|
||||
t9->last_c = c;
|
||||
input_method_dispatch_preedit(engine->im);
|
||||
} else {
|
||||
t9->index = (t9->index + 1) % wcslen(table[i]);
|
||||
}
|
||||
}
|
||||
|
||||
input_engine_t9ext_commit_char(engine, table[i][t9->index]);
|
||||
engine->keys.size = 0;
|
||||
|
||||
wbuffer_init(&wb, (uint8_t*)(t9->pre_candidates), sizeof(t9->pre_candidates));
|
||||
t9->pre_candidates_nr = input_engine_add_chars(&wb, table, c);
|
||||
input_method_dispatch_pre_candidates(engine->im, t9->pre_candidates, t9->pre_candidates_nr,
|
||||
t9->index);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t input_engine_t9ext_search_lower(input_engine_t* engine, const char* keys) {
|
||||
return input_engine_t9ext_search_alpha(engine, *keys, s_table_num_lower);
|
||||
}
|
||||
|
||||
static ret_t input_engine_t9ext_search_upper(input_engine_t* engine, const char* keys) {
|
||||
return input_engine_t9ext_search_alpha(engine, *keys, s_table_num_upper);
|
||||
}
|
||||
|
||||
static ret_t input_engine_t9ext_search_zh(input_engine_t* engine, const char* keys) {
|
||||
wbuffer_t wb;
|
||||
const char* first = NULL;
|
||||
uint32_t keys_size = strlen(keys);
|
||||
input_engine_t9ext_t* t9 = (input_engine_t9ext_t*)engine;
|
||||
|
||||
if (isdigit(keys[0])) {
|
||||
/*map digits to pinyin*/
|
||||
const table_entry_t* items = s_t9ext_numbers_pinyin;
|
||||
uint32_t items_nr = ARRAY_SIZE(s_t9ext_numbers_pinyin);
|
||||
|
||||
wbuffer_init(&wb, (uint8_t*)(t9->pre_candidates), sizeof(t9->pre_candidates));
|
||||
|
||||
first = (const char*)(wb.data);
|
||||
if (keys_size == 1) {
|
||||
t9->pre_candidates_nr = 1;
|
||||
wbuffer_write_string(&wb, keys);
|
||||
} else {
|
||||
t9->pre_candidates_nr = 0;
|
||||
}
|
||||
|
||||
t9->pre_candidates_nr += table_search(items, items_nr, keys, &wb, FALSE);
|
||||
if (t9->pre_candidates_nr == 0) {
|
||||
t9->pre_candidates_nr = 1;
|
||||
wbuffer_write_string(&wb, keys);
|
||||
input_method_dispatch_pre_candidates(engine->im, t9->pre_candidates, t9->pre_candidates_nr,
|
||||
0);
|
||||
} else {
|
||||
input_method_dispatch_pre_candidates(engine->im, t9->pre_candidates, t9->pre_candidates_nr,
|
||||
0);
|
||||
|
||||
wbuffer_init(&wb, (uint8_t*)(engine->candidates), sizeof(engine->candidates));
|
||||
if (keys_size == 1) {
|
||||
engine->candidates_nr = input_engine_add_chars(&wb, s_table_num_chars, *keys);
|
||||
} else if (*first) {
|
||||
/*map first pinyin to Chinese chars*/
|
||||
const table_entry_t* items = s_pinyin_chinese_items;
|
||||
uint32_t items_nr = ARRAY_SIZE(s_pinyin_chinese_items);
|
||||
engine->candidates_nr = table_search(items, items_nr, first, &wb, TRUE);
|
||||
}
|
||||
input_method_dispatch_candidates(engine->im, engine->candidates, engine->candidates_nr);
|
||||
}
|
||||
} else {
|
||||
/*map pinyin to Chinese chars*/
|
||||
const table_entry_t* items = s_pinyin_chinese_items;
|
||||
uint32_t items_nr = ARRAY_SIZE(s_pinyin_chinese_items);
|
||||
|
||||
wbuffer_init(&wb, (uint8_t*)(engine->candidates), sizeof(engine->candidates));
|
||||
engine->candidates_nr = table_search(items, items_nr, keys, &wb, TRUE);
|
||||
input_method_dispatch_candidates(engine->im, engine->candidates, engine->candidates_nr);
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t input_engine_t9ext_search(input_engine_t* engine, const char* keys) {
|
||||
uint32_t keys_size = 0;
|
||||
input_engine_t9ext_t* t9 = (input_engine_t9ext_t*)engine;
|
||||
return_value_if_fail(keys != NULL, RET_FAIL);
|
||||
keys_size = strlen(keys);
|
||||
|
||||
if (keys_size == 0) {
|
||||
input_engine_reset_input(engine);
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
log_debug("keys:%s\n", keys);
|
||||
|
||||
if (t9->mode == INPUT_MODE_DIGIT) {
|
||||
return input_engine_t9ext_search_digit(engine, keys);
|
||||
}
|
||||
|
||||
if (keys[0] == '0') {
|
||||
input_engine_reset_input(engine);
|
||||
input_method_commit_text(engine->im, " ");
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
switch (t9->mode) {
|
||||
case INPUT_MODE_LOWER: {
|
||||
return input_engine_t9ext_search_lower(engine, keys);
|
||||
}
|
||||
case INPUT_MODE_UPPER: {
|
||||
return input_engine_t9ext_search_upper(engine, keys);
|
||||
}
|
||||
default: {
|
||||
if (keys[0] == '1') {
|
||||
wbuffer_t wb;
|
||||
wbuffer_init(&wb, (uint8_t*)(t9->pre_candidates), sizeof(t9->pre_candidates));
|
||||
|
||||
t9->pre_candidates_nr = 1;
|
||||
wbuffer_write_string(&wb, keys);
|
||||
input_engine_reset_input(engine);
|
||||
input_method_dispatch_pre_candidates(engine->im, t9->pre_candidates, t9->pre_candidates_nr,
|
||||
0);
|
||||
|
||||
wbuffer_init(&wb, (uint8_t*)(engine->candidates), sizeof(engine->candidates));
|
||||
engine->candidates_nr = input_engine_add_chars(&wb, s_table_num_chars, '1');
|
||||
input_method_dispatch_candidates(engine->im, engine->candidates, engine->candidates_nr);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
return input_engine_t9ext_search_zh(engine, keys);
|
||||
}
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static ret_t input_engine_t9ext_set_lang(input_engine_t* engine, const char* lang) {
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
static const char* input_engine_t9ext_get_lang(input_engine_t* engine) {
|
||||
input_engine_t9ext_t* t9 = (input_engine_t9ext_t*)engine;
|
||||
switch (t9->mode) {
|
||||
case INPUT_MODE_DIGIT: {
|
||||
return IM_LANG_DIGIT;
|
||||
}
|
||||
case INPUT_MODE_LOWER: {
|
||||
return IM_LANG_LOWER;
|
||||
}
|
||||
case INPUT_MODE_UPPER: {
|
||||
return IM_LANG_UPPER;
|
||||
}
|
||||
default: { return "pinyin"; }
|
||||
}
|
||||
}
|
||||
|
||||
input_engine_t* input_engine_create(input_method_t* im) {
|
||||
input_engine_t9ext_t* t9 = TKMEM_ZALLOC(input_engine_t9ext_t);
|
||||
input_engine_t* engine = (input_engine_t*)t9;
|
||||
|
||||
return_value_if_fail(engine != NULL, NULL);
|
||||
|
||||
t9->mode = INPUT_MODE_ZH;
|
||||
str_init(&(engine->keys), TK_IM_MAX_INPUT_CHARS + 1);
|
||||
|
||||
engine->im = im;
|
||||
engine->input = input_engine_t9ext_input;
|
||||
engine->search = input_engine_t9ext_search;
|
||||
engine->set_lang = input_engine_t9ext_set_lang;
|
||||
engine->get_lang = input_engine_t9ext_get_lang;
|
||||
engine->reset_input = input_engine_t9ext_reset_input;
|
||||
|
||||
return engine;
|
||||
}
|
||||
|
||||
ret_t input_engine_destroy(input_engine_t* engine) {
|
||||
return_value_if_fail(engine != NULL, RET_BAD_PARAMS);
|
||||
str_reset(&(engine->keys));
|
||||
TKMEM_FREE(engine);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
#endif /*WITH_IME_T9EXT*/
|
78471
src/input_engines/pinyin_table.inc
Normal file
78471
src/input_engines/pinyin_table.inc
Normal file
File diff suppressed because it is too large
Load Diff
26325
src/input_engines/t9_en_us.inc
Normal file
26325
src/input_engines/t9_en_us.inc
Normal file
File diff suppressed because it is too large
Load Diff
87961
src/input_engines/t9_zh_cn.inc
Normal file
87961
src/input_engines/t9_zh_cn.inc
Normal file
File diff suppressed because it is too large
Load Diff
87084
src/input_engines/t9ext_zh_cn.inc
Normal file
87084
src/input_engines/t9ext_zh_cn.inc
Normal file
File diff suppressed because it is too large
Load Diff
@ -313,7 +313,7 @@ input_method_t* input_method_default_create(void) {
|
||||
im->destroy = input_method_default_destroy;
|
||||
|
||||
emitter_init(&(im->emitter));
|
||||
im->engine = input_engine_create();
|
||||
im->engine = input_engine_create(im);
|
||||
|
||||
#ifndef WITHOUT_SUGGEST_WORDS
|
||||
im->suggest_words = suggest_words_create((const asset_info_t*)(data_words_bin));
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -144,6 +144,12 @@ ret_t wbuffer_write_binary(wbuffer_t* wbuffer, const void* data, uint32_t size)
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
bool_t wbuffer_has_room(wbuffer_t* wbuffer, uint32_t size) {
|
||||
return_value_if_fail(wbuffer != NULL && wbuffer->data != NULL, FALSE);
|
||||
|
||||
return (wbuffer->cursor + size) <= wbuffer->capacity;
|
||||
}
|
||||
|
||||
ret_t wbuffer_write_string(wbuffer_t* wbuffer, const char* data) {
|
||||
return_value_if_fail(data != NULL, RET_BAD_PARAMS);
|
||||
|
||||
|
@ -197,6 +197,16 @@ ret_t wbuffer_write_binary(wbuffer_t* wbuffer, const void* data, uint32_t size);
|
||||
*/
|
||||
ret_t wbuffer_write_string(wbuffer_t* wbuffer, const char* data);
|
||||
|
||||
/**
|
||||
* @method wbuffer_has_room
|
||||
* 是否还有空间。
|
||||
* @param {wbuffer_t*} wbuffer wbuffer对象。
|
||||
* @param {uint32_t} size 空间大小。
|
||||
*
|
||||
* @return {bool_t} 返回FALSE表示无,否则表示有。
|
||||
*/
|
||||
bool_t wbuffer_has_room(wbuffer_t* wbuffer, uint32_t size);
|
||||
|
||||
/**
|
||||
* @class rbuffer_t
|
||||
* Read Buffer。用于数据解包。
|
||||
|
@ -583,15 +583,35 @@ ret_t edit_on_event(widget_t* widget, event_t* e) {
|
||||
break;
|
||||
}
|
||||
case EVT_IM_COMMIT: {
|
||||
text_edit_state_t state;
|
||||
text_edit_get_state(edit->model, &state);
|
||||
im_commit_event_t* evt = (im_commit_event_t*)e;
|
||||
|
||||
if (state.preedit) {
|
||||
text_edit_preedit_clear(edit->model);
|
||||
}
|
||||
|
||||
if (evt->replace) {
|
||||
edit_clear(edit);
|
||||
}
|
||||
edit_commit_str(widget, evt->text);
|
||||
|
||||
widget_invalidate(widget, NULL);
|
||||
|
||||
break;
|
||||
}
|
||||
case EVT_IM_PREEDIT: {
|
||||
text_edit_preedit(edit->model);
|
||||
break;
|
||||
}
|
||||
case EVT_IM_PREEDIT_CONFIRM: {
|
||||
text_edit_preedit_confirm(edit->model);
|
||||
break;
|
||||
}
|
||||
case EVT_IM_PREEDIT_ABORT: {
|
||||
text_edit_preedit_abort(edit->model);
|
||||
break;
|
||||
}
|
||||
case EVT_BLUR: {
|
||||
input_method_request(input_method(), NULL);
|
||||
|
||||
|
BIN
tools/ime_gen/chinese_words.txt
Normal file
BIN
tools/ime_gen/chinese_words.txt
Normal file
Binary file not shown.
10000
tools/ime_gen/english_words.txt
Normal file
10000
tools/ime_gen/english_words.txt
Normal file
File diff suppressed because it is too large
Load Diff
71
tools/ime_gen/helper.js
Normal file
71
tools/ime_gen/helper.js
Normal file
@ -0,0 +1,71 @@
|
||||
const fs = require('fs');
|
||||
|
||||
const mapTable = {
|
||||
'a': '2',
|
||||
'b': '2',
|
||||
'c': '2',
|
||||
'd': '3',
|
||||
'e': '3',
|
||||
'f': '3',
|
||||
'g': '4',
|
||||
'h': '4',
|
||||
'i': '4',
|
||||
'j': '5',
|
||||
'k': '5',
|
||||
'l': '5',
|
||||
'm': '6',
|
||||
'n': '6',
|
||||
'o': '6',
|
||||
'p': '7',
|
||||
'q': '7',
|
||||
'r': '7',
|
||||
's': '7',
|
||||
't': '8',
|
||||
'u': '8',
|
||||
'v': '8',
|
||||
'w': '9',
|
||||
'x': '9',
|
||||
'y': '9',
|
||||
'z': '9'
|
||||
};
|
||||
|
||||
function mapChar(c) {
|
||||
return mapTable[c]
|
||||
}
|
||||
|
||||
function mapStr(str) {
|
||||
s = ''
|
||||
|
||||
if (!str) {
|
||||
return s;
|
||||
}
|
||||
|
||||
for (let i = 0; i < str.length; i++) {
|
||||
s += mapChar(str[i])
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
function saveResult(filename, result) {
|
||||
const BOM = "\ufeff";
|
||||
|
||||
fs.writeFileSync(filename, BOM + result);
|
||||
console.log(`write result to ${filename}`);
|
||||
}
|
||||
|
||||
function mergePinyin(words) {
|
||||
let pinyin = '';
|
||||
for (let i = 3; i < words.length; i++) {
|
||||
pinyin += words[i];
|
||||
}
|
||||
|
||||
return pinyin;
|
||||
}
|
||||
|
||||
|
||||
module.exports = {
|
||||
saveResult:saveResult,
|
||||
mergePinyin : mergePinyin,
|
||||
mapStr : mapStr
|
||||
};
|
78471
tools/ime_gen/pinyin_table.inc
Normal file
78471
tools/ime_gen/pinyin_table.inc
Normal file
File diff suppressed because it is too large
Load Diff
26325
tools/ime_gen/t9_en_us.inc
Normal file
26325
tools/ime_gen/t9_en_us.inc
Normal file
File diff suppressed because it is too large
Load Diff
87961
tools/ime_gen/t9_zh_cn.inc
Normal file
87961
tools/ime_gen/t9_zh_cn.inc
Normal file
File diff suppressed because it is too large
Load Diff
87084
tools/ime_gen/t9ext_zh_cn.inc
Normal file
87084
tools/ime_gen/t9ext_zh_cn.inc
Normal file
File diff suppressed because it is too large
Load Diff
82
tools/ime_gen/to_pinyin.js
Normal file
82
tools/ime_gen/to_pinyin.js
Normal file
@ -0,0 +1,82 @@
|
||||
const fs = require('fs');
|
||||
const helper = require('./helper');
|
||||
|
||||
function genPinYinTable(obj) {
|
||||
let arr = []
|
||||
let result = ''
|
||||
|
||||
for (let key in obj) {
|
||||
let value = obj[key];
|
||||
if (value.items.length == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
value.items.sort((a, b) => {
|
||||
return b.freq - a.freq;
|
||||
});
|
||||
|
||||
result += `static const char* s_py_${key}[] = {\n`
|
||||
value.items.forEach(iter => {
|
||||
result += ` \"${iter.char}\",\n`;
|
||||
});
|
||||
result += ' NULL\n';
|
||||
result += '};\n';
|
||||
|
||||
arr.push(value);
|
||||
}
|
||||
|
||||
arr.sort((a, b) => {
|
||||
return a.key.localeCompare(b.key);
|
||||
});
|
||||
|
||||
result += `static const table_entry_t s_pinyin_chinese_items[] = {\n`;
|
||||
arr.forEach(iter => {
|
||||
let key = iter.key;
|
||||
result += ` {"${key}", NULL, s_py_${key}},\n`
|
||||
});
|
||||
result += '};\n';
|
||||
|
||||
helper.saveResult(`pinyin_table.inc`, result);
|
||||
}
|
||||
|
||||
function toPinyin(filename, onlySimpleChinese) {
|
||||
let obj = {}
|
||||
const content = fs.readFileSync(filename, "utf16le");
|
||||
const lines = content.split('\n');
|
||||
|
||||
lines.forEach((line, index) => {
|
||||
const words = line.split(' ');
|
||||
const char = words[0];
|
||||
const freq = parseFloat(words[1]);
|
||||
const tw = words[2] === '1';
|
||||
const pinyin = helper.mergePinyin(words);
|
||||
const key = pinyin;
|
||||
const notExist = !obj[key];
|
||||
|
||||
if (!key) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (onlySimpleChinese && tw) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (notExist) {
|
||||
obj[key] = {
|
||||
key: key,
|
||||
items: [],
|
||||
}
|
||||
}
|
||||
|
||||
let value = obj[key];
|
||||
value.items.push({
|
||||
char: char,
|
||||
pinyin: pinyin,
|
||||
freq: freq
|
||||
});
|
||||
});
|
||||
|
||||
genPinYinTable(obj);
|
||||
}
|
||||
|
||||
toPinyin('chinese_words.txt', true);
|
79
tools/ime_gen/to_t9_en.js
Normal file
79
tools/ime_gen/to_t9_en.js
Normal file
@ -0,0 +1,79 @@
|
||||
const fs = require('fs');
|
||||
const helper = require('./helper');
|
||||
|
||||
function toT9(filename, lang) {
|
||||
let obj = {}
|
||||
let result = ''
|
||||
const content = fs.readFileSync(filename).toString();
|
||||
const lines = content.split('\n');
|
||||
|
||||
lines.forEach((line, index) => {
|
||||
const word = line;
|
||||
const freq = lines.length - index;
|
||||
const key = helper.mapStr(word);
|
||||
const notExist = !obj[key];
|
||||
|
||||
if (!key) {
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(`${word} => ${key}`);
|
||||
if (notExist) {
|
||||
obj[key] = {
|
||||
key: key,
|
||||
word: '',
|
||||
items: []
|
||||
}
|
||||
}
|
||||
|
||||
let value = obj[key];
|
||||
if (value.word.indexOf(' ' + word) < 0) {
|
||||
value.word = value.word + ' ' + word;
|
||||
}
|
||||
|
||||
value.items.push({
|
||||
word: word,
|
||||
freq: freq
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
let arr = []
|
||||
for (let key in obj) {
|
||||
let value = obj[key];
|
||||
if (value.items.length == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
value.items.sort((a, b) => {
|
||||
return b.freq - a.freq;
|
||||
});
|
||||
|
||||
result += `/*${value.word}*/\n`;
|
||||
result += `static const char* s_${lang}_${key}[] = {\n`
|
||||
value.items.forEach(iter => {
|
||||
result += ` \"${iter.word}\",\n`;
|
||||
});
|
||||
result += ' NULL\n';
|
||||
result += '};\n';
|
||||
|
||||
arr.push(value);
|
||||
}
|
||||
|
||||
arr.sort((a, b) => {
|
||||
return a.key.localeCompare(b.key);
|
||||
});
|
||||
|
||||
result += `static const table_entry_t s_${lang}_items[] = {\n`;
|
||||
arr.forEach(iter => {
|
||||
let key = iter.key;
|
||||
let word = iter.items[0].word;
|
||||
result += ` {"${key}", "${word}", s_${lang}_${key}},\n`
|
||||
});
|
||||
|
||||
result += '};\n';
|
||||
|
||||
helper.saveResult(`t9_${lang}.inc`, result);
|
||||
}
|
||||
|
||||
toT9('english_words.txt', 'en_us');
|
88
tools/ime_gen/to_t9_zh.js
Normal file
88
tools/ime_gen/to_t9_zh.js
Normal file
@ -0,0 +1,88 @@
|
||||
const fs = require('fs');
|
||||
const helper = require('./helper');
|
||||
|
||||
function toT9(filename, onlySimpleChinese) {
|
||||
let obj = {}
|
||||
let result = ''
|
||||
const content = fs.readFileSync(filename, "utf16le");
|
||||
const lines = content.split('\n');
|
||||
|
||||
lines.forEach((line, index) => {
|
||||
const words = line.split(' ');
|
||||
const char = words[0];
|
||||
const freq = parseFloat(words[1]);
|
||||
const tw = words[2] === '1';
|
||||
const pinyin = helper.mergePinyin(words);
|
||||
const key = helper.mapStr(pinyin);
|
||||
const notExist = !obj[key];
|
||||
|
||||
if (!key) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (onlySimpleChinese && tw) {
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(`${pinyin} => ${key}`);
|
||||
|
||||
if (notExist) {
|
||||
obj[key] = {
|
||||
pinyin: '',
|
||||
key: key,
|
||||
items: []
|
||||
}
|
||||
}
|
||||
|
||||
let value = obj[key];
|
||||
if (value.pinyin.indexOf(' ' + pinyin) < 0) {
|
||||
value.pinyin = value.pinyin + ' ' + pinyin;
|
||||
}
|
||||
|
||||
value.items.push({
|
||||
pinyin: pinyin,
|
||||
char: char,
|
||||
freq: freq
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
let arr = []
|
||||
for (let key in obj) {
|
||||
let value = obj[key];
|
||||
if (value.items.length == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
value.items.sort((a, b) => {
|
||||
return b.freq - a.freq;
|
||||
});
|
||||
|
||||
result += `/*${value.pinyin}*/\n`;
|
||||
result += `static const char* s_${key}[] = {\n`
|
||||
value.items.forEach(iter => {
|
||||
result += ` \"${iter.char}\",\n`;
|
||||
});
|
||||
result += ' NULL\n';
|
||||
result += '};\n';
|
||||
|
||||
arr.push(value);
|
||||
}
|
||||
|
||||
arr.sort((a, b) => {
|
||||
return a.key.localeCompare(b.key);
|
||||
});
|
||||
|
||||
result += `static const table_entry_t s_t9_numbers_pinyin[] = {\n`;
|
||||
arr.forEach(iter => {
|
||||
let key = iter.key;
|
||||
let pinyin = iter.items[0].pinyin;
|
||||
result += ` {"${key}", "${pinyin}", s_${key}},\n`
|
||||
});
|
||||
|
||||
result += '};\n';
|
||||
|
||||
helper.saveResult(`t9_zh_cn.inc`, result);
|
||||
}
|
||||
|
||||
toT9('chinese_words.txt', true);
|
99
tools/ime_gen/to_t9ext_zh.js
Normal file
99
tools/ime_gen/to_t9ext_zh.js
Normal file
@ -0,0 +1,99 @@
|
||||
const fs = require('fs');
|
||||
const helper = require('./helper');
|
||||
|
||||
function mergePinyin(words) {
|
||||
let pinyin = '';
|
||||
for (let i = 3; i < words.length; i++) {
|
||||
pinyin += words[i];
|
||||
}
|
||||
|
||||
return pinyin;
|
||||
}
|
||||
|
||||
function genPinYinTable(obj) {
|
||||
let arr = []
|
||||
let result = ''
|
||||
|
||||
for (let key in obj) {
|
||||
let value = obj[key];
|
||||
if (value.items.length == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
value.items.sort((a, b) => {
|
||||
return b.freq - a.freq;
|
||||
});
|
||||
|
||||
result += `/*${value.pinyin}*/\n`;
|
||||
result += `static const char* s_${key}[] = {\n`
|
||||
for(let pinyin in value.pinyin) {
|
||||
result += ` \"${pinyin}\",\n`;
|
||||
}
|
||||
result += ' NULL\n';
|
||||
result += '};\n';
|
||||
|
||||
arr.push(value);
|
||||
}
|
||||
|
||||
arr.sort((a, b) => {
|
||||
return a.key.localeCompare(b.key);
|
||||
});
|
||||
|
||||
result += `static const table_entry_t s_t9ext_numbers_pinyin[] = {\n`;
|
||||
arr.forEach(iter => {
|
||||
let key = iter.key;
|
||||
let pinyin = iter.items[0].pinyin;
|
||||
result += ` {"${key}", NULL, s_${key}},\n`
|
||||
});
|
||||
|
||||
result += '};\n';
|
||||
|
||||
helper.saveResult(`t9ext_zh_cn.inc`, result);
|
||||
}
|
||||
|
||||
function toT9(filename, onlySimpleChinese) {
|
||||
let obj = {}
|
||||
const content = fs.readFileSync(filename, "utf16le");
|
||||
const lines = content.split('\n');
|
||||
|
||||
lines.forEach((line, index) => {
|
||||
const words = line.split(' ');
|
||||
const char = words[0];
|
||||
const freq = parseFloat(words[1]);
|
||||
const tw = words[2] === '1';
|
||||
const pinyin = mergePinyin(words);
|
||||
const key = helper.mapStr(pinyin);
|
||||
const notExist = !obj[key];
|
||||
|
||||
if (!key) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (onlySimpleChinese && tw) {
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(`${pinyin} => ${key}`);
|
||||
|
||||
if (notExist) {
|
||||
obj[key] = {
|
||||
key: key,
|
||||
items: [],
|
||||
pinyin: {}
|
||||
}
|
||||
}
|
||||
|
||||
let value = obj[key];
|
||||
value.pinyin[pinyin] = true
|
||||
|
||||
value.items.push({
|
||||
pinyin: pinyin,
|
||||
char: char,
|
||||
freq: freq
|
||||
});
|
||||
});
|
||||
|
||||
genPinYinTable(obj)
|
||||
}
|
||||
|
||||
toT9('chinese_words.txt', true);
|
@ -27,6 +27,16 @@ node gen_words_json.js
|
||||
node to_words_bin.js
|
||||
```
|
||||
|
||||
### 使用现有数据
|
||||
|
||||
chinese\_with\_freq.txt是从 https://github.com/ling0322/webdict 下载的。
|
||||
|
||||
如果不想自己生成,可以直接使用该文件:
|
||||
|
||||
```
|
||||
node to_json.js
|
||||
```
|
||||
|
||||
### 更新数据
|
||||
|
||||
在awtk根目录下运行:
|
||||
|
220725
tools/word_gen/chinese_with_freq.txt
Normal file
220725
tools/word_gen/chinese_with_freq.txt
Normal file
File diff suppressed because it is too large
Load Diff
51
tools/word_gen/to_json.js
Normal file
51
tools/word_gen/to_json.js
Normal file
@ -0,0 +1,51 @@
|
||||
let fs = require("fs");
|
||||
|
||||
let content = fs.readFileSync("chinese_with_freq.txt").toString();
|
||||
|
||||
let lines = content.split('\n');
|
||||
|
||||
let obj = {};
|
||||
lines.forEach(line => {
|
||||
const words = line.split(' ');
|
||||
const chinese = words[0];
|
||||
const freq = words[1];
|
||||
const c = chinese.substr(0, 1);
|
||||
|
||||
if(chinese.length == 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(!obj[c]) {
|
||||
obj[c] = {
|
||||
c : c,
|
||||
words : []
|
||||
}
|
||||
}
|
||||
|
||||
let value = obj[c];
|
||||
value.words.push({
|
||||
w:chinese.substr(1),
|
||||
f:freq
|
||||
});
|
||||
});
|
||||
|
||||
let arr = []
|
||||
for(let key in obj) {
|
||||
let value = obj[key];
|
||||
value.words.sort((a, b) => {
|
||||
return b.f - a.f;
|
||||
});
|
||||
|
||||
if(value.words.length > 10) {
|
||||
value.words.length = 10;
|
||||
}
|
||||
arr.push(value);
|
||||
}
|
||||
|
||||
arr.sort((a, b) => {
|
||||
console.log(a.c, b.c)
|
||||
return a.c.charCodeAt(0) - b.c.charCodeAt(0);
|
||||
});
|
||||
|
||||
fs.writeFileSync("words.json", JSON.stringify(arr, null, '\t'));
|
||||
console.log('write to words.json');
|
@ -47,5 +47,5 @@ function outputWords(arr) {
|
||||
}
|
||||
|
||||
outputWords(JSON.parse(fs.readFileSync("./words.json").toString()))
|
||||
|
||||
console.log("write to words.bin");
|
||||
|
||||
|
Binary file not shown.
167490
tools/word_gen/words.json
167490
tools/word_gen/words.json
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user