From 9474e321e19b72d9e2847aa37834c381fccd5733 Mon Sep 17 00:00:00 2001 From: kichikuou Date: Sun, 22 Feb 2026 12:53:32 +0900 Subject: [PATCH 1/5] Fix ChipmunkSpriteEngine.SP_SetDrawMethod The meaning of the method parameter is the same as that of StoatSpriteEngine.SP_SetDrawMethod. This fixes a visual issue in Pastel Chime 3's battle scene. --- include/sact.h | 2 ++ src/hll/ChipmunkSpriteEngine.c | 4 ++-- src/hll/StoatSpriteEngine.c | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/include/sact.h b/include/sact.h index 90a1754..139973a 100644 --- a/include/sact.h +++ b/include/sact.h @@ -118,6 +118,8 @@ bool sact_DX_GetUsePower2Texture(void); void sact_DX_SetUsePower2Texture(bool use); extern struct text_style text_sprite_ts; +int StoatSpriteEngine_SP_SetDrawMethod(int sp_no, int method); +int StoatSpriteEngine_SP_GetDrawMethod(int sp_no); bool StoatSpriteEngine_SP_SetTextSprite(int sp_no, struct string *text); void StoatSpriteEngine_SP_SetTextSpriteType(int type); void StoatSpriteEngine_SP_SetTextSpriteSize(int size); diff --git a/src/hll/ChipmunkSpriteEngine.c b/src/hll/ChipmunkSpriteEngine.c index 1134c56..b44f96d 100644 --- a/src/hll/ChipmunkSpriteEngine.c +++ b/src/hll/ChipmunkSpriteEngine.c @@ -314,7 +314,7 @@ HLL_LIBRARY(ChipmunkSpriteEngine, HLL_EXPORT(SP_SetMultipleColor, ChipmunkSpriteEngine_SP_SetMultipleColor), HLL_EXPORT(SP_SetAddColor, ChipmunkSpriteEngine_SP_SetAddColor), HLL_EXPORT(SP_SetShow, sact_SP_SetShow), - HLL_EXPORT(SP_SetDrawMethod, sact_SP_SetDrawMethod), + HLL_EXPORT(SP_SetDrawMethod, StoatSpriteEngine_SP_SetDrawMethod), HLL_EXPORT(SP_SetSurfaceArea, ChipmunkSpriteEngine_SP_SetSurfaceArea), HLL_EXPORT(SP_GetSurfaceArea, ChipmunkSpriteEngine_SP_GetSurfaceArea), HLL_EXPORT(SP_SetSpriteTransformMode, ChipmunkSpriteEngine_SP_SetSpriteTransformMode), @@ -330,7 +330,7 @@ HLL_LIBRARY(ChipmunkSpriteEngine, HLL_EXPORT(SP_GetZ, sact_SP_GetZ), HLL_EXPORT(SP_GetBlendRate, sact_SP_GetBlendRate), HLL_EXPORT(SP_GetShow, sact_SP_GetShow), - HLL_EXPORT(SP_GetDrawMethod, sact_SP_GetDrawMethod), + HLL_EXPORT(SP_GetDrawMethod, StoatSpriteEngine_SP_GetDrawMethod), HLL_EXPORT(SP_RenderView, ChipmunkSpriteEngine_SP_RenderView), HLL_EXPORT(SP_IsPtIn, sact_SP_IsPtIn), HLL_EXPORT(SP_IsPtInRect, sact_SP_IsPtInRect), diff --git a/src/hll/StoatSpriteEngine.c b/src/hll/StoatSpriteEngine.c index d455621..ba9db64 100644 --- a/src/hll/StoatSpriteEngine.c +++ b/src/hll/StoatSpriteEngine.c @@ -45,7 +45,7 @@ HLL_WARN_UNIMPLEMENTED( , void, StoatSpriteEngine, SetVolumeMixerMasterGroupNum, HLL_WARN_UNIMPLEMENTED( , void, StoatSpriteEngine, SetVolumeMixerSEGroupNum, int n); HLL_WARN_UNIMPLEMENTED( , void, StoatSpriteEngine, SetVolumeMixerBGMGroupNum, int n); -static int StoatSpriteEngine_SP_SetDrawMethod(int sp_no, int method) +int StoatSpriteEngine_SP_SetDrawMethod(int sp_no, int method) { struct sact_sprite *sp = sact_get_sprite(sp_no); if (!sp) return 0; @@ -59,7 +59,7 @@ static int StoatSpriteEngine_SP_SetDrawMethod(int sp_no, int method) } } -static int StoatSpriteEngine_SP_GetDrawMethod(int sp_no) +int StoatSpriteEngine_SP_GetDrawMethod(int sp_no) { struct sact_sprite *sp = sact_try_get_sprite(sp_no); if (!sp) return DRAW_METHOD_NORMAL; From d4121032db1e7e51fc47e4645707c4237ff591dc Mon Sep 17 00:00:00 2001 From: kichikuou Date: Sun, 22 Feb 2026 14:59:57 +0900 Subject: [PATCH 2/5] system.ExistFile() should return false if path ends with a backslash The system.ExistsFile() system call returns 1 if a file or directory exists, but returns 0 when the provided path ends with a directory separator, regardless of whether a directory exists at that location. This subtle difference in behavior caused problems in Pastel Chime 3. --- src/vm.c | 8 +++++++- test/Run/test.ain | Bin 28572 -> 28863 bytes test/Source/main.jaf | 4 ++++ test/Source/system.jaf | 8 ++++++++ test/Source/test.inc | 1 + 5 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 test/Source/system.jaf diff --git a/src/vm.c b/src/vm.c index 76b4fd1..261d05a 100644 --- a/src/vm.c +++ b/src/vm.c @@ -559,7 +559,13 @@ static void system_call(enum syscall_code code) case SYS_EXISTS_FILE: { // system.ExistsFile(string szFileName) int str = stack_pop().i; char *path = gamedir_path(heap_get_string(str)->text); - stack_push(file_exists(path)); + int len = strlen(path); + // Return true for directories, but false if the path ends with a directory separator. + if (len > 0 && (path[len-1] == '/' || path[len-1] == '\\')) { + stack_push(0); + } else { + stack_push(file_exists(path)); + } heap_unref(str); free(path); break; diff --git a/test/Run/test.ain b/test/Run/test.ain index 93f2e6afc4479693ac2a841bf9bc6fb29526a857..a0198806bf118dbccdbb249a7c7561dccf157d60 100644 GIT binary patch delta 28491 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

wS;E%!hmT@xCu|V{1;>0B7bwqjUB}iU{RU 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 Date: Mon, 23 Feb 2026 13:40:58 +0900 Subject: [PATCH 3/5] Implement KiwiSoundEngine.Sound_GetDataLength Used in Pastel Chime 3. --- include/audio.h | 2 ++ src/audio.c | 12 ++++++++++++ src/hll/KiwiSoundEngine.c | 3 +-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/include/audio.h b/include/audio.h index 23bc1d5..10d5d90 100644 --- a/include/audio.h +++ b/include/audio.h @@ -78,6 +78,8 @@ int wav_get_volume(int id); int bgm_get_volume(int id); int wav_get_time_length(int id); int bgm_get_time_length(int id); +int wav_get_data_length(int no); +int bgm_get_data_length(int no); int wav_get_group_num(int id); //int bgm_get_group_num(int id); int wav_prepare_from_file(int id, char *filename); diff --git a/src/audio.c b/src/audio.c index fee9b48..9f29b7e 100644 --- a/src/audio.c +++ b/src/audio.c @@ -361,6 +361,18 @@ static int audio_get_time_length(struct id_pool *pool, int id) int wav_get_time_length(int id) { return audio_get_time_length(&wav, id); } int bgm_get_time_length(int id) { return audio_get_time_length(&bgm, id); } +static int audio_get_data_length(enum asset_type type, int no) { + struct channel *ch = channel_open(type, no); + if (!ch) + return 0; + int len = channel_get_time_length(ch); + channel_close(ch); + return len; +} + +int wav_get_data_length(int no) { return audio_get_data_length(ASSET_SOUND, no); } +int bgm_get_data_length(int no) { return audio_get_data_length(ASSET_BGM, no); } + static int audio_get_data_no(struct id_pool *pool, int id) { struct channel *ch = id_pool_get(pool, id); diff --git a/src/hll/KiwiSoundEngine.c b/src/hll/KiwiSoundEngine.c index ab9100a..c512f48 100644 --- a/src/hll/KiwiSoundEngine.c +++ b/src/hll/KiwiSoundEngine.c @@ -23,7 +23,6 @@ HLL_WARN_UNIMPLEMENTED( , void, KiwiSoundEngine, SetGlobalFocus, possibly_unused //int KiwiSoundEngine_Sound_GetGroupNum(int nCh); //static bool KiwiSoundEngine_Sound_PrepareFromFile(int ch, struct string *filename); -//static int KiwiSoundEngine_Sound_GetDataLength(int data_number); static int KiwiSoundEngine_GetMasterGroup(void) { @@ -93,7 +92,7 @@ HLL_LIBRARY(KiwiSoundEngine, HLL_TODO_EXPORT(Sound_GetGroupNum, KiwiSoundEngine_Sound_GetGroupNum), HLL_EXPORT(Sound_GetGroupNumFromDataNum, wav_get_group_num_from_data_num), HLL_TODO_EXPORT(Sound_PrepareFromFile, KiwiSoundEngine_Sound_PrepareFromFile), - HLL_TODO_EXPORT(Sound_GetDataLength, KiwiSoundEngine_Sound_GetDataLength), + HLL_EXPORT(Sound_GetDataLength, wav_get_data_length), HLL_EXPORT(GetMasterGroup, KiwiSoundEngine_GetMasterGroup), HLL_EXPORT(GetBGMGroup, KiwiSoundEngine_GetBGMGroup), HLL_EXPORT(GetSEGroup, KiwiSoundEngine_GetSEGroup), From 1ad7cbb2c57f884c42a02849dc2502f8f4ffe291 Mon Sep 17 00:00:00 2001 From: kichikuou Date: Sat, 28 Feb 2026 08:46:29 +0900 Subject: [PATCH 4/5] Fix array.Alloc(negative number) array.Alloc(negative number) should create an empty array. This fixes crash in C_HOSPITAL_ABILITY_SWITCH_PADDING::Create() in Pastel Chime 3. --- src/page.c | 2 +- test/Run/test.ain | Bin 28863 -> 29034 bytes test/Source/arrays.jaf | 8 ++++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/page.c b/src/page.c index 0a0ab70..7bd5e22 100644 --- a/src/page.c +++ b/src/page.c @@ -292,7 +292,7 @@ struct page *alloc_array(int rank, union vm_value *dimensions, enum ain_data_typ data_type = unref_array_type(data_type); enum ain_data_type type = array_type(data_type); - struct page *page = alloc_page(ARRAY_PAGE, data_type, dimensions->i); + struct page *page = alloc_page(ARRAY_PAGE, data_type, max(0, dimensions->i)); page->array.struct_type = struct_type; page->array.rank = rank; diff --git a/test/Run/test.ain b/test/Run/test.ain index a0198806bf118dbccdbb249a7c7561dccf157d60..2aa664bb6d97afd3fdad483120e4621923cfbac8 100644 GIT binary patch delta 16439 zcmWODV^k(>7zgm4Y}>ZoR-3Ii+qG$Po9oH;q|LUmc{4W~o3YvE+n3+D&vng*x$nXG z&zYI-ZP4)!2*>{pvVC?6(623{+quB#NchH>lNpeRBSV7>#n#@NF!TGAd`?W-_Te06 z%UJaf8}&`~Z`R~v>hH=wpyZ6P5(72)7N}1it2E?twrs^0%Wfk{lzhbdXYjvg0l*l1 zi)13wE5Y6GI-^-7GUf~q@6`a=)hK%URV!rx1ysy51d{2iow!mQ-&4pkw0Uv>o;Kp0 zMU%j;x*cmXCcu){$cp~1M)rvCrZ=z-!UN3!cOYYP1bp#Z4P9D4ef{j}0c9sm-msp+ z^UgoN2npA=VGFe#POQm?9g`2 zk^*)g=?d@gY+tzM!`tZC=tA5-5)s(G4q89ZkD~S8vpFG`<=jRt2#y`I-t2xV+?Cgz z72pUr;?tIg508cp4`1kc&kb*iUq@PWR=G0RiyqzedJ93C1h}<|r*@5c=A^Ouj6}OE z|B*eD#EsE28Rj2BJh#FyLM{CeGVa!R2>5_xC|c|zFrgQgx8CWYw41p$N^yc_y1GI# z_B1}pWVBVGd6=hMK6T%7c|zXogVhA=py}}JZN9KgbgtM|b?Q?nDbqYg{dV|psy+wG zq3uAYjW{rHP#|`I1fB_`0?2(@3;g&r7s&r~6_|i$0M!5wp9TRG2n--!Kmoy61$R(L zhGRqmclQxft^d*Pm&1>rWdYjGs#yLFx5x^XvOSo>2m;~CCO8>d3T=#aWXc+xIVA_} z6YV>S>?+VkiL*nb<<~QhCtn;s)UdYGfhPnT&;VeL$N<6xVi9>zkQjR5HaJmU%^K%v2)W6PM0aa5Y7XsB78VZ!-23DBV0 zfxti_Dgg)?s6-_q;z`oB-zZeDmQT5WrBBm=hfgB`JajS;6u|c>7ohzq6X5ZwFOc@> zKcEGj0%Q-Ye3}8ge98onU{HWq0g+Fi0Mk!hfZ$K}fZ|X2fZ6t; zsT82{=_%m+X$=5;stYuKdH^h8GJq}t5EcVS9ALs?`rIq+Pb-1oPfvl`PcwkEPsIT^ zY$lKn!1XB|VEic_5dCQ`(1QH~Ou9N_Fp*=CYpb&hl)`~#UAyc!JruMmH!K_(AaByYtuLu=7jx;#|#y}(_mM;s559H+S zX*WNmqb#`Cevzgs4vx{-@HAQc`gbnZ8Mq%FuAU+1_`W+xSM8p%MKuQxRN^3@5bZC+ z8E<7UQ4${oRsp>@IAAeE=-|T45xk|P%m|VqU&#N!d+Akb@7>9ml>yd^onZ}#Sny`U zA(LGEy(QI2XOZZH#PajwJwpT$Ow^si)Jo}G@JrcQIp!5)!<5Zu&dtTv|5m?Wd zNLyW#z9jq{=4&;>>I-SU`eAm18^mW}O&CnbV#kZeBL<)M@-c9iTj2A>7`!L2b>&WU z!kgpm+a9weGg^(mU2}#P^aoPvn8TwC9;n5|LHRwKE4q!8zskv#K+Orv;NpPCG?Dyy zBuZ`>7I|qRR`NO4Z8*Q*)!3fs+WjfL`&&RTuD)C|{DbcqTo+kqO1l9Rj|dLd5=m;^ z&3$9n)Fn57*$Q(C#NR6ZkFDNOU{L7*Jb?PQA{4=fQjynly&pol|7eIgVIn$seeUUt zFX1{4UW}<|bpKnOMW1dD`E_2QkI2Tw_z!sHu|%0cFR=jJ z+N0=tnZ#soxNkr_9uta3-NZ1O)5i5=%Yo15nTtop(va~@FMN{E4%#{OTJr85azgn! zdhh47MSBi6Ru_)Ecor20araV~>T!#2>mz`L&xBIKk}xM`i7c9h93G1ZDBzQ!Xv%h6 zT8`wpO9%(%+XEi>WS}x24WA8Vl3cXGqQE9I8uEMfZ(t6e3f#TU%XzWnzjnrgBQ0O? zsC-f-`9m`3;jd5$@)WWus3I_Pn|hx3@4YEq<~jS{nqP1@cIw+KRVWg8rTnKJ(mtN? z?pvLt- zC}Sh;_98X!$Dus#;hUhE{2tth7bL_`pQF;Wa6)1@b6V(vRDEFF=cjfo|AXqrYgdne z=Ft4PU4?rT32q+$y`7{K;AQnNX4nkZZ{m?PdiJ?|!0t|_{ zP}W*OsC*@%9;i#-yM=)4&&tWJjW=91N`WsaAzcZuPE1FDHybe^{O{RD;hB{~<%?=3 ze|xN4t#%O%1wcZ=g;IfakDP&EnUu;a48H$$3>p+fyVICHREORjjHJ#Eb&PS^9dU9EUK2i6;1nP|+U-MiGPv7PQ=yOE*!N3Gdsv#qZkImP zU=F?bgc1kF*NRZ)yC>bulyaQM=$v;|UzbC6TbMKfg2Sy$5ZMCkW|!mssem05nSFAS z&vA)P1!-kg2uG)SWe+l8_Q3|{UK-gguEWuPvVC}5w$)_>!Q<>AMn;d2e3Hwk588nYB6Q~tf)iZgUzl#KsjrjQ+U<=kk%|BH zWfo}=MfoXJHxnvF0rq4RShz_F>0YZtBlH5H!q2yQVSW2FKt353I4H*J5aGW7Jv350 z&YF7X5oL__1*p9&Q?1Q}jpnJ%?wFZb%1f;d*Gpss!@AhtZKa4e>(r2w7PIUg5}SR` zxgm=`@Xz?b8mS^V@Wc22wqh9{lh#5Ut&&jTJ-V6;58Hi6RKprOP5R<(7%owW;5oDZ zG~}VM0Gqqui!kzCYa-&uqjaJh+ z@OIlCfmlsw0?SmFs#f!O=8ctCln&Lr>717IEvOm0Lu)rMdScvP(FH1`zts@ZV9*#o zSgZf-J?4O8!&2T9Z8wPgdOPkaQ#7qbZX;$m1VVNy~!_TGzuKng4rTzs}<7XxltAAS#4 z8z7$o56?gAK~Mm?KV$g%$A9#XHD~uC67Q^R-+?I#8oXnb<5=;}J3^uZ*&l5>`F$@X z2%02s2mpza21EgHP~xCq`|N*VWz89y2O#jlfI1}=3TahfK`dNxoBM^VrydaeS=k(l z{K<*5=^FN<4bu>4{H$>7YT-7IcqdjLha}GfyPp-aBWn-f`%%C~ZIn?FfJMbXFhC_o zGjI+YP5lacz(T9D9Aw~rDC0gNoB(Kkc6k_TAjgVYa(Tw8t>B|sekA1aBpm+yh$02j zKD$Q;2xA-+g(MQ+ow6$uJ?$9Q?sktKa!k*FmCr63qqLw_-*FX$mcT<$r0(>09Snlx z*y+Y*fQXubfZ>;gDzQ`BS&{*+bXSG|*!OXQlM}4F*9sVZcF(EfwSd>F1j%|)e-2u! zig4?qhZ)zuy?8+GXLk@$!sNDrViQ8ElWem*qHuiv??Wci#1A@Pn_2H#3p(tSo*E?ORtI$%S~Bk^T2UZJ-1w@qV*)RK_kFb{lTm+_Fg z7yKDEB4X|ROcy)_?z|`jXINx0Cf93)fv5eZ#s_j--2)(KwJEb2QlQIA0c_Jsf&2kF zIx>(0AVWt7vH=`F$4x*yT_}hQz@d)^5dy{ZWFP`ykX{$E0v{k}Ajhom=y@}_BwQ#$ zUyg*&Umsc|0@N79K^#B|g97L?Ml+CsXd6L{+90ZeP>gZI77CCb z0K-ZFs%@lW)duk_vFr_#(IiyG@ydQsm0p3MG}Zq>0&to;g|(;G@H6Fz6_l8oVK6z# ziABF78zo#QLMS<%8XMV6L7#~ihr{nPGXos^pk%;{b02ivXv_r#`MKKWJnA4ZpoNFz zbA=ap08kcS!sO6W@!FJi@sr%NU+jAgmekxhwXPy0 zFE{PEH5oZlY6{}49}-@GsR+O(fCJJ3qy(Hn|24J<03gs@qk^D12t?YLDw`Yyynslzn4Foc&!rC+U9`~(>f+l5D0$!aXmI_X=?FDHypJTL`;l;I1R?zi62l`| zi)WBed`V(y=^sYKsV1nUI;1|O?{k2FXfP-r=n|y>IRl%bOrQ<`N$dt>1$>CLfPEJi z)}hv<%C!~qpn?}YKDHmA!t4yCX_RF@9|`vtSjUh_ZAiw3*jBF!(CL|9iDvrXKQ;=u zx~4SO;x?5_FoL6cM(Lr*NR|{UIZ^FT0#h!NSk3E-`M%g$u5aASo>doVuE2}f#xd&z zQsl%(Ph0o86IP4H&BfUUwV*e-ffr==U-CtvxvKuC+}^4Q6zqi6zTm}kdQmXK8IL*N z7*f#b(m8=tFV6|?2nvG{#82YNn2Kg;h{<_qm;ZAcop04_`-!U@<%52&bFpKGM!9QY z@85(KJDkvGYTb=g&n57HxU~MTHmuLwNwS1(Zi%mVpYQFR9i4!ynM z_h|}4{FY*MMyn1O+$3Rs>*1&i#8`mzc5J60aE_#}DPTV)AxAYK>+sCHgP{6HeK4FyZ|#8ablj{|FpDURsD6LX)jVD|!3r9Y z?Bw|i;Wb9%AEAm8MRrI{E+e<|LhYC#?yzrd;LfZb0WAa_0~s(_H-AvfoK>iSs*~+o z|HToON`Y14xY)^m1gQO3a^lq;10Orwwj}KP-}NKb$}zJGi29FlW+JoK%Ql~k)$u@q zIjG8TQ$GwkDDilzrxxNp{dsXFay8U)`<;C46g}eq3fv3=z7%^*LDsP4PTPi%Z5aeL z;c}qz=H>wrd_FMOZPx1*{@S(pVT8CWktZGo`hcW%Y><35GeIo&L(kh}0~KaZEkhQU zdV5jep_|vdi+DJzk7?YETC8R+E(ct>qwPUc*j2<2FhyNUGR>IBF&^L9D;k14+sc(I ziAyIUB{5c;Nr_$AJy%&~QI=I^Ak(-YjO0+hJ^RuqGAS4@5C>h&?rE5FLx+Ez#iT7U z3;J(>FalwPVvG3XY5qa2q4QIUCIv+UQ|Sy6=0_~lx7;h4crC^E{1>=|y1ug2m7EZJ zGrUAEQjbaA;vNZJIyede2g@|>_6KUatrXp12R4VEuK>BKMmyn|=v~$EPm9*(s6;$6 zi$FfUnGEpEkAn|Gm!R#m&3q4pRJGBXS0^(R{Yhx{0M0lO6)*FAM#)p7!R)Ww+vwPq z)BQ$bf7?0gwVoM=-ZL{7@fz?2Q0^0S8)=@x9C1G48uO8GuI~H@pkKqJkZ%ychGbbM zd7@+ro=>}fnc+mkfw+C+4)`n*Ujud~a^>G@Qu^Ron?LGvP49jun&G((N>Wt<_}mWi zo?E#_0>0+)`{eso|B{D|!KmPEn4B_9k-}BmkB-NK;vih4Q`=8|2BgN6dMIAgrn%` zstm~p5+!4DAykxO9)exa=rkgy_0dKa1*d|Te_jZOwf{UfNll<86YF0y=AJ4AFIch{ z$eLsE(?&cbqptRMuId;2r0mMo0qXX6n|c~J3(#BwF|vIaRF;sC{^gnUtJXhbNE5K} zLsT>Ja=Pz$e+}Lk@!TJ=^fWW=tU|aVzBEz$3tvu<3el_Yz zJFg#cm($loMeV-#`P;6y0w3Hlg%H&>Qq;^sb>XM-MapN&6b|wv2R{U6@%4RSKP!XJ*u7Fxo$3aI)~d2# z8Q6cZ{By&fFZVk#~9_02x$_CvpRVx`k} z(8oL#v3O#TOQn`0Uv4S7!a;$sQ1;a^Ew^fPGn5D8V6?mS~Wo zSpcRQ;UKF2ze6F;uyy9HJWZk$&U_cRBxveU2_?j{3^>Y2eGcZUnGRKOu{?O*>+2wK zAmtl6!hnm<(=DMK)YBIjo&Y6NGYg7fB@QBKtAog1EuefiXl$YT zW-e6uVByE`45eFG^m0Jw!c$bVgi?7>(L)vPv5Rzr_5`!8vu*TJyMGUyq2b5#ap2jl zqy`D(8W{7BI9|a&IEu#@diWnm%`P0=XFKSdCv>Y|d?X3r5X;2DXY)Dp=2NfKCT*rS zHFtjgPY7~t9ORb+xW7~~UDPC)t<{yOtwk}-n*&ARvGr=15UNX@Ww(DF@wDD4+1W&s zN)(z>^1qE@5f0hpQz>TC4w&obCUb;z}N4!J+J&`R_r{~{63*OhQ9B~|BnyWQ$}8(q#Ln^ zGp-Go?Z5iIE2U$;H|28N9n9g}dvjwO@BCZp zARK2mG*!m<Pnumqgg&NutyI^iqwW)fb zW}{8KuCnEv7;3`qBW4Q?*|IKuPa&um{0zM#t^CUstmxCOyB*PIZ$3JButDvUlcPtG zdFswAZ{HGyt-j8$w?d@0-Z!W4RVe}PsoEG?E53VI&)v+%{7_JvYWxc*<9SaaOIHYy z&*{EubQ0r9kz|nmPpZ(h7S?$=dJWzUw0W2d;<*j{>0AWE)no8KS+h)K*czB9EV62` z%<*^$aD(C>vh4I;l*GR!%R7(KH0SkxFzx@U49`>*Wduy-GvZ2m#zZr673WSid&Uhl zH@}6I;?28SNtl2@8FOPBAjkQnrmw&^wVi=bn=&!xiMXIgVkmb(MBB9Q8%0RzS+08; z3z$&ia~F6&Re}Ny5QKUAStVB=8gy8zp~-M|!NVYzAe=V_4kr?S;UFG4aGO|!P<#-Q zp551xhi@pIIzf22h59%o{FBiP`H8RT29<}lD2u6A=ZUlbX8Zd&w^@sx8H=vVzCmw` zemNOFVyVy`%ztt)z}iK71>xP3{W_{=Pvw>!C+!0Nd(Vh|vK%4G z1`|t*&a{9#$Q$Bx(<@UbnO=V!~3>+`P8qb)0z8slL2Fj3hBYyS2?2BqS)2 z5Q0@Mt-}6H$K%hxPFHH5d4~Df zqdWm#@iG;>2UD`Gd3vBy@r|RhV%2CSt4RpsL^h9jYWo z`*07M3)u6PLF_kjyaR=E8c2vA4Gmv7+wIZ*Y7JbtHguU8($rLwdt8f%J*5cJ`Ta8T zBBG*4p|^GZ9+8}F1$nV^_@B9482Gk|QA)^o$f3sJ<93U~O|teY*754~57(+VWG+_! zO_jL)S&WE;VEQf7LewpZG*4Lo@$N~r2Nw$5o z48a#lIb@^c?LT!Kv@uk^`cb<2{iyJr8}9oYY`sFiYA5~7u4 zMlIS&yB=Ny&^~=FsQ2|ZU{P%vTQ{*V%ehGMlCIi3;B)>z^ief*2@h-#FiFL9 zA)LkKK&x|~Bd@b!xrg^l`%KO3@Fpo-RntBb1wYq&stnH6isgpy#*|KU^s-8})G5Go z7IaCTG?N*~DUy=6wmZplP-}&`_sD;Dvrj}nvcLC!s1jhL5!nN->6AVQu)-zW2+-7= z8G4PLD~fF?dslrV^i5(+%E1~}z6=;6G(**s>asp_jKIhDnjk0<4{`tFfh&T#Ks?So zsEEh#drL1u<=){RY7NSupXSZRlv`ekTh_S4_|%}M9bbb^ z$KReMgaDz|Anqx{zh3E#kB=<}On4#gf??{|>>$%&(g5REo)Yma{L+_1DW00R5|8M} z3w?j%$GZA<>mdm8xp1f3B?sf@mTX=Ja=sChc-EKYu?|>pF;ToD9*MWd+cYTRpixP_ zNdI=YS2`q-T0^R49{K3EZt(I-jojVOw3&h7on9QXMrN_aDxy2ww;h)425o=M4EgT~ zOt1N%0pd`NV~ntB&!jPIb=P4AZv3L|%5&7KN;SAMWNd`_5O>3-CiIvejYw70g>VTt zl|nYJI58_=yGc+U{o%-K-Si(kKDQGS+V>!sho_FrA+1F9PPzn)S~u4_)5ET=2)Cs0O7 z2OUq8XHlNoU!iX-4|sknc&RE1@{kH)zdN=CbHuPMqF?u2K5onUS?z;uVO>;H)hT)`PNdBE2!E;o2 zp^45!S=WjK+(KPY!iBJBSuo;sTPi*p5Y8W@5B_}uZDYn#DiS~EAnb)79j%&pjTFCM zYP8IQ3o}ruYS1Ftt~H`6+c03s1l`4yTxcOZGhYug19i!DXKp>GYWYMgYD{+Ij<+BO z-}&vP;7HL||69kGC_QU+p6GxR1L4l%WnS9~tuHXN?!nxZppo1@gDX-j=bQ(nVMhOP zVwqt}9HvDkhQo^dIe_33)hO~Cm}oUgL2kbXkBe?6az70Olo+{p=I?OLvD*hAwQY07yC8I2JtT|{TI)cl^xYN>H0c8Wqzbs7uky+H};44l7g!*feOB| ze-`ib34U6A`?W}QUEK@DCcA!ma(pHCdsuk|r|y~zwgBmD01E0XDOmJex87&HIV&~? z{8%)^O+MKo!$eb_yT5|uy4adc^*EXFZYtDf{-M0+$2c!@MF{q6j1S!UTSn~E=xD%K z45g1A^)*-)`SHG#knjvzj)B-PFig{kh_Yz$^hPI;7_Vs?5p@i>aXQWZ5j8#Z?$^CZvlbdU9l6n!0*|) zliA+orS3*lW`yQ?xdoT@SW=wY8HH+0V!q?>GyLm&IIy!#38Tg8Xrel2V%`L<8rmIC zlt{4sUKc$6?Pkk(x3EW-b=y@3_PH$Dzc)+J&;z=2jS!;22PeFW+>XK1B2MOk?(;&n z??y9lF~6|JVZ4R1Wo4%DVNTX%!CR-XcVWu28!;bBVhsr~ELghFzCWR3u9lHt<@^y} zTKmO)L)yN?^agS~^oLzx`c(gNB&Wi}*aQFICxkNfYz;tjJWFKP*T}rWcN=l`tBR=` z*Z6@jwlo?VE&HzmhZ{Fi+%5Jr%jO3ufx*k_itXg2+MC=Yd6!k%PSP-c0639DjJOi= zuM1-ZsN<@f0Agh``ou$Y%j72gKlWbwpt!(T#=_e``;JJ{4qU|)q{%x|*09;Z)sX`* zuKM}_R+i3!Son&=&0MvPKv5{Nj<1we@KF*c3Gj=-c*4ah2PODn+E6Q#zGsn5qAby^ zNBrfXdz0#@qCrI9MIPSs3)t#{Yy)p}`6lAA`o%?7IbzA|M)GUam!zv*z2M+f?}pp#c}m;~s)QtT>_z81;aTYsU1yUQI_Z(bIt+my#=n zqw0xXIB_z|*cSWPc)4YA1(**|zyBi)S(Y~`CN3;OB(8u{cLkRqvuGe@%J#Fmr2eNz z9NV8L?Zn(C)^ zLiXa-TB24F-d&+!OG`YA5XPh+;Y2|;G#`aNUsN};xHX*@OH0p;`rEgg$z!^pjd zY+L@?_zHZ5jL_>hFV2rE&5T^`3B4D>G88q;5!&D;j;Q1n}TbV!xNs|KmcZn z6WWkOnyS{zYAB!#=cU=!XRpUoR@t2wcLD*PSB=;Nws^SpznJMw;wXd@u z2D9lA&4fNb&EsI=@hX~zhp%@-nl$(9t4Be6-N($_m`6cEZe}EBy|(%yh8%;4EqyNP zzKX>=C}6O(yJG#^Bngt;tBpEqIXAUHvO}c}T11+k*~*XQlG%hpVy%<2DOa{z zZFg(dxo4fk|AP6Oe2`z~SUO#wXG7ME4HF*tg(f0E1nt_2iVPX$$ICLZCENz<68v@C zUR>bC1Q-?wW3Q+v4ibV@y^$0jtF_F*S=hCA_-j3Eg1MeXge<$vqjvJy>%oW2C&O*` zoY@A+BeuWZ%xCYrnr7B>(y)~eG0H=Kb!JKE1H0eH(3KB17e!7?&fOj_f}Jy=>3Gn; zK&$CZiP3src9~M*Pa`6%-~z8g^eb*1|h_v22@R0Kkr(r`a3vpAqys0+HBO`CMPP4!VE)>O05@Qn};<5?Jk>9 zC_-neJdopvo^=d(RiEJ-C(s5HovOGKuSWEIVXDmotD}O$zx^fqS2Ww?7063dR{8nX zp!$wm|GRNf$PP@E(Yh?wE8cSoIO{7)4bh&Dy97cxLS1Bosa!(R4>E!5C)u{uAbs?u zGAQJi^d6F3c+SHNxW3}@8#E)-iNi42CFQMFb zm(mX88&>9hFQ|4Y7BBCa%h|Ie9ZWYmgQ7UI8Stoiw z^USLw`7Wj|na-WgGe2Okl(hE^11E$>RNbX0M4WkgfX2pKP^q<6zi?8KDEl7~m}b-2 z>9lWMSg`3pDeo>L2mbMm?9BY1hq~dw1*JBHz)+RK)+JJ}b872t?`9_5D&}Ll>k53h za=KJ$j~{m~3a$x5lyl>x*}{1ndXhBKOAV@0_bm1XPNrq*wEJPWxhx)enmqkKDB(EA z^d~!q0WewKgE=d>cPWTKEu0b!JH0IO`}6xWCz_M zZLe!gqJkJ`;VIqtTq}I9U&B+-Ah8~*7e4YUJJBQ3nlGaFt!dGLU|P5X`sCVwi#%&t zIhOk^`@^hmR=!N1Or&7D3H z)^9D?W5q1_^3ZqawU8y4k*B?hvUdaB<7CLg2}TX!&g;laVptdEU0Xl6gA9~dwZ)RQ z_7MthyjRhghT1d5Vl9PK%SKxU?T7f7%lc(jxRW&ov?;_TCVwg`@Be4kQ4){rNDN^I z=H?65rIu?v9b?l`=_uImi3uaK_2RDI$(mYQOWLm^H_7w))A)-SM_hl^R&F~wAC$h0 zUWq5Fv|&~UU#JV{gP-RH3E)vz4(U#h>i@Y!S<}Zv3r15j^5{dC{(O2#=6U{2@Uq7+ z>qHyHRYN6>BYKb|hYh_DECEGeYDH-HC0JiAfb&wInbT~Ufaxl;W%laZsi}QMk0w@U zy(E^jmYL0sB8YvqIlj|IyaxWR2eT-E2gk$MQf`r$l3bvz0<4KYE<@gwKmEwHHrnp$ zsI!}i&L}KK`f_)IK7ZHJDLuTBVs%_f50U6lv2uIcs*HA<2^%*aRDtwFqsLm<73yFd z0SG2QUYDu;eo~jMGlF7i%5)aL8ng0hGV=@w{VFB)YsF_O0#q>dfcMbRL&SX~Cz!t> zvP?hIjcgVNfH|tK{`<}5^g_|{!m?xjTq2h-?B%1r=zLu*UiuXUj{Cn8+o_QPvp~nI zg>Nb{U)8@ECgfDq1w`M{5m-4@at}xL!GulFM=Y|!x=yeu{ip6UiMT)C<<>SAWcU(# z5pXUL(K~V@*`D3@vx`SjYFt}eB;*>`!G|Od(G^_ z%x=GUye+_ufbwH(hpIr!OBr>H`(uSx|5hmrITSwU=KZ|yr4Iiduk6^6Jcum#-5ifG z(>(wz6JS2%0-NfUHR;kf?a%SGy1E%B`0Z3>?JFd~S2;6Qavx}tcZS}^4Y7*__fcx3 zOYv(PvV0I*$yO&V#kNv|MG^Ic4C` z04xez()GfeZDB}&o&7!fx$@tdv8g>yBu1)ur1r`Ao6LUQ5zTgFdL48M>*VGaFk*DDq@y>yCz8~^4btY+B|#6uwQqzV z)V1S#y;{A!RoIEvPk{my)ak-Q09WYxH4;2ozKtr{R#z;S>%=sCK5L(>R6a^4yu8D? z&6pCaS1>G}y`RgiF2X1flIAX1Bp;1*>hYIF0MUa~kD&3kJL8_!bQrb~KG1zA2KQ=k z&xD_J4694J2wx$i-lT$DXm^vGC9*#LN0{{y6s?RdWL;Jlg4-AU83@Qfql}?}e(i>DoPy8`GweV1I- zneVHjN}S!>58ridlL*tk_;Dj~w@rfbZ?h+8H*5N5MIT{)*=_FkUJIEv&ah;s)&eb?n{9ear)z;uA5{LZ7^@F-tI9U;2vyx@ODn@j92?B zf9YlAbSU@8j1bj})rvbY+>5?47Gg?dRj4s&4#Dq?e8l8x-BmU;eSv9e?qCVR+$o6V zN%l<&%W4ia=e4O~+d-qPOn5BL*idQvOJ=*vIsV26V|w$~#eIgQ^5@2a`06jP+Gu#` zNHWSbAAVEYp}wMbYI@21#S#f${-CtJ`+G3OV!ucY+ibP6xZs`M9F# zQoC6fdd@rPrgO?mNSVprQ8G0!AFS&k8+x-6BOi6hmxHF7>bO`N2f6&jrLM(Uz!2r@ z`XV7UedZ`tvtH+d+7;=8UAMA4kD|JWc2;&W*E2E1FDW~@ zb9VV_cefazu8W0=5vhU3RG4q2IIae!W{&p-Ih(F=nd_+o-m*=rICVF_F|b54q3K&f z{h~LHdyT*pmG+i0@;ZT+XIv?X5qYiJe6~i3g9pYW*B!k-o6<|HY_h|o-=FI>uPIJd z!(M`99G@Q?-k8~1AlG`qNI3q75*z|}=zWrCx@w*Y)x(a_L;X-y32}*at?+E-tA2Xa zoYP#^5SEFQaItbYJw5r@OyR?6$@6trI2ICXM~xpkiJFs4X&X7RP07*t=|#SSX#^}v zSS^WP>MX)pvS`@^PbUd^*D5&2^$5Uf_eC0qf(2QPrU}E7g{sS7w2An%g<|0Wl|Y)c z&(KQ&a(A)wd{`yBXTsEvlFNY%f&mSJ-Ye!(vx*0{a|*93-RApWkA1`>$X;*&)QJ;V z=dZ&zf&q9)E-`L?hb8`$oPp3GP70$|0Nk^6QufMX(|?#sdMv6BMtcqUGo)8`J|lRj z;J`U1s?nFadUx=2UYTVN^hRXj*q(gX2K!Uq5AcdAmne9yu|egV-^22b3C~=gU;EUQ ze7eQ{Mv|>iK-)TH{Jtkyg#DW>MhFp{RNmKra3Fe}NY@G%bKEvrX~6@;ArAw~zIvz= z)s-^a5|J*tdT)_YCHk>Lb8Xw4Z^)Bt>rv$ooA)Fd2eDw}7yVX9o>%7mQfqioLjQ+> zpLcya8lyV&JpCM|P&h+1kBQiRg3`zkU#dCV{tk29l7Z@!Sg(p|Jzz=siAc@; zn;~{7%z7gq^te?TE+imP@WmV8-v1UlDF@gEA_VtQpzPS*XdzUWn?x}bHKgX{Fu7^4 z4S8!n3_60JnIE&Ht!-_sm`bAk+p>HjtbbCNUotl-)#C`-I_a%eh@I^#x4#}XB;VT) z{<5RB?zeU1G?6wivfwHSDmkAsq*tC7!%WWt)7^@z7$#gE^F|>VIa^q?{Y>GuR=}5q znhFbIh}mb4eF)^7y@#O^gtN+wCftCK;DI>1=#m2qi5&C1c!j1%{atV_Bnj0p#9$k@=7zjqmn2Dj zV-Ol+9iE^4W^dbQq&<~=v?U#qeY!!@VKwVD>oz^Puo01#H@|BEIl(d1@J;&T+9`9p z^+kPC@Gjzr)^2!7vv5M25Lly$_QA*u)Jh4ivVx6w{!an$$Nlxs zS17` zJz7Ng5Z9!nlljqMJC}gZ<(kd=$M;JD4B7uM2aFP*&$dW$XRhMi3%hkT%JTWnN|aq5 zm^Fxbeiz7d9p?42k;K2e;wqG6&{ztK$TCv8zc^2lot9B!fpmN+*W4TYt+^X(cs>L$ zlhl0iPJ1V*J{UuFahrI-=Hq7JChg#BC59TQ_yIzb0YzhVt`gC(IepzN*lW=G%fRYo z0S&_2V{U8kT(sBYbBxk0X6W0KN!~g7fWtEZ)>{$MYI9O#Y7U$_43sl$ zg3?d&gu;<9wV7Yzgk?@*#w2(w6yCnW3m)-){#G#Q!sa->?=Olk8&;>#*JR;Cni@0= z_4k1dBR1l&cM_KhKzp-z{3a8n=~gZ(cg55G>-2WTI49}@MAvzfi*N7ij5Qz zU9#Rya=GWIjX5taleO@TWeD77!F)v=5DSq@Ex578)P0l`Q{EU>4Q76 zQ>p+3@hc@T6H`?OO+%FDWuaR#F#d<-9zce*Bo6!f)ltQ&=!y=14t2K3bH-#ExBt=L zoc@T1DV>CDtB}F81ksE`KR`k_-*+29g7iHTXW#8hM2BuqETS5C5(SkhVl}^_Wna{% z{;VhN+q#SJO|(e5Xs)(y+=8YXZR38ZVvmEwui1^UEM&z6PaM&ekv@Atc+4Z83$Nk; z{t;GVa_1@9-!r$}7yj5;uA|BGV`$TvHd_Rv-+Vs8$UM;5Cbz=qSPK#VRsBj+h*yr` zJ5yv6avC=EHp2D;tLYkOA^j<79k#FjJwIAc>94JN)=F^?TawQ%XYGhzNKt_l%tt>L zZ9utSuWh{6^8539f?xH;43Yn_nVR{Bq8`QWr)TOSCVl%aR!6oyU44+9R8e)Ba&uGI z%ps(ld?LO+CRhuJCe(%6<_21$yeO9e+qdK-6JQ*i1eo98!RI)%i8?G9zcny^Ds*G4 zah($oQ9Ef~8>UaaVt7xnLj6~(Ni>f&!CVE?VA{G!Vw*KNF>Z}Cy7dfAj{ha{8*f#l ze#W(=Q;!#yaT2EO%vQaGM%}c0k>r*aR%UL0io6Q$KA`DPU4Qn0+e`EikL-Ux=p^ma{H%xeteL_z<^|Hf>sS!bmlnzeU79-_i`( z+#WlUJK|Iyigv$Y;gELJN9K5|*{;`M*h+TxwofJ_)+7_Pc|5!ncRLuR5OHENpq9>~ zsrq)@r2jZ5wON~Mv&})%8X(qUDuf`2>za1m{q5l# zX4^<@oR#XP>JLlu36+Dg2b7!%Nn(%|?;6$VW2L5C_V%~0i>0@bBuai_{j>NEnE)^b z-y)fa^h$8|r`~u@=?hc3m+xwz>}nJp-Kvc&fC4IF90AGn)l6O~PV6gW8reNL0Z;4k z-^G%^Zh9SSv!=k3&&Z0wo@UmF@Rm2Q0m1_<0e2u13po6*x0-r10R{$HRRhW{T0CKW z1?QdP&4h#-I@1z@FAAFe3pY99S*z7JCli{-C#x692O}d3B`<$@l5YP<9>#l`2c7-F zc*$`a8QTp)C2!kjZ%srnu4!ghU9dTYnyb@e1zI3&utb z1ME;(I3B;bJR;?z&XPSn{pTX0(8P)A-khK9 zTE+Qne$wT>;W_?rP5*AAW1|aj$0Z`L{hhSE(2t`H-m^F$m*w22E(lJXGvDmf6z7E8%Sx&!iPtH4i8`G`z{P`eZ7vf?5uR7cN9Cm>-80aHVt%d{ranG)H^$s$!{du zb$ML&OcFOn-(r|=1o7Mo!x**XL&&6C^C9pJlD=@UkHC~pSl)KGhr)jL+Azfhn(^ui z$;8{_G=<@t3iZQZisk=2_uZb5xB6fW0DEX!JPSJk*2&J5Z8VFmO;HM1TaI5##~LeVPb(e3}R3eYy=y!qbD2frn2U0dfR-kUXG(V4@;4 zC?vx^B7wX2h^gNHXy5GQ(NG$w^IZ+=NBu3bf{JVprZ573xUwluy0$_aL+uw+O^)p1 z!}iJcT}3u4Xye4WA=0wz*~e1>rw?_koo3((!47l|SRm4agn(E?ZWJT>UbsyTloyLy z;06p#BT_0{bR})IPPF_CGbP$!A(6u7lBD6+ipqkUS~(itIOdOe+ucSL>k<2T-pY4~ zSXLV66O8aL*+x^7_y^f5v)n;VZ=jj2jz~wG*g-EKjHCjx0%DO&K)%2kk`-tl&_Lz~ zJpr+w>H)*ZB;ZH4SVS$#OYXg8n3g6Mm8Y$Hkz>B+EDf|R68eRIyX|gfm`+T_VG&t| z4k!N=vlAePRNHu}X!PNx`Dci6vxIzW%f2{hAyv3C0YUnzbRM;DEoKaUB=_n@mf2{! zVu}zj9Q)9v<*t+CVbT&Z-D9IyUkKy8mZrVG{?V{%-o_8YNQL0f_FsP^nvg}nW5hnF zY*$%oFqH=UP%JQvb9vdU#<A=IM;Q$``7Z3`-`zbr1^C>;x^{FqA z`sohPf=&){239`(4ZM810FYpigJuBHPhSADPhEhJPj`W$PuYRtPZ5CQPayy#Omfg3 z!2GEKpz`TC@cq+D0Ql4dX!>*;Si+~I2`p<7>#9{=60Xm;H0U@8B12v!i2G%~6 z1mLh4LB;^*r__MSr#L|Lr-?udwg(t}b=Gh)TRG>O?j8^e2by#1vghzp(5~3DbbheC zus9n*IfQsLdu}f(1Qn)X8gX#j7PxlOh7mgR+Kk}f%HUrSDs-G`aR3ZKQ8DpF*f>xe1V_VHy|JEUROe$yf{H ze#a04d3A!>rlVQ6WsdO~-JU+y?!R3Hd-d5IZF={g2zw=RzCh_CFvY1oJ9uB=mJ`^{ zno28OlfERRo$adgn1J{Bx34^j zPI zTO#3>evyYde|3t83QsnX8=!cN*KOSNln~Vh=zq(84HbhT6ir~D_#3P3U0`og-lNw;cAXpPC%SntApx&EmMAmmBNK>Q za~xeKlbGxaX9~pQF`{_XP7b5FY+g^b9Qtts!+2kqE7Ps@!>4%dp}+sS*1x-loK(J! z-cOscY|rMx>cWx#nn}q{+`Sa0cGBYC`V3&e0Zid6L*VtpOM3KNN;rq`^+RroI zbK7l)SN~XA$V)~Z$33@H_K9vvWz6?G^Ip>kGBXihB*_2 zOuVcr9$}Mexh`&414^ISjOu?Kdj0I`_Y4Pm)v}5`_wNcRu9kW`;y^edIZC577M8-b zQ>VKwDAWvSB4j2&y++zCvk3YI{?)&_VhGW!ZAwdfbrtJ33%n4LD`}4D^!$|nmmykB z5gT^5AE|Xe0p)cM--yx}@Ze6oAR&(W9F?k#6B@&j-9j6z<_F{XcY51O6{;JrT_XaT zTc7{lS@!j<(uP@)qUjv4BccV}0f|JSph#f$(_jFDSQMou7;%O4L)TO{hDrkj7!h-# zth9nqd5eE~p)NUe;{sWqk-I%RU$`oie1B3x+8AJin3h0zE@D9V=-E!;nT1_VK&_Ln zJyxzprx1n`AR*yIDaE=+PDijx`o$v;#Sa*LMnu;k4eE$S;VvkbX+nW45?TUtAXF06 zCpa^W%<|uHQ;2;oCJt)ti}jcUut7o#{=4bckneFOPae^B0yFaC`^Rvq5``1)&uyc* zeW+g(?PTh2*Mq%_{;j+D4Q9B1`50`6b6wk9}Z27`zd)C|4i*~YMebJRk#!TCNOKg3&MBotdz&;$I zF3y9PkQIxRkCoU5xXH1f`sEha=~z{^50CR(RViM`1e>U_@gpR!TQLHcfAJ$IQ-ATxvJDT_PhG)yDp5D?xnQpn{yToMH2l*y?-E z30?HSKjQ^!{u0fGAG|->j%9dES_^fyNk)bD>S`+b*X~E67S_;d+81v}e~Cf_&yh7+ zpNo#?4do>4*!gQ49Q70{uJ?0-2I;JK<%NV|7p!#_lPdUiw#J)Lxbyu~Zq%lu!DcQS z-hRg`1gjB^f0^=9&E_wjMMK3Eg;NzzHis2m3u^k_(Ao`*p*WWaI)ACObu}S12DQfi1S;8n*@RgiuD^M95%J{h&2RlBf%ikViFH<&k2Ef=%Yq(yB zx6t{C?yQAZm@RVt6lQiIhu^vE{?6Z}ZqN`wiC!U?!p4{2S__XH50HEg2r zkVlS(=b!l?$PeA0K78$=O7~cOb}uUN&cf;hOp{aN{Zl!K{rWj0BszT=*P)d^@KJ)G zPV$8XkSM4@v;aE=4hpW{fdC6j_RwDd0{=UpK|zT^Tp5%f3s=F8r|h!L(hLQo+HB9fYxW0lfD{qtgt1Ad#uU^F`C&UA(uPhU)o0$I*|IA zJv~GiV<#^lk#KOyDopgYr(e6s5keo!Adv8k_QP z+ro!gxAk5EAm=kXj3{AxTTi|Pq22jqr7WUg;_v!H2GXPlJ+MQi0QwFvQic@1pFAAKobBv6YXbBtH%`i+2P)28v#IKRsdlGI?T}^24Ihw93&0E zu#kg(HPEu?fVj7r_lLhwCsfAq$bL|kT!9$0G>#wvIIZ1+n*XlhXUh=F5iqsFV6u}F z3;#qmNVt-RQgG-sG_ab1KzslWdjMz}0N4*e-GC3r0jR&hgcAz#b8TnAt?}7?3pdH< zVqt+B01X3nJUJj!0D(6TWC&Dznhq%OwJ?t022|mbzcyxGq>-8Ri#t4ENzG4C=_x|; zaM7IGej!8pm4Y}IfQ0wC+yYqnaX=tIivK%^zoCU60D)Q?6a+OuAg_iTAz=`Rp!-k3NQ0nzSsWZMYQ+aIKB5iYb!Kg;S&YNVe8hB zr^VmRnDv?vPK&k97k=AoA#5}OFAN-v=Q%)gR=%ic-)itD?UvQN;Bj&&kTbwJkBQyr zlH=*&xq#FH&zbHB3Q`f=PoqnT3eTyD$)sp@RNY6nS{d4kah0Qp(Jyr`b|KIR_ADK5 z8nI%3C4`u1{t2&h<$pkY$f;UWFktBl zdV?11mrXY_AGra$p@gI8hjDj`7n0rPYjeXH zYKVvml3M$hF4o@Y;s7q}-#GAZVeT3twz(Mfn$L}YTimp1AhS} zA5*o!f9wkcY$Ho-;3V{0_doj??Ky;aPX&|+9qO43rZGp636-gQJv-te(>^=I^KI6~DpXJpc%)>@x@3!cx2J7(upG5LAT^ zf~uRE21M|A!JKuOuUBdNi(mhXkdYpTmO>GX|wj82X$J9L@Tx8la;t7vW&^17B}>IknwT(7fyv{(Ie8DGa4Hh!PAshTmnpA!Z^ie#Jh+eAzS5=6o@T|V@6cl$2<>O@{nL4tA1w|9nWf} z-&H*3jlIt2S#xMABV*C39*IA(u3K-1x}w(^2Rkkz4+-b`PRdyHby>>sh8xWL<@z*E zoKivXX?-0VPAq&kF2f`YKAVKZke!iC`9F1W1Mr+(9_(9fZ@_?--EyQ7(i65Ol9Rmm zbPgH6M5YVjpM!*>$t znF3Dzj|GI{)7)lT-mTTEpa)fBv1b;+~o~B1G0aRpnQIg+C{frG7wKo;dMALQdldMy- zXTroOldr0b9-;L;WcE($<^gDnWXC_eb$dj+hcNz?rKr4FB3ao@rhcx!?}N$FtV&aR;cjMp;-70 z!dIX0c#39L@XapdP*z=*|IeXtxlX?oP2wm<-ziQ*>LYjhe z;Uk+IJ1!8aYWOrNgZ{{@*jSqDWEy5swq8>be86Bi%m(;)BO=+hxW~hIX;(-m6fab0 zKA@nVT&`Ra6|x`tGW@~F(DvhrDR3XzVD~d=5yl8$DO5gFBD+!^++9*lu87?<%LB?J z3($V9EWcca9S`qvR#srGuMCue*?acI%(QpT{PBzBho zIoYr~S>Q3y@m7QFOtgWp6VHx*XHq3e#r)e8%rL3!fX^ec2#+1`UYa#kb#pZ-;O66? zd~AlDLN`EiFBSDbSW~BU9Jwr?44phFEQ&*f|~)U*;Lf!fI2LDMzYXA;6E`gL^~gHQFU$dTOMjBEC> zF&{)cdsNTaO&A_~)u(zU{ZR{MFRhU+7=O?R`Nu*LHk+sHdbJqU_06&GlGcrqW1-W3 zur|%^Zn3RJT4d8{&Sa@LAA(7$PcR<#@=Ak;%$FDAaI{MX8wh+awjL(CzTRWw&yYdE zxW$xq8-xzR#}k_Lp$gf^$P5T zP`sfd3C4y>)qCK(yzs(soB4`k;gQEFvAfDR9!54AXJBuTQLIu}KiS;jwMYIpGuM5) zc$0p*_Mesof+m@c48$4T+E}SaiHL0^^IHclYT`7U-2$cLM;^I$2bEmrMepb&C<<-U z5tkx}bzBBeUa!W4)>s110hC6VaN8$zy(ubt$jyAMaG6w~31P)Hv#d-MFKor`ous0; zOe!^4_%U|m%}_-;vrCM=$@P_k)_kaFf$BZF7TW2gLuNN-=_RSi_5ZM-Avujt;HQ7L z4?4@Wz84-(c^y1SJ+~PX$R&G1Wx+wVuPgNy4kAZh(GtKRmVE^u{iS<>4*#}h+h%s7 zffyVFW4VqiPxCxrKHrZ%x5*_%%qHmvOYIIRiaGv(tzW~qR9gJK-%r5Yemt0p6mgGK z7^ia3;H@9)fZr}}qallC(1J6Kg4DLqP3h4ay%6Qkb+*~&#A(@1z_*=e(y}nAsL|WN z*j4;d*wg`vC5;PkU*WkEF@Yyy8wc8EpdoEC)H!c^qJZKamG^K+ep@TgJ)4om{XtoU z2=Z% zQ%>V_hn)-0rW1u?rLX_q}q&iJc7{r_9V*UGi^;6cB!NPpCmM_@B zj+rM}F4H^lC#)0>g$#-3z#rz}&4D8SXXssNSJ6H2>UOB!PDG!h#c20LD#dB)y@t&B zzA1^mbWs*5L^GoP3X%Fo-+W`QQoVU4bPoKjHB1y%4EZ0s ziFgTcgW~v?tc~xfuvCr9yD{r!Ru~wTe*-63&rB3$_;VQ3;|xT{#2Av~=EK@4H!~sU ztz$~?{>J?7%z1yeVrt(+ab8MN=pDNV;4Hg04`tPu3=MuFevKTs`<9BhIqNfgb!@w= z;9<=^A8M5*9`K_8p>I@(iM}iWQjev|?q`}aSkD?S7^jVv-NlYb86joqdY*e*?fBlD ze^T~{2I{ZJdup?m;3uUzIThjkQH8+-bVOz z^PCPJ7YnbN3_MvH>YQCdb&}d_-OG&UmAW5%_xO>rEr+Yj_KQolHIyk3^F2KpHivgV z3w*JK-$I|TbgUQz(bnlf&G5Ruz0Fmx7n`O*1(~mld^t^)TlG7eeFdD#v{|EwER{K- z{kQWt5)X5_X?3;~39k~5#!084J9D633=?*Z`sP&%uj8~(P3><~QU^g~#K(9m$HR>+ z2_Ys=4fIL5A%qBP0G|Y zq?`sx5`@vFlV+)kXWG@?T7FbDwx+(DT$%ESwQ`vH0FO@aR{iY#ut@x^DWtMPbwl|Z zB%ytw9hW1I&MToJ`#Vq|frSJYz0|AZI7$#u#$9{vR?=l|L{nWw7J<_9XYfi{9(VeO z#M49y0v#zT!RhuNBZ{r{e^M3-7dlNN)JQlN9(w$LP$l z<`GfzumOTqUWmyR)qKJ*uV(-!+I4O4>%w#5w67ObGGEHBTuzB)T{W7A8CdOQ`Oi!J z5@&@J@umAmsttpyJAI|=7!s%91fo?~Nl4=g<|Hv0fq0hlmY=`++G;37UFf)?C2=B# z52v~R<%z)%+1GDBELh_+rcd}(^zJI+B_s9`;og_?Rg~xeEB`coLnPS*>#N<<8l2gU zY)yQ1lVqib&}&1}c*969R!^j?{Dz(4y-rFwfZ=N`LC(_BSu`zfr2O z_%_LPfs%xeIhdpXr5s0I_csr+aC9G+CKpKIG#U>WH~Bc<4^nimra^U-T3UZ07TSa_bdG8e zPOn4Al4dP`O!lPYQW2Ys9oN`k62lE6qC`UR5B^Gje^&wLX-0~I)w-kucfKJY9US|b z%nm_C&lkG3l)k4F+I~6I+c{BG?++lYmjapTDR1(IItSz9`*08xfA#Ym_wp8oULane zl!l7YAKTX4QF%?ozpB0w2-XU$ti+st#edRCBqngFE@w66`oYODvpUb|CXV5|79)-t zeCkQ1VP)$i_k{owe5}F5$1)Rf06X&n%OO}<_lU^QYcj9*+dbbP4Iu;auWg~`3CZOw znRBgoF{184nX+q+Q7b0&zwGN(M=UCCg4|K&xtCLv3erH6*D<{=3w&K@r#9~DIO8J6 z(y(8P?VPhhQfd4UWK7=2-?||MvRCSboXAE-Oyg%?md92t!HGEWM6QWfOBMxg$2ke` zqDwMU1FLoid)nMWS9NA-+*|&%E7fv$>8Z1VJ(J5^NDVX+i`FMBA>>$xoMJNs zQ~ZgdWDpLH{0AuT)r8qIw6(y4F_Ln1j5Y7AADe7(WI#>lp!unl7>U~h(rT#UcJi7B zft0OFXwK=W_VoqX>Tpb4!G}#mOAuQK8|2&yftHsIZu^?rRl$gMd!tv*jgG5sbSheH z?DFs6ZG)b109M!#D~yHZV<_I>B~6q)=j2t4_xt*r5QWg1w(B#59vTS}Oo&#Bl@Du0F-%c} zHkQ(9Ctj+jlQ*nhc{~akm40-<07t87%60oac!IEFk1IIuX72qTJ5%tf%c>0As5eylH0dplPaH`#{tQybC(;qBc5`)0WW`WzF;?avAm)2KMMx|YufDErG zG>3-;3qQjhc-zj^tf39_%e-!ejdLZZuYF`$nyHjip#(4?^-#cQdR>fV0npKx54h6F?2 zqE`d-D3cve;>X~=E{Ad0W$EoOQ7(~1ItK-4S&q<*Ffa1z zKM(w3fFY9-KTLseyytgIKksxg)vAy^uzll^XkB;F47oP39oZH=D$}DkWRz79zStFX zm65E=EXmDAQ^+CLsrTt=p<8R!vd&cFe*5yX*~<&l;)l{=`HvceFSd@Lt?m z$qh+am8UUf)oK)rD<2)v$rH1JGtaOFl$c1&(s9T?P4AAU z^zkR5>nLf&1M_98pWx;YG6z~|v=d`W(d#FFn83mWG3|dyk!ha(T+aTiJ@FPno{T*y zAmhy>yKCPGG(SGPJs4(jte@~EjS2t?1)G0AW}*}8a<_C2`kPmTWG_w zB=782{ExYqez`ofzj#U)D)%?7nwpeFW_l6_3D8V$G8t==jpF|>W2BWq*Q1+-{_P$= zMB^o7wL+(Pcuqm>g&N*N0Bm!Czxj`c7CGW^;KfH)IpXxgapCU`|o6A4o_Q=U&Dx0t|pd_ePkVc;3!dDZp?2P9<#PNJ508aov?I3 zl&C=&-saJeE}KtRE2aHNE7^$|D*AWza0T3it?#MTJE>s1h`(auc3{ynjqg#nu0Iu_ zX@gMV$ingdYLwXorJ9WT`(d4>cjroO18|!n>973XL(}cCrZ)bp!aerX-cb}Lm(#9Y zgbFTcO2>cvv=2qjz-2D|FG2`5?PWL!j!&`4ARNuja#DuqG)t0mdm~}cv8r?eLj@%M zcPg{k5nkchQNMp(W*#hV9imGUTH^UjUvoUMwb~rUk+drzVqXqi!jyS+h%qIISdVYy zwB@e8MMmP5D;e;QT%=Hb^7Vo9kNo3(J z;@EyCc^^qegw`gG5}UD6v!YlG=eWmAn)JZR^D4>ag(!-VP|*zGBaG!d*8@(SmlC+$ zFntlfGEx1};sgcD9L5kQ#&ccCyI)uC?V=MOGcTT5q&fx@etof8RL$Pn5mDTE;C|sA z@?!&B*kvXNMlrA>{FmDs0)+CrXjnB9TvPje*9cX*#0SD|#?vOaubnw!@8OqqzIK1s z{31}zR~RQ-DB%A5o1vx4Gk~YMMobs9FZS&mvsWG?nGIR{usQbC{9N~3|@642B!PFE(Vr`+Jl40T}! zIgpKZ+ZJ`bl0)Zt%JNJf4xA)!aFqvwP;Z~e=@cdxEm8NrIYDO=P!@$=u&{OgTjQF` zHl(%jl0OKw&U}Lj!5do8Hc@xJ93l&M>DSF@7sH<)KRXTV>1o>CHFr8OS2i z^rv6l#Q=k)JsXsn*ol!KldO5P?`2dQNw3N5F1>6o_I-{OqEbSuf@>XqA~&kzu^iV@ z4R7jB&ptnr+9fU;4wRh7aTf|O?H$yEvxBgyF5nEJFXg{U+~@T;MrW2pCG5g%hLn`P zFT*$vsooX_U;Jj$2aEYoCcFUSG^+#BXZ5={8C~G-yY@S?ryun=bJHOuW0sVeiJwOT zg(l$9^m1V|B$-=YAQ6AkFAffqqgS-9=l3new<)NgVTJVZU-%#RKFO>6`VZ!+hQi(i zb#1?TgX@hFE!~<=A+$p!hos95=q%aNLXsH5lqwMgijpH0Ncz?^$gmVXsffMdr~D#|ZX5U%nTGm4-8ORCWc zO!jbtWgS%7Qs%PVZz#Xpk}E6t+? zi}lYy%E@w$O~yE^7;ngWl)L}hCcO6Z?kD<#4U%wpHXS>!x0k!0kw)QoDyCm+4k9%# z8FsWy`LD;jD!`=UPN3dT<~kN-{8TE+ky6;)${&mWEsu`)TiTfF6Z}h>?3)~JZTo|C za)h)gSuFxaTS#zuSYeIO%gh1zTn8KsPDZ`@5m=E?D*f~7C~c=)Lca;>r2@D;YS<$( zMT`2~5Zf0Gxh{t_7D6F=BIqzW<0gAY%v2@TAjP$k%*zP%zWW}6U=`edu_fy$S!3= z|Gw6-%_qsDnsR1*hx%1p7JN{Z2Zm&xrBA5--A_J!rgQip&Z~0gE_~F1SKZ(w{J5$E z(Db@RCd!GA&IkRLKi3Xd8kF%CGVD7{dO(i!u{JDsUJJQfG+|3_7Dx?uvQVp{YS6n| zIot*M3o5^21XXsAH1(95ckcC-q;HS#!}{ zjHn`y#sK!oCMd~a^*`&<7Vx+9vTjHP8*U=QAI(=pxfP7X{0<$~Hf_gCFAp0AC@o5c z^se$qMC#?!@Qr6@I{wUFWA=g73li8i3&W^OtqTW4K_W7B`~`FU-l`bz*O?R3PN^HnFg0qT5iH zC)6&DAs~N!ud}W~`e_0_$h;>;SGcP3FDiPkv5rP&`u&?V`-g^@0e))Y?L#JO;Un_N zyX-OpbPRK}xi$i*<4R20cr`_d0>jG{m%yf6K=PXG%_@z>G8)ajbm;F|fzWXPb=$_#j+?daE5X|!lAty$)83eY0NQ?DqaV2}(IUu&S z+g>%JkTE-yjD9-1^|GNCK=e~u0&=;Lw~-n$YC1L%O9C}K_iS9^Z1mur>eyT5

KW%C-T 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 diff --git a/test/Source/arrays.jaf b/test/Source/arrays.jaf index 4952b7a..b8104a6 100755 --- a/test/Source/arrays.jaf +++ b/test/Source/arrays.jaf @@ -292,6 +292,13 @@ void test_array_push_struct_with_ref(void) // Returning from this function should not double-free i. } +void test_array_alloc_neg(void) +{ + array@int ar; + ar.Alloc(-4); + test_bool("ar.Alloc(-4); ar.Empty()", ar.Empty(), true); +} + void test_arrays(void) { test_array_set(); @@ -312,4 +319,5 @@ void test_arrays(void) test_array_sort_custom_string(); test_array_constructors(); test_array_push_struct_with_ref(); + test_array_alloc_neg(); } From 3c362e9db662cbf1585d16a50de19b9957a698ba Mon Sep 17 00:00:00 2001 From: kichikuou Date: Sat, 7 Mar 2026 10:37:42 +0900 Subject: [PATCH 5/5] game_compatibility.md: Mark Pastel Chime 3 as supported --- game_compatibility.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/game_compatibility.md b/game_compatibility.md index b8cac64..d8ee7a4 100644 --- a/game_compatibility.md +++ b/game_compatibility.md @@ -77,7 +77,7 @@ issues, please let me know or open a pull request to update this table. | ランス・クエスト | Supported | | | ランス・クエスト マグナム | Supported | | | 母娘乱館 | Unknown | | -| パステルチャイム3 バインドシーカー | Unsupported | | +| パステルチャイム3 バインドシーカー | Supported | | | どらぺこ! ~おねだりドラゴンとおっぱい勇者~ | Unsupported | | | ランス01 光をもとめて | Supported | | | Rance 01 - Quest for Hikari (EN) | Supported | |