From 95ab60759be68ab7736313d396ff3daa4f633e24 Mon Sep 17 00:00:00 2001 From: Norbert de Jonge Date: Mon, 28 Nov 2022 12:10:06 +0100 Subject: [PATCH] Version 1.0. --- AppleWin/APPLE2E.SYM | 83 +++- AppleWin/AppleWin.chm | Bin 260478 -> 383172 bytes AppleWin/AppleWin.exe | Bin 2319360 -> 2574336 bytes AppleWin/DELREG.INF | 2 +- AppleWin/Debugger_Changelog.txt | 83 +++- AppleWin/History.txt | 700 +++++++++++++++++++++++++++- Makefile | 5 +- README.md | 2 +- VICE/C64/basic | Bin 0 -> 8192 bytes VICE/C64/c64hq.vpl | 54 +++ VICE/C64/c64mem.sym | 528 +++++++++++++++++++++ VICE/C64/c64s.vpl | 54 +++ VICE/C64/ccs64.vpl | 54 +++ VICE/C64/chargen | Bin 0 -> 4096 bytes VICE/C64/cjam.vpl | 55 +++ VICE/C64/colodore.vpl | 40 ++ VICE/C64/community-colors.vpl | 25 + VICE/C64/deekay.vpl | 54 +++ VICE/C64/default.vrs | 10 + VICE/C64/edkernal | Bin 0 -> 8192 bytes VICE/C64/frodo.vpl | 54 +++ VICE/C64/godot.vpl | 54 +++ VICE/C64/gskernal | Bin 0 -> 8192 bytes VICE/C64/gtk3-hotkeys-mac.vhk | 78 ++++ VICE/C64/gtk3-hotkeys.vhk | 78 ++++ VICE/C64/gtk3-winvice-legacy.vhk | 88 ++++ VICE/C64/jpchrgen | Bin 0 -> 4096 bytes VICE/C64/jpkernal | Bin 0 -> 8192 bytes VICE/C64/kernal | Bin 0 -> 8192 bytes VICE/C64/palette.vpl | 40 ++ VICE/C64/pc64.vpl | 54 +++ VICE/C64/pepto-ntsc-sony.vpl | 57 +++ VICE/C64/pepto-ntsc.vpl | 57 +++ VICE/C64/pepto-pal.vpl | 56 +++ VICE/C64/pepto-palold.vpl | 42 ++ VICE/C64/pixcen.vpl | 40 ++ VICE/C64/ptoing.vpl | 54 +++ VICE/C64/rgb.vpl | 56 +++ VICE/C64/sdl-hotkeys-vsid.vhk | 49 ++ VICE/C64/sdl-hotkeys.vhk | 96 ++++ VICE/C64/sdl_joymap_ps3.vjm | 97 ++++ VICE/C64/sdl_joymap_thec64.vjm | 54 +++ VICE/C64/sdl_keyrah.vkm | 267 +++++++++++ VICE/C64/sdl_keyrah_combian.vkm | 269 +++++++++++ VICE/C64/sdl_keyrah_de.vkm | 258 ++++++++++ VICE/C64/sdl_keyrah_retropie.vkm | 267 +++++++++++ VICE/C64/sdl_keyrah_retropie_de.vkm | 266 +++++++++++ VICE/C64/sdl_pos.vkm | 219 +++++++++ VICE/C64/sdl_pos_ch.vkm | 259 ++++++++++ VICE/C64/sdl_pos_da.vkm | 240 ++++++++++ VICE/C64/sdl_pos_de.vkm | 249 ++++++++++ VICE/C64/sdl_pos_fi.vkm | 240 ++++++++++ VICE/C64/sdl_pos_no.vkm | 238 ++++++++++ VICE/C64/sdl_sym.vkm | 233 +++++++++ VICE/C64/sdl_sym_da.vkm | 263 +++++++++++ VICE/C64/sdl_sym_de.vkm | 317 +++++++++++++ VICE/C64/sdl_sym_fr.vkm | 236 ++++++++++ VICE/C64/sdl_sym_it.vkm | 239 ++++++++++ VICE/C64/sdl_sym_nl.vkm | 233 +++++++++ VICE/C64/sxkernal | Bin 0 -> 8192 bytes VICE/C64/vice.vpl | 54 +++ VICE/SDL2.dll | Bin 0 -> 1913045 bytes VICE/SDL2_image.dll | Bin 0 -> 139847 bytes VICE/libFLAC-8.dll | Bin 0 -> 323608 bytes VICE/libLerc.dll | Bin 0 -> 659487 bytes VICE/libdeflate.dll | Bin 0 -> 62298 bytes VICE/libgcc_s_dw2-1.dll | Bin 0 -> 120007 bytes VICE/libgif-7.dll | Bin 0 -> 45687 bytes VICE/libgomp-1.dll | Bin 0 -> 274217 bytes VICE/libjbig-0.dll | Bin 0 -> 66106 bytes VICE/libjpeg-8.dll | Bin 0 -> 751486 bytes VICE/liblzma-5.dll | Bin 0 -> 173290 bytes VICE/libmp3lame-0.dll | Bin 0 -> 339752 bytes VICE/libogg-0.dll | Bin 0 -> 40794 bytes VICE/libpng16-16.dll | Bin 0 -> 259463 bytes VICE/libssp-0.dll | Bin 0 -> 48895 bytes VICE/libstdc++-6.dll | Bin 0 -> 2135210 bytes VICE/libtiff-5.dll | Bin 0 -> 574895 bytes VICE/libvorbis-0.dll | Bin 0 -> 176200 bytes VICE/libvorbisenc-2.dll | Bin 0 -> 555894 bytes VICE/libvorbisfile-3.dll | Bin 0 -> 42902 bytes VICE/libwebp-7.dll | Bin 0 -> 466024 bytes VICE/libwinpthread-1.dll | Bin 0 -> 68042 bytes VICE/libzstd.dll | Bin 0 -> 823683 bytes VICE/x64sc.exe | Bin 0 -> 3939854 bytes VICE/zlib1.dll | Bin 0 -> 127192 bytes disk_bbcmaster/pop-beeb.ssd | Bin 200704 -> 201472 bytes disk_c64/pop.crt | Bin 0 -> 525376 bytes docs/ChangeLog.txt | 7 + docs/README.txt | 33 +- docs/gpl.txt | 8 +- docs/keys.txt | 6 +- leapop.c | 553 ++++++++++++++++++---- png/gamepad/C64_disabled.png | Bin 0 -> 10644 bytes png/gamepad/C64_off.png | Bin 0 -> 11238 bytes png/gamepad/C64_on.png | Bin 0 -> 15779 bytes png/gamepad/level_bar_c.png | Bin 0 -> 3890 bytes png/various/Apple_II_disabled.png | Bin 6540 -> 6540 bytes png/various/Apple_II_off.png | Bin 5942 -> 5942 bytes png/various/Apple_II_on.png | Bin 10770 -> 10770 bytes png/various/B-em_B1.png | Bin 0 -> 39441 bytes png/various/C64_disabled.png | Bin 0 -> 9636 bytes png/various/C64_lb.png | Bin 0 -> 358 bytes png/various/C64_off.png | Bin 0 -> 9994 bytes png/various/C64_on.png | Bin 0 -> 14539 bytes png/various/VICE_C0.png | Bin 0 -> 76913 bytes png/various/events.png | Bin 39262 -> 37297 bytes png/various/help.png | Bin 8460 -> 10561 bytes png/various/level_bar_c.png | Bin 0 -> 3002 bytes x64sc.bat | 1 + 110 files changed, 7662 insertions(+), 146 deletions(-) create mode 100644 VICE/C64/basic create mode 100644 VICE/C64/c64hq.vpl create mode 100644 VICE/C64/c64mem.sym create mode 100644 VICE/C64/c64s.vpl create mode 100644 VICE/C64/ccs64.vpl create mode 100644 VICE/C64/chargen create mode 100644 VICE/C64/cjam.vpl create mode 100644 VICE/C64/colodore.vpl create mode 100644 VICE/C64/community-colors.vpl create mode 100644 VICE/C64/deekay.vpl create mode 100644 VICE/C64/default.vrs create mode 100644 VICE/C64/edkernal create mode 100644 VICE/C64/frodo.vpl create mode 100644 VICE/C64/godot.vpl create mode 100644 VICE/C64/gskernal create mode 100644 VICE/C64/gtk3-hotkeys-mac.vhk create mode 100644 VICE/C64/gtk3-hotkeys.vhk create mode 100644 VICE/C64/gtk3-winvice-legacy.vhk create mode 100644 VICE/C64/jpchrgen create mode 100644 VICE/C64/jpkernal create mode 100644 VICE/C64/kernal create mode 100644 VICE/C64/palette.vpl create mode 100644 VICE/C64/pc64.vpl create mode 100644 VICE/C64/pepto-ntsc-sony.vpl create mode 100644 VICE/C64/pepto-ntsc.vpl create mode 100644 VICE/C64/pepto-pal.vpl create mode 100644 VICE/C64/pepto-palold.vpl create mode 100644 VICE/C64/pixcen.vpl create mode 100644 VICE/C64/ptoing.vpl create mode 100644 VICE/C64/rgb.vpl create mode 100644 VICE/C64/sdl-hotkeys-vsid.vhk create mode 100644 VICE/C64/sdl-hotkeys.vhk create mode 100644 VICE/C64/sdl_joymap_ps3.vjm create mode 100644 VICE/C64/sdl_joymap_thec64.vjm create mode 100644 VICE/C64/sdl_keyrah.vkm create mode 100644 VICE/C64/sdl_keyrah_combian.vkm create mode 100644 VICE/C64/sdl_keyrah_de.vkm create mode 100644 VICE/C64/sdl_keyrah_retropie.vkm create mode 100644 VICE/C64/sdl_keyrah_retropie_de.vkm create mode 100644 VICE/C64/sdl_pos.vkm create mode 100644 VICE/C64/sdl_pos_ch.vkm create mode 100644 VICE/C64/sdl_pos_da.vkm create mode 100644 VICE/C64/sdl_pos_de.vkm create mode 100644 VICE/C64/sdl_pos_fi.vkm create mode 100644 VICE/C64/sdl_pos_no.vkm create mode 100644 VICE/C64/sdl_sym.vkm create mode 100644 VICE/C64/sdl_sym_da.vkm create mode 100644 VICE/C64/sdl_sym_de.vkm create mode 100644 VICE/C64/sdl_sym_fr.vkm create mode 100644 VICE/C64/sdl_sym_it.vkm create mode 100644 VICE/C64/sdl_sym_nl.vkm create mode 100644 VICE/C64/sxkernal create mode 100644 VICE/C64/vice.vpl create mode 100644 VICE/SDL2.dll create mode 100644 VICE/SDL2_image.dll create mode 100644 VICE/libFLAC-8.dll create mode 100644 VICE/libLerc.dll create mode 100644 VICE/libdeflate.dll create mode 100644 VICE/libgcc_s_dw2-1.dll create mode 100644 VICE/libgif-7.dll create mode 100644 VICE/libgomp-1.dll create mode 100644 VICE/libjbig-0.dll create mode 100644 VICE/libjpeg-8.dll create mode 100644 VICE/liblzma-5.dll create mode 100644 VICE/libmp3lame-0.dll create mode 100644 VICE/libogg-0.dll create mode 100644 VICE/libpng16-16.dll create mode 100644 VICE/libssp-0.dll create mode 100644 VICE/libstdc++-6.dll create mode 100644 VICE/libtiff-5.dll create mode 100644 VICE/libvorbis-0.dll create mode 100644 VICE/libvorbisenc-2.dll create mode 100644 VICE/libvorbisfile-3.dll create mode 100644 VICE/libwebp-7.dll create mode 100644 VICE/libwinpthread-1.dll create mode 100644 VICE/libzstd.dll create mode 100644 VICE/x64sc.exe create mode 100644 VICE/zlib1.dll create mode 100644 disk_c64/pop.crt create mode 100644 png/gamepad/C64_disabled.png create mode 100644 png/gamepad/C64_off.png create mode 100644 png/gamepad/C64_on.png create mode 100644 png/gamepad/level_bar_c.png create mode 100644 png/various/B-em_B1.png create mode 100644 png/various/C64_disabled.png create mode 100644 png/various/C64_lb.png create mode 100644 png/various/C64_off.png create mode 100644 png/various/C64_on.png create mode 100644 png/various/VICE_C0.png create mode 100644 png/various/level_bar_c.png create mode 100644 x64sc.bat diff --git a/AppleWin/APPLE2E.SYM b/AppleWin/APPLE2E.SYM index cefe8e0..03fd0e5 100644 --- a/AppleWin/APPLE2E.SYM +++ b/AppleWin/APPLE2E.SYM @@ -1,6 +1,10 @@ ; Apple 2 Rom Symbol Table +; Version 5 Renamed "KBD/CLR80COL" -> "KBD/CLR80STORE", "SET80COL" -> "SET80STORE" +; Renamed "CLR80VID" -> "CLR80COL", "SET80VID" -> "SET80COL" +; Renamed "RD80COL" -> "RD80STORE", "RD80VID" -> "RD80COL" +; Version 4 GH#484 ; Version 3 Cross-referenced/Sync'd with APPLE2E.SYM & A2_BASIC.SYM - Added Text Holes +; Added Text Holes ; Version 2 by Michael Pohoreski - AppleWin Debugger Dev ; Version 1 Original @@ -15,18 +19,24 @@ 0026 GBASL 0027 GBASH 0028 BASL -0029 BAS2L +0029 BASH +002A BAS2L 002B BAS2H 002C H2/LMNEM 002D V2/RMNEM -002E MASK/TEMPOP +;$2E aliases 3 symbols +;36 MASK EQU $2E +;37 CHKSUM EQU $2E +;38 FORMAT EQU $2E +002E F8.MASK 002F LENGTH/LASTIN ; Applesoft COLOR F24F ; ROM/Monitor COLOR 30 ; Reference: Apple ][ Reference Manual 0030 COLOR 0031 MODE -0032 INVFLG/PROMPT +0032 INVFLG +0033 PROMPT 0034 YSAV 0035 SAVY1 0036 CSWL @@ -84,8 +94,8 @@ 07FB A2C.TEMP2 ; Softswitches -C000 KBD/CLR80COL -C001 SET80COL +C000 KBD/CLR80STORE +C001 SET80STORE C002 RDMAINRAM C003 RDCARDRAM C004 WRMAINRAM @@ -96,8 +106,8 @@ C008 SETSTDZP C009 SETALTZP C00A SETINTC3ROM C00B SETSLOTC3ROM -C00C CLR80VID -C00D SET80VID +C00C CLR80COL +C00D SET80COL C00E CLRALTCHAR C00F SETALTCHAR C010 KBDSTRB @@ -108,14 +118,17 @@ C014 RDRAMWRT C015 RDCXROM C016 RDALTZP C017 RDC3ROM -C018 RD80COL +C018 RD80STORE C019 RDVBLBAR C01A RDTEXT +C01B RDMIXED C01C RDPAGE2 +C01D RDHIRES C01E ALTCHARSET -C01F RD80VID +C01F RD80COL C020 TAPEOUT C030 SPKR +C040 STROBE C050 TXTCLR C051 TXTSET C052 MIXCLR @@ -135,18 +148,48 @@ C05F CLRAN3 C060 TAPEIN C061 BUTNO C062 BUTN1 +C063 BUTN2 C064 PADDL0 +C065 PADDL1 +C066 PADDL2 +C067 PADDL3 C070 PTRIG -C080 STEPPER -C081 ROMIN + +; Slot-0: Language Card +C080 LCRAMIN2 +C081 ROMIN2 +C082 LCROMIN2 C083 LCBANK2 -C08A ENABLE1 -C08B LCBANK1/ENABLE2 -C08C DATASTROBE -C08D LOADLATCH -C08E SETREADMODE -C08E WRITEPROT -C08F SETWRITEMODE +C084 LCRAMIN2_ +C085 ROMIN2_ +C086 LCROMIN2_ +C087 LCBANK2_ +C088 LCRAMIN1 +C089 ROMIN1 +C08A LCROMIN1 +C08B LCBANK1 +C08C LCRAMIN1_ +C08D ROMIN1_ +C08E LCROMIN1_ +C08F LCBANK1_ + +; Slot-6: DiskII interface +C0E0 DRV_P0_OFF +C0E1 DRV_P0_ON +C0E2 DRV_P1_OFF +C0E3 DRV_P1_ON +C0E4 DRV_P2_OFF +C0E5 DRV_P2_ON +C0E6 DRV_P3_OFF +C0E7 DRV_P3_ON +C0E8 DRV_OFF +C0E9 DRV_ON +C0EA DRV_SEL1 +C0EB DRV_SEL2 +C0EC DRV_SHIFT +C0ED DRV_LOAD +C0EE DRV_READ +C0EF DRV_WRITE ; Firmware ; Renamed due to ROM name collision @@ -281,7 +324,7 @@ C4FA AMOD6 C567 XHEADER C5AA WRITE2 C5D1 XREAD -; Disk Drive +; IIe Technical Reference Manual (1987), Page 317, $C3XX ROM C603 TSTZPG C607 ZP1 C610 ZP2 diff --git a/AppleWin/AppleWin.chm b/AppleWin/AppleWin.chm index a2772aba9ce39e045cc7ddda6fc714bd0854f432..230b52f3a94385bef6ca46570c98523605ec30fe 100644 GIT binary patch literal 383172 zcmeFXWl&vPw>G$OcXxMpcPF@eaCf)h?(Xg$JVm9g^Zf2Bp3hyFa%y8z{_Aw7X}6z06=~Q@vZWiLCJ#$6pWJY z9i#j&{onS#8}^$3c>a}Y$Zt0jf91>Xpujfx4dU(Q?_U`;Ri)o5HQ)vN8w1*d0>y9a z71(}5zuWKo-xv%y0AQU2s?SI=gOYpymeX(F-}--=lDw2$0pxG5|H46-fE{QiG8u6# zX>k>h(vQLgf4XX-zzl#Y7$!1RH5C~JDOHftA6gM0KvPw1RW%8DK#*jiG_a?ps3ao> zR89+rF$25mDsn)3kkS>kDDbzgny4H|>7rwZDI62Iq>Q<%mAsLaJxIYKQpgGm3=_Gc zsH}{Fsv1Z^k5Z}-1{1larihD+gNc=qtChQ%oRz(e%kK;c{lS#zH#@@lh*38tx%+Ac-)rHa0)y@{=8*>T;B9oD$ zqnW*_mFF84Uqur_jm9M6=xA%EX=TsgYG!2jrkSCPfJJ07F>*F#aB(qt!$Lknl{gVF znV4HJh?u$?*_)V|GMGD?nR%NrI6M6H3mf!{k;VO=HcHM$?q>g_5mqgp$&30w4Bn!L zMOqc=BL7jCIM|z8S-ioa$pUpyz)XOHnp(No`~|PUQ_PV5fL8X7ZmxgPKJiM3H`K+! z&EE7cdL$FY2ghV$>tOQNJ0u4#$rpu5%)!pi$o@C4W^b0kh1Q!$XiRUTyEy}A%fbF{ zj98{HM1Ti8zs7iV^IiSSeX3{5cWg)6V_WwW}apyZvXWFkvYtR97unB&25b={w5kR#W(4O{0Fr&vvY9v zddnkn)9g&-EsV37g_R3%tiKN7Th7NaZyCCn0B7Ew!Pdyj;UE6Pvn^Bb-~51D2U}ZU zhHnwW>%klBQT`0%;$>&-VEZ>-)C}b+kn!Ifx;mIJ0BLe|c=HIGl}?6v^YE~;H+As% z>k*TLQp1GEWNK=~VB+BTH{rlXl>~m^bNmK@guDKo&%j~3WGY|`AZ+g7Y-jY(5)6t# z%$G&|gIfX@_{plYpndmu|dhyRvJU@2q_;oFe54n}`hRbT^on#@}aS7#%87xRDS zAn-eSfgms!;99k^GqN!In|EL?Z@3%`lew$o+w;YzxyA}3F`2vB+PXNJnf;9#U#FZz zfxu)5YK>2fH^mq3$I@()+WPE}P8p6W=qY$$+vbQiJ2A&wi zs%B1ZX231_$0q+sZ^0JnkICP?_1iNcNG2$QmEsTl&qDgIwaj2-Z|~p=B-8Xyh`dVE zz+O+%|7rX-`~Qn&))Q%Ptti5q(;W%&e^QNE#XTlP1a z(nk__Vg8n`t1$y`>;DN6|4bK3_#YIwX5P>TieO0OKXHM!rq1pxZ}5?3u;qV;S>NDO zpASQWL;8E=e zq`<|@6nJX?c?3WSV%kq@`u|(zz@zB*U;t};n*U3CU`F;b_T~-%V`!%TOJlV^J0Ezo zF#SoNpYr|x0~a4INikM#9(HC19&t7n1{M}^;GHNd7Xvf12(uUuiv*7tm)Hj;8GGOi z1NZUoC-{8=SpB~|go>Gqnd_eg0|le;N3ffqxnJmx2Ee8CZkvgyMmk zg*1h{fCz>74ju%K0G4{50D3_0>u8eIv)TRKoY291#km+0PFx}00U5p1K0p8z&jS;M;wT0yTkl> z>fc2MIUOyr-xZ60uD^wjKYcVH4lJSosDal%K1VHoD3ej)*JFS1JMZYBlc)5p3>_pNU-Hf_Uwp=2e0;v!f1fZlNlMHl zAElNAhewl<$*IqAY%PH9C*=jLD+V*yl4sC6moo zMsuiYp961$HCXZW%)SjOn%Un)cRrwNgPOx%VzGYt<~8EY%dx5 zT*Xxa7$G}nNDE)UqNC=(deqLr>rFA)vOk-%Xhbm+`F4w<&R}pruoCV>0th=PvexTl zR5%YmEm($A>>|3)Igjk83APaA@FfZ_gw_*pT{u?*PfnSdk%?{lqP0$_Swt^HL-a)W zUlGeWH(_*Y#1L`X7w(1wi1{op)+4L%iUD?#)^Pn1j|UZ?h9 zNIx3Pg4MavFOc7&P6J*%!c46)iVnn0=?Mt^dv_dHllTzkNSGl94F|KyCch~s#75lU zrz4UWT+vJt+;gud+JmF}n4@KZ^Ldw>`)63aZzxz)aarlS2==Zo$HJJsipD$=+mB>>_#{S8T=brvAq6T$ z^fdsvV86$!2S*E;Lx4O-*C65%ykRZ(diO|2{ACCSlW(liU0F}BD;b-w&qoDXAWGPM zmfEJR=pFT47u@@5Gr3KM3bOc2BgH~?sSQ%pal{b7M?-7DS0=?&!cg+{F;H9PG}o zi{HNY+2^CsN7&w7j*;|CJaKG3&-S^kk7a|YkOqUg%~O*ts$HLdt*gB{6){jM9XqYD zK0g}?Jy9%^7hPO{qQ6h=LO@46q2FBdod4`T%)VwqczccsMJA7;o)k)VfcSEI&*clY zf&=pO{+(fj*EPg2^LCKtk_yTZto8HFri$1z#`rV zIvy`Sgmbqq;+gk5wE9lk20LPbI8tQq@XOKrNFnxeaH4kYyFJNFn3UzmpNBBhqxO;@ax1pT zh}F02vb+;icaMTCi198B$KqOrPG%25yapdj>NPZ+Jg(%$Z0mhEA2KSEvG^+ zhT%kTxh_W_Cj;!+re1Id(CcFea&)r@%wYH;CUI=KQeDOZpV1LKq=JL4A?7HFRx3T` zz2m{C#7l}`4e&R!UfHlkuG}#5z_5wqIzilSU4;sltM$d9PC=d!+b*pjq``TiR|`ns zoJ3v(34>{3shfwo?o6fhH_uioF!Xr3v2Th_*O(goL4L+y;4csIKwF$fr?I*oc16&D zdVMh=@R*_a2AM7)-NeQ6r5JoiwEOc|T-YutmcCH$0#=j~)-=_~z!_go>IFmo=U}@I ziFc_lwb>o+jIA{Rw!5%e?BAMLn?ir8xyWayQs|Q+x^udm`nsMKerif}F|I4bL>+^) z(Su`1wk-_im{-#%!ClC}YE0#AUp(x>o)2-Bd|dE^%MeV>lXI`#%yC3f&wu?!>p60C zwRz&L{!=Y!wvl$V;!*In>HIVjZ+EWs3rDby!KpE+2=U*^{*OU)c{4!#eF;aQ??<0tRsT+f19fDlWMBrUuJzGZ= z77Wv~ar1iw?9pd18?nm}#*tINFU^JxC%ZL`z5HNNBAE6$y&c)X?f3rWHV5h+0!r>+ zbOC2sn7Xzf`uKwr1JN@cZO@Vf15Y3ex1A$L2SMH*(kKJD$W7!$3hXl`in|Y}I61uw zp^u|r?JrvGGbXBFSi)-RwDdy`{-c$GCaM`L&nCr`GEPM zA8i5eD_JdjHoFooqsdXJb$H}SjE1Arz2)te&XD=u)ewxxwcdw|oqR^n#_d!V1-VBr zI$tu!I~T-r$b?kwbSVyHl&h(06F_Y(>g<`P{Nb6;ijq!aHr*1!Z6>-L&= zH|-|6iAE!-3M_xk=;&!auuUR!1ll2@505H*6h*8$kFhb)P_=3XO;GJaSBz@^)=<#g zVsTBVjP-Du+CP&pPbW&_ZN7Q(j&`-}px_8chKUC(zC#%I%yrH1z|>CyoO)x7i@vpNy{Eta^EF>BAO=?&Af!f5$9fe9g+-Py%9JxI~Z+S8qQ9K#^2-lRR_2M4JEOI zkKf@BVl0FS3;*`wn^bndOM)*=#Yb6QHg}uo9U>;0#JV=00Qcpo`oKB|XbnC-qV zFAchs64X)cD#4wGIonEzprlXk zoeww+H5fP=Khp#LlTShr6+I(s3Qim1IoP7{s@_?tnG{bancA2Me?FIS4x=RPLFknO z9%{w{Q!fMSBO>eP;HSF=FU7k`ygV%u*mm^kcG7C>-Jk7={-wu~_v9Y}*{5u?v+g{* zk_vO>6ebh*@tVw+?$r*#S%?povQn3m2DH&(m1fRflLIDP!p}_#ClR{GWiBm@CcCm6 zxOLeoG%b=}D`MJPt#ioo(6XVJw0yO|IrHU6dFtTb04Bn8#A#`&yPX z4Ex$_WFo;@FO<`-oIuPEd2?6MM7Lgrcs?Co53dbPbftrTa9@i@FxQ;z%kFYZjRsZX5RX{)I_So~V|=H902~nIkun#Acd)-9vGDhof7JU zVPHhXs@ur9+}AmEZY*c?s7K7!sMmQB#WzIKgLwIjGQp$A&ley%GTS`o!5=?B3&ua! zv!Fn;IH0fJjLwwJaLK;5WXN4cWx$P^3PXPvE3gW}t@>CH+{k=j^HzL$20+;Smv% z04f?dly|`nb3}$NvIu$+cN1HKq+qoPIx_PEF>st{CRI7cL`(}3mT+WRTeUe}iQC3_ zP{2IGnfR!^o|~Tf5`Ed&zgM{oRu=9Woc=m=r=OLmi1|h2x(uvZUI({z7Cc_4_!`$! zliVBO<~eD1dWSX5Ac#h(FB)$Ftu37ZgJ1vLs!PksRDJHqixkm#98(-=xa0~3mg=M@g3k09uCt*vA2eT_WmBCokn zsRh$p_Mq&sszu(1Q$O{8efW>MfYRT z6US6I?XRP0u{z~>a@$VlO}(R=fFr<3webB`C^irw8AWQAIvrYjKkz=Kq-TC92TY zPztd9?tq`gLfcM2M)H*f2VPgF4GC>}_`p^IBT(ZKD=g_yQPk;IN01;jF^aB;ECz%Y z#o+^LPT4%FJdO8kN=M|}EVz`;ph(^nqbf~A)r7=Ln<{H+O$Q~Gd-i^zu_q#qS6LBD ztc2_k7br}QVMVVI8a@e!>8C{U;vvzz8*Km3m_*`yj=1k3c^*a0X7+`V+GLvC1Xj^=Wfes61RfPj*`4#4%IV-=^HIqqO-?-XdVD>T&i9%r~rRQ zAG72}KOhBeeb2(}F?D(jQ7Vn7Z^)dK8VhkE3Q{xk%U}!y5&qp=^5cgI)4Jq=ZuC*T zY;b3o>1{P3C`Ey|lq=tTcF8ZVyVWTO+C87Rh&`lcOaNtflnJ<6M*O^u7# zJN=r?;hajo(x7e_^;62ciQpH_h*DpBhqW99+&QwloM=27$`r*{zgccPtGe0IqTXEF z2-hK_judpAiGqB=xlH3yaKk zrEavO36hlLCXkh2&gC{hbGXIUi<1%plP#qK$vE;;ru@9svU%+6oYYZ-J zJdUNxqf;bwY0_fhm8+Kvb~9?lZWYY+mhF$246%u#Hig^Tj9$Jx5Z%AMwcO|1o{Qwo ziilP}L7MNJt?ZqVyIVJ){+KWp+k0@$b@|?fg56SoV8=;Gm0|@ZN*Y_a`o6%Es^Bog z>4^09V?QqAmOv=urlGMGsRZ~cyM{mdwwaxj0|tlObK)11hG61ZChql)X2FUr@Wm~2 zAyw2ooF$w*A}3$+ccCaC)v*~O%JC|_6)>bDG*h7(9iajFpk^zo)-DTpNMHFQ-sSF= zgVLyo3)G%S1(^uIfZRXa+;??zN~p6+eHpaO0#~A)@#h(Wa<|sSzq_@Acn)=jErl+; z)TCy6O_ZB@nL&-QIa3T!!(p>K9K9Sxm2H-S*IR@@d?$EO2QmekiC+E1*Ur_hZ0Sk8K!to)W!Dpyf%@@_COVd0R3j0~v47 zwY&o>#Q{TkBV;s8>dYVq9Ubs4{W9}lwj7=RQ+&g+t}A`aD9n}cqRchyfi>>N{`)*( z_M{XKg|N|f)-8ezxgE=*iuW1Y(gBq;1<^%*VHjUz8jn1cX|1U3XyDbKKqztf3Jj@i znx^`B8bm26NyKOA6xbQKJ*RDvLzNY-VW8e|7pw}GF2!a{fI75_PkJti`4GaEgL4xM z6$lCg;HtG}KG9Hw)Cts!N>L}Pg3qRuuYp%nEs$_nO-CPd#fXTm1hca^uaAVYEvGMj zm{Mc)XZL4i9QuNXf~}4nC0_7J5M1U#xIHCePH|qH^BQ~rA_%1*kHR{ChO0SEF-4oNq?4N;GRLN^5a(PM~H=!;RlAvqofP4HLsH*h@#0 z*<^U@O^fx~MU*AKMJmh=#Fa-Q|(H z$S=mP@<+SWm6v7F1BEh67)@S^;yzYi?i2?-8RusWiW-^)M6>(cn>{}EuRYnxUD$u` znei~6m2j3fC^@QxW&-H}O9k-41m-~K-l*X*f$CJ)*%1aXJ2G4#LzX?@xj<-S+X3dI zgB*x&UO-qWgnzZ09I<%o@Un+iWKx*e5_!U0C|8XfQ$83#HT%Y>V~)XWvJR&yx-Y~@ z;K`O8_p4($($lyUZUQ>!vcoF9*@bQB0jjgxs4{$ns><;LRnmwXt_R(N6MFQEHkN@M zud@D7>EzqrkF`-1a+BK5=fU6_nYiR2#>h7w1?91#gkzp$K;A956K?ctVhsflag~@_ zx)n-m@^|cEZ9x}-EVO=%?t+-Cb1ZIJxL-EjPjPF9Bh&9JWm6jBKl5VG{URKS5OMP} zL|o5(!=0l0i~m&XVcOET-+e$;$$S zc&ZYDtYRM`l`M8m_moej^_a*RiSF;Dg_)&Pz9WBh(&#NR(D}(aHGBCU>RXZ`?6P|+ z%mmE$P;sk}@OK*=d$Z9(#w-8r{0Kw zTb2O!+9N|$8<>HKS9T53m9WDZv&lzuR#NW7oYn7IEX7oaB?{MIWu{IFqR>N5GzC8> z-2=4_wjf)2HkLwMDw+P*3#pI{X87-QoR)lhE^g+kSI;I#GqPK+4 zG~JQImJPr9;qCzIm%c4(%|7WW^N zp$*by`tI%?#9~hp3|4(GQWf{?^P8Tc?5fYXV&*C1OhO4AjpsTkl7%~hUP|of-_Krk z&{UDxvfh7RZ6_vO6D-0(FkSiOH6B?^_`bweQv0dF!61znq=$0Ma28XE_{vhh%~kMx zo=(j(T3z{c$8K~Fv0?{gbcr*oPMW4$g7fro-BI=fEBA+#V6VhzpP?$U@-$@QRk9pw zJpxBjSIqGNS;4}Fp6%iEf#Ea}|3Z*iR~pAdj7HcCVrg}W*s>Rf?Bssu8;EL39rRC>C)6GTq-SHXm8&yqMT6vSy_0~la+9|veGf1%RyEMXtyVoQz2!&6T+$sw9V{D zzSLh4=v#=o;Qma$y`H&QZMyesSRrltguAT>Ssb`#RZ{MUi$p`ClLy%{VLrIO=G`aW zDRJJ6<13Q)LpivRR}_yRnnY+O33P#Q)u-HfGRxHN#sM@4iF^ge1c7pGbhs*S))EF~ znxBy`j#j}8JYb_|*DFg_*3EU4R+S|hi}eT!-43gUxhXPK29P*?uJVDix$;5|u?<%~ z^arjaewSBwbW|8!mdw5Tb`1)4jUdJo1*)Zb_lgarE#SK+UP3j0vhq(;esD;Q-mYkO4a3DjKeyb3%fu>gQ zq=vwU(kFTZ2`16~&^waCj7Dp}170nOQ(JQj6~vit9$iE7B~`iYt9)fCj7>*Zw>dj* zmlxV&qr>mzGhC2P^8nhNm z)W;m?)OTt$WUDmkoQdV|<;^WTd+MTwHwv=WGW*=eS z53JB+kQah4jN3~C24OO7?@=WWx|QhdXs9dpj2@;TN(hHxOUsplTzH(hy?$m`;>x`K zDuN=&5b;Z7A=N2P_H(K1oUap-$Nj1}Wxn+lp>A?Ya|KV{jeNQO?m)qSi9RLTQI>*I z6H1{$Ngh`aUVDFp5o0{jOm?ZwHLWU-9I9@^#7~$jj|93|V!wG0c1Q*9*l86EO;~5> zhfAGt4~#_Gf*j%c1f3IE2QuCF)%h>@$V5Bx!ZCNo4o`}Y8e9W37sdS%qg0HfUu2mP zb5I6v&EZi~9o2$t6CYMZ8G$w^sfUyf-K>${h~ytH`j~(x=zeKiAeInMV2#lo7xwTm z#jog!?u0Zxj%hGC4>uHOL|4qI0kbu4#Y)G2pWiAzTt>i`>z_?gTNSmtp0K8NkEuW` z{_a+IZ8cSCB>6V$j2&zXHGNdNTUW{c(K6lRj2G52f5%BB&1fI@!I4EBRA>(%!Dnsc ztxlgL90_$v1JP1jT7hXxFnX4?l7~=)oxC zT^zPohIPWMg%XC$9tPgJuZSED(95M#`Z;PFrk$7si`gAv7OC_E+?J`DsHfsxBm-XrnJZJMH(!WzHHrPC4=!ARTaPFppvuX^lP0|1)T^+ zOdSjddS^KDAjBHMLrCvK|LUKSrW%nWhHbQ_S|6Gx=q^-FMdrT*kG8C!DErmK`C z9D8IXU;U*nK$erMgJ?;m>n>xH?i7@s6k;loS6Nq56C-TvpiOBGD?xwNB3ehG5XF~l z7~UDX7Di&I-*_06OqXjGi7LtwDQ2h0Yuoqp#tb{%FI88#4mxszsV3?k@*m-%hg6Ko z&)KLK?OwZAt9YNZ*?t-e(UF4BG^c>D!K?w=o)Ad3SO?JxxhdtQa2@O?E-BTb4LpWD ztEOg&TxRA|c7ut$@3+^vy9ZXlg{`kU;*}t?o2-Mo-0#0m7#o_UPz*UiV)lh4pDz>- zw0XYvjnH)VM}16Ca1!HkPgk9v_pMQLYTUN%rGCuS0D#IEl85v;mEBL(1WFXTh zo{Ml$*5?L6WUb@kU$KdRH3q2putntE$$!}*g9~w$j@U(;)TN%$zG$_hLK$7|E)PTL z=GX2qmIG_(4mF(2&jf|KOS0$2%bTw;jo-;GSuaK>HPniMkvHpy*H=kD9+Ii3P2+ju zf)AND?6mNdO8BLfad_s0-x~Z<;CXi1q%*nU|F^(bvs_tgC#`5QzXQ<)h9I1{(0X^4;vFij9xd zp|G0hOV1y3h-+lcX%~cFTRn5iM;4rPoPmbAezR)vQSOlzLL#$0=5~JIVyWK&{X_7bZgiJ^Z~(@h#Xp>(GyiJ7X4D$FI87Y`XDC~~f;?N$@t5%g26_EE}$;loIS(?C800coyMq z`<_;bWU0(IM5DIOTL_~8jxvgjNAN`9<-RaTPhAy;)iLzkkl{?4kAvQSENe7J#Us+j zk&4pP<4&ip*&%*N;Le;RUokY9xELHC(3%?n*TLRuh>_-uoAETv4&QpmH0#R|P73Js zWJeXkGTrj+@jt-YO~25|o;VAx4FN#a7e7%P&Z3pjjW39Hji0Dw3y|vTt{T80(W)xQ zXwxzNcql|{neW_g7>$i5QE2Fp*&R@?^PAr-6kC$9-#L4)Y&Fk?su!<|sdik=1TVak z#lt|O@0H_@3BqqY&7&UOy?rSA|{o$nlVtZ4vj!R*xQ7!@a}fr{?JigoX7<@o!TJ8r_;5<5 z&>Y?;Fk!ulqhe%iB+S`hv`dDUuGtr_&7 zFqLWT+Vor5jN#ORKMX9Lgw>1Y4R?+Ih+q|EQca7Aa3N3;MSR^Yhp!-~?n}L_slC$3 z(HK233N0cxn2xRP*yP5p1>|#}M+b&$P>7eFv)G4Xig-ndV&#k&Hls$RQEuQypGV~A zj?|cXh18P_r`Ta|EH54v=AlQimZ&I%3L>{Lz6z3fTen=v(D*uB!nNKLC{Cm2imDD$ z264x3Yil(|;-+JKsoQJU7RoY`s$*L5I9+aLvRZOzV}N3(6(wWMr;fqR2<=Ws5fbv! zflZo8Hl~-|{WUSRw3mIK_AF)Ioek%$VSRmidkl|2!S}Rqwg1KASju!r%+_uVCY{c&7$IDpE5s|(egjx9gErK(fqM|O$ zPuAj)4V_C-%g475xf2hvO-NZ85`n$VS_8E`A8i}e8RVF8uq)RD#B%u&OO%H zkadGlD~xmVAdP-#)34NMLAW7*V~|!Dh!UI|qqywHBVCL)1}6-kOS;aD!JH`3RT)Ys zYDl!?0I{wk`ZZ?wl0vzjPcWSwg&@V$IB4m)Fx6E?hqQ@v7%`$}K!E5ZZM||t@ZGW@SXZ-OAic&TPZ8+Ks z%tP=!XTT3saU`RPYUHrjSwmOu&qjq&`Y0a=+c&PFcs@j=4rfj`1@mhnHaX(gog_R< zgb5*ueauDrbmg+<6LcHS0(d7N~9({z}^HwI%Ck939$& z?RjZ$V#1)#9Qiqb7-UCF6Ew~6BWf2yBVS5ZSuiG9+w_2_P}%TNwgbtT#>?V*Dy9F7 zZ^g<>)?8NwLWz-ea+sWbP^te@!G@nB82UgD9xwXcny<{oy6QyTr}eHvF@Hjz>!51V z{r5j7mXX`yop(M`65r1)=F-kurZ_mzh=>Y9nhaTn^nc#58R3~18Nxw5^nF80fU1SuW&5nTVoWj`mWa#;*V|S+uM^94S zcCrRzLBB`eY3j8G7UY`8jn7NbVMd9RhV_r-`a(fJ@e%yGCx z?eeR#Al*B(34<+v?hlh=+zGz3{nLTt0$baZ=H~ zZ0zLZ;y)a%a6Fl`f6L0dY{|+ z{l_=vy22QD+bvUj{|oMWt9agN_&SL`cACUo-1D+uThWub$p>Pav-S+Tcf^;cXWj3g zd9~RF`U0qIWYoepR~aINdSP zub9y+jWrk5i`Q3{@AjIRt6r|k;r%?bRU!I3)B0T6CrX~Wn?iiOwD+5ow{-;w7QMXKF1V^6TL>?3Fwt}z`fL~H80yoTuYRFkK zKS02?XTSJz4xDxM7VNz!MdT~2u<{(OP3R}L5;E|Q_A+0@W&EfFkeB_;L?BnyXw^si zIET&KRR4-M6+Bh@MMMEX^qH=-dCe(v$e?CqR8>+K0w+s=8byaSq9ZCk-X$?<<7!z% zHvbR-y0?&9S!L5zzsr}Ke2TPICY_v!ZCx7+ z#GHnbWU?A{_ zlWUVXL=fETH!NyomST8I<8l$VL>GOcS5BZ_6Brh;X-8P#zvMsf^GP@!)IYXwIgA~+jZOe;TTD4yw&d4*|F$h5`hQNzm6PXdDT zI9}m5a;=glad4_cHui2D3KNI?3Hq#6ARE={9U@97n9co{QHQxB#Gj8vbrtmMmQ_>B z(^>T-zR2v8xPM3!56t09p4u026P3_#-K031;bHBo_Tb1E1*Mz4efA9w$&7n%f|$yQ z7Wvsk-Az|>J`A%+)CoJX_<3Ip1StHR)yvsqa!7LjoM(Tnc6 zVq&X^oc+;I#;;^0(46MRx-}~RomLj|sP?sJpX;IrOx4|Idx{LGG=9Pfb9uIzuV=n! z6!%YdA2SyQgIYQ%pHNY{%9eX}!%Hpp#((IeBJJ!2^2-%!b)1x2#ktu8Bgrzj-s?1( zOvV^BKd^mPOJN=<3UKoMjFgT&4v>{HH`-}CDh@xefbvW^wyGsEe?oOvIX+#Vj$H-Y zaihu6^RChJN%i;A9k75kWqy(J7~IQa{jh3poA`ORbBP+f)j0`JcJl4CK~d+?2h7}! z?1ww2qMP{GZXn4=8IpBy8A`C*HlFRQ9@4H>#2>v0qI4`atwVJlN@SsFIr!-Oh@Tm9 zP@CZLn5)h&`LLLOiVV@?wJt4lz_mdLexH!u<;KADqN5M_X#|EArR@qS|8U`Be_Kt{!|F@pP1`MGF_lVere7D^i<4qWT{ahLV5WVZy-=Ll(1K@CL8H#;$!i3jy=RqFt>4GavFTbsrD<0>B%gObrg@k`$M!kFj9s z-{?e_0oaYb-OI>X4bw)37On^Qvr?96!Dtk)`l-Whj@nEjxO~q|#kT41O;6ZC!}5{N zhL7-Jd~82}%SDfAgy@a5QKz1rtcUwf9{K0Hb6;Un+QI@TX9sE>oNS3y!rZJ`ZPM9AtH8uij?EmG{PIb);hVk ze_T%A{Z=l2aEqQs6p-{OgFC?pTBbzq8-7<#G62QmD-XN%oMBNXQO?fHpfH8`D9ELV zUvpnG#nv)MSQY5W>;aZ+tRMaCfgras>^DUsj*Q z+^N{mpHFOuupWAd?n|_1#9pr4_1_09YtgDwCE6vDg;Ujm^_=9UIl9Y@PKB&>A5wwu z6{RD!)j9Ii4n)2nR2$R;rNW%HOucJ?$&X!u_q={WrL9u-S&?aE^u0MA>Bad(U9QP^ zv|fQ#ZG>M-2ubFn5K+f&=sCY#d1A0BjeIcpJk(u_TL1M&EPuy+MEdhw?bGN*4UMtd zktywxd!6tENIgh4y3;4>Q$gpXI*NbUt!_Vz-fD)i4c(+@g~$0 zWirWw^=nJg1o3SS{k2K<73uX8TU8DlEvk7MQ-7LfcW!YEN>0zAUo*OFZ0dsbb?iG3 zioncGTgNi$lhkCPcn?c>;w=tdsJ7=@w*0S$ep+M!Sf*i_y;GA>5 zCFbv%i_bXYXZe$6P!Wes?WXYElPFpF`M&V=Cck28LRDOzOi$%2NQF=khEOtX9hn~} z(NI;=vGnpgIPY6*M>S>lD>w50h)B1F-aAvKI~tZm6Q@VuD(Dtb#=fFOHVD7nxDDGt zvv}Uh0cq{kh}`!PhrWirVcbc9!X4<_wd3Y7 z9(h1T6`w=89Xto8J)jjEt{&rCeIV>Y8|ClHm%|NXV0{UR@9$0)oNEisUOEgg&n6j*)Aj@ z<;cT|YdLb^JN#1fsSm5X`tm9U%ph5y{VSX)&!>ur4@8SmP(u2XE_2idhO3^0p60YY zU&wx*fvwp;gV9Sp_~d8?*6~~Y^fDt>SmjlpydW zt5`auA~osE^B%6kN7s-)?vw6@ogbEt(WBlW45ymagL?eRqm;l*$oINs3wdR2rrW$| z>-wd`D&RksZq#D1I-@Oj#X7mYdVXZ8`__l`c)i5DO6BnqFaf z+nE5i`Jv~)LK8Oiu1E|@Sa3z zlh;BS)K+8Y`Q(QDE*Ar3+IlVhSD3C{vD5Okzy?o`&Tx156=?gm@^flGiY8P)z8gx8 zHP_hfGj8onmY`(PqHy0ngh*yiR0&zA880suRjUiPzL;N~te@!zsUl!dt6k!ZV{?=Vtwjuy z&p-&kms~tUguxHkKMP&;V7l<<4?gh+(>>3w>D9}H^c16LYa4AF1Ya`xt+x%>oc|vH zLO{L0m{r2ZnC+Xs_HpS?2?znp#-xOMkF8f$#?=dS88Wu}_!)bmDfk09pLjgb(JmJ> zkNKWjir>0pKj}i^WI?TDs~oF{cIQOFk__S&Z{BgY5N|TnTCsIxG01Ot`!D~|dEw(f z{EHMvuBw+uJ7(!dU5WJH7aofG>=V?5JsE0)RW0`20!P)g!Sy+5FF%eF+`Ty9PZWGt zK5&rHSKVtn&uM>RhcCiJ^s%TraNH9#z0ZZ}|2SK^Z|8%Vg`pI9=(2~Q=&=P=Fs>}n zKVthY+u#2ikA?{%e#2%GYdc?x_Qe8rYcHB!yeK|WkXy7Df%#URm3SH~gjk$hGE{U> zbd+Jq>mRkTnzS~XRGB_o$XimA?mk)yjJC;X)n1xuM`Nn=1D5{8TEJquMZlFrAPk(y z%TQYQhv20HvF$-hu~LQXu~aD*;r*LN&bG4Chy8l}? za2GrVmr*La(OS63KhJ$O3HvU5V`A72fi?~MgizZH0u5(js;%D*s{hMcjv1p_<`!P; zFbrHrABmWT40a1JBj*K?LS(