From f01509d4f4f280a2789b8dce1fe595b71490a1c0 Mon Sep 17 00:00:00 2001 From: MeowOS Date: Mon, 31 Aug 2026 18:34:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(sdk):=20=E4=B8=AD=E6=96=87=E6=8B=BC?= =?UTF-8?q?=E9=9F=B3=E8=BE=93=E5=85=A5=E6=B3=95=E8=90=BD=E5=9C=B0=20(agent?= =?UTF-8?q?-229,=20=E8=AE=BE=E8=AE=A1=E7=A8=BF=20IME=5FPINYIN=5FDESIGN.md)?= =?UTF-8?q?=20=E2=80=94=20=E9=9D=99=E6=80=81=E8=A1=A8=E8=AF=8D=E5=BA=93(40?= =?UTF-8?q?3=E9=9F=B3=E8=8A=82+329=E8=AF=8D,rodata=20~20.5KB,=E9=9B=B6?= =?UTF-8?q?=E5=A0=86)+=E5=BC=95=E6=93=8E(meow=5Fpinyin.c,=E9=9F=B3?= =?UTF-8?q?=E8=8A=82=E5=88=87=E5=88=86DFS+=E8=81=94=E6=83=B3)+SDK=E9=9B=86?= =?UTF-8?q?=E6=88=90(MEOW=5FIME=5FPINYIN=E5=B0=BE=E9=83=A8=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=E9=9B=B6ABI=E7=A0=B4=E5=9D=8F,=E7=BB=84=E5=90=88?= =?UTF-8?q?=E6=9D=A1+=E5=80=99=E9=80=89=E6=A0=8F+=E7=BF=BB=E9=A1=B5+?= =?UTF-8?q?=E4=B8=AD=E8=8B=B1=E5=88=87=E6=8D=A2,=E8=8B=B1=E6=96=87?= =?UTF-8?q?=E9=9B=B6=E5=9B=9E=E5=BD=92)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit meow_ui.a→a7a9043e; hello/files/ncm重链已部署; test_pinyin 5项全过+test_ime_fix零回归 --- build_sdk.sh | 2 +- gen_pinyin_lex.py | 832 +++++++++++++++++++++++++++++++++++++++++++++ meow_pinyin.c | 156 +++++++++ meow_pinyin.h | 12 + meow_pinyin_lex.h | 750 ++++++++++++++++++++++++++++++++++++++++ meow_ui.h | 7 +- meow_ui_ime.c | 352 ++++++++++++++++++- meow_ui_input.c | 14 +- meow_ui_internal.h | 8 + test_ime_fix | Bin 229712 -> 374904 bytes test_pinyin | Bin 0 -> 374392 bytes test_pinyin.c | 125 +++++++ 12 files changed, 2249 insertions(+), 9 deletions(-) create mode 100644 gen_pinyin_lex.py create mode 100644 meow_pinyin.c create mode 100644 meow_pinyin.h create mode 100644 meow_pinyin_lex.h create mode 100755 test_pinyin create mode 100644 test_pinyin.c diff --git a/build_sdk.sh b/build_sdk.sh index 2150cfc..3c6090b 100755 --- a/build_sdk.sh +++ b/build_sdk.sh @@ -10,7 +10,7 @@ AR="${AR:-/usr/bin/ar}" # 系统 GNU ar 即可归档 mipsel ELF 对象(架 rm -f meow_ui.a *.o # -I../meow_launcherd:meow_notify_ipc.c 复用共享协议头 meow_ipc.h(同一份、杜绝两端漂移) -OBJS="meow_ui_gfx meow_ui_log meow_ui_notify meow_notify_ipc meow_ui_img meow_ui_widget meow_ui_input meow_ui_theme meow_ui_ime meow_ui_sys meow_ui_vol meow_ui_activity meow_ui_global meow_ui_dialog meow_ui_config meow_ui_draw meow_ui_view meow_ui_nav meow_ui_media stb_image" +OBJS="meow_ui_gfx meow_ui_log meow_ui_notify meow_notify_ipc meow_ui_img meow_ui_widget meow_ui_input meow_ui_theme meow_ui_ime meow_pinyin meow_ui_sys meow_ui_vol meow_ui_activity meow_ui_global meow_ui_dialog meow_ui_config meow_ui_draw meow_ui_view meow_ui_nav meow_ui_media stb_image" CFLAGS="-Os -static -I$ROOT/patch_v2/meow_launcherd" for f in $OBJS; do echo "== cc $f ==" diff --git a/gen_pinyin_lex.py b/gen_pinyin_lex.py new file mode 100644 index 0000000..6cd2840 --- /dev/null +++ b/gen_pinyin_lex.py @@ -0,0 +1,832 @@ +# -*- coding: utf-8 -*- +""" +gen_pinyin_lex.py — MeowOS 中文拼音输入法 · 词库生成器(主机侧,离线)。 + +产出:meow_pinyin_lex.h(静态 .rodata 表,入库 patch_v2/sdk/): + SYL[SYL_N] 音节表:py=去声调小写拼音,hz=该音节候选字(UTF-8,按字频降序) + WORDS[WORD_N] 词/短语表:sp=整词拼音串(去声调),hz=UTF-8 词条,w=字频权重 + +输入:本文件内联的频序字表 SYL + 常用词表 WORDS。无真实语料(宿主机无 pypinyin/jieba +字表),按设计稿 §2.4 退化为「人工核对的高频字/词(去声调)+ 设计稿演示子集」扩到合理覆盖: +全部标准音节(约 410 个)× 每音节 4~14 高频字 + 常用词语数百条。候选字全部落在 +GB2312 常用字集(font/gen/gen_font.py 的 common/gbk tier 已含),保证上屏可渲染。 + +运行:python3 gen_pinyin_lex.py (在工作目录产出 meow_pinyin_lex.h,并打印体积账) +约束:字节序无关;词表按 sp 排序(前缀提示走「精确二分 + 线性回溯」)。 +""" + +# 音节表:py=去声调小写拼音,hz=该音节候选字(按字频降序,UTF-8)。 +# 覆盖 GB2312 一级+高频二级字的常见音节;生僻音节给 2~5 个高频字即可。 +SYL = { + # ---- a ---- + 'a': '啊阿吖呵腌', + 'ai': '爱哀挨唉矮碍癌艾呆埃', + 'an': '安按暗案岸俺鞍庵', + 'ang': '昂盎肮', + 'ao': '奥懊傲熬凹澳敖袄', + # ---- ba ---- + 'ba': '把八吧爸拔罢霸巴扒芭', + 'bai': '白百摆败拜柏伯佰', + 'ban': '办半班搬版板伴扮拌瓣', + 'bang':'帮棒榜绑膀磅邦蚌', + 'bao': '报保包宝抱暴薄爆饱堡', + 'bei': '被北背倍杯备悲辈贝碑', + 'ben': '本奔笨苯', + 'beng':'蹦崩甭泵迸', + 'bi': '比必笔闭毕鼻避彼壁弊', + 'bian':'变边便遍辨编辩扁鞭', + 'biao':'表标彪镖膘', + 'bie': '别憋鳖瘪', + 'bin': '宾滨彬濒斌', + 'bing':'病并兵冰饼丙柄秉', + 'bo': '波播拨薄博伯驳脖膊', + 'bu': '不步部布补捕怖埠簿', + # ---- ca ---- + 'ca': '擦嚓', + 'cai': '才菜采财猜彩裁踩材', + 'can': '参残餐灿惨蚕惭', + 'cang':'藏仓苍舱', + 'cao': '草操曹槽糙', + 'ce': '侧测策册厕', + 'cen': '岑', + 'ceng':'层曾蹭', + 'cha': '查差茶插叉察刹诧', + 'chai':'拆柴差钗', + 'chan':'产缠颤馋禅蝉', + 'chang':'长常场厂唱昌畅肠尝偿', + 'chao':'超朝潮吵炒抄钞巢', + 'che': '车扯撤彻澈', + 'chen':'陈沉晨臣尘趁衬辰', + 'cheng':'成城程称承诚乘盛橙惩', + 'chi': '吃持池迟赤尺斥驰齿翅', + 'chong':'冲重虫充宠崇憧', + 'chou':'抽愁丑臭筹仇酬绸', + 'chu': '出处初除楚厨触储础畜', + 'chua': '欻', + 'chuai':'揣踹', + 'chuan':'传船穿川串喘', + 'chuang':'创窗床闯疮', + 'chui':'吹垂锤炊', + 'chun':'春纯唇蠢淳', + 'chuo':'戳绰辍', + 'ci': '次此词刺辞瓷慈磁雌', + 'cong':'从聪葱囱匆', + 'cou': '凑', + 'cu': '粗促醋簇卒', + 'cuan':'窜窜蹿', + 'cui': '催脆翠摧崔粹', + 'cun': '存村寸蹲', + 'cuo': '错措搓挫磋', + # ---- da ---- + 'da': '大打达答搭沓嗒', + 'dai': '带代待戴袋呆逮贷岱', + 'dan': '但担单弹蛋淡胆旦耽诞', + 'dang':'当挡党荡档挡', + 'dao': '到道倒刀岛导盗稻悼', + 'de': '的得地德', + 'deng':'等灯登邓凳瞪', + 'di': '地第低底敌抵滴弟帝递', + 'dian':'点电店典殿掂惦奠', + 'diao':'调掉钓雕叼吊', + 'die': '跌爹叠碟蝶迭', + 'ding':'定顶丁订钉盯鼎', + 'diu': '丢', + 'dong':'动东懂冬洞冻董栋', + 'dou': '都斗豆逗兜陡抖', + 'du': '度读独毒肚堵赌渡杜', + 'duan':'段断短端锻', + 'dui': '对队堆兑', + 'dun': '顿吨蹲盾钝敦', + 'duo': '多朵夺躲堕舵跺', + # ---- e ---- + 'e': '饿恶额鹅俄蛾遏鄂', + 'en': '恩摁', + 'er': '而二儿耳尔饵洱', + # ---- fa ---- + 'fa': '发法罚伐乏阀筏', + 'fan': '反饭犯翻凡烦返泛范繁', + 'fang':'方放房防访仿坊纺', + 'fei': '非飞费肥废匪肺菲', + 'fen': '分粉份奋愤纷芬坟焚', + 'feng':'风封峰丰疯逢缝蜂凤', + 'fo': '佛', + 'fou': '否', + 'fu': '副复福扶服府负富付妇父符附腐', + # ---- ga ---- + 'ga': '嘎尬噶', + 'gai': '该改盖概钙溉', + 'gan': '干感敢赶甘杆肝竿', + 'gang':'刚钢港岗缸杠', + 'gao': '高告搞稿糕膏', + 'ge': '个各歌格哥隔割阁胳', + 'gei': '给', + 'gen': '跟根跟', + 'geng':'更耕颈梗耿', + 'gong':'公共工功攻供宫拱贡恭', + 'gou': '够狗购勾沟构钩', + 'gu': '故古顾股骨鼓谷姑孤估', + 'gua': '挂瓜刮寡卦', + 'guai':'怪拐乖', + 'guan':'关管观官冠馆惯罐', + 'guang':'光广逛', + 'gui': '贵归鬼规柜桂跪诡', + 'gun': '滚棍', + 'guo': '国过果锅裹郭', + # ---- ha ---- + 'ha': '哈蛤', + 'hai': '还海害孩嗨骇', + 'han': '含喊汉汗寒韩罕憾', + 'hang':'行航夯杭', + 'hao': '好号浩豪毫郝耗昊', + 'he': '和合何河喝盒禾鹤贺荷', + 'hei': '黑嘿', + 'hen': '很恨狠痕', + 'heng':'横恒衡哼', + 'hong':'红洪宏虹烘鸿', + 'hou': '后候厚猴喉吼', + 'hu': '湖户呼胡虎糊互忽壶糊', + 'hua': '话花化画华滑划桦', + 'huai':'坏怀淮', + 'huan':'还换环欢缓幻患唤', + 'huang':'黄慌皇荒晃煌幌', + 'hui': '会回挥灰汇毁惠慧辉恢悔', + 'hun': '混昏婚魂浑', + 'huo': '或火活货获伙惑霍', + # ---- ji ---- + 'ji': '及机级极即急集计记既济季几给基激肌迹际剂', + 'jia': '家加价假架甲佳嘉嫁夹', + 'jian':'见件间建减检简坚健剑渐尖肩荐监', + 'jiang':'将讲江奖降酱姜僵', + 'jiao':'叫教交角觉较脚焦骄娇郊浇', + 'jie': '界接解节姐借街杰皆截戒届阶', + 'jin': '进近金今紧仅尽禁劲津筋', + 'jing':'经精京静境警惊景镜竟竞睛晶', + 'jiong':'窘炯', + 'jiu': '就九久酒旧救究舅揪', + 'ju': '据居具局举句巨距聚拒剧', + 'juan':'卷捐娟倦眷', + 'jue': '觉决绝角掘爵倔嚼', + 'jun': '军均君俊菌骏', + # ---- ka ---- + 'ka': '卡咖喀', + 'kai': '开凯慨楷', + 'kan': '看砍刊堪坎勘', + 'kang':'抗康炕扛慷', + 'kao': '考靠烤拷', + 'ke': '可课科克客刻渴棵颗咳', + 'kei': '剋', + 'ken': '肯垦啃恳', + 'keng':'坑吭', + 'kong':'空控孔恐', + 'kou': '口扣抠寇', + 'ku': '苦哭库裤酷枯窟', + 'kua': '跨夸垮挎', + 'kuai':'快块筷会脍', + 'kuan':'宽款', + 'kuang':'况狂矿框筐旷', + 'kui': '亏溃愧窥葵', + 'kun': '困昆捆坤', + 'kuo': '扩阔括廓', + # ---- la ---- + 'la': '拉啦辣蜡腊喇', + 'lai': '来莱赖', + 'lan': '蓝栏拦懒烂览兰篮', + 'lang':'浪狼朗郎', + 'lao': '老劳牢捞唠姥', + 'le': '了乐勒', + 'lei': '类累泪雷蕾垒', + 'leng':'冷愣棱', + 'li': '里力理立利李离例历丽励粒厉礼', + 'lia': '俩', + 'lian':'连脸练联恋链帘莲', + 'liang':'量两亮辆凉粮良梁', + 'liao':'了料聊疗辽廖', + 'lie': '列烈裂猎劣', + 'lin': '林临邻淋琳磷', + 'ling':'令领另零灵铃岭凌', + 'liu': '六流留刘柳溜瘤', + 'long':'龙隆笼聋拢垄', + 'lou': '楼漏搂陋', + 'lu': '路陆录露鲁卢炉鹿炉', + 'luan':'乱卵峦', + 'lun': '论轮伦沦', + 'lue': '略掠', + 'luo': '落罗洛络骆裸', + 'lv': '率律绿虑旅驴吕铝', + 'lve': '略掠', + # ---- ma ---- + 'ma': '吗妈马麻骂码嘛玛', + 'mai': '买卖麦埋迈脉', + 'man': '满慢蛮瞒漫曼', + 'mang':'忙茫盲芒莽', + 'mao': '毛猫冒帽茂矛贸锚', + 'me': '么', + 'mei': '没每美妹梅眉媒霉', + 'men': '们门闷萌', + 'meng':'梦猛蒙盟萌', + 'mi': '米密迷秘蜜谜觅', + 'mian':'面免棉眠缅勉', + 'miao':'秒妙苗描庙瞄', + 'mie': '灭蔑', + 'min': '民敏闽皿', + 'ming':'明名命鸣铭茗', + 'miu': '谬', + 'mo': '摸模磨末莫默墨陌摩', + 'mou': '某谋牟', + 'mu': '目母木幕牧慕墓穆亩', + # ---- na ---- + 'na': '那拿哪纳娜呐', + 'nai': '奶乃耐奈', + 'nan': '难南男楠', + 'nang':'囊', + 'nao': '脑闹恼挠', + 'ne': '呢', + 'nei': '内馁', + 'nen': '嫩', + 'neng':'能', + 'ni': '你呢泥尼妮霓逆拟腻匿', + 'nian':'年念粘捻撵', + 'niang':'娘酿', + 'niao':'鸟尿', + 'nie': '捏聂孽', + 'nin': '您', + 'ning':'宁凝拧', + 'niu': '牛扭纽妞', + 'nong':'弄农浓脓', + 'nou': '耨', + 'nu': '怒努奴', + 'nuan':'暖', + 'nuo': '诺挪懦', + 'nv': '女', + 'nve': '虐疟', + # ---- o ---- + 'o': '哦噢', + 'ou': '欧偶呕殴藕', + # ---- pa ---- + 'pa': '怕爬趴帕啪', + 'pai': '排派拍牌徘湃', + 'pan': '判盘盼攀畔叛', + 'pang':'旁胖庞乓', + 'pao': '跑炮泡抛袍', + 'pei': '陪配佩赔培', + 'pen': '喷盆', + 'peng':'朋碰捧棚蓬鹏', + 'pi': '皮批脾披疲劈匹屁', + 'pian':'片篇偏骗', + 'piao':'票飘漂瓢', + 'pie': '撇瞥', + 'pin': '品拼贫频聘', + 'ping':'平评凭瓶苹萍乒', + 'po': '破坡婆迫颇魄', + 'pou': '剖', + 'pu': '铺普朴谱浦葡仆', + # ---- qi ---- + 'qi': '起期其气七齐器汽奇乞旗棋', + 'qia': '恰掐洽', + 'qian':'前钱千签浅欠牵铅迁谦', + 'qiang':'强抢墙枪腔', + 'qiao':'桥瞧敲俏巧悄壳', + 'qie': '且切窃茄', + 'qin': '亲琴勤侵秦', + 'qing':'请清轻青情晴顷倾', + 'qiong':'穷琼', + 'qiu': '求球秋丘邱', + 'qu': '去取区曲娶趣趋渠', + 'quan':'全权圈劝拳泉犬', + 'que': '却确缺雀鹊', + 'qun': '群裙', + # ---- ran ---- + 'ran': '然染燃', + 'rang':'让嚷壤', + 'rao': '绕饶扰', + 're': '热惹', + 'ren': '人认任仁忍韧刃', + 'reng':'仍扔', + 'ri': '日', + 'rong':'容荣融绒溶', + 'rou': '肉柔揉', + 'ru': '如入辱儒乳汝', + 'rua': '挼', + 'ruan':'软', + 'rui': '瑞锐', + 'run': '润闰', + 'ruo': '若弱', + # ---- sa ---- + 'sa': '撒洒萨', + 'sai': '赛塞腮', + 'san': '三散伞', + 'sang':'桑嗓丧', + 'sao': '扫嫂骚', + 'se': '色涩瑟', + 'sen': '森', + 'seng':'僧', + 'sha': '沙杀傻纱啥刹煞', + 'shai':'晒筛', + 'shan':'山善闪衫删扇陕', + 'shang':'上商伤尚赏裳', + 'shao':'少烧稍绍捎勺', + 'she': '社设舍射蛇摄涉奢', + 'shen':'身深神甚伸什申慎渗', + 'sheng':'生声省胜圣升盛剩', + 'shi': '是事时十式市师世史示使士失视实识施', + 'shou':'手受收首守售寿授瘦', + 'shu': '书数术树输属舒叔殊疏蔬', + 'shua':'刷耍', + 'shuai':'帅摔甩衰', + 'shuan':'栓拴', + 'shuang':'双爽', + 'shui':'水睡税', + 'shun':'顺瞬', + 'shuo':'说硕烁', + 'si': '四死思斯司私似撕寺饲', + 'song':'送松宋诵颂', + 'sou': '搜艘嗽', + 'su': '素速苏诉宿俗塑肃', + 'suan':'算酸蒜', + 'sui': '岁随虽碎遂穗', + 'sun': '孙损笋', + 'suo': '所锁索缩嗦', + # ---- ta ---- + 'ta': '他她它塔踏塌拓', + 'tai': '太台抬态泰苔', + 'tan': '谈弹叹探贪摊滩瘫', + 'tang':'堂糖汤唐躺烫塘', + 'tao': '讨套逃掏桃掏', + 'te': '特', + 'teng':'疼腾藤', + 'ti': '体题提替踢蹄剃', + 'tian':'天田甜填添', + 'tiao':'条跳挑调', + 'tie': '铁贴帖', + 'ting':'听停厅挺庭亭艇', + 'tong':'同通痛统童筒铜桶', + 'tou': '头投偷透', + 'tu': '图土突途徒吐兔涂', + 'tuan':'团', + 'tui': '推退腿褪', + 'tun': '吞屯臀', + 'tuo': '托脱拖妥驼椭', + # ---- w ---- + 'wa': '挖瓦蛙娃袜', + 'wai': '外歪', + 'wan': '完万晚玩弯碗湾挽', + 'wang':'王往望网忘旺亡', + 'wei': '为位未卫维微围委谓违唯尾', + 'wen': '问文闻温稳吻纹', + 'weng':'翁嗡瓮', + 'wo': '我握窝卧沃', + 'wu': '无五物误务武舞午污伍', + # ---- xi ---- + 'xi': '系西习戏喜细吸希洗悉溪膝席惜', + 'xia': '下夏吓虾峡狭暇霞', + 'xian':'先现线县显险鲜闲限陷献', + 'xiang':'想向相像响项香乡箱详', + 'xiao':'小笑校晓消销肖效萧', + 'xie': '写些鞋谢协血携斜泄', + 'xin': '新心信辛欣薪芯', + 'xing':'行性形星兴型醒幸姓', + 'xiong':'雄胸凶兄熊', + 'xiu': '修秀休羞锈袖嗅', + 'xu': '需须许序续徐虚绪蓄', + 'xuan':'选宣旋悬玄轩', + 'xue': '学雪血穴靴', + 'xun': '寻讯训迅询巡循旬', + # ---- ya ---- + 'ya': '压呀牙亚讶雅鸦鸭', + 'yan': '眼言演烟严沿研盐验颜宴艳延', + 'yang':'样养洋阳羊央仰扬', + 'yao': '要药摇腰咬耀邀遥谣', + 'ye': '也业夜叶爷野冶页', + 'yi': '一已以意义医衣依易忆疑谊益议', + 'yin': '因音引银印隐饮阴姻', + 'ying':'应英影营迎硬赢映鹰', + 'yo': '哟', + 'yong':'用永拥勇涌泳庸', + 'you':'有又由右油游友优幼忧尤呦', + 'yu': '于与语雨鱼玉育余遇欲愈预域娱', + 'yuan':'元原员院远愿圆园源冤缘', + 'yue': '月越约阅跃悦岳', + 'yun': '云运允匀韵孕', + # ---- za ---- + 'za': '杂砸咋', + 'zai': '在再载咱灾宰', + 'zan': '咱赞暂攒', + 'zang':'藏脏葬', + 'zao': '早造遭糟澡灶燥躁', + 'ze': '则责择泽', + 'zei': '贼', + 'zen': '怎', + 'zeng':'增赠曾憎', + 'zha': '炸查扎眨乍榨渣', + 'zhai':'宅摘窄债斋', + 'zhan':'战站占展沾粘斩', + 'zhang':'张章长掌涨帐障丈', + 'zhao':'找照招着朝召兆', + 'zhe': '这者着折哲浙', + 'zhen':'真阵镇针震振诊枕', + 'zheng':'正整证政争征挣睁郑', + 'zhi': '只之至制知指直纸志治支止职织质执', + 'zhong':'中种重众忠终钟仲', + 'zhou':'周州洲舟昼皱骤轴', + 'zhu': '主住注助著朱猪竹煮筑祝驻', + 'zhua':'抓', + 'zhuai':'拽', + 'zhuan':'转专赚传砖', + 'zhuang':'装状撞庄壮', + 'zhui':'追坠缀', + 'zhun':'准', + 'zhuo':'桌捉着灼卓浊', + 'zi': '子自字资紫仔兹姿咨', + 'zong':'总宗纵综棕踪', + 'zou': '走奏揍邹', + 'zu': '组足祖族租阻卒', + 'zuan':'钻攥', + 'zui': '最嘴罪醉', + 'zun': '尊遵', + 'zuo': '做作坐座左昨', +} + +# 词/短语表:sp=整词拼音串(去声调),hz=UTF-8 词条,w=字频权重(越大越常用)。 +# 覆盖搜索框/文件名/输入框常见词;多音节词让「短语精确命中 + 前缀整词提示」生效。 +WORDS = [ + # ---- 二音节常用词(频率降序大致排列) ---- + ('nihao', '你好', 10000), + ('zhongguo', '中国', 9200), + ('women', '我们', 9000), + ('shijie', '世界', 8600), + ('shijian', '时间', 8400), + ('xianzai', '现在', 8300), + ('keyi', '可以', 8200), + ('meiyou', '没有', 8100), + ('yijing', '已经', 8000), + ('haode', '好的', 7900), + ('pengyou', '朋友', 7800), + ('gongzuo', '工作', 7700), + ('shenghuo', '生活', 7600), + ('xuexi', '学习', 7500), + ('xihuan', '喜欢', 7400), + ('beijing', '北京', 7300), + ('shanghai', '上海', 7300), + ('yinyue', '音乐', 7200), + ('sousuo', '搜索', 7100), + ('xiaza', '下载', 7000), + ('wenjian', '文件', 7000), + ('wenjianjia', '文件夹', 6900), + ('shezhi', '设置', 6900), + ('yingyong', '应用', 6900), + ('tongzhi', '通知', 6800), + ('zhongwen', '中文', 6800), + ('pinyin', '拼音', 6800), + ('meiti', '媒体', 6700), + ('bofang', '播放', 6700), + ('zanting', '暂停', 6600), + ('jixu', '继续', 6600), + ('shangyi', '上一', 6600), + ('xiayi', '下一', 6600), + ('liebiao', '列表', 6550), + ('geshou', '歌手', 6500), + ('gequ', '歌曲', 6500), + ('zhuanji', '专辑', 6450), + ('gouwu', '购物', 6400), + ('dianhua', '电话', 6400), + ('shouji', '手机', 6400), + ('diannao', '电脑', 6350), + ('dianying', '电影', 6300), + ('dianshi', '电视', 6300), + ('tushu', '图书', 6250), + ('xuexiao', '学校', 6200), + ('daxue', '大学', 6200), + ('xiaoxue', '小学', 6150), + ('gongsi', '公司', 6100), + ('laoshi', '老师', 6100), + ('tongxue', '同学', 6050), + ('jiating', '家庭', 6000), + ('baba', '爸爸', 6000), + ('mama', '妈妈', 6000), + ('gege', '哥哥', 5900), + ('jiejie', '姐姐', 5900), + ('didi', '弟弟', 5850), + ('meimei', '妹妹', 5850), + ('pengyoumen', '朋友们', 5800), + ('nihaoma', '你好吗', 7000), + ('zhongguoren', '中国人', 6200), + ('shanghairen', '上海人', 4200), + ('beijingren', '北京人', 4200), + ('shenme', '什么', 6600), + ('weishenme', '为什么', 6500), + ('zemme', '怎么', 6500), + ('zenmeyang', '怎么样', 6400), + ('shenmeshihou', '什么时候', 6300), + ('nar', '哪儿', 6200), + ('duoshao', '多少', 6400), + ('dui', '对', 8200), + ('bushi', '不是', 8100), + ('shi', '是', 8300), + ('yexu', '也许', 6300), + ('keshi', '可是', 6200), + ('suoyi', '所以', 6300), + ('ranhou', '然后', 6200), + ('danshi', '但是', 6200), + ('haishi', '还是', 6400), + ('huozhe', '或者', 6300), + ('bingqie', '并且', 6200), + ('erqie', '而且', 6300), + ('yinwei', '因为', 6500), + ('suoyi', '所以', 6300), + ('jintian', '今天', 6500), + ('mingtian', '明天', 6400), + ('zuotian', '昨天', 6300), + ('xingqi', '星期', 6200), + ('zhoumo', '周末', 6100), + ('shangwu', '上午', 6000), + ('xiawu', '下午', 6000), + ('wanshang', '晚上', 6100), + ('zaoshang', '早上', 6000), + ('zhongwu', '中午', 5900), + ('zhidao', '知道', 6800), + ('mingbai', '明白', 6300), + ('renshi', '认识', 6300), + ('liaojie', '了解', 6200), + ('xiangxin', '相信', 6200), + ('xiwang', '希望', 6300), + ('juede', '觉得', 6500), + ('xianzai', '现在', 8300), + ('zhende', '真的', 6400), + ('feichang', '非常', 6400), + ('tai', '太', 7800), + ('hen', '很', 8000), + ('dou', '都', 7900), + ('ye', '也', 7900), + ('zai', '在', 8300), + ('you', '有', 8300), + ('ba', '吧', 7800), + ('ma', '吗', 7900), + ('ne', '呢', 7800), + ('a', '啊', 7900), + ('jianghu', '江湖', 5400), + ('shijie', '世界', 8600), + ('xianshi', '显示', 6400), + ('shebei', '设备', 6500), + ('kongzhi', '控制', 6500), + ('yuancheng', '远程', 6300), + ('zhijie', '直接', 6400), + ('fuwu', '服务', 6600), + ('qidong', '启动', 6400), + ('guanbi', '关闭', 6300), + ('chongqi', '重启', 6200), + ('gengxin', '更新', 6400), + ('anzhuang', '安装', 6300), + ('xiezai', '卸载', 6100), + ('denglu', '登录', 6200), + ('zhuce', '注册', 6100), + ('shenfen', '身份', 6000), + ('mima', '密码', 6100), + ('zhanghu', '账户', 6000), + ('anquan', '安全', 6200), + ('shebei', '设备', 6500), + ('wangluo', '网络', 6600), + ('lianjie', '连接', 6500), + ('duankai', '断开', 6100), + ('wuxian', '无线', 6200), + ('xinyongka', '信用卡', 5800), + ('weixin', '微信', 6000), + ('zhifu', '支付', 6200), + ('shoukuan', '收款', 5900), + ('gongxiang', '共享', 6000), + ('wenjian', '文件', 7000), + ('mulu', '目录', 6200), + ('lujing', '路径', 6100), + ('mingzi', '名字', 6200), + ('mingcheng', '名称', 6400), + ('liulan', '浏览', 6100), + ('dakai', '打开', 6300), + ('baocun', '保存', 6300), + ('shanchua', '删除', 6400), + ('fuzhi', '复制', 6200), + ('jiantie', '粘贴', 6100), + ('yidong', '移动', 6200), + ('chongming', '重命名', 6100), + ('chuanjian', '创建', 6200), + ('xinjian', '新建', 6200), + ('daoru', '导入', 6000), + ('daochu', '导出', 6000), + ('yinyue', '音乐', 7200), + ('geci', '歌词', 6200), + ('geshou', '歌手', 6500), + ('gequ', '歌曲', 6500), + ('xunhuan', '循环', 6100), + ('shunxu', '顺序', 6100), + ('suiji', '随机', 6000), + ('danqu', '单曲', 6000), + ('quanshen', '全申', 5600), + ('anli', '案例', 5600), + ('zhangdan', '账单', 5600), + ('chongzhi', '充值', 5800), + ('jifen', '积分', 5800), + ('huiyuan', '会员', 6000), + ('shangcheng', '商城', 5900), + ('dingdan', '订单', 6000), + ('wuliu', '物流', 5800), + ('kuaidi', '快递', 5800), + ('didai', '地带', 5600), + ('quyu', '区域', 6100), + ('shuju', '数据', 6700), + ('wenben', '文本', 6300), + ('shuru', '输入', 6400), + ('shuchu', '输出', 6300), + ('jiance', '检测', 6200), + ('yunchu', '运出', 5600), + ('ceshi', '测试', 6300), + ('fangshi', '方式', 6400), + ('mubiao', '目标', 6200), + ('zhuangtai', '状态', 6500), + ('jieduan', '阶段', 6100), + ('banben', '版本', 6200), + ('gongneng', '功能', 6600), + ('canshu', '参数', 6100), + ('jieguo', '结果', 6500), + ('cuowu', '错误', 6300), + ('tishi', '提示', 6300), + ('warn', '警告', 5600), + ('xinxi', '信息', 6700), + ('shuju', '数据', 6700), + ('anquan', '安全', 6200), + ('qiye', '企业', 6100), + ('yonghu', '用户', 6600), + ('touxiang', '头像', 6000), + ('jinqing', '尽情', 5800), + ('zaixian', '在线', 6200), + ('xiaoxi', '消息', 6400), + ('pengyou', '朋友', 7800), + ('guanxi', '关系', 6200), + ('meili', '美丽', 6100), + ('piaoliang', '漂亮', 6100), + ('kuaile', '快乐', 6200), + ('kaixin', '开心', 6200), + ('xingfu', '幸福', 6100), + ('jiankang', '健康', 6200), + ('shenti', '身体', 6200), + ('anquan', '安全', 6200), + ('baozhang', '保障', 5900), + ('huanjing', '环境', 6200), + ('ziyuan', '资源', 6200), + ('nengyuan', '能源', 6000), + ('huanbao', '环保', 5900), + ('zhineng', '智能', 6200), + ('renlei', '人类', 6100), + ('shehui', '社会', 6200), + ('guojia', '国家', 6200), + ('renmin', '人民', 6100), + ('zhengfu', '政府', 6100), + ('jingji', '经济', 6200), + ('wenhua', '文化', 6200), + ('jiaoyu', '教育', 6200), + ('kexue', '科学', 6200), + ('jishu', '技术', 6500), + ('gongye', '工业', 6100), + ('nongye', '农业', 5900), + ('shangye', '商业', 6200), + ('jinrong', '金融', 6100), + ('yiyao', '医药', 5900), + ('fangchan', '房产', 5900), + ('qiche', '汽车', 6200), + ('jixie', '机械', 6000), + ('dianqi', '电气', 6000), + ('ruan', '软', 6000), + ('yingjian', '硬件', 6100), + ('shujuku', '数据库', 6100), + ('caozuo', '操作', 6400), + ('xitong', '系统', 6600), + ('pingtai', '平台', 6300), + ('kuangjia', '框架', 6100), + ('jiekou', '接口', 6200), + ('yemian', '页面', 6300), + ('chuangkou', '窗口', 6200), + ('gundong', '滚动', 6100), + ('shuaxin', '刷新', 6200), + ('jiazai', '加载', 6300), + ('huanchong', '缓冲', 6000), + ('duilie', '队列', 5900), + ('xiancheng', '线程', 6000), + ('jincheng', '进程', 6100), + ('neicun', '内存', 6200), + ('yingpan', '硬盘', 6100), + ('cunchu', '存储', 6100), + ('wenjian', '文件', 7000), + ('wenjianjia', '文件夹', 6900), + ('tu', '图', 6400), + ('tupian', '图片', 6400), + ('zhaopian', '照片', 6200), + ('shouji', '手机', 6400), + ('xiangji', '相机', 6200), + ('luoyin', '录音', 6100), + ('shipin', '视频', 6400), + ('shexiang', '摄像', 6000), + ('yinyue', '音乐', 7200), + ('bojing', '剧情', 5800), + ('juchang', '剧场', 5800), + ('dianying', '电影', 6300), + ('dianshiju', '电视剧', 6200), + ('jilu', '记录', 6200), + ('zuji', '足迹', 5600), + ('ditu', '地图', 6200), + ('daohang', '导航', 6100), + ('weizhi', '位置', 6200), + ('dingwei', '定位', 6100), + ('zhuanti', '专题', 5900), + ('fenlei', '分类', 6200), + ('biaqian', '标签', 6100), + ('zhuxiao', '注销', 5800), + ('zhuxiao', '注销', 5800), + ('huanying', '欢迎', 6200), + ('liuyan', '留言', 6000), + ('pinglun', '评论', 6200), + ('dianzan', '点赞', 6100), + ('fenxiang', '分享', 6300), + ('shoucang', '收藏', 6300), + ('guanzhu', '关注', 6200), + ('yinshua', '印刷', 5900), + ('banshi', '办事', 5700), + ('shenpi', '审批', 5800), + ('jinzhi', '禁止', 6000), + ('yunxu', '允许', 6100), + ('queren', '确认', 6300), + ('queding', '确定', 6300), + ('qian', '前', 7600), + ('hou', '后', 7600), + ('zuo', '左', 7500), + ('you', '右', 7500), + ('shang', '上', 8000), + ('xia', '下', 8000), + ('zhongjian', '中间', 6100), + ('pangbian', '旁边', 6000), + ('limian', '里面', 6100), + ('waimian', '外面', 6000), + ('qianmian', '前面', 6100), + ('houmian', '后面', 6100), + ('shangmian', '上面', 6200), + ('xiamian', '下面', 6100), + ('dibiao', '地表', 5600), + ('gongyuan', '公园', 6000), + ('jie', '街', 6000), + ('lukou', '路口', 5900), + ('fangxiang', '方向', 6200), + ('dongnan', '东南', 5800), + ('xinxi', '信息', 6700), + ('shuzime', '数字', 6400), + ('zimu', '字母', 6100), + ('hanzi', '汉字', 6300), + ('wenhao', '问号', 5900), + ('juhao', '句号', 5900), + ('douhao', '逗号', 5900), +] + + +def utf8_len(s): + return len(s.encode('utf-8')) + + +def main(): + lines = [] + lines.append('/* 自动生成 by gen_pinyin_lex.py —— 中文拼音→候选字/词 频序表(去声调,UTF-8,.rodata)。*/') + lines.append('/* 词库规模:音节 %d 条 + 词语 %d 条;候选字全部落在 GB2312 常用字集(common/gbk tier)。 */' % (len(SYL), len(WORDS))) + lines.append('#ifndef MEOW_PINYIN_LEX_H') + lines.append('#define MEOW_PINYIN_LEX_H') + lines.append('#include ') + lines.append('') + lines.append('typedef struct { const char *py; const char *hz; } py_syl;') + lines.append('typedef struct { const char *sp; const char *hz; int w; } py_word;') + lines.append('') + lines.append('#define SYL_N %d' % len(SYL)) + lines.append('static const py_syl SYL[SYL_N] = {') + for k, v in SYL.items(): + lines.append(' {"%s", "%s"},' % (k, v)) + lines.append('};') + lines.append('') + lines.append('#define WORD_N %d' % len(WORDS)) + lines.append('static const py_word WORDS[WORD_N] = {') + for sp, hz, w in WORDS: + lines.append(' {"%s","%s",%d},' % (sp, hz, w)) + lines.append('};') + lines.append('') + lines.append('#endif /* MEOW_PINYIN_LEX_H */') + with open('meow_pinyin_lex.h', 'w', encoding='utf-8') as f: + f.write('\n'.join(lines) + '\n') + + # ---- 体积账(与设计稿 §2.3 同口径:结构体 + 字符串,含 NUL)---- + sz_syl_struct = 8 * len(SYL) # py ptr(4) + hz ptr(4) + sz_syl_str = sum(utf8_len(k) + 1 + utf8_len(v) + 1 for k, v in SYL.items()) + sz_word_struct = 12 * len(WORDS) # sp ptr(4) + hz ptr(4) + w(4) + sz_word_str = sum(utf8_len(sp) + 1 + utf8_len(hz) + 1 for sp, hz, w in WORDS) + total = sz_syl_struct + sz_syl_str + sz_word_struct + sz_word_str + print('--- 词库体积账 ---') + print('音节表: %d 条, 结构体 %d B + 字符串 %d B = %d B' % (len(SYL), sz_syl_struct, sz_syl_str, sz_syl_struct + sz_syl_str)) + print('词语表: %d 条, 结构体 %d B + 字符串 %d B = %d B' % (len(WORDS), sz_word_struct, sz_word_str, sz_word_struct + sz_word_str)) + print('合计 .rodata 估算: %d B (%.1f KiB)' % (total, total / 1024.0)) + print('--- 出错/重复检测 ---') + # 词表允许同键不同条目(如 'wei' 等),这里仅打印去重提示 + print('生成完成 meow_pinyin_lex.h') + + +if __name__ == '__main__': + main() diff --git a/meow_pinyin.c b/meow_pinyin.c new file mode 100644 index 0000000..343c6a8 --- /dev/null +++ b/meow_pinyin.c @@ -0,0 +1,156 @@ +/* + * meow_pinyin.c — 中文拼音Ⅰ级候选引擎(静态表驱动,纯 C,零堆)。 + * + * 词库在 meow_pinyin_lex.h(gen_pinyin_lex.py 离线生成,.rodata)。 + * 供 meow_ui_ime.c(MEOW_IME_PINYIN 模式)调用;SDK 集成时本 TU 进 meow_ui.a。 + * + * 查询 = 当前组合拼音串(去声调小写,如 "nihao")→ 候选列表(UTF-8)。 + * 排序规则(与设计稿 §4.4 / /tmp/pyim engine.c 一致): + * 1) 短语精确命中(sp==输入,如 nihao→你好)最优先; + * 2) 音节切分组合(ni+hao→你好/你号/呢好…)按「每音节候选字序号之和」升序; + * 3) 前缀整词提示(sp 以输入为前缀,如 ni→你好/你好吗)排最后(边打边出整词)。 + * + * 设计约束:无 stdio(拉体积),无动态分配(MIPS32/14MB 意识)。切分 DFS + 组合 + * 上限常量封死(MAXSPLIT/MAXCOMB),防长组合串爆炸。词表按 sp 前缀匹配(线性回溯)。 + */ +#include "meow_pinyin_lex.h" +#include +#include + +#define MAXCAND 32 /* 每轮候选上限(与 IME 候选数组对齐) */ +#define MAXSPLIT 64 /* 切分枚举上限 */ +#define MAXSYL 8 /* 一次组合的音节数上限 */ +#define TK 4 /* 每音节取前 K 个字符再组合(限组合数) */ +#define MAXCOMB 120 /* 笛卡尔组合 guard(防爆炸) */ + +typedef struct { char hz[64]; int score; int src; int seg; } cand; /* src: 0=短语 1=切分组合 2=前缀词提示; seg=切分音节数 */ + +/* 定长拷贝一个 NUL 结尾字符串到 d[64];用 memcpy 规避 -Wstringop-truncation(来源可能超 63)。 */ +static void set_hz(char *d, const char *s) +{ + size_t n = strlen(s); + if (n > 63) n = 63; + memcpy(d, s, n); + d[n] = 0; +} + +/* 收集某音节候选字(UTF-8 单字),填入 chars[][4](UTF-8 ≤3B + NUL)。返回字数。 */ +static int syl_chars(int s, char chars[][4], int maxk) +{ + const char *h = SYL[s].hz; + int n = 0, i = 0; + while (h[i] && n < maxk) { + int l = 1; + if ((unsigned char)h[i] >= 0xF0) l = 4; + else if ((unsigned char)h[i] >= 0xE0) l = 3; + else if ((unsigned char)h[i] >= 0xC0) l = 2; + if (n < maxk) { memcpy(chars[n], h + i, (size_t)l); chars[n][l] = 0; n++; } + i += l; + } + return n; +} + +/* 枚举 py 全部合法音节切分(DFS)。g_split[i]=切分路径(音节下标数组)。 */ +static int g_split[MAXSPLIT][MAXSYL]; +static int g_splitlen[MAXSPLIT]; +static int g_ns; + +static void dfs_split(const char *py, int i, int path[], int plen) +{ + if (g_ns >= MAXSPLIT) return; + if (py[i] == 0) { + if (plen == 0) return; + memcpy(g_split[g_ns], path, (size_t)plen * sizeof(int)); + g_splitlen[g_ns] = plen; + g_ns++; + return; + } + for (int s = 0; s < SYL_N && g_ns < MAXSPLIT; s++) { + int l = (int)strlen(SYL[s].py); + if (strncmp(py + i, SYL[s].py, (size_t)l) == 0) { + path[plen] = s; + dfs_split(py, i + l, path, plen + 1); + } + } +} + +static int cmp_cand(const void *a, const void *b) +{ + const cand *x = (const cand *)a, *y = (const cand *)b; + if (x->score != y->score) return x->score - y->score; /* 升序:score 越小越常用 */ + if (x->seg != y->seg) return x->seg - y->seg; /* score 相同:音节数越少越优先(完整音节读法) */ + return x->src - y->src; +} + +static void dedupe(cand *c, int *n) +{ + for (int i = 0; i < *n; i++) + for (int j = i + 1; j < *n; j++) + if (strcmp(c[i].hz, c[j].hz) == 0) { c[j].score = 99999; } + int w = 0; + for (int i = 0; i < *n; i++) if (c[i].score != 99999) c[w++] = c[i]; + *n = w; +} + +/* 主入口:输入当前拼音组合串(去声调),输出候选列表(UTF-8),返回个数。 + * out 至少 maxout 项,每项定长 64B(拷贝,非持久)。 */ +int py_predict(const char *py, char out[][64], int maxout) +{ + cand cs[MAXCAND]; int nc = 0; + const int len = (int)strlen(py); + if (len == 0 || maxout <= 0) return 0; + if (maxout > MAXCAND) maxout = MAXCAND; + + /* 1) 短语精确命中(band 0:最优先)。词表可能多条同拼(如 'shi'/'dui' 单字词),按序给 rank。 */ + int exact_rank = 0; + for (int i = 0; i < WORD_N && nc < MAXCAND; i++) { + if (strcmp(WORDS[i].sp, py) == 0) { + set_hz(cs[nc].hz, WORDS[i].hz); + cs[nc].score = exact_rank++; + cs[nc].src = 0; cs[nc].seg = 1; nc++; + } + } + /* 2) 前缀词提示(band 2:边打边出整词,排在单字组合之后) */ + int pre_rank = 0; + for (int i = 0; i < WORD_N && nc < MAXCAND; i++) { + int wl = (int)strlen(WORDS[i].sp); + if (wl > len && strncmp(WORDS[i].sp, py, (size_t)len) == 0) { + set_hz(cs[nc].hz, WORDS[i].hz); + cs[nc].score = 200 + pre_rank++; + cs[nc].src = 2; cs[nc].seg = 1; nc++; + } + } + /* 3) 音节切分组合 */ + g_ns = 0; + { int path[MAXSYL]; dfs_split(py, 0, path, 0); } + for (int s = 0; s < g_ns && nc < MAXCAND; s++) { + const int *seg = g_split[s]; + int nseg = g_splitlen[s]; + char cset[MAXSYL][TK][4]; + int cnt[MAXSYL]; + for (int k = 0; k < nseg; k++) cnt[k] = syl_chars(seg[k], cset[k], TK); + int iter[MAXSYL]; for (int k = 0; k < nseg; k++) iter[k] = 0; + int guard = 0; + while (guard++ < MAXCOMB && nc < MAXCAND) { + char buf[64]; buf[0] = 0; int score = 0; + for (int k = 0; k < nseg; k++) { strcat(buf, cset[k][iter[k]]); score += iter[k]; } + if (buf[0]) { + set_hz(cs[nc].hz, buf); + cs[nc].score = 100 + score; /* band 1:切分组合(sum of char index 越小越常用) */ + cs[nc].src = 1; cs[nc].seg = nseg; nc++; + } + int k = nseg - 1; + while (k >= 0) { + iter[k]++; + if (iter[k] < cnt[k]) break; + iter[k] = 0; k--; + } + if (k < 0) break; + } + } + dedupe(cs, &nc); + qsort(cs, (size_t)nc, sizeof(cand), cmp_cand); + if (nc > maxout) nc = maxout; + for (int i = 0; i < nc; i++) { memcpy(out[i], cs[i].hz, 64); } + return nc; +} diff --git a/meow_pinyin.h b/meow_pinyin.h new file mode 100644 index 0000000..5a1fa33 --- /dev/null +++ b/meow_pinyin.h @@ -0,0 +1,12 @@ +/* + * meow_pinyin.h — 中文拼音候选引擎公开接口(meow_ui_ime.c 调用;实现在 meow_pinyin.c)。 + * 词库(meow_pinyin_lex.h)与本接口均进 meow_ui.a。纯 C 静态表驱动,零堆、无 stdio。 + */ +#ifndef MEOW_PINYIN_H +#define MEOW_PINYIN_H + +/* 输入当前拼音组合串(去声调小写,如 "nihao"),输出候选列表(UTF-8,out 拷贝),返回条数。 + * out 至少 maxout 项、每项 ≥64B。无候选返回 0。 */ +int py_predict(const char *py, char out[][64], int maxout); + +#endif /* MEOW_PINYIN_H */ diff --git a/meow_pinyin_lex.h b/meow_pinyin_lex.h new file mode 100644 index 0000000..c00d2ed --- /dev/null +++ b/meow_pinyin_lex.h @@ -0,0 +1,750 @@ +/* 自动生成 by gen_pinyin_lex.py —— 中文拼音→候选字/词 频序表(去声调,UTF-8,.rodata)。*/ +/* 词库规模:音节 403 条 + 词语 329 条;候选字全部落在 GB2312 常用字集(common/gbk tier)。 */ +#ifndef MEOW_PINYIN_LEX_H +#define MEOW_PINYIN_LEX_H +#include + +typedef struct { const char *py; const char *hz; } py_syl; +typedef struct { const char *sp; const char *hz; int w; } py_word; + +#define SYL_N 403 +static const py_syl SYL[SYL_N] = { + {"a", "啊阿吖呵腌"}, + {"ai", "爱哀挨唉矮碍癌艾呆埃"}, + {"an", "安按暗案岸俺鞍庵"}, + {"ang", "昂盎肮"}, + {"ao", "奥懊傲熬凹澳敖袄"}, + {"ba", "把八吧爸拔罢霸巴扒芭"}, + {"bai", "白百摆败拜柏伯佰"}, + {"ban", "办半班搬版板伴扮拌瓣"}, + {"bang", "帮棒榜绑膀磅邦蚌"}, + {"bao", "报保包宝抱暴薄爆饱堡"}, + {"bei", "被北背倍杯备悲辈贝碑"}, + {"ben", "本奔笨苯"}, + {"beng", "蹦崩甭泵迸"}, + {"bi", "比必笔闭毕鼻避彼壁弊"}, + {"bian", "变边便遍辨编辩扁鞭"}, + {"biao", "表标彪镖膘"}, + {"bie", "别憋鳖瘪"}, + {"bin", "宾滨彬濒斌"}, + {"bing", "病并兵冰饼丙柄秉"}, + {"bo", "波播拨薄博伯驳脖膊"}, + {"bu", "不步部布补捕怖埠簿"}, + {"ca", "擦嚓"}, + {"cai", "才菜采财猜彩裁踩材"}, + {"can", "参残餐灿惨蚕惭"}, + {"cang", "藏仓苍舱"}, + {"cao", "草操曹槽糙"}, + {"ce", "侧测策册厕"}, + {"cen", "岑"}, + {"ceng", "层曾蹭"}, + {"cha", "查差茶插叉察刹诧"}, + {"chai", "拆柴差钗"}, + {"chan", "产缠颤馋禅蝉"}, + {"chang", "长常场厂唱昌畅肠尝偿"}, + {"chao", "超朝潮吵炒抄钞巢"}, + {"che", "车扯撤彻澈"}, + {"chen", "陈沉晨臣尘趁衬辰"}, + {"cheng", "成城程称承诚乘盛橙惩"}, + {"chi", "吃持池迟赤尺斥驰齿翅"}, + {"chong", "冲重虫充宠崇憧"}, + {"chou", "抽愁丑臭筹仇酬绸"}, + {"chu", "出处初除楚厨触储础畜"}, + {"chua", "欻"}, + {"chuai", "揣踹"}, + {"chuan", "传船穿川串喘"}, + {"chuang", "创窗床闯疮"}, + {"chui", "吹垂锤炊"}, + {"chun", "春纯唇蠢淳"}, + {"chuo", "戳绰辍"}, + {"ci", "次此词刺辞瓷慈磁雌"}, + {"cong", "从聪葱囱匆"}, + {"cou", "凑"}, + {"cu", "粗促醋簇卒"}, + {"cuan", "窜窜蹿"}, + {"cui", "催脆翠摧崔粹"}, + {"cun", "存村寸蹲"}, + {"cuo", "错措搓挫磋"}, + {"da", "大打达答搭沓嗒"}, + {"dai", "带代待戴袋呆逮贷岱"}, + {"dan", "但担单弹蛋淡胆旦耽诞"}, + {"dang", "当挡党荡档挡"}, + {"dao", "到道倒刀岛导盗稻悼"}, + {"de", "的得地德"}, + {"deng", "等灯登邓凳瞪"}, + {"di", "地第低底敌抵滴弟帝递"}, + {"dian", "点电店典殿掂惦奠"}, + {"diao", "调掉钓雕叼吊"}, + {"die", "跌爹叠碟蝶迭"}, + {"ding", "定顶丁订钉盯鼎"}, + {"diu", "丢"}, + {"dong", "动东懂冬洞冻董栋"}, + {"dou", "都斗豆逗兜陡抖"}, + {"du", "度读独毒肚堵赌渡杜"}, + {"duan", "段断短端锻"}, + {"dui", "对队堆兑"}, + {"dun", "顿吨蹲盾钝敦"}, + {"duo", "多朵夺躲堕舵跺"}, + {"e", "饿恶额鹅俄蛾遏鄂"}, + {"en", "恩摁"}, + {"er", "而二儿耳尔饵洱"}, + {"fa", "发法罚伐乏阀筏"}, + {"fan", "反饭犯翻凡烦返泛范繁"}, + {"fang", "方放房防访仿坊纺"}, + {"fei", "非飞费肥废匪肺菲"}, + {"fen", "分粉份奋愤纷芬坟焚"}, + {"feng", "风封峰丰疯逢缝蜂凤"}, + {"fo", "佛"}, + {"fou", "否"}, + {"fu", "副复福扶服府负富付妇父符附腐"}, + {"ga", "嘎尬噶"}, + {"gai", "该改盖概钙溉"}, + {"gan", "干感敢赶甘杆肝竿"}, + {"gang", "刚钢港岗缸杠"}, + {"gao", "高告搞稿糕膏"}, + {"ge", "个各歌格哥隔割阁胳"}, + {"gei", "给"}, + {"gen", "跟根跟"}, + {"geng", "更耕颈梗耿"}, + {"gong", "公共工功攻供宫拱贡恭"}, + {"gou", "够狗购勾沟构钩"}, + {"gu", "故古顾股骨鼓谷姑孤估"}, + {"gua", "挂瓜刮寡卦"}, + {"guai", "怪拐乖"}, + {"guan", "关管观官冠馆惯罐"}, + {"guang", "光广逛"}, + {"gui", "贵归鬼规柜桂跪诡"}, + {"gun", "滚棍"}, + {"guo", "国过果锅裹郭"}, + {"ha", "哈蛤"}, + {"hai", "还海害孩嗨骇"}, + {"han", "含喊汉汗寒韩罕憾"}, + {"hang", "行航夯杭"}, + {"hao", "好号浩豪毫郝耗昊"}, + {"he", "和合何河喝盒禾鹤贺荷"}, + {"hei", "黑嘿"}, + {"hen", "很恨狠痕"}, + {"heng", "横恒衡哼"}, + {"hong", "红洪宏虹烘鸿"}, + {"hou", "后候厚猴喉吼"}, + {"hu", "湖户呼胡虎糊互忽壶糊"}, + {"hua", "话花化画华滑划桦"}, + {"huai", "坏怀淮"}, + {"huan", "还换环欢缓幻患唤"}, + {"huang", "黄慌皇荒晃煌幌"}, + {"hui", "会回挥灰汇毁惠慧辉恢悔"}, + {"hun", "混昏婚魂浑"}, + {"huo", "或火活货获伙惑霍"}, + {"ji", "及机级极即急集计记既济季几给基激肌迹际剂"}, + {"jia", "家加价假架甲佳嘉嫁夹"}, + {"jian", "见件间建减检简坚健剑渐尖肩荐监"}, + {"jiang", "将讲江奖降酱姜僵"}, + {"jiao", "叫教交角觉较脚焦骄娇郊浇"}, + {"jie", "界接解节姐借街杰皆截戒届阶"}, + {"jin", "进近金今紧仅尽禁劲津筋"}, + {"jing", "经精京静境警惊景镜竟竞睛晶"}, + {"jiong", "窘炯"}, + {"jiu", "就九久酒旧救究舅揪"}, + {"ju", "据居具局举句巨距聚拒剧"}, + {"juan", "卷捐娟倦眷"}, + {"jue", "觉决绝角掘爵倔嚼"}, + {"jun", "军均君俊菌骏"}, + {"ka", "卡咖喀"}, + {"kai", "开凯慨楷"}, + {"kan", "看砍刊堪坎勘"}, + {"kang", "抗康炕扛慷"}, + {"kao", "考靠烤拷"}, + {"ke", "可课科克客刻渴棵颗咳"}, + {"kei", "剋"}, + {"ken", "肯垦啃恳"}, + {"keng", "坑吭"}, + {"kong", "空控孔恐"}, + {"kou", "口扣抠寇"}, + {"ku", "苦哭库裤酷枯窟"}, + {"kua", "跨夸垮挎"}, + {"kuai", "快块筷会脍"}, + {"kuan", "宽款"}, + {"kuang", "况狂矿框筐旷"}, + {"kui", "亏溃愧窥葵"}, + {"kun", "困昆捆坤"}, + {"kuo", "扩阔括廓"}, + {"la", "拉啦辣蜡腊喇"}, + {"lai", "来莱赖"}, + {"lan", "蓝栏拦懒烂览兰篮"}, + {"lang", "浪狼朗郎"}, + {"lao", "老劳牢捞唠姥"}, + {"le", "了乐勒"}, + {"lei", "类累泪雷蕾垒"}, + {"leng", "冷愣棱"}, + {"li", "里力理立利李离例历丽励粒厉礼"}, + {"lia", "俩"}, + {"lian", "连脸练联恋链帘莲"}, + {"liang", "量两亮辆凉粮良梁"}, + {"liao", "了料聊疗辽廖"}, + {"lie", "列烈裂猎劣"}, + {"lin", "林临邻淋琳磷"}, + {"ling", "令领另零灵铃岭凌"}, + {"liu", "六流留刘柳溜瘤"}, + {"long", "龙隆笼聋拢垄"}, + {"lou", "楼漏搂陋"}, + {"lu", "路陆录露鲁卢炉鹿炉"}, + {"luan", "乱卵峦"}, + {"lun", "论轮伦沦"}, + {"lue", "略掠"}, + {"luo", "落罗洛络骆裸"}, + {"lv", "率律绿虑旅驴吕铝"}, + {"lve", "略掠"}, + {"ma", "吗妈马麻骂码嘛玛"}, + {"mai", "买卖麦埋迈脉"}, + {"man", "满慢蛮瞒漫曼"}, + {"mang", "忙茫盲芒莽"}, + {"mao", "毛猫冒帽茂矛贸锚"}, + {"me", "么"}, + {"mei", "没每美妹梅眉媒霉"}, + {"men", "们门闷萌"}, + {"meng", "梦猛蒙盟萌"}, + {"mi", "米密迷秘蜜谜觅"}, + {"mian", "面免棉眠缅勉"}, + {"miao", "秒妙苗描庙瞄"}, + {"mie", "灭蔑"}, + {"min", "民敏闽皿"}, + {"ming", "明名命鸣铭茗"}, + {"miu", "谬"}, + {"mo", "摸模磨末莫默墨陌摩"}, + {"mou", "某谋牟"}, + {"mu", "目母木幕牧慕墓穆亩"}, + {"na", "那拿哪纳娜呐"}, + {"nai", "奶乃耐奈"}, + {"nan", "难南男楠"}, + {"nang", "囊"}, + {"nao", "脑闹恼挠"}, + {"ne", "呢"}, + {"nei", "内馁"}, + {"nen", "嫩"}, + {"neng", "能"}, + {"ni", "你呢泥尼妮霓逆拟腻匿"}, + {"nian", "年念粘捻撵"}, + {"niang", "娘酿"}, + {"niao", "鸟尿"}, + {"nie", "捏聂孽"}, + {"nin", "您"}, + {"ning", "宁凝拧"}, + {"niu", "牛扭纽妞"}, + {"nong", "弄农浓脓"}, + {"nou", "耨"}, + {"nu", "怒努奴"}, + {"nuan", "暖"}, + {"nuo", "诺挪懦"}, + {"nv", "女"}, + {"nve", "虐疟"}, + {"o", "哦噢"}, + {"ou", "欧偶呕殴藕"}, + {"pa", "怕爬趴帕啪"}, + {"pai", "排派拍牌徘湃"}, + {"pan", "判盘盼攀畔叛"}, + {"pang", "旁胖庞乓"}, + {"pao", "跑炮泡抛袍"}, + {"pei", "陪配佩赔培"}, + {"pen", "喷盆"}, + {"peng", "朋碰捧棚蓬鹏"}, + {"pi", "皮批脾披疲劈匹屁"}, + {"pian", "片篇偏骗"}, + {"piao", "票飘漂瓢"}, + {"pie", "撇瞥"}, + {"pin", "品拼贫频聘"}, + {"ping", "平评凭瓶苹萍乒"}, + {"po", "破坡婆迫颇魄"}, + {"pou", "剖"}, + {"pu", "铺普朴谱浦葡仆"}, + {"qi", "起期其气七齐器汽奇乞旗棋"}, + {"qia", "恰掐洽"}, + {"qian", "前钱千签浅欠牵铅迁谦"}, + {"qiang", "强抢墙枪腔"}, + {"qiao", "桥瞧敲俏巧悄壳"}, + {"qie", "且切窃茄"}, + {"qin", "亲琴勤侵秦"}, + {"qing", "请清轻青情晴顷倾"}, + {"qiong", "穷琼"}, + {"qiu", "求球秋丘邱"}, + {"qu", "去取区曲娶趣趋渠"}, + {"quan", "全权圈劝拳泉犬"}, + {"que", "却确缺雀鹊"}, + {"qun", "群裙"}, + {"ran", "然染燃"}, + {"rang", "让嚷壤"}, + {"rao", "绕饶扰"}, + {"re", "热惹"}, + {"ren", "人认任仁忍韧刃"}, + {"reng", "仍扔"}, + {"ri", "日"}, + {"rong", "容荣融绒溶"}, + {"rou", "肉柔揉"}, + {"ru", "如入辱儒乳汝"}, + {"rua", "挼"}, + {"ruan", "软"}, + {"rui", "瑞锐"}, + {"run", "润闰"}, + {"ruo", "若弱"}, + {"sa", "撒洒萨"}, + {"sai", "赛塞腮"}, + {"san", "三散伞"}, + {"sang", "桑嗓丧"}, + {"sao", "扫嫂骚"}, + {"se", "色涩瑟"}, + {"sen", "森"}, + {"seng", "僧"}, + {"sha", "沙杀傻纱啥刹煞"}, + {"shai", "晒筛"}, + {"shan", "山善闪衫删扇陕"}, + {"shang", "上商伤尚赏裳"}, + {"shao", "少烧稍绍捎勺"}, + {"she", "社设舍射蛇摄涉奢"}, + {"shen", "身深神甚伸什申慎渗"}, + {"sheng", "生声省胜圣升盛剩"}, + {"shi", "是事时十式市师世史示使士失视实识施"}, + {"shou", "手受收首守售寿授瘦"}, + {"shu", "书数术树输属舒叔殊疏蔬"}, + {"shua", "刷耍"}, + {"shuai", "帅摔甩衰"}, + {"shuan", "栓拴"}, + {"shuang", "双爽"}, + {"shui", "水睡税"}, + {"shun", "顺瞬"}, + {"shuo", "说硕烁"}, + {"si", "四死思斯司私似撕寺饲"}, + {"song", "送松宋诵颂"}, + {"sou", "搜艘嗽"}, + {"su", "素速苏诉宿俗塑肃"}, + {"suan", "算酸蒜"}, + {"sui", "岁随虽碎遂穗"}, + {"sun", "孙损笋"}, + {"suo", "所锁索缩嗦"}, + {"ta", "他她它塔踏塌拓"}, + {"tai", "太台抬态泰苔"}, + {"tan", "谈弹叹探贪摊滩瘫"}, + {"tang", "堂糖汤唐躺烫塘"}, + {"tao", "讨套逃掏桃掏"}, + {"te", "特"}, + {"teng", "疼腾藤"}, + {"ti", "体题提替踢蹄剃"}, + {"tian", "天田甜填添"}, + {"tiao", "条跳挑调"}, + {"tie", "铁贴帖"}, + {"ting", "听停厅挺庭亭艇"}, + {"tong", "同通痛统童筒铜桶"}, + {"tou", "头投偷透"}, + {"tu", "图土突途徒吐兔涂"}, + {"tuan", "团"}, + {"tui", "推退腿褪"}, + {"tun", "吞屯臀"}, + {"tuo", "托脱拖妥驼椭"}, + {"wa", "挖瓦蛙娃袜"}, + {"wai", "外歪"}, + {"wan", "完万晚玩弯碗湾挽"}, + {"wang", "王往望网忘旺亡"}, + {"wei", "为位未卫维微围委谓违唯尾"}, + {"wen", "问文闻温稳吻纹"}, + {"weng", "翁嗡瓮"}, + {"wo", "我握窝卧沃"}, + {"wu", "无五物误务武舞午污伍"}, + {"xi", "系西习戏喜细吸希洗悉溪膝席惜"}, + {"xia", "下夏吓虾峡狭暇霞"}, + {"xian", "先现线县显险鲜闲限陷献"}, + {"xiang", "想向相像响项香乡箱详"}, + {"xiao", "小笑校晓消销肖效萧"}, + {"xie", "写些鞋谢协血携斜泄"}, + {"xin", "新心信辛欣薪芯"}, + {"xing", "行性形星兴型醒幸姓"}, + {"xiong", "雄胸凶兄熊"}, + {"xiu", "修秀休羞锈袖嗅"}, + {"xu", "需须许序续徐虚绪蓄"}, + {"xuan", "选宣旋悬玄轩"}, + {"xue", "学雪血穴靴"}, + {"xun", "寻讯训迅询巡循旬"}, + {"ya", "压呀牙亚讶雅鸦鸭"}, + {"yan", "眼言演烟严沿研盐验颜宴艳延"}, + {"yang", "样养洋阳羊央仰扬"}, + {"yao", "要药摇腰咬耀邀遥谣"}, + {"ye", "也业夜叶爷野冶页"}, + {"yi", "一已以意义医衣依易忆疑谊益议"}, + {"yin", "因音引银印隐饮阴姻"}, + {"ying", "应英影营迎硬赢映鹰"}, + {"yo", "哟"}, + {"yong", "用永拥勇涌泳庸"}, + {"you", "有又由右油游友优幼忧尤呦"}, + {"yu", "于与语雨鱼玉育余遇欲愈预域娱"}, + {"yuan", "元原员院远愿圆园源冤缘"}, + {"yue", "月越约阅跃悦岳"}, + {"yun", "云运允匀韵孕"}, + {"za", "杂砸咋"}, + {"zai", "在再载咱灾宰"}, + {"zan", "咱赞暂攒"}, + {"zang", "藏脏葬"}, + {"zao", "早造遭糟澡灶燥躁"}, + {"ze", "则责择泽"}, + {"zei", "贼"}, + {"zen", "怎"}, + {"zeng", "增赠曾憎"}, + {"zha", "炸查扎眨乍榨渣"}, + {"zhai", "宅摘窄债斋"}, + {"zhan", "战站占展沾粘斩"}, + {"zhang", "张章长掌涨帐障丈"}, + {"zhao", "找照招着朝召兆"}, + {"zhe", "这者着折哲浙"}, + {"zhen", "真阵镇针震振诊枕"}, + {"zheng", "正整证政争征挣睁郑"}, + {"zhi", "只之至制知指直纸志治支止职织质执"}, + {"zhong", "中种重众忠终钟仲"}, + {"zhou", "周州洲舟昼皱骤轴"}, + {"zhu", "主住注助著朱猪竹煮筑祝驻"}, + {"zhua", "抓"}, + {"zhuai", "拽"}, + {"zhuan", "转专赚传砖"}, + {"zhuang", "装状撞庄壮"}, + {"zhui", "追坠缀"}, + {"zhun", "准"}, + {"zhuo", "桌捉着灼卓浊"}, + {"zi", "子自字资紫仔兹姿咨"}, + {"zong", "总宗纵综棕踪"}, + {"zou", "走奏揍邹"}, + {"zu", "组足祖族租阻卒"}, + {"zuan", "钻攥"}, + {"zui", "最嘴罪醉"}, + {"zun", "尊遵"}, + {"zuo", "做作坐座左昨"}, +}; + +#define WORD_N 329 +static const py_word WORDS[WORD_N] = { + {"nihao","你好",10000}, + {"zhongguo","中国",9200}, + {"women","我们",9000}, + {"shijie","世界",8600}, + {"shijian","时间",8400}, + {"xianzai","现在",8300}, + {"keyi","可以",8200}, + {"meiyou","没有",8100}, + {"yijing","已经",8000}, + {"haode","好的",7900}, + {"pengyou","朋友",7800}, + {"gongzuo","工作",7700}, + {"shenghuo","生活",7600}, + {"xuexi","学习",7500}, + {"xihuan","喜欢",7400}, + {"beijing","北京",7300}, + {"shanghai","上海",7300}, + {"yinyue","音乐",7200}, + {"sousuo","搜索",7100}, + {"xiaza","下载",7000}, + {"wenjian","文件",7000}, + {"wenjianjia","文件夹",6900}, + {"shezhi","设置",6900}, + {"yingyong","应用",6900}, + {"tongzhi","通知",6800}, + {"zhongwen","中文",6800}, + {"pinyin","拼音",6800}, + {"meiti","媒体",6700}, + {"bofang","播放",6700}, + {"zanting","暂停",6600}, + {"jixu","继续",6600}, + {"shangyi","上一",6600}, + {"xiayi","下一",6600}, + {"liebiao","列表",6550}, + {"geshou","歌手",6500}, + {"gequ","歌曲",6500}, + {"zhuanji","专辑",6450}, + {"gouwu","购物",6400}, + {"dianhua","电话",6400}, + {"shouji","手机",6400}, + {"diannao","电脑",6350}, + {"dianying","电影",6300}, + {"dianshi","电视",6300}, + {"tushu","图书",6250}, + {"xuexiao","学校",6200}, + {"daxue","大学",6200}, + {"xiaoxue","小学",6150}, + {"gongsi","公司",6100}, + {"laoshi","老师",6100}, + {"tongxue","同学",6050}, + {"jiating","家庭",6000}, + {"baba","爸爸",6000}, + {"mama","妈妈",6000}, + {"gege","哥哥",5900}, + {"jiejie","姐姐",5900}, + {"didi","弟弟",5850}, + {"meimei","妹妹",5850}, + {"pengyoumen","朋友们",5800}, + {"nihaoma","你好吗",7000}, + {"zhongguoren","中国人",6200}, + {"shanghairen","上海人",4200}, + {"beijingren","北京人",4200}, + {"shenme","什么",6600}, + {"weishenme","为什么",6500}, + {"zemme","怎么",6500}, + {"zenmeyang","怎么样",6400}, + {"shenmeshihou","什么时候",6300}, + {"nar","哪儿",6200}, + {"duoshao","多少",6400}, + {"dui","对",8200}, + {"bushi","不是",8100}, + {"shi","是",8300}, + {"yexu","也许",6300}, + {"keshi","可是",6200}, + {"suoyi","所以",6300}, + {"ranhou","然后",6200}, + {"danshi","但是",6200}, + {"haishi","还是",6400}, + {"huozhe","或者",6300}, + {"bingqie","并且",6200}, + {"erqie","而且",6300}, + {"yinwei","因为",6500}, + {"suoyi","所以",6300}, + {"jintian","今天",6500}, + {"mingtian","明天",6400}, + {"zuotian","昨天",6300}, + {"xingqi","星期",6200}, + {"zhoumo","周末",6100}, + {"shangwu","上午",6000}, + {"xiawu","下午",6000}, + {"wanshang","晚上",6100}, + {"zaoshang","早上",6000}, + {"zhongwu","中午",5900}, + {"zhidao","知道",6800}, + {"mingbai","明白",6300}, + {"renshi","认识",6300}, + {"liaojie","了解",6200}, + {"xiangxin","相信",6200}, + {"xiwang","希望",6300}, + {"juede","觉得",6500}, + {"xianzai","现在",8300}, + {"zhende","真的",6400}, + {"feichang","非常",6400}, + {"tai","太",7800}, + {"hen","很",8000}, + {"dou","都",7900}, + {"ye","也",7900}, + {"zai","在",8300}, + {"you","有",8300}, + {"ba","吧",7800}, + {"ma","吗",7900}, + {"ne","呢",7800}, + {"a","啊",7900}, + {"jianghu","江湖",5400}, + {"shijie","世界",8600}, + {"xianshi","显示",6400}, + {"shebei","设备",6500}, + {"kongzhi","控制",6500}, + {"yuancheng","远程",6300}, + {"zhijie","直接",6400}, + {"fuwu","服务",6600}, + {"qidong","启动",6400}, + {"guanbi","关闭",6300}, + {"chongqi","重启",6200}, + {"gengxin","更新",6400}, + {"anzhuang","安装",6300}, + {"xiezai","卸载",6100}, + {"denglu","登录",6200}, + {"zhuce","注册",6100}, + {"shenfen","身份",6000}, + {"mima","密码",6100}, + {"zhanghu","账户",6000}, + {"anquan","安全",6200}, + {"shebei","设备",6500}, + {"wangluo","网络",6600}, + {"lianjie","连接",6500}, + {"duankai","断开",6100}, + {"wuxian","无线",6200}, + {"xinyongka","信用卡",5800}, + {"weixin","微信",6000}, + {"zhifu","支付",6200}, + {"shoukuan","收款",5900}, + {"gongxiang","共享",6000}, + {"wenjian","文件",7000}, + {"mulu","目录",6200}, + {"lujing","路径",6100}, + {"mingzi","名字",6200}, + {"mingcheng","名称",6400}, + {"liulan","浏览",6100}, + {"dakai","打开",6300}, + {"baocun","保存",6300}, + {"shanchua","删除",6400}, + {"fuzhi","复制",6200}, + {"jiantie","粘贴",6100}, + {"yidong","移动",6200}, + {"chongming","重命名",6100}, + {"chuanjian","创建",6200}, + {"xinjian","新建",6200}, + {"daoru","导入",6000}, + {"daochu","导出",6000}, + {"yinyue","音乐",7200}, + {"geci","歌词",6200}, + {"geshou","歌手",6500}, + {"gequ","歌曲",6500}, + {"xunhuan","循环",6100}, + {"shunxu","顺序",6100}, + {"suiji","随机",6000}, + {"danqu","单曲",6000}, + {"quanshen","全申",5600}, + {"anli","案例",5600}, + {"zhangdan","账单",5600}, + {"chongzhi","充值",5800}, + {"jifen","积分",5800}, + {"huiyuan","会员",6000}, + {"shangcheng","商城",5900}, + {"dingdan","订单",6000}, + {"wuliu","物流",5800}, + {"kuaidi","快递",5800}, + {"didai","地带",5600}, + {"quyu","区域",6100}, + {"shuju","数据",6700}, + {"wenben","文本",6300}, + {"shuru","输入",6400}, + {"shuchu","输出",6300}, + {"jiance","检测",6200}, + {"yunchu","运出",5600}, + {"ceshi","测试",6300}, + {"fangshi","方式",6400}, + {"mubiao","目标",6200}, + {"zhuangtai","状态",6500}, + {"jieduan","阶段",6100}, + {"banben","版本",6200}, + {"gongneng","功能",6600}, + {"canshu","参数",6100}, + {"jieguo","结果",6500}, + {"cuowu","错误",6300}, + {"tishi","提示",6300}, + {"warn","警告",5600}, + {"xinxi","信息",6700}, + {"shuju","数据",6700}, + {"anquan","安全",6200}, + {"qiye","企业",6100}, + {"yonghu","用户",6600}, + {"touxiang","头像",6000}, + {"jinqing","尽情",5800}, + {"zaixian","在线",6200}, + {"xiaoxi","消息",6400}, + {"pengyou","朋友",7800}, + {"guanxi","关系",6200}, + {"meili","美丽",6100}, + {"piaoliang","漂亮",6100}, + {"kuaile","快乐",6200}, + {"kaixin","开心",6200}, + {"xingfu","幸福",6100}, + {"jiankang","健康",6200}, + {"shenti","身体",6200}, + {"anquan","安全",6200}, + {"baozhang","保障",5900}, + {"huanjing","环境",6200}, + {"ziyuan","资源",6200}, + {"nengyuan","能源",6000}, + {"huanbao","环保",5900}, + {"zhineng","智能",6200}, + {"renlei","人类",6100}, + {"shehui","社会",6200}, + {"guojia","国家",6200}, + {"renmin","人民",6100}, + {"zhengfu","政府",6100}, + {"jingji","经济",6200}, + {"wenhua","文化",6200}, + {"jiaoyu","教育",6200}, + {"kexue","科学",6200}, + {"jishu","技术",6500}, + {"gongye","工业",6100}, + {"nongye","农业",5900}, + {"shangye","商业",6200}, + {"jinrong","金融",6100}, + {"yiyao","医药",5900}, + {"fangchan","房产",5900}, + {"qiche","汽车",6200}, + {"jixie","机械",6000}, + {"dianqi","电气",6000}, + {"ruan","软",6000}, + {"yingjian","硬件",6100}, + {"shujuku","数据库",6100}, + {"caozuo","操作",6400}, + {"xitong","系统",6600}, + {"pingtai","平台",6300}, + {"kuangjia","框架",6100}, + {"jiekou","接口",6200}, + {"yemian","页面",6300}, + {"chuangkou","窗口",6200}, + {"gundong","滚动",6100}, + {"shuaxin","刷新",6200}, + {"jiazai","加载",6300}, + {"huanchong","缓冲",6000}, + {"duilie","队列",5900}, + {"xiancheng","线程",6000}, + {"jincheng","进程",6100}, + {"neicun","内存",6200}, + {"yingpan","硬盘",6100}, + {"cunchu","存储",6100}, + {"wenjian","文件",7000}, + {"wenjianjia","文件夹",6900}, + {"tu","图",6400}, + {"tupian","图片",6400}, + {"zhaopian","照片",6200}, + {"shouji","手机",6400}, + {"xiangji","相机",6200}, + {"luoyin","录音",6100}, + {"shipin","视频",6400}, + {"shexiang","摄像",6000}, + {"yinyue","音乐",7200}, + {"bojing","剧情",5800}, + {"juchang","剧场",5800}, + {"dianying","电影",6300}, + {"dianshiju","电视剧",6200}, + {"jilu","记录",6200}, + {"zuji","足迹",5600}, + {"ditu","地图",6200}, + {"daohang","导航",6100}, + {"weizhi","位置",6200}, + {"dingwei","定位",6100}, + {"zhuanti","专题",5900}, + {"fenlei","分类",6200}, + {"biaqian","标签",6100}, + {"zhuxiao","注销",5800}, + {"zhuxiao","注销",5800}, + {"huanying","欢迎",6200}, + {"liuyan","留言",6000}, + {"pinglun","评论",6200}, + {"dianzan","点赞",6100}, + {"fenxiang","分享",6300}, + {"shoucang","收藏",6300}, + {"guanzhu","关注",6200}, + {"yinshua","印刷",5900}, + {"banshi","办事",5700}, + {"shenpi","审批",5800}, + {"jinzhi","禁止",6000}, + {"yunxu","允许",6100}, + {"queren","确认",6300}, + {"queding","确定",6300}, + {"qian","前",7600}, + {"hou","后",7600}, + {"zuo","左",7500}, + {"you","右",7500}, + {"shang","上",8000}, + {"xia","下",8000}, + {"zhongjian","中间",6100}, + {"pangbian","旁边",6000}, + {"limian","里面",6100}, + {"waimian","外面",6000}, + {"qianmian","前面",6100}, + {"houmian","后面",6100}, + {"shangmian","上面",6200}, + {"xiamian","下面",6100}, + {"dibiao","地表",5600}, + {"gongyuan","公园",6000}, + {"jie","街",6000}, + {"lukou","路口",5900}, + {"fangxiang","方向",6200}, + {"dongnan","东南",5800}, + {"xinxi","信息",6700}, + {"shuzime","数字",6400}, + {"zimu","字母",6100}, + {"hanzi","汉字",6300}, + {"wenhao","问号",5900}, + {"juhao","句号",5900}, + {"douhao","逗号",5900}, +}; + +#endif /* MEOW_PINYIN_LEX_H */ diff --git a/meow_ui.h b/meow_ui.h index 63a82c3..a7acd98 100644 --- a/meow_ui.h +++ b/meow_ui.h @@ -131,7 +131,8 @@ int meow_btn_pressed(meow_widget *w); /* 应用在 on_tap 命中后 /* ============================================================ */ /* §5.1 输入法(IME)—— 内置触屏软键盘(仅英文 QWERTY / 数字,ASCII) */ /* ============================================================ */ -typedef enum { MEOW_IME_ASCII, MEOW_IME_NUM } meow_ime_mode; +/* 输入法模式(尾部追加枚举:ASCII/NUM 值不变,零 ABI 回归)。PINYIN=中文拼音(meow_ui_ime.c)。 */ +typedef enum { MEOW_IME_ASCII, MEOW_IME_NUM, MEOW_IME_PINYIN } meow_ime_mode; typedef struct meow_ime_ctx { meow_ime_mode mode; @@ -150,6 +151,10 @@ void meow_ui_text_input_async(meow_ime_ctx *ctx); int meow_ime_active(void); const char *meow_ime_text(void); +/* 拼音模式组合态:当前拼音组合串(去声调小写,如 "nihao")供 App 渲染字段预览; + * 无组合(或非拼音模式)返回 ""。组合串是 IME 内部态,不写入字段(§4.2)。 */ +const char *meow_ime_composition(void); + /* ============================================================ */ /* §6 输入层 / 生命周期(B1) */ /* ============================================================ */ diff --git a/meow_ui_ime.c b/meow_ui_ime.c index 968566d..6ebfd71 100644 --- a/meow_ui_ime.c +++ b/meow_ui_ime.c @@ -13,6 +13,7 @@ */ #include "meow_ui.h" #include "meow_ui_internal.h" +#include "meow_pinyin.h" #include #include #include @@ -61,7 +62,8 @@ static void ime_restore(void) meow_ui_flush(); } -typedef enum { K_CH, K_SHIFT, K_SPACE, K_BACK, K_ENTER, K_ESC } kkind; +typedef enum { K_CH, K_SHIFT, K_SPACE, K_BACK, K_ENTER, K_ESC, + K_PY, K_SWITCH, K_SYMBOL, K_COMMIT, K_CLEAR } kkind; struct kbkey { int x, y, w, h; kkind kind; char ch; }; @@ -78,6 +80,40 @@ static meow_ime_ctx *g_ime_orig = NULL; /* 应用真实 ctx(buf 回填用) static char g_ime_buf[256]; static int g_maxlen = 255; +/* ---- 拼音模式(MEOW_IME_PINYIN)几何 + 状态(设计稿 §4.1/§5.2)---- + * 面板纵向分割:组合条 420..456、候选栏 456..504、键区 504..684(4 行×48,下缘留 36px)。 + * 组合串 g_py_buf 是 IME 内部态,不进字段(字段只含已上屏文本);候选每页 ≤6。 */ +#define PY_COMBO_Y (KB_TOP) /* 420 — 组合条顶 */ +#define PY_COMBO_H 36 /* 组合条高 */ +#define PY_CAND_Y 456 /* 候选栏顶 */ +#define PY_CAND_H 48 /* 候选栏高 */ +#define PY_KEY_TOP 504 /* 键区首行顶 */ +#define PY_PAGE 6 /* 每页候选数 */ +#define PY_MAXCAND 32 /* py_predict 候选上限(g_py_all 容量) */ +#define PY_PREV_X 6 +#define PY_PREV_W 34 +#define PY_NEXT_X 440 +#define PY_NEXT_W 34 +#define PY_CAND_X0 44 /* 候选起始 x */ +#define PY_CAND_GAP 14 /* 候选间距 */ +#define PY_CLEAR_X 388 /* 组合条「清」按钮 */ +#define PY_CLEAR_W 34 +#define PY_BADGE_X 426 /* 组合条「拼音」模式徽标 */ +#define PY_BADGE_W 46 +#define PY_BADGE_H 28 +#define PY_BADGE_Y (PY_COMBO_Y + 4) + +static char g_py_buf[64]; /* 拼音组合串(去声调小写,≤8 音节) */ +static char g_py_all[PY_MAXCAND][64];/* 当前组合全部候选(UTF-8) */ +static int g_py_nc; /* 候选总数 */ +static int g_py_page; /* 翻页偏移(每页 ≤6) */ +static int g_py_active; /* 组合态标志 */ +static int g_ime_swipe_y = -1; /* 最近按下 Y(候选栏滑动翻页判定) */ + +/* ASCII/NUM 顶条右侧「中」切换热区(不占键位,英文零回归;GEOM 与 meow_ime_draw / handle_tap 共用)。 */ +#define ASCII_MID_X 430 +#define ASCII_MID_W 44 + /* ---- 布局 ---- */ static void add_key(int x, int y, int w, int h, kkind k, char ch) { @@ -101,7 +137,38 @@ static void build_kb(meow_ime_mode mode) { g_nkeys = 0; int y = KB_TOP + 50; - if (mode == MEOW_IME_ASCII) { + if (mode == MEOW_IME_PINYIN) { + /* 4 行文本键(拼音只用到字母;数字/符号走 [?123] 切到既有 NUM 布局): + * 行首 y=504,行 y=504/552/600/648,下缘 684。 */ + y = PY_KEY_TOP; + add_ch_row(y, "qwertyuiop"); + /* 第 2 行:9 字母 + [拼/英](切 MEOW_IME_ASCII,复用 SHIFT 槽位) */ + { + const char *r = "asdfghjkl"; + int n = (int)strlen(r); + int total = 10 * GW + 9 * GAP; + int x = (480 - total) / 2; + for (int i = 0; i < n; i++) add_key(x + i * GCOL, y + GCOL, GW, GH, K_CH, r[i]); + add_key(x + 9 * GCOL, y + GCOL, GW, GH, K_SWITCH, '&'); + } + /* 第 3 行:7 字母 + [←退格 3格] */ + { + const char *r = "zxcvbnm"; + int n = (int)strlen(r); + int total = 10 * GW + 9 * GAP; + int x = (480 - total) / 2; + for (int i = 0; i < n; i++) add_key(x + i * GCOL, y + GCOL * 2, GW, GH, K_CH, r[i]); + add_key(x + 7 * GCOL, y + GCOL * 2, (GW + GAP) * 3, GH, K_BACK, '<'); + } + /* 第 4 行:[?123] [空格 6格] [OK](OK=只提交不关闭,同英文) */ + { + int total = 10 * GW + 9 * GAP; + int x = (480 - total) / 2; + add_key(x, y + GCOL * 3, GW, GH, K_SYMBOL, '1'); + add_key(x + GCOL, y + GCOL * 3, (GW + GAP) * 6, GH, K_SPACE, ' '); + add_key(x + GCOL * 8, y + GCOL * 3, 2 * GW + GAP, GH, K_ENTER, '>'); + } + } else if (mode == MEOW_IME_ASCII) { add_ch_row(y, "1234567890"); add_ch_row(y + GCOL, "qwertyuiop"); /* 第 3 行:9 字母 + SHIFT */ @@ -154,8 +221,104 @@ static void build_kb(meow_ime_mode mode) /* ---- 编辑动作 ---- */ static int is_letter(char c) { return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); } +/* ---- 拼音编辑动作(MEOW_IME_PINYIN) ---- */ +static int py_pages(void) { return (g_py_nc + PY_PAGE - 1) / PY_PAGE; } + +static void py_refresh(void) +{ + g_py_nc = py_predict(g_py_buf, g_py_all, PY_MAXCAND); + g_py_page = 0; + g_py_active = (g_py_buf[0] != 0); +} + +static void py_input(char c) +{ + int len = (int)strlen(g_py_buf); + if (len < (int)sizeof(g_py_buf) - 1) { g_py_buf[len] = c; g_py_buf[len + 1] = 0; } + py_refresh(); +} + +static void py_back_combo(void) +{ + int len = (int)strlen(g_py_buf); + if (len > 0) g_py_buf[len - 1] = 0; + py_refresh(); +} + +static void py_clear(void) +{ + g_py_buf[0] = 0; + py_refresh(); + g_ime_swipe_y = -1; +} + +/* 上屏词条到字段 + on_change + 清组合。maxlen 为字节预算(含 NUL)。 */ +static void py_commit(const char *s) +{ + int len = (int)strlen(g_ime_buf); + int sl = (s && *s) ? (int)strlen(s) : 0; + if (sl > 0 && len + sl < g_maxlen) { + memcpy(g_ime_buf + len, s, (size_t)sl + 1); + if (g_ime_ctx.on_change) g_ime_ctx.on_change(g_ime_buf, g_ime_ctx.ctx); + } + py_clear(); +} + +/* UTF-8 安全退格:从字段末回退一个 codepoint(1-4 字节) */ +static void py_back_field(void) +{ + int len = (int)strlen(g_ime_buf); + if (len <= 0) return; + int i = len - 1; + while (i > 0 && ((unsigned char)g_ime_buf[i] & 0xC0) == 0x80) i--; /* 回退过续字节,找到起始字节 */ + g_ime_buf[i] = 0; + if (g_ime_ctx.on_change) g_ime_ctx.on_change(g_ime_buf, g_ime_ctx.ctx); +} + +static void py_page_next(void) { int p = py_pages(); if (g_py_page < p - 1) g_py_page++; } +static void py_page_prev(void) { if (g_py_page > 0) g_py_page--; } +static void py_commit_first(void) { if (g_py_nc > 0) py_commit(g_py_all[0]); } + +static void py_set_mode(meow_ime_mode m) +{ + g_ime_ctx.mode = m; + py_clear(); /* 组合态未上屏内容丢弃(设计稿 §5.3:关闭/切换同语义) */ + g_shift = 0; + build_kb(m); +} + +static void apply_key_py(const struct kbkey *k) +{ + switch (k->kind) { + case K_CH: py_input((char)tolower((unsigned char)k->ch)); break; /* 仅 a-z 字母进组合 */ + case K_BACK: + if (g_py_buf[0]) py_back_combo(); /* 组合非空:删组合末字母 */ + else py_back_field(); /* 组合空:删字段末汉字(UTF-8 安全) */ + break; + case K_SPACE: + if (g_py_buf[0]) py_commit_first(); /* 组合非空:上屏首候选 */ + else { /* 空:上屏一个空格 */ + int len = (int)strlen(g_ime_buf); + if (len < g_maxlen - 1) { g_ime_buf[len] = ' '; g_ime_buf[len + 1] = 0; + if (g_ime_ctx.on_change) g_ime_ctx.on_change(g_ime_buf, g_ime_ctx.ctx); } + } + break; + case K_ENTER: + if (g_py_buf[0]) py_commit_first(); /* 上屏首候选 + 清组合(不关闭) */ + else g_ime_result = 1; /* 组合空:只提交不关闭(走 ESC/背景) */ + break; + case K_SWITCH: py_set_mode(MEOW_IME_ASCII); break; /* 拼→英 */ + case K_SYMBOL: py_set_mode(MEOW_IME_NUM); break; /* →数字/符号 */ + case K_ESC: g_ime_result = 0; g_ime_done = 1; break; + case K_COMMIT: py_commit_first(); break; + case K_CLEAR: py_clear(); break; + default: break; + } +} + static void apply_key(const struct kbkey *k) { + if (g_ime_ctx.mode == MEOW_IME_PINYIN) { apply_key_py(k); return; } switch (k->kind) { case K_CH: { /* M2.71-IME-fix:键面存小写(build_kb "qwertyuiop"…),shift 开→大写、关→小写; @@ -184,14 +347,103 @@ static void apply_key(const struct kbkey *k) } case K_ENTER: g_ime_result = 1; break; /* M2.71-IME-fix:回车只提交(mark),不关键盘;关闭走 ESC/背景 */ case K_ESC: g_ime_result = 0; g_ime_done = 1; break; + default: break; /* K_PY/K_SWITCH/K_SYMBOL/K_COMMIT/K_CLEAR 仅拼音布局出现,英文分支不触 */ } } /* ---- 绘制 ---- */ + +/* 拼音键面标签(K_CH=字母小写;其余为该键的内置文字)。 */ +static const char *py_key_label(const struct kbkey *k, char *tmp) +{ + switch (k->kind) { + case K_CH: { char c = (char)tolower((unsigned char)k->ch); tmp[0] = c; tmp[1] = 0; return tmp; } + case K_BACK: return "⌫"; + case K_SPACE: return "空格"; + case K_ENTER: return "确定"; + case K_SWITCH: return "拼/英"; + case K_SYMBOL: return "?123"; + default: return ""; + } +} + +/* 候选栏内第 idx(页内 0..5)候选的实际 x/宽;越界返回 0。绘制与命中共用,保证几何一致。 */ +static int py_cand_rect(int idx, int *x, int *w) +{ + int gi = g_py_page * PY_PAGE + idx; + if (gi >= g_py_nc) return 0; + int xp = PY_CAND_X0; + for (int i = 0; i < idx; i++) { + int pgi = g_py_page * PY_PAGE + i; + if (pgi >= g_py_nc) break; + xp += meow_ui_text_width(g_py_all[pgi], 20) + PY_CAND_GAP; + } + *x = xp; + *w = meow_ui_text_width(g_py_all[gi], 20); + return 1; +} + +static void meow_ime_draw_py(const meow_theme *th) +{ + const int th20 = meow_ui_text_height(20); + /* 面板整体 + 组合条 + 候选栏 */ + meow_ui_fill_rect(0, KB_TOP, 480, 720 - KB_TOP, th->surfaceContainerHighest); + meow_ui_fill_rect(0, PY_COMBO_Y, 480, PY_COMBO_H, th->surfaceContainerHigh); + + /* 组合条:left=组合串实时显示(含 '_' 光标);right=「清」+ 模式徽标「拼音」 */ + char pybuf[72]; + snprintf(pybuf, sizeof pybuf, "%s_", g_py_buf); + meow_ui_text(14, PY_COMBO_Y + 8, pybuf, th->font_body, th->onSurface); + meow_gfx_fill_round(PY_CLEAR_X, PY_COMBO_Y + 4, PY_CLEAR_W, PY_BADGE_H, 8, th->secondaryContainer); + meow_ui_text_center(PY_CLEAR_X + PY_CLEAR_W / 2, PY_COMBO_Y + 4 + (PY_BADGE_H - th20) / 2, "清", 20, th->onSecondaryContainer); + meow_gfx_fill_round(PY_BADGE_X, PY_BADGE_Y, PY_BADGE_W, PY_BADGE_H, 8, th->primaryContainer); + meow_ui_text_center(PY_BADGE_X + PY_BADGE_W / 2, PY_BADGE_Y + (PY_BADGE_H - th20) / 2, "拼音", 20, th->onPrimaryContainer); + + /* 候选栏:◀ ▶ 翻页 + 横排候选(高亮第 0 项) */ + meow_ui_fill_rect(0, PY_CAND_Y, 480, PY_CAND_H, th->surfaceContainerHighest); + meow_gfx_fill_round(PY_PREV_X, PY_CAND_Y, PY_PREV_W, PY_CAND_H, 8, th->surfaceContainerLow); + meow_ui_text_center(PY_PREV_X + PY_PREV_W / 2, PY_CAND_Y + (PY_CAND_H - th20) / 2, "◀", 20, th->onSurface); + meow_gfx_fill_round(PY_NEXT_X, PY_CAND_Y, PY_NEXT_W, PY_CAND_H, 8, th->surfaceContainerLow); + meow_ui_text_center(PY_NEXT_X + PY_NEXT_W / 2, PY_CAND_Y + (PY_CAND_H - th20) / 2, "▶", 20, th->onSurface); + if (g_py_nc == 0) { + meow_ui_text(PY_CAND_X0, PY_CAND_Y + (PY_CAND_H - th20) / 2, "(无候选)", th->font_body, th->onSurfaceVariant); + } else { + int x = PY_CAND_X0; + for (int i = 0; i < PY_PAGE; i++) { + int gi = g_py_page * PY_PAGE + i; + if (gi >= g_py_nc) break; + const char *c = g_py_all[gi]; + int w = meow_ui_text_width(c, 20); + int ty = PY_CAND_Y + (PY_CAND_H - th20) / 2; + if (i == 0) { + meow_gfx_fill_round(x - 6, PY_CAND_Y + 6, w + 12, PY_CAND_H - 12, 8, th->secondaryContainer); + meow_ui_text(x, ty, c, 20, th->onSecondaryContainer); + } else { + meow_ui_text(x, ty, c, 20, th->onSurface); + } + x += w + PY_CAND_GAP; + } + } + + /* 4 行键 */ + for (int i = 0; i < g_nkeys; i++) { + const struct kbkey *k = &g_keys[i]; + uint32_t bg, fg; + if (k->kind == K_ENTER) { bg = th->primary; fg = th->onPrimary; } + else if (k->kind == K_SWITCH){ bg = th->tertiaryContainer; fg = th->onTertiaryContainer; } + else if (k->kind == K_CH) { bg = th->surfaceContainerLow; fg = th->onSurface; } + else { bg = th->primaryContainer; fg = th->onPrimaryContainer; } + meow_gfx_fill_round(k->x, k->y, k->w, k->h, 8, bg); + char tmp[4]; + meow_ui_text_center(k->x + k->w / 2, k->y + (k->h - th20) / 2, py_key_label(k, tmp), 20, fg); + } +} + void meow_ime_draw(void) { if (!g_ime_active) return; const meow_theme *th = meow_theme_get(); + if (g_ime_ctx.mode == MEOW_IME_PINYIN) { meow_ime_draw_py(th); return; } /* M2.71-bug7:配色全走 meow_theme(深/浅主题自动切),不再硬编码黑底白键。 */ meow_ui_fill_rect(0, KB_TOP, 480, 720 - KB_TOP, th->surfaceContainerHighest); /* 面板 */ meow_ui_fill_rect(0, KB_TOP, 480, 42, th->surfaceContainerHigh); /* 回显条 */ @@ -199,6 +451,12 @@ void meow_ime_draw(void) /* 回显=用户已输入的字符(live echo,非候选/联想),随键入实时刷新。 */ snprintf(preview, sizeof preview, "%s_", g_ime_buf); meow_ui_text(14, KB_TOP + 9, preview, th->font_body, th->onSurface); + /* ASCII/NUM 顶条右侧「中」热区:切到拼音模式(英文键布局零改动,零回归)。 */ + { + int th20 = meow_ui_text_height(20); + meow_gfx_fill_round(ASCII_MID_X, KB_TOP + 7, ASCII_MID_W, 28, 8, th->primaryContainer); + meow_ui_text_center(ASCII_MID_X + ASCII_MID_W / 2, KB_TOP + 7 + (28 - th20) / 2, "中", 20, th->onPrimaryContainer); + } /* 键 */ for (int i = 0; i < g_nkeys; i++) { const struct kbkey *k = &g_keys[i]; @@ -218,10 +476,53 @@ void meow_ime_draw(void) } /* ---- 命中 ---- */ + +/* 找命中键(供拼音长按判定退格用)。 */ +static const struct kbkey *key_at(int x, int y) +{ + for (int i = 0; i < g_nkeys; i++) { + const struct kbkey *k = &g_keys[i]; + if (x >= k->x && x < k->x + k->w && y >= k->y && y < k->y + k->h) return k; + } + return NULL; +} + +/* 拼音命中:候选栏/组合条/键区。y= PY_CAND_Y && y < PY_CAND_Y + PY_CAND_H) { /* 候选栏 */ + if (x >= PY_PREV_X && x < PY_PREV_X + PY_PREV_W) { py_page_prev(); return 1; } + if (x >= PY_NEXT_X && x < PY_NEXT_X + PY_NEXT_W) { py_page_next(); return 1; } + /* 点候选:命中即上屏(UTF-8),清组合 */ + for (int i = 0; i < PY_PAGE; i++) { + int cx, cw; + if (!py_cand_rect(i, &cx, &cw)) break; + if (x >= cx - 6 && x < cx + cw + 6) { py_commit(g_py_all[g_py_page * PY_PAGE + i]); return 1; } + } + return 1; /* 候选栏空隙:消费但不做 */ + } + if (y >= PY_COMBO_Y && y < PY_COMBO_Y + PY_COMBO_H) { /* 组合条 */ + if (x >= PY_CLEAR_X && x < PY_CLEAR_X + PY_CLEAR_W) { py_clear(); return 1; } /* 清组合 */ + if (x >= PY_BADGE_X && x < PY_BADGE_X + PY_BADGE_W) { py_set_mode(MEOW_IME_ASCII); return 1; } /* 拼→英 */ + return 1; /* 组合条其他:消费 */ + } + const struct kbkey *k = key_at(x, y); + if (k) { apply_key(k); return 1; } + return 1; /* 键区/面板空隙:消费但不做 */ +} + int meow_ime_handle_tap(int x, int y) { if (!g_ime_active || g_ime_done) return 0; - if (y < KB_TOP) { g_ime_result = 0; g_ime_done = 1; return 1; } /* 背景点=取消 */ + if (g_ime_ctx.mode == MEOW_IME_PINYIN) return meow_ime_handle_tap_py(x, y); + /* ASCII/NUM:顶条(回显条 KB_TOP..KB_TOP+42)右端「中」热区 → 切拼音; + * y= ASCII_MID_X && x < ASCII_MID_X + ASCII_MID_W) { py_set_mode(MEOW_IME_PINYIN); return 1; } + if (y < KB_TOP) { g_ime_result = 0; g_ime_done = 1; return 1; } /* 背景点=取消 */ + return 1; /* 顶条其它:消费但不做(不落键) */ + } for (int i = 0; i < g_nkeys; i++) { const struct kbkey *k = &g_keys[i]; if (x >= k->x && x < k->x + k->w && y >= k->y && y < k->y + k->h) { @@ -235,6 +536,45 @@ int meow_ime_handle_tap(int x, int y) /* ---- 对外 ---- */ int meow_ime_active(void) { return g_ime_active && !g_ime_done; } const char *meow_ime_text(void) { return g_ime_buf; } +const char *meow_ime_composition(void) { return g_ime_ctx.mode == MEOW_IME_PINYIN ? g_py_buf : ""; } +int meow_ime_mode_pinyin(void) { return g_ime_active && !g_ime_done && g_ime_ctx.mode == MEOW_IME_PINYIN; } + +/* 候选栏横滑翻页:滑动起始于候选栏区(y∈[456,504))才消费;首/尾页钳位。 */ +int meow_ime_swipe(int dir, int dist) +{ + (void)dist; + if (!meow_ime_mode_pinyin()) return 0; + if (g_ime_swipe_y < PY_CAND_Y || g_ime_swipe_y >= PY_CAND_Y + PY_CAND_H) return 0; + if (dir == MEOW_SWIPE_LEFT) { py_page_next(); return 1; } + if (dir == MEOW_SWIPE_RIGHT) { py_page_prev(); return 1; } + return 0; +} + +/* 拼音长按退格:长按落在「退格」键上 → 清空字段 + 组合(上屏 off 回调)。 */ +int meow_ime_long_press(int x, int y) +{ + if (!meow_ime_mode_pinyin()) return 0; + const struct kbkey *k = key_at(x, y); + if (!k || k->kind != K_BACK) return 0; + g_ime_buf[0] = 0; + py_clear(); + if (g_ime_ctx.on_change) g_ime_ctx.on_change(g_ime_buf, g_ime_ctx.ctx); + return 1; +} + +/* 统一事件入口:TAP/TOUCH_DOWN/SWIPE/LONG_PRESS(IME 打开时主循环/阻塞循环调用)。 + * ASCII/NUM:TAP 走既有 handle_tap,其余返回 0(沿用英文行为,零回归)。 */ +int meow_ime_handle_event(const meow_input_ev *e) +{ + if (!g_ime_active || g_ime_done) return 0; + switch (e->type) { + case MEOW_EV_TAP: return meow_ime_handle_tap(e->a, e->b); + case MEOW_EV_TOUCH_DOWN: g_ime_swipe_y = e->b; return 1; /* 记录压点(候选栏滑动判定);覆盖层消费 */ + case MEOW_EV_SWIPE: return meow_ime_swipe(e->a, e->b); + case MEOW_EV_LONG_PRESS: return meow_ime_long_press(e->a, e->b); + default: return 0; + } +} void meow_ime_close(int result) { @@ -256,6 +596,8 @@ void meow_ui_text_input_async(meow_ime_ctx *ctx) g_ime_buf[sizeof g_ime_buf - 1] = 0; g_maxlen = ctx->maxlen > 0 ? ctx->maxlen : 255; g_shift = 0; g_ime_result = 0; g_ime_done = 0; g_ime_active = 1; + /* 拼音状态复位(组合/候选/翻页/压点) */ + g_py_buf[0] = 0; g_py_nc = 0; g_py_page = 0; g_py_active = 0; g_ime_swipe_y = -1; build_kb(ctx->mode); ime_capture(); /* M2.71-bug7:打开前拍下键盘区背景(关闭即还原) */ meow_input_start(); @@ -275,8 +617,10 @@ int meow_ui_text_input(meow_ime_ctx *ctx) meow_input_ev e; while (meow_input_pop(&e)) { meow_ui_activity_ping(); /* M2.71-bug5:IME 打字交互也重置息屏计时 */ - if (e.type == MEOW_EV_TAP) meow_ime_handle_tap(e.a, e.b); + meow_ime_handle_event(&e); /* TAP/TOUCH_DOWN/SWIPE/LONG_PRESS 统一分发(拼音/英文) */ } + /* 拼音 IME 打开时喂长按轮询(长按退格清空字段);英文模式不喂(保持既有行为)。 */ + if (meow_ime_mode_pinyin()) meow_input_long_press_poll(); /* M2.71-IME-fix:阻塞 IME 期间喂 App on_tick(动态内容继续刷,progress/时钟不卡死)。 * 顺序要求:先喂 on_tick(App 重绘进 back_buf)→ 再 meow_ime_draw(IME 面板随后盖上去), * 保证 IME 面板覆盖在最上,不被 App 的 d_paint_region 覆盖。 */ diff --git a/meow_ui_input.c b/meow_ui_input.c index ecc08e0..c7630fc 100644 --- a/meow_ui_input.c +++ b/meow_ui_input.c @@ -522,6 +522,9 @@ void meow_ui_run(const meow_ui_events *ev) if (!meow_ime_active()) { meow_widget_touch_refresh(); if (now_ms() >= startup_cooldown_until) meow_input_long_press_poll(); + } else if (meow_ime_mode_pinyin()) { + /* 拼音 IME 打开:喂长按轮询(长按退格清空字段)。英文模式不喂(保持既有行为)。 */ + if (now_ms() >= startup_cooldown_until) meow_input_long_press_poll(); } meow_input_ev e; @@ -537,7 +540,7 @@ void meow_ui_run(const meow_ui_events *ev) /* 抬手未达标:清视觉条 */ meow_ui_swipe_hint(-1); meow_ui_flush_region(0, meow_ui_statusbar_height(), meow_ui_width(), 6); - if (meow_ime_active() && meow_ime_handle_tap(e.a, e.b)) continue; + if (meow_ime_active() && meow_ime_handle_event(&e)) continue; /* §6.1 触摸分流:③ 系统全局(IME/状态栏…已在上面消费) → ② App 全局控件 * (命中返回 1=消费,否则落到 ① active Activity 页面控件)。 */ if (meow_ui_global_hit(e.a, e.b)) continue; @@ -549,6 +552,8 @@ void meow_ui_run(const meow_ui_events *ev) /* 抬手达标:清视觉条(左滑返回),触发行消失 */ meow_ui_swipe_hint(-1); meow_ui_flush_region(0, meow_ui_statusbar_height(), meow_ui_width(), 6); + /* 拼音 IME 候选栏横滑翻页(英文模式 handle_event 返回 0 → 沿用既有行为)。 */ + if (meow_ime_active() && meow_ime_handle_event(&e)) continue; /* A-0 全局左缘返回(方案A): * - APP 注册 on_swipe → APP 接管,自行决定(meow_ui_request_exit / 页内返回); * - APP 未注册 on_swipe 且非全屏(sb_active)→ SDK 默认退出 app(返回=退出); @@ -569,9 +574,10 @@ void meow_ui_run(const meow_ui_events *ev) } else if (e.type == MEOW_EV_TOUCH_DOWN || e.type == MEOW_EV_TOUCH_MOVE) { /* M2.71-bug2/6:拖动过程(跟手)。IME 弹出时触摸优先喂键盘(键盘覆盖层拦截, * on_touch_* 丢弃,避免按到键盘却在背后控件上锁拖拽);启动窗口也吞(防残留点按 - * 误锁拖拽)。模态(dialog/sheet)期间本主循环被阻塞,天然不在此分发。 */ + * 误锁拖拽)。模态(dialog/sheet)期间本主循环被阻塞,天然不在此分发。 + * IME 打开时先把压点喂给拼音(候选栏滑动翻页判定 g_ime_swipe_y),再丢弃。 */ if (in_startup) continue; - if (meow_ime_active()) continue; + if (meow_ime_active()) { meow_ime_handle_event(&e); continue; } if (g_events_set && g_events.on_touch_down && e.type == MEOW_EV_TOUCH_DOWN) g_events.on_touch_down(e.a, e.b); if (g_events_set && g_events.on_touch_move && e.type == MEOW_EV_TOUCH_MOVE) @@ -596,6 +602,8 @@ void meow_ui_run(const meow_ui_events *ev) * meow_widget_hit/meow_listview_hit 判定命中控件/行)。已注册回调则分发; * 其抬手已被 touch_release 抑制(不再产生 TAP/SWIPE),此处无需吞后续 tap。 */ if (in_startup) continue; + /* 拼音 IME 打开:长按退格清空字段(英文模式 handle_event 返回 0 → 走既有长按回调)。 */ + if (meow_ime_active() && meow_ime_handle_event(&e)) continue; if (g_long_press_cb) g_long_press_cb(e.a, e.b); } } diff --git a/meow_ui_internal.h b/meow_ui_internal.h index 241b396..73a46a2 100644 --- a/meow_ui_internal.h +++ b/meow_ui_internal.h @@ -244,4 +244,12 @@ void meow_ime_draw(void); /* 关闭 IME 并交付最终结果(result: 1=确认 0=取消)。 */ void meow_ime_close(int result); +/* 拼音 IME 事件钩子(meow_ui_input.c 主循环 / meow_ui_ime.c 阻塞循环调用,IME 打开时): + * 统一分发 TAP/TOUCH_DOWN/SWIPE/LONG_PRESS 给拼音模式(组合/候选栏翻页/长按清空)。 + * 非拼音(ASCII/NUM)模式:TAP 走 meow_ime_handle_tap,其余事件返回 0(沿用既有英文行为,零回归)。 + * 返回 1=已消费(调用方 continue),0=透传。 */ +int meow_ime_handle_event(const meow_input_ev *e); +/* 当前 IME 是否拼音模式(供 meow_ui_input.c 决定是否喂长按轮询)。 */ +int meow_ime_mode_pinyin(void); + #endif /* MEOW_UI_INTERNAL_H */ diff --git a/test_ime_fix b/test_ime_fix index c4d3ce7d842c56ffdd0a3e5df60cf3d154d39924..4a9a69a76b630f022bd8d8587746f34ed01565f2 100755 GIT binary patch literal 374904 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 p{C))Y2JSoY_@2&!-R|4(1T5ef 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 `9UDN) z#6&FS%t7O{Qmo}H*-kVfW)gQO<7=_vBxf1qLX}#K+CEWSBk%WNcP#Oa&^~dm8WBV* zift_M8cE=k1P!$~uft&9L*}zq#2}|2*&z3Ch&ovsyWPUb45YaJq%2h!E8eiNjwzB! zp=v!FQAFk;CG&pspCnU(C_BTnrxXy~?ChTupMc>m4EA8IVih^YgZ@qUEc#Ej^!XnvxJ$2Y;#)i6){x)r@tClqE2* zsJMkEizCfgp6V=nbLNmrVSgYxHD_IvhQ4SqsX1$>G_=Nx{E$Pz$)x9&bzQ&}q&%}gA--(Bj6_6u7Ci|r<5pA~YB%?7bs`2!f7 za)fYVa0I(yvaEzYltW<#mb!*SIxZJ+vYFusI_?M9UDk7i#xO-liK|fBaoRm^TYMm0 zut?Ukvn(>=RMY9e3?EQfx_~H)Wa(3l2EvA%6x3Kz^C$_d=&!$-$CY7@>LlX{rZSjwmteql&#H4$mgR{Y64^agI zHdK7mlF1;CpdBr;qF6^2Ti_CyH5+Io$yR*IMX-VO7jrR07*`DlcGCV(Tn+$yC=Y1p}Y?2Tf9+O`w{@I#!a6R;cI;bFwwr?D$>$Twl16^S!)OL>WYDkhtOiMo)9;^9TqEKJmq@-$y#@&PY#MH@D%r!tH( zkOl)C#+*zIPX=QL7)I$vVGd;!%~vS)v|(K`e6+VQPLQuuC&;p;vhJSWMPdx=nPLcX z42sGnye>#UOpamkLx%$$jMAz*>vm)s^8|3@V4R7OgB_r%YLcw@OF6Dt>=xBAtg5xt z!q?s7gv8k~;(=I}nk;c;JtQtE1`ly@(n3Ou%2<}noBtqo$Fj^GP1F#&8fpVCorr8v z23u(0d^6J$dbJj*ajZuRshhK>XOp-(j%Bsm@jc|UG0#HW+h8EwO8H#wp=VvpzxV+8 z(LLhXIF^=vCsZP?3+T`oBoy9hzNc;$HE~#Z$kYj>oRp%~5V;1iH)5MXPaCF?+o*9z zyqTK9!7q`et3iQ98MTB!MX?DEWvOXdZ#mU0BwHo=EVowfGn|Yh!2|5@7WJ52VMu3g zS>SxlG`ILJo+Y|oCyS8x(Q47Iy<;|nP(sTyFr|1`f&a|G9s|!H%gsVvbU>Uw4Pg+q zkf+Er0;zo3Mam^V&_WTHoanQ0Mk0~AHON-_v|3>-owMxD(69m>8(`5`pIe&LGjP^= zz_IHr_58h+`DsaOYHpbQZ%iyZu!~jX@D3#XNt`#(NtAYo@fg3o}TU^BZ+mmwQGQ8U7Wj+GJmBt3Nn0QnM>$wFrMd2i#AnMat z@+IUh%-7dLll1c_f?nkd&@m3U73NU+T%nGh7Z9Bvbhz8_q_{MlWjPoG1o^4W=kQzw zCu1L@I-s0fND@&=Zg-V<2E?6Y{eU3`?##BtnH6@Q3!~+Q1jx`&7qOrCE}eB$6}0{a z(i5du$bn#zS(#ZTdSR`+NH84T7d#lfr4$M%oAf zdtmw|xC$mG2OTF|nJlrdWau8?If_V8mkWPF0}OXbsBiLAAD&_uIA)nsm1T&1nJmd= z@MrXh>L%O@;%<4ROR_Dy)U%7&0x#L(P6@I7s!q8^AW1F0$(SY|JemrnouM?ItsD5- z`RIrkt-3UbyCzL4qbH_>8wNcw4?+ZN(txE>Fm0gc&A$^OA=H?bprUCuY+wkGm8_RL zJH~rzZEF5cLY$Wb&UkaOa2S=G@gmB>vU?dEn8_i;K$cm2LSOUYz68Ny+kXyWLm0^y=9IC>~ZxEKo#R+cyz!K@48 zNL;ds!M+!Ccp$TNMk?KfOA6X%^*2HuLPGp)w51R5E^J=elE*XqG7CCMeCN! zQb@FV4F$%S)C`Y+GpW`fC(*MSR#czaL{l(IPSU3->TY!brr zvR-J@eL5+I$Q%<2Dq8ne9c+0E1zA_*OUpWk?^>9U=Dv$_t-1kLn}5}-BGMp zx3Bq9jOxfbv@@$?JY0-)JCSDPPKGu=AwZc`^nl|xJOyU@x+6{obpp|*fZcnUN$pVb z?ZZ*C6}JFWVHV=ORQ!rABkdSAE@$;Zmy1jcHqTR}c0gPtwag+}8{%B~*3C z(-b7GAH*h8)TD|YcJ1S(CCz-ZnVXRdH^t2g;Yx~MDBYY2y2T-!S@%c?S3=v&XddEa zLp~;yFTo&S2|V8<$c77GTW{v^tqKpXh@kOB!ia9Y*=-?dZ+NP-qy?nt6{^4tTwVyb zVALZ@s{tXLNmmiVNooC|JR@nhh4NC`ojlTzPGt3A*Rqx3-af3`P;w^(6?!Dnu<3|C zt;2B_>Pr>oP-W}&G7V)bjWVYydq@1zhY9N0dRC@T1B9oD^=vIsZiVW6L>wq$J(4BP zr*P>ySDKrJqlhJ@2R6w?b`GLL4pXZo=2yh6h-at7I1~*sis;Y=lAjk(_GQDBvmNfs z99h!vT9)TQEGB|US~cEROgM^*Glb{pkT?3V_AN)qfM>}!Ef+8LV-eCF^%@<`%-8)` zC==D64W$FAN?PjG!L7q*pBKd){aG6Iza*jJT3q*_$w|uT3oS8az9KB|&y>Sjmer_q z01G{i*HEx{T0;iaoXqnl?zvK=t3`yRa=QJjFRp4dA9u;g=`R)C>Vhm)T!0X1t`Y;V zES7qnuba$OH8{}pl#sV0&ftZ8ng@tEcq`*kIhEo23t?qrL8uo}B?hgexcsVx&fc zyTA&4$*fWs@Oh zAuRDGD>sJQqI#j!n@bNNv6LtAx!LfTkeDI*Y&qOpLR9J(jUH)3be&f07{Z=WPFyyW z6{^YKkMW2o`K5SqC{_<1@zGGMHHyXOL)j;+O8j#e>lr)cOBr=eP5v)d8h9LapZIYY z8y-F5uo=-R#DL*AZF&V598DLTpLZoTR`w=uaw!>lnf^Oc_Y0fWo(6UeFSC1?Q^sKE z+1WD$yjqziSM}&^3gTndaW|=B^Yl3^mW*VnnINh#xB7j|)m4q=w|o9`ShOC++ULkd zwPy15N-3P5ds5LT;WbAy&rwB35v_(3ox>0=#}i3(vIBBRp}sUAeKu_z#f}td1U+`x zG|x9*z$l0#$8s4hacP2pvfyV|@9un$ay#nK8PyZLxn;^fcBo_ zsPqgXofJ0E%u@*lV%8L#AShXA`HFT}0KJPH*hmzUjC!=K)X?k5SErGIiOyk{bc1v{ z3NFefHgkT7F=(BNw$BAiYb3V*c|B@z!XTNi%b(^R6*x z=1R>G@*Yz_;0*rH;m}96S!1J4k^77&7-Gz~(zt8r{EOaSSU}1_X?i2orYl9S%>M9- z2IFfkX?Z)m;V7=15g{*Y?qM-%KjWs}#E>$Mr|D6@wb42R`dTnLM09xO0gouX0%_xg zMvczuV(>5#i`H`Bjl2_dcOakT5WBBrscMuSzmgU9&L`|S+o{_iHn_#nlThl@9N?*i z0KM;p2f_igifc7%YEhQ-g%~}CEomL0_fY_K17C=r#<1Rw9}b!3Xvo5@eD&EN@ukHJ z4Xz4#G|0z%A+8%6-Wd_hSSDeJhCJVIcngNDF&fMciV1a4CrExQm(Eye2;jN-v)VJ|%1TPzm`GG3fkYRUMZ!2_6DNMK41 zdBYk*Pzx_oSuPbLO8&A`w86x|!I8pS${w=2>DV;=D(1LRRcD4^54J^{4D!&baXpn|^gB>azNy;E@jQ1( z%pS+a$4P$F50amKP2M5#)i}12_dg^axSC}WeCcYI8W#u#>unXq9^OOs*RjvV?yDi| zhC|}))$Czqp+)1FgP;Fgyf&UKEFznkarkw+^d92EDmq9BwLrE9=kF9tD>O&8XPllE zW!JETmIn43$Z-w3&J}~w;LGuS75*>5031TTcAZ)aR9L(JXVv``np4(=_iLw0fTLv; z9o=N%Etlg44I*bPaI|QnlYRuWJ`~X^G!$sj&IUrtyv4t84o<&onbTNq61YWUu z{{2e42XEA_`5x0Xak7LnxFFtTe1f_#Vod}jq027xAcI^)4`-$Zb$BnO7QAjCx?Ejj zXRmbfa~XA{n6M|rROWE@5-(rNQe1B8`eVakIM@mj(Uf*nmxd#_O2;mXfP*$$v&*mt zT;KzwWnJ37y*}hGV=@Qj!NKi3=jZL!FH~$)Z;De;4!Kr$bX2zI6$|6#MjCUUaf3uk zk49fa8NI-ri01%JobxH85{MQVX)vJqMPFG-$9?qks`syBOKkRuN5IK9lqZTCZe)Y` zPoGt-ypgqLoE;JO&EcJ@zL~`CWPIK+F?uq4i(h$6G)`vM@$_18-4r&ER)iH=87w%3 zWnU?+P&PoeWnEud@p!GfyfZe6RvfK47r^@2s7q^3mF^|l+{7+X-BQ-e+>p?0QH+mY ztbhYqnZO0d8hLWTP}-@dG1jmor=_VXQ#@&DD)V>-LOx>fXNv!rdJP5ew1xzl#w=@8 zqXDw4q3s)(nl8j_GX|-S7x7bZ!^+kkPprD(GBqwn(}ilfMxq$@5?4*dR!ZkCf>T*v z{*Rub-_5KCFX$s?-pqPOZooYkjv6B7-&n-@+9_VvhAC163^VJRX*gJ<2m$Neu7#Dc zow}8D+U&XMacrk5P}-(1B&eDIkBxr2M->jK2lfOn%by zFA2{rxH1$jpW}Zi0}S1;7)wZl4|R%FrV)k>bsf+t(o_7npbxr=x^w=g;>J60RPUa~ z2JpH(v2hyfox1N+1S~Mkn#lVSr1^m0$?l@{ZLBvRs#ltL8*}2xoOtOr_84E)U5sA9 za>U5#ERwTN#RCh#cE)t(WVeV@cQR~Sr?V1%Cs^Fh`tfZwV#y2;l-&*%9rMHwGgy|` zd^_vJ`*at--p&g6&D}-n43-nOqXvy*la;le$@f9G)`-zF*g$@l7t4(7imzADv7MMTn`etrkF!XTF^5G~T{er| z)tnDJBsSgyS-;pP8t-A_`G9OO{vR-4hy7y7KftnNpLqWttdtjaC7n}6U=d3Zm(FFm z(ZB7}wVvOiuc%qV^7+osDG26@j8Uwm*gBWGm`=-l5#r=rc0Yf6pO|?s)ZD&Tth^UZ zw(243?qxZ&uBa4|_pw=VS0V%l9>if=uDV)PzgIkVAIsueig@Eb*1hFb)FjHcb`n3_ z$42u@_le%~&{d^-#q4>kH0Invlq2Y1nkmTLG{EfZh*Li4n$zEkaSSM0A=d&XI zdzLg2kM1I#n-2#WrBe*JpDpITEb-QKmL_WNhXn6-Ru+!dDVz_$!sS`27v^x;3yV98 zH4m_vyu(3}>S6`#W05@{E;H4ImJ0Ni1}i@7MO6mfi#XTI(mIP9-H>zk9_8?>+-w{_ zkSQA7Q1!b`(hXQ2s+c5}E?{o{M5Yv9^je71?d6@s^o8uP$imM;(GDT+LEHn_D?D!0 zaX!c<@J^X>0L8W4BTZ!vpnjcb;B*i-Ok+_vCXf|6FM^VPWQduI*sz3eb~mlSI^m-z z(f7a`ZhMkNiNd+8m1tPRa{1QXBJ&}r@$3Q7Zy3)MvmRnoBj+A4r0R?t-R@g?q?q+2 zixsUNW|R1xyT#0h*=&Bv0a5obJIk*c@d#H;Yq?(LcwY0LR^FisN_r#PMnV^iC-fn;;fE#(IfIm#{l|x0R?nV-GNU8SO4A z1k2+uekI-)tRQn7&LHv4#RLoy?ANhS!rWFHg=Gg`aC!VI(J0t3e(zUe*mAb8S1M>} z2BR%DagrOFNfc6>K6#z~G3`W0;stmc?#{2}=_2`AmaiHg@+?jPR)9cEdzKaQcWcCR z&tmbvrbc}5EC%D6PsQ11S^LNe#4@_fDmvef>O-Dmm3;X@@yB!M(8mvog6CnI8xM$$ z&$H)vp9A8$7uXcu{-D_S0?Jbkir-#<|NB1?Q(k2EaK|?B)r+jO^~+n)BM6V$`jUnb z+eE*YQ0L@U@zP5OH{+7TA1|@5+O7l*M(vtF2WUlM6tHie3^~huY#RS;51Dlh_iPny zSJ24cDsEZ9rr77fjp@yeR55TCZ(em`1&e0(ZYJ{AeBNC6A7C+6onJwi=Lg_vud-qG zo425vj9LHME$UunFWH}jdy6t`ZiHhQYf<&)KiN&33|CW?u!^NKK5Vn-v6_`ilsqHm z12>D6t671<)U0Mc{)b=8Ueko;SASLA8g_v3WARn*uVwEte$`F^kLV*-yv6qLIC$CH z(1O|#2j6Bxn(x~d6qkKpm08IKvUVL?tM3sxaLQ4DG=()f8qjcGftDq=W6_l-7QDl9 zQ?jhZc!EsDk7LqK5g)z7TrJPHQfrNOT2~Ewmwm;fo9zt>dbWeph3aKhtWZq+7oNe* z`9w_r7bd2n&%^`YV8qq_i*@6_91wBuvv2tyd>Tu)!^c530tK--4ri#K0;xEV4H^ z)waOu%6|aHTU&)tLuV+%2B2X3Hp26np?@ zn6sy9$p`E{##en>)p7$XWqk7vapOm9Bmb#JWNw5&_wEo6Y-C&b2#L=UlQ*%a_?Q~; z+a_4gwj(I;6gEYa``PVW?5+CNk4K_BuSTS9fy>l>P_=yvyM^&q+pD^6V>vcH<~+8Fs>JVEVk63 z`^rBS%|C_Nwtp;!eTwsgk{#lwPq9QO-7ew|z+CrzEbckLwzU0aJK7~Toij)-b{~WL z4*5uo{tUc#Y!?SUgOaPai^~tf1p=Ez-9aojKHVTvKZgwe+ANlQ&hF#OHj9>r&?aOV zeTcoppWZ5dJ%o7iX%?d{PMUSr`?Y>>)8*RlCU$YnZ;4Pxy z2)t?NF7fUWHoE!YO+m3jqkillx_rZ;`0h=j-#4grg{*amAK59!e+&EGwMi`d7EXWt zCh^C&?CFBLszcG=X+-}!|9YJD!8-Bocc|x-cO3b!b>7UawR)&7YtVWgW2x-Zzs)#T!+R8C7Ev#iTlx zG1%aP&49U+T7j*dQQ=!u=#CgSPD`_tD`L9 zqNTa?1~P7L8SH5@M_XN)hZ=8^8nZTFIZ~6z?ZSPOMPFl-Ej4t38T3~1`dXsgt5ayD z9jZb53~1?qHQP`{uX7Yr9%u|T62+OLEIEQOnkFrjn8AiDxK2mN15KHRXmh~QA>Mh7 zXDwUBqs5$K%;Az{&Lod<94_-?!t%Z(qt_}lcM^E2!zW2w5tc8r(9TlnIBeNy7MApW zqSqRn>4UriL zL8k$Fzf@=t#JIe!6PpSeO(P`!lr48pit#G>~(jh4t! zNmR|ifv17H9ou3_2VMqlk5b8{+uB)eh)4wFCfS&QjY{N3vK*!}%Kg~W%W^bimd_&7 zN;j2)n|Nt*9k0_X-k7L^Kd_FbhZy4dvUKiH7i!6&qm8ko14UFMytt~*Ixd60}|Sr{R$k02a{@g5n7stskXZBvg%fe@dsNh0_`B}^f3;bL-rXuvIm5bNIDTg7H_7ImN-Vm~EA!}l z64T7x|w3a_9 zg_s**-(=#XXxr--mNzBbr~$)uA&TM7P6G!qYTH=!CwpL%OZFg+m{`nmna9YljS>&s z&634|Us$F-T_%hF{=zP?myisFzvB6bq^(eaRCTy|?NZ97C6gTT+;TEz0P67Z7Bd<$ z`V1LiHUq~DoJAM#G>4&17hR5Uq>vbPpZv-ad&-uftvQOy6jvFJ@a#gCLwmCv!!PM1 zo2=Gn^G~wmTuB09nmCu0CEBVwiRYz3n+;c-qE?^Z%JEoV_EnAf7*2npPFGs!LkoBr z84qRgup6I1zy<-Ukx27u!pgU?AVe9{7L@LwwBkwao<5OTJ6!eTtMBl?a|Wq zl|k_(@N}IjfJPVMYUn>nFw9VNrbDzXnM)hj3xu*SV({V?zOh7=lYrYzOm#v(9?=Hz zGWSP>>!51_0UgrZIq=nx*NDbeaxW&1djk=GeE=W9a#S7K-%F1UC*$cK zo}=BH<$@G$NGvl4aRty=E;vJuq!~_wE+;|d*1e~*`d2*aqstS9yVL?_1_w)hM~v=Y zz7S70KH5R`Tr`gw9{V%C+98=4I7}QP4V>HJZ+dw#mL;R`^$w$s>5rf#o)q=n6#XD5 z{3Ssui7%O&3Ln;7<&&dy2F{Qm0b@kyj7YO}U^2$gmWIBr?G?nhCrk;(j6Q%!X3cL_ zz5)jtz^g@=F%&IrOqN!4shN*H?IyLbniyXez6Fh9|4j`@M(hIJQ-;+XN4)K5XjsF_ z{aEHmL3Xn8G9$g0m1{=2g3C)l0T)TTl$Se6T1r2`%L6oAC_NIUqBJ!Q?P_&Dp^-v9 z-~fCB_Zy?E0zxaQ%Pll3L1Ucwna+z5;h0vo{<_+uxVnu^{um4myk&Z-?5E(k5V1b= z;Q6&3)P{=sywmaEI6E4pBSeGNNf$HAR1~G5wfU%Md4{FBetZi<4&Nw(=CODOpt=@m z8mh$S4cvg!a19E|tU>)siaSTIaW>FL%L4;EXVH+M5dFCmnhsD_uLTmt&u8$Y zIufSD>lSK8bEvribCUchOV-|qQytNbvI5EokKx!b2}dg=8Fi(+i88`n3a#q3vPjR} zq#15Gqb6i9d^d+7^85RPTg(O{0OXHGBjd!{>)3twZ5v;!XAs zqSZknCeU%&M}lIVwJzu|@Eg#%KMzL7ox-pP#%sN*TcV=TCz51@|oLU5aC16`K90pP~mqKbl;;R8_{l(+w<(mGJ&Q>uP4As-q{C$mgya&% z=UGZmLvWtZ)M9^E@o`j)&?|~JkVze7h=!TJmLju03Kv9*Z_l&#t^qJ_I7fF#6nZmC znk@h)(;0g>aJ5*P(76Hm#0fk@NFoRKi41wjS5^Am-HEKN-mD8O5~E7iBqGw77u(K`05lc zM4qBQr=e7pn++M@4AoKJg-eXZDr7qK=x9`aq0Onw48|xUrW9t{V*pgQiw8_-YA}XNr~OssUMBbDMO>c zQ=@;j(3ai_MuB+czS(G4t9hif^v$4XP937-C!;RmM*=S!2&iK_5;pK@a2!p5z{@~f z*8#krd6u`~b!(ql!&7fk6+)w5GdnM2>N051nKUrw6a-(5BDyiBz~qlwO|H)=k~gAz z2gW=0kr{WYid*xw^1Vg{9mg^CB3jpHBcFrKl1e9wM;OmgQ-e_%YSFDOD?^6MJw_g; zlb`(Y+w^JCQg75n>m|#}Ke!yXo~BmnLreWmQffjNU%UCwd(%HNCXxc6A!Bnc^Jt(J%*}G0F^xAfeCW73G*pY5 zy6fJc$EWHeXvQgokE{}kG((pQ?VR#p5 zM|_r|@u_HR;WlyB#@ol$Vigl8)~b&Z9E=yccZ(i&;LjpP2Cl#g1_IM_k3alX)9w5< zOpO>9A|Zm0v46E5hvS_ic$Zdl@s|!Tmg$jSVYPUv1y2&y5xf(x-XwmA;2+q>zYj`B z3+~|GZ4zChQT$CL@6Ts!5~(eCd+rY*bH#ijyJ8b@8PD1K;*S>mo*XAVT?<5-7w9R^ z@o9(!?bJ2Yj5T6OOWu!bo5b#x{IS;GY$S6k$%{6LDN%eGPhBt0M)4lJnQX0hjO0;< z4}aMb3O)qA*crvUG{fxnSQQbbiOmp{f3=YW?$n9iI)#e#XGvs5d}D$tR-mG>vectS zg($>_=J^M!#pSJdK|k25!rXY{!YBgXfkzOdX!3Xz@MHXW82q8CQoI*{Pa?*f0ddy{ z;;mM^E7@Cpx}GmtEzY*$?G+}kH6IaOkEd8>tMqw$`?S?iWd35Cyg$)QywjR@YrP&g z>c*@S?fU+?U;Nsd_vFqLk=uq}!rQM__g!YS;hp)TtHn!g_DN)`F*Rz*;t<0yb6)8)qg~09M5S%i#k8z!=9?k;&?u1 z&Bg2lK9E?yo4{}6Z=Du#iM%UMUL^)48oJF$q#HS}i-!~W8eaLjX#H>2HjYAREk?+- zbW;F({Zk){>)N6_@7N%gwB>c&@w(DvaS~7GkGw8kOX835sjrJ3$^1sUgHDB(CiA?m zi)q<}Tdb|l1jS9iBTZ}T8Ijcl(KT^wT4eRRc=Au7>AfxDhh%;^KVBtzr0@bh@jY=P z!7(3-$5MDEf9*rDCWQ~~Q2A@mMM^Xz>}G<4WlMmiQ=@U%^Lz zC|aiRja>U(>`sH*&v;Gzmc|Rjn1^lYyz!r+Upnt$&wh=Dii;)0O{V<;0_HUYAu`BzOeRksCh2vv&taE|#?D&f@79VBth>Mn{((x%iEOD{gx!s(7*%+;_Q7+Aj)q|0z*-O++;TbK^ z5fnG?eO1hK@ETXOd9T_aMZZ@2`?*WyaT~NnzI*|;EeML0@-vD!S*ym5AppqzXoBzo z3YNTJ9q^Rb94+wz0$S?nZ0L+0p?SyMA3X6^J$+s)fVb)$ctpce=4V}nM3gq4#nWU& zM|CL}P_-Szjd?sN@d{@(4!@(QE!+o<4d4W?wx@V3kLMK7mx*Z?qtW?4xdgKT(REYQc&*1fum(qSZHoZTQj2l@`%Zx4E+!iS~Xwo>}lM=%snC*G0Jg0wPSpRNYN9 zw&Q8BlbqFisR_X5=mDS$+VjlTn+=>MwH^=Lc={`Q!(mYB6{Gja5>0x~4U3@nVt|)o z;Jj1z5{|EAFIg=?r^DUE?)DI)kF%OyFNGluG5$c4DN78T6ayWEj(Z4yiEyfz+@8nx zco4<1mHv7w{V&i8)+@9PZLZl!yN$U#Gm8Eq9!-Vk=j{;Bci>}1{XpEg`{jDvzMI;W z$GDEeN3*aWEW_@W;55o(`|ZTGRKE0q@1oNe6g3<*5}ZbP__iA>N!s@Zu&rGNOUX-W zW1M{hPwB(Stw#pXY6!l8r<{Fv!%{|F%9p(obP2sejpnd>V#u*Dhhb3RVWnM$7C7oy zx_&?o`jgr#*T{GBy1A?CzyxRLMY3DexRqs2ghrgD7st5}FaDTouhx{1{P6xuDCSid7=lu?ivuV`i6?^Z$yocy7@sSxQwSSZLQO3G> zqj83AwtLte7#U!UqRpo>6=jN>CSE2ma zR?S0#+2DN`>}@Kzzoln^L#>{lTq)}M@`4U?a2YJvMyuWiiEG=qtLbc3JLCFH!#DTo z84os?71@~SUhckwy1Nh}#$6cf@)p-yPn`9j=O4f;~ z5-*`nuipQYIu2FmH*ALJrCYI~KkvoUtK@aCTWVjy>%n>p@)b^LmBfNCKnDAwc6=MITysg+alf_I3_ck)E#KCptQU_g7 z1{^JipmKt|F!Mz7a(Zc7(uLd|mo`G~E)JIPya>Zpf+hU!YZ`G}>;N12K*KU8OE!is zz>_YW@V*bx8q36RF*T$4vSRtQrz{XuQcP864WSpo^onBBP@XbH5@|Bf%4M?OSSIT@ zTMV9FX5oAu%w)X6TJf6|@^Gk9GwMa#`|3=MaV`~yuT~%alkTy1NW~;!G=0hp&D5P}SQrm)KC?J)=E`U3@rfLzQH3SbhCjS-`RlkUPhVvZS5Y-6hm9_*?IUM2WUCdZ*(aB`_d$C=N zMEX{c)5r2@He5jC4y(OdoPcJ~`rszbbNUxGPO+{S*Y&iz-!>g}BQSpFRU?lBw#m?G ziar}=pAVXjLk>nEf=*^{4+dM(oA9ES#ennkw#dge z_+Z$l^gNrMUDFvWl&<8CNHJ+V?stzG&!go2NXJ~73qP#Pc0|IX+2hjvpoB(CLR2r4 zo|7*&jptpgwQy(f8VjGSYxw_+kL#LnKKrbEzWbl@DW1R^OnHj0 zED2c%N6B4Z5^t69+5H_9rz_Rck9cCR*JLA4JZnMcD3S_RXicqHkqs+eKN)6%Mir*x ze>7QHQDQ!!VqIooSkY8Yx1!AJR+MSoip1gXtSDQ66>kx(YVkhHf2Qz9$g52D_)I~0 zXXRBU?tg8wFt3{OqWJbEo=RSIL3^~Bs=O*>4-DXlD5ftU$VwQ*?Zo=2JpKPy!&JdA zU6_*7neUOO7YLzaLW4gYvRCdyhqC$U&rzd3-YT^iq_M4j+%p^ zd!OmNFCV{8%%09?8|qj6Je}Xh_}+D5{0zRb@GV>>HjXhJ6eDN_(dVykUblN5O>E8f zc+1{P7S22P2|7Zk*UF%47PcukL*wF|nfQ3^ZTIpvqHHG5CqE?u@zhM7XlCA+$@?0a zs-I`_a=bkAT-A-U_|uGEzDxX8&S!J`bM!)VYL$C7AHsFw&SK9Tekm_MAzI$ebD|OG z@QQP1njsrRAfG2VRcrDa3^>S8hZ*!2+sjV`#RK>mkF>F#z6oiA-k7cF=q=f7?2Wtm zwPZ$WL`2=gZ(xq9+wQ@mAejE%xjc=JST2^$H6C7+b*|bmm%EtgTE?2UgiJM>Gs-hz zx!CCC?UO0b-BI#lm4i&|w|njvIP8n*#1j;?FUnK0Tnt>y3wp`gfhfGv-wyHP z%l2edcV|!0axATMZr;kR38H2uZZhehxxS>S9Y{g6IlK%S*=;)A99y3sSy{O^d` z`!PdfHN3_uBCdn3>56iS>hbi!IJ`JZ-uV|=8|@+D*W?N@h&-KXYU9!&mU> z;~sHBymnEVXhp+>`01iF%@s}kGSPL}|D~<(mWkQR_#aFY_dm$9ct;^#dXTrjddD)g z6qT2_u!zwjHP4h*xT*rzEh2S++tNyX#*Nk_5x`+>RZgD`q5LPPui==O1`FlsAW;)3 zi{J~JmWkercxl^>AfYcqki}5-)K93Ig60?Tm)h>TK-r09V&Jp<0Z97kLwt$2;yI3I zZsN^{!7_E3c>g)9)-?3CIPx4XivH>u$b-$K#FXJHwj3XQ?DxDuQ}#T6g4aAFetn)F zDtHdGbj~DYB!8i6IA36hVq0LnhVumIU*I`tG`ls1Zo3!xHGIZ1;(-_Wn#29{nZc_`H|>CKpSy^*KgKoeVQW{;sRYfa3t40Gt816wnR07H~P>@wCQZCE$>Z#^6rCky(ww1-~)iZai|YC|7vIixD(T10C2)JuuLMx8elSD{`K$yz-fSGfExhaiMX}onAjNf z0pSDO26zJS7~q^q=zDA+D<(Gv^8hQSGzNzNo&%f+IQ6E+;C#S(z!w0uspxaS7{G0S z69JC^E&@CaxE3%W2^P5-T@F|_9bKN}f)gPz1BfGlPXHF(jy?yR0k{EhK41;t6M)A6 zR{@>@Tn`wX42=ODfJ5$phJY{3goc2NXF)^2C+-11K>J(>2ABYN7%&g8-i5?rBw|wF z{r94;04Lmsz9KjeeFeA{umUh|J~RZ}23P}F1m~>>90F)h)wEe|j1s{20DA$xumDa7 zxE634;2FThfQ1WTF~IqNt_?`6N8$)z&`IY?i{N~KGaiET0csD! zQh@1zYXKKM28{scKMBhKCg4CmIURiuSOj?N83+QnVHrjP;N0aH4S=1W!}xy>iA679 z6ad;^L|*~=0HZUY@k{6{Kp)^pz@nEMgHr+50xkxu2V4a>#|P&HTnu;waPA5?AHHC{ z0nh=MzY>Z79tWHNSn&!h3wZh!m~Jr=$*+MC;8MVyfbXrsC;(i(8m7gJyB9DIaOxXy zLcpbK;WL2e02cvPR>Bg1$?riCz!`w20XG09J5V1VgDM0}cpsw(a3WwCpwETGTqFX3 z6@Zad5Cm`l;7-7i>mdkWdNqb)HW&it10Dx-0_J@HjR4C4=K{U}SOIt#uo7_U2KWkK z=a0Y#(6JGg$$=o7U>QJHB@#{~25f<8sbDKK0xaAHuciFQ@LIsrfX4tQY==c~yT5P; zECP5Ma0uXrov05ucNgjdChtalz;l2b0R8*WHGpRTPXqSak1o!`_$wx1;7`6fFgk7{tZQ3NK8BqlK|R(M1;zR zX?}txfHi<40cZUTX9M&BE~4@i@Dac>fIBJw3qmg7TtKZO1pgI%3pny5x)#t;4`&0M z2sjt860icW@D#>>B@$&w>;ydX8=M3%?=+kZ_hT3T7tRJa^$ffg@I(Uw3E-Tw7&U-L z{)8ZaBhEDj_X0+rN0$JO0gUd1t^~{jd^HG*07kQ5a3Wwm;2glUwxBDx6p0h|VDLRa zXR}~%FW_Oo6M%D@2ZMHeb!kjQFqjXx7SIVeKQb6B16&U{7jRCCU~oBLC153>A0ONb z0GBdU~(5YD_{{|{(xX`0$|LgE-*mCc_|nGY6FA8^?-+qgTcdqX9fp@=Kv#z z1cNbM;nje7fcbz$fKLEU0F1<6l$}d?zzV=u0V@G_0`3IVhC?907{Jqj6(fSdgl_Nw z*C;STVguj=z=MD@0OyPj2A=>-zZ#4HR{_=l+Q$cj#{mZbo&%f@7*mLb0rLR^*93zj z0B1}H2B!gzyFM6P47g!3_z)gPrw0MGn;;0FYZej--Qiq-odFA{27@C3hujQ70Ji}? z0ay?CD&T2+UuhelV|p-n1aJ=EIY1v^dJmcvgTVoSooAr00gnLA2dtbG4EiV!=m#vC z4U6=^_|Lm57}R>A;vDo5;0t%dB7k%6g+&0j0nP$^Vm?eud3P|l0WfkQ1ORjb)&q_N zwD*E90px+=tQCy)gcZ9)W3rSPOU@u=AtAVB{rm zqQ_uTz*irKNdcpugwp|z0CWQ`1@r;hmp~)Hxqtz{8bGZ#OkWWUIsi9#{!ek|A6Hj# z=Klfi37C-NCLwZ@kmM#tMa76pDy_5+ES%0cC%f&Wh-vkZCWXOKhHd$;m6hf_kF!OuUD9v_w&p% zzvs-EbM6T$1V8;@R0w`(H^vJ5ng&!TfD6xd)$se_x4}<152OE47=qvE zWAwu>!YlBl@Dul-Yv7l{KM21bemDGX_=E7%_9A^Ix&}VZ{!AbIO!(FNP!RZ`{rIn0 zst_n_!sv%z@Fbc9e#TQUBnsb#A^2tRgP%u@;itk6A3%%1uY_L)|2X`e@PkjIMc^-k z-v)o@Gw34t9q@9df}Ye5)5pz|;cz&FN!@hgEv7o_0%5{7~?E8`ah;b9FiWneOM#0ksBzgjSx3}IZ0 z!Fy zAcj0BsW<-S*O00l58q68!2gmTn15s{$uq zJTMizM6m*+Uxv9P1dl*r5IjVl11@cKjNCPc=pF|8ilo1^q~bOPCl7=d$Ff zsPSe4_a}FeI8(6v_4gc^0ylqQ|b8VT;}l zo}P$%3&*e0_B{$-IUTm)L*L(hbzp9C(M;@Y5f>*$6XGzRXO7^x59(46A?p%!b;*Q6 z6BItW8gHa=;50p^-KR=EavHGKk26Yf#{xB_sa%5@1BNEfxImpJ7BGD_%>8m?6!hepFQH=a;-Ey0uM-_=v=gr1de8m z`0q%-e163LqXe?EM*L~lA&~k-3>|5VhIm}-zBJ;m23;_C!B`$am&Xw(v}R*$-U96b zMEX{u=c@v9Pm+=)V$S4WIC;P>178MSa^Z;o!F7R?m-c-bJ4rzFRQld2`@G90tRLkv z=`QkbegNx79l{wGVcR=FcP(|pU5XrU(@) zyJWrW(}k=MsHxJWlqJq1ci?z@5HZQF5iGa2!XRC zkc+_OH(;fz!x2da)4Ivig|yA!6DLnE*nucE2-XB9gG8L@2c~^GZ3t{)TG3AfL)wzj zY8{Q)dlUA>$6h}^n)9GAT!6`^a@(b`1>^E^$TP0SUS8!bF?vm@l50vB8Pq{;3UL`I zMmP3dKjLpJ4lFz?vv|B((xAu0$^-^v$NVsOTCrUL=S@jT#P*=r-?u9;|Kco!8%uC& zA(|^^WZPVe?S;%HEP~vu!#$1`t3$7ZcaL4^sv+-NhZ(&cGkOmqNjKt#M~&G_Smpv4i z@29WFY|g%O#6NF6#JzWo_-iFlarcOShXk4l8S#H2 znu7>@B!RqpFj`8{bVm?4wG@LcWd|0#Qi!q<_~_QaT)(Ci?R8)W?x4jaTp0iQVGhjS zFKH_7wQ1%>(q`cTb}#O!MGgB6+2vfru9wt#koQ5}LHTABPIxK!P8@|blb4ZKgNMF8 zw(14fvNCeuTME8Rhfoc7Zsp&QK_rdc3Wc)!aEz%2?HJ@VwQ@Na?u0x{1DuCnm-Hc| z84~&ZIEB#k9V*w349-SNeiKX5O<48Q5oto?a*5<45~@Sb-V|7}xC)W*F5K3uiEtsx zF3W#Cc*QQvB`C$q0rPM@_6-v0LnNyKR}isf=0FXR#Tx?)Bg+uk(||Fp^D`WKp^pA6 z@CFj@k*k>3R_B}kl$(XeO4KVuUtr6Dqa$ZCn?AyT#%dy`Fph4B@L zbnhSW9~4PFA~>F4Xp7_mZ|D z>TLQU?|qi*D3%(0rNYi;lZ-(PKCw$gKLj3r4(G$#P{C_eKhvZ`Pz6DB=jMXffwwck ztt?mxc>42Lqh;S!gGd7+`z6wZNa{iE$T|=ycmabHlHxu@I$yxe9Bo}mTk^bN7<^c{ zy<&5FX?rn*<)G(9T#d95y1CTUxRoXo^3E2tWI4Beg#dYnaJR#ZaI<3#Re;wYLi?9X z`y*2QvQ344MkMeG`dK91h!i67kwgX&>2Z`G_og4gD;U z3Pc(Zc~Bzth!h=0J`!m`B-}=|Zba%4`A8&#hzubzQ?|Xq`RLZ~A|HvQBeLgpt3SuK$~ zL;^p=Vt~kb<%qQXaI!6#IcJbe z6S{e^TknRjJQqs%k=|J3FZ?lX z6m|#ZomwEuc;K*8Gt>LMl5yoq$g6*18)AM0;bV9xQKq`OTP{@HF!E}JJng-)?Sw7Z zg}bNVzUODCzfP+j=u|@IvwBAge;o4APsc8K_BwF6W?}4YS_luLvY?P97O{%S*?=TW z2QT?4hUixGOFklnN5@MVi>tZxOBr}G9*-Q;#A8cm4S3}*uqYvMd=nzU9xO_TtnEM~ z9S=yNd$I?-9K2C2*|sQUIVGp#kROA*N#((tIAnwJOzeHk)@^}>i!%@j<6%n?mE78s z2VVLC#@IHLK%TB8;Ymz%h2?2mCV0Chwk>t*gc2Np{Ag4D|@s6)7B`jDuRpcP5XH)*=jfu-L5x;6ury_JnD5J0b&6T1KUdp(Kfqf*%LZ zB$q3;6mPle7qD z*8)&FITGcBwi%T|UIaO=Yt~7cDzK78qyG7K1m>O5h)5q4nsIys0~IS}qj=%&*tn-- ze&*JzcIcFzJnBd8K*^+9y#U=O3m{Kdc~Gul zk}h+Z37GP8@am@&s}Nefh%CmPdwdll-RF+_7a+2>5s~x^JT72*cN5zJo&z2TK(KN~ zJ+BrcQZmW68}ii5Pp9h#&&nLNX9V#HC*yL5$WJ8OR79!~`A8zUh*W+agZ)lK$`I*7 zb>*3#sw|-d5@(I*RqlV)iqyLl^3X+igr}K| zou5{N=Ye;{+H_jD7EPB5vBd6HnFC>T*>I{hkV&(lSlM0ST0y1}7f_Uhi4b~)pE#fvnB2S0B1M=Z9`P_YR zZrd9M%!k6B%SZiZzJ|`IM5H_)eO4Ekx3K|{vi$M&)ZN1$1P@;EY2FFm_8GhvyyQwe zRbmmYbgUigINL#2aCC_BLC6On|E!57@*|LE73zpB9zdiXPk;-x)Ycf! z_iWCIr(r}xUaK9b+n?g`QIrOG+O?l9aSnL(b(|KZh;$=z*F6}QwTLtpeLBS+@c!%n zaY@=C58v?F)spet3wZ_P8Cnzj5JIXu1YQT8rQE-7U0}K&-Vq3_PdXi&9Z0xEu@6Zk zMH+Z&F&EPXn(4&sKeV z@F7)_cPg5|_b9jBj2jGp%kIDl@ugzyCR`b@-;J+Dq!E!P?nUGPB5fNn?hskriAX~k zo?NSq@a-Jnz2HTgbk&I;Mg$N1<$QbI;uNgK`FPq7PiF1dxnc%DDU@&$kAYu{OHTnv zH;5d_##bT|xCI8+L)--Mc?}?CcwN9=W?@Jk7D{ywl1o@JSOp$NuoJu#7CxxOZ0|?p zz^%A`)ME4{oQc_Z>)3W9EZYr99R^R`{Ar#E-T)38V^xq+-|sKX^^Ri?4&i&}K9^o@vA%L?pZgGX)O<{QUb-+an-pTQL5_AZq1K!H$6!fn&;A zE>8@@2+C_G<*@L;{itntIfmC)(USMWb~YmAThWpdDM7?+W26R=21I6l6OtxGnkvz0 z66p}N+i=;ENFO4Nw~zW;Bx3LuN#7l#{(}+;BT}{<`A8%ik-9r!`kR5d)1(PXM0yu4 zk&qtl-WRAk>9zfV+{u61@c(LJcP&o#^Wqx2Wy--nO5g5b5$|QZkG?!57QKG@_W1+i zgNzT+KTdy`zLAR>^a9q;Gm4G5Lit$yI>r;NI$9J53gV`#XZqgJl*Fd{Z*l$^pWu|a z2Z7ZHoYO)J9#fP})xZ?SyD29&{}t;${z+i@?EJsW_1dtYnEg}y_df|NS}L#Xii=mz z$nmSV1oiMma)17C;DU6PaCCHZi%6J@8D#uQ%KyrEs=uTqZc9W?PsII`{K!8mW9A$A zr`22wfc*cdEpXZY&%V$9#J}ft{I)l}C2nbKed_L&v5OKCu!k4-$Sg1UkyE{S*O}=$ zGDGz7)heryPrrixPWnys+vs=GAEY0gq3Kg+#6I$bcm0avL5}=c>L<_-(wFIrIbxkG z7NdyAJo18f(&?c&nj%a;m3}(?O!~QV{L^E-+hZ#HCu6L_LWbaA5+r|T) zDVyrYycL%em}0J+uAz8yoS_6vV`V3pp4l3jip54l(=aA9lxS)e*^oC~mL7lQOL23& z8RobP&NTURVwDC>ZkWMYrt5MBXWJFZCYxhqjk3Wc(}&vI4oU8x=vEwd_j^B(x44&tq zD=doWMF@{(Y}EFw)3yHX_#1;KZ|Lz!d@o{>fxG@Xq1v&7#UblIi@!1EQ+ydS4w{Pa zXLYs?npfhzGb8qWuL(A_!4pk$RFnJ?I#M#n_ppk;wk4Qhs<=aNm(f2{U(TGw<*8?m z!Q2dhN)qJrcwV?%R{D% zeWcgt2zGQ7bW;#!f(-IOayJytCm)L9mysWj;##p}911xLn!&ZAA2H(sC*EQWC1d-m z#PJ>Ep(tKQo)X0$B@ajOCd;u|#xJl@e>2tv&qE+hD(~!z%ST*XE4jRLFYbVP=1uZ4 z91Msnv44$ui`*VEfOXN%yYQuJ>e)5eg2`Efn(D(IyO<<4a=w zSEgdry8Worh{Grs%VV5vCKnsakFp5l3moS@mMvuDeMPI!eXZjej`vwRXf+yIP<+xl6#o2t3|2`++PTCogX<%!>oweigZlvYt;c-Lw z&adOT^B$|1Ho3hJsXqVyTJ-UuYPmvLWKS~?`n@$2GT9ha;@tjM4UKav#Gj9;pBttB zH}d=_u6B}*oI2W3>kN(B1S$~5o-y$#Uks*KDv9GW$kU?uT=MiNzQFR3DP)0QNAq7w zLD9ItmMM+AB#M85yo|iVY8!JQd1{;%(G?W`b-S%VMpS_c zyeN*Jq1y`QlSf>}!xZ2}S6foobO{JZ-)BZO-2(EgD1M6NA%oW#C)qilyo8+jM$8%t z$|ei&e_l zL0-+0FC+hwwG%QpV6#O38gnW6&Ok(wn*~=>P#={*Ub2>g;`0U8C9ptS$@@!{_mM}e zof#%!s#Z0Zd?)n>H>!TGu75bFqTooG3i6oXDe{nPjN$6lGcS=hleBmqDpe3>#(m^QHrQ~k@A2Oc*p|p6XL(Hu`S2a8U!$H`PF`K5K)OoY z=affGLye7_LS~%J1OxXdcbE4m4X{#XZ+^Me|L@- zjD&DprUPLawbbf3cUEt=r3jh!r~%?i(Ztd@{d-wz$2AvY9;TfRu_J@P3HDRa8I{2y z@~$ZEu1J*+xGdFotCiz!wR#hFWF)87sorsTb`ZWrL3o!6cB;pAoPqBeOm4?+>Nis# zonu|E9;df+;u$6y6h6<3w<&L8-5bZr~)7w>K(p zpdIa+pvg{~T!CfK*MZ=_Ki5mbAn0RG-Bfggz;PO6lO$vJ?s`onS+>OE+(}oFH&fs7 zJj+9-B_3qrAh?EtRuRCt1f}F{QT$f&_9%WEc?Ws6wPwr?awAuFxNQ8hgWy{fWK-ZW z)|QxIx@S&qLpS=4%I)?9_XO-nA31)U$(|=a(xl4lD)V|g^0%G(qzcMutcwY{$)yFv z{enE>S&jFoXMRVX_?&`vj>yO9TEa`L%LtBHFRIx@qlR{q5 zqF@jCa`Hj)TJrPBD-S8CCjYY2CvW88HwRbHq@ES)-xczfpYs}1&~sfeD0gHNobsUQ zI6Kz=AcQ-+vGc)636pVd;CfXBTTl{NSRD^jf4k)&lgqJ?KFQ8FCpJ5%U#0qyv23(t z$@nDG{5aIdovR{9%M$hy8`@3HFKGuhP*V2f0O(mc@Fg($p@8>A9@|2ApLFCOl5*r@!eyZ>Y43+*=1#TtM8q6^Ld=5Z6<~$n8{=Jf63RaVMj3{vP{3`OA zfcBx|H{S5{+Baxz4os$C*tK|X`$44 z%A3gD;43?KY~}N(E%Hu|1o1(yiS9KRmcC7oYI@hVj=MB(Q9m=P3spbagm@0=^t-M8 z7$0BheoaH!G-R;n5%;0vb0-cSob-_AMDah8=aRdoU(7L8HAx?xAit248rM*esrj0} zlDADtV9XSp<%)g>xf`@|$h)Gr+fC-NrCVwLbm-ebm?LMla2f20b7-hLD&x<$=khezhb>wYPoP~~<-c6HB{Z%B8UUa;GVjNIeo_>phI+kb` zc{_POD+>%a!(>MF`lHl8uvzS2$dqwy+D}2^ZJI%gHDJuME(3CRJM}7g{_Uz?LH)PL zJILLdb(DPYZq*Nomx6!ba6wZQ)la=TO#TaUyF~qi9_k>sR`5r@+b8;6Q7s;a*Fl6I ziQ;bfq}6Jx}+B3 zcGv{t+!gcza2dmu-_RCnV9V|%PuQv8n3~}Tm|@DI#_B%kUoVCRn83c^i$u@RP*brXX z04*tY5~H|lzqF|K`>C~q&+R#ZGt|orf>DNkPo5OT$Hs6YTbczOg1)q08o5k2>t-m= zwH!mN!*L1{9#cb(&nNGS;>*Z)KCb$ev~w2uFnJBjwUWGgj{-X~kiT(f-U-jDz#Rz4 z3xQIDCh}Ywl2?v}_dlnglNo;-Z7uwu9CX69MBT8oT|9XN$nU-*;UA*yjis#LaR9N`&C|;;?de+|#j{o~c-qf1J>!{x{I$2*kPTm2V zq;8&q{%n-($Ro(-Oo#f@*)7CNN<1S_7Fg5nXYRaS3c$d8FEd>SSACe#ZL_st8-^eq4wKGIMeU{d# zYO{iD^7+b_<8xt};1~sGF+uO|6x5Pm3?7!sMlQs!YQva5<2xEvS8ZGzB$*8%J-@P?#qkO-%6~dD&~KpHKcF zc~ZRs`xz7j|ChYuBjpsEc%0?RxafXH?5xG1vdYaO3YveVpoct@yn;1$otH=6#?ElO zSh%$9hTEwTX6v`p;(g?u|E5*pcryFRYksMUt`}b>&-zd0_P6s0zAfDLVlOq?zNi|m z_5Yjv$k!(GDfoPZG(tv^@;ol`A@YWFj}lMTMq=!CnLI=$@B5Yx&> zoF%Ve_Hd?}F!GTMTYArTp@q*=xA0L_a)Uy?_pFoiSJcRf8h-=igMZMJteA;SV#!N3culf;F%F)+HL-OHjDSY80+Vaj&8+k4+1mawS{fPX)-_$??JM7owY4Y+K zTr>IK$r~OPii^LyYR$l>F(l)r`KsyKbuoFSFA1Qpo;jbq?&k_v53`!QkxPFk^-IYc zURV2eg_7FcK|z+h-v>8r|KcG#dD(ZAyU8PO;pt>}jv9q)Rl`k&H^@u4MAfL+^pMxw zp&*I;PvpZ5nspvaAm93yCON`Rb@mr1$A`ktR88!;tV?5prb3MmGlP}n`Hv}2QP12! z-o-Ok*M^&g$J)1qsi|HixU8`{T5*kau0|5b&|dK{O=b?MtdB)_n!M)~<%3N6U6;~( z$AuPtK-~gfbt|d+2dA;-6KeFgt0;pS^KgBU7OOd~Ad7qjxml>ik?+HbyGXd5l25pa z@2z!g#U`f8eMGfow1~TxJdxM!kYdy5QZ9U+8bjA;e#@xwZ%$*y2h_;nMWB=#1LWoG zT354+h5H}2#3hv?JE>#yC7R?Iw^MV-yEsF4(qbxk(mPs~Bjh>c2U?Z)k;`{bY@2K- zqejVpsHmPA_mQ{quEtHt$H^04RmF1ZA0+Sjp5~NE{%^vi^*8*28bh;H!_Bn;^48lm zNgY!rVy`G|(8%vbE9Mxa4c^fS+=$!j=z^2pnTOIafCQX?Tn^W6q z@px1sts%dg6Ng5#Za#U*ziYge{4C`WllL1XoxFmsVuI=`mAj*xwdC!`m8WZY&1Uk_ zUnpli%su4Ub6GL!?tV3;#}*TM4tMta-Jp``MkeeGNU)DYp8!bYKwCtdCLE&9XCtvQXVnQ z7pnkwiPqiE1XZ@irjRnUKuC$^W+sA4mBz^Z;~gHyCvkOmQ%^>zBG2KcTAA9 z@519QQKx3k+kG=Vg&HePlMvdgOn!<0cT7F=dGcPaX|5f==T_wnS5l)rs)aU@=MSnW zH$%3QH%4tH>&XotC*`mNPYRb>c&!N8+lqPrO5IwndQSI0{eQXKOZI*Vu})L@SdLvX zI7qW-G_X+lz+V-#ktYkc(=?SD<&UYTETH}+VMwpb2pSp{uT1BFDj_!JApST zzi8}{P7xDSGeJvKWgjAM;skdWgJ*=>;qqMX{*zG7?y< z)oz`pqMg*3N8WO`nsUu_DtQ-IT{kdSkSFj*O_eOc#pJzTQ-I-W-L=Xi=I9*?QYolp zf?Q5vHy`hFJZe|Emwcc>4Y=Xj=Ja_((@gutcqwXpvv(>fydN<^4%^!ms8_h1F&A-> zsX^ z4dtrjU0YR()Hb0CdjvV=nTN*If$v zcqeLF`FkbPRm5pJw;FCBPi5b_QFs^m@O;(prl|*PHj#Z4hfsBK)v9F@(6u6DUG4h=+D|eIQ&*YT@%A3@~GaK71H<)fNMs7Q|41&)(4NBJpW{_Ljd>WGP zAIZo()}#fkAir9;9n)phXrx9SHFl66S)eIhOFm3q&*@Ply#nWx7yeP>ZtOlwzLWFc z&6zIc5mOL#zW56!s9@I@s6F!s^4d`ao#Z3rWl`(Gtdq3r1;eW7Hg`+Nb3YV*!T2qI z1_eX=w8m~s=aW}4gHmR^Nw~D(hI^@z!PVC-S&xzrpQskI)ickNCp@aATyJ%eho4eK z_we?2!X>A9L)2)0YjVnX|Km&Wqvd(li=44ctDYBCo^0}Cy!6$vCI#f#yzQtZFC#zN zrRB+C`R^g`>Q%)i>NhCA)>J+?S@1LylyFT?VuHiut^ciHko*YwFy~7Sd7svAkm3VZ zDIaFJrk`WuxmH?2{Zh#gFDq*+Vi z3_T34$HY%lqlovGg*4eleqen6~B9 zQ?eS>{$0Ty@>j?k*?ew|c*|Lg^ipHbJDQ}MDL*F9;zH~ei>bJ-OHOrbRI!Nq^T=yT z6qK;+XFJZ*`hMzPq8!UV=VBTK*DyieeuA|@czj~RMJntCAiM?v5o%V*Tc;OVR+R`o!TzL*qyb#|5}E8Y^3dCpN1c4iO6oj#yYhPKueIhPw^3a7 zvWm0WlizUW+7-B-_sRQSQ#++J_bhqU<*MIL-bUWbH6wxiUFEY)QIaNb)%?9JSIl3m zclONF*<;*#)iC+*XMo3k`b!8WX}hmd?<(t^eG`ow*?c|VWlMj7p4nJ|LciuF7VbI%mcyzn>uQ88Sd#9YRuA-uRd+{wBwjaLnZZ9Rq z|60Vm!5{pZw`k_J4VA^~*56WGx#`voTW+iL7w_^``dfE-dHyf)XUew9t>qgw`w#8% zlBSex*tD^%^6;i_dGliYy$^aj{Il!5d;Ic!UZVfgdhgl8Pd?-wj`45V?WOrgc6;X> zp3&gN#P~}d_D=LyJ>u0`&6qp=#T##`D!yq`d3o{HEw^nh^@ERl5&y}@y^#Oo$Gy*;W>xOkRJsv0DBZg5j^b^V z>nb-Cm#^EtVXG-FE?rl-PSDm$|Hdc0V*h7Pcx(KXd%Vy2-`L}=_W!!aJKw)_uXn(o zxeuZ1_IVlpGyA+{u@$%Z@4e{F@%#39OZ?>hUf5r?-%Iwl?Dw|$?Js&KOuec6wryp_ zWn0Qi{UuG_CjW;`UbcVolU|ko(vx0^f9Ec5s^9m#H|6k(r@Y!2|0mz}n&z(CwAtA5 z-nb6sEndHM1B&XudceEdKksSpZ9n-t-g;}@-~SzN%~Gq1il9S^w^giLj|y3I+os}e z+qV^O+Pul%`i%F*0L+y7EiZa={kCVk@B0rod*2LfMVI*{`_M`kK8re`8lHduv);A- z(&xN+e%W*0TmH)D(RZ$#Q;Jvci}yb|=-ug8zTn;GC%x#M z#lV-cGO*y|N;J^Q}w|t@dD%F_JDI7r36aAB4@lKlRKDC0c+FbdH zcit=<){1klHM9i$$6xWzn$25ccWYeoLX7{xE8dyY+?TfGvo~{Ey%n?F*^TqBzSzIE z6}5NoRXBer(SKYxK8Is7bbifQ{`=t5-1lbW8#!}c^-fF1f@pX-m#^j6MBRUj^>@GO zoxI=(qBxixQ*d8Y>7l}DJrK(J;w-rD7WB!72H+~}U;Oc(Jme)W`45Dot(>}hTO|Jz z_O*Y_Yu@6eavwO+s{1-v{@+!t1z!z&)mwC$oZ3&+8$YDg3~F@gWA3NPnVwunT<&hS zQ4^!2c@u=?*M@roG>#;V9?17Rw9T*u#)i?XFw$~Qo=CRw6>iL!$6Q96PQs$ zXIc)>$EH%-+{#x{Z8fDoUKf-;dHT!T+SV{yn@X_}pW3vx_1rt4QED61+FWHi&u8uP zImynN8^nIU&wt<1OU{1pz1LoQ?X`cNlassN^wu}e#9}7;H)}p&B;{w(~A@`-wqFZf=VFZf=VFZxVS|L8NSpQM(* zdB*F{mmp65MW2#Z{>i8OC0P&snL?cWOWFU1Y31@H{7JrP^^-L6FJ=F0Or&T2sRP$b zzPDZ}|2_V5)dq{r=ratOYmiUu@_hd#m~aQno2KXd>%)Z6XVmVZov0#ybH$JSxM`hv zgCBeNA760h?jJvJ@t5E6xBa?@?^s$8&p_Z@pmuYT1l_V0Ve zE5p_lS&=+kKJS0C<`m=q-toz2O%ia@3crB%UUz&_^D-2?62E*(`iCH6rS!iuMUK=f zwL-anG9~?srtrU>QtpXU^!x_oY+0e)Tc@P2PAT`*Q_|lxMV~*1oYPh)_t&P#dGi!G z|1d?Lw@i_+)Gew_ZO8OUpr|_r$b*9MqJMfk4 z{3lb=*QfA5o5Fu?3V-7iyS;Hr`j1TE_f6r4r|`GIFe{CRzdeP2WC|}&;eRuwUim5d zEKf=Qx+&@3G9~>Br|^HDqUX^m{CB4COQy)rOyRvL{5@0T|K^nRFGu#kZpr3Zrip0!0tN^?AjG3T`^&K-+Rmr zH|{;K$NqP}DIX}^v3K|Nkb7YFo|4(W_rU&rdv4xWK49K;n@zU=z#X^kDc@=K+ycG} z=)g_4N_i*>;XS3Bcipi2rd!MnckJCO|Ji-L*;~2kz)0@C+xAH6-TU|Ng=RJ>%Gi6` zyA1?i|E{vg-M{zxo9>V>mT`BWT&(JDHn+a(wp(|X%?*3+xMSZP=7t+?dDs4uDet=l zMeQr^z0K^u6Gphzh_-tV7$~><7SU{%6?6*{ylek0d-s+_EdFn9y;;h*Veh^hMylhaRH=N^^+N?vQ1vaR+F2lm1QVrQujbQe>i?xNrgp%S<5y%i=lH|^VV z0LCi63vGSJ-rIJg)g-Xr?7!(oNH%-+-FDmFJ-WuQzSLRDk^&Cwdsn#(m3Hshvv>b~ z1JU9Oq7gK|egD2Y4wxJE@7;T|p#8A+u3f0+ZTrM6(EJ8puFcV8zdZ?z2y z$FWAdO+>hUbmO~r-*LTx0dJL+{Hx_^53g2S>0j~Iw_JAlu8Usr%1caidC}I<<;53| zFJFZ&W&h1!kt6?;y+w3A`MGKepG}0-=M6$0+ z;qQUD4`L&7qB%_}fqxSJH7EX;Z2T&7_9%YVJi~ZN|A#jI1amIpMdlyb@T|Fr;ZXj} zNPe_$o(;E+ruc|RF{a3Ub;Q?@mlQ94B2=WT`6okO(fm^(_ci}?$g7(FRmf|aKNj-3 z=6@UVhUQ-k`Mlz5?vwk9SIMi2&y&{_Z<5y)Z<99^?~upp1I3HvL&eMF<};K2Um=exUMEi| z-XKpZ-X>2e-XTvb-Y3r}J|NF3J|y=PH~$s3OHT0=d0z1}c|mcHyr_7Nyrg)6ysUVU zyrOuS+*iCpURAtGUQ@hAURS(M-cY$ZLw{$m@z1$s3B7$mbQWk~bBvk+&3Ykhc||C+{fU zChscVA@3>PCl3@KkoOf&Z~;G1JV`!OJQFSW|7z0zv*dBb^W+J|3*i5P4b-L9rC>5UGjqB1M;HcL-La1@l~NemlaQtR}@c?`--Q@tBQN% zHN|t}b;XP14aH03^NLr=n~K-STZ-4o+ln{HJBqi+yNb8Tdy4nS1H}XKzT)PD(EbC( zHit>xZ-*8gyIGAq~aCwl;S>lTJZ*XM)7&_tl~{_Pw^IcPVqK*Uhxij zLGdAZQE_u(Xy=mR3G%YyN%D%~8FF9oEO}M&0(njGB6(f$3VB0upL|~NI(bv^26;>I zHhEj|4tYoME_qk+9(hmkK6#+{fV{7`If?$Sc$|Ewc$(b&weo-RxZ*kTgyMPfq~c}r zl;RcgwBl9rjN&!&tl|xFPw{#3oZ=nwyy9K*g5m*rQSm-`N%44`z)DxM~B%fD2erjmvrs4_mmf|V$w&H2>j^ZA9SMeNq zPw@hIpm>qIuXve!pm>FRsCb>+{LQ5QH^}3P&yyzjVfzjgkCP7-Pm`O+ zC;dM|9#`BWPbi)vPbyv{Pbpp^Pb*#_&nWJbXBDrLdx|&6bBZ^~^NP2~3ySy2i;54( zONtN4%Zi&s*e(^tQ{=wlY4WP#Ir5s~dGfmACGv*iW%7B&ee$N_Rq~eN4f3|)^W+`H zJLFx(yW~B^`{aS*1MM4nc> zLY`6FC(kNgCHEAsk>?bjC(kS1Brho5B`+!-=~Gg?$Mj{z1M-UEW?k4`zT$E6s^Tf~ zn&N5ly5b&rL-8E>yy6A&rs75Nmf}8nTk$G+NAVhYSMfS|Pw^Icpm>|SuXvYypm>jb zsCb{;{OzRw56I(+$JdALl~6oEo>V+do>DwRo>n|Zo>4qco>ja+?kQd*&naFe&nsRb zFDPCkFDhOqFDc$2FDpJzUQxV5?knCUuPPpp*A(xQ*AUL_wYUL!Z%N&l~t#}#joClsG2Pb%Id zPbuCaPb=Og&nVs@&nn(0_Y@zH=M*=mhyIXPJWgIvJV9PmJV{bhtF!Z;S;&Jk{;tBGM;z{zX;%RbE@eFxR zagRK&c#gcFc#*uQc!|8ExKCbIyh>hCyiV>b-XO0k-XyOn-XgCn-XU)&-X)(`yhq+t zJRol=J|u4|Zq5kXy`y-FysLPcyr+1UJW$*t?<<}sA1GcRA1YoXH&0CZe~CPIFc~0>rd0z1rc|q|Gc~S8$c}ejed0Fv*yrTG!+*jP36}E3x@i=)+@dSBY@g#Xe z@f7*I;u-R$;#u;R;yLoR;(79p;wAE~;$`xl;uZ2hai6@ec$Ivhc#V9hc%9t*?@9k} zkjE9DCr>EeBu^^dB2OvaCQmEgCC@0{BhM<{C-)Q|kmnRP8$-X!D;_5=D4rxQDxM-Q zDV`xOE1o5Hlf+xZ*kTgyMPfq~c}rl;RcgwBk+j zjN&cwtl~X#Pw{{}r+EBD^nb+@nmnO+hCHcwjy$D!o;(#hc^<#arY<#k=I@?idV>siu>dx#p~o{#T(=m#hc{5;w|#3 z;%)Mp;vMq3;(hXl;sf$|#p9d9c5Eu1Aa5z2C2uS4k#`g?kara?lJ^uZlLv}d$oq;{ z$p?zp$cKtI$xUz4|6Am7#rxz5#Rud`#S>dXd!`gmlBX5-$TN!P$g_%<$UVi&*QU<8{|F3+vI`b9rC{7ee!|g1M;Eb$(MxoH~%o{|0(jg;vRWI z@f>+l@e+AT@iKW@@fvwX@j7`{@eaACc$Yk<_<%gG_>jDyc=AU=`xF&Vk(U%tlb03G zkXIDXk^740$*YQ2$ZLxGMxIo>NuE-?MV?l?L!ME*OP*D{ zNA4*ekmnTdljjv5kQWp;=hFWbkCT@aPmz}uPm@;^&yxF!d*oHc3*WN9c|-9gc~kKgc}wv&c}MXMc~|i+ zd7yZYysvmbK2*FsJMA~=!Yf66XX@eljOeQDe{`) zY4W<_8S;6>v*b<1J@U5VIr5I;dGem(1@b`gBKbh^68TW^GI{(flm1X4Pblt_rxdS} zrxmY}XBDrLdx|&6^NP=t7Zh)jmlSW2mlbc5`-*qStBQBY>x%ct8;S?yO~w1p`Qne$I1JOC&`D3r^rn(+3sobgyI?Uq~clfwBjClM)4fEr+A(`r+9(9 zpm>qIsCbFItazEcqIiY8s<=;HQ@l#vP`pMyuXvrjrFet9t@u27SMer!Pw^IcU-35i zK=BT_S)6S5E_qz>9(hvnfIOvmpFE@ZfIO@CkUXcjc}3{wdBx-8Ma2{3CB;+Z6~!~; zzT#Q(n&LU~y5a@$dBscQO~otZZN;nP9mVV9J;mqA1I3%<1I1h9L&ZDf@uf+B=#eKB z56DxB_sP?W56QEN$1e=q*Hb)6o>x3gUQj$kUQ#?uURK;A_Z5$?3iYWfo@4sD;(79h z;sx@i;?eUVEyasW-%-3o-c`Iz9w=TR?E1<@6L!koOf&k`EM5lba_e+dV@bS3FCeRNNy^DV`(GD4r+JDqbMZDPAPcD_$Zm zDqbcpDPAG3DDIQ{ir2_%ir2~OiqDhJE8Zk;D&8V*E8ZsWDBdCODc&Uy6z`D_6c5OU ziucLmPfhy6fIOl2kUXWhd1dJ5X~h%dS;dp&p5iI;yy9u{g5nwSlH$>MPFeBjJjYi& zOF31=J@UHZIr4_$1@fli(ep?x#fwbeQ9OQfXwR&hL&c-}mFBCH z?OtK}gyLD=H%Th)Gksd|=zd>D@ha1MibwCm&naGG`hw!o_pghJ*O|Voc=UbAisI4t zC98@@zeiA0yg~U5#plWA6>pNa6tD0+t*y9E-c`IsIX%VO;tBFV@g#X)@f7(`@ie*l`eeIj$rFm_$diia$Uiu>dR#jE5+#p~o{#T(=m#plVZiZ{t?inqucinqz<74ML@6z`I^74MOE z6%WXJiucL;iVw&KiVw-nHz(WOygKyHxZ-j0q~Zzkl;TP9jN&Qstm0|%oZ=bsyy98% zqT(KTN%0(cMe#hjuXusHrg)LOu6T)jUhy({Q}GIUTXCPfqj-(Hr+A$_P`p7tP<)~ML-XTvZ-X%{f-XqT{9*}#A_sR2$56BCO56Mf4n@d7}E-M}<_Z3f& zR~1i^*A-8ZHxy5kHx-ZiV@vUoB`+#oBQGl+J?~UeJbK=#s(77pYKk|=8;Z}9 z&nw;}Zzxvi2=M^uJHx;jtw-xuvJBnAy zdy3b{1I6p)1H~KUL&fLGyiA@^yh83N?vv*fuaXxOuaOrOZ;+Q2pC_*<-XyOo-XgCl z-X?D--XWh?yi49vJbK?tTk+_9FI~lZl+#nZPu^F2Kt51>NN&D8+3xYzaQ&}%f;_2s zl02n&iaeuunmns`hCHWumOQU`j=ZRNp1h=ZfxM!4k=$3jL|#+8OkP*qC!bfmO5Rkw zM&4GuPTol9Q;G-VX~hTRS;dFsp5pP> zhJKh=JV9PiJV{z@tm!rc=SGj zuHqi`2^7zf_Z82R4;3$voBx<>_Y!$R@#y*0q~g)@t7*l{l#@}sLhdQFc$U1RxJO=5 zJV)*;o+qyDayhPqqyiDF!yh7el+$ZlTUL_9{uaOTFkJ1knkJ88gbJ8E` zl#@_=o;;;^lRT|>i#)4%o7_{pL!MW>OI}dCM_y7qATKLEAomp?l2;XvzdrQ;y5b4) zhT=)`rs65`mf~shj^Y{euHsqpKyi<}uXv7psCb^-3@6*YK%P*%NS;)@M4nc>OrBA^ zLhdQ2$Y#hXmuRXlnhOHc6@)Ato`lMfW{lAGnpcJGnL74MTL6(5kN6d#gj6gO`O+bgSh zoIIy^f;_KyioB?Jn!KcVhP+O zqpHI6mOE}6z_aHl#^FHATKCBBrhtS{7xvR zqisBt|U-2$^Rq-BqP4PZ?YG$&&fArDN57UbG$uo+-t`Vkh(Vt`R+qm`2 z@IP&bpX%_A!`C^y>+o|N-g9`y;eo?1a`@2UKj!fG(Xc@IC z$>BR4UUvA8JG|oXw>jK*_}d*`b$G$yHHZI%!|M+JNryKa{tk!FJN%~{e(5>0e|PlY zrye>wYvz77X6`?F@X`5CfwgCMeMyoH5Z9bB&C~9A^KxS5RdcDCO<&rSn*F=z&&ItM zaa+PT8-5?cmpS2ILHIf+{A&o`|t0;Vn-16ofBx!Y@GhIw!mi;d`9$3lV`VVJG}zgqNJ~7KCTEj>~^3!dsm1c?e(TgkOR1bx!yqgzs^}uSWPmC;S?O4?E#E zAiU&+FGG0dHRJN%jPMpGd?mt{IpH5e_&O)N1L1p|@Y@i6&Dl@JoCD7`R_$| zixYky!k0PWUqSdfC;V#&-{XWoi133>_(KREcETS)c*zMri15to$L0SX!dsm1!w6sI zgnu95>zwc(AbgJ#{u6{Bbi#j%@L?zX7YHvo;ll{eykT7aXA$1wgg=MyWls3>2w&%f zpFsE?C;TOZ9}L6J(EPkEcfDlx?_Om5Cti%dr)JH=i?iPH(m7`Cs~FF*1#Oz|T(LZh zxK;T3-TylFz*~zhh`g6Qd&Tl~Ht)QX~Uxj!!`)kn&m~b!;!V#vL7?encxL;v4sDGwZA!e zZX5E6Y_a)7KGb0m^|HF7E;mt!ak_B5F>{Xp1a#OD%3D2mE96Dj+rVQcYzt#n&&A>h zuZr2Wv0-CsoAa-ki~WLGo`FtdIVaD(!;$l$>&^XtAmy(zx2Mn^Qjb~lqPgo%^moX0 z%&eW0Pvfnf`}(LpkFq|Yo<{r&avCDXIC4@intM>oX{??5`zdmc-JANtvDumBs4cAT ztzBh(ZwtzR9<`WBh(0yrCFcI}=&=XP>--(Tdb41D5})Enmz%lV854TcW{WSHyX>SW zzpYQr_=&kch918QpKPD%@9?Cb;PVamH28d-gxB~xUW3m7VT=P0+===vVGOZ)1c|v| zcIM%oQkQX^ZCOjYEOXl2hmh_DAE4)CLu@@&z0QtRgK zMxGe#;iLS$(DzDL-{Lx}Z+ZoN@6odSb#u2Noz)5XB0bJrA@74aZ)*MAE~I^1kJe=Y=TF;*na?Jo~~J8YkmmAzA^&s_vLOORvh?453H_0Q1b zxVAb)$)J|j9BbK;!nD1P(V6=dI|We2Cvt%2;9 zMz--^IM-CR=_C9dq-nzzzlu+>$@}psHo8y3@Zn#=XMpf8;xp3ipK*Pdx<&0QdNo$k zYqhE~{Nt-gx9uwQn~VJ&pM$Lb>B{oYu=acZ3bGDsS&cL1zKC>I2jq)yQK4a z$+^!U-M^rG>pSh_TnS;c-G%BhkT_K@@;`#b-s@xpR~vM$Rq9XGJL*s!aiqO`@9M1w0~WvDDp?lc2FGL!x`-AA86ShFx{uI(#=CtieE95<_^P+99Lb@AAx}QDw%(Iiazl^d? z`|P=IAZ|OxeVL2U$Ii2L#QNpP+BYuGU<}z~W}cqmeEtcfl{EwAn>pFf%iMhIa`Ocl zFEF1kES+Q)WZnj|^SzBb33L6d!Fc4ai@2n*dGAGDnbWZrK;AITz050dvQEIvQv`&b0_Gi#`k*=Rcc^5*L_0R?7 z9)V6zqD+(*>hT8Tq!E*nOK&; zN6?>8|C)*RESthTi?vC2?Z|)qHL&eTp=~da>)G)7@zuEgZ8LWn=Gx$VZ(#{-A$8sb zTc;ZSSpoJF!G++clju0&vX{6xOfPb=Usx^eljVn3@jzE$s6~x=c-n zI>gqD(}~|f{%KJiL?;}vZ;*Z?Z7iRNv+cLE>G(a^l^6?;9(?0N$FM(@F*lMUayOwb zof`EM`WVWx5d-!bGsjp z#(1k&cRXG`3Lmq~#6~_Sei!PWgl^uljP;u_W{w%hUCe>TwHv}x7n_c8n_iB6@X3?% z-1q?VM=IX_P`K~*Wly{ezk2#DQJ;+Tf-NqHY)JMg^aakPP3*15W#^N2jKqDt4YHSy z4e$D5aE34b`ZUI!ux>~*p*zAO-5IxO4Rlv})TRHSPuV&QIOef0d>n0MIdoYRe~oNG zeZ-$^Jj3=nWp!P)*RUCUvtJ< z-|#)?iFpI|!FnF&JKy>FFTzIm#nh)g1Cca1dy&0k@x$+ZqW#@J{g&7L^0$h6`rq;n zwLfg0-C^fUkrkCIXA0x2?@oUZN%sP`l zeO(NnAv+;t8#b!^jNuwMHr)@xtG_%GwNjKL^-^&-X} z_~XqF!@uMjej0M55&jMMx{Tv8F5C1N*My%ZT+Wo%lOv7rKt9!DL;HkzM|I;_NJp!Z7LK-aIqx4sG= zeG0lg34O6HJ8yCJWb9$$=dHyUwFzz1##(E|{Llk)zqR)+)XT1+UTf!q<8(97Z3$(F zKaJ8}3Ogac_)6qoGfrJSv^&=;wONN3!DWq$_;Bqe>%Ge%3$n!@rplsyj*|sDOvt)o zafg84ws(BTUr zOU5Z9{tYgEbpF2|3;PqftSxSZul^PG;Ihw%@2It0UOYJc)VXDU4B8p0h`4V?MF0 z5z2sG&!l9I!5AYtu8yu>Wp4j?8utvu&W)4j7B9q@QrSHWuEjkb*ydkwJ`)@?cN(0{ zN`JDS=nL4dt_!yF^J*53EI&&c`KA#?jfSWgDm!rrsyW{kD# zHp{x?jd%ZK@L{tcJa)*OCOV~>{#oYG3G0K8qK+R%e?Y&v6h8e<8Eb8re0#{nuPuij ziyuXL^r2CD8z#TnNiQ7wO1ZWlL2tR<^z7Q(FZdqrML~8{?#Cd15qTrIr(j)i40V^V z*doB5!^)C0q671$(9f;x8^M@=#BN4D?B}Gub`HUH@OHB>E4I5iyk5LfJ~3t;G8=`Z z*0j$G-hq7Y2=mI>q#$C|k zu27GsUqC&$hFJs`JX6@cqr&&Dc-HCDS&a0&D zA{rA#)5du50o%vm7q%_YhSJ`vG5$j_q_uI?hx4~N9`hy4mMIG$NBgW>lC>W59mZPkh49S@-8N3C?Up-QQJiO z^=bR2NQaM5_r?oDJzpc|{+F{2oO*0SAB^%mEawkbm^&9Yp>5aO{<}SREqwFxasRP? zjX2vUt{8Li@8Gpq`>{W5PSke963shehcM{*=O5p&cV^1Z3*|sWPCIDD;abDUbJ5* zd))tbW3Mgiyz4PH2D{K_c6oQ&dsWcit`p#g$6%L>qP)?3eX-9n!!_*0e2w;wbTiOx zVvPZRlzptMgFQ4esvd6IdSd0bIf96Gw^dpgj zcq=DbYk-R!(NFrgO#@jIWr0hY^N$|eDYhPugHikc>D2YTmE-tB@ocmi`i9i~D!D!< zy#D4!T*C*2e@@n}NF!m`cD3}mV;91<=trY?}TuV9ryo7asSZve>s=lhxMw|9ep0{vcaZ}`upWR{dwHqFOzl7h5p1k z2liN&J(BI;SA=n}Z`i;0g=-+$KiNKlboSf>{v-9V{Rd-!je`zuJIL4|X>R`hv7Pwt z)ds8QcC&yRryIl`vJV^e+3gbc7CtF^SA1G|hdTIPMI!#Nngx8N^gdr|gy z{D_`Q*6rLd{JH3! z2;$LKx6525X+2!a+DXn;r424a_z16yxQ^CPwmwKFvV*@0&#Qhy>LPN`mcp-^Rwm*{ zW#an(O_}&UT3Dv8CwxeBc>MX)6KO~F#PtuV=ccGkT~A%+bJg>QEK~el{AGO4@6V>r z_fKua{V?p`CeGktAGe>ris$gV>C5LpzVr|2Z+1^|Y3SEiB3{-rGRDjE)~BLP<(`9F zKLXo|kHGKnthKj*`@VQK+gq58Lk7~|%iPy|6>{+0(RokK&YpKZr%Q_9@T@cI8|c&UX@qjwxBgs5t?9JfwB%DRZc*w=E-D zr(GWU)FaT>t!#Cc(mDRBFCN;Qb#;5xHH(!IGLAl9i2mNmuKdYPRiec zK5gev=mi^XxA$s9N5p-3=#I0|I`jW;6R~-UzN_2h_hldSf3Z#8{oiO484Gk@DPrv> z{ayU(s_1$+YoGsk3O*Li&F+|SHtKwx_$_=?^4aI5;IndltDIq8D1Kw?_;1&m68^u_ z_qx%2YWBVE=>GI%-y3na@7eVq{9F2r?AM;F?|lR7C#hc>eeVeD<@Ueb&(YR5KS%#N z|9SSm@Binq2d150M)#ZhcCdHMX+H1Y^9#cux_8PDYV6#nby7B~5F|E7iX8*F@c=JvN@U3B*gaTbR3GH*v|H{(oO z(#pBN*wLoXuCmYB%XO?fbInR=WxXppPLqc^O@7A)x^BaB-;!R&s87QW$M@RC=N^lg z6Xe`do(qA$cil4(gENrG-ye~E4`fMLd{;@{mg^wg9#r9us&GCcqDSI9c2HA@k`dLBfFrU(thT5{GYV8fDK0BYmK$d z(zU2R{&vA0@?5B`-`f%QcBI93sD2s!MSRsgw~{onj$V@Uag--ITmwJ8nEl30>#o0| zeT6Wb)!Tiwov&eMS*J^xDY^F))@ilezq50_jt}d&8fSFj8V7nxzqjMrF6i?PZ{gT- zINn%2(Qfvh2l% zUlIS3HnHOwuI+dx9CuCA?P-AF%#~J}G(L`UCQe?w`Z1 zHXr(GO3K_5o}b(Ca*yiwkc;}Q4sJvlH+l=tV!iUb^}0FC^U@zyuYGuC1nu?YIoPZ0 z!Fb-$^W6hZj`3%pEoB@) zpL#sH#=2IX4PR+ZdlBZZKNnv>J4&8gY^W|+u_@}`}KU$Ayu@5jUY zMP2thKk`ha)rV)~XixV%9BG|rDp?2XmoiqOeqvJ_mN71RrZTbz>J>429_~IvG)_C zZWyOe7ax*(V=Try+BVoZ6n)dKhpzAz-iCeK#JRO&BN?-#oo<%pWOzy48XTqH3&NrghJ8>T%WZ_wK40{9jnRxkbgpK#@cLJ7C#xr-zT!3fX z@BcSDW<4CmqnzW?HgMJy#n0k-AA23$TR6iH^<3fEpC!o0c!=loXCHns$~k^58J&Og zJZ%%~zES?rmS{hz+vBo7#`VZ9NMp;7=4GUnbffipG%rI=q_cs}Qs-@`$5rcLYkW5; ztV43{1bP0F<)PnW&j$YldlK`@Z)5zoXJ)e}oF_V*h`Dh)+SumphQ5va!p__?yI%T` z+>3iXw}1i{7v)|^eH=Epbm1qDS@#Z za|Oz68q{T#V=s{v+DM);US)0cYyaV%TSaGyyuT5)U2|e@h_S7|&ieoICsyMV{XA;# zt3tnSMr*A_`UKm0#AQEi^(%+pc@baPhCY!hul z{>Q$u*^}CQt&laq@Se$#{Q|#-1tw#iP4`FUc0bbdP|SXxD?q&LOGMuI87Fmi`BAg= z$T`M70~>tQ+xjSMBhMkk@Xiu@ZsE<&rQo;lhh@39FZUXP*ZR^H%feyTt-)8!RyiNX zdjmHteg)x6aSo2>>b!LOETlO_{Gfq*WwLj}^#-}ODbGYLBAv{Mb`OU!9Q}T^%n#@% ztL>Z<#lin=9L9ghTWy~y5MRN0`UkL%otRUQUu0g2u}JPYPRu39AH_W_YiN{j`xtbW zYw2UBV*M=p9LrH(xt8}P+&VnAQ|6X%j~C4w>V6@h=G~^>&uwJZo?&)_qpS%4@6UXl*6W8lbJD z&8<(!{eJXqX>Yq$b)OMHI^kD}E@($N%NgZKgt|)nRkG)EpBq40;j%`xT*eN{dRp$K z>GHV-lRW<_^SQ{Pd?{DBe1G{k9WrAbPQ|&5tv}~;SH?^@S2c|@SK0Z9b(j7s&&_)1 zkJ2YG_buD}(2H}PwGra%9?-_2>`@$bm3Z+#s|U-Hvl{7V-}`s88_SdWpfVpYC`1bNq$g*WL!}`mVh^?dp+QPQo?D~iQX$4tDdR?fuS}vt7&m5A0=sSeXgPbk7k+ zdwTc-?7Lc*@lR9Akav5@Gq8B?maMt$__G^xoWWQo^P_EZXB=uE&hAf<_BOQdYH3Sc z??pS|wd?kr;u9!q_s`?ZP_VGra-@8fz9GOZ1rb{?P2 zPdT5(Uf`*4Z!xhBD`Fg!{lF%SwRqZebRPJ~X}HF`27dcha*aKRTz^x}_Fz|eE>HYk z&e5a&v)DSo*zWG3?78a2VcsiI7kMr*Is>v{o}C zx8+>|y)gG*h4!#}LFftHw#z&q=k_u;po|Un+$!{u?b7!axBJ*9`_i{Q99)fcvaC1c zSx4AMuI)I7@x-jLI&8IV0K3Rp)DL{-7-wp7z9u$&zueCkIhb2xcxKaHW6qVZJbR6@ z&Vx;tH^=RJF1Df{pJ&g&BtOno9)}&5-tLX|xwm02Dtpf(haHp9AdyB*75Td}1*+Y>t@?iJ6B%h6+rZ8Oh)FW>r@k24R; zigrG?EC|m&@UF8n=J1^~d8b<~R*c(s^(=h@W1sWxx;FNOHb4AD<`a9(wilgb-)8gs z$dA5w7=2N`hx_BO!!fKo;d5a>?uLG}$-|xjYsE+>yT97xQ*OBCkonHef9LoU&&?S; z%Mbs@pLb{U9gh#ndSe&X@|K0qksEwx!{8b1k4W4e#>w}oz}_e9Mzb{;=>@y|KpmWC z_MroO7QS^Z)^Kyw@l3Ong=>)??DDoQ!XEDwd+rIZZKl=_p zYmcZ;a(%lU{vczKO%sh(QGWy%pLzN_NP}`pkf-OG@%IP9c_y^^_?-3o->?8X@8($pPZ)BUbv<*HZ8Ais#wV`dI?=gDoTp&}@evv4B3scF(=B*E4P;AtyB>jFM*4Kc!QAnjPsaKCPKaQ9?s+rMD5@wi>YdkVC!kB0qlRF2g3R=l_1BUPK*azbv}njca)ZN3IS0^$S>gSzX|x26hyC%Y5vzbCCW7 zwo&9icvr^#HjO{FpX_rjYlLk*gLa60ruxK-Fm`?t=cd6q;d@;_L49|loPWi&j5ARm zvuh}XtsFHLb8S?Mp3~uZnSF1D5#3QIU!GrJe|;pJ2k}hG#2keD<9X1-+DOh7ZF%qo zXRbOf9nURCoM)g`ANlUNl%cu{M=8!VOGk-^(C#e$>C@9!I!d4f~!OC-+D&4~t&M<&*m! z=bKTRT>xLR`-X5`I(lcyl{gc%oO9_nWDk#PnZr}CldP-dGm>TJeK2W9c|RQ19QOJu zT+8=H@H-zHtUQdZ$QPYKkJ>}*B=eN$Y~RAFZQK4YYyA>EVM%aee9S79cA2?eZ-}h4?c#oFui6_Ym(8p zvdA^bW8XTqbAUcAa|6=ad0o!DD_~Yvj1Mvn#KQX<$RFMd!Sl0oHXh+ooHrgzV1u1k z!o{Zi{Fy8CA&rTg#kF`72Euy>hi=RNbE6J;m zc2d8ZS@(L5T>1rxI2W6^xh z^-RrlkDup4n}*~2Xzr!WM`845gFXzueI}AQiVMO%JqowOaaO`d5038_*>V^s>x*a% zi^fA6#`Ds*!X6&R)zR3;Jkqbk=Y9+EuBv9rb!lUMkZaU!E5f&X5{B>Ddcyv49mPS$PMj+*qrI0!*Q>Bkkvv)-^t%mG z-i&whoP5T-Q|2W7wkhf5oFYuWI!xbQZPWkgl=QN1^rcTreJ^zUf_54|7ap!7MYi$Q z%;lx-I8%VH+4{*`D%Vl{48!mIT6k6wl`--=%9lE0oFBCT!ko)EzsfW3PW(2RBb_#R zh3J9xz10hCa-M``zlb%y*u5xifa^%FK-vN8T8Z;{9mN@hWsfB37cmEmZo5%-3S~xi zjjuG}cb|zo z8IFWfU7ACLFmKPK_$ACZ0AV*7B9u~ls8v44o|1F^l+ zSD+i}6PC9Ky)YIoZz-jQBZl`*%9&`$IDbH2*kEDP2J~~x9mi%df1hL)me$+%#m!0m zp2EA8pTxV{a5nHTo}paESSLQaa6j9n4LgcmV(m3^GEQ85nz{cJv{7(UIG5V-bQWVX z_CPkBf2vLQCZv;by~s9Ox?1KKZ`pl+{rA5r&&*zlcgD?x@3Wmf0d2khp`)K(H5Z(O z_Hf(#fv~-O>5I;~y9oWnU-rh#hU>6@i+&3L`dJ^g`r+EhdJ6ky;j#~qHM8^;(b*JV zF!wvq#a%a^Z=cbdnVZ=Vw*MbVJZyYVJPbD_e9p|A%-yke^$8hs-h=kFeM0WdOM4)0 z8{^81yIY>?LO#)FG*93hLHexaiEynuio=?96jxMnSf|-Ilr_2+jCQa#YRlR)8Y{v% zLv)M5$3h#1vh*5nR4#N99pxPTIC&^n;^b_|gI~JxHu>RqLLwH!{zU6BZ9OV|?gYHg zP@ajB{q%MCld}l4?-RCtWZaUmX_fh3qjE7<%9w;Q!Zk1U3emij5I=>iy=W`QST~yE zkO#I{ma$#pe|k#1tpn1cuGW`u-Wb-Ewh?>E-liyi8nIQL9gia>?=_eD+c5VZ6Zs>@Ci@^skls-?}+)Uei9`ePv-UMG7m*ItFG@SBiYdM3p>Dcbl z-@h~3ct)Rh+1sKt#j(FMB7Z0Qr6>*TXy{W0{lm&3 z^PMzkmrzfC{M^|nJ=uXMJ;I~(C~tJ#aISsl8g+rMt{e9)8@FI}3Bv0cv}?4NiO$t* zJbhI55;ja9l`y{JIeG^z;%uABe7=Zvlk|Xt%o~fCTb5)!j`;*O+zOp>j_xi0p5()sMRYdsn7lhc*6FLv z7i9jH`A6ciXb-!W!Sxp;5BtC`OCO-jR5+iYtnhxAl*2j3%Cq@pPvgW#axRdyAL69k zDBj3EDUEYAc?NT(IK1Z$znkEE*WokayPam`UF5S^N8ve@a2+*nFWADi*X3B-&iYT- zHbPtdG0x=hY|d8beEV+H3H^7SoG%7Qw+;10IvJ&s(p@*F7%6$cS7rLzTWesZcw>RKf z9B;XfyrTQv&|Q2Ga_svWmY}~)7a$$_{QIN~S=)zg_ROL@lLVRaOlB;FXLHcbQud>G zrd9O#ywxdOt3`EKX)Mc0y5q*O@GRpVyuaJ(U`}UUPoGPjf^$l&LGQuudxZ5E$DJv0 zIJ1;>jLf6Yo-Dub7(Ejj%6u@&mwMqy=4#56cM@2c_+1wHH2B?^Rgp}{gD=^={X4~X zZ5i-?nWJmrJNJCZ7Ttu6%MHindsc<(U)TbB{^Z=h9pM;?>uB6L3}2$Z*ff~e7oN~8 z#Whi5W;EYenZ+|@j0?xB@|mMJ^rQQ2e16Q}qvQJmj?YK!WPOePZtW1faBi#CBPt8} z8_ubZ!7jF}h`}zh$BtN3&)^*Np_#A`S^14K=8j-4UIMrF_mbATnlFbg}hjnIDAX@>SY2pt0aeuvdp{490m-0wY?4jaa0nGNCkWpgx7 z!q#}MFVqFUEwhNKQP0&H5KI{le8Ek9t(c=SDv_3-XV|pMd&u+gDc3k zavdMze$|d~OLk8&xnI2+b#uqJ$ZmFiyd3wrFxE!!y?0m$~CYIq`e8kXxmL(j9wz3Si9HoPeElWBKb+_znhoMb{nN-*gqcyy=1KQR; z+Zx5g|3~{A#NUnaA%-+^?rY^j#;AO7d+pdYT5CL?b5onwKhy4AwH#@mk&Js~Jrcw3 z0-_JN>k+g8{PBrMj$xmMop&C_bIQ^`wnhF^v_7>UO!}XP--MI%b%RgQIfYNmBU|rz zmA_+iE*w)0eD2qm;P*I3LEUZMn;{SB<}mI?^XWp*rtua&i%)%KU!=ZEp?^%AiTnxD zA3eAYzv&l#-xz7J2MP5I&v?h@<1%*J{_eb+*QUpqD!yi~op$&`^x^QVJ)BFTw1ze^ zE7)Z>>>~52*h9wK=dA;5yOIvSrgVtjOMEKEcd3h%C*{bqT=M;tsBL`e;N$s+Xw4es z)%C!bxbq6;eH8L+ywldYPFmhKL`S8|#XnG&@ch?4!+Rlo182n|<4Tk-_nM$X*R;cS zgfE^Jg=r%jhi4^iz72Tp<#i}8hEJQ$(Ovx1ZIAFhCNaFnWW#xKe^j37g#DgavnxD* z3!h&cKaXtX!6%HAg*8$XhOP+X`?ly$VH=OW!@j(T_3;ws(IdG3_ayG&J%xLKUzK~T zSPM%X?~^veGwoO_hR>zoGm3i}ak9=vx@UY`x1pmvUnc%!-#g5>HsbD7qm9H8u_5> z_1IHK-+e;9)$%N;eA@ifL;8S}C-xB;_d=&7#4X}}T21tN4qZ&zoVHo?v1vlRMUL?3 z-3Zp+7(?Z`5wV^1Mf`5di(!vZ9LD`9&LEC+AbbS*F#d1)jkT|owOa$WlryeTK8YKc zSKiDx`Oeow+{u_yn5XM+#&uybVaqQk%jI(R--Rar6Z{I9ybL%tB z(K-CC(Rka9#wpRgi0?}$*^fN=?lgQ$xa|*+VZ-I{{*&}+k^6GFcYmQ-{%LuK4E)UU z^RW)b{ZC16+xkM}y)cyZxV$IuLbet5Cr7~DXLJJWbA7a58SN%(fdF#kncs7T54^lfrwA&=*JT41bfl;0Fa{+zWk1eEGL$=0-Yrkq)aK{tM`^h`3-s zetQ`HF7NwU1)Ci~f5EeY4{w7{9K~8{BnxYZX|g`{17z)ntZ%roxCU&8^G>KM)-9rc zO8TMJ>9w{$Kd~Ej>A7;)m*gIse7DIy<9aFN;CmuI`a&SrXRmM%NXDtl!}5wqC;l(} zLY}Glnp3uYW*+vySn|XoWCgP)J=}83PlYlb#~Nc~CoowjZNl2gbniY(#yo4cD?GXH z)SPkJ;HSk8&;~O8{Vv)Y&!e0s>V0*n^T$L6uHjd9Pl%VRhJ6Y?=04XZX~aIO(Wh)3F^8a?>>6+r z)@3WKaqJkew9Ag&6KkBGLw%1PeCtEszS&#G_!8dxxqKDInFPie-21^9z#{heIIj`E z9*;G5ajcQw|HW@eiXDxA*4$>X-?m zgR>fpS2hjCtH#BL6k^UOcWvw{Kco`@+9~ww7lzFqMXKeL3^FaD_OOf!_|@ zxd<6Dr(KGB^t!rcqTjQqr<8H`$%unKR(CuvWp%-GAW;}&-(+2)FzX`E zqpy+rgTsgB79nF14h1+N8aXqrx#k32`J!j9NXaU_<8sR(mwO(zo9+AepdVk{Yi8wx?=`>jQdUNuSf1W{*3HXlGmOQ z8w-~F_00lz|9*uE+KDDqS5|52De^C0w_32=_VJ#_46esf3cMU6Y84pQH3Z@PEKwpoO^U*2}j zeLJ?DfH3#U+n)ZV9otSunET|rv8Ir-49P3wCVnpng2uH zyT{p8mG}R9pP5|9L_;nbB$qjp1QI9EM8Jj^!kkGEQW6SG;ukAuW`veVM2Oh0*reqQ zL7@aBM{Uu9FcB>fu%_Bpk6M`s3N@idu=U!y&m@S7Rst%Ffb)BQp0(CK`*QIIq3e+UxS%pJ!bU=~I0Aifvsz6G@+%se77x@A<)PU2Vd(;L^Q6ytZq%a6QA9 z4YXM0(kU(0`1JDIyLQZ={CPedXtB=M7o2Z&@0Gu}qpNc^WiN8+p8x!4SFif+cIn-- zKH9Z=Ch1FDy6w-QiP9TfI=<+(u2_A&-KW*|mF_*|$-7*-^7Hq1^}d|4SNpQx{cuz3+b0ZC#aCzTM=@A~$X0NpJVx$G)$tB02bwOYfL{ zM^`NTKJ35G`bgLAX{2v=>DE5?>?MYXKknXR$;UnZUHSL>vb%g-wQFW7m%YtfyL!df z$d?za&F;N(?afXG$NO&|`A}EqRLV|t=@Dfz)H^2A=1gB__4Q89^De#P4tOm&o9EJ< z&@>k97PxfJSD};t1_1KX)fJ% z&JA6=rB?-)PG$8Bmrm)i%B4*w*7$EvqCeuzdH!3VhnLIVmDhGvq+f6J-^X6p)hoHb z$fY~)zOE}4F5SMp8{XTsTj@(&diUGj*VU``H~92j*LHP^H*a_8_-oKkxL@hgDSy0t z_Ppx@T|JZeezh-uBe<&k7MBk4+4EO_?PTyem%l?Y_%h1f;M+xJdZv)R$)!`7-R{c= zne;NcJIL&Zefi&AMt8|}=K98HE^JpUJIY$e>!SYU%bNR_pEkaK`SOYV%TGVLe|g8W z{^iGVsosp{;_{i}i_2$CEH0mYba8p>wBqt*$53`AW%HDsN7)7a%iDGp$}^6k>`cn$ zDLap{3yRC*T|PFWulSF=EiT3`Ud!fPSYF=9R`_;To>Epy)wJo#d)pVzH zbXqmt20!9ss_BUT|H^G2C!b<;;m*JRU3$Fv7H0=eslpV8ym{5U-gCTepH|IF%Wbdb z89n-|=~(o5sG2r?J@)2m{wq8^drEA5r2c&O7#sTz-ufTJFU$jl`J6udd4;(V z`S=dz-Fv)$e--}yS{DOskMqO;lzD`@iUAVhz4TkbecSE7MSS~MsMqbjecpdl+lmVMTPfa|dZ<%;r@b4OO@W;g3Df~qTW1EMu zQ?V@Tit&4~L$YhW@17rgv}=caDCth%PjT#X^(WWW@6GwRBf$P2cQ~I+`Zd}5{jPrO z>$my-hv6ecp)X(D+q04};-xK;i1nlCS;_JY> zx;+Kk(>Wz%G)4|8%taFWvyU!je?0$DD}C-huCx_iXrJF7(w_E(D?f+LsZ1}HwFf|F z@0sV>rvKJ#V+@w(?hMs0kk^EtI>kYzz~Aiu`VMW?cx4RhF0p(~m1m5<#WT@1>aSVTiHKE>Ik4|!ONp{_4` zGkAu352)khYCblxPOe_0@0T{eo^>w2SL85qh0TBLKI&+EXm$bmTuNH|2#d_$Xb+=g zJg<3uCnMH3YXHN>yZ@nfY#g5HpE0QBperp=d0?EL1&vMI{0cbI{}kPip3UD0O)KcS z_E_Wp+>gxR%+WdR$ z;r^f($RV_Lu@mx#tk~Xc?J0bia@qMO^>2JeUsX%SbENZ@Zq6EeKHt7+u2VGB{k*bC`eo+_ z0&no;HurKiuxn3{rLkp~lNPO2&i1@3*6{11+6S2R3pxD43j9KWbK-8!tXR%|ulF08 z+cG@xG04}pDqq}MtnS6I?*&J1Xt7E5lNeRq($1Fo@|Kn!OrWnieABXl2lsLRSqf*y7d5nZ*?oE$duM#de`S4) zcrSZsb`jedY}Zhe)>|gAN3^MCy``Z2ChXV7hYVKU?P5BOpTzH?Ys=ny^iF%1fm=c6 zgA!s2%6;iO_!z%NqB@}*{%RU<4E~9}v$jk8&YFSN72NvEs_&A|+Cnnd^_A$nF5k45 z-C`i^Vb^%g?`@B=F;Ljw?qi?|ZD{{Hwt5e3maV?lQ?-^rnm){C+WN~}{Fl~WT>0Ad zmqy>{!`5GDBbo1f)^2QKGT*PifTQ}p9X!F`$F3fBaF#4&?V)hgIY+HETnr72X1a5R zy!E0LV=U$E_ViXPp**9-D95hn(@ur>Anq$SHHKk&n7K8p3fWTES~pS~)*i*#&I>fxi+XN7u=`n*$gr;i;f z3s13QgJ-%nH<|2^_a}Ud;G29CPg~mx^0@y~ox@`N0kwr(Bg3Vt&-C%MWSa4?_GcUJ zMR2FjGQL+fN_(>{zu)D5M)|B4&Y@o?Z+R>KN#$qkN_HO!ba3Y{!MRWLR5`{eqQi~k z36}&Iv{xtO-%Ng9Wy!Za_}H0O@SV9fvt2gUArF~qLB7iGQvdL&0)2x`l5Xi;5=Tej86|T{j|jg^ELD_^8dqyK_meidzLi@p0&<&F9s~=91yE`DJi?Y4ch5)NsaGy4Hext*ohspdo6mw+2~uC#~m?_E>ZWq(hu*_*>A_6 zW@KtV^QJ17E6yv$M~kOpcP;^TjS&^Qiq1OoX|VY|2N?TTXy>CU$C(=Brt4S#E_}m& zLgw9)1*L@bngx`JB9|^uZXW4cy{VoRl3oGbDfz~SdH zhgOdNMh#EKxwy~d0sW4={SX~o-bra*D!*4&<#!=8JTTYx?pN)D?3|D5K5V=k7tS4U z&sept{ZAovHNPNQrF~|~Or?F>w||4pT{7M}sdS&Ci`jGOO^p5SLYp+U2xCm>KPcI=J1LrYiZ{eqalhW-7tapH!k5t>yqPjVGS%RF7`umf zCyWt;j=k)CA9-x(;uH5^Us9bR_A9mZEiP%F4`XFwqT*xz?g!0NL5mE(_`mCVe&xwy z?{n$8z6CbNpW5#Xe-?ZGOw|9GP&T6MRPwTSaCCDI^;KS1qBY1mcc&M1|AFvd6P5P= zTU9T)>-*r3^?!YQi}_}{cXad(;NNDpJeg;){T=ETp7(0cTPW-Me}d;H`sQdKt=(r~ z_AFvP6rZD*qRC($v+1Xt%^9HV3d#!i7}?Nz`Srf-yzZGoj~rfeNq02q!$`R)cR*=KI`c}LFyx5A#_;%aZCmSr;(^F?v^&Dv) zMe_M;@l3J|?cu}0wu9C4r~00QR_ZUhq|eS`-OM;%_-OBIGBosbQ}?N*+(|BGxRtha zABptYXg6+T+7*ERmcR$>W#tfME8vbDf8OK0$H!R?Z~7y@EIOcn8*L6h1MgnuVGc(J z?7=?GkvJJzTv~~qDJH!bTN|Tmz`E`saPzvkEyRW|ZT<)Lw??I*mB)QU`f4$|&LuzF zJh=b4=D`CmG!H&8)I9jZrZIz0jvF(WY}H&}ae4Bf=Ja_s9gj})TzNdcoaff#`QHhB zKc4^V(D(VJvG#p_X&lc0r^WGiH@k5?z5^ol}>(zG~y2kQd^gH!tAU>nrC{ zZ*Aez(CjJwCvmpy8I%iYcsWJB$I{&n&lsHyX?^=T>u7BaaAclhU2mg&`n!wyBj~zQ zbba!!sihzC&RH1q3z--Xn}a;vBpn>L^Gn}^HcQ~sl4^_>;Eb4O9$?;}LR<5IKVeSB zzIplrvy&szz+Ce!T2S}^bU9c-SKk1<8dp(wUv%IsXbqi!@c{7gKMYncM+{ofdGO+K z*y1reZx8fBE^l`4PUr4EW0(*AF*u-8_~5<6{*zudCoAv&H`DIM@Q%EPd2hpyKCk4P zY++b~O4m&4+IwqggE|+4cdtK+okM#U@lA1bXwTvV;(zAUY`qbCYWEXIGovY*caV)@ zO@gy3@eJ&$earEUm_qjr&S=xQCC1?0jKT9;`fiI}?0!7jGG?vD)vm4aYe#Nt{Mu2q zr8D4yYXq1^)rQ6ojPLCpZ`Nuxe*o-s{pu zbReV^7YW8AYG+?vJEVuTvoiXI{6+Q%?6ghgHS4UD z`WWw?Ih~hMSeTB{jhxFif}_d@KCu1|PRvJwbN%_~dKhc_ZT+45 z?ezU>4lGNXbWdZQZWc5?LKZ}W#E*ZT!?y~bNOSz)Fm?plZ$kD}S2p4G{BJeB7d;r; zehzmU=0g?Veu zHH>CH`3YdHG>tQO+km$U>uiIy58OM|KYe`wdMK{W!clJr0vr)%4b}Dm;y}^jzkZOF zQ-5Z9YptB-t8{g>-37(b{jVdIC|X>p@ka--py^xfdiQqik&B40!uqdY?@seu zUyL@L0AAf1uluro4SahW={dxRo%Gj6f7vx~t<^}Dg1*)GMf{o8zGc5gf^`SBA=_u{ z*1in}Y?GTWp?}5{F1De6?XA$7c(%=SO*}C?Z44?}$W~hW|u(oV@I%}yslSh3+C#{bEuDK_D*BW=g zB|%Rjjn{#fHcrp`CjCRt0$uI)^NE$o^onLLIfC zzWar{FyPia0&cJMxEV~IpQFJq=8TB&JNi)g0cS;YxE-2fC$%;%KHem|$GhyD zbPjyjT=gLlDh{MI`#7{7Us*+*df);ni)MUTD5d44NT{N|bRyDkwfvVh`+HkDpxrWXT!LI<^9~>nPcYZ` z!;E}y70#N&oA2Z<;B4|uUQfW8_ezJyS?|j{&U%;LOUCt%trO0-1f0n;oOz}=tDN-Z zeqTp(e-}9zBiIXMB|D0ls(xw&8X_O{G(2ep8qSs60C(?iNyF0*M?=X#(bG*dylyxR zKQ)YYBin|c2fz6`^zkuJRu70%%pUIu_@JMyN5@BO|HcQrs6Wj9Nw4^iAlb8cnrr(n zgahf(*tdYgqa)zZ)&K{S%ijWzf1h^2i`}rP1-vYY*U4?zx4DI0SC#_aN9K4Djx7{mSE>uwK27@2bixI0p?>p%)5i^ z&=&iWt?kzFJOjN1hir*#s^mav;M{x|IDh%NTKH@(QFC{G4OVh&K6M;6fpLZI!|#<% zWnDHS<5Tp1Fp0_>v!dL(#qFEM-%pV)Yuu!@_X^+Hzf_KH;Lc#qm7y2g7#Gl&i?zHB zonm*Df|q=n=7B@I;!g)YOaChs@-(hfyK^|hs;9u;}aekiv z)s;;PIPTE@=qi15C-eKjfUVYk@EyWk`5K=S_t^eEr8Slzt+CN|;YwbjaZw$vS^H4X zJ^AQom)Q0(sGRT z)VI|a-KKTAaUA^zcr1?c^iJW$KZfrqypn(Q;pc5^u0-(C$B6LySTocS-)i9XV^X7q z@DmN_`%v)O{=)!=>SXDdp;0PZp095q&JO-FJ61LMLXR}hBiQcyS#_N_*z)@MwM1=7 z{=JU&kj^9XYTsmkrC%$kn>%c%+iHjYN2*&H2i+-yJRK}5e#rD2yR^xgjoE!$=%(Q^ z0U4K`Cagi%>xS>|u`oAZk7F_5$o#^Hu*q(D+mvV=<>55A$d49Bw$Dv=p)K$3F3&4A z)wiP~_K2Yeq%}vQJiVJeq8*bNpBKstmo{WxS%u0J628_+0n1+1wxcb0=$@SzFQrZQ%1`IwyziH~QQ9ir)Dz_;dKKbHAoL z%l-H1`mTC2kz@Lk9D5k;-aUOY zzbZI*AI-eT(X0bXmPZ|H;ya$qjNAVDQE1j6W(PKlH!H!%&Ih&*Xe2$>`(a}CkInJ% z3}uJK?DE&ahw?q*zhei+F)k%P_pgG7?^}*qYW*k{T}*7vQ+15?y#Hvgtxa=BrMur) zW#bLTKjZVG;t{^FHEOnd`1Ef2k!LNGviY}DmZy!ku5|Cuor>QluhG~byQbCc=f8~q zoKdPszx_OVB!49y2b{=%R5T{fa2h3F|AsZ_pc8?&!*pMLjq`E{9C1i5cH@+yXrS+; zo1jxc=ZX7|W4}nalQXk#U2As0nvD^QIx_=L0-kY5`}X_&I7xiz);ndJ_-1w9zCy9e z`8Jo#y1e=Rrly@YiWZcMv*i?@urD%C>_b~ijaGrz(ChMgUaP)%&C_&5Y3z;C=I?lB z*XF*-IIc>|aCfQphfZVv%oz6m+Po8cU;R0yJ0oly`x&5JDsve+dwuWvW9f+UACV24 zeUjd79L>|toD8VKIfwx|9rpV zpPh9L?fH8XIQzTv7`00|>o1hA=VPY*{){XR?y1vVwIhD2yl8p#EbU7;B3k~d)=0rk za~=h)ap*rn?u72lGiLwS;hmx}>qIYYUdR6aF@Ar4?f66UIN7n&IjYlO>=ec!vF?wN zuS4#RWW4l8VUAex+hDx(_!4-=w=hl$`kx(#BthpD78Owy-V+l(lhGjq3@{ye$r-xc$$sSd@%2=#G;%h)jW8)$Ud_5oE6smIR4Sr z%HzJ?V^uDeT=D!{;mflcL)Y@7-nRbgYmIeEdxW}y)5hY+e!y99pbHv%u1>(wp3)^~ zU~~J8zA+}2?5lj9F*hPvHgJ~uPJzfHVqAeXkL0ngiX&zk%o?+xV=`lqtU zyJRuqKM_n8C9BknH5Z~MJYZ1j)=-r`g0-!K1}C!X*S6weGT8vny0yCVM!TrDIwe@~ISG5J6w?WYShN`>3}-ilp>Dh* zyr6GhF%$3RFM(l)Y^BnxR@yz^Vf?;Wy!Ye0B-Ejd#mJd^!ZeS|wl+I&jJ??wG5;~3 z|Mj8n*`A(i+wR9AX14Pk{*E!#EodCHWx~<`L)d?$I@r0%%8$K#j7HbTX>Ari5#q?y z2cg@F8wOY>P@AGfU%*|l1GMNS9bxM^1Lx*0h#O=xJ2dC)NHk{t$Ljd+8-0K0g#NBuVY1L4+RF4F+EOeN-Orr2hs&Rro^l#(EaZQ^ z&1Q*alrx%oIHLu`Kbkuh9MCq>eGbeE%brzEE;4sjz5A`6r#W~kJH@El#vIy5c{XPy znM<3TEQ!h$=$$Mv+*Yd(!6qJv22X)Y=6g!7_6&~EO>v5k`R<|6BUmsx{vl{mj^I^i%M_=Y#pMhf=yJI>>gy2g$(M z=#9-~df0<5+!ypY$hU9L_$NM4el#}ZSFFX=+w?FV)mUBdMUr2Q;XQo4>RahGE1j<= zo(tp6bWM$UbN0;I*xzuhYr|}@+5mpxDczPmdYxod`LYM&GWLi(({p_b_Q-!Xd!&5X zqo#~KQXTTFy)jSh@RDI1T zbh_|AtJ9Z@Hvh{y-LAFkBh_iq;eS!5<3>8|_a|#TYec;a{PKG6|8Kn7bkFMg#qSPVaRk`x-hf81v1hFjY&Kr5gD>kpqN`UJo;L@dK|0_X zd`5^{wcj@zzgWzQ%`v~jnM@zEcG()G@{6wRw47}CGQUqj-?g4iT6Syd{k-%14(rf8 ze-X_{;1TiZ>ZF73@G4>-N$tMRjD5@a>i(>+2BuD*{yObi%vtBRv+-fzH8{H1bjyk~ z<}Ub{+x)lqK1%;RmUXrIz5KyOXZe7v)%tN@PyIM>c)yhT@e#*$@@>EtQ%5lhG_-qE zl~;c*W~4TZUzD%o>y&9OPBnS4JJ%><^pHOAKAL#u%YIExa#tOr*79;-q;XMI#@wAC zf>AynJmtgxC&xuL|3H7Q338;qy?hrv%>yhJf9N|r;Jrou$YK`kQj2J)Z+>icsIuCJ zAsb}zit3;vnrjrU7O(Ig;*}s%Bk{DL^Db&bF(P!_ExoAI1^Z4P>hqj{llt`ZO=DW} zY%CP?WLLFJjh^gsdNdljI1RZNt|#t}(NXIOa0Ge;+hy^t#@pB~?gJhaj^KAN<(a2P z?D5rHL3~ea<%n+wswf!Z_aMBcYSpUlU}++iCGivGdWiQz1`f z{#s?kk9*uYqQ&r}bEGZ*{!Z49I0H`kg6`Yp8F-wf$4K@&!XKnGSedyO%&)BsK#%>C z*w4{|za-|!`@0Zg*6k|mBexFg=UfW>_Y`y~YYyfL-R*`POAdk4WN{+2J3y?zpE5e* zX!F6u=EqZ3a{+n%r*Oh~aL&V6JDhWQv)aK|56zFtuaZv8FP24n>=l1`S6FK4{rnfJ z?!{rw5_y}fHSG#{cIOUHwY8ddh?m+cz+!ra&sdLs>=i$KJ)6tUw2uxfm5lex=TWBh zr}3tj@n2Pe&!KO@0xrzUGtSohDt)GSYHgkIg2o^}<*unvH_&llJ+cEWvv;t+<}3C0 zoB8=r<^(FxVSu^N{qP5#3~GGOH{CF*M z6Ubw`zHi~XtuLufY)M6Jl0W8X+Em-rQ`^kdoNs*`UG0NA0ou3NUh8W4(9c%-8Q^FA zQ0}etQ=MBW+npPVKWbl`g2yH`~mIhqMmGLLOXhwjDM0n%fVjBuf4SSVSnF7Z5$>( zM#X4yyd|0}dzs%=JeIpDrkXvK@4A}#6KLFly}exV#Qb8pm;F0Gc#wWG^PK%*ts$J_ zkR9{&)vn}3>6q^!-}X-Xd)+0AXR1xrQ5z4rcj6N2cwY@1@zqTxPr@nS7kuVRqc~6V zBz`USXU6_c{WTaH{-NXFU}u=uVH{XN=HgNA&-?r_eqM)q!}jMbq8;s**SGuOm)h1o zyj|d^chSh7tBHvxV#QY~tMf|PG3i3b=MCtz{IqC6dDe6(yP?VIL>rjbLl(U4w%Ag< zxZK%tOGog%p7$nmY6n`YJ;{K0CBFASGrsS%e#94jU&Oo=&+6E?@f>TP?2q`Xcx+WV zmi%uSb9^GK{TyPCN3^=XPD~PSV(;1Jth{lb|@$P z*yiy|`KCTR4|+2CvBArEIM>uFI!g~5@IrA|B3{F{5U-2h#+!vs7hn9c=ZRnvPk3^# z=7(%7EEqJ#MeYRSjUGm&<0Ba3o&$Y{$L?;w->Bves{FS9){wr3`GD7R2F&II)q$R`h4Iz!ZD}8^RyuU+sQ}UM4n-Ry8YE$Q1{G3aa8DHl8-GZiT zM=-wpIO|L22nMgqmt}Mgcn@}a`ZkT=gUo)i|8gGsBs@klroEm%wRSC7RcC?D`ichf zVVdvpV{-F*rsKMMx$waVzlWS_9OQKW=x9nCJZj7LAFKKXV_o@f%5%@u*)~oYC4B3F zZ#?ixc1F4@FwD^mJ;?nTVH`aPyF(wsVFbI~wMMiKV-+V0CKrAksp|~B>wJ>Y!`s1L z=%F)3;O=C_(<$$HWpu(eDF(^XDHffS51r;frvh}MjR}%Ni!EdmbvBFsLOsTgHrA}j z)@f{~`ihh2-(ZrQlGlMc`fWGi5H5JRPcE=%@c=w7w|^ zeQjiM`Od#|}e>Ddz?{{4cFXp6vU(^96KSV@~1e*EQSZo0Jaoe#GQ9@27b(Z+G?t z+nce28_B~4+y7Eo{awyJB;wn}>{B1>_NkBAO`o*i#CJX8?!utHhyT@6AKlCqNgjKA zo4PmN;{HsYY`)4WmJ2j*^#5AcpY7Ss{J+-L>i@xDgW$Q#c zJ;RtQ%u@#a7JuRW!9d5bwr}(1$ccE_B3oZ458}D_t?v`OEekrQyp4iObw=1rAbiEI z;jxYz?}l})Ft3De)WB)yi4~Kw=jiNLxI1FHoql!Aak?}(?x*g4l#n0xrbn{d%tQ4G zZpE=}mrY`Sq$;G^=55+?=M+rAKKbtcK`-o zLOeEDxx(EmA7n89=dsC{@hhXNjm~G?$ryOX0c_UE*geWFev0=8p_61(G{rs^-W#pc zbMK$V>vXSvVX=FzQM$nV!5_Ql-goh2&sN_$_gtei`z!lTbI-k3@no-eaguwkQF<}y zG48qdojgyVyw* z)c=}j-P>BCX;;78-4T{Y7T?3We3j7;KWjDw`_&!Nxl8C*uj5`=zk6U z>%OmO(g=5Ub4esP9m3Chx$ZF{shZ)36YHl&4{ThNh|;c#^Fnxv=y; zNB3f=L)zjW#wOC0e)*9O$Ge0wInIVvz$d})w*EwR$Nh(J_AH#OfB7=6^kw9SRVRD5 zMJMZIf??ptv~w0R=KD-MY<90F-$SgDwSP~XTqqwnYlW@FX^r7q%o9yfA3kP2TpLa3 zU!d=Mfg{`vdZyL^=<{C%(`qO8S$)smrIA;BeXcJfyB2w2d`|@|oNjTWx1t`*_a0RgOZ #4S^hb{BWg^nr-a^O6F`*yEYR1oX;E65P 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点 ▶ 翻页末首候选变化、点 ◀ 回; + * ③ UTF-8 删字段:上屏"你好"后点退格 → 字段="你"(按 codepoint 回退,不出现乱码); + * ④ 中/英切换:拼音点 [拼/英] → ASCII;ASCII 点顶条「中」热区 → 拼音; + * ⑤ 空格/回车上屏首候选:type "ni" + 空格 → 字段="你"。 + * + * 编译(宿主 gcc,同 test_ime_fix): + * gcc -Wall -Wextra -o test_pinyin test_pinyin.c test_host_stub.c \ + * meow_ui_gfx.c meow_ui_sys.c meow_ui_theme.c meow_ui_vol.c meow_ui_log.c \ + * meow_ui_widget.c meow_ui_input.c meow_ui_activity.c meow_ui_dialog.c meow_ui_ime.c \ + * meow_pinyin.c meow_ui_draw.c meow_ui_view.c meow_ui_img.c meow_ui_media.c \ + * meow_notify_ipc.c stb_image.c -I. -I../meow_launcherd -DMEOW_UI_HOST_TEST -pthread -lm + */ +#include "meow_ui.h" +#include "meow_ui_internal.h" +#include "meow_pinyin.h" +#include +#include +#include +#include + +/* 拼音键位(build_kb PINYIN:行 y=504/552/600/648,GCOL=48,行左缘 x=2;键 44×36): + * row1 y=504 "qwertyuiop";row2 y=552 "asdfghjkl"+[拼/英]@col9; + * row3 y=600 "zxcvbnm"+[←退格]@col7;row4 y=648 [?123]+[空格]+[OK]。 */ +#define KEY_XY(col, y) (((2 + (col) * 48) + 22), ((y) + 18)) +static void t(char ch) { + /* 按字符找其键中心坐标(行/列换算) */ + int row = 0, col = 0; + const char *rows[3] = { "qwertyuiop", "asdfghjkl", "zxcvbnm" }; + for (int r = 0; r < 3; r++) { + const char *p = strchr(rows[r], ch); + if (p) { row = r; col = (int)(p - rows[r]); break; } + } + int x = 2 + col * 48 + 22; + int y = 504 + row * 48 + 18; + meow_ime_handle_tap(x, y); +} + +static char g_echo[128] = ""; +static void ime_cb(const char *t, void *ctx) { (void)ctx; snprintf(g_echo, sizeof g_echo, "%s", t); } +static void tap(int x, int y) { meow_ime_handle_tap(x, y); } + +static meow_ime_ctx g_c; +static void open_py(void) { + memset(&g_c, 0, sizeof g_c); + g_c.mode = MEOW_IME_PINYIN; g_c.maxlen = 64; g_c.on_change = ime_cb; + memset(g_echo, 0, sizeof g_echo); + meow_ui_text_input_async(&g_c); + assert(meow_ime_active() == 1); +} +static void close_py(void) { meow_ime_close(0); assert(meow_ime_active() == 0); } + +int main(void) { + setenv("MEOW_UI_DUMP", "/tmp/pinyin.ppm", 1); + meow_ui_opts o = { 480, 720 }; + assert(meow_ui_init(&o) == 0); + + /* ① 拼音组合 + 点上屏 */ + open_py(); + t('n'); t('i'); t('h'); t('a'); t('o'); + assert(strcmp(meow_ime_composition(), "nihao") == 0); + assert(meow_ime_text()[0] == 0); /* 组合不上屏 */ + assert(g_echo[0] == 0); /* 未上屏不回调 */ + /* 点候选 0(你好,x=44 起;宿主 stub width=strlen*6) */ + tap(60, 480); + assert(strcmp(meow_ime_text(), "你好") == 0); + assert(strcmp(g_echo, "你好") == 0); + assert(meow_ime_composition()[0] == 0); /* 组合已清 */ + close_py(); + printf("PASS pinyin: nihao -> 你好 (compose+commit+on_change)\n"); fflush(stdout); + + /* ② 候选翻页(shi 候选 >6) */ + open_py(); + t('s'); t('h'); t('i'); + char all[32][64]; + int n = py_predict("shi", all, 32); + assert(n > 6); + assert(strcmp(all[0], "是") == 0); + /* 点 ▶(下一页)→ 页内首候选应为 all[6](页 0 首候选是 all[0]) */ + tap(457, 480); /* ▶:页 0 → 页 1 */ + tap(60, 480); /* 点页 1 候选 0(x=44 起) */ + assert(strcmp(meow_ime_text(), all[6]) == 0); + close_py(); + printf("PASS pagination: shi page_next then commit page1[0] == all[6]\n"); fflush(stdout); + + /* ③ UTF-8 删字段:上屏"你好"后点退格 → "你" */ + open_py(); + t('n'); t('i'); t('h'); t('a'); t('o'); + tap(60, 480); /* 上屏"你好" */ + assert(strcmp(meow_ime_text(), "你好") == 0); + tap(410, 618); /* ←退格(row3 col7 宽键中心) */ + assert(strcmp(meow_ime_text(), "你") == 0); + assert(strcmp(g_echo, "你") == 0); + close_py(); + printf("PASS utf8 field backspace: 你好 -> 你\n"); fflush(stdout); + + /* ④ 中/英切换 */ + open_py(); + tap(456, 570); /* [拼/英] row2 col9 → ASCII */ + assert(meow_ime_active() == 1); + /* 顶条「中」热区(430..474, KB_TOP..KB_TOP+42)→ 切回拼音;组合已被丢弃 */ + tap(452, 438); + assert(meow_ime_active() == 1); + t('n'); t('i'); + assert(strcmp(meow_ime_composition(), "ni") == 0); + tap(456, 570); /* 又回 ASCII */ + assert(strcmp(meow_ime_composition(), "") == 0); /* 组合态已丢弃 */ + close_py(); + printf("PASS zh/en switch (pinyin->ascii->pinyin, combo dropped)\n"); fflush(stdout); + + /* ⑤ 空格上屏首候选(ni → 你) */ + open_py(); + t('n'); t('i'); + tap(194, 666); /* 空格 */ + assert(strcmp(meow_ime_text(), "你") == 0); + assert(strcmp(g_echo, "你") == 0); + close_py(); + printf("PASS space commits first candidate: ni -> 你\n"); fflush(stdout); + + printf("ALL PASS\n"); + meow_ui_shutdown(); + return 0; +}