From af7ea46027d7b48bcb23b4f2f771ed63cd5ae582 Mon Sep 17 00:00:00 2001 From: SnickerSun Date: Thu, 20 Mar 2025 16:04:56 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E5=A4=8Dfd230=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../brandy/brandy_standard/thread_init.c | 2 +- .../brandy/brandy_standard/thread_pri_init.c | 17 +++++------- .../wearable/alipay/driver_adapt/soc_adapt.c | 2 +- .../wearable/alipay/service/alipay_feature.c | 5 ++-- .../config/target_config/brandy/config.py | 25 +++++++++++++----- .../boards/brandy_evb/product/product.h | 2 +- .../driver/nand_flash/nand/hal_nandflash.c | 2 +- .../driver/nand_flash/nand/nandflash_config.c | 12 +++++---- .../files/evb/fs/user/system/KUMI_LOGO.bin | Bin 0 -> 894728 bytes .../files/evb/fs/user/system/OTAUpdata.bin | Bin 0 -> 146040 bytes .../evb/fs/user/system/OTAUpdataRecover.bin | Bin 0 -> 671048 bytes .../br/libbt_host_audio_manager_wrapper.a | Bin 219716 -> 219708 bytes .../service/src/graphic_service_wrapper.cpp | 9 ++++++- .../icu/icu4c/source/ohos/init_data.cpp | 4 +++ .../drivers/cywee/service/cywee_ble_Service.c | 4 +-- .../drivers/ppg/ppgBleService/ppgBleService.c | 4 +-- .../services/ble_service/bleservice/bleANCS.c | 2 +- .../ble_service/bleservice/bleService.c | 10 +++---- .../factorytest_service/factorytestService.c | 4 +-- 19 files changed, 63 insertions(+), 41 deletions(-) create mode 100644 code/sdk/files/evb/fs/user/system/KUMI_LOGO.bin create mode 100644 code/sdk/files/evb/fs/user/system/OTAUpdata.bin create mode 100644 code/sdk/files/evb/fs/user/system/OTAUpdataRecover.bin diff --git a/code/sdk/application/brandy/brandy_standard/thread_init.c b/code/sdk/application/brandy/brandy_standard/thread_init.c index cb8cd4f90..d54b5d982 100644 --- a/code/sdk/application/brandy/brandy_standard/thread_init.c +++ b/code/sdk/application/brandy/brandy_standard/thread_init.c @@ -193,7 +193,7 @@ app_task_definition_t g_app_tasks[] = { (osThreadFunc_t)transmit_process_thread, NULL, (CreateQueueFunction_t)transmit_thread_msg_init, USE_DTCM_MEM }, #endif -#if defined(SUPPORT_POWER_MANAGER) && !defined(SUPPORT_AT_OHOSFWK) +#if defined(SUPPORT_POWER_MANAGER) && !defined(SUPPORT_OHOSFWK) /* OHOS场景,pms不需要独立的队列和线程,事件由UI线程接管处理 */ { { "power_display", 0, NULL, 0, NULL, PM_DISPLAY_MSG_STACK_SIZE, TASK_PRIORITY_TRANSMIT, 0, 0 }, (osThreadFunc_t)power_display_msg_thread, NULL, diff --git a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c index 4bfb9ebdc..137b70080 100644 --- a/code/sdk/application/brandy/brandy_standard/thread_pri_init.c +++ b/code/sdk/application/brandy/brandy_standard/thread_pri_init.c @@ -461,10 +461,7 @@ static void thread_main(const void *unused) /* nv init and file system init must be before nv_upg_upgrade_task_process */ (void)nv_upg_upgrade_task_process(); thread_init(); - - //尽早显示启动logo ,需要 lcd 驱动,mount file system , power_display 线程管理 lcd背光 - // ohos_show_bootup_logo(); - ShowGraphicLogo(); + button_app_init(); #ifdef SUPPORT_AT_VIBRATOR @@ -539,11 +536,11 @@ static void thread_main(const void *unused) #ifdef CUSTOM_UTILS start_custom_ble_service(); #endif -#ifdef SUPPORT_ALIPAY_SEC -#if !defined(A5133_DEMO_SERVER) && !defined(A5133_DEMO_CLIENT) - uapi_alipay_svr_init(); -#endif -#endif +// #ifdef SUPPORT_ALIPAY_SEC +// #if !defined(A5133_DEMO_SERVER) && !defined(A5133_DEMO_CLIENT) +// uapi_alipay_svr_init(); +// #endif +// #endif #ifdef SUPPORT_A5133_SERVICE uapi_a5133_service_init(); @@ -557,7 +554,7 @@ static void thread_main(const void *unused) gnss_uart_init(); #endif -#ifdef SUPPORT_AT_OHOSFWK +#ifdef SUPPORT_OHOSFWK //开始播放开机动画,并启动ohos系统 ohos_startup(); #endif diff --git a/code/sdk/application/wearable/alipay/driver_adapt/soc_adapt.c b/code/sdk/application/wearable/alipay/driver_adapt/soc_adapt.c index 788647dd2..3a221726d 100644 --- a/code/sdk/application/wearable/alipay/driver_adapt/soc_adapt.c +++ b/code/sdk/application/wearable/alipay/driver_adapt/soc_adapt.c @@ -75,7 +75,7 @@ void IIC_Master_Receive(unsigned char byAddr, unsigned char *pData, unsigned sho } if (ret != ERRCODE_SUCC) { - MyPrintf("se i2c data read fail! ret=0x%x", ret); + if (ret != ERRCODE_I2C_TIMEOUT) MyPrintf("se i2c data read fail! and not equal ERRCODE_I2C_TIMEOUT , ret=0x%x", ret); } return; diff --git a/code/sdk/application/wearable/alipay/service/alipay_feature.c b/code/sdk/application/wearable/alipay/service/alipay_feature.c index f05c1d10d..e02955308 100644 --- a/code/sdk/application/wearable/alipay/service/alipay_feature.c +++ b/code/sdk/application/wearable/alipay/service/alipay_feature.c @@ -207,11 +207,10 @@ void svr_alipay_enter_lpm(void) return; } -void svr_alipay_exit_lpm(void) +int svr_alipay_exit_lpm(void) { uint32_t data; - csi_exit_lpm((void *)&data); - return; + return csi_exit_lpm((void *)&data); } int32_t svr_alipay_trans_get_last_code(char *title, uint8_t *transitcode, uint32_t *len) diff --git a/code/sdk/build/config/target_config/brandy/config.py b/code/sdk/build/config/target_config/brandy/config.py index 4bf06ba47..0b51bc144 100644 --- a/code/sdk/build/config/target_config/brandy/config.py +++ b/code/sdk/build/config/target_config/brandy/config.py @@ -295,7 +295,17 @@ target = { #删除reg/mem dump,写法如下:'-:DUMP_MEM_SUPPORT', '-:DUMP_REG_SUPPORT', '-:SUPPORT_DFX_EXCEPTION' 'brandy-native-js-user': { 'base_target_name': 'brandy-native-js', - 'defines': ['-:SW_UART_DEBUG', '-:DUMP_MEM_SUPPORT', '-:DUMP_REG_SUPPORT', '-:SUPPORT_DFX_EXCEPTION'], + 'defines': [ + 'BOARD_FD230', + 'FT_SINGLE_UART', + 'NANDFLASH_DS35X', + 'SUPPORT_BAIDU_MAP', + 'CFG_FLASH_SIZE=16', + 'SINGLE_USER_PARTITION', + 'TPTYPE_FT6X46', + 'ROTARYENCODER_HX3507', + '-:SW_UART_DEBUG', '-:DUMP_MEM_SUPPORT', '-:DUMP_REG_SUPPORT', '-:SUPPORT_DFX_EXCEPTION' + ], }, 'brandy-native-js-user-r': { 'base_target_name': 'brandy-native-js-r', @@ -303,6 +313,8 @@ target = { 'defines': [ 'BOARD_FD230', 'FT_SINGLE_UART', + 'CFG_FLASH_SIZE=16', + 'SINGLE_USER_PARTITION', 'NANDFLASH_DS35X' ] }, @@ -312,6 +324,8 @@ target = { 'defines': [ 'BOARD_FD230', 'FT_SINGLE_UART', + 'CFG_FLASH_SIZE=16', + 'SINGLE_USER_PARTITION', 'NANDFLASH_DS35X' ] }, @@ -357,9 +371,7 @@ target = { 'SUPPORT_HID_SERVICE', 'SUPPORT_BAIDU_MAP', 'CFG_FLASH_SIZE=16', - 'SINGLE_USER_PARTITION' - # 'SUPPORT_AUTO_OTA_SERVER', - # 'CONFIG_DFX_SUPPORT_DIAG_UP_MACHINE=1', + 'SINGLE_USER_PARTITION', 'TPTYPE_FT6X46', 'ROTARYENCODER_HX3507', 'NANDFLASH_DS35X', @@ -396,7 +408,8 @@ target = { # "producttest", ], 'image_analysis': False, - 'fs_image_path':'fd230', + # 'fs_image_path':'fd230', + 'fs_image_path':'evb', 'fs_image': True }, 'brandy-native-js-fd230-r': { @@ -405,7 +418,7 @@ target = { 'defines': [ 'BOARD_FD230', 'FT_SINGLE_UART', - 'NANDFLASH_DS35X' + 'NANDFLASH_DS35X', 'TPTYPE_FT6X46', 'CFG_FLASH_SIZE=16', 'FD230', diff --git a/code/sdk/drivers/boards/brandy_evb/product/product.h b/code/sdk/drivers/boards/brandy_evb/product/product.h index 0c8cb8ec5..fc156185d 100644 --- a/code/sdk/drivers/boards/brandy_evb/product/product.h +++ b/code/sdk/drivers/boards/brandy_evb/product/product.h @@ -72,5 +72,5 @@ #define EMMC_SD_BUSWIDTH MMCSD_BUSWIDTH_8 #define PARTITION_EXIST YES #define ALIPAY_SEC_I2C_INDEX I2C_BUS_3 -#define ALIPAY_SEC_GPIO S_AGPIO_L29 +#define ALIPAY_SEC_GPIO S_AGPIO_R1 #endif diff --git a/code/sdk/drivers/drivers/driver/nand_flash/nand/hal_nandflash.c b/code/sdk/drivers/drivers/driver/nand_flash/nand/hal_nandflash.c index 16e087191..c95cb86df 100644 --- a/code/sdk/drivers/drivers/driver/nand_flash/nand/hal_nandflash.c +++ b/code/sdk/drivers/drivers/driver/nand_flash/nand/hal_nandflash.c @@ -998,7 +998,7 @@ uint32_t program_load_width_32(qspi_data_type_def *qspi_data) uint32_t write_by_cpu_single_line(qspi_data_type_def *qspi_data) { - PRINT("write_by_cpu_single_line !!!\r\n"); + // PRINT("write_by_cpu_single_line !!!\r\n"); qspi_busy_wait(); uint16_t address = SWAP_U16(qspi_data->address); uint8_t *addr = (uint8_t *)&address; diff --git a/code/sdk/drivers/drivers/driver/nand_flash/nand/nandflash_config.c b/code/sdk/drivers/drivers/driver/nand_flash/nand/nandflash_config.c index 68843f510..a2dafbbdc 100644 --- a/code/sdk/drivers/drivers/driver/nand_flash/nand/nandflash_config.c +++ b/code/sdk/drivers/drivers/driver/nand_flash/nand/nandflash_config.c @@ -41,14 +41,16 @@ uint8_t buffer_verify[DEFALUT_BUFLENGTH] __attribute__((aligned(4))); uint8_t buffer_oob_verify[128] __attribute__((aligned(4))); // 128 is one max oob size int has_nandflash_init = 0; -// #ifndef MEMORY_MINI -// #define YF_NAME_STRS "/system/", "/update/", "/music/", "/user/" -// uint32_t yf_volume_percent[YF_VOLUMES_NUM] = { 10, 10, 10, 70 }; -// #else +#ifdef SINGLE_USER_PARTITION #define YF_VOLUMES_NUM 1 #define YF_NAME_STRS "/user/" uint32_t yf_volume_percent[YF_VOLUMES_NUM] = {100}; -// #endif +#else +#define YF_VOLUMES_NUM 4 +#define YF_NAME_STRS "/system/", "/update/", "/music/", "/user/" +uint32_t yf_volume_percent[YF_VOLUMES_NUM] = { 10, 10, 10, 70 }; + +#endif static const char * const g_volume_names[YF_VOLUMES_NUM] = { YF_NAME_STRS }; diff --git a/code/sdk/files/evb/fs/user/system/KUMI_LOGO.bin b/code/sdk/files/evb/fs/user/system/KUMI_LOGO.bin new file mode 100644 index 0000000000000000000000000000000000000000..43fa9aee73b57a0df6a146ef70b8da0fb94775be GIT binary patch literal 894728 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

LW6xokld}kc zzg765s~LwS_P`>s>9nd1=Wp<%hw;&|?>(h{aB(;I9_Ry*e*!+s<_+Jl3eR1Ba~&fn z|1I+OrZARE`O}!Lmcr>(^|o8Kne``$SN@4{(Z^|9EVFZoY$G{Ds}s_yLf~ z*&J6oM_0aKxu|6S7W3DJj9Yqd{CHW^sak_$0HLGXcy6pG#P5RdT@FokKy_oNGiCoq z_VRbd2N)^N-lBd}xFJTsiUxj*$AUi4 z#GtI*xfli)?=9TIxF>ilyK@!%TZMnPfpJ%wpCj()xh@YA8(@^U{HGsAw&hgC1>eOb z>ii_%XAm3O((4+oz3}L?)oD)EE%<-&H`}fFe>L|9&TBlhU7rj6(D_^VAA5Y&g9-cd z^^qOFD{E9U1}m_Ha;R*Ymy_1GFO^L`YT0@Cr$hUIGFN12mwX^=Z(gfDWy*q0D?7KI zc19z8(2`x?ykyB3wqW~`4}B-%{KF&4rnUww7t=$VqxJW;G8$n=!r#CcF$dNJ2H|o) zvkLoH?BTfhdunBgziK1#yqfAk3%@llI1bqTdd4a*_o~k#MZb4K>y?G?@)qq|u8E%s z>wv0{UOExdTHpTtc*Tt&zsjTX-E1K5fxnqG^MB*?k-73gdSl`5skAN5RoUU~nc8!o z_NQ0U4heF>7tj8v3g>TI?~I=>>2TQBA&+r{j&9p49SHrKYw;HzmH2yW z%-@21#?A2eDEOO#N%8~B_Nk(-P2-PLKWI*MuI#1|G!{8$w=IUNa7G+1+)-`I*)N0b zjkjlQ6>QAI+t5$^YsM(wN*h3ok}Z6H!v6TZgl#>U`9auKsZ1q(j`TzFyR9+88UrH-Y)$KEK6eWLHhQU_dr$V<#l+%F`0|@1Jx3J(LNS%f@fOwpE|6+Ab=eNv_B= z|7(sjCR=N8JkNKRCk_|Kv3-d%73_PZ(Rv$0{5`4){)#bTE@65V{^wi)2IXV+RM5A| z`BN(3Z|Wf8EHQCyU1;vzP~U>SX`yz{>h(y(J;{NPq_4a*)~v*7=~Ub|pfPh?*Ajno zH-`L{@~ynD8^q4jD(Y?5Hu$TuogK=K&zXCs^ZN{%TjKAT?9Zy8EyD35b4C7=r?zC< zoILzk+d9(^Wh91nbo(GTqH7*p2J7pR(~a|h}jYE#l$7QOxcki zrXI!y)Hs_;)z7MT;c$|1O6j!fc-FC?j*b|MB(6*t64@6T^RM^*D7q6Nh$+zV;@F={jKv!*Jf)X`}{HR7P~u?4c0cm zK-s#D98#*-J8F&UCnYMi&0&8pHqkEjCTdEoCmzfwBAo z6W7;=_1+OZQ-vaLW#D}a-Rlw)fPDuS?K(cS?BM1&)C_3 zE~85=2Qjpx+X39zTHJoFT;)UErSU>3Y{@kB=3x3tU&GFn&)Klq3c)_ZE`>?*L5IFe zv5@o2=>I*8{@+js20OHQ4r*?2GL;Q$3#;xPJ1DX{7sYdM!W4_35bI@Y!vgt)VMSO|LVdKVqqV1;lLsd3jql0^ zX1sCWt$0s`OgeRxN8`f8M`OK?6_i!^$-~}|F8{CM_`5%6z3Lw_pXghWJ^z)2z4X<{ z-u^Ld5sr)7L2imi0bjNut31C0gZVA~H^TTj%2KEH2EJ)y{f*~;6xlH3qWsnbAGi9` z;h6f;+tAGl#$O$td%+lHZKsp{(`mw-j(AUFAC4i?Gx`5)ih45q9iKb^S;g@NhP4rY zTj`h1$9@QvL7{1V!*kK|;aSCf#`sI%az(P%K9;;KH_y z|95#bs{>+aN4Mj+(e=z_(7X;%56R|I-9L!_-`B5!2^y<}UD}|&OYFe>O&Xhwy{5IK zG^Pk6eq@z#2@GF(J=c+5;YMuWo9K|mPJa7WksZx=Yklt_4NJnj zC)yFR?KAqn4ZW>k{?Tgwial`bv}~hIBb$N6Vi5chgHMD}8mkn>F$X!d&G*jN9cq7x zzk2>f2J>t*{&~OD%^|;S@poFL&UQ%^?O*a8xA_#8^ewWnDfpXRip>wJQ6sVUluU!2 zruGQORQ}VE$#i}nnTEd!`0MN~%5VL5w)4-t-^FAocD)O-WM);_4%1U43r|6@7;=htMew5OeA5!fH zjTzQD9V!pUWZ&@2gDuP$A@x`0_`cENGhpIRF@$cdh2>&;Tt3;oYFiX;OyP5;PZr;} z${pGpI{@;2HDqYyWq<&F#bwyiTq6|TgLx&#Pj(R8FQ7c zW=?IAfNz&PYKDh?C`=+lCZG@P=YuXE?c7yghcXDc_?OO6bOP}Q14)dP$ zj3XPD-rG*jETOz`H>vW|{(#vk|EU@5YB4#D4B+q)Db~Ldf5q|8CW!T$#F$`>6%uO*dHQA>WFHpo!R3q> zI$}@w5bCj(y~pY4|nUZNAs}J;JlQ_`Z&&oDk$?}Ev$OA4dnk;kQ~Hcj+_V&5~_ zJdJQ_rey!(gM~S#M6j4-PfUrwpNRd>dJgS~e|>#v`B^uAEp0o}l8%M3)6zBm&$3R| ze(4(nGXo!Cr}(*UIGysGoUF6mGoQmhpm}ZLuQ(pZD?J*Q+Q&|!Y^NaZX_WIcnpdY5 z?cY-*6CERNrE^5GX#WzA^LIm^W!YZ85Z&(R_62SXb&u~|4(sVa@X;a{>ibbOmCXO8 z!YZ*v3=~7K{~ECi8~82%s<^m}?*$#D^*2I2){_`H*kV*}Ff9Y}ZM}w23c= zT@=AGg&gUL{W*>g4tb#OFr=Bq|DCc2{u3TzQyaeE`s*ufC26XBq3>2UE`H;}jr4t! zcFCR%{k0{|ilYjp|JfHLpLK%$in8I$moL46anbo(vGcL_AG{*6@yv}D1N7Z{wMmrU zD!3BnH<4GZy}aJ@TIXG^PK>rgQ!m(QWL=yQgHFNjJB8okjl#49T;q7m--ED!@fWoE z+**2`9XL*zO8kw#X{<7{re|U({JqIeC7;T-_RR(5`{X3+Z_FUA3jd$L8ZXN_k3&$2;-EskHh0spkd6RRB%^2MCpW%S=3 zwKrphiC=YbHS1)EVKLJ*PFFr%)`kpYu{o}DVSa7eCJq^Fw_Hl!Gq$zZuXaTp{j-hg z^DQz}e&Tx8Zf*$e54AxkyV6&<0U2T2mi*Jr?Ikby?B%=GT%%RjS6U-^zVq_PCWX01 z)s|w7>d+=ZPFhP#^Q!`G3j&|bOJWw zn9%>Lwu$1EtXhx1)91xV(hB{*DW#=0MTW8tvAxqjrJVp5TVQYCF=aR@xyp7iuXCvH5f#T`F;6Ik|5@Ks(74~w7fD`naA3rM zYWts=k^SRZ%EY=Kruj$M+4b19^|UkUWczB&RIqa;0|l5XAGpSBNiJbb71xyZYNM2b zcuw0z>t;8yp2#xt`)wuyjU1qM3;817S@@A8k5P)Xv^16s`N$8Qfxn@>(8haJ$+v7j z89fu*xNzqbk}vW16d0uc6=Vk=pL*X$CiaT$#-!?mjl^Hd5S~lmuf~+|+?hZ9fy6h+ zH+E_KjJls@?3mq@ca6VNI;!Vm zZe;^&=_@21jU}#x#~ISs+F4pJGq&5KFy`!{qgmhMyQHDAV%G*6UwQZilV%y8TndF> z$PbQOl)h~95_6mGOY9A{vaX|_nK<6OCS@0YiavII+bAtR0Dk6>U$sS)$Ku)^x$}`e$wn9HD9 z9gzK?HI>6$7i_Uz=#PEtyKqP2f3f%S^o?r%ZvoqI)i0>P7&r9KYb)%$kHfQc+x(U8 ztv`mh$$juK$@dhL2l*v;m>Ah_ze3vbb7S`|V=tT6_%3e#SIkesCe4d+tXuVuAF!_0 z0L2BrU|4A#&F1u7d1x9+`H~Mjn@QQWlWBXLo3eNRAMwL@BORj+5ZW8EW3jha$tM4W zeA1FjY#SG3i!=XMi5wgDg)={oAI);%SLGJ2k!1PG{`WDI7mJSI4&lzrvWV>M$Qy z?Vi=+p*Hfn5&8&_L3MHyJ1X&a@*MMb8e%K88BXSR@IT`YIV^h9Y7^swt(#_Du(0Nf zWJw!KJWr=9ZHMTK_@HB3dK&)fQ?Y?hg~O-Izl|KG6W=k3r8X&XB7G9Hb{_@nVd;tAXl z2j9IevP+I-u2N1ck=?mAH#St)G(T8tRi@G@@0TX2XWl_^LRs zotK~Zk&S9?_rzDR?^Xt8Y2JhsmQ8^Z@PBA@5hexmFDA z==M4{x}LcVn$>|MbyoySQ>^0~>NNbcTKj*e$!WWq3hq?*e^Tj1Y6 zPS_WYr@uNI^F#G{DQu9gQ}zVqmMx_38dYoF5@}cE(zesol+8FeVYe?#*o$9J+j~Fe zJB748>X>)cz`o(<|)OtX|K#6M5)p{!0wjcN-@rkE9R#Ir6%Ud@rLNQE$g3mf0s$kJv=)Rp~}D$+s_Z zvUkN^wYkt2`t{|vkGTwkGsA6<=xXA4pR%vC6B7-@v&v4$ykj3oeF>lb2+B;qJALh1 zt3_*wceef5(enF!ozwk|EWcMtucO;r+}Nr2-0$zd@(bU#r7l*zoTh%u(Kj29OU_ya z{1}dZcl(Lhq@yxcQ(1-YGWPjp+SxzZrtZL_R7Q2^0LCJvs3Wn3W!q3sZZbS!^Nxt@ zp{wYh{T3X=FMZQ2){EMm?-DUqTP!PaH`M1Ftmhh=RS9$TeF54NpYl}q1?i03NfXP_^%BG|#5)GgwP`&ZS5sJ21TRGS)|iLLit+b*%lMnxZBF4h3# z#27Rf7S;%(y(4C2_+R;J^BHZhT-#SBwI9N_9q|VbOm1pZ6Q|owi7(iW(G@l^eF*KL z!Q_+n1@cU1$g^~X@$2E6(;9z8Ib!=a)=90)QNeh$v6+w9PMHO^d-OHiHa(m9XIrAv zwedVS`Adi^71pvW`99j0-=30_r`zMt=Px{ij&A?QjXm~`dD^{M_Tocj_?~T82bypC zMesFZY)o496ZKu}H`R9lsJE!AwT@%3nPqdzj_73lt#PrH@IR6r7s;Qjc}k>B{7SP5 zMh&P<*pPvQ8oqmwt;XM~x|j3Rx1G{2*`K7X?*}Nph;^zX#@JT!e=X(IyxiEwE*l-b z!K`Z5@(KaFS$V7C{_yR^qI`mV#kJu($l;j2XC%(WZHi!n!gj4UnZ>T_wEqAfY_MbX zJdj5=lOaD<^fgy8A6mXz%`KLl$Mch%VVT-0Db~LzwWT^G!%o&M>dRHW)gI8ZuV8H| z*~HSZkS}DFAkSfKZ}pF;oN7y`9jJ4(k%BENy_H_@OfHcT@aV{`w1duIVQM|HjN#)CBw+!Cx%iWdve;)USuZly*3XoEY! zLhwQfQVOLdc%cMoi#vf(id%7a_xYdS{l2@sJKxNH>$|h_p659`vmxOXsp&-hW)%_ACWw$f~;J=fV_j#+#rvt#%+>W{QnGuC+^b(z@vRQexV%ssTF z<98Vs#e8D-JqPodgUr4ce1UsDafs!oZa*-<`gR9d*`cp1KXlhM!4IXc(#kW8Z63gL zoNu@9+0wE5-Fv)G ziRabxTI${dY&=*WtB2Dk4$kgd4bG<$UyCDYjK4KsT4=j>9JKc|OuN<`wefqC6OPqq ztuNfYyM@=s+Hzcd94cz%0vD7@;!%y^lZ}m*Aq*HRec^R13P?Zweq>$ zXgre&gJKTQ{x_Jqh50z@P*a+{9y|!U)%AY>eQnfB?Hqk@uD;>war`%bY+9@T?V9^E z*!rBU-`VVL|AA&p@%#7_SKq`UP#y zvK?a$=7FaDO!50&YiCj>0GF=1J8NvYHJNBDrG92{CvJVr2jI{9gO$~{2HJZt_lY(H zSHHL8wQ`a+*RDPU;%41Qzb9H#;{8CP|@oQGjaa^RVVM@8D59_KJo~~~fesC}RAU!PI zm^+LwhU?6`cI%V2!TYxodp)~s?&CwNm6ql&i?p8K#u!kK?N9x~Y!homb$!DZA42<` z^%0uCU|k3|R|TKKJXPu+)KTi-KYnCBZlL+rLHGuH7VU>FPG)N<6R>`Vvz7Mj{&s$# z`7>{O2iW;q`!89Sm@!xQMxIA|IKBYeP5FefhpSiN59~j6G~$QixBFN-ZkONdiWgyl zSC^m0{(}?YaIGnRkFf3ju64Hwr+Rhqw{&pdoB%)KWterfn|D2nw%4xuyp?gRkJ!b* z;^^vzH9WhPc!&3r?u_~CiX(0E|Lb3HeiYm-o&zimsPp!vUhCSM>AUYL^YpWIz!`_u zRp;ef)U-2OT3Y#paJw+EcP4EeZ_G!#G^`%`@Ex?@@inP_G_}k9!7RFQi|4XyB$HJmol?1$O`*&1a3pPY)Wo#E8 zgn>994zvRYs&c-vVY1=kfH)uyhy&t4O&l=zs*-jnJ17n+!-@mqfH)uyWR(L|IbXXe ztM99LEA7MqaX=gp2ik!H)%st}KN5f2fxn7_cqk5t16kxiE%T4G{)RZ8Mb0bE;;lF! z4zvRYYFU4SwX@pc9TW$pgE$}#hy&t4);Pc#&eaNQM`!JQ6iwj0}_452tE9mD}~KpYSUvc`c4)jD6hZ@m1k${*r@ zI3Ny)1L8nc9KeTGE930Otd%zuU!|EiAP$HF;y^oa03TYdjI|rv;T;qQrGq#i4u}Kd zK-M@grdsD~_Z=qxtMW${IncLn-)PDyr;MhWYAUz&`;$#JS=RDz%i{ah!bEK8xOc_uc6B+i#Ed+;h)JzPNPW-g@h;Bjl{J&gwP&M~oQZuD$u@ zn|r-hHl;M~!l$F~*}YolYxiv-E_4(Za$_6knP(p755D{EyXc{Z9&-A?0}n(`J@u43 z&JX`*pMCb+U{Yyb-gMJV9ablubW*PvEwRKB?%J!ax~kV}D~*S)mkr7=2ez`fS1Tj! zM&&1AkU0*_J@?$sA3XZ#qeXG=)2C0g$RdkGciwrYJO9sr{xhPjT0HNW&*gu6Vj`Xh zlL|S253N>~u^VNZghA#w;QjBUNs|)eKHYTFMQ^_Ort`rotgu4jHF@X$W}9v1@KOC& zHZbpbp@#P#VfR)m3)+pcO~N2^9Ps`(UjGgGeBp%`I{&i&{`(ib->kFF8vXXSzl}~k z_0;HyBaVnxUU}uB^VFf2Uw-*$l~q=W`t|EqbdK<+op#!2z4g|Mrk;B09_OZ*VhT5& ziT2tsF4IpxeYE}d+efFIa!PdKi6^>i1`HTbbPd-pyX>+NeXZCo`3%NJ^U}@cR%{*BX>Ofx#gByqT$1b zyL^EE{oCLE=1#A^`szLM20jeI@5Qm%eDlrSxxM$^yKrukO*V<%e*0~AJp7qBabm=K zgkk*mzyEc8*!b#D{_p?(&s{goG}9E~7M}n1+i#--4mhAFEW#yx-xeQUfA!T@N5B5{ zuic?a>c5v>da3ibVOZ?H|Ni?C^=bbulnapYoex-X#T6Y-cG_tt_y3D8zKHhQ zZ$DSZr4HzQ?UPSFS*X*lv(7s1+Dk6Eq=;kmCI9>1|90o@zyJQCbL1n&C*fCSoN-2X zj=CoD%{Sk;XD+qWQqeDe`OD~{i!O4+gVg80`syop?&6Ctc6D&d06+fm zkE8zm`$xCkcAGo*_rL!=;`ri=FCOi>>#lD6Hz)AhJ}l;BJ^uLP?t0#lxU96&O0M4g z_19lVpM3I(J6DPS#a|+qU3OU^ywRgayJP&&X2A0oSYUzZhaY~3KL7mlXr`HFD#Xdh zjdBn|9o`?)R(3dJ9QerMiw~_<2H1@+n<@_ogG_P2``~O|7@S?@HpJ^>J(QZ~A5C)mz0RGq4;r{WDe?)iOafj1~AAZ=` ze187(pZ^rvclX$14|jarxN(W^IoDisIe+x}>#rC57k&oWaKjA?_Z)iYq3#%csR;jl z{#k$h_1!Vrn>j{Z6Jb8Gzb4#LFGoUOOL+o`_epc#t+(Fl&MmaiLW$w=zKHL8rhbl4 z=MJCi_gPN^sl@-j@x~hke0(^5OI;pWaKQ!L^XPL%;$Iql`iQ z(TB%AzLxqVLYq3zCw|o5iK~x)xZP-@jokH>_}@}Kld=usF&;E%kgJb#jQX~JHf;=u z9|z`-hg-(DU31Mf$`jr8fHoC$vBefE;27ei{pQ)~0P9-5ePqEnxxjvvrY*(*+l_6< z2S}fEer?AccTDA_Z-1uFhrdHI^-wr%=FeSTs*6hc2V{?_|TwzM;IjQPoohxYe)|LgmY{c+xnwY|Ro z{`F|80QF1a%eAk*`f4F#~$XZOc_d%@XfpY4v(uFt$M+8OZA{<`><@maKGD=+-d9$+7m`cC55>3`Gw*+qtR zt#Y&lkeUy4PS~^~2fY7HoBtb+^Lgi;*TXl2*Wf>2eDOth4QobN-We|3i)c5vr? zpQUdoL%JPYOAeQxR>$+GIs3P!Z9Ci+SdDD`m4ihn5#tm@TtsY3eP3&Qx3sj z(=Nc6>7;A6*=8FTze?)AwDTv0#WBWn$`tUpHi<-Pabb7d69XCX%&byR9NY2oX* zY*CwW0N+`w>|y~ZF9?H7alrfEuKA3aPIg8FyXGVyJZ=(*&I6e$*Wrs7yft@YBwaS_n zKv90tf8o*Y9H`X)(mu`i8jziL-noeH^fl6liiBg4JqEt*n)AEwzI)NV#~ynuhn=t% zg}=vd{g^2~uG$}G%Niierw#jhOZi`4-=^)>_fh-scn8+T2dw(ufd8hAJiJ%?vNsv!z#10sT4gZ{ z;0IIX31N^K4*2gcQ1>jCyY!u5{}JZK&_9dcz@H)1FT=X857)2L$oQ`KdQN^UFZcU? zV}BpppZ@fxZXOfo86(9r@!`Hs$h=_Rp3U`s3|Ra*K1@IEnl@efRGIsG%rVEfeqNpt z`cm4|nU9Q6Pv>5q&o~~$_jj`nm=8Z~yX2Bfx_cN$Mn5;}gs=_?y>Ve)lAkN&-+}gR{99Nj_UHVT zan<3JCFdhf$sf>%F-`ET5VzBNeWf(9FeYSr_e9O0jxt4XfD98A=1Ro~v!Z@_} zef~e?1O&gW??Se3zVhj%ZLewcp+j;}jhZanFm zWesQM*~Z&ulfvLRY2%m}4;3G;oD>G}Wy~>aYsK4-{q>Aj;<~sW_2>N-AI3V-%sFN~ ztsz5(l+3@>v6+{|^TYmIo<-ZW4>xT~|1SR8KL`9-znSObo73*|$9)?#b!LA|TiKNi zbKpsfdwUrXHqd0)ite5=G0%}w|6|S%q2Xe*%+V=TA)K*(8xz81~~9fFDSch2m*c-x-#JpRo?ednk>(@FWK>U6;*To{N0;($0H4u}Kk9KcuBTMn}T zg}E>g2gCt!KpYSU(m8Nsy`8Uxx1s#6${*r@I3Ny)1L8nQ4s2xj)LRy?0KYR;xkng? z1LA-L^^#1$rJLQ`)x7~JIGeb4npU5t_uqei0sd#6c_yOm zzZyJ8j~-nJhwtw$yzs(Rg;UM5bx-x_FYJU}j05<{M#&-;u-2ihL%qpxtlGZPeoUP= zNuGT2$>>ji`jh*9I_=R%9(iPR!37sYlO|0{x;%R2l~N|PG$NGEVh?@+ysY!P<&Mto$WgfUoen94S^5Q9Jd@sHkA z7q&Ota6`1pDyu|%_dF?m`u6P`Ew$8AQPRCHz4TJVciofj)3MTAm;Wt|kN6{ea>N0~ zUQKS=NV(Ahm#uCQ20QM!W5MULL%%P5hn1wsuYUEb2%j5DEq#}jJiF7bmH(A3=rm62 zeX8d41jDY;ax0*H(@ht>^Uga3xB1<7-&H+UcAk0WiC%p1#X?x@Y_iEF zO4kaxE&p2|Zp%gp#}44YG4>9PmbL8xvePZVVAQBlMgH=D0}iMu9hO;UndsYZzb%AG zA933Fp@9PjMh6~vV08NFr$@}W2{}MGj0L;qnrkBJ(ags=@x&8ddw4B#o#>a|d+)uY zi!Qpzh0R#wGtM|8+IHJ*qhZ5_6~!TpPkevz#TSpZ-g@h3`st_danFbmBck8^?sw7o z=bs;4eDTH6DW{wgZLq-x(Nt4S)#KWDxcqOW|D9>3nWDAVUOPJEkV9PDufP8KBK%if zb=9a6{I}X_t7yOd_KT*ScG{wMUu?0(BEHXi#T8e$=fuYgFxQ;>w%cyI9?x5G#TBEY zk3QOsS76M-vBw@8t-SKeMd63IG7pP)I_ad7qQCz2uhC_fT^5ZQGbS22a%Ac~;r&Vb zv&}YJ#Jj;=ICS;ZSG)H(=%9n5l~!6QmGenqF`u4y-DaC@dcW{N7psPhplJ0Hd=<+1HLd-S~n2`{Nhtj zJyr0PjI*l5wx*@mIp>^H2$P*O+lYPeGI8QWm-b69y>xW*%{TkQiQ7jWc_dnQ-E}MC z3UjJ%y6L9q`|rO`43mQ&e)wT@-g)OG`qc1Ums@VR!WePN7n4suxr+$L(x=%3IY|S;-?Dai%-F4SOP?Vv-aL}MZuDnA# zODN1IpK{76-8Ia&8b5w~;q<`=AMB1ZAN|%_Z!H{;@4%b**!zt)-nfY4@q7ODuYW~^ z8>VlmeadL##*K?U_~3(hP(}ZlFaMk0{HE7%8ACxC)5~6a?d9&F%y9VOhevO`@rFOu zV@o*#-<=fSefQnBa6Ngek~wUQ>F`2+sbvm&QrvW`Y(Mw8VKuvHqeb5$Y@*+_#B_Of z$t9Qc+01SC*kg~xyzH+pcS~I+^mAvPd1hj`mtJ~l;rXoXLAn0RFTX4t>uu+lV~$A- zHy%&wsmy;ZS16Oj>*HaV)V)ICyYFBZ*89Wr@qOYGh8N#&w*QT%S3JH+|C!H3{VyK( z@PC-T@4fe4MBO^AZ1ve^pA~$`WRp!6z4qE`g~#HHsqYa+Z-O89?HKs4as=*`<6{_$ z_|{u*l@ny)8rD!L)$YN$@V%I4K%MuVd+sTOQEKOb2Ofxq3>nfR9scl#KNQ_Yn?aa1 zrS{|FDVJY<`LgdV6|T;e?RP!ie4n>ja*jR7KUdo(U=fy)zxd*dXpTANs0;3twW%X{ zdFY{s63gFVK9ARj7z0Ka*Is*Vbou3%N7$L9dCAPNDaD)BS6|&nqp+opN;@Ha)A*3H z&px|{U1i>Fyv@``Jyr9C1Y9 zv8Co8t+v`~h3nV>d&(f-g#X|jlJF-$hFO0&u;r=FkZ9MMy z%utA9{F?Z_Sj>o*ZJ$ywuc^iXyKWq z{4f3Rlqu-%+j-}mqj~3@H{w`4T-s^rHxGrr&-iuze^UB#FLhwbMQJ`M?tlIB7~4l3 z)Q9i4^jT2v4aJw|@bPP{wN{UNmRMqmA|KDaNomJ3;BHtS=UVa$?+~Ax$2-wyO`SRv z`fYuD!!7Ck-F1a~Xk$%Uvm(j=VqfF7I1HP*bU4nOdQy^) z`kLe6hxVCzN>Uv;evki8TVE(ibr;(5ywJ|+?=7{Z-7^{}yhjai^aCm+^F=(0=XTG2DjfOIe0~ z^YDDye%$|3*IRbkWlP>mpXo;*eN>1RX_!=34xc%6=+L5ZR7qt}{A^g4B`&4L287{n zvBegJ_^^}2lequo`zGb|w=&L*daswHuxbAZ%Y08f@kGgS*=ww^h7ZndX~PQNNBd3n zP58pTrp=T;*u#|OO~Rm&{&)NBw=c@eN%h*$KI1DZNqfdXT~yn!4D?&PlfiGvOp#2%lr)L%wFO)nm)f!Xb-0j^^0HpqNGxfCM++sVa9D{ z=znQ{rS4Tu+(S$VpD{g2_l5qKHbDAZ!KxBvtWG$Nr;_?F^U^54P!GfZth3HKMY`pd zTNd>{?y$oSiSI#tz2L9QEvLl&FXO+Ga0-vn_Rm-$FZ3~o=acq%Pv!}ENh)iFW9_)E zocUwnvuM)}CEf-d_rJ_V5ARRghyUSNFZxZAu3co2MIzr9PCS@nmUJC$F<*W4RUxX3 z8B4lO$Lec?OW?VwooluXw+Ct-aFfa)p?##BUdbFmOQ(|gleH(jFm~0?kqz$)pI@o} zC7f`M2JsKa3A27cJ%n~l#)O9P4*f5FrQGlOu_i|-lm)_Y{eI|wc`tvw(k=acUdr*m zjITQRqv@Qn7)B>k@hBgPJRAzhQ^ImF8ew4EnCSI0`*y*lB8 z4`fY@R>=MKP^EnnFbKyd(U&yeeDl=>ciI9&Tgd#Jq%;lfb2a{#@5+0j?J*qx6d$AI zud8(X?z`{yn7`Rf|J$tZAF=*YIHtA|oI2V6vaXdE@Tv5hBGi{dVO&I*7n}o@ z<9}JZ5k29A6WltB1#oSrll^a4|D`R&ukDe<=cHqdI|v0|7+%*5|BHY9Z!kZLcI$9X zZ+x6s+Bonq-r8@BP431OAJ{5c$sSz9QT=Zm9^o88=6J;WI;+7xoFht~QhZH7A7(B7 zm$?$*{2J=QK3uk}tq}@icIoe#PV&FZ=?VM&Xh&cz%J|&t5L@O4htkRZ z_xR(FFT5&c%A|4jAvW>-Q%^m$a6dcovCYl!zj4kI5Bl_dT*Gl7lrfUVYWQolZJaF* zu*Cva4a7-9$M#tyVHp~A~ z1`f+ve!O%%pQMe?N_syXtKLqQ!0t^uHan7p7upEyD&GUH22<9m z2-nA@Z5vyi7FOtgsduGamvo$YAfd$PdNMvGY;$8AbGh?hlAaeH>m>inx*=XzUn+dh zwEg(H;hpS%SzClL?q1?;w`mx0e7*J7^S8Mz-|&iG-z@*jb6Km*3*$YQZy#S9Cr?`o$P<%Qv6#6 zv?+UzrEO`$4c9&eC-O-A`eypy_&VRL*}=F7FZB6`a|q&b)&IuW-x#jj+y7R}aEri~ zrakzoV~xQiX}mD=AsH_+%{0>_rUO2Y{xH758W+|Q?kz9J{V!oKACoq}B!7x;=DW0E z`!@Hm9&QpZm>0x)LZL7hBR&T+yq9-n&It2YSPLO(oxx7>zhV0`IMJ>^+d+s4`;=Sw zRz>(71dnT{`(J!1Ws^{tr<>HC0#5kZu8)I)% zaAn@naMN~>+bt5}LlZFw*Xs}SC2hCNA)+2Ydllt>zA+Q7HxypaxpL+&g#I^P|He-6 zy&8NS%C)qQ#-+FUlJU70{(jaM;60d=%X{;UMAl3WzeU5fNozYb)BpCiW?-p262>!a z{x54OaxN6o6HZgtlX%2D9llG%7-#xyz=>~D$AvW@ z)7GwTrvK$V!f$Se@uY9MlJ#Fp@lNNe_FH!tcI_euSVZK1n~VYTZIbFZVO~w!XMSWQ z<5NQai_IT1W=vYpiN~>hz16Yd5Z{51*O?Ooj2)!zoV4D;=+UDKSJICbU!Nn5xA8Ue zS6E?%M1F^3()kWzsjmoZJ++^cwL_O|Ni&CFYEraaCN*cz6zh$F0z0{yYYd+HUoVFfG zSQnztEUCRVDQ@9-oKka1LtOawaZ*_29NT>J&HXDm8(*q^L;nMHpfsU<;?IBnv-{Q& zYfywTV#J8VIEL$8EU+LC({ zuw*VlZ~f`C35VYaDYp$6j6yzB_m00`+W&Fm#uY`Mv@JDGGA$e(ud8pu*WvTpNglGu zl+7z$TVJeLV-~+fJ0^aBzEkGeQr6}_-#nnNE2$r>oU{o23_jP-xus2xzDB+mgl(cN z`p!G=jIbN5-LBwXI>Qci*{9%@2?XdzS&mJ8b@5moTs#Q#k9DvE(m@s z?VCZ|2cCQ%n6)6|^HtKqO*_8F9(%ZNCYLjBb@=e%t}ULvZ`!@-izlr~=lELulqE=? zQtK3wo~)lde*E|z_ov0zAE)o0_7HqHJoLv)ZNZ8BxwU;O_XxRE&As%2RRhx z|N3*<*4KtsfG57Lk7+x}kro+oqeC&kR(ZkyrrFt~u~_xu1$7{_Ug330IABiQtW(~n z(eIHZ4#mgZ(Vo+2d=!4Ke(XrYsNG~qi;%d{p%|3wf5idi0db%{9H31ioO8rD?X+^Q zFs~2hW#IUOU9-4py9wVP<~zjl!5xT!{I7Veyxm+5j2t=AH#xa2eM?G%=B7ac-uO6t zT|3HQ7AbM012K^Q6|a@Io67yX}gNXL3g0ltg;ofY1V!@EpuAF%7%UG}pGiYpz4LHKP|*8B*+NviY~-^GFY zav+>%JZaJ-jr(s8dx~#scbUT?_?4-Aa0g+q!wx$X%H!vpbB@xsgVI)cwf$@r^U1yN z4HKnN%hQN&91J(jf=sYTiZdOC0pCv8W}9sizqg?D7T?8z`f-3c-K?R>7-->IKU{0T z5}%e8*}@_!-UtJ6KpYSU#DPxWz?NBYz823Rrf99Y8Q z+X-@)y@bk>!ay7l2gCt!APXG0vlAR|_d94kEakZ@J*vWUgRZH zaa$OO1LA-9B=o#%xv4wv$Y z!~t=j%{cJ2#pkD{oh(<_%e7;Z5C>_KBaX=i%F9+_+ljH4v*Y)LpRsIkM!~tcgXxPR2o^wAdM zt}<_a%e+c^rM);H4&<@!i~mJ7HB}xE2I7D?AP$HFt>8c&>%PwU+7ET$hvb7*1`!9u z0dYVaXfg-#T=zAoovdlUttj{CnZjKh5C_D8{Bj`Ab>D9H>o%GXoZmbk`=_)Q2gHG9 zbAb6bk}d>RwoS9~*YkwAI3Ny)1Nr2@igLb12;3wetTKo=AP$HF;y{Br@OKMeQjEaQ z?e7n!Dvt^SaX=gp2gHF!aNv9MF-sP^9{uY^;1b(50&|5aT*U!#KpYSU@G+8P1m?8E zUzjSN2m^6I91sV@fqHV_Q}ZozC%YaU?MC1P+tw3vg(W=20dYVa5C`xrlF|qawbO5! zD!&K=aX=gp2gHGTaNsTTDbtj8Jv!Tsz^=Bf2j&VxIEn+}fH)uy;8P^!A;7wn51T6A z2m^6I91sV@fm%3#FX>yJ>(N!+2&`n=S}@nW!cQC!2gCt!U`2V=st_12AFMKnI3Ny) z1L8oH9JtKxlT?Sm9Cq6$rYge<193nc5C_D8N;vSb`HtbHlIjsSz;3Msb6qRE!~tEPnfH)uyl*0jh#(>&fkM8b9U`5-OgSoB|PU3(#AP$HF zE697+6@d%ngH;9*2gCt!Kpg0W1Lxa$NqrHR-hzAGRApOXAP$HF;($1i!~xb$oUXpE zN1=5iu$66-FxN5RA`XZH;($1?nY?8~5x7P^SY;4#KpYSU#DN$GuDAb^#v(Ag1^994u}K!(#<(-k|CS)I zwmnt(PZ)>;;($1i4-Tx^5>KOtrXg^ee6Y$O;($0H4s<*RPET_JI^Hq_2HBGzF;)3j z7>EPnfH=^Z9Kgn7>m}`nz(N+K&rOy0gn>994u}Jt#epx(wlCa%ZbvZ+5YXCKot5Wg zLzSN5fH(jLw8mB7=-PPq5{sMitS}GVIU5O1L8ooIDqYzWE+8g7X3R+mG^{!I3Ny)1KHrf?PjyF-IDAh zFq^%?E2heO!ay7l2gHH)=D@3Ft7px=+tC{Y2>inKzcy9g69(ddI3NzRCkMVY8;z}& zbRGhHD^mGR7>EPnfH=^e9MJcCJJ0WiZ!}guSY;4#KpYSU+KvNbLPM?njzpl3z181L zRsIzQ;($0H4zvdct}&b3wYrf!E9i&(+bMMlY9!z%q71YgD!--^tzycX1%!9N>F`*kDP1 z5!l#X{RdOo0%0Hyhy&t4b2xy_-6X$mM{gb=u!rp{-w6Y8KpYSUn!|zJ1N*C8A#jX* zu*x9ffH)uyG@Jw2T8R*dBXFJ_Q2AFFhy&t)IM5glTo5<9`Y!~!5n%q=cvIy)VIU5O z1L8n^IdGZTR@PsT2!S*N2HS~SO_leAfjA%zhy(TEz`x9<4oWk+IxYkP1egnckE!yW zFc1gC0db%<4%}t7RO@R54o17ZA~4jh&>C5_3?o(K%H zLr=6j_s0>C50+h#ZxIK?fzlk1?~Qv7{jV1S^1-F^o@|rw z5eM?i0r}o~c^ZY2hJbubG4`yti@}e*h2gHHAbKohn zh1f)i5NH+x!|g$jnC3n2>HWn4aUj1Ozy>l;Qz8VKjR0$O+-WNNBMig=aUgFTU|lP0 zphO6?3IWztyUjFjc~9@FG#3Z*%K_GN)|!&7@;Z8Mh`?m_hi`kx9ti_+Kpg0F4q)rB zc@iPeE(q{lExv8p>3L7@r!*D^^2>p9+r{829zq}ifn)5L?2|AM2gHF+yo5eM?efiKM_?cAwGSMMbR0t8mH{Z~w7=Y)YcAP%&e123B`TESEz1oDEw zZ1$q8q1x)ar{^mT#DV;B02?%WUW~5ZQwRhI46yw(OlALsfjA%zG@ApbneD*_NrXV2 z5!l{d{u9$?=RZA9n2Q7X;{dh>n0+l1Mp53DLI%IzZ=4bfpCAOvbdfHhj*Gfm5XIxcL)f&6jcU9$<>)n;0Bw-68lWgsw@U30Ce?5r>l z2gCtv!JK8-4P7Dxgh2fe*u{cUU0C*4J~*EoAn#)XBtk$4v<3m{!dIKh1`7jmAU_*4SJ1M)xwB_(6k{PE1QHNf-Hz#d4%xB4 z@|F2atNSgVs;xP}fa#DB$T$N1E&jhTWelb4yD$(3+J^(=N%CetQ;84|0-cM%^!92e znDSjv*x#WIC^@L1NG;?&6c+`wkpB! z=#UT)0tE!tx4pYeWrKx*I8ZwW?zOzMULkjBM+gW3A<#Pl^24>;Uiq*5V)&3{u`PPf zX1YQM2mv9Gih%rZetn3_50$4qeK;GL_DRiAIw1svfDot*fpzWjTTEq>g@HKGlLPAC zt<0Y2Y9Sy5Do5a#cFR?!-GjfR3Zd~fDmXF0t?%Nes9V;@p-nv zdiVUL|A)r;GffvWl?VYLAOu>4z;Ju;A*Roo$`=WPPUgTf#_=OehnY%*fDjM@?SjDM z7Llz@?=bCT8?1NBU;5tO&Fv{{D-i-hKnS!m0!vxs&NY3{RQ^gBWRU}J8+Xq(9bqaF z0zyCtWDS8?EW&%5K46+f8>~3zFWv6z=IqS2l?VYLAOt!Afo1I_7_;)asr;HSXeSQ5 zW}H0BbQx2L5D)@Fpi>bTYA;4V@eQV5nzoZ2R$TIv9&is1!bLbK5duO$2;>O?zQ6W6 zQ`-EPODX>+3>wJ+I0n~7nf}C7A_Rnh5D)@C`q82W!l9; z5+NW2gn$r8Mxd`9X8iP#ri|NCy*PjVveq&ZoO#gn2vfMEwU`YAi4YJ1LZCtfsIwes zdb_Fmi{*>ceDfE^kK0TSFjYO*K#&LlAs__mh`>A+){dr^n=)oK%@*r;KCpSkIB=Qi z4yJRPN`!zA5CTG=@dymDN33Ex+Vmb%>Ob*M zJ$^IOvrQj0{n}LiINKPIhLcQ5Q_^-$Q;84|0zyCtv@ZhvENb(aZe@z?o@n~Hsr+$! zV?Y`)Zi+P9(v&o0Jf1`d2mv7=1hR|392WI;O^-Fb(ezc*A57(wTY~{(lmQwFdW$Lk;5$?K=JtzEsi=?12(mwACHb-AZZKQhfzJ2vmiJ3npu57P@x_csL_+7rM^A_Rnh5D)@F zppgg+w7_RHUDR|f)16F@HvN<7-%S}y^pfevrr(&hdmWlM;#*%fr4D<8DgKpr+S!zM zF%{i`l&y;(fHT}2gU8dC437cn(HKkp6Ptz?-i3@QeZp4v!)s!nF LLO=+#2!a0x&+JUN literal 0 HcmV?d00001 diff --git a/code/sdk/files/evb/fs/user/system/OTAUpdata.bin b/code/sdk/files/evb/fs/user/system/OTAUpdata.bin new file mode 100644 index 0000000000000000000000000000000000000000..f7689f22c233a1f9f62b5476988a7cf8850b3a6b GIT binary patch literal 146040 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 L-c3_#<9_yR$rA_jZ~^a>b_&!{{^jmkq&G@ctk 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 z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ;9(c|fAp_W A-2eap literal 0 HcmV?d00001 diff --git a/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a b/code/sdk/interim_binary/brandy/libs/bt/evb_standard/liteos/br/libbt_host_audio_manager_wrapper.a index e74a4dc4ed6a5e4df544de3ce56817fd56e874c2..7efb9ea53120481baa0a75bf49a5656ad13cae52 100644 GIT binary patch delta 15045 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 XI)!JY^YeD=3=@$^^QDPS4A1p{B-nJB delta 15071 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 diff --git a/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service_wrapper.cpp b/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service_wrapper.cpp index c08094b8b..5e72603db 100644 --- a/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service_wrapper.cpp +++ b/code/sdk/middleware/services/gui/uikit/proprietary/src/service/src/graphic_service_wrapper.cpp @@ -44,7 +44,14 @@ static OHOS::ImageInfo* g_imgInfo = nullptr; #ifdef QSPI_DISPLAY #define IMAGE_OPEN_LOGO_PATH "/user/res/OPEN_LOGO_QSPI.bin" #else -#define IMAGE_OPEN_LOGO_PATH "/user/res/OPEN_LOGO.bin" +//#define IMAGE_OPEN_LOGO_PATH "/user/res/OPEN_LOGO.bin" +#ifdef SINGLE_USER_PARTITION +#define IMAGE_OPEN_LOGO_PATH "/user/system/KUMI_LOGO.bin" +#define IMAGE_OTA_LOGO_PATH "/user/system/OTAUpdata.bin" +#else +#define IMAGE_OPEN_LOGO_PATH "/system/KUMI_LOGO.bin" +#define IMAGE_OTA_LOGO_PATH "/system/OTAUpdata.bin" +#endif #endif static void UikitRTCCallBack(uintptr_t data) diff --git a/code/sdk/open_source/openharmony/third_party/icu/icu4c/source/ohos/init_data.cpp b/code/sdk/open_source/openharmony/third_party/icu/icu4c/source/ohos/init_data.cpp index 84a87a78d..ecdc47419 100644 --- a/code/sdk/open_source/openharmony/third_party/icu/icu4c/source/ohos/init_data.cpp +++ b/code/sdk/open_source/openharmony/third_party/icu/icu4c/source/ohos/init_data.cpp @@ -16,7 +16,11 @@ #include "init_data.h" namespace { +#ifdef SINGLE_USER_PARTITION +const char* g_hwDirectory = "/user/system/usr/ohos_icu"; +#else const char* g_hwDirectory = "/system/usr/ohos_icu"; +#endif } /** diff --git a/code/sdk/zhihui/drivers/cywee/service/cywee_ble_Service.c b/code/sdk/zhihui/drivers/cywee/service/cywee_ble_Service.c index 24fd25797..fade5b053 100644 --- a/code/sdk/zhihui/drivers/cywee/service/cywee_ble_Service.c +++ b/code/sdk/zhihui/drivers/cywee/service/cywee_ble_Service.c @@ -9,7 +9,7 @@ #include "bts_gatt_server.h" #include "securec.h" #include "wearable_log.h" -#ifdef SUPPORT_AT_OHOSFWK +#ifdef SUPPORT_OHOSFWK #include "BluetoothWrapper.h" #endif @@ -45,7 +45,7 @@ static void ble_cywee_add_service(uint8_t server_id) bts_data_to_uuid_len2(BLE_UUID_CYWEE_REPORT_SERVICE, &cywee_service_uuid); //只有一个服务,永远是1 errcode_t ret = 0; -#ifndef SUPPORT_AT_OHOSFWK +#ifndef SUPPORT_OHOSFWK ret = gatts_add_service(server_id, &cywee_service_uuid, true); printf("ble_cywee_add_service gatts_add_service ret: 0x%x serverId = 0x%x uuid.uuid_len:%d\n", ret, server_id,cywee_service_uuid.uuid_len); #else diff --git a/code/sdk/zhihui/drivers/ppg/ppgBleService/ppgBleService.c b/code/sdk/zhihui/drivers/ppg/ppgBleService/ppgBleService.c index 9edec1dcc..51d59db2c 100644 --- a/code/sdk/zhihui/drivers/ppg/ppgBleService/ppgBleService.c +++ b/code/sdk/zhihui/drivers/ppg/ppgBleService/ppgBleService.c @@ -16,7 +16,7 @@ extern "C" { #include "bts_gatt_server.h" #include "securec.h" #include "wearable_log.h" -#ifdef SUPPORT_AT_OHOSFWK +#ifdef SUPPORT_OHOSFWK #include "BluetoothWrapper.h" #endif // #include "bts_def.h" @@ -62,7 +62,7 @@ static void ble_ppgtest_add_service(uint8_t server_id) bts_data_to_uuid_len2(BLE_UUID_PPG_BLE_SERVICE, &ppgtest_service_uuid); //只有一个服务,永远是1 errcode_t ret = 0; -#ifndef SUPPORT_AT_OHOSFWK +#ifndef SUPPORT_OHOSFWK ret = gatts_add_service(server_id, &ppgtest_service_uuid, true); // printf("ble_ppgtest_add_service wrapper_gatts_add_service ret: 0x%x server_id = 0x%x uuid.uuid_len:%d\n", ret, server_id,ppgtest_service_uuid.uuid_len); #else diff --git a/code/sdk/zhihui/services/ble_service/bleservice/bleANCS.c b/code/sdk/zhihui/services/ble_service/bleservice/bleANCS.c index 876873f87..add967e42 100644 --- a/code/sdk/zhihui/services/ble_service/bleservice/bleANCS.c +++ b/code/sdk/zhihui/services/ble_service/bleservice/bleANCS.c @@ -39,7 +39,7 @@ #ifdef BLE_INSTRUCT #include "bleInstruct.h" #endif -#ifdef SUPPORT_AT_OHOSFWK +#ifdef SUPPORT_OHOSFWK #include "BluetoothWrapper.h" #endif diff --git a/code/sdk/zhihui/services/ble_service/bleservice/bleService.c b/code/sdk/zhihui/services/ble_service/bleservice/bleService.c index 1052df47d..43fe179e5 100644 --- a/code/sdk/zhihui/services/ble_service/bleservice/bleService.c +++ b/code/sdk/zhihui/services/ble_service/bleservice/bleService.c @@ -50,7 +50,7 @@ extern "C" { #ifdef SUPPORT_AT_CYWEE #include "cywee_ble_Service.h" #endif -#ifdef SUPPORT_AT_OHOSFWK +#ifdef SUPPORT_OHOSFWK #include "BluetoothWrapper.h" #endif #include "custom_save_runtime.h" @@ -1837,7 +1837,7 @@ void srv_ble_server_register_gap_ble_callbacks(void)//ble基础通讯服务注 g_ble_gapble_cbs.start_adv_cb=svr_ble_adv_start_cb; g_ble_gapble_cbs.stop_adv_cb=svr_ble_adv_stop_cb; g_ble_gapble_cbs.conn_param_update_cb=srv_gap_ble_connect_param_update_callback; -#ifndef SUPPORT_AT_OHOSFWK +#ifndef SUPPORT_OHOSFWK gap_ble_register_callbacks(&g_ble_gapble_cbs); #else wrapper_gap_ble_register_callbacks(&g_ble_gapble_cbs); @@ -1853,7 +1853,7 @@ void srv_ble_server_register_gatt_callbacks(void) g_ble_gatts_cbs.write_request_cb = svr_ble_bt_gatts_req_write_cb; g_ble_gatts_cbs.mtu_changed_cb = svr_ble_mtu_exchange; -#ifndef SUPPORT_AT_OHOSFWK +#ifndef SUPPORT_OHOSFWK gatts_register_callbacks(&g_ble_gatts_cbs); #else wrapper_gatts_register_callbacks(&g_ble_gatts_cbs); @@ -1871,7 +1871,7 @@ static void svr_ble_register_service(void) uuid.uuid_len = (uint8_t)sizeof(ser_id); memcpy_s(uuid.uuid, sizeof(uuid.uuid), (char *)&ser_id, sizeof(ser_id)); -#ifndef SUPPORT_AT_OHOSFWK +#ifndef SUPPORT_OHOSFWK ret = gatts_register_server(&uuid, &serverId); /* 注册gatt server */ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gatts_register_server ret: 0x%x serverId = 0x%x uuid.uuid_len:%d", ret, serverId,uuid.uuid_len); #else @@ -1883,7 +1883,7 @@ static void svr_ble_register_service(void) bt_uuid_t ble_service_uuid = {0}; bts_data_to_uuid_len2(srevr_id, &ble_service_uuid); -#ifndef SUPPORT_AT_OHOSFWK +#ifndef SUPPORT_OHOSFWK ret = gatts_add_service(serverId, &ble_service_uuid, true); WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "gatts_add_service ret: 0x%x", ret); #else diff --git a/code/sdk/zhihui/services/factorytest_service/factorytestService.c b/code/sdk/zhihui/services/factorytest_service/factorytestService.c index e2753f90b..bc7334ee7 100644 --- a/code/sdk/zhihui/services/factorytest_service/factorytestService.c +++ b/code/sdk/zhihui/services/factorytest_service/factorytestService.c @@ -11,7 +11,7 @@ #include "bts_gatt_server.h" #include "securec.h" #include "wearable_log.h" -#ifdef SUPPORT_AT_OHOSFWK +#ifdef SUPPORT_OHOSFWK #include "BluetoothWrapper.h" #endif @@ -50,7 +50,7 @@ static void ble_factorytest_add_service(uint8_t server_id) bts_data_to_uuid_len2(BLE_UUID_ATE_FACTORYTEST_SERVICE, &factory_service_uuid); //只有一个服务,永远是1 errcode_t ret = 0; -#ifndef SUPPORT_AT_OHOSFWK +#ifndef SUPPORT_OHOSFWK ret = gatts_add_service(server_id, &factory_service_uuid, true); // printf("ble_factorytest_add_service gatts_add_service ret: 0x%x serverId = 0x%x uuid.uuid_len:%d\n", ret, server_id,factory_service_uuid.uuid_len); #else -- 2.17.1