From b8c36bd33cff2f24494f5d6f5169a1ae12ba26a3 Mon Sep 17 00:00:00 2001 From: MeowOS Date: Mon, 31 Aug 2026 00:19:40 +0800 Subject: [PATCH] =?UTF-8?q?fix(sdk/hello):=20M2.71=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E7=9C=9F=E6=9C=BAbug=E6=89=B9=E6=AC=A1=20=E2=80=94=20=E5=9C=86?= =?UTF-8?q?=E5=BD=A2=E8=BF=9B=E5=BA=A6=E8=84=8F=E5=8C=BA+=E6=95=B4?= =?UTF-8?q?=E7=8E=AF=E4=BF=AE=E5=A4=8D/Slider=E6=8B=96=E5=8A=A8/Dialog?= =?UTF-8?q?=C2=B7Sheet=E8=83=8C=E6=99=AF=E5=BF=AB=E7=85=A7scrim=E4=B8=8D?= =?UTF-8?q?=E5=8F=A0=E9=BB=91/Disabled=E5=9C=86=E8=A7=92=CE=B1/=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E9=87=8D=E7=BD=AE=E6=81=AF=E5=B1=8F/=E6=BB=91?= =?UTF-8?q?=E5=8A=A8=E8=B7=9F=E6=89=8B/IME=E6=AE=8B=E5=BD=B1=C2=B7?= =?UTF-8?q?=E9=94=AE=E4=BD=8D=C2=B7=E4=B8=BB=E9=A2=98=E9=85=8D=E8=89=B2/Li?= =?UTF-8?q?st=E9=80=89=E4=B8=AD=E7=82=B9=E5=87=BB=20(agent-162)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- patch_v2/hello_app/hello | Bin 255564 -> 260572 bytes patch_v2/hello_app/hello.c | 115 ++++++++++--- patch_v2/meow_launcherd/app_launcher.c | 12 ++ .../meow_launcherd/meow_launcher_internal.h | 2 + patch_v2/meow_launcherd/meow_launcherd | Bin 510732 -> 511868 bytes patch_v2/sdk/meow_ui.h | 12 ++ patch_v2/sdk/meow_ui_dialog.c | 105 +++++++++--- patch_v2/sdk/meow_ui_gfx.c | 26 ++- patch_v2/sdk/meow_ui_ime.c | 65 +++++-- patch_v2/sdk/meow_ui_input.c | 45 ++++- patch_v2/sdk/meow_ui_internal.h | 13 ++ patch_v2/sdk/meow_ui_widget.c | 71 ++++++-- patch_v2/sdk/test_meow_ui_widgets.c | 9 +- patch_v2/sdk/test_sdk_fixes.c | 158 ++++++++++++++++++ 14 files changed, 554 insertions(+), 79 deletions(-) create mode 100644 patch_v2/sdk/test_sdk_fixes.c diff --git a/patch_v2/hello_app/hello b/patch_v2/hello_app/hello index 074f1412ae7db6aa28dde82924b9599f1c5af805..4b98a749dadb9a48379e63a97c7d760abcd2e89f 100755 GIT binary patch delta 78986 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 z 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 DMtE%L diff --git a/patch_v2/hello_app/hello.c b/patch_v2/hello_app/hello.c index 86489e2..388a014 100644 --- a/patch_v2/hello_app/hello.c +++ b/patch_v2/hello_app/hello.c @@ -79,6 +79,14 @@ static int g_demo_ct = 0; /* 内容视口顶(屏幕 y,= statusbar+5 static int g_demo_cb = 0; /* 内容视口底(屏幕 y,=608,NavBar 上方留白) */ static int g_demo_content_h = 0; /* 内容总高(base 空间;决定 max_scroll) */ +/* M2.71-bug2/6:拖动过程(跟手)状态。on_touch_down 锁一种拖拽,on_touch_move 期间实时更新。 */ +static int g_drag_slider = 0; /* 手指按在 slider:拖拽改值(按即定位) */ +static int g_drag_list = 0; /* 手指按在 LazyColumn:拖拽滚列表 */ +static int g_drag_page = 0; /* 手指按在页内容(非 slider/list):拖拽滚页面 */ +static int g_drag_list_last_y = 0; /* 列表拖拽上一帧 y(求增量) */ +static int g_drag_page_last_y = 0; /* 页面拖拽上一帧 y */ +static int g_drag_page_delta = 0; /* 页面拖拽累计位移(节流重建,≥8px 才重建一次) */ + /* SDK 控件不透明:App 自记几何,用于局部 flush / 命中 / scroll 重建。 */ typedef struct { int x, y, w, h; } rect_t; #define RX(x,y,w,h) ((rect_t){ (x), (y), (w), (h) }) @@ -86,8 +94,8 @@ typedef struct { int x, y, w, h; } rect_t; /* demo 各控件跨重建保留的状态(app 持有;重建后按此恢复) */ static struct { int sw_on; int slider; char tf[32]; - int ck; int r1, r2; int btn[5]; int card; int tab; int list; int prog; -} g_ds = { .sw_on = 1, .slider = 40, .r1 = 1, .tab = 1, .list = 0, .prog = 0 }; + int ck; int r1, r2; int btn[5]; int card; int tab; int list; int list_sel; int prog; +} g_ds = { .sw_on = 1, .slider = 40, .r1 = 1, .tab = 1, .list = 0, .list_sel = 0, .prog = 0 }; /* demo 内容布局常量(base 空间) */ #define DCL_X 16 @@ -136,6 +144,7 @@ static meow_sheet *g_sheet; static void redraw(void); static void demo_rebuild_to(int scroll); static void demo_paint(void); +static void demo_slider_drag(int x); /* M2.51:统一日志改用 SDK meow_log()。 */ static void on_sigterm(int s) { (void)s; meow_ui_request_exit(); } @@ -280,7 +289,11 @@ static void demo_build_at(int scroll) /* ---- ProgressBar(线性 + 圆形,on_tick 动画) ---- */ d_title(DCL_X, SY(yb), "PROGRESS (animated)"); yb += 26; r_prl = RX(DCL_X, SY(yb), DFW, 8); g_dprl = meow_progress_create(r_prl.x, r_prl.y, r_prl.w, r_prl.h, g_ds.prog); SLOT(g_dprl, r_prl.x, r_prl.y, r_prl.w, r_prl.h); yb += 16; - r_prc = RX(DCL_X + 400, SY(yb), 34, 34); g_dprc = meow_progress_circular_create(r_prc.x + 17, r_prc.y + 17, 17, g_ds.prog); SLOT(g_dprc, r_prc.x, r_prc.y, r_prc.w, r_prc.h); yb += 48; + /* 圆形进度:r_prc = 整圆像素外接框(中心 ± (r+margin),r=17 → 40×40),使 d_redraw 的 + * flush 区与控件 bbox(=真实绘制范围)一致,不漏刷外圈(bgg M2.71-bug1)。中心仍取原视觉点。 */ + r_prc = RX(DCL_X + 400 + 17 - 20, SY(yb) + 17 - 20, 40, 40); + g_dprc = meow_progress_circular_create(r_prc.x + 20, r_prc.y + 20, 17, g_ds.prog); + SLOT(g_dprc, r_prc.x, r_prc.y, r_prc.w, r_prc.h); yb += 48; /* ---- Container(Card / Badge / TabBar) ---- */ d_title(DCL_X, SY(yb), "CONTAINER"); yb += 26; @@ -311,6 +324,7 @@ static void demo_build_at(int scroll) r_list = RX(DCL_X, SY(yb), DFW, 150); g_dlc = meow_lazycolumn_create(r_list.x, r_list.y, r_list.w, r_list.h, 40, 100, demo_list_src, NULL); SLOT(g_dlc, r_list.x, r_list.y, r_list.w, r_list.h); meow_list_set_scroll(g_dlc, g_ds.list); + meow_list_set_selected(g_dlc, g_ds.list_sel); /* M2.71-bug8:跨重建保留选中行 */ yb += 158; g_demo_content_h = yb; @@ -383,20 +397,7 @@ static int demo_content_tap(int x, int y) if (meow_widget_hit(g_dr2, x, y)) { meow_widget_set_selected(g_dr2, 1); meow_widget_set_selected(g_dr1, 0); g_ds.r2 = 1; g_ds.r1 = 0; d_redraw(g_dr1, r_dr1); d_redraw(g_dr2, r_dr2); return 1; } if (meow_widget_hit(g_dcb, x, y)) { d_toggle_sel(g_dcb, r_dcb); g_ds.ck = meow_widget_selected(g_dcb); return 1; } if (meow_widget_hit(g_dsw, x, y)) { g_ds.sw_on = !meow_switch_get(g_dsw); meow_switch_set(g_dsw, g_ds.sw_on); d_redraw(g_dsw, r_dsw); return 1; } - if (meow_widget_hit(g_dslider, x, y)) { - int frac = x - r_slider.x; if (frac < 0) frac = 0; if (frac > r_slider.w) frac = r_slider.w; - g_ds.slider = frac * 100 / r_slider.w; - meow_slider_set(g_dslider, g_ds.slider); - d_redraw(g_dslider, r_slider); - { - const meow_theme *th = meow_theme_get(); - char buf[28]; snprintf(buf, sizeof buf, "slider = %d", g_ds.slider); - meow_ui_fill_rect(r_slider_txt.x, r_slider_txt.y, r_slider_txt.w, r_slider_txt.h, th->bg); - meow_ui_text(r_slider_txt.x, r_slider_txt.y, buf, 20, th->dim); - meow_ui_flush_region(r_slider_txt.x, r_slider_txt.y, r_slider_txt.w, r_slider_txt.h); - } - return 1; - } + if (meow_widget_hit(g_dslider, x, y)) { demo_slider_drag(x); return 1; } if (meow_widget_hit(g_dtf, x, y)) { meow_textfield_activate(g_dtf); /* 阻塞 IME,返回后刷新 + 状态回写 */ strncpy(g_ds.tf, meow_textfield_text(g_dtf), sizeof g_ds.tf - 1); @@ -411,7 +412,12 @@ static int demo_content_tap(int x, int y) } if (meow_widget_hit(g_dbtn_dlg, x, y)) { meow_dialog_show(g_dlg); meow_log(MEOW_LOG_INFO, "dialog result=%d", meow_dialog_result(g_dlg)); d_redraw(g_dbtn_dlg, r_dlg); return 1; } if (meow_widget_hit(g_dbtn_sheet, x, y)) { int r = meow_sheet_open(g_sheet); meow_log(MEOW_LOG_INFO, "sheet result=%d", r); d_redraw(g_dbtn_sheet, r_sheet); return 1; } - if (meow_widget_hit(g_dlc, x, y)) { g_demo_focus = 1; return 1; } + if (meow_widget_hit(g_dlc, x, y)) { + g_demo_focus = 1; + int li = meow_list_tap_at(g_dlc, x, y); /* M2.71-bug8:命中行→置选中并高亮 */ + if (li >= 0) { g_ds.list_sel = li; d_redraw(g_dlc, r_list); } + return 1; + } return 0; } @@ -450,14 +456,64 @@ static void demo_tick(uint64_t now) meow_progress_set(g_dprc, g_demo_prog); d_redraw(g_dprc, r_prc); } -/* demo 页 on_swipe:LEFT=回 home;UP/DOWN=列表聚焦滚列表,否则页滚动 */ +/* 按触碰 X 落 slider 值并局部刷(按下即定位 + 拖动实时,M2.71-bug2) */ +static void demo_slider_drag(int x) +{ + int frac = x - r_slider.x; if (frac < 0) frac = 0; if (frac > r_slider.w) frac = r_slider.w; + g_ds.slider = frac * 100 / r_slider.w; + meow_slider_set(g_dslider, g_ds.slider); + d_redraw(g_dslider, r_slider); + const meow_theme *th = meow_theme_get(); + char buf[28]; snprintf(buf, sizeof buf, "slider = %d", g_ds.slider); + meow_ui_fill_rect(r_slider_txt.x, r_slider_txt.y, r_slider_txt.w, r_slider_txt.h, th->bg); + meow_ui_text(r_slider_txt.x, r_slider_txt.y, buf, 20, th->dim); + meow_ui_flush_region(r_slider_txt.x, r_slider_txt.y, r_slider_txt.w, r_slider_txt.h); +} + +/* demo 页 on_touch_down:锁一种拖拽(slider > list > 页内容)。非 demo 态跳过。 */ +static void demo_touch_down(int x, int y) +{ + g_drag_slider = 0; g_drag_list = 0; g_drag_page = 0; g_drag_page_delta = 0; + if (!g_demo) return; + if (meow_widget_hit(g_dslider, x, y)) { g_drag_slider = 1; demo_slider_drag(x); return; } + /* 命中列表,或「已聚焦列表」时(g_demo_focus=1)→ 拖动滚列表(与原 on_swipe 的焦点语义一致) */ + if (g_dlc && (meow_widget_hit(g_dlc, x, y) || g_demo_focus)) { + g_demo_focus = 1; g_drag_list = 1; g_drag_list_last_y = y; return; + } + /* 页内容视口内非 slider/list:页面拖拽跟手(按钮亦视为可滚动起点,阈值由 SDK tap/swipe 分流) */ + if (y >= g_demo_ct && y < g_demo_cb && x >= 0 && x < meow_ui_width()) { + g_drag_page = 1; g_drag_page_last_y = y; + } +} + +/* demo 页 on_touch_move:拖动过程实时更新(slider 值 / 列表滚动 / 页面滚动节流重建)。 */ +static void demo_touch_move(int x, int y) +{ + if (!g_demo) return; + if (g_drag_slider) { demo_slider_drag(x); return; } + if (g_drag_list) { + int dy = y - g_drag_list_last_y; g_drag_list_last_y = y; + if (dy) { meow_list_scroll_by(g_dlc, -dy); g_ds.list = meow_list_scroll(g_dlc); d_redraw(g_dlc, r_list); } + return; + } + if (g_drag_page) { + int dy = y - g_drag_page_last_y; g_drag_page_last_y = y; + g_drag_page_delta += -dy; /* 手指上移(y 减) → scroll 增(显示更低内容),与 on_swipe 一致 */ + if (g_drag_page_delta >= 8 || g_drag_page_delta <= -8) { + demo_rebuild_to(g_demo_scroll + g_drag_page_delta); + g_drag_page_delta = 0; + } + } +} + +/* demo 页 on_swipe:LEFT=回 home;UP/DOWN=列表聚焦滚列表,否则页滚动。 + * M2.71-bug6:拖动过程已在 on_touch_move 实时跟手滚过,抬手不再重复滚(否则叠加一次全距跳变)。 */ static void demo_swipe(int dir, int dist) { if (dir == MEOW_SWIPE_LEFT) { g_demo = 0; meow_ui_activity_pop(); redraw(); return; } - int del = 0; - if (dir == MEOW_SWIPE_UP) del = dist; /* 手指上移 → 偏移增大 */ - else if (dir == MEOW_SWIPE_DOWN) del = -dist; - if (del == 0) return; + if (dir != MEOW_SWIPE_UP && dir != MEOW_SWIPE_DOWN) return; + if (g_drag_page || g_drag_list) return; /* 本次手势已实时跟手滚动过 */ + int del = (dir == MEOW_SWIPE_UP) ? dist : -dist; /* 手指上移 → 偏移增大 */ if (g_demo_focus && g_dlc) { meow_list_scroll_by(g_dlc, del); g_ds.list = meow_list_scroll(g_dlc); @@ -558,6 +614,16 @@ static void on_swipe_progress(int x_start, int dx) meow_ui_swipe_hint(x_start + dx); } +/* M2.71-bug2/6:拖动过程回调(只对 demo 页有意义;home/全屏不拖拽)。 */ +static void on_touch_down(int x, int y) +{ + if (g_demo) demo_touch_down(x, y); +} +static void on_touch_move(int x, int y) +{ + if (g_demo) demo_touch_move(x, y); +} + static void on_swipe(int dir, int dx, int dy) { (void)dy; @@ -608,7 +674,8 @@ int main(void) demo_init(); redraw(); - meow_ui_events ev = { on_key, on_tap, on_swipe, on_tick, on_swipe_progress }; + meow_ui_events ev = { on_key, on_tap, on_swipe, on_tick, on_swipe_progress, + on_touch_down, on_touch_move }; meow_ui_run(&ev); meow_widget_free(g_demo_btn); diff --git a/patch_v2/meow_launcherd/app_launcher.c b/patch_v2/meow_launcherd/app_launcher.c index 44bae0a..719f25e 100644 --- a/patch_v2/meow_launcherd/app_launcher.c +++ b/patch_v2/meow_launcherd/app_launcher.c @@ -909,6 +909,18 @@ int launch_app(struct app *a) } } } + /* M2.71-bug5:App 前台触摸/交互(launcher 看不到应用内触摸,SDK 写标记)→ 重置自动息屏 + * 计时;若已自动息屏,按 key-wake 同款路径唤醒(面板上电 + 落 buffer0)。 */ + if (access(MEOW_APP_ACTIVITY_FILE, F_OK) == 0) { + unlink(MEOW_APP_ACTIVITY_FILE); + app_last_input = now_ms(); + if (meow_auto_slept) { + logmsg("auto screen-off (app): touch wake"); + meow_panel_on(); + meow_auto_slept = 0; + fb_pan_buf0_force(); + } + } if (vold && !app_prev_vold) { unsigned long long nw = now_ms(); if (app_seq_hits == 0) app_vol0 = vol_snapshot(); diff --git a/patch_v2/meow_launcherd/meow_launcher_internal.h b/patch_v2/meow_launcherd/meow_launcher_internal.h index d724470..69089e3 100644 --- a/patch_v2/meow_launcherd/meow_launcher_internal.h +++ b/patch_v2/meow_launcherd/meow_launcher_internal.h @@ -234,6 +234,8 @@ extern "C" { #define MEOW_IPC_CONNS 10 /* 同时接入连接上限(backlog 4 + 余量) */ #define MEOW_IPC_BACKLOG 4 #define MEOW_SBAR_MODE_FILE "/tmp/meowapp_sbar" +/* M2.71-bug5:App 前台触摸/交互 → SDK 写该标记;launcher 前台 app 循环消费(unlink + 重置息屏计时) */ +#define MEOW_APP_ACTIVITY_FILE "/tmp/meow_app_activity" /* ---- 共享结构体/枚举(来自 meow_launcherd.c,拆分后统一放置)---- */ struct kd_state { int raw, stable, down; int longpressed; unsigned long long since, down_at; }; diff --git a/patch_v2/meow_launcherd/meow_launcherd b/patch_v2/meow_launcherd/meow_launcherd index 4a5ee3147510143411dc7e8d7db14cb231f1c015..3a7b65f1fdf57d8cd81bcf3da91aeaf4ddb4d4b9 100755 GIT binary patch delta 155221 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 DXueEI delta 154270 zcmce<4_I8)wfDdGnE?huaFSp`5XnGh03%6A#E20iiKsNCiWOUG(Gp87wbW9}?M=O@ zprWOgCMeNOy=aJ{MI{L;Dpia`sil@GT573HE!wn2MT?eJ+H&RhS?8RANwn{CpXc{J z@95#X_IK_7d+oLN+2_n;=B^b@x36eUimQLgqjHr}J%hKTZ>ihL~k)iqHpUqg7xw*1lRjN;Uk;qoQ4X448sGW!7h3LI=1cf4NHjSX-G>qg76g zC0DfSN>r-rmN);~YQO%GoAle!k2LxYgdX|anzmINrpmOMD(9-;s^qHTs^%j7R4vzb zt{q(UTn$`}Tum*9DzYEBAulTge&(W&%EUjjjYxM`NxMZz* z;9o(`Khe>(Kj>A1`@AY|zgP8u;|IKI=n1bHe$uN3`rw}Osv2}dT#4v{T&mlvwmNSzc=`Mg*44|-KOIP@5a$*>3P zd+d>|w|ypcL)#--wLQ-DB-hhi&vN~g>*riAa{ZF)*Id8l`aRblxc=;R=_{w5xFdui zWJam@j40KPELSDr39ia?iiEUmIzz5x}=cBw^l zRBFp1sNcJ>VzQuS!}?!EYxU)p)8EO|p_Xm$WG?^x+OUaYL+&U3Z(1d_?0x5ysPi(l zx~}E*zpQMTd8b5gZu!)^C+pkoaND~(^vx~H|B|U6ZrS{o%;jCNAI&F7KG`kT{pB>z z)5p2h`(_lDK?a%n?v~ie3v^4%w)dADpG(AiF3YWe$E(#hTdteT)R(l}&)?FPmxx=^ zlJ?$`W#jwfRPkV3xUT8}ax4n!mc13JKFA*sJfr0s@2y;Y;8R*Pgg#oUV>9@v)@n)1 zq4$;?f2`(TR3qbKHJ_#zKhv^^svn!?33B`JV>Pvm-)HUS9-C%_GzBf+dp}eEqU9m} zp4PJH9eVuzZ2eW~>!>E`v7qI`zh0p4Y}xzQOwT=Q?dG<;`Pa4jP|NbEOnrLGX8vB> z@)iEBXt`x-NmL=-S=4g>)SgWR8Cs2>%=BUEoQc8wklY$6F_fZJJ5y^TZ8?r!>p(sQ zZe){IKjpfzK&zPxT5kGV>iV)ct*)T@zlhQ5BIf=mbGwpBd;{{Qn9yw$c34{~CBahV z$(Cx%Fzcdq$|IA1TVp*En4aEP*ZG4e)z=iIM!B+)+qklKMydQ=QEC881k1tf+oDv} z?NO=;oZ+hB5+fX=((iD|Bq*Y?HBU#WNv^DZ^887ZDm_B}e`a2q)2%JXrGqty-)&A18G zF^MH&{qkt#Ct*Q4S1?+YuZ&i0TssJl5Z?YGy~cIq#m6tt)&KO?i5C@bDqdB*t2kwG z$l{E}5sMQR2P}?SoU}M-an9nHPvVlfu_P4>=lTq`@gdh|v4MkNsMU8& zT7h0thnuydo=V?_KM(k|DrDZ_k8Rz%5#|5o1g$=eNq^Zb|2u9Gdz@W?okfV{P(B~0 z6Ynirnd5xSvNQF<&>6=aoxll+Ua6bi&ij&G-`I!U;OCv7IB|&`GS{7{mu$vs+ciEe zem;wLh_VUG``kLG;o+XPb9evT?dDqH)p>52Ic zjV)R2q&?Sc+eBKiS;^{2^O6L`d?SKl$q_*@>WHA&cSKN3eLfgs39)M*?qw(BG^l_| z$mbho^I4So3%Wo)pR{Yd`82e$aJ`O6gg@(XSryE^ul^r;X~Ahu{9Sggm;UDxC-@Vx z5y{y%IvM_L!_hi_xEwIW%|-@7VmUFL2nwS3Mow_xP4r(^T-`K%obU5pLOCtQID(^V@NP0?OycU9=R|3i1&?&_SG6t~bF z_=^^|Y`!$PCGf8I_7`Kkj~8s#!#=xf9`|q6#mV`BN=tp*RqyhHUvu=8dty{!dyMJ; zlfdnuS@#va#5`E37uM}~bfK!!ajNTZj2eCI=&R>aGaHo1itxhRRG0s$hnzaOLOxps5aa@D*Xqq@Leu7W8%=il&< zT(w+7gp>Y`cjf9N+y@50Mz9;*1XnI{Gg$UFUyLe8IP$m04}M9%q3d?f63gdPktlLF zEV}U3(JZmz>zYaai0wf?TQ#(!+A ztMtb86+`g9@Tq>TL9Q;sMW9@VMaOl-<$IBPhaSJ`D*d6Z>*TI{H%@qLn^yhEGvFxL zd^vvdc-;9HwF-i&QmYcs_a&`%fP-KMc(_ihVQ>OG0*>z0%D+^pp-yh0z?A#7Dg#Hs z?O?$JTD5{l!0x50PN@gA8ieTXV$Ti^fRo^1(7Q~jaWDx?>}J~nwmzg)6A{t52X!SW}$*$4akwCYNt{EmaP7-IL+T1|k# zLln528b8B63@jZWA=vs83Iuz>-Jt(x^cdIx9swsnm8?|t^Yj?l1?GbdLsS^7{RIVs z_26!>3GA#x=tk%R2f$%)5*!EPUm(L1*xPZNo(=Ych2RWW2F8zSRShPA^V?4Oj?{fED00xE=IO zW3^2P!D(6wcKwU40^4WE2pk0C1GM-IExKx6~-u08WC1 z8!hF}z?d(wR6aQTc}rD*`Q@Ys4})#OUuvm-F#9q~9nPrZc=QXjC{wB23QHw|^8!n0NeqN3RaO%7DECifhk|1LEsoz1kQjJVA7S?4wwrz z*C8|`bbxtRQ8Ta<90hB@NwD_owCp6}fmz^KEfoVNud!4;Sn*$$+6^8CJHgT&7$fNa zj-@6*RZoRhQ6Vq~>;#Lz0kEzDVGLnASbGB*fvpX6F<5ycMgsaQRB$a}Fdy^>JgN%p02{%abdTx*2ZJ6p z3ifAs)D)PX=~4b1Y$1!IcQE@Tk17GPR(Vt{*a7YagW049lj_!Z)EL4P=v~J=J;kGP zK$S~Eu;)~d+5!4DcvLf30Coru_JKL4dDLOB4V(gxfd2KQ&!Yig3YZ6$gC*cJSPORL zdsI7ES9GRF4IqqxN5C0y8cf zJz!!kHgJwdWrMw73FteQo&@{Ard;NK{CQ*m;os^}!{7io1=f6$3{IsBizyh)1&hHd zuoA2Rw}ackCa?i)2b;kjuoWBx+rh(N#iu+R z7;L@Fqh{(5Mi3J7aG76V?7?cV2rsJ?wBW}cRRDH_rC{I*kE#X- z!Fn+FNqPwE>!(Fv)*&hcHh>dg{4;d*8RYjYJp40*eMiU#YzC{q=_7U21YyUYF+%VN*b4^Vq(xxITl5TA@wSH;VIlqz8M!DR3N&KZ_oC590$9-^cjCk-87*5`<#QtJ=Wr9-ak( zt>9s>$?H|qU`3QyB^A)+U@qw8(4h>hj^!DW;0Zhe0*g{e4~~Fiph_h@*bXLc#v_6` zVEYQ5FM)N_2-OHh0k3KV`_jCs9n1^zED1ae9tQJ6JeUIOLH`!I6bynrU>>+TlL~%Hm-csQ39fmvrzfkFz%_o@PL7%T$|&hn}T@W|N|4Ca1<27r}YX#ltzj6X;G z4C&9QW14)@tMVZN7kO2c;O8kAECIW~Zg2o>yOaumzRSEyol61Rs5sdAMV`um!pkQ$DS|06z z4Ru~M0T$F#a1sAs=T#|S2bc%eTu%kSX|M*&y@8d3!5V{bGz)`Rq%-%%?VBxJ)1T1NxBH+kvR0M3eor-KFp7E+Iu>OZs0Bi@Vgulb9 z>cIxEO?a>e>;s3ukv1vZJt)O~}o&k%%0dN>R0_Gm1XU-?Tr@blwPCi3Lz=EI95YYEi zh6Kz5`@!Klgd+&~gCx9w0>Bio_-BkQnDaap0XxC%;EtbD0dNBB1zU%_Y7}hz1+zl* zFW@IiDCk8R1onU>VEHh!3Oo$fOZX*v1gvX%nVKLZ{gRBp8gL4n9Kl*IB!gd35is}) zV+{6zwP5+LnI&M#C_@5P{{|}ux4+7ee44TU9n+bHO@cXu8^@TQVEpT(13SUqPc#3w zAE5^z{C}heE~0C|M6ejl0(bujn*ayEGO+c}Of#@?0-FGN45#|RA@B&;@vc|-O6l^y zkRHsMqzAxJuofJAkCubg?_-pu%zyu1u}X;mPJp#jWN{fr4uePj$xwjJGYsWtXvqICbTqL2q-d2xIDb{NDgrCOiaLZYgjz5q zJ6bh@Wnc$53=V)vt9jT3wt`b&4;cShJmwmnae)P3K3ENwfkR+5I1bi>S!;Q62kr*@ zz}%c@br{?M)=eXHA|#g4l65>;1Gj^PV8JQTssx=!^YbZq9CA{c*mv{ILlurOL>gEQww zt5PuK6SN4d*cz>NgB_owC1459F-O7N^LdsD7K8rJW>oF>@6YK^Dz(Fv00~H1Pz)8@5BTs27$QMik^KPQT zUFpE;WYmHZn%w4sZuJ{yl0g5pSmE;1JjcmVKWw2W!De(A&gp*v9Jj11fG# zx>2uK?thu>qvBJTkW{#b(>TN&u57dIMxAN(zie*4QK#!-v+qWIvd%HT5y&%9H=&&V zm05F>UUhstJ2t=M!6%C=Ut@;mYc~M}X$upwqzZ|MK8pqA1e}7y`-GPw0`NKJ!td%OXO5-d{6x)1R7I$!;F4^{;W)?O z)QwGy%Sr8c$4VucpM6(nMztXpn!izrwp4~7=Rt%|-h z!C$;b-(od$4?r*l-FVP^t5K&$7a(_p%pIgju11c}q~$bOK2mx;TzQsx6}_K(3p|{w zFHFcW+kT*znHO)=QT|a>O((PIk))*wMf0jyFTQ`0jo=aU`ty2)>HnVgCg;G7tYN1h z#qg1m3gHIUn%BOk)162)5T)!8IsCOhLH;(t`A#u$H|unN7jgqT#zN7TBovs*yL6%{ zxmkO&Sm3xpWSy3Tg$ed>NExgvY8;;1JK?uG)!cQfj*3o-!e^Xr?z&m0rspH~oX+wt z$%_+`iuUMc`qs{_3|-1b^BVC|cObWIWDS#erH(;LF}vXpZ#2o@*BN#Fl2^Xl)H26n zWcWwnJIBzgxvWF^FotOud6}ceE}5`J75&T zqa_74q3b9)x?=5c-4UEjz#h1MxK3m-m~bA_QN!q}E@USHqHEMud-PqF@!amcEoygk zi|KwA&oKLa9d+gmF|t0#E>3bONhlF7Ah{>{$Q`~=_=w!4RXOOqm$1z+`a!+y#1e^0 zFx-<8r4nukuFX93h+cMO1Hr1#e|&E3=(^C^HNe_R_vjYuR?jWo<|uo>`q3Abv+*v>9hIj>9EgYOdO;GeU{6xcD!)R$iEp7w#Lo_UMMu4Vgo?@_c);OM6$B zz_nGl`4uJv!mcNa{HxKaZItg!z%k3D-K9^6ZiTL?G^x9Ea$PTS_Lt^+K&m(dmj_pm zEFa;<;CkVt8uF2jo`REmwB16KCj`P(mH7TRy6uYje8nzEW`DCzPcA_o zu4b=GEcpml!cAA3x0-dvxy{J^S8*F6-mNg9e{snkeXDhgr`d~>gX%_~@(tGoi|I$` z1L%h(|EtYsZeb;vLN2d0*W98rQUjRp827|A#3A26cp~J%muxo&Z_!I*OOd;_Q?^-m zh}W5F2>QOwosA^nBfZc7R{)nJGn4@D%Axy2sbE1gj0}VA4J#uUAO;A6Hc46kuk}*gT;WoV}I*~#4 z-fQl-O{do7A&=cV?^9&_i}^DF=abC%2v@wZCdHRY!X^^YHSyB7RMh2X3>7VBzllw)ywAmR*E`; zd<0dkt=gcL;7>RhDLf`e>D3f;?dWh3_D4D;2d?Xv=CM|G9%UkPNFp5+?kuTg4g4T{ zgTv2lz9r8lbj81!-?+<=x5N2gJvtxZd*QR^d3zfx{4jjcs~oVo1<&1XjH9R|K?#xM zBbAwf>xb)HpyEwgPcVT zp`&m5b%evoMz@>uslH=$Qja2ZC4V_8^b_Lni%0d-RG$@?Or=Kj|j%SA_|q(Pq&dOitf2W{Jn_Y-5h+BIib% zCy-++kjv6|S>8N!r(U+Yp5P$CMk%mx{x(zAjy7~9=}~G*rcYtQn8(@c4MG>LHRs=n zCy|$VM%J3EME22%zIA4&$nsLpOs?54auIU#spf?{_0s4{;ZHSh-AS#Qk=r+#rFT)Q zKIH5(qtu}J20P@~!vv=Y*4vd#pCMSgDaz>;mjCdsPCqL)@mtKFL~cYLJKH4ep#~kug@tC-9u~x5PDtGWU2s!WKL&#-!kfpisXL{L569h*H);pzl>WI4(F`Re?rnC*iF|U8mZAEk*T+vqYmXMAD=`N+L|cY_r25l=i0mv>*3 z%Ci|~zdZw217}a5Qs-_RN+q61diWiV)9Jojd+T!HDt;8DswF+UmhdLG7=8%8$l;H= zAC*_95<8o>J#cxQrXDti&D)_mN^lfZdW58y?_6F)ub9FaM@wb-3>^U ztKf^^WoFCAZU$T_T((2mO>Bm%hwHLmcH_t>vd{n#yQP2wW5G}uTC}<_pJ*gOZ>WPo9Fe+8epY|vDj*)rjUcIbN`nDOWybn)Gf+L;Eg&XcOPu#~?mLWGkWnR0F zo52R;{O6*S#0ghaLg_I?z;=BMVeA8{u(jhr=jbR21+ zKb?sLAK989T;nlZ9^7uYY|_X_(iX$@M{qLXE8r&JIwTSv(luQ3B4>qh0l0c1H2=&* zchcGpBX=_S!RwGB9i|yPvh!ORgQ-+$?eqa+_rm_UonT#mF-jk2{<~ zk2?CPLRafC?@F58$fL)beMYM8Q574kHCl{A4#7BSH^R?a+`6uLbx8dMwg>ER2f|Udh^{05G$4@cQT{`3R zF68z+x=NZUn=)s^Z|6OTZs>HLpxx24|sy*8L`9^)bkyRl!o+w@(5%!pE9IGZ| z6YP~Ih88JnO=`bh8Y+<}pXSL@xSQNZBr+4K(dF{su)|!~%Kc*_!O@Fs8;`YL=PYF; zY*k%9s(yl1q_R8P&Bg9mbXh!ZY>-mf1x9Xkq**iQyLkL)rzI?Dk_5pKtH^ChQ?df#PaoG^M+)Ei@r_)ND{l?SZ(@`f*qZ+wvevkqb z7Qc%1{R`3Veb1TlifTy(&sR}J+J`u-Vszu^azy7kNU3ine9|@- zqZ?HleBtHMsz2UN-k9Xv#|%Pyzi!U&#_LQW@3`7r(~Z|jVZ+_YgVR7nHZt(J@PqJE z=E6?B)Z_nm# zXV9GBurx$&1=@Iot2n11kI_Q=wkdW-Xr7B6w#TS0B^zhSOyNl)gX z^YX~lp8u839j#Qh1U_dckJ+6xNA3En(G8=^cXV?PK%~Zv=;C+r!h)l#w@UVy6CTzJ zV>=}giZXME-Py(gf?3#EiNq`B&LLts8bh}oU9Hn<`&>!tGz~v-i@Ek;mdnJ|>@0Vi zJ08}_X}QSpxA7K*?SB3Cm)$rJK#p);%&w;`ewKzaAWh% zD%1@(V3^|)Z^wKWN-;y|YFedb@(?(BoZw)qx#|(Tx4d-R@k6syWW&28dM?Aud$D>?U0W~sU55zfX6dblYZkkogYtvzghCy;aY z;8`6j8n^6878jsiNo!f@?lyPz=+vORyqt0m(WFcHNFS8I#ovpcb9}e^TwvEu9d*VI zRAmpMaz>!n6EQli=sLRG702yu$*vn-?Ta>F->K6~{r%dz=rByp0h;1PQ<%`}agPg_ zwTV4u=c78~3VAuY^2c+2)gEelg2V5A;^+x3d?ozA$M8Ggr{G(O6E*>x#V#y zL*DE5zCywCH}TPl>oJ8_%pH%@z5?W--|$M!LOb)(RJ*$uRYPz8GjC})7BU@SA+4wq z-!iGaI(2;?vU=NH4iKfchvE9*0?6TBl_rkEAAZ|h)yqWWw@Fm?JLcwIog5=Ch)=&8 zZC32k%aaQU^!#Ohqa_LDjq#dE^BM_5waDAwo42FL&1EyX5p+B%lv}wjg6;3iGV~q? z#A)(=dDdU&{LkFE^B8<3e7t$@=XzO4?sjUXSRE-?Y9B5@1|kJrH@ZUS@IziS2o=Fi z{cYYqNW5~ml)tlah_dr&_S!acN+Wd6zvyaMvbJyM{fO=Ghv9Kl_D8blf%DBon=_u! zp_nlO<+IV|%TMSNqrIoHzp%{BPv9Mb$n_rc0CI96vNxJ9gSxrc`!~3rX!F_=I^AE7 zTpkmnN}UmPAFjx{dTJM{?pVH3>n2SE`{9P+nuNn3!)Fhpl1&_6v$cD5!xX_Dg5t%) zgDuJ9H<0`oJ^&wtpNKOLJjsnr5wdrodErTJUgRD6&V?V%N8YI)fG;9#IDctbD|~!{ zN$u0=vHi%k$5B<=+iez;kyq`NpKmDx($(Qnl&a038$}mcWswt4VpJMduQ1 zSY)1{gpXdNilr4)~-UQb<9dF)$AwE z;Bt4&j;W@+<-a|7t_iliie*f}mz-d(d5Xy!$m5hGEk@P*>@ud~&7v+&&5EH1Pl{19 zurhYx)&~eyp&M9b-hGOPOHIh_C(n<&ZH#dJaFvplk8nM3!R({s4Z;<|)!MO~c!%M7 z;R++TNw^s}sk(e*1iYuyHLGKij~Z1Of)o_nSM$AY$63k4{#f}^f?7j`oQ1NCVC5R~ z+Cj{JJ97J4^Wj0B+;t%Ld@3fqoVQzUqb1vZbOC;Fqr@@&yofE9Z3Xf*hMH4j)SwJi z=|>NE)J7ceX?*t@b@-Wk05J)^3ci)IvU_gU%R~7PDlf*l*NSi+Nzi5Js?jyu-YHZ| zaE4$#D#mDTI}{+;jBdy2e1qM7jCD>A!HSK1%m0|D(zIc8qv%E)U0#G?+D)58-*pDx zu6GVb{b$h0`FzpdiQZ{NbcJM>gMJYGq}-@ETlW&E-ZS|{6MI{@sfJ+Jra8ZG)E2J^ zUEW!9xzG7dX?`cVBWIa4hxF3q0pz9vx9#XeKMEJW*<6M`dP?-0%{7N~>X}LTtR`FL z%CjH-NcNnout&CjsUlCO*u7nwVr z(HW}?klQ{Hqv9PO&>Q96uF7O6N7uO(oviBR34`{*{4!%7;5VWRoNp4I)#>MSBlniX zgdg>_dn1NenlX%i$Jah;_yKei=<+Y*#|7q}T1ERe(b*T8+n;69M+6HVJcGywK zq?d1~6kI$%afPdftAdkBEFZyoxE*js(ngNxWuXwh6@K6|ADuMa@Kf+utU2W;>|#bB z20v>q8PMtJGswN=uBr2uU${a6GE6#)QNPsOHK0@D@{wmQ73XO7vwXx>5FWWq8Y;J( z2{JhKP&HqOQRD95)ZfV9bV8O@m^D8kk0E5=Hf&v))CY9x=~INK33rfK){JmN;tLqW z%a7*8I)d;8U&L$J6C+ee&{s(nP)YLe$%I6$K-YoJF9x|Rww_?mmt?uHZ;%7TXosr4 zg4){lX$qc`9Xnj0iN$MCK!$d{w6^f|K6Jf~)7;X?wvI^H(;#R^RfiDrBkJMv3T<%@w!=LJ< zTX!SZ+{N!Ph%&+-OIrB~QX9Go(eV*(0B#1(E{Cw>Hwu@u$6PijJ`A~RkGWr6bG z_#7^GIBA4IG zpgBb(g>6|HUV&~1U6ttgNT=7r<=%I6r%P3v;7j1MoXuhzO7edAHu!+U z&uw)^;rs40mp!jD^1SD;Z+OTzcRVUpNrG#JBbxn@9>|6pfva-tt;RV%l2?eM%TVP% zVqPP==mzBNJtpqwoYZt7XFpEy7U|t;Nfig+i+@b^X5r&{MeGE@<|o|X38wky+MAtt zE~P!mFJ?&j5n~Y`n1imqk6+GkYLX+jeEKMw&dJ_}{?WfL<|{>uysp|CncxnefIo|Y_SjLupK_nNn`sXi64OP zK86>&$%7wiR*8cqH0wkk)`1+UToq%w=;o9Kr z$`BT=6K({~9uk-9gY&)2+#oC;i8ovXnFCp6Qx16qt~DZ}RA?HmA1>0%1>pUkz}re( zk2z?#Da=NP;c(hrwAeRLTka9wcKbrH20hfMnCd{0QX&A^SoWl16K)=4H+ zVlg`SCYO(#%sJ>9|25ZBa|aAX@E!2YZW>v8%;A@`FQyVr?u^g8{gOU0wvj;AhZt4M zy3Z{!ftR%}Zv6az%myy_$85!S%=(x0rt}@xqy_zI?}0?se!#1A{`9ZXf?jn~kY8lX zPpmmF_~2o4>&rSr$D1F&tUtf_xK8aAZ+srXP{yOriU#ahXk zP$+<&xVFxG<5&8Gkf2F^ui%irjdd0?N?^9?Vnm~b7^Lrg%ucCO>yud4+ z7HTgb(|WtI_k^r?zlsk2YxXlT%Iewm=CW7xO?CaTX~84(4ZmoY|E&|!f@7|Hl|L~a;4k!dG#92FW-X~FF-|I6iR!CF`T7a6s=@&pC6x^j6iEx6m2&ofW` zT7T2}!Aa)et9n&3zu6iu?H*KjA9(BU{AkSNm^G&E-F2+KKSF=_WAwcd`cX&!;iz7f z8qQy;J#3|Sh07TEH*rQH;tbEnSsz&I)Kl^a%+BXCWXG{EFlDV)1@;&YIO(K)Tf*hH zN7Sz`BF%|znw|)5lgo8G`Fw_aHigR%wHByw8?X&*%E}+KHg|;@3#@rQHE7FlUGsIB z>+AZ6x^y~v>$iISDzVvW>~uaK9qeG(BJ*x@;$QY#y(S?XuXT=FwYY)!VScy6zw%qX zYA$Z0!zCQnSL!(P?Zf(lI_qg|n}9{v{u;TVa$QrbDiFV=#Qf7rL%{`L`&${oxOZhP z2dotzC|_9r&}TzIiFZZTygpGKJm6Ok+g6;gDHsf8wcC?)tY4<(nDyPKoHEsbuCojO z%M%XKpgMM~R`vEce)BPhTcDQY`}coorxfC&k48&_LI3`3J8M-yoT!q@Enplv_Ll}L z_Md83c6|Q^8;b`|W3BYt75sMcCL3EmyAEzK*L6GNeCD~|>Er~-HHbR;DW$5D^4xWfA3x$pQH-+FHno}`}d{o zj8_4>4N5Huej6RzjNsM`D?V_(H+Zt%#y9UAy~O=sHjv0qU}q$$%{x~Hw3591%3rrr zlnduFT10~u=YKS_w1~_$yP2)ah@&D&DzsB7=O<%v^wNP9Wx-%RmCDEI*^S0Y`qf4I zodyJVE})V9`!o%xJGuq@VBEiHfu3uDU!A*C3Js4`kiwi^^v~e})xTJJ^S|yCQ|h-u z^#!(>wOlM_(r?+7$|+E1nHztvGeZmSl7X3z7Dtw$tN_;JM$MC`Fa2JxunzsVdH?r% zW1ZwMjg1^<|6&{~uR0||sYUkKpL_9o#(kUJ9o4f}WPE4#%NeppIO88+{MTiCFuQ1J zmhYPx;hH}<5Vk{|-}!b<(5GT{dR6q!&bLEN;ghHXS)!tL z7L!1@l{8Z#mcf;~+#7DqgzKVls|f?9@kkPHbO%P`|pc zX)%1q+w1K*#gZ;j-NPij`#>m5(Om(jjd=xDxLs0>`>Bph{D#U*()oiw(NUh@@=0_1 z>-ya2TarV;%y-Niud~CvKG%xR@qauz>p=oXsxi8K;f`6HftTH>-+Dk;ERROocJ_ugF+USNLqhCU(g_n%$Q zBt9kMQDfeHLnl)g6ZZ$59wkwhnstBBC+N?cPyGRtLUYw0bh19nd=Iv+DTl%HL z(V?S*gKTO1>?%U7W7ZQ?Tt*~>K}yB%y*MK{Z9SA3!d;4I_tU5lb{%4+s>BmWd!Cgv zgk|>?KbeEYdV}}9>2$6YAnauO^|EM>_ZHjeV!C1f9`A5C9E@p;} zV?l*&Zj#}VGlQ(p{`_v`Wxm#XB?IYk!ETj^uhx9=+zRGQq<6`_q6^)Kaw;jZjP~@u z<`=p@VZve}V)`6_}`p^15Hb`&usO|%Y@j9O#)bT@jpkMvQ>7m`2n!gQe^hM_0H}w~=Kok9zP8G~>@mv?LaPcN^qx4T)R<3P1epRu!{>}6z zHtV}sH|-q^R&C>Uij%l9_|7<)*WS|Wt;RRa;Exsvn7Uugi}P<&Yu$7` z_n7@}>!sFv|1{6Nt*>4j&Lij=hO0Lf6WW*Dz~IUbqQEUo9Gw)_@TR$bLZ81?3MmM9 zl@ug}v|=1>>YiOUkl6xGcq7B%iU!=g#Bj=x%h|zA-D8s9!ErGYHoT)Zt+y>7Kk~+X zP6I1hTP6LZmiPPS`+VGf-%rBkzIXHk7lx;|%mRLpmP^|=4SVdyEe=Y(#;BuQN#Qni zRw&^^N$uPz%-3JayTR;zm!Em)R_6J4S%|~g%f`o_>E$Ns(Otvp?p=;8r!}4Vq2u>o zwTq*0y6P(zg=||NQS-aWu(vCA$0R)IWN$NMZDz~ijJ5548!MEnH#hu6pHwGyD0K_l zVYo7qaAMY}fQ-?<^8_;B_uxq)S54t=_6O}9W+(0{ynyXK(LEt_%Ei($Z}86L;<&xRt6Y@4XBO%BeigLc+5+Nr zyd7-%iff6|@P{@y?knG}U`bY7RtX12bYYeX*^aj`pA4*=u91f&qq`4GgEC}&k2<)= zU1>tivf=SFRGYJ8Q`WK1>8;MU#eZ$+>ey%PWCcpDQR!XpyJ;?-nfI$w=I72026x_f zhLiDSeGW>Z6#eLdH>rpeyvgQ+g9;Buw%*LV z@a9ii*L9ujORrODzHKD1SpLrmPFmLo1BKn0UbVT)Ue56aQh`5i3I&tSekjx70@n1F z`H>DV(xbF^k}Au*q}GTW+Qlk#+vVTV<1Bu9?!8)FqweENh|{(+Qv9Y|Kszmb=T^ zlJ)koW{>z^=a$yv?Irnj!o6<1Le6*EkYyfZ&87w8wX+0|vl|_Bj+^ z>lFMfl?%G^%z0_SLRUV!I4#&{%XK=xyf7`;?kWm0<~Im0a!^$3@|(BJZv<}oWSV^v zAwBs`G97T^+;&P@u-TOlAa}a*m)LadaOGE5&2JpmBR7P*_##fIO58|0PEHFJyYkFA zX~7~_-nu!BJ5{G;C!amP>v)+S8g}{PXxWe}f5YtiyZ+C(d7p3Ae4y8_7jqLcNmKnN z2vI!u#fLxcg`-YTs#v_top& zuw;_BKdmXj?Ub+w=03rWU+xwxoflcKq~Rxx>^Na>EuEY0pub@PeC``>=vWuuxfi6ilr5-yFzPHGuZgw^<&t~YYf9Uh; z?qeA%)AwdpM0A!EFL{Q`2u&(Ws-xNTbbF8TthQs7PL~ds_~L=3qXYP~6nxsY*#Q5V zj1>$Ug|s(D?OiI3B+oC}nM%bYD_t;GnfAGn%V))r3LM?gQ@f;*fkN@rOWBdl@7|Km z4)5kn^1t-8=_A&LCh_PgtYUIcBHrAQ`#s{xQ}`;_zjSJXaN@}wOEG`?m)?{dP-*x@ zITNus&%S5Z0(PUKAKPa(&FHOGpE5Vk=rvZaGEdBK`yU>pMHf0&8eW#9Q)Jdi$H+`FZt&fdm`6Ub5* zVu?GtbDUf4NKWE>hYd_Eg@tIn{fD>5^kLjcMuL+ir|Pcul|otURv(e zKG}oFVN$4b%--5}>@#s6@*5vXDsAU`9NftPUZ*?Q&QaK+;F;!}5A}Jm(ubj}dTWKb z?L&S@O=2gh;Lhfc#Qw#H`t#EBt7i4a4cy4>EMd=I%*MIMjT*=6D$l!n7tufBb*7+< zpo{>cc*iXF2Ny-(c9)fL;pb+>eI0M_s|Q())7%*=hppj(l@%I8+-0}1x80iN)=kpQ zsEz}XvRC))T5;QIYwebBu4gLk^K+sY#;S;1r%S|Kyuo90ue9Sx<&wkM*cp?ROr!ic z^}?gnW|6i&Y1^V#-+Mp`6dM*K^#QrUl{i+G3Oe?m)^xnvdG4 ze4Bw0)A^PltAWhr4eSid*j7e!pli=`Adp+`wcJ2niy!`C9zU(H(PJeiWY6X_$wDK8pEYYP_gESBovJ*q%VkuH z^kcjJsm&emb=k9Q5Y+Yd&O3WH-A*TEF6Kv4#;gI#zAlGF&fZr!+nNwt`*yFijOPM2 z3O~-H8o?u02tUc)oi)(@2Zlnr%+cpG1$~w34Rz{VUK3WDIm>IU-ZWvI+CCUzD3V~z z3bYG~KRJvXYVP;MsZ_V|zsfAu_hriJNTVO{TFG@sFy%x}8~pefIXaXLY1?Py{v;;o z_@8;7^1tvg{|guMFm9(H>~_9v52hH((LSc&7$4(==Y5P579S&{CH^GRi3%q@ElyKT z;-s-rR)#M;Pfbd+m1HKPEbn63wWI|Oc_MZ#(b3kXrE=O>K=y~Dbnx$5`wCgS82n43 zt>lf;ud;a_vo<$>$(;vdR)O8`YTdsa4}_r|$c-4+V|O|8#{4TeDh|rR>Wt~3x%Ht+tHoZmcYjVqKF&J%*sj$c z9%S=uB>$f@Ob++LD2^b~hz?up+U2gmX~bqM)uLg7I)8#rn4c9#=Oesynv8+d85wq` zG`f|^nhiD0&gMB8AK}TLWGs~!M-C?rb=ULn&wg}U!M^fJpOt#z{LFWrKJ!E=*znA3G7OSZh_C7`^&`WAqXf z?A;&PVba0UY2i+`WwSco`mFego8npXWXQxthB|pnhbi+<1!X(sn1kroA3J7|+5ejv zl(5iB{nY%lm;LjcU&s%SrQ{>-A?yNi~d}mgmmo7X_7}t9j;Fj!|rsqgAzvu zacp0pE1a)9`N`M!?egj$?Yf9TkcE=G*XH+d7f|FrMGqHN7_mE&%CJ1yjXk&3Y&_0N zP56M!rP30=N0}>c@TQv9Emn$YKhDZc|Br}jjO{zscDFq$$L>O@I^Fg6*4Bhb9`1d=wPxGVoQ}`N^S#M557oCz ztMWxZN?wU`dC5s*j4U;rDLFkGKCR0-=YE#-evkBs^iZMh+;zRVZjrTQy&UX~drr*? zALzxYc6;M@^>a@9*3Ewa{J8a`i^yC0cJe$EZEb+?=!?g}sNax^x{ z22zg6R(5Z;`*MigO#VLtezDw9_xzExyRxbFi?e$dOIfFw3m02UES8Zg7F!uh!+T>U zlzpO>etIzY+Zl8BV(a{^RSB8)x>cFrtX~6UFB>IAugF_ha-Vdj+XS&0xszWKVR!Wj zIZdTjJf1dRTVgF+fAZ-W!6bqyWcO>b_0Z9I$j(4y zG;Jh{@{MV^^F^D-mRPA);(qhW5-Y>1ea3u9IJTDK)3-?1VM2-4f9V&^-b8DK{#YxgG-jU+#TR++r-t2ER z+m5$Rkf_&663V^fcq?O-orITD8a7p|N5*~$dHa}PVA-}IiF`xZAC z-{&R1D~Ka}GW^EmE!e=_2f{;vpLyXa$5M=!r(nC3e~GAtE^;`Ju&g}k z9A{pa{nH4i=Jlj;dz+T?Oa$lin7^NBZPk5`Z%(yN(-yC5U$eqm6_-1kZ#&SO*~j;< zuoi30*QR->W_dlvN@Et~ahK$${B!DJd(&zu6OIw`pcJ zCK$~65wC+kN4_!nlzT^-b;;>p^3C6DQsrb8oBhO<1e zRC(e#WUdQYU(olM*F)9`!2g7-WhdSv5%JJzzN@WSJd$7a@FtYZqv+s0W?hE0HeSr( zVz<&}Y|>h7es`vIoT)g;O0+Q9gBeWs+*$K(hIPJv)|{DXEu&HwXG*0W|6ZoGOG_6d zpM+sY#J=w&>voB~%32G2ZIzwq##MGpe!R*$!_2gK;>?w6$eYx6tihE~#uIC-Rg%k} z)>v0i$fwp?C)4t8ueHvIl3JFUMJ-XMn2EJk+fus+a+D4%a119=-M4F3oVhEq_X z9@(|vF`fT-MOto>(w4tjsYe&ktGv8z`7W$^c9~Y!A8)C&q!R0yOpo#;dyp%+RY>RG z8L@&l#PP3<^BT;`z(sXT<;B5%KhN||B9i}Z)eo)&l_c_Cu2$At9IRNYs@O4hLD3k?s~NPoz4Y(<<(+`Vh% z$z4Y5PPb1f!M|+r&_64^S4j6KFb_i$s9Y|deePl!JcES%rU+`?|Pp1Pqn^f zT^w(&++eM*8$V7|A(70%)z;myVZ*z`tj@F6Zp=xfo~(dR z@jihZg`IYk_sgNpHP(W9dB^tne7|S!&H#5KvP3_%+@zjnEv-xPp2ACK+j!m8VwKrK z{LTEHuye=a)N?~qy>BUfv@E~abA;d5sZUI6-=LUD*l|5C#TBR+&VP$NZ|t{xzr5P< zd0U#&IANCuNz#XY&%HZW`J$}w%|qHk>dMZ*t2UcQPO}!}imQoYBeP`Tyes#6Li{*T zyL~SxFCa@I*?UW+{GOaHlYhFEW3uwB!cDoepQhdqs|C$_?XfIoz8^m4gVHwl6B2ObIs}2Rx!)xPPbAs z5?LcwVk043ak!4M8m309BMf=mMr-{Bxpm;JNa<^9PdYNsKxC}tR>H1lp7ZEM+__`7 z1y*5#xq2hzO*NZ?8*z=(3(Z>_t>oBg>i@IZ%Y%E&dmFhEf=)lfTC?hJZnM6?B#u_w z?7QbRj%+VAk}O2^h=0u))*X1*{PrEPQ`fBpm5~OltYGvSZrZN?l zZ>F$>(D>v{R)#4%(@I(;E$62m>>{K!(u+4FI0G+x5S$qAaq1v>-<1%RVfxRsa;>i= zn7^ONCeq1i)l$jC=Vmg_o+^<&)%oe>l1Tg>T4%21lAj-kkk)>= zU8jIIy(!@R|7iOfxG1aa|L3`PfDv)R5fKq_W_V^mM1&Dhk#Io5mkddbTr(Gqe9Oqp zHFHZw*UXH7)V$_ei>Brp;%jPFhSv6CWoBhBTV__SYh~6}TW&f3@45GRV0`KK^8ft* zd_H`hx$pO$d+s^so_p@OB5@G&kLNH0B4)S>W2I?aY%aQ^W_Y2s2oqI$7t{XC>Q|?* zevSqVU~AZ71^^Lv(;(&>c_~cXHIvMFqIy(%tPvfwVCJqV*0Rj;x6jYw?%D!VMH5hS zXN^0rn0Xv&eBp!ceuY{}+UHsp7t@LvHnChhRt)Lg1>voj`G)?pfW^EpFj8{|JyJuG z1p1St>FMz%p|psBb#jvv%5EVD8sJE}0$K}?i)*f8T}p^H&>72}u?p)u0z5=BXgC3Y zo9V67R}AAGl3HCQ5ym~A5f~$3rYcd8hB5L4x<;yNYT66ay<%-w9Zg37rh+yT+{7Db zdWdG=j4r(`WO!;TOUj)^%!{MlwtEU?``D4hmoSfWG|#TN-n7)9y!}FASP4t?5qk9l zN4NT#WB!ieeb7%#1M*_(mXxrO>`1IQRst}Bh9(bYp6c`Fcqvai?Ra8<8#O8R>(Lhm zdR$b)vI=J~`}H&2uK6-fLmcrC;w9l_r7WH0fqbp!Q@X~zP;U@S$jG`CZL=VMWoSF= zW~*ru&ktr1gy%1zGqfW+J($h(rP-dSNwYnPj>qJu*bU9?8m#r`7pZ627C#74*PCTq zv^mWt77W2aQ0Bl8Runm_y>3T6(L-5gbPm>ot_?DBY@%o=2AMB62_EfpQ_!GJ=Ga`4 zj-<&i7_BYPm}YasLPEv&;~xATRMQUt(Y1xxli!=+PPiFBh{$)@HW)73jz*jIP9xG~ zJwuT1dR+2B85yQY8Ku_J)tF&DKlN)p=F42KQEDzgg_u|jp;W1q%?T;1uG?_+NL@(^ zXj!3@+JIKkvH(FgGlwxBgpd?Ts5C54V8O&;;3@~(i>6^1Y#d!@0@n#?>-??17q{;he?g;cO3FrWsC7!#7<#xB7Znb=w8gr@X~XZ)H4?IYa3}E-uk;9^Cy_? ztCgq1UBo@ZS>Ng@Zh$T;pe349MA>_H_hRm0b{Oq5WIFa}F=6Stnf`QGItgDidg|3p zP8?Q(Hii9`y*1BykA}QYEy4ajRB#qI-ahFU8Sopv@w~ zkp@s6mude@;bMfn=%8j&CNg70XXG5Zv<*-TyBJX{hV&R+byD5eaG8|O)!2k~Lm_qW z7~p=A+N6${B(t2*#G24Ig@$(4-8aJ$9gpkGKmta{fjkqC!A%)j(hoD;K)i$ikabfj z^I+SY(%9^pa5u9P$zXWN%oP~}9C*PmPL^VDP!cran8T;Vx-*d00?iZXTvkXy6JH5E zDN177R@4dGHf(%euoEd|=Ih##?#2h)+kb-qnK%i=d^#BWbeV3X9au z2TJ=Q8V0OkX?pk8w5O2X@b#;)Qr-_yDxwXhhetG6>tO@yJzzeTfzBg0i$~ zDzzQJqzXoj6V{Om9j`<9=+0IC(j=mxePG|2Yy1*gS4+!Hp)vgynb+c={XMUQGNEP* zg#POD8e6-NV%TQXnIpF0m;gQnTk`ZN^8(#B)LHqgj-A9A0eqv#d^9M_bbZ7Xv>^(} zbvVSFZ4A%{{hHFz5p-;(uI>9ydJNGst5QQ;Ig)kpZv&$y1{My~DcHx;3{}E}DJOJu zBbc_tq`Pr;1q@#@5{e|K+_sNoo@xC+@ko)Lq&48WLBkf7HgN{Y9~?j%h#4fIgAVkf zG<8%?0H%p64rR+aX*mYa_luV)2_WH16=b7e6gH2q1A__PR0m;8l!+}ACMHcQgEp0f zJuIzIt_~7tfK@gsN9|bUwJ>b^Fx!fc%^$+$0VMh);*9aY~rGfeXU^)2)j&(|efMo=g19F-&TPZE=^b+TD%Tn#4; zq`eQ=bi7ZY_}5sqGsG4Kn;0alrNYHFv2-*}Im<$oHN)bel?i%ex)0lJs5vtTQbTOw z$Y?e#bF?|bW#%_O%IrA4gfO8D1DFX-JQ#0DCo%0hSTM|qqa_t9Zx3#X^@1>K?2hgX zTh>UUhn-0pH5%3%RQ{7pD!)Fp1V|W=%SmA~^>Y>K87-Nzp8sPPS^?`)Cu7-BJ(Nyq zSb9cuf=AAJ8E7l&EXkkjP{!ydP-%XYVq;$1|Dr+^7eJf>1ddhFdFn{to>=2@5UL|x z#O>Fy6#w?HvD^z96+RYgf|)C~ zI7)n1&JM95w%rG=XC(|jMD$pQg^*P<$07pX*<&H;ywFh`7|YTfZ*(L8kMv=Qv!d?e z+*p_@6WW z915q!_0Bzs@TnhFI4-SsE}dtFLjIgMd?}BS&^zZ8exE&U#fkCbSbXFVo5uh^=Z<3& z3qDMywQMtrVGoHjNc^u$J=dAV!~p{dAqevWQAIWRQ7JVxZK4z(D1JKX9~}~jH?neC zMHerx3sx6aN{wh39FbN{BMjKwGB+J6n2XWO?Ow|@Ju}=opbXMFMk9qbDq9xHBFd7V z5XEX8VY|_!D7yCC0sp_Ng^VCgvfKRR;$=ARp}b0nohSy3XFYAOSZpA{FdlaV=!#Xq zR`?qoDqK4(UThf8G82Z_Zo-KT?0eHDK=-5p{}^rpMj9gP8kh#eTp1Aqf%&q8<^o87 z&gA``CEAN^6KY)8C5x?7B9iioZ6q3tP&#=+kejrk`tml zkc11~}$#zzKEoDhm(Ad$Cl49TPMAE6# zc-Q>C-AOnm;@DwrCs8nwm9oZ8qIM!17XKE~HSjNQLI6S`*EP-6Q1zuagFH?mvM$V{ zwHJqMS9%jGsIHH4`tW3%&ys5>53%Od1U;rcN{5+{p3l>>q4kkjQ4`@s0mPP@ zk(YG1lxH%QvJS+w(&%)CKwXLcMB};>Z6PZ{I~w;yEo(@3U8}W?HCQD)jD(v!p5v{Y)jyPV1vQa(FfE4Z|?`809B7GBl(cKt>~JiZEQdXN}Wp8GpT@ z;tf!c9tljVkMaYAgJfO*>Ot4_6;BMWYX{JV>LDIRQc%J#y14IV)-I3W43z#~!CApr z9J-l#dRn>$u=)HzkuL{it?q?hHZ5Eq6AO|@1G++Vox}#=X1iIsSoqp};Dqeybi z#j4cv>+w55%aOlHNZb=84o+gZk)7I9-oVId!6>Bv+{|M`3pCLE z2_kw53_R%m9U*D5X}L@?V<_Y!MyQeVAL6crBiKzH>Jm}PuEN1WQiMmmK84v6G1W#_ zQz+E5`B?l6!!2yAj}m95fV*O-c~fD-z9-7l5WYo!1$hWGuSAKtQ=tHzYF-MYI3Vl> z#6{0f1W2SW0dZ(5OYA^C0SNn*@T#!{ys`BB6xOli6~NKbo>B!0#;pyKrnUmI5ea}K z72Urg!x8Vo_d0x7Wc|0Xi7zJ!s zAV9(6%66Q;S4cNNWwLH)eY=S0893xD5#497E%6qkyw+lDD~VBxGc%x60Aq~29Rlw4 z-9`HC&~Z=gBF5hiCU!@6(R4fX{)!G%uy;*50BTydw2MVA-ttixOzrgTFzr~0cyjat zik>_Zd+fuo%)q6j{M{W{Ow#S<{qv|S!_h%eaT?kTxtiR}+AlvHr_yqhR2xIuJdyf3 z4%xFJ%)3dp2xI7Zi8HKMn})|}6@C>}SZ_0N3=?YXOwwZzr|ef|p#dCp*sKlZSs*Xe zMsn?S65a1$T{7QaX2~VlHD_DKrsps3pDmf@EbL8(ntRjZ{}eOtz(FvPlUbqST4K(# zLWPhH_5ANaQJ@1de(I{n;CCbSgPKKpZIaoAPDr!5LS4gIf$Z99Q(H;(%n7+^Cx`v| zHtg5Qk(_ckL&*B>C?9TUt{as~##R*o23TQ>&_x|Rj0Ge8pkPr^WoOM!;oBIBD$Hsb zdss&Z=!&xlRGY2*x zl>fPoKAb>A7}PJzR}1A^rSet(1Z1%C5reVvktF<6RN+#WNl>iCKN^EB!-6lvIw5g@ z2mmn^s^cD5%Z<_0#WWY%`~x- zO9lwki6A;dGe!lea_V$}`1lX3%lLZ+c#Q{5kplv<6mls`TwZIu<=%zjm-latC-DT^ z3ZoH-Oxt4mk~GMq1V)H2%4f4==TA}Y`f#g&IniR#Z01jh2=di^1#Q-IR7g&S` zgn#Yd#W|$4IgsX;_^?-Wy$i$~)fe2w67}cA@9tt+E>=#wBzG<@ zcdbQ_y%2$(H_6?de-~AAF-!KlQnBn5#t{}i)?GX{7v!_iFLupk{^+A!6}dwG@8+^q zBZ(A1MK4z-*=NdS4QLaTo+F2D`2J*1m8(F5X=VFlRX#l5t_$*sV}E4ny)I8uvrUq! zH0U#+oK|Gi6v4A*M#N@P&6h8IF+t9*c{*ONnkALn40wBENX4nt5`pPJqzX1#oVpIv8N;tFh#6y8V2pgJH#cV=I^l zTn*!r;X$^Q)pQf*gHQ_hey z9t2(hy=-B3v0?#Oyw!z#hyh4Duz;=b{eos`+<>$sH}FUMkfvQ>sQ4s|KLNkRyg%WL z`qZ)&58Ab69J76zjqO&`pICXc%ca}hul%ed>{!V15>@vb%wYvspiO%zxniy+E`&&N zmw)$(g)CC1&YixOZD$8u;;}_6^BSvjz*usM)I{(gRfkn!KkRG>b|0ZZ>M(_!X6I?w zO=(sg@uKs6tXsSlG;p-{pU_M>zdyM|>3tw&A7+cH`=A=J@>sw!BA-eF)*ogl|ZnA8G8wm!@CcM-E85qcja^@mdA$pK3tH z37Mp4r&F3}I3SD*BU`kuArE0hU{=!c=1{V{X$Y9-k^yK9mdODXxFwvL)VIB1IdfBC z>l`z{taJ>#b}=i@Q-cfu`9}iz)uN#_`&-Bl*$X;PqVJ!~sKlO;jI##Z8aeEysT)B9#j*V*5 zF$G3VY0X+k@y|Nen|M&=EuH>uDJ1ltQg-{6u_B!n7-HITD68)`MBc+}mF&pFP@B+wCbg3V+<8oP@G+oZSoWtj&e32d3f4=Y&;K`ikR1+lzG*ii=S zcIPUXGcE& zD+=BT9#+=j#*C!=Rexsj(L2X@h&38O-r7I2@eYf{(>Y{kpE&ntY>ePKH+?l5&u;dK zC9464-afH!HFhYU5!Zm}8^N4T^T<*)4aBFnPq#-x*iyg6Ih4t?;^MTmb(Y{Z6Ztgl zI_&e;;-pUrdFFx``zR}QlRS7F$Bx+5;>4drBU)JR58PxtfO6z)%r9Pjl=UsLvXSf? z0pbmH0|#iYf$Fg+2* zIQ%AB=Z$UFkRG{)jjuKkH$`8F1BtD5L}%5EK*7u+jl=fcsY(bt&IV!@25QMhTWOA~ z!G`a+R7BH-Pq#f8!w^goH-J~r-mSv6F0~#Kw341R_NqCyf24`A8*r5PU*Y!)$ZO#@ z&P?T=h47l{r242{`kmaJF1f8wC8Z*fLW(2Dq&6TZsdR~wP#l>kP(B>BNLmji!o>XM zDmOAI;!k4qaGYmW*fykEC-MJCQ+v2==nNeN(3eaJ%FaKR+NeLjWg{*OuET{vDocZr zrUl4ng}aEGpJ2TwQXj)zc@k19a|#!8n*E_7y~9i<$ef~0SlZ>xDLQwjQv;9D8K;C# zuskQh9Be>qflrPo*~pS3i1bYsQ#Z0drdx&$hPG{s3u>MO82!iLy2TuHu^)t7Z(0C{ zLJh1kT{!;A5<5SdPPV0xQJ~);6Z;gq8*5W<(nR53*9 z${^)$Ge}t(M?%<{zk=TE?=Bph*mv}0Pcl!`N`eX8ZEU%cbrJJ=^D812H)u#4`y|WM zb#ecb?Dy>5?&9>5AU+Z4qG?J*vdC#<#Vl=unA-^6S-e54XoRZnAKk@~Mwk(fOV{m5 zn$|?$^EgTwmo6eVBfVR?DB28KkGf}WW(yMULOL;e>kGYAV?O@x!ibx2wFUV~n%EhA zq3E-P-N$<5ihWzKE5rBb76`~=vUMCiIr67#=WAch5RqGf`|~oy_^pt1GBdsWE~PTZP_6+i4` zH*`MRSC8oc(qd`*@=dL2w3zx7Zfc@0i=Kivi%5(ivSGAFV~xNVys<&HC{uj+6k9-a zVf-#!d!ccr1e4i7IcBkH7u&_Y%@8AZqZ1Q)iVeGQGoq{~p5$Z`>APSLYhsgo3jfor zq?)<`_vHGW=DM)DaR#3LEjSVkbF{{~Vr_GsHCKT!_`WRX12QH6^`ev9mpuhrj0@*L zruDict&^M}N<4*vt%ZbRFDvM{B1;W^2PVIGplYB=OxO!mFW@tKFYuyAt|BK}O`M>r z_Iod=>dam?*75NiX4ifu;K$zRTyQy1W;q zd2z=FlT!5pgrnmA;^+&Y69_wB1fmvai4`xheaUxWK8bmRBN9n7-j&VTysX_b|3*99 zXR^fHmsnHc*JkEdy8N@&i@QFw+o2i!K1&q6%w9_VAglv45E@WQY!NHgKCjKo7QR<- zGL?&XcWj|#9%;ZnYw+mUq*vJZo>sYQ!mycE5!FR1V@iLe%ct_35ih{L0>t|SH1Jhc zWf6`gud?KuDVt?@`Qio5sBRIwCWjFws-A{K<-Eb;+ApD_KDGvy49FLRFTmDrhLsoX z4zf!1h+Tl2?U&?d#_XxmIcQqEZ5XG2SV?^bOfYy>Weylh-+BdT##v50&f zr$d`DYYgIgYo72ujdeqJ*54>-_E1v>-j&GG<~N;|{cu8t7XCNcq<9Kbyrpp<2^4}s)0=EA2?*(j zp$3!nV3(DJCmY-li*oRyLO<=QTGTP`FbEX#9l^JHQg2!qvwQ`BMLTUm9Q`Iu3lWo5 z;AnCS<$~A+xKWtwLcI0>u0q~adpwj9_iKn5?lijV<$`WlrPIcdrkmi4)9$8g(Z(;x zheZhu{{$H(A?Ix9Iq~>gtUYyR*IS@=_$D7=d(+=Sfs`y8s)&T&@IX@l|8(Ez=iX=l z4Z*0a79Fhpxwl|%vx$lCDsc_^tBy@}twU3sHoA$3&*Qztytmo3Hl1=5wd^FmeH*HG zG~;|nH8=MiHrp38lW9Zkm0P+X=7T}x#P$)*(bxgE_;M8>K?J?16(8DBR)`{_8-d7Q1zKFKf9m)5ciuqJ9E|W99nZM-IjN|CSh-j zQ&jQo-`P#<%N$Yu5oF9!xnj{r==#81ap)sl_}U}de9Q*0V6G_n7#J}#SFHLNvaml_ z?EM&+ILedVA*@3s_&@GqbPd}Z0=;P*mR67Vh{J-?f(RNbXMGV_lDza zn$EVW+VqX$+mE3&3!Gp%?5P4V`vi9PW?aQ*Y&ctxv%Bdt7Riz~Z0|1hGgG$rFmycz z2&6+TCXa=Thx>^mUqF=I-Ea5!lQ^ty$NQ_1!;G^oLag}*yMs0K6Y;0OwY&EdV^6_2 z(bzH63%k$!&$o+t2s<9`r;1R$sBgn5w!KYSubzaQ`5%Z0|70(-^?4%wG+AZz7qd^Z zlhNO!6{fvpeBWP8`jSDu$P>P=*iyE-zu5Z~0E#dB8uN_!B7E%&^MJl*t2MFuE0#p5 z8@^`aqgTsXZZZ&doMEti72Y!t;n(JgCIp>j?FQAf3%hnQx}7+B28cDfo!#rU>pHyj z8D;H6{5Lq9DT5j_`og>=-#}?q){ZRxc|OX{`-YVuAH#8Z>v1X7`3)o+)N}3|5X7=} zMYWyGbZ-!X!D6KbMZWQ8q2s4?U0aT8DGOjbEE&=tQj{Bzr`HPafqVt@C`b|qVLe|6o=UK9kxtxeR1?Vwu!zA{snbp2QmM9 zAjen#Vs_tFK!%71IrG@~r3d?lK{at&G49@7g#)G%*hUVn+4!YM{GR#yluB!!wa{hq}|nm0TSe$SHgXbakab?<^U!BP*Y8y;9v zxWPd;Ify=&naWIc!$ZRj58?TN<-!3`$>u4Jl+Du}Z1W7qeT}mmV%iVT{LXP0aJM~3 zvzZ%uQn*cbhz&nLv2U5AQykp_$_ zhhLA9Aq$Ot`H-R(Yx2mM;_|YM7BeDBqs}cnrsfB-=Vg74pA--M$huYkR<_IaiNzMq zsB}z{{hNaRt8u7)Mqj-ULL41nuaVs(TQbYCiMm9nLUrDaaRwdg!b^q2bwwksXBtD( zPy^!<1^Nr9`+(;`7c#~nSnS)m$Ri>W`?7pk%SYn34JFtLuzy9IQrDE z#oKY4B`$xVs|)231wXNZ za$re~7YP#;ECEfTG#Y4xIS}*YQg(bXW{c7Z%Lv2h_d#x#bU@a0b6fFT6U+^Dx?8dth#xJo+oEBFb%&hs+5|9N=2m?|cm zXMc458&ALGYgxWx)BFHnI&&Ue2VBM(V)G(L<7&pCH^qt&^NjraKrh~_+HO8*5Rep) z9yv(Tx0-PpJQouSXb%a5&TW*7>G#9ff(r{}PfPgWXg)hqJ=E~VvMEwI{_vk|5}u@ZCCF~H;AhmY}*$v+2(ta8JGN2|9u`CLz_&R03D7jMQvt52Q6 z>nrDUJ~om3a#LribINab1-w2>zui@guV`^8xENagW^T^3T; ztd^T~QrUW0RzybdT_gV;7Ekq2npHo2!{e;qE1^NF!2#AB?eV$>vpkJ&Ax<^c1cW1! zFGzd|@oo1^)ZWJzX|Sx?f>Vw?buR_PrbwPQo?z}xz~iCdqqP1km=oEzyzdd-l1IHQ zrnmi1Q5Ug6@8SlXuAW_dg)8Yf$gB*oe@+xd0iK@*#Jngzmwnq-oQvWfLTo$lrgsuo z+Ic5Gc`CDm2BzV75K0Sa|3sJV$ZHz)Xh5Nw1@f9k@$c;yi|l-u{)~9b&aaOC7H(#; zAm_m2gRc!QAlG7(+Mtog#r+-R4rT01wn5kPI2^=)^4-_>Uryn9<=^w0W4;% z3t$SyLGHf87r+o1*Sa9mE(+UQ!=gHxKWHuq;cUx2c@|PwkEB{|480rasRT?0G-z|s zS^7N-jD8({H{knRlc;LTN!o49ngGd{Xr|JUfAtY;|&irzUWkEq`~%Z@TDD`RUaOI^m|@ z^y&mmM&$2*T_v?n@^@jO+uFP2dj`32GOP0J!jl;N@LS2at?zZ%@d!vhUI5s_u@jX$ zxG&vul~E(3#kVoMQ^#e+ZX1JK9|k24yK z`rXXz^0#;?mQQ5On?-tip6I*_4&S38F<6e@bMr-cd+uRt28p@&M#IN{jW-y?1D#?+ zd+yKs7Wv`9zlMzUo&{0MA54m+PDV4FSoFeg!dZ%6Gl=5b!xZ!?NHH`X;dG+UIH}5W z@>a+2A=5GZS8xh%68V`z>CPcnU0lD|6%Y2c z@{ow`#68Z_Xb(@G8pJj}!YV<11)X>+IP@kc8U*XFa54#VqzwA~GvcT` z%`VMM(Qpb!7@{Hx_mq+_I_mwvYs8|?++S^lE3cuNG_s(Py`)82ZN_~LMgBfB-UeI4 zD72s!ack`(%u#*Tr0V$`Op;^}D_<*JR|1?Am)@tVS0F@F)U1re`iY=t|md@Xo|Y<5;^5v zc&7aaEO@#XBPu%cgceY5EESn>I~47w$pR@DULwXO@pQWddO0yI6G4-3^$3-daucv= zTEnN3CQ!kw0o2nH0!{Q%fDMD|rFmMIVi3d(o@_v1M6a&A-TzNOujtA>|CfNCmWano z>j+$g*RMn0AE_Oer@C*Hh^l1nsV1%sU`bb9G=apmDLe(@+H|aqw&o_#;^Oa{*h+PM z6;gFk-s5JxqC?6X@f2)5j)qbV4JvEW`lJI9TE#fssKkqsS9IeYJv(uUB{OV~;{pjz zHyb84jF(PIy78ImmfvZzQK5Jps;)i2tmB(g@#WiAb!|d(Xz{0(O z$7)fvaM3-@$CFEFQ{%__{M!&UsEb`eCnL>r{Y}$In^SZ(=3&dCjz7GqJhk)Nom*eyyS1+y!jlrhGsMlQe1LZ{-o*nIlJdGY ztM!Sw0z9@?X2vfOe@o?~(zi>C43+g&i0UN5Q$w$O?>2C>O2lT%EZohwXM`w9<3;h4 zuT}$HD2d#J_)4wZ2LWnT8U}#<;NCQz*tyc-#gqVr@E4&$Gs4gO$M^v`gX=_3sWqfuOPn``tab z{W83O&`M)rV~^|s1&bPc5R_pTD9&-5(lxW+LBJu;I95Nsc=!f=9Nz;w7}dw-@OozgU zUenY>RA>M?j8TuXIRNxcht=B#@0#_{gy)-`EHaKo+lHhv%K|J~`zcQJ!d?OWkIn)DhsBS~;{LG|P6K?g zWnuhb?L}sDUvg{Mf}hjKgUm(8)*$}FkcVJ2Gh3>e9?s^Ysw*8HXqq|xX^7jmRBB%1 z`%tklwGDZ3Rc8p{j_voDX8~4IG^~pq+o#~*{p*9EtAUqV}5I(YY zD~5v0&0?~jcl4`;8j$K~c*CzDhD7k8OTh_%Pb{oFQ*grg6BZE3h0tO(`LS2Sm>j+N z(#Q-4T{09Kdh_(mSH8DS8+$_@f-R6tqs0=qz_XP%OO`p`n~%&TPY%+)9(iDzAXV|x zvE!C*GhjJt)BISh0k(^X9$hR(|F9p$p-O^yEQjY+w^ra{H<}BC8t>`!OZxy>IXXTe zEDhT|vr!kD8Wx`n_YtZyE(X&Ext*iB=4ZFY-x3zTBHLTtQsB0*gim_47O+eXsiII= z!?%X#&uq;vg02e(AR$PQt#+{+!U~l2Y^~^zVev!Ymckm@;;{GuSG304!{Tr4 z>y^+WFC=Y&i-4@08teH_Yda8uovswYNG2eS%Em9V4f7ejCfqla2WmGUo&=mIGjA+t zkYZv1HrTA#zkx2Lufu*rJ=Y7CE1%;Vhv)br%yNYA)-%*rT=gKc@-|@|vEHY)GR1-b zQll#giGV=sn^a>*H>r;OR=#b&k&gyQ14215sxNOpme`2p8ALfsqN{z%i4vJ&6BVKP zCr3#brSw)6Nz^SZC6}Y)ZQ&^-EiNUOM))F2X~dla3Au4^h<$x|dUZmRr%_2=rgyFE zY=i2f7hLE1{6_TRBJ4)g;4Yb>Fu>^8rC4=Q*|;WGBQAzYL?<9ookQU8gxEa+4FAxM z=$Z1c_QWv5=xnKBDj&15&GZ4OCX^u76kWpMk zQ>%LUnK4QQJ?DyTQa$~4=ibJgc5C1sLaB|j-WG@Qus;G}Jf8>Vh}$&j19+~JC^uc% z)3u{M)sC1sfEPI5?%W5fEyw~Oy56h?%70)0HjgMDpAW|IT!AQnqn+f{r8IVC(3i$; zea*TS<@4mc;jfe#r<$_OJ{JH!PC2eIe23XrHI6abZoufpx=!XX4@HCOV*{>c zI<;VXr{o@P*QeMsM%7lJe^xr(3^d#IU&*IYUmv?t_4TDId9vs2&OW*wE*Z9l8yA=M zT|^e}1?<#ev7`V>#hVU`eFd14frrEie0|SJ$+ChC9H9t|O@rYrs2*-l%}Ug0d#F+bxgw`!zLaY$Zx{sm>&l6 zQSwnmngF-G3%>@~vZY@%%zR_jltw%69dVv$xHi|Ha)7-Sad?x=yR^;j`h$DhhXW-;~*%5ucT^2^kW z)Av82j+Prw8Lz@(Q87eUtl~q(czKC1jV_+JBzB7L;PRI0jK2yRAe#CLvxO`I~XW`sDw{+UXZ@Eoa!wa%u91~KLk|>1~nqUUT9+oUL^W{4oo01 zoUQ>{4zAuQwX6!@Aext2)=`iBU`zB{p10L_G}a3%2;@uq`bzb+9uguZLsSF@6O-Ts z6t-^n58YY@TKJwv7G*)aN6I(paC zvu$u}uUs{er+g9|rTZnMPlq5G3W?K0K@T3ph}0VaE;j#KHN&coY}Bz8*Zahzp*(k( z^{f*iBPkiWn0mmA+oh%Ucb;uH!`gP5ZQm)|7AJ>tU%b`k<_p>so?+N6j=`H+cbZR0 zk=s#AsyTH~kC_8S9JQgW2K1O9)g25-<8?ZpouOZPK05`5Cm-NQim-t6O>`7UtAl2= z^~{XYWOx9kM=c*q0Y}qJg)KF@bw8ZK@(gXGl`hU>0B%xL_Sn-AS3Jo*FDh^CUkPwp>Q*ma zYH@|u)LsGG9yCX4zhT3{9$g_Z7vJ1)&{!ichRVf)MEJnhtVEnJ+aMeEmN+Z z$Hdg-qYpoi6stqXMu{`ma!(|60t(^yksuI8q3R&jW!0e}FNG~da%vctrM|QUP-(!F zPAs!$So#|!t@T;uJBOuHdCEg+T(ea}MbXN_!wXxTxhrfy)=>?m74&L_>=)(?T>Pa* zKrBE(FKmMVMKkY>6}h7znSC)zOdG`u+7HQdW69@$LD60EteWBC=~28(_qU-=ARmmA zyGI$e&hWb1uQzCz29dzUD9w*FqDza#ucP=)$#WdT9z1YcwC0|2jb2pNPGe<5Zx56q zY%kPd!!~a;2m_46nntVB!5>HSRqcrnSk{PCRfSk{9q*7x>_(FO2BiZhag$gMsyTEW z_jnZPuV9--t2ISMXZ@fCp=rHqz;c}BID90QL*!pHyrXA{IpsVf^J1Q9aijJo(pcQc zd_40=IZi35xd3#DCq~N`A*=0Is^>|IApKfgjW`P(<*lCDC>Vui^niJI^m;)q&yyyADSZfb^dyOn?df)~69$+W1PvZhpDN zb&fOoO`M)S+Xu`xVRvYX+UK8J2IqFsWm2E1z|JHqRhk`0N( z-*I1NE1PL<1;<$$z6!Up848Q4-|=KeYZ({Ct@<4-`m9HQr&z}M64@(=ggeH9^}KqW z7(14yM-xk-xqjn1Q9G9VuC!Rl8|Jv?fQ8Trm&HQVqM>?P-wS`!w9bnV-;U)e3|u4r z1{khoz9vTAz;mmqDh>gttrnETx>LEDkt?+MGHf@)SvcB;%~V|*&295GxU^OV!C?2a zZHssDah3t683m{h9F|)mWRw;J=oRhjfx6y>Zh#K<=r`h({|KTN=Rtri;%prYNgQuu z7?jx}h#+bg&>R0XlGv7x!=QSWizVZDm4gJ)e9W6dMG<);ETLK?OQ5q_d%bH8JkRL7 zqU1)fPoUJw2=MFxOuNJFJs-;X>2XtujvSb6mi^`isIdE($NyuJ-NGwu{fk z^Ls5TysF=0`)y4=JXOivqs7`u5~SZ`bg&Y#1pQtPc>*%Qf#1Wf#dEzlhwre#aA&>} z+9=JYJXdSBwRI~dK^}wkdn5+<&MGgsm(BR|2ejbSVGNlVcZKKVp<%W}xE(ULf+tQ? zR`eCpgA@Uttm`*sc;wp=Bra0FC_Y0w?rcPSI^-5&9u(K$$cDFN+;M3itEE5*P3M3? zve#Zo59u8Thp3=U;ExsHw5unmMIT$Kn2#!t=f_;S)(3G(n)294=Fd~`pfX)anBs8P zd>&?BK+h8o!DGt9@!a>K>(xr2cF5G4JWFrP2sSCR>k8JGp*2}~A*xp!X?Vq1HA?5x zHpA+WwI{HIS!+T*GAH4EOhODgWXEgIRG#cn4UX)}c{Rvco%p1=FE2v{1W@oXO zjTyFD(i3h(�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 diff --git a/patch_v2/sdk/meow_ui.h b/patch_v2/sdk/meow_ui.h index 6b16ef0..5813388 100644 --- a/patch_v2/sdk/meow_ui.h +++ b/patch_v2/sdk/meow_ui.h @@ -158,6 +158,11 @@ typedef struct meow_ui_events { void (*on_swipe)(int dir, int dx, int dy); /* 左滑=返回(左缘起点+抬手触发) */ void (*on_tick)(void); /* 空闲周期回调(动画/时钟) */ void (*on_swipe_progress)(int x_start, int dx);/* 左缘返回手势过程实时回调;x_start=按下X, dx=当前X-按下X */ + /* M2.71-bug2/6:拖动过程回调(跟手)。on_touch_down=按下后首个有效坐标(起点); + * on_touch_move=拖动中坐标变化(坐标变了才回调)。用于 slider 拖动 / 列表/页面滚动跟手。 + * 均在 IME 弹出或模态阻塞时被吞(键盘/模态优先喂)。可 NULL。 */ + void (*on_touch_down)(int x, int y); + void (*on_touch_move)(int x, int y); } meow_ui_events; void meow_ui_run(const meow_ui_events *ev); /* 阻塞:事件循环,直到 meow_ui_request_exit */ @@ -500,6 +505,13 @@ int meow_list_max_scroll(meow_widget *w); /* max(0, count*item - void meow_list_scroll_by(meow_widget *w, int dy); /* 相对滚动(App on_swipe 用) */ int meow_list_set_item_h(meow_widget *w, int item); /* 改行高/列宽 */ int meow_list_hit_index(meow_widget *w, int x, int y); /* 命中项下标(含滚动换算);-1=未命中项/越界 */ +/* M2.71-bug8:列表行选中 + 行点击回调。选中行已有高亮(现有绘制读 w->sel)。 + * meow_list_tap_at:命中一行则置选中并回调 tap_cb(若设),返回该行 idx;未命中返回 -1。 */ +void meow_list_set_selected(meow_widget *w, int idx); /* 选中行(越界 clamp);标脏 */ +int meow_list_selected(meow_widget *w); +typedef void (*meow_list_tap_fn)(int idx, void *ctx); +void meow_list_set_on_tap(meow_widget *w, meow_list_tap_fn cb, void *ctx); /* 命中行→回调 */ +int meow_list_tap_at(meow_widget *w, int x, int y); /* 命中行:置选中+回调,返回 idx/-1 */ /* ============================================================ */ /* §5.8.6 模态(App 层,非系统叠加):Dialog / BottomSheet diff --git a/patch_v2/sdk/meow_ui_dialog.c b/patch_v2/sdk/meow_ui_dialog.c index 3facc68..bca80c6 100644 --- a/patch_v2/sdk/meow_ui_dialog.c +++ b/patch_v2/sdk/meow_ui_dialog.c @@ -20,6 +20,39 @@ #define MEOW_MODAL_ROW 48 #define MEOW_MODAL_BTN 44 +/* M2.71-bug3:模态(Dialog/BottomSheet)背景快照/恢复。 + * 旧实现直接往 back_buf 画 scrim+卡片并 flush:①每次 open 再现叠一层 α150 遮罩(叠加变黑); + * ②关闭后 scrim+卡片像素留在屏上(残影);③要整屏刷新才盖掉。此处 open 前把整帧背景拍下, + * 关闭后回填 + 整帧上屏 → scrim 每次只叠一层、关闭即还原、无残留。 */ +static unsigned char *g_modal_cap = NULL; +static int g_modal_cap_line = 0, g_modal_cap_h = 0, g_modal_cap_bpp = 0; + +static void modal_capture(void) +{ + unsigned char *bb = meow_ui_back_buf(); + int line = meow_ui_back_buf_pitch(); + int h = meow_ui_height(); + int bpp = meow_ui_back_buf_bpp(); + if (!bb || line <= 0 || h <= 0) { g_modal_cap = NULL; return; } + size_t n = (size_t)line * (size_t)h; + if (!g_modal_cap || g_modal_cap_line != line || g_modal_cap_h != h || g_modal_cap_bpp != bpp) { + free(g_modal_cap); + g_modal_cap = (unsigned char *)malloc(n); + g_modal_cap_line = line; g_modal_cap_h = h; g_modal_cap_bpp = bpp; + } + if (g_modal_cap) memcpy(g_modal_cap, bb, n); +} + +static void modal_restore(void) +{ + unsigned char *bb = meow_ui_back_buf(); + if (!g_modal_cap || !bb) return; + size_t n = (size_t)g_modal_cap_line * (size_t)g_modal_cap_h; + memcpy(bb, g_modal_cap, n); + meow_gfx_mark_full(); + meow_ui_flush(); +} + /* ---- Dialog ---- */ struct meow_dialog { meow_dlg_t type; @@ -62,58 +95,73 @@ static void dlg_calc(meow_dialog *d, const meow_theme *th, dlg_geom *g) g->btn_w = (g->dw - 2 * pad - 12) / 2; } -static void dlg_paint(meow_dialog *d, const meow_theme *th) +/* 只画卡片内容(不含遮罩)——供「仅高亮变化」时重绘卡片区,不会把遮罩再叠一层(防叠加变黑)。 */ +static void dlg_card(meow_dialog *d, const meow_theme *th, const dlg_geom *g) { - int W = meow_ui_width(), H = meow_ui_height(); - meow_ui_fill_rect_alpha(0, 0, W, H, 0x000000, 150); /* 遮罩压暗 */ - dlg_geom g; - dlg_calc(d, th, &g); int pad = 24; - meow_gfx_fill_round(g.dx, g.dy, g.dw, g.dh, th->radius_card, th->surfaceContainerHighest); - meow_ui_draw_rect_round(g.dx, g.dy, g.dw, g.dh, th->radius_card, th->outline); - meow_ui_text(g.dx + pad, g.dy + pad, d->title, th->font_title, th->onSurface); + meow_gfx_fill_round(g->dx, g->dy, g->dw, g->dh, th->radius_card, th->surfaceContainerHighest); + meow_ui_draw_rect_round(g->dx, g->dy, g->dw, g->dh, th->radius_card, th->outline); + meow_ui_text(g->dx + pad, g->dy + pad, d->title, th->font_title, th->onSurface); if (d->type == MEOW_DLG_SELECT) { for (int i = 0; i < d->nitems; i++) { - int ry = g.row_y + i * g.rowh; - if (ry + g.rowh > g.dy + g.dh - 12) break; + int ry = g->row_y + i * g->rowh; + if (ry + g->rowh > g->dy + g->dh - 12) break; if (i == d->cur) { - meow_ui_fill_rect(g.dx + 8, ry, g.dw - 16, g.rowh, th->primary); - meow_ui_text(g.dx + pad, ry + (g.rowh - meow_ui_text_height(th->font_body)) / 2, + meow_ui_fill_rect(g->dx + 8, ry, g->dw - 16, g->rowh, th->primary); + meow_ui_text(g->dx + pad, ry + (g->rowh - meow_ui_text_height(th->font_body)) / 2, d->items[i], th->font_body, 0xFFFFFF); } else { - meow_ui_text(g.dx + pad, ry + (g.rowh - meow_ui_text_height(th->font_body)) / 2, + meow_ui_text(g->dx + pad, ry + (g->rowh - meow_ui_text_height(th->font_body)) / 2, d->items[i], th->font_body, th->onSurface); } - meow_ui_fill_rect(g.dx + pad, ry + g.rowh - 1, g.dw - 2 * pad, 1, th->outlineVariant); + meow_ui_fill_rect(g->dx + pad, ry + g->rowh - 1, g->dw - 2 * pad, 1, th->outlineVariant); } } else { /* INFO/CONFIRM:正文行;INPUT:文本预览 */ int nmsg = (d->type == MEOW_DLG_INFO) ? (d->nitems > 0 ? d->nitems : 1) : (d->nitems > 0 ? d->nitems : 1); - int y = g.row_y; + int y = g->row_y; if (d->type == MEOW_DLG_INPUT) { char buf[300]; snprintf(buf, sizeof buf, "%s", d->ime.buf[0] ? d->ime.buf : "(tap OK to edit...)"); - meow_ui_text(g.dx + pad, y, buf, th->font_body, th->onSurfaceVariant); + meow_ui_text(g->dx + pad, y, buf, th->font_body, th->onSurfaceVariant); } else { for (int i = 0; i < nmsg; i++) { if (i < d->nitems && d->items[i][0]) - meow_ui_text(g.dx + pad, y, d->items[i], th->font_body, th->onSurfaceVariant); + meow_ui_text(g->dx + pad, y, d->items[i], th->font_body, th->onSurfaceVariant); y += meow_ui_text_height(th->font_body) + 8; } } /* 取消(左,text 型)/ 确定(右,filled) */ - int bx = g.dx + pad, cx = bx + g.btn_w + 12, by = g.btn_y; - meow_ui_draw_rect_round(bx, by, g.btn_w, g.btn_h, 10, th->primary); - meow_ui_text_center(bx + g.btn_w / 2, by + (g.btn_h - meow_ui_text_height(th->font_body)) / 2, + int bx = g->dx + pad, cx = bx + g->btn_w + 12, by = g->btn_y; + meow_ui_draw_rect_round(bx, by, g->btn_w, g->btn_h, 10, th->primary); + meow_ui_text_center(bx + g->btn_w / 2, by + (g->btn_h - meow_ui_text_height(th->font_body)) / 2, "CANCEL", th->font_body, th->primary); - meow_gfx_fill_round(cx, by, g.btn_w, g.btn_h, 10, th->primary); - meow_ui_text_center(cx + g.btn_w / 2, by + (g.btn_h - meow_ui_text_height(th->font_body)) / 2, + meow_gfx_fill_round(cx, by, g->btn_w, g->btn_h, 10, th->primary); + meow_ui_text_center(cx + g->btn_w / 2, by + (g->btn_h - meow_ui_text_height(th->font_body)) / 2, "OK", th->font_body, th->onPrimary); } } +/* 整帧绘制:遮罩 + 卡片。 */ +static void dlg_paint(meow_dialog *d, const meow_theme *th) +{ + meow_ui_fill_rect_alpha(0, 0, meow_ui_width(), meow_ui_height(), 0x000000, 150); /* 遮罩压暗 */ + dlg_geom g; + dlg_calc(d, th, &g); + dlg_card(d, th, &g); +} + +/* 仅重绘卡片区(遮罩不变),flush 卡片矩形:高亮变化用,不叠加遮罩。 */ +static void dlg_repaint(meow_dialog *d, const meow_theme *th) +{ + dlg_geom g; + dlg_calc(d, th, &g); + dlg_card(d, th, &g); + meow_ui_flush_region(g.dx, g.dy, g.dw, g.dh); +} + meow_dialog *meow_dialog_create(meow_dlg_t t, const char *title) { meow_dialog *d = (meow_dialog *)calloc(1, sizeof *d); @@ -155,12 +203,14 @@ void meow_dialog_show(meow_dialog *d) meow_input_start(); meow_input_drain(); /* 排空残留触摸(goodix 长尾) */ d->done = 0; d->result = 0; + modal_capture(); /* M2.71-bug3:拍下背景,关闭即还原(scrim 只叠一层/无残影) */ dlg_paint(d, th); meow_ui_flush(); while (!d->done) { meow_input_ev e; while (meow_input_pop(&e)) { + meow_ui_activity_ping(); /* M2.71-bug5:模态期间交互也重置息屏计时 */ if (e.type == MEOW_EV_TAP) { int x = e.a, y = e.b; dlg_geom g; @@ -168,8 +218,13 @@ void meow_dialog_show(meow_dialog *d) int in_card = x >= g.dx && x < g.dx + g.dw && y >= g.dy && y < g.dy + g.dh; if (!in_card) { d->done = 1; d->result = 0; break; } /* 遮罩外=取消 */ if (d->type == MEOW_DLG_SELECT) { + /* M2.71-bug3:点项 → 立即刷「选中」高亮(不下线、不叠加遮罩); + * 再点同一项 → 确认(返回该项下标)。点卡片外=取消。 */ int idx = (y - g.row_y) / g.rowh; - if (idx >= 0 && idx < d->nitems) { d->cur = idx; d->result = idx; d->done = 1; } + if (idx >= 0 && idx < d->nitems) { + if (idx == d->cur) { d->result = idx; d->done = 1; } + else { d->cur = idx; dlg_repaint(d, th); } + } break; } /* 非选择:按钮命中 */ @@ -195,6 +250,7 @@ void meow_dialog_show(meow_dialog *d) if (d->done) break; usleep(16000); } + modal_restore(); /* M2.71-bug3:关闭还原背景,无残影 */ } int meow_dialog_result(meow_dialog *d) { return d ? d->result : 0; } @@ -257,6 +313,7 @@ int meow_sheet_open(meow_sheet *s) int W = meow_ui_width(), H = meow_ui_height(); int ph = sheet_h(s, th); int py = H - ph, pad = 24; + modal_capture(); /* M2.71-bug3:拍下背景,关闭即还原 */ /* 首次绘制:遮罩 + 底部面板(顶部圆角) */ meow_ui_fill_rect_alpha(0, 0, W, H, 0x000000, 150); meow_gfx_fill_round(0, py, W, ph, th->radius_card, th->surfaceContainerHighest); @@ -273,6 +330,7 @@ int meow_sheet_open(meow_sheet *s) while (!s->done) { meow_input_ev e; while (meow_input_pop(&e)) { + meow_ui_activity_ping(); /* M2.71-bug5:模态期间交互也重置息屏计时 */ if (e.type == MEOW_EV_TAP) { int y = e.b; if (y < py) { s->done = 1; s->result = -1; break; } /* 点面板外=取消 */ @@ -288,6 +346,7 @@ int meow_sheet_open(meow_sheet *s) if (s->done) break; usleep(16000); } + modal_restore(); /* M2.71-bug3:关闭还原背景,无残影 */ return s->result; } void meow_sheet_free(meow_sheet *s) { if (s) free(s); } diff --git a/patch_v2/sdk/meow_ui_gfx.c b/patch_v2/sdk/meow_ui_gfx.c index b3b3ba5..fdcd3fc 100644 --- a/patch_v2/sdk/meow_ui_gfx.c +++ b/patch_v2/sdk/meow_ui_gfx.c @@ -179,6 +179,10 @@ void meow_gfx_mark_dirty(int x, int y, int w, int h) { dirty_add(x, y, w, h); } void meow_gfx_mark_full(void) { dirty_full(); } void meow_gfx_dirty_reset(void) { dirty_reset(); } +/* back_buf 每行字节数 / 位深(M2.71-bug3:模态/IME 整帧快照恢复用)。 */ +int meow_ui_back_buf_pitch(void) { return g_line; } +int meow_ui_back_buf_bpp(void) { return g_bpp; } + /* launcher(系统组件)与 SDK 共用同一 back_buf:launcher 的 fb 绘制指针指向它, * 从而 launcher 与 app 统一渲染栈(同一离屏 + 同一 present)。 */ unsigned char *meow_ui_back_buf(void) { return g_back_buf; } @@ -393,6 +397,23 @@ void meow_ui_draw_rect_round(int x, int y, int w, int h, int r, uint32_t color) dirty_add(x1, y1, x2 - x1, y2 - y1); } +/* 圆角矩形半透明填充(M2.71-bug4):按圆角裁剪后逐像素混合 α。供「禁用变暗」等状态层用, + * 避免在圆角外的方形区域也叠色(旧 fill_rect_alpha 会在圆角外露出灰方块)。 */ +void meow_gfx_fill_round_alpha(int x, int y, int w, int h, int r, uint32_t color, int alpha) +{ + if (!g_init_ok) return; + if (alpha <= 0) return; + if (alpha >= 255) { meow_gfx_fill_round(x, y, w, h, r, color); return; } + if (w <= 0 || h <= 0) return; + int x1 = x, y1 = y, x2 = x + w, y2 = y + h; + if (x1 < 0) x1 = 0; if (y1 < 0) y1 = 0; + if (x2 > g_xres) x2 = g_xres; if (y2 > g_yres) y2 = g_yres; + for (int py = y1; py < y2; py++) + for (int px = x1; px < x2; px++) + if (rr_inside(px, py, x, y, w, h, r)) put_px_blend(px, py, color, alpha); + dirty_add(x1, y1, x2 - x1, y2 - y1); +} + /* ================= §5.8.6 batch2:圆形/线段/圆弧环(软渲,无 -lm) ================= * 无 GPU 合成、构建只链 libz+pthread(无 -lm),故不用 math.h:COS 用象限对称查表、 * 圆用 bbox 距离测试、弧带用「沿弧采样成粗线(圆帽)」近似。 */ @@ -462,7 +483,9 @@ void meow_gfx_ring_arc(int cx, int cy, int r, int th, int start_deg, int sweep_d if (!g_init_ok || r <= 0) return; int sw = sweep_deg % 360; if (sw < 0) sw += 360; - if (sw >= 360) { /* 整环:bbox 距离带(无角度判定,最快) */ + /* 整环(|sweep|>=360):bbox 距离带(无角度判定,最快)。注意 sweep=360 → sw=0, + * 若靠 sw>=360 判整环会落下走弧分支只画一个点(顺带让 Radio 外圈/圆形进度轨道环渲染成点)。 */ + if (sweep_deg >= 360 || sweep_deg <= -360) { int r1 = r - th / 2, r2 = r + th / 2; if (r1 < 0) r1 = 0; int x1 = cx - r2, y1 = cy - r2, x2 = cx + r2 + 1, y2 = cy + r2 + 1; @@ -478,6 +501,7 @@ void meow_gfx_ring_arc(int cx, int cy, int r, int th, int start_deg, int sweep_d dirty_add(x1, y1, x2 - x1, y2 - y1); return; } + if (sw == 0) return; /* 零弧长:不画(sweep=0;整环已在上面处理) */ /* 弧带:沿弧采样相邻点、粗线连接(圆帽)近似。方向:deg 右(0)→上(90)→左(180)→下(270),顺时针。 */ int n = sw / 2 + 1; if (n < 2) n = 2; diff --git a/patch_v2/sdk/meow_ui_ime.c b/patch_v2/sdk/meow_ui_ime.c index ff60b95..87a5a8e 100644 --- a/patch_v2/sdk/meow_ui_ime.c +++ b/patch_v2/sdk/meow_ui_ime.c @@ -22,6 +22,36 @@ #define GAP 4 /* 键间距 */ #define GCOL 48 /* 列步进 = GW+GAP */ +/* M2.71-bug7:键盘区背景快照/恢复。旧实现关闭后键盘像素留在屏底(残影)。此处打开前拍下 + * 键盘区 [KB_TOP,H),关闭后回填 + 上屏 → 无残影。 */ +static unsigned char *g_ime_cap = NULL; +static int g_ime_cap_line = 0, g_ime_cap_h = 0; + +static void ime_capture(void) +{ + unsigned char *bb = meow_ui_back_buf(); + int line = meow_ui_back_buf_pitch(); + int h = meow_ui_height() - KB_TOP; + if (!bb || line <= 0 || h <= 0) { g_ime_cap = NULL; return; } + size_t n = (size_t)line * (size_t)h; + if (!g_ime_cap || g_ime_cap_line != line || g_ime_cap_h != h) { + free(g_ime_cap); + g_ime_cap = (unsigned char *)malloc(n); + g_ime_cap_line = line; g_ime_cap_h = h; + } + if (g_ime_cap) memcpy(g_ime_cap, bb + (size_t)line * KB_TOP, n); +} + +static void ime_restore(void) +{ + unsigned char *bb = meow_ui_back_buf(); + if (!g_ime_cap || !bb) return; + size_t n = (size_t)g_ime_cap_line * (size_t)g_ime_cap_h; + memcpy(bb + (size_t)g_ime_cap_line * KB_TOP, g_ime_cap, n); + meow_gfx_mark_dirty(0, KB_TOP, meow_ui_width(), g_ime_cap_h); + meow_ui_flush(); +} + typedef enum { K_CH, K_SHIFT, K_SPACE, K_BACK, K_ENTER, K_ESC } kkind; struct kbkey { int x, y, w, h; kkind kind; char ch; }; @@ -91,18 +121,18 @@ static void build_kb(meow_ime_mode mode) add_key(x + GCOL, y + GCOL * 4, (GW + GAP) * 6, GH, K_SPACE, ' '); add_key(x + GCOL * 8, y + GCOL * 4, 2 * GW + GAP, GH, K_ENTER, '>'); } - } else { /* MEOW_IME_NUM */ + } else { /* MEOW_IME_NUM:ESC(取消/关闭) + 空格 + 退格;单独一行回车(OK=提交并关闭)。 + * M2.71-bug7:修掉旧版「同格重叠的 BACK+ENTER」与重复回车。 */ add_ch_row(y, "1234567890"); add_ch_row(y + GCOL, "-/.:*#+="); { int total = 10 * GW + 9 * GAP; int x = (480 - total) / 2; - add_key(x, y + GCOL * 2, GW, GH, K_ESC, 'X'); - add_key(x + GCOL, y + GCOL * 2, (GW + GAP) * 7, GH, K_SPACE, ' '); - add_key(x + GCOL * 9, y + GCOL * 2, GW, GH, K_BACK, '<'); - add_key(x + GCOL * 9, y + GCOL * 2, GW, GH, K_ENTER, '>'); /* 覆盖:回车 */ + add_key(x, y + GCOL * 2, GW, GH, K_ESC, 'X'); /* 取消/关闭(丢弃) */ + add_key(x + GCOL, y + GCOL * 2, (GW + GAP) * 7, GH, K_SPACE, ' '); /* 空格 */ + add_key(x + GCOL * 8, y + GCOL * 2, (GW + GAP) * 2 - GAP, GH, K_BACK, '<'); /* 退格 */ } - /* 单独一行回车 */ + /* 回车(OK=提交并关闭) */ { int total = 10 * GW + 9 * GAP; int x = (480 - total) / 2; @@ -149,25 +179,27 @@ void meow_ime_draw(void) { if (!g_ime_active) return; const meow_theme *th = meow_theme_get(); - /* 面板 */ - meow_ui_fill_rect(0, KB_TOP, 480, 720 - KB_TOP, 0x1C1C22); - /* 预览行 */ - meow_ui_fill_rect(0, KB_TOP, 480, 42, 0x2A2A33); - char preview[256]; + /* 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); /* 回显条 */ + char preview[260]; /* g_ime_buf(≤255) + '_' + NUL → 需 ≥257,防截断告警 */ + /* 回显=用户已输入的字符(live echo,非候选/联想),随键入实时刷新。 */ snprintf(preview, sizeof preview, "%s_", g_ime_buf); - meow_ui_text(14, KB_TOP + 9, preview, th->font_body, 0xFFFFFF); + meow_ui_text(14, KB_TOP + 9, preview, th->font_body, th->onSurface); /* 键 */ for (int i = 0; i < g_nkeys; i++) { const struct kbkey *k = &g_keys[i]; - int is_fn = (k->kind != K_CH); - uint32_t bg = is_fn ? 0x33333C : 0xFFFFFF; + uint32_t bg, fg; + if (k->kind == K_ENTER) { bg = th->primary; fg = th->onPrimary; } /* OK=提交 */ + else if (k->kind == K_CH) { bg = th->surfaceContainerLow; fg = th->onSurface; } /* 字符键 */ + else { bg = th->primaryContainer; fg = th->onPrimaryContainer; } /* 功能键(ESC/SHIFT/空格/退格) */ meow_gfx_fill_round(k->x, k->y, k->w, k->h, 8, bg); char label[2] = { k->ch, 0 }; if (is_letter(k->ch)) label[0] = g_shift ? (char)toupper((unsigned char)k->ch) : (char)tolower((unsigned char)k->ch); - uint32_t fg = is_fn ? 0xFFFFFF : 0x1A1A1E; if (k->kind == K_SPACE) { meow_ui_text_center(k->x + k->w / 2, k->y + (k->h - meow_ui_text_height(20)) / 2, "SPACE", th->font_body, fg); } else if (k->kind == K_ENTER) { meow_ui_text_center(k->x + k->w / 2, k->y + (k->h - meow_ui_text_height(20)) / 2, "OK", 20, fg); } + else if (k->kind == K_ESC) { meow_ui_text_center(k->x + k->w / 2, k->y + (k->h - meow_ui_text_height(20)) / 2, "X", 20, fg); } else { meow_ui_text_center(k->x + k->w / 2, k->y + (k->h - meow_ui_text_height(20)) / 2, label, 20, fg); } } } @@ -199,6 +231,7 @@ void meow_ime_close(int result) g_ime_orig->buf[sizeof g_ime_orig->buf - 1] = 0; } g_ime_active = 0; g_ime_done = 0; + ime_restore(); /* M2.71-bug7:关闭还原键盘区背景,无残影 */ } void meow_ui_text_input_async(meow_ime_ctx *ctx) @@ -211,6 +244,7 @@ void meow_ui_text_input_async(meow_ime_ctx *ctx) g_maxlen = ctx->maxlen > 0 ? ctx->maxlen : 255; g_shift = 0; g_ime_result = 0; g_ime_done = 0; g_ime_active = 1; build_kb(ctx->mode); + ime_capture(); /* M2.71-bug7:打开前拍下键盘区背景(关闭即还原) */ meow_input_start(); meow_input_drain(); } @@ -223,6 +257,7 @@ int meow_ui_text_input(meow_ime_ctx *ctx) while (meow_ime_active()) { 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_draw(); diff --git a/patch_v2/sdk/meow_ui_input.c b/patch_v2/sdk/meow_ui_input.c index 80b32ae..a7bbcb2 100644 --- a/patch_v2/sdk/meow_ui_input.c +++ b/patch_v2/sdk/meow_ui_input.c @@ -37,6 +37,7 @@ #define EDGE_W 24 /* 左滑返回的「左缘起点」宽度(t_dx < EDGE_W 才认返回手势) */ #define QUEUE_N 128 #define MAX_DEVS 8 +#define MEOW_APP_ACTIVITY_FILE "/tmp/meow_app_activity" /* M2.71-bug5:App 活动→launcher 重置息屏计时 */ /* ── 内部事件:系统级「下拉展开通知中心」(M2.5x 接线)── * 触摸状态机在抬手判定处识别「SWIPE_DOWN 起始于顶部热区」后压入;事件循环按系统手势处理 @@ -126,6 +127,8 @@ static int t_dx = 0, t_dy = 0; /* 按下原点(BTN_TOUCH 后首个有效 A static int t_cx = 0, t_cy = 0; /* 当前坐标(-1=本次尚未见到有效坐标) */ static int t_origin_valid = 0; /* 原点是否已锁定 */ static uint64_t t_down_ms = 0; /* 按下时刻(monotonic ms),供实时按住时长用 */ +/* M2.71-bug2/6:拖动过程事件上次上报坐标(坐标变化才入队 MEOW_EV_TOUCH_MOVE,防刷屏)。 */ +static int t_mv_x = -1, t_mv_y = -1; /* 按下边沿:只标记按下,绝不用传入坐标立即锁原点(避免用上一手势残留坐标当原点)。 * t_cx/t_cy 归 -1 —— 本次手势以「无坐标」起步,只接受随后到来的有效 ABS。 */ @@ -138,22 +141,32 @@ static void touch_press(int x, int y) t_cx = -1; t_cy = -1; t_dx = 0; t_dy = 0; t_down_ms = now_ms(); /* 记按下时刻:供实时按住时长/按住视觉 */ + t_mv_x = -1; t_mv_y = -1; /* M2.71:拖动过程起点未定 */ } -/* 由 ABS_X/ABS_Y 驱动:若本次按下且原点未锁且坐标有效 → 锁原点;再更新当前坐标。 */ +/* 由 ABS_X/ABS_Y 驱动:若本次按下且原点未锁且坐标有效 → 锁原点;再更新当前坐标。 + * M2.71-bug2/6:原点锁定即报 MEOW_EV_TOUCH_DOWN(拖动起点);随后坐标变化报 MEOW_EV_TOUCH_MOVE + * (坐标变了才报,省队列)。这两类事件供 slider 拖动 / 列表&页面滚动跟手。 */ static void touch_update(int x, int y) { if (t_down && !t_origin_valid && x >= 0 && y >= 0) { t_dx = x; t_dy = y; t_origin_valid = 1; + t_mv_x = x; t_mv_y = y; + push_ev(MEOW_EV_TOUCH_DOWN, x, y); } if (x >= 0) t_cx = x; if (y >= 0) t_cy = y; + if (t_down && t_origin_valid && t_cx >= 0 && t_cy >= 0 && + (t_cx != t_mv_x || t_cy != t_mv_y)) { + t_mv_x = t_cx; t_mv_y = t_cy; + push_ev(MEOW_EV_TOUCH_MOVE, t_cx, t_cy); + } } static void touch_release(void) { if (!t_down) return; t_down = 0; t_press_valid = 0; /* 本次按下从未锁到有效坐标(幽灵触摸/坐标未就绪):丢弃,且清空全部轨迹。 */ - if (!t_origin_valid) { t_cx = t_cy = -1; t_dx = t_dy = 0; t_down_ms = 0; return; } + if (!t_origin_valid) { t_cx = t_cy = -1; t_dx = t_dy = 0; t_down_ms = 0; t_mv_x = t_mv_y = -1; return; } t_origin_valid = 0; int mdx = t_cx - t_dx, mdy = t_cy - t_dy; int adx = mdx < 0 ? -mdx : mdx, ady = mdy < 0 ? -mdy : mdy; @@ -194,7 +207,7 @@ static void touch_release(void) push_ev(MEOW_EV_TAP, t_cx, t_cy); } /* 手势级干净起点:清空全部轨迹,下一手势从零开始,杜绝污染无自愈。 */ - t_cx = t_cy = -1; t_dx = t_dy = 0; t_down_ms = 0; + t_cx = t_cy = -1; t_dx = t_dy = 0; t_down_ms = 0; t_mv_x = t_mv_y = -1; } /* ---- 实时触摸态(内部:控件绘制按压/按住视觉用)---- @@ -221,6 +234,7 @@ void meow_input_touch_set(int down, int x, int y, unsigned hold_ms) } else { t_down = 0; t_press_valid = 0; t_origin_valid = 0; t_cx = -1; t_cy = -1; t_dx = 0; t_dy = 0; t_down_ms = 0; + t_mv_x = -1; t_mv_y = -1; } } @@ -301,6 +315,19 @@ void meow_input_start(void) /* ---- 事件循环 ---- */ void meow_ui_request_exit(void) { g_exit = 1; } +/* M2.71-bug5:App 活动信号(节流 ≤2/s 写标记文件,限 I/O)。 + * 仅真机写(宿主/qemu 无 launcher 消费,避免噪音);launcher 前台 app 循环消费它重置息屏计时。 */ +static uint64_t g_activity_last_ms = 0; +void meow_ui_activity_ping(void) +{ + uint64_t now = now_ms(); + if (now - g_activity_last_ms < 500) return; /* 节流:任意交互连续触摸也只 ~2 次/s */ + g_activity_last_ms = now; + if (!meow_gfx_is_device()) return; /* 离屏/宿主:无 launcher 消费 */ + int fd = open(MEOW_APP_ACTIVITY_FILE, O_WRONLY | O_CREAT | O_TRUNC, 0644); + if (fd >= 0) { if (write(fd, "1", 1) < 0) { } close(fd); } +} + void meow_ui_run(const meow_ui_events *ev) { if (ev) { g_events = *ev; g_events_set = 1; } @@ -319,6 +346,7 @@ void meow_ui_run(const meow_ui_events *ev) while (meow_input_pop(&e)) { if (g_exit) break; /* 已请求退出:不再分发剩余事件,杜绝「退出后又触发」的偶发再进/退 */ got = 1; + meow_ui_activity_ping(); /* M2.71-bug5:任意交互事件都喂 launcher 重置息屏计时(节流) */ int in_startup = (now_ms() < startup_cooldown_until); /* M2.22(C) */ if (e.type == MEOW_EV_TAP) { if (in_startup) continue; /* 启动窗口也吞 TAP:旧手势残留点按(如上一次左滑抬起) @@ -354,6 +382,17 @@ void meow_ui_run(const meow_ui_events *ev) /* 系统级「下拉展开通知中心」:起始于顶部热区的下滑为系统保留手势,不下发 * APP on_swipe;路由到系统钩子(当前为记录占位,通知中心 UI 为后续里程碑)。 */ meow_ui_sys_notif_pull(); + } else if (e.type == MEOW_EV_TOUCH_DOWN || e.type == MEOW_EV_TOUCH_MOVE) { + /* M2.71-bug2/6:拖动过程(跟手)。IME 弹出时触摸优先喂键盘(键盘覆盖层拦截, + * on_touch_* 丢弃,避免按到键盘却在背后控件上锁拖拽);启动窗口也吞(防残留点按 + * 误锁拖拽)。模态(dialog/sheet)期间本主循环被阻塞,天然不在此分发。 */ + if (in_startup) continue; + if (meow_ime_active()) 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) + g_events.on_touch_move(e.a, e.b); + got = 1; /* 交互事件:不睡眠,保持跟手帧同步 */ } else if (e.type == MEOW_EV_SWIPE_PROGRESS) { if (in_startup) continue; /* 启动窗口进度条静音 */ int x0 = e.a, xc = e.b, dx = xc - x0; /* dx=当前X-按下X */ diff --git a/patch_v2/sdk/meow_ui_internal.h b/patch_v2/sdk/meow_ui_internal.h index 9a4a610..62dbf3c 100644 --- a/patch_v2/sdk/meow_ui_internal.h +++ b/patch_v2/sdk/meow_ui_internal.h @@ -108,9 +108,14 @@ void meow_gfx_dirty_reset(void); /* 返回离屏 back_buf 指针(launcher 系统组件与 SDK 共用同一 back_buf 用)。 */ unsigned char *meow_ui_back_buf(void); +/* back_buf 的每行字节数(pitch)与位深(16/32)。M2.71-bug3:模态/IME 快照恢复用。 */ +int meow_ui_back_buf_pitch(void); +int meow_ui_back_buf_bpp(void); /* 实心圆角矩形(控件按钮底色用;公共 §3 只有空心 draw_rect_round)。[D3] */ void meow_gfx_fill_round(int x, int y, int w, int h, int r, uint32_t color); +/* 圆角矩形半透明填充(M2.71-bug4):禁用变暗等状态层用,圆角外不叠色(防灰方块)。 */ +void meow_gfx_fill_round_alpha(int x, int y, int w, int h, int r, uint32_t color, int alpha); /* §5.8.6 batch2:软渲圆形/线段/圆弧环原语(无 GPU、无 -lm,内部整数/查表实现)。 * 供 Radio(外圈/内点)、Badge(红点)、ProgressBar(环形轨道/进度弧)、Checkbox(勾线段)使用。 */ @@ -131,6 +136,8 @@ int meow_gfx_mfont_ready(void); #define MEOW_EV_TAP 2 /* a=x, b=y(触摸抬起落点) */ #define MEOW_EV_SWIPE 3 /* a=MEOW_SWIPE_*, b=距离(px) */ #define MEOW_EV_SWIPE_PROGRESS 4 /* a=按下X(t_dx), b=当前X(t_cx);dx=b-a(>0=左缘向内划=返回手势) */ +#define MEOW_EV_TOUCH_DOWN 6 /* a=x, b=y:按下后首个有效坐标(拖动起点,M2.71-bug2/6) */ +#define MEOW_EV_TOUCH_MOVE 7 /* a=x, b=y:拖动过程坐标变化(坐标变才入队;跟手用) */ typedef struct meow_input_ev { uint8_t type; @@ -146,6 +153,12 @@ void meow_input_inject(int type, int a, int b); /* 清空队列(IME 打开前丢弃残留触摸,避免误敲)。 */ void meow_input_drain(void); +/* ---- M2.71-bug5:App 活动 → 通知 launcher 重置息屏计时 ---- + * launcher 前台 app 会话的 app_last_input 只在物理键边沿重置(它看不到应用内触摸)。SDK 在 + * 收到任意交互事件(tap/swipe/拖动/IME/模态)时节流 touch 出 /tmp/meow_app_activity 标记; + * launcher app 循环探测到即 unlink + 重置计时(若已自动息屏则照 key-wake 路径唤醒)。 */ +void meow_ui_activity_ping(void); + /* ---- 实时触摸态(供控件绘制按压/按住视觉;输入线程写、app 主线读)---- * 与语义事件队列无关:这些直接读输入线程的触摸状态机当前值,让 meow_widget_draw * 在「手指按下期间」能如实反映按钮的按下/按住视觉,而无需 app 自行追踪按下。 */ diff --git a/patch_v2/sdk/meow_ui_widget.c b/patch_v2/sdk/meow_ui_widget.c index f4f5bb3..ef9c5d7 100644 --- a/patch_v2/sdk/meow_ui_widget.c +++ b/patch_v2/sdk/meow_ui_widget.c @@ -26,6 +26,11 @@ enum { W_BTN = 0, W_SLIDER = 1, W_SWITCH = 2, W_LIST = 3, * 视觉区分「短按按下」与「按住」;触发语义不变(on_tap 仍按抬手判定)。 */ #define MEOW_BTN_HOLD_MS 500u +/* 圆形 ProgressBar 环带厚 / 外扩边距(bgg 修复 M2.71-bug1:控件几何必须覆盖真实像素)。 + * 实际像素范围 = 中心 ± (r + thk/2);margin = thk/2 + 1 保证外接框覆盖环带外缘与圆帽。 */ +#define MEOW_PROGRESS_ARC_THK 4 +#define MEOW_PROGRESS_ARC_MARGIN (MEOW_PROGRESS_ARC_THK / 2 + 1) + /* MD3 状态层混色:c 为基色、o 为状态色、t 为 o 的占比(0-100)。 * 用于把主题 accent 向黑/白调出「按下/按住」状态层(日/夜主题各配色)。 */ static uint32_t blend_color(uint32_t c, uint32_t o, int t) @@ -73,6 +78,9 @@ struct meow_widget { char items[MEOW_CONTAINER_MAX][24]; /* W_TOPAPPBAR 动作 / W_NAVBAR 项 / W_TABBAR 页签 */ int nitems; /* 上述项数 */ int selected; /* W_NAVBAR / W_TABBAR 选中下标 */ + /* M2.71-bug8:W_LIST 行点击回调(可选)。 */ + meow_list_tap_fn tap_cb; /* 命中行回调(可 NULL) */ + void *tap_ctx; /* 回调 ctx */ }; /* ---- §5.8 batch1 内部辅助:opts 取值(opts_used==0 时按控件内建默认)---- @@ -584,7 +592,13 @@ meow_widget *meow_progress_circular_create(int cx, int cy, int r, int value) { meow_widget *t = (meow_widget *)calloc(1, sizeof *t); if (!t) return NULL; - t->type = W_PROGRESS; t->x = cx; t->y = cy; t->w = r; t->h = r; + /* bbox = 整圆像素外接框(中心 ± (r + margin)):使 w->x/y/w/h 即真实绘制范围, + * 于是 meow_progress_set 的 mark_dirty 与 App 的 flush_region(w->x,w->y,w->w,w->h) + * 都天然对齐,不漏刷/不多刷(修复 bgg M2.71 圆形进度脏区)。 */ + int m = MEOW_PROGRESS_ARC_MARGIN; + t->type = W_PROGRESS; + t->x = cx - r - m; t->y = cy - r - m; + t->w = 2 * (r + m); t->h = 2 * (r + m); t->owner = meow_ui_activity_active(); t->state = MEOW_WS_ENABLED; t->variant = 1; /* 圆形 */ @@ -791,6 +805,34 @@ int meow_list_hit_index(meow_widget *w, int x, int y) return (idx >= 0 && idx < w->count) ? idx : -1; } +/* M2.71-bug8:选中行(越界 clamp)+ 标脏(高亮刷新)。 */ +void meow_list_set_selected(meow_widget *w, int idx) +{ + if (!w || w->type != W_LIST) return; + if (idx < 0) idx = 0; + if (w->count > 0 && idx >= w->count) idx = w->count - 1; + if (idx == w->sel) return; + w->sel = idx; + meow_gfx_mark_dirty(w->x, w->y, w->w, w->h); +} +int meow_list_selected(meow_widget *w) { return (w && w->type == W_LIST) ? w->sel : -1; } + +void meow_list_set_on_tap(meow_widget *w, meow_list_tap_fn cb, void *ctx) +{ + if (!w || w->type != W_LIST) return; + w->tap_cb = cb; w->tap_ctx = ctx; +} + +/* 命中行:置选中 + 回调(若设)+ 返回 idx;未命中返回 -1(不置选中)。 */ +int meow_list_tap_at(meow_widget *w, int x, int y) +{ + int idx = meow_list_hit_index(w, x, y); + if (idx < 0) return -1; + meow_list_set_selected(w, idx); + if (w->tap_cb) w->tap_cb(idx, w->tap_ctx); + return idx; +} + static int hit(meow_widget *w, int x, int y) { if (!w) return 0; @@ -816,7 +858,9 @@ void meow_slider_set(meow_widget *w, int val) { if (!w || w->type != W_SLIDER) return; if (val < w->min) val = w->min; if (val > w->max) val = w->max; + if (val == w->val) return; w->val = val; + meow_gfx_mark_dirty(w->x, w->y, w->w, w->h); /* 滑块/轨道随值变化:标脏 */ } int meow_slider_get(meow_widget *w) { return w && w->type == W_SLIDER ? w->val : 0; } void meow_switch_set(meow_widget *w, int on) @@ -899,8 +943,8 @@ void meow_widget_draw(meow_widget *w) if (sw > 0 && sc) meow_ui_draw_rect_round(w->x, w->y, w->w, w->h, r, sc); if (w->state & MEOW_WS_FOCUSED) meow_ui_draw_rect_round(w->x, w->y, w->w, w->h, r, th->primary); - /* 禁用:整体变暗(状态层向 onSurface 叠 α) */ - if (disabled) meow_ui_fill_rect_alpha(w->x, w->y, w->w, w->h, th->onSurface, 90); + /* 禁用:整体变暗(圆角 α,防在圆角外叠出灰方块——M2.71-bug4) */ + if (disabled) meow_gfx_fill_round_alpha(w->x, w->y, w->w, w->h, r, th->onSurface, 90); break; } case W_SLIDER: { @@ -922,7 +966,7 @@ void meow_widget_draw(meow_widget *w) int knob_r = w->h / 2 - 3; int kx = w->on ? w->x + w->w - knob_r * 2 - 3 : w->x + 3; meow_gfx_fill_round(kx, w->y + 3, knob_r * 2, knob_r * 2, knob_r, 0xFFFFFF); - if (disabled) meow_ui_fill_rect_alpha(w->x, w->y, w->w, w->h, th->onSurface, 90); + if (disabled) meow_gfx_fill_round_alpha(w->x, w->y, w->w, w->h, w->h / 2, th->onSurface, 90); break; } case W_LIST: { @@ -995,7 +1039,7 @@ void meow_widget_draw(meow_widget *w) int tw = meow_ui_text_width(w->buf, th->font_body); meow_ui_fill_rect(tx + tw, ty, 2, meow_ui_text_height(th->font_body), th->primary); } - if (disabled) meow_ui_fill_rect_alpha(w->x, w->y, w->w, w->h, th->onSurface, 90); + if (disabled) meow_gfx_fill_round_alpha(w->x, w->y, w->w, w->h, r, th->onSurface, 90); break; } case W_CARD: { @@ -1008,7 +1052,7 @@ void meow_widget_draw(meow_widget *w) meow_ui_fill_rect_alpha(w->x, w->y, w->w, w->h, th->primary, 24); if (w->nchildren > 0 && w->children[0]) meow_widget_draw(w->children[0]); if (w->state & MEOW_WS_FOCUSED) meow_ui_draw_rect_round(w->x, w->y, w->w, w->h, r, th->primary); - if (disabled) meow_ui_fill_rect_alpha(w->x, w->y, w->w, w->h, th->onSurface, 90); + if (disabled) meow_gfx_fill_round_alpha(w->x, w->y, w->w, w->h, r, th->onSurface, 90); break; } case W_DIVIDER: { @@ -1046,7 +1090,7 @@ void meow_widget_draw(meow_widget *w) meow_ui_draw_rect_round(w->x, w->y, sz, sz, r, th->outline); } if (w->state & MEOW_WS_FOCUSED) meow_ui_draw_rect_round(w->x, w->y, sz, sz, r, th->primary); - if (disabled) meow_ui_fill_rect_alpha(w->x, w->y, sz, sz, th->onSurface, 90); + if (disabled) meow_gfx_fill_round_alpha(w->x, w->y, sz, sz, r, th->onSurface, 90); break; } case W_RADIO: { @@ -1054,13 +1098,16 @@ void meow_widget_draw(meow_widget *w) int ccx = w->x + w->w / 2, ccy = w->y + w->h / 2; meow_gfx_ring_arc(ccx, ccy, 12, 2, 0, 360, sel ? th->primary : th->outline); if (sel) meow_gfx_fill_circle(ccx, ccy, 6, th->primary); - if (disabled) meow_ui_fill_rect_alpha(w->x, w->y, w->w, w->h, th->onSurface, 90); + if (disabled) meow_gfx_fill_round_alpha(w->x, w->y, w->w, w->h, w->w / 2, th->onSurface, 90); break; } case W_PROGRESS: { - if (w->variant == 1) { /* 圆形 */ - int ccx = w->x, ccy = w->y, rr = w->w; - int thk = 4; + if (w->variant == 1) { /* 圆形(几何 = 整圆像素外接框;由此解回圆心/半径) */ + int thk = MEOW_PROGRESS_ARC_THK; + int m = MEOW_PROGRESS_ARC_MARGIN; + int ccx = w->x + w->w / 2, ccy = w->y + w->h / 2; + int rr = w->w / 2 - m; /* 与 create 一致:回到调用方传入的半径 r */ + if (rr <= 0) break; meow_gfx_ring_arc(ccx, ccy, rr, thk, 0, 360, th->surfaceVariant); if (w->value < 0) { /* 不定:按时间推进一段弧(App 在 on_tick 里重绘驱动) */ int start = (int)((meow_ui_time_ms() / 30) % 360); @@ -1094,7 +1141,7 @@ void meow_widget_draw(meow_widget *w) meow_ui_text_center(w->x + w->w / 2, w->y + (w->h - meow_ui_text_height(th->font_body)) / 2, w->label, th->font_body, tc); if (w->state & MEOW_WS_FOCUSED) meow_ui_draw_rect_round(w->x, w->y, w->w, w->h, r, th->primary); - if (disabled) meow_ui_fill_rect_alpha(w->x, w->y, w->w, w->h, th->onSurface, 90); + if (disabled) meow_gfx_fill_round_alpha(w->x, w->y, w->w, w->h, r, th->onSurface, 90); break; } case W_TOPAPPBAR: { diff --git a/patch_v2/sdk/test_meow_ui_widgets.c b/patch_v2/sdk/test_meow_ui_widgets.c index 168ef5b..4b1b447 100644 --- a/patch_v2/sdk/test_meow_ui_widgets.c +++ b/patch_v2/sdk/test_meow_ui_widgets.c @@ -144,11 +144,18 @@ int main(void) assert(meow_list_hit_index(lc, 30, 480) == ((480 - 460 + 3500) / 40)); /* 可见项换算 */ meow_list_set_item_h(lc, 50); assert(meow_widget_hit(lc, 30, 470) == 1); + /* M2.71-bug8:行选中 + 命中点击回调 */ + meow_list_set_selected(lc, 5); + assert(meow_list_selected(lc) == 5); + /* 验证 tap_at 返回命中下标并置选中 */ + int hidx = meow_list_tap_at(lc, 30, 480); + assert(hidx == ((480 - 460 + meow_list_scroll(lc)) / 50)); + assert(meow_list_selected(lc) == hidx); /* LazyRow 横向 */ meow_widget *lr = W(meow_lazyrow_create(20, 640, 380, 40, 60, 100, list_src, NULL)); meow_list_scroll_by(lr, 200); assert(meow_list_hit_index(lr, 40, 660) == ((40 - 20 + 200) / 60)); - printf("PASS lazy list: scroll clamp/virtualize/hit_index (col+row)\n"); + printf("PASS lazy list: scroll clamp/virtualize/hit_index/tap_at/select (col+row)\n"); /* ---------- Dialog / BottomSheet 纯逻辑(create/set/add;show 阻塞故不调) ---------- */ meow_dialog *dlg = meow_dialog_create(MEOW_DLG_SELECT, "Pick one"); diff --git a/patch_v2/sdk/test_sdk_fixes.c b/patch_v2/sdk/test_sdk_fixes.c new file mode 100644 index 0000000..bd7c42b --- /dev/null +++ b/patch_v2/sdk/test_sdk_fixes.c @@ -0,0 +1,158 @@ +/* test_sdk_fixes.c — M2.71 修复项宿主验证(离屏 480x720,16bpp)。 + * 覆盖: + * bug4 disabled 按钮圆角外无灰方块(角点 = 页面背景而非叠暗); + * bug1 圆形进度环带确实画到 = 半径+thk/2 处(bbox 与真实像素一致,漏刷修复的几何前提); + * bug3 modal(Dialog)open→cancel 后背景还原(scrim 不累积/无残影); + * bug7 IME 回显实时同步(on_change 随键入触发)+ 关闭后键盘区背景还原。 + * + * 编译(宿主 gcc,链真实 gfx/sys/theme/vol/log/widget/input/activity/dialog/ime + 打桩 font/global): + * gcc -Wall -o test_sdk_fixes test_sdk_fixes.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 \ + * -I. -I../meow_launcherd -DMEOW_UI_HOST_TEST -pthread + */ +#include "meow_ui.h" +#include "meow_ui_internal.h" +#include +#include +#include +#include +#include +#include + +static void rd_px(int x, int y, int *r, int *g, int *b) +{ + unsigned char *bb = meow_ui_back_buf(); + int line = meow_ui_back_buf_pitch(), bpp = meow_ui_back_buf_bpp(); + assert(bb && line > 0); + if (bpp == 16) { + uint16_t px = *(uint16_t *)(bb + (size_t)y * line + (size_t)x * 2); + *r = (((px >> 11) & 0x1F) << 3) | ((px >> 11) & 0x1F) >> 2; + *g = (((px >> 5) & 0x3F) << 2) | ((px >> 5) & 0x3F) >> 4; + *b = ((px & 0x1F) << 3) | ((px & 0x1F) >> 2); + } else { + uint32_t px = *(uint32_t *)(bb + (size_t)y * line + (size_t)x * 4); + *r = (px >> 16) & 0xFF; *g = (px >> 8) & 0xFF; *b = px & 0xFF; + } +} +static int near(int a, int b) { int d = a - b; if (d < 0) d = -d; return d <= 12; } + +/* ---- 为阻塞模态/IME 在后台注入事件 ---- */ +static int g_inj_tap_x = 0, g_inj_tap_y = 0, g_inj_delay = 0; +static void *inject_thread(void *arg) +{ + (void)arg; + usleep((useconds_t)g_inj_delay); + meow_input_inject(MEOW_EV_TAP, g_inj_tap_x, g_inj_tap_y); + return NULL; +} +static void inject_after(int ms, int x, int y) +{ + pthread_t th; g_inj_tap_x = x; g_inj_tap_y = y; g_inj_delay = ms; + pthread_create(&th, NULL, inject_thread, NULL); + pthread_detach(th); +} + +static void test_disabled_corner(void) +{ + const meow_theme *th = meow_theme_get(); + meow_ui_clear(th->bg); + meow_widget *b = meow_btn_create(100, 100, 200, 60, "DISABLED"); + meow_widget_set_enabled(b, 0); /* 禁用:old 用方形 α 盖整 bbox → 圆角外露灰 */ + meow_widget_draw(b); + meow_ui_flush(); + int r, g, bb; + rd_px(100, 100, &r, &g, &bb); /* bbox 左上角(圆角外):应为页面背景 */ + printf("[bug4] disabled corner rgb=%02X%02X%02X (bg=%02X%02X%02X) ", + r, g, bb, (th->bg >> 16) & 0xFF, (th->bg >> 8) & 0xFF, th->bg & 0xFF); + assert(near(r, (th->bg >> 16) & 0xFF) && near(g, (th->bg >> 8) & 0xFF) && near(bb, th->bg & 0xFF)); + printf("PASS\n"); + meow_widget_free(b); +} + +static void test_circular_extent(void) +{ + const meow_theme *th = meow_theme_get(); + meow_ui_clear(th->bg); + /* r=30, thk=4 → 环外缘 = r+thk/2 = 32;create 几何外接框 = 中心±(r+margin)=±33 */ + int cx = 240, cy = 200, r = 30; + meow_widget *pg = meow_progress_circular_create(cx, cy, r, 100); + meow_widget_draw(pg); + meow_ui_flush(); + int rd, g, b; + rd_px(cx - 32, cy, &rd, &g, &b); /* 最左环外缘:应被画(非背景) */ + int bg_r = (th->bg >> 16) & 0xFF, bg_g = (th->bg >> 8) & 0xFF, bg_b = th->bg & 0xFF; + printf("[bug1] ring-left-extent rgb=%02X%02X%02X bg=%02X%02X%02X ", rd, g, b, bg_r, bg_g, bg_b); + assert(!(near(rd, bg_r) && near(g, bg_g) && near(b, bg_b))); /* 环带已画到外缘 */ + printf("PASS\n"); fflush(stdout); + meow_widget_free(pg); +} + +static void test_modal_restore(void) +{ + const meow_theme *th = meow_theme_get(); + meow_ui_clear(th->bg); + meow_ui_flush(); + meow_dialog *d = meow_dialog_create(MEOW_DLG_CONFIRM, "Sure?"); + /* 两次 open→cancel:背景应两次均还原(scrim 不累积、无残影) */ + for (int i = 0; i < 2; i++) { + inject_after(30, 1, 1); /* (1,1) 在居中卡片外 → 取消 */ + meow_dialog_show(d); + int r, g, b; + rd_px(400, 100, &r, &g, &b); /* 卡片外右上:应 == 背景 */ + printf("[bug3] open%d cancel bg rgb=%02X%02X%02X bg=%02X%02X%02X ", i, r, g, b, + (th->bg >> 16) & 0xFF, (th->bg >> 8) & 0xFF, th->bg & 0xFF); + assert(near(r, (th->bg >> 16) & 0xFF) && near(g, (th->bg >> 8) & 0xFF) && near(b, th->bg & 0xFF)); + } + printf("PASS\n"); + meow_dialog_free(d); +} + +/* IME 回显同步回调 */ +static char g_echo[64] = ""; +static void ime_cb(const char *t, void *ctx) { (void)ctx; snprintf(g_echo, sizeof g_echo, "%s", t); } + +static void test_ime_echo_and_restore(void) +{ + const meow_theme *th = meow_theme_get(); + meow_ui_clear(th->bg); + meow_ui_flush(); + meow_ime_ctx c; memset(&c, 0, sizeof c); + c.mode = MEOW_IME_ASCII; c.maxlen = 32; c.on_change = ime_cb; + /* --- 异步:验『回显/输入框实时同步(on_change 随键入触发)』--- */ + meow_ui_text_input_async(&c); + assert(meow_ime_active() == 1); + meow_input_inject(MEOW_EV_TAP, 20, 580); /* ASCII 第3行第1键 = 'A'(shift 关 → 缓冲 'A') */ + meow_ime_handle_tap(20, 580); + assert(strcmp(g_echo, "A") == 0 && strcmp(meow_ime_text(), "A") == 0); + printf("[bug7] ime echo live-sync after 'A' -> \"%s\" (on_change fired) PASS\n", g_echo); fflush(stdout); + meow_input_inject(MEOW_EV_TAP, 20, 680); /* ESC(X) → 取消 */ + meow_ime_handle_tap(20, 680); + assert(meow_ime_active() == 0); + /* --- 阻塞:验『关闭后键盘区背景还原』--- */ + meow_ui_clear(th->bg); + meow_ui_flush(); + inject_after(30, 20, 680); /* ESC 关闭 */ + int rc = meow_ui_text_input(&c); + assert(rc == 0); /* 取消 */ + int r, g, b; + rd_px(240, 600, &r, &g, &b); /* 键盘区内一点:应 == 背景 */ + printf("[bug7] ime close restore px rgb=%02X%02X%02X bg=%02X%02X%02X ", r, g, b, + (th->bg >> 16) & 0xFF, (th->bg >> 8) & 0xFF, th->bg & 0xFF); + assert(near(r, (th->bg >> 16) & 0xFF) && near(g, (th->bg >> 8) & 0xFF) && near(b, th->bg & 0xFF)); + printf("PASS\n"); +} + +int main(void) +{ + setenv("MEOW_UI_DUMP", "/tmp/fixes.ppm", 1); + meow_ui_opts o = { 480, 720 }; + assert(meow_ui_init(&o) == 0); + test_disabled_corner(); + test_circular_extent(); + test_modal_restore(); + test_ime_echo_and_restore(); + meow_ui_shutdown(); + printf("ALL PASS\n"); + return 0; +}