From aeb8c49ea2cfbea35fd706f8fc62936476bdd5f6 Mon Sep 17 00:00:00 2001 From: Philip Smart Date: Fri, 15 May 2020 00:54:26 +0100 Subject: [PATCH] Solved CPM boot hang, uninitialised memory so now on cold boot all memory is initialised. Also added 320K ROM drive definitions. --- software/CPM/ROMRFS/RAW/CPM_RFS_1.RAW | Bin 245760 -> 327680 bytes software/CPM/ROMRFS/RAW/CPM_RFS_2.RAW | Bin 245760 -> 327680 bytes software/MZF/CPM_RFS_1.MZF | Bin 245888 -> 327808 bytes software/MZF/CPM_RFS_2.MZF | Bin 245888 -> 327808 bytes software/asm/cbios.asm | 838 ++++++------ software/asm/cbios_bank1.asm | 12 +- software/asm/include/CPM_Definitions.asm | 14 +- software/asm/rfs.asm | 5 +- software/asm/rfs_mrom.asm | 65 +- software/config/diskdefs | 1548 +++++++++++++++++++++- software/roms/MROM_256.bin | Bin 499456 -> 503040 bytes software/roms/USER_ROM_256.bin | Bin 524032 -> 576512 bytes software/roms/cbios.rom | Bin 4096 -> 4096 bytes software/roms/cbios_bank1.rom | Bin 2048 -> 2048 bytes software/roms/cbios_bank2.rom | Bin 2048 -> 2048 bytes software/roms/cbios_bank3.rom | Bin 2048 -> 2048 bytes software/roms/cbios_bank4.rom | Bin 2048 -> 2048 bytes software/roms/rfs.rom | Bin 16384 -> 16384 bytes software/roms/rfs_mrom.rom | Bin 4096 -> 4096 bytes software/tools/make_cpmdisks.sh | 25 +- software/tools/make_roms.sh | 89 +- 21 files changed, 2157 insertions(+), 439 deletions(-) diff --git a/software/CPM/ROMRFS/RAW/CPM_RFS_1.RAW b/software/CPM/ROMRFS/RAW/CPM_RFS_1.RAW index 413309fb87d121db905845b57525190ca1b2e02e..1d038f2dcb3b39f527331d89f87b38aa99610f63 100644 GIT binary patch delta 981 zcmZo@;BROUnIKZnfDD|RoShtlJ)NEXeSyN+tZeKYoLt-p70!+!3LpTHH{{{v<3~sW zSuQTf@@fKtLMYMq7ABBF9)C@Ne+eFG2*Si~o8l&_bNl#)hKBwp#Ts*-lfcjN|;({5O$g)6o1keVM5fBU5vL**I zOPc^=izPcJH!r`Su&5ZOAu8AtDYgSjO3TVCU~)iuJL44Q11yVJN;Xd@DPW#lAU0u9 zg$RP(qk>>>kU_A|uprnM5aLa5mc3y-1D9I1g9#zG>ZS5UU1Hke?2Rd|ib@%l4^-qB74{&uya-ikJ zNt35coi=?2Lf#V`fZ!0QXJD|IIcxTux%1{PfGY^{1?z_fk=(*Xio zfgvi`6Dhd`+`e=7-u(v;A3c5oQ8?L=*!#l$5frKDwK<>cY=K>Z9145bQ+O3Es#YU)5X1OUzV@pMv92y*oS>UY-A)Y8_` z)zddHG%_|}V5kRL5ESaC00ck_fI2Eo&CD$|c5oR810;{o zFK_RFChr5%3^zZ-(aG7x)eWWwXg>qcd0-_F2dKJxc*0~Mv@gN{pbzA{ynTHA`~w1m zf}zTMfnM}d6;@ z@->@3GVwD`7GVB>1q&=E|QGBz**Up+`2~eV#q}kn49-EW zZWabG1@dL(6_pU3P!c4MFhIVlx~3LI-Up-^Zb3+0eM4hYb4zPmdj~`r&~;!H5C^Ds zc6Imk!VIVfF?>-BXz1&oFmcl4DO0CSpD}aR>^XCh<$*qwn>T;KLYRIq?F$S7PiL41 z8Wt^HvUJ(<6)RV*UbA-H`VAWykmP~-?KW-RvUS_`9XmmK!S*xwJHdkxDAurR_ny7` z_8&NS=I!sMVdOfw|@ zS>H_-WRhomzuAz9pK%dK$)bim%N!U}maSmyS!Tf`(iXt9EP%OW*$HNrWfz!vmOWr* F0RWaG$cz90 diff --git a/software/MZF/CPM_RFS_1.MZF b/software/MZF/CPM_RFS_1.MZF index c69434b6a1baa313c55c8059711d4d03d7a5f680..a51f1610fd32cf76cdf689ca14cf7d20fcc83657 100644 GIT binary patch delta 935 zcmZo@-OP(HSNW6lu`W)zddHG%|)8;|mT%3sa!^K>hW0CZ=ZQ7M51lHnw*5U_}rGU}pjq zI5;>uIlH*JxqEned4uHxT-}i@u=Mfu^M@M_Vgz`CLkSuWHUWV_!6@=UzF_ST`FaMq zkWdt928Lk&AaG1ULclRBJR&j*SxIn!k0(e0MBXquCN>UPnjts@k`f^DTJZ^qDAEkU zp-#Ra13>aA3=CXJsL~7!AwftkWN=MRNli;fRukdk3048IKrkZ{SrW*O0NMaD0V2%?)psH@smy0}@-_u!9LKxV+&ClM6&df|&=xP+bTcrxxFE}`$;m4yDj{Tn@}6#P2>q7IDyng6>Kd9_a5XNWz5xgY zEZT4hD8tnSBnxwZiH@$GzJZ|;LY2F#pNDG%OrFhnav`I9y@{!rxrL<_LY0rdBiI~> zH~6e=5K>^4uZ01UEe*DI_709t&MvNQ?jD|A-aZUS@{9}&a=w240VpQ;IyxiiuWtwp z3JwVk3y+A5ijIkmi%($i1&6YQDZ~K{iAl*RscGpMnOWI6xq0~o$nro7>>f|WoF5IlDL1WX1(M*wXA z83B=JJBcdGz!2r)YG?+RZ#Z@O%-M72FI>EI`O4L6*KgcJk~j4Q#v#is3o&g_935J1lPCC|TUlAhNh&hRWiG12T&n9~t diff --git a/software/MZF/CPM_RFS_2.MZF b/software/MZF/CPM_RFS_2.MZF index c8dfebae0f672a59543f5fcd35590b6c2b442083..6b434303d4f621a97e47e2ea9c3a505a299ae9b0 100644 GIT binary patch delta 1779 zcmZo@16w zU*6sUP2LBj8EgSaKE%<<*~QfjNe$3-U=_~w{vZXa?jD{)C?qT* zDkd%=DJ3l<3)BFWS5N>d0_m5NS5Q<^R#8<`*U;3`*3m_l2kLLo(>E|QGBz%X|3L2LKHywX=6{baHlab#wRd^z!xrTj1mAq@WPw3gj>}`1<(=1O^3%gocGj zL`Fr&fDC}i11)fljf+o6OiE5k1u6yur=Uz2l`NM-uwj%k@Yk9 z0)xQQ8Ro-=MT?g#UABD1%2lh^tX;Q$!$xFzpnkheo40J;wtdG=xEcOV;1JA&1@W%k zd-m?zf8gMu!$*!DJAUFM15^P>9%w+rsnci9o;!cx;-$-1u3o!-<0i5^69Yrlt=o6* z-n;+c;iJb-o<4j2;w3|nqhE+?aEJmhDFH2IeKk3dNrD6DXds9AHIO5(_~tF#H4p|& z3nbQA-%Xy#B+vMM^F}6q#>EXBC5syx_AGC3U`$!wu!6B?d4mO$NP9y7)AEJ@=91+N SCzx55H(X%mS>Et~nFRn+Ld)a; diff --git a/software/asm/cbios.asm b/software/asm/cbios.asm index 9cc7e0c..0595ac6 100644 --- a/software/asm/cbios.asm +++ b/software/asm/cbios.asm @@ -123,7 +123,10 @@ BKTOBKRET: PUSH AF ; Public methods for User Rom CBIOS Bank 1 - Utility functions. -?REBOOT: LD A,ROMBANK8 ; Method to exit CPM and return to the Sharp MZ80A Monitor. +?REBOOT: LD A,(ROMCTL) ; Make sure Flash RAM I is active. + AND 03FH + LD (ROMCTL),A + LD A,ROMBANK8 ; Method to exit CPM and return to the Sharp MZ80A Monitor. SCF CALL SELUSRBNK ; Ensure Rom Control is enabled JP QREBOOT ; Reboot has to take place from User ROM as the monitor ROM is swapped back to default position. @@ -243,13 +246,299 @@ BKTOBKRET: PUSH AF ; LD ($EFFD),A ; - Perform the bank switch. ; JP $C000 ; - Go to BOOT_ ;------------------------------------------------------------------------------- -BOOT_: LD SP,BIOSSTACK - CALL INIT ; Initialise CBIOS. +BOOT_: DI ; Disable Interrupts and sat mode. NB. Interrupts are physically disabled by 8255 Port C2 set to low. + IM 1 ; + LD SP,BIOSSTACK ; Setup to use local stack until CPM takes over. + ; + LD HL,VARSTART ; Start of variable area + LD BC,VAREND-VARSTART ; Size of variable area. + XOR A + LD D,A +INIT1: LD (HL),D ; Clear variable memory including stack space. + INC HL + DEC BC + LD A,B + OR C + JR NZ,INIT1 + LD HL,00000H + LD BC,CBASE +INIT2: LD (HL),D ; Clear TPA space. + INC HL + DEC BC + LD A,B + OR C + JR NZ,INIT2 + ; + CALL ?MODE ; Configure 8255 port C, set Motor Off, VGATE to 1 (off) and INTMSK to 0 (interrupts disabled). + LD A,016H + CALL ?PRNT + LD A,017H ; Blue background, white characters in colour mode. Bit 7 is set as a write to bit 7 @ DFFFH selects 80Char mode. + LD HL,ARAM + CALL CLR8 + LD A,004H + LD (TEMPW),A ; Setup the tempo for sound output. + + ; Initialise the Rom Paging Control Registers. + LD B,16 ; If we read the bank control reset register 16 times then this will enable bank control and the 16th read will reset all bank control registers to default. +INIT3: LD A,(BNKCTRLRST) + DJNZ INIT3 ; Apply the default number of coded latch reads to enable the bank control registers. + LD A,BNKCTRLDEF ; Set coded latch, SDCS high, BBMOSI to high and BBCLK to high which enables SDCLK. + LD (BNKCTRL),A + LD (ROMCTL),A ; Save to memory the value in the bank control register - this register is used for SPI etc so need to remember its setting. + LD A,ROMBANK9 ; Screen Bank. + LD (BNKSELUSER),A + ; + + ; Setup keyboard buffer control. + LD A,0 + LD (KEYCOUNT),A ; Set keyboard buffer to empty. + LD HL,KEYBUF + LD (KEYWRITE),HL ; Set write pointer to beginning of keyboard buffer. + LD (KEYREAD),HL ; Set read pointer to beginning of keyboard buffer. + + ; Setup keyboard rate control and set to CAPSLOCK mode. + ; (0 = Off, 1 = CAPSLOCK, 2 = SHIFTLOCK). + LD HL,00002H ; Initialise key repeater. + LD (KEYRPT),HL + LD A,001H + LD (SFTLK),A ; Setup shift lock, default = off. + + ; Setup the initial cursor, for CAPSLOCK this is a double underscore. + LD A,03EH + LD (FLSDT),A + LD A,080H ; Cursor on (Bit D7=1). + LD (FLASHCTL),A + + ; Change to 80 character mode. + LD A, 128 ; 80 char mode. + LD (DSPCTL), A + CALL ?MLDSP + CALL ?NL + LD DE,CBIOSSIGNON ; Start of sign on message, as devices are detected they are added to the sign on. + CALL MONPRTSTR + CALL ?BEL ; Beep to indicate startup - for cases where screen is slow to startup. + LD A,0FFH + LD (SWRK),A + + LD HL,NUMBERBUF + LD (NUMBERPOS),HL + ; + XOR A + LD (IOBYT),A + LD (CDISK),A + + ; + ; Initialise the SD Card subsystem (if connected). + ; + CALL ?SDINIT + LD A,0 ; No drives yet detected so zero available mask. + RES 2,A ; No SD Card is present. + JR NZ,STRT2 + SET 2,A ; Assume the SD Card is present. + ; + PUSH AF ; Output indicator that SDC drives are available. + LD DE,SDAVAIL + CALL MONPRTSTR + POP AF + SET 7,A + ; + ; Locate the CPM Image and store the Bank/Block to speed up warm boot. +STRT2: LD (DRVAVAIL),A + ; + LD HL,CPMROMFNAME ; Name of CPM File in rom. + CALL FINDMZF + JP NZ,ROMFINDERR ; Failed to find CPM in the ROM! This shouldnt happen as we boot from ROM. + LD (CPMROMLOC),BC + + ; Locate the ROMFS CPM Disk Image to be mapped as drive D. + LD HL,0FFFFh + LD (CPMROMDRV0),HL + LD (CPMROMDRV1),HL + LD HL,CPMRDRVFN0 ; Name of CPM Rom Drive File 0 in rom. + CALL FINDMZF + JR NZ,STRT3 ; Failed to find the drive image in the ROM! + LD (CPMROMDRV0),BC ; If found store the bank and page the image is located at. + LD A,(DRVAVAIL) + SET 1,A ; Indicate ROM drives are available. + ; + PUSH AF ; Output indicator that ROM 1 drive is available. + BIT 7,A + JR Z,STRT2A + LD A,',' + CALL ?PRNT +STRT2A: LD DE,ROM1AVAIL + CALL MONPRTSTR + POP AF + SET 7,A + LD (DRVAVAIL),A + ; +STRT3: LD HL,CPMRDRVFN1 ; Name of CPM Rom Drive File 1 in rom. + CALL FINDMZF + JR NZ,STRT4 ; Failed to find the drive image in the ROM! + LD (CPMROMDRV1),BC ; If found store the bank and page the image is located at. + LD A,(DRVAVAIL) + SET 1,A ; Indicate ROM drives are available. + ; + PUSH AF ; Output indicator that ROM 2 drive is available. + BIT 7,A + JR Z,STRT3A + LD A,',' + CALL ?PRNT +STRT3A: LD DE,ROM2AVAIL + CALL MONPRTSTR + POP AF + SET 7,A + LD (DRVAVAIL),A + ; +STRT4: CALL ?DSKINIT ; Initialise the disk subsystem. + JR NZ,STRT5 + LD A,(DRVAVAIL) + SET 0,A ; Indicate Floppy drives are available. + + PUSH AF ; Output indicator that FDC drives are available. + BIT 7,A + JR Z,STRT4A + LD A,',' + CALL ?PRNT +STRT4A: LD DE,FDCAVAIL + CALL MONPRTSTR + POP AF + SET 7,A + LD (DRVAVAIL),A + ; +STRT5: LD DE,CBIOSIGNEND ; Terminate the signon message which now includes list of drives detected. + CALL MONPRTSTR + CALL ?NL + ; + LD DE,DPBASE ; Base of parameter block. + LD A,0 ; Using scratch area, setup the disk count, pointer to ALV memory and pointer to CSV memory. + LD (CDIRBUF),A + LD HL,CSVALVMEM + LD (CDIRBUF+1),HL + ; + LD A,(DRVAVAIL) + BIT 1,A + JR Z,STRT7 ; No ROM drives available then skip. + ; + LD BC,64/4 ; 32/4 ; Setup CSV/ALV parameters for a ROM drive. + LD (CDIRBUF+3),BC + LD BC,20 ; 240/8 + 1 ; 240/8 + 1 for a 240K drive with 1024B block, 159/8 + 1 for a 320K drive with 2048B block. + LD (CDIRBUF+5),BC + LD BC,DPBLOCK1 + LD (CDIRBUF+7),BC ; Address of Disk Parameters + + LD A,(CPMROMDRV0) ; Drive 0 available? + CP 0FFH + JR Z,STRT6 + ; + CALL COPYDPB ; Copy and set parameters + +STRT6: LD A,(CPMROMDRV1) ; Drive 1 available? + CP 0FFH + JR Z,STRT7 + + LD BC,DPBLOCK2 + LD (CDIRBUF+7),BC ; Address of Disk Parameters + CALL COPYDPB + +STRT7: LD A,(DRVAVAIL) + BIT 0,A + JR Z,STRT8 ; No Floppy drives available then skip. + + LD BC,128/4 ; Setup CSV/ALV parameters for a 1.4MB Floppy drive. + LD (CDIRBUF+3),BC + LD BC,91 ; 720/8 + 1 + LD (CDIRBUF+5),BC + LD BC,DPBLOCK3 + LD (CDIRBUF+7),BC ; Address of Disk Parameters + + ; Floppy drive controller always has 2 drives so set them up. + CALL COPYDPB + CALL COPYDPB + +STRT8: LD A,(DRVAVAIL) + BIT 2,A + JR Z,STRT10 ; No SD Card drives available then skip. + + LD BC,0 ; Setup CSV/ALV parameters for a 16MB SD Card drive. + LD (CDIRBUF+3),BC + LD BC,257 ; 2048/8 + 1 + LD (CDIRBUF+5),BC + LD BC,DPBLOCK4 + LD (CDIRBUF+7),BC ; Address of Disk Parameters + + CALL COPYDPB ; Add in 2 SD drives by default. +STRT9: CALL COPYDPB + ; + LD BC,(CDIRBUF+1) + LD HL,CSVALVEND - 2048/8 + 1 ; Subtract the size of the ALV (CSV has no size for a fixed SD drive) + OR A + SBC HL,BC + JR C,STRT10 ; If there is no more space, exit. + JR STRT9 ; Add another, keep on adding until there is no more ALV Memory free. + +STRT10: LD A,(CDIRBUF) + LD (NDISKS),A ; Setup max number of system disks found on this boot up. + + ; Setup timer interrupts + LD IX,TIMIN ; Pass the interrupt service handler vector. + LD BC,00000H ; Time starts at 00:00:00 01/01/1980 on initialisation. + LD DE,00000H + LD HL,00000H + CALL ?TIMESET + + ; Signon message after all the hardware has been initialised. LD DE,CPMSIGNON CALL MONPRTSTR + + ; CP/M init +CPMINIT: LD A,(DRVAVAIL) + BIT 0,A + JR Z,CPMINIT1 ; - JP GOCPM + CALL ?DSKINIT ; Re-initialise the disk subsystem if available. + XOR A ; 0 to accumulator + LD (HSTACT),A ; Host buffer inactive + LD (UNACNT),A ; Clear unalloc count + ; +CPMINIT1: LD A, 0C3H ; C3 IS A JMP INSTRUCTION + LD (00000H), A ; FOR JMP TO WBOOT + LD HL,WBOOTE ; WBOOT ENTRY POINT + LD (00001H), HL ; SET ADDRESS FIELD FOR JMP AT 0 + LD (00005H), A ; FOR JMP TO BDOS + LD HL, CPMBDOS ; BDOS ENTRY POINT + LD (00006H), HL ; ADDRESS FIELD OF JUMP AT 5 TO BDOS + LD HL,TIMIN ; Re-install interrupt vector for RTC incase it was overwritten. + LD (00038H),A + LD (00039H),HL + LD BC,CPMUSERDMA + CALL SETDMA_ + ; + ; check if current disk is valid + LD A,(NDISKS) ; Get the dynamic disk count. + LD L,A + LD A, (CDISK) ; GET CURRENT USER/DISK NUMBER (UUUUDDDD) + AND 00FH ; Isolate the disk number. + CP L ; Drive number ok? + JR C, WBTDSKOK2 ; Yes, jump (Carry set if A < NDISKS) + LD A, (CDISK) ; No, set disk 0 (previous user) + AND 0F0H + LD (CDISK), A ; Save User/Disk +WBTDSKOK2: CALL ?SETDRVMAP ; Refresh the map of physical floppies to CPM drive number. + CALL ?SETDRVCFG + LD A,(DISKTYPE) + OR A + CALL Z,?SELDRIVE ; Select and start disk drive motor if floppy disk. + ; + LD A,05H ; Enable interrupts at hardware level. + LD (KEYPF),A + ; + LD A, (CDISK) + LD C, A ; C = current User/Disk for CCP jump (UUUUDDDD) + ; +GOCPM: EI + JP CCP ; Start the CCP. ;------------------------------------------------------------------------------- ; WBOOT @@ -281,9 +570,18 @@ BOOT_: LD SP,BIOSSTACK ; initialization. The WBOOT routine should read location 4 in memory, verify ; that is a legal drive, and pass it to the CCP in register C. ;------------------------------------------------------------------------------- -WBOOT_: LD SP,BIOSSTACK - CALL WINIT -GOCPM: JP CCP ; Start the CCP. +WBOOT_: DI + ; + LD SP,BIOSSTACK + + ; Reload the CCP and BDOS from ROM. + LD DE,CPMBIOS-CBASE ; Only want to load in CCP and BDOS. + LD BC,(CPMROMLOC) ; Load up the Bank and Page where the CPM Image can be found. + CALL UROMLOAD + LD A,ROMBANK9 ; Screen Bank. + LD (BNKSELUSER),A + ; + JP CPMINIT ; Initialise CPM and run. ;------------------------------------------------------------------------------- @@ -638,257 +936,28 @@ ALLOC2: LD (RSFLAG), A ; rsfla ; Function to select a User Bank. If Carry is clear upon entry, on exit the control registers will be disabled. If carry is set then the control registers are left active. ; During normal operations the control registers are enabled. When access is needed to the full User ROM space, ie for drive read/write then the registers are disabled after - ; setting the correct bank. + ; setting the correct bank. The upper bits of the User ROM address space (ie. bits 20:19 which select the device) are set to by the ROMCTL variable. ; SELUSRBNK: PUSH BC PUSH AF LD A,(ROMCTL) ; Get current setting for the coded latch, ie. number of reads needed to enable it. + LD C,A RRA RRA CPL AND 00FH ; Preserve bits 3-1, bit 0 is always 0 on the 74HCT191 latch. LD B,A ; Set value to B for loop. - LD A,(BNKCTRLDIS) SELUSRBNK1: LD A,(BNKSELUSER) DJNZ SELUSRBNK1 + LD A,C + LD (BNKCTRL),A POP AF - POP BC LD (BNKSELUSER),A ; Select the required bank. + POP BC JR C,SELUSRBNK2 ; If Carry is set by caller then leave the control registers active. LD (BNKCTRLDIS),A ; Disable the control registers, value of A is not important. SELUSRBNK2: RET - ;------------------------------------------------------------------------------- - ; INIT - ; - ; Cold start initialisation routine. Called on CPM first start. - ;------------------------------------------------------------------------------- -INIT: DI - IM 1 - ; - LD HL,VARSTART ; Start of variable area - LD BC,VAREND-VARSTART ; Size of variable area. - XOR A - CALL CLRMEM ; Clear memory. - CALL ?MODE - LD A,016H - CALL ?PRNT - LD A,017H ; Blue background, white characters in colour mode. Bit 7 is set as a write to bit 7 @ DFFFH selects 80Char mode. - LD HL,ARAM -STRT1: CALL CLR8 - LD A,004H - LD (TEMPW),A ; Setup the tempo for sound output. - - ; Initialise the Rom Paging Control Registers. - LD B,16 ; If we read the bank control reset register 16 times then this will enable bank control and the 16th read will reset all bank control registers to default. -INIT1: LD A,(BNKCTRLRST) - DJNZ INIT1 ; Apply the default number of coded latch reads to enable the bank control registers. - LD A,BNKCTRLDEF ; Set coded latch, SDCS high, BBMOSI to high and BBCLK to high which enables SDCLK. - LD (BNKCTRL),A - LD (ROMCTL),A ; Save to memory the value in the bank control register - this register is used for SPI etc so need to remember its setting. - LD A,ROMBANK9 ; Screen Bank. - LD (BNKSELUSER),A - ; - - ; Setup keyboard buffer control. - LD A,0 - LD (KEYCOUNT),A ; Set keyboard buffer to empty. - LD HL,KEYBUF - LD (KEYWRITE),HL ; Set write pointer to beginning of keyboard buffer. - LD (KEYREAD),HL ; Set read pointer to beginning of keyboard buffer. - - ; Setup keyboard rate control and set to CAPSLOCK mode. - ; (0 = Off, 1 = CAPSLOCK, 2 = SHIFTLOCK). - LD HL,00002H ; Initialise key repeater. - LD (KEYRPT),HL - LD A,001H - LD (SFTLK),A ; Setup shift lock, default = off. - - ; Setup the initial cursor, for CAPSLOCK this is a double underscore. - LD A,03EH - LD (FLSDT),A - LD A,080H ; Cursor on (Bit D7=1). - LD (FLASHCTL),A - - ; Change to 80 character mode. - LD A, 128 ; 80 char mode. - LD (DSPCTL), A - CALL ?MLDSP - CALL ?NL - LD DE,CBIOSSIGNON ; Start of sign on message, as devices are detected they are added to the sign on. - CALL MONPRTSTR - CALL ?BEL ; Beep to indicate startup - for cases where screen is slow to startup. - LD A,0FFH - LD (SWRK),A - - ; - ; Initialise the SD Card subsystem (if connected). - ; - CALL ?SDINIT - LD A,0 ; No drives yet detected so zero available mask. - RES 2,A ; No SD Card is present. - JR NZ,STRT2 - SET 2,A ; Assume the SD Card is present. - ; - PUSH AF ; Output indicator that SDC drives are available. - LD DE,SDAVAIL - CALL MONPRTSTR - POP AF - SET 7,A - ; - ; Locate the CPM Image and store the Bank/Block to speed up warm boot. -STRT2: LD (DRVAVAIL),A - ; - LD HL,CPMROMFNAME ; Name of CPM File in rom. - CALL FINDMZF - JP NZ,ROMFINDERR ; Failed to find CPM in the ROM! This shouldnt happen as we boot from ROM. - LD (CPMROMLOC),BC - - ; Locate the ROMFS CPM Disk Image to be mapped as drive D. - LD HL,0FFFFh - LD (CPMROMDRV0),HL - LD (CPMROMDRV1),HL - LD HL,CPMRDRVFN0 ; Name of CPM Rom Drive File 0 in rom. - CALL FINDMZF - JR NZ,STRT3 ; Failed to find the drive image in the ROM! - LD (CPMROMDRV0),BC ; If found store the bank and page the image is located at. - LD A,(DRVAVAIL) - SET 1,A ; Indicate ROM drives are available. - ; - PUSH AF ; Output indicator that ROM 1 drive is available. - BIT 7,A - JR Z,STRT2A - LD A,',' - CALL ?PRNT -STRT2A: LD DE,ROM1AVAIL - CALL MONPRTSTR - POP AF - SET 7,A - LD (DRVAVAIL),A - ; -STRT3: LD HL,CPMRDRVFN1 ; Name of CPM Rom Drive File 1 in rom. - CALL FINDMZF - JR NZ,STRT4 ; Failed to find the drive image in the ROM! - LD (CPMROMDRV1),BC ; If found store the bank and page the image is located at. - LD A,(DRVAVAIL) - SET 1,A ; Indicate ROM drives are available. - ; - PUSH AF ; Output indicator that ROM 2 drive is available. - BIT 7,A - JR Z,STRT3A - LD A,',' - CALL ?PRNT -STRT3A: LD DE,ROM2AVAIL - CALL MONPRTSTR - POP AF - SET 7,A - LD (DRVAVAIL),A - ; -STRT4: LD HL,NUMBERBUF - LD (NUMBERPOS),HL - ; - XOR A - LD (IOBYT),A - LD (CDISK),A - ; - CALL ?DSKINIT ; Initialise the disk subsystem. - JR NZ,STRT5 - LD A,(DRVAVAIL) - SET 0,A ; Indicate Floppy drives are available. - - PUSH AF ; Output indicator that FDC drives are available. - BIT 7,A - JR Z,STRT4A - LD A,',' - CALL ?PRNT -STRT4A: LD DE,FDCAVAIL - CALL MONPRTSTR - POP AF - SET 7,A - LD (DRVAVAIL),A - ; -STRT5: LD DE,CBIOSIGNEND ; Terminate the signon message which now includes list of drives detected. - CALL MONPRTSTR - CALL ?NL - ; - LD DE,DPBASE ; Base of parameter block. - LD A,0 ; Using scratch area, setup the disk count, pointer to ALV memory and pointer to CSV memory. - LD (CDIRBUF),A - LD HL,CSVALVMEM - LD (CDIRBUF+1),HL - ; - LD A,(DRVAVAIL) - BIT 1,A - JR Z,STRT7 ; No ROM drives available then skip. - ; - LD BC,32/4 ; Setup CSV/ALV parameters for a ROM drive. - LD (CDIRBUF+3),BC - LD BC,31 ; 240/8 + 1 - LD (CDIRBUF+5),BC - LD BC,DPBLOCK1 - LD (CDIRBUF+7),BC ; Address of Disk Parameters - - LD A,(CPMROMDRV0) ; Drive 0 available? - CP 0FFH - JR Z,STRT6 - ; - CALL COPYDPB ; Copy and set parameters - -STRT6: LD A,(CPMROMDRV1) ; Drive 1 available? - CP 0FFH - JR Z,STRT7 - - LD BC,DPBLOCK2 - LD (CDIRBUF+7),BC ; Address of Disk Parameters - CALL COPYDPB - -STRT7: LD A,(DRVAVAIL) - BIT 0,A - JR Z,STRT8 ; No Floppy drives available then skip. - - LD BC,128/4 ; Setup CSV/ALV parameters for a 1.4MB Floppy drive. - LD (CDIRBUF+3),BC - LD BC,91 ; 720/8 + 1 - LD (CDIRBUF+5),BC - LD BC,DPBLOCK3 - LD (CDIRBUF+7),BC ; Address of Disk Parameters - - ; Floppy drive controller always has 2 drives so set them up. - CALL COPYDPB - CALL COPYDPB - -STRT8: LD A,(DRVAVAIL) - BIT 2,A - JR Z,STRT10 ; No SD Card drives available then skip. - - LD BC,0 ; Setup CSV/ALV parameters for a 16MB SD Card drive. - LD (CDIRBUF+3),BC - LD BC,257 ; 2048/8 + 1 - LD (CDIRBUF+5),BC - LD BC,DPBLOCK4 - LD (CDIRBUF+7),BC ; Address of Disk Parameters - - CALL COPYDPB ; Add in 2 SD drives by default. -STRT9: CALL COPYDPB - ; - LD BC,(CDIRBUF+1) - LD HL,CSVALVEND - 2048/8 + 1 ; Subtract the size of the ALV (CSV has no size for a fixed SD drive) - OR A - SBC HL,BC - JR C,STRT10 ; If there is no more space, exit. - JR STRT9 ; Add another, keep on adding until there is no more ALV Memory free. - -STRT10: LD A,(CDIRBUF) - LD (NDISKS),A ; Setup max number of system disks found on this boot up. - - ; Setup timer interrupts - LD IX,TIMIN ; Pass the interrupt service handler vector. - LD BC,00000H ; Time starts at 00:00:00 01/01/1980 on initialisation. - LD DE,00000H - LD HL,00000H - CALL ?TIMESET - ; - JR CPMINIT ; Helper method to set up a Disk Parameter Block. ; Input: Drive Count = (CDIRBUF) @@ -928,65 +997,6 @@ COPYDPB1: LDI LD (CDIRBUF),A ; Update drive count. RET - ;------------------------------------------------------------------------------- - ; WINIT - ; - ; Warm start initialisation routine. Called whenever CPM is restarted by an - ; exitting TPA program or a simple warm start call to vector 00000h. - ; - ; Warm boot initialisation. Called by CPM when a warm restart is - ; required, reinitialise any needed hardware and reload CCP+BDOS. - ;------------------------------------------------------------------------------- -WINIT: DI - ; Reload the CCP and BDOS from ROM. - LD DE,CPMBIOS-CBASE ; Only want to load in CCP and BDOS. - LD BC,(CPMROMLOC) ; Load up the Bank and Page where the CPM Image can be found. - CALL UROMLOAD - LD A,ROMBANK9 ; Screen Bank. - LD (BNKSELUSER),A - ; -CPMINIT: LD A,(DRVAVAIL) - BIT 0,A - JR Z,CPMINIT1 - ; - CALL ?DSKINIT ; Re-initialise the disk subsystem if available. - XOR A ; 0 to accumulator - LD (HSTACT),A ; Host buffer inactive - LD (UNACNT),A ; Clear unalloc count - - ; CP/M init -CPMINIT1: LD A, 0C3H ; C3 IS A JMP INSTRUCTION - LD (00000H), A ; FOR JMP TO WBOOT - LD HL,WBOOTE ; WBOOT ENTRY POINT - LD (00001H), HL ; SET ADDRESS FIELD FOR JMP AT 0 - LD (00005H), A ; FOR JMP TO BDOS - LD HL, CPMBDOS ; BDOS ENTRY POINT - LD (00006H), HL ; ADDRESS FIELD OF JUMP AT 5 TO BDOS - LD HL,TIMIN ; Re-install interrupt vector for RTC incase it was overwritten. - LD (00038H),A - LD (00039H),HL - LD BC,CPMUSERDMA - CALL SETDMA_ - EI ; Interrupts on for the RTC. - ; check if current disk is valid - LD A,(NDISKS) ; Get the dynamic disk count. - LD L,A - LD A, (CDISK) ; GET CURRENT USER/DISK NUMBER (UUUUDDDD) - AND 00FH ; Isolate the disk number. - CP L ; Drive number ok? - JR C, WBTDSKOK2 ; Yes, jump (Carry set if A < NDISKS) - LD A, (CDISK) ; No, set disk 0 (previous user) - AND 0F0H - LD (CDISK), A ; Save User/Disk -WBTDSKOK2: CALL ?SETDRVMAP ; Refresh the map of physical floppies to CPM drive number. - CALL ?SETDRVCFG - LD A,(DISKTYPE) - OR A - CALL Z,?SELDRIVE ; Select and start disk drive motor if floppy disk. - LD A, (CDISK) - LD C, A ; C = current User/Disk for CCP jump (UUUUDDDD) - RET - ;------------------------------------------------------------------------------- ; TIMER INTERRUPT @@ -1378,28 +1388,28 @@ L09E8: LD (HL),D CMPSTRING: PUSH HL PUSH DE -CMPSTR1: LD A, (DE) ; Compare bytes. - CP 000h ; Check for end of string. +CMPSTR1: LD A, (DE) ; Compare bytes. + CP 000h ; Check for end of string. JR Z, CMPSTR3 CP 00Dh JR Z, CMPSTR3 - CPI ; Compare bytes. - JR NZ, CMPSTR2 ; If (HL) != (DE), abort. - INC DE ; Update pointer. - JP PE, CMPSTR1 ; Next byte if BC not zero. + CPI ; Compare bytes. + JR NZ, CMPSTR2 ; If (HL) != (DE), abort. + INC DE ; Update pointer. + JP PE, CMPSTR1 ; Next byte if BC not zero. CMPSTR2: DEC HL - CP (HL) ; Compare again to affect carry. + CP (HL) ; Compare again to affect carry. CMPSTR4: POP DE POP HL RET CMPSTR3: LD A, (HL) - CP 000h ; Check for end of string. + CP 000h ; Check for end of string. JR Z, CMPSTR4 CP 00Dh JR Z, CMPSTR4 - SCF ; String 1 greater than string 2 + SCF ; String 1 greater than string 2 JR CMPSTR4 ; HL contains address of block to check. @@ -1408,30 +1418,30 @@ ISMZF: PUSH BC PUSH HL ; LD A,(HL) - CP 001h ; Only interested in machine code images. + CP 001h ; Only interested in machine code images. JR NZ, ISMZFNOT ; INC HL - LD DE,NAME ; Checks to confirm this is an MZF header. - LD B,17 ; Maximum of 17 characters, including terminator in filename. + LD DE,NAME ; Checks to confirm this is an MZF header. + LD B,17 ; Maximum of 17 characters, including terminator in filename. ISMZFNXT: LD A,(HL) LD (DE),A - CP 00Dh ; If we find a terminator then this indicates potentially a valid name. + CP 00Dh ; If we find a terminator then this indicates potentially a valid name. JR Z, ISMZFVFY - CP 020h ; >= Space + CP 020h ; >= Space JR C, ISMZFNOT - CP 05Dh ; =< ] + CP 05Dh ; =< ] JR C, ISMZFNXT3 ISMZFNXT2: CP 091h - JR C, ISMZFNOT ; DEL or > 0x7F, cant be a valid filename so this is not an MZF header. + JR C, ISMZFNOT ; DEL or > 0x7F, cant be a valid filename so this is not an MZF header. ISMZFNXT3: INC DE INC HL DJNZ ISMZFNXT - JR ISMZFNOT ; No end of string terminator, this cant be a valid filename. + JR ISMZFNOT ; No end of string terminator, this cant be a valid filename. ISMZFVFY: LD A,B CP 17 - JR Z,ISMZFNOT ; If the filename has no length it cant be valid, so loop. -ISMZFYES: CP A ; Set zero flag to indicate match. + JR Z,ISMZFNOT ; If the filename has no length it cant be valid, so loop. +ISMZFYES: CP A ; Set zero flag to indicate match. ISMZFNOT: POP HL POP DE POP BC @@ -1441,25 +1451,30 @@ ISMZFNOT: POP HL ; HL = filename ; Out: ; B = Bank Page file found - ; C = Block where found. + ; C = 7:6 = Upper Bank address where file found, 5:0 = Block where found. ; D = File sequence number. ; Z set if found. -FINDMZF: LD (TMPADR), HL ; Save name of program to load. +FINDMZF: LD (TMPADR), HL ; Save name of program to load. ; ; Scan MROM Bank ; B = Bank Page ; C = Block in page ; D = File sequence number. ; -FINDMZF0: LD B,USRROMPAGES ; First 16 pages are reserved in User ROM bank. - LD C,0 ; Block in page. - LD D,0 ; File numbering start. +FINDMZF0: LD B,USRROMPAGES ; First 16 pages are reserved in User ROM bank. + ; + LD A,(ROMCTL) + AND 03FH ; Mask out the upper bank address lines so we start with Flash RAM I. + ; +FINDNXTDVC: LD (ROMCTL),A + LD C,0 ; Block in page. + LD D,0 ; File numbering start. FINDMZF1: LD A,B - OR A ; Select the required user bank and Clear carry so that the control registers are disabled. + OR A ; Select the required user bank and Clear carry so that the control registers are disabled. CALL SELUSRBNK -FINDMZF2: PUSH BC ; Preserve bank count/block number. - PUSH DE ; Preserve file numbering. - LD HL,0E800h + RFS_ATRB ; Add block offset to get the valid block. +FINDMZF2: PUSH BC ; Preserve bank count/block number. + PUSH DE ; Preserve file numbering. + LD HL,0E800h + RFS_ATRB ; Add block offset to get the valid block. LD A,C IF RFSSECTSZ >= 512 RLCA @@ -1470,41 +1485,59 @@ FINDMZF2: PUSH BC ; Preserve bank count/block numb LD B,A LD C,0 ADD HL,BC - CALL ISMZF ; Check to see if this looks like a header entry. + CALL ISMZF ; Check to see if this looks like a header entry. POP DE POP BC - JR NZ, FINDMZF4 ; Z set if we found an MZF record. - INC HL ; Save address of filename. + JR NZ, FINDMZF4 ; Z set if we found an MZF record. + INC HL ; Save address of filename. FINDMZF3: PUSH DE PUSH BC - LD DE,(TMPADR) ; Original DE put onto stack, original filename into DE + LD DE,(TMPADR) ; Original DE put onto stack, original filename into DE LD BC,17 CALL CMPSTRING POP BC POP DE JR Z, FINDMZFYES - INC D ; Next file sequence number. + INC D ; Next file sequence number. FINDMZF4: INC C LD A,C - CP UROMSIZE/RFSSECTSZ ; Max blocks per page reached? + CP UROMSIZE/RFSSECTSZ ; Max blocks per page reached? JR C, FINDMZF5 LD C,0 INC B FINDMZF5: LD A,B - CP 000h ; User ROM has 256 banks of 2K, so stop when we wrap around to zero. + CP 000h ; User ROM has 256 banks of 2K, so stop when we wrap around to zero. JR NZ, FINDMZF1 - INC B + ; + LD A,(ROMCTL) + ADD A, 64 + CP 0C0H ; If both upper address bits are set then we have come to the end. + JR C,FINDNXTDVC + AND 03FH + LD (ROMCTL),A ; Switch back to primary Flash RAM I device. + ; + INC B ; Clear Z flag. JR FINDMZFNO - -FINDMZFYES: ; Z Flag set by previous test. -FINDMZFNO: LD A,ROMBANK9 - SCF ; Select the required user bank and Set carry so that the control registers remain enabled. + ; +FINDMZFYES: LD A,(ROMCTL) + AND 0C0H ; Interested in the top two address bits 20:19 + OR C + LD C,A ; Place the top address bits into the Block as the upper two bits. + LD A,(ROMCTL) + AND 03FH + LD (ROMCTL),A ; Reset upper address bits to the User ROM I device. + XOR A ; Clear Z flag to indicate we found the file and BC points to it. + ; +FINDMZFNO: PUSH AF ; Preserve flags. + LD A,ROMBANK9 + SCF ; Select the required user bank and Set carry so that the control registers remain enabled. CALL SELUSRBNK + POP AF RET ; Load Program from ROM - ; IN BC Bank and Block of MZF file. + ; IN BC Bank and Block of MZF file. C contains Block in bits 5:0 and upper bank address bits in 7:6. ; DE 0 - use file size in header, > 0 file size to load. ; OUT zero Set if file loaded, reset if an error occurred. ; @@ -1512,12 +1545,25 @@ FINDMZFNO: LD A,ROMBANK9 ; UROMLOAD: PUSH BC PUSH DE + ; + LD A,C ; Set upper address bits by masking out 7:6 and adding to ROMCTL variable. + AND 0C0H + LD L,A + LD A,(ROMCTL) + AND 03FH + OR L + LD (ROMCTL),A + ; + LD A,C ; Remove upper address bits from starting block. + AND 03FH + LD C,A + ; LD A,B - OR A ; Select the required user bank and Clear carry so that the control registers are disabled. + OR A ; Select the required user bank and Clear carry so that the control registers are disabled. CALL SELUSRBNK ; - LD DE, IBUFE ; Copy the header into the work area. - LD HL, 0E800h ; Add block offset to get the valid block. + LD DE, IBUFE ; Copy the header into the work area. + LD HL, 0E800h ; Add block offset to get the valid block. LD A,C IF RFSSECTSZ >= 512 RLCA @@ -1530,13 +1576,13 @@ UROMLOAD: PUSH BC ADD HL,BC LD BC, MZFHDRNCSZ LDIR - LD DE,MZFHDRSZ - MZFHDRNCSZ ; Account for the full MZF header (we only load the initial part to save RAM). + LD DE,MZFHDRSZ - MZFHDRNCSZ ; Account for the full MZF header (we only load the initial part to save RAM). ADD HL,DE POP DE - LD A,D ; Test DE, if 0 the use the size to load from header. - OR E ; if not 0, use size to load in DE. + LD A,D ; Test DE, if 0 the use the size to load from header. + OR E ; if not 0, use size to load in DE. JR Z,LROMLOAD1 - LD (SIZE),DE ; Overwrite the header size with the new size to load. + LD (SIZE),DE ; Overwrite the header size with the new size to load. LROMLOAD1: PUSH HL LD DE, (DTADR) @@ -1551,11 +1597,11 @@ LROMLOAD1: PUSH HL ; B = Bank ; C = Block LROMLOAD2: LD A, B - OR A ; Select the required user bank and Clear carry so that the control registers are disabled. + OR A ; Select the required user bank and Clear carry so that the control registers are disabled. CALL SELUSRBNK LROMLOAD3: PUSH BC - LD HL, 0E800h + LD HL, UROMADDR LD A, C IF RFSSECTSZ >= 512 RLCA @@ -1576,23 +1622,23 @@ LROMLOAD3: PUSH BC JR NC, LROMLOAD4 LD BC, (TMPSIZE) LD HL, 0 -LROMLOAD4: LD (TMPSIZE), HL ; HL contains remaining amount of bytes to load. +LROMLOAD4: LD (TMPSIZE), HL ; HL contains remaining amount of bytes to load. POP HL ; - LD A, B ; Pre check to ensure BC is not zero. + LD A, B ; Pre check to ensure BC is not zero. OR C JR Z, LROMLOAD8 LDIR LD BC, (TMPSIZE) - LD A, B ; Post check to ensure we still have bytes + LD A, B ; Post check to ensure we still have bytes OR C JR Z, LROMLOAD8 ; - LD (TMPADR),DE ; Address we are loading into. + LD (TMPADR),DE ; Address we are loading into. POP BC LROMLOAD6: INC C LD A, C - CP UROMSIZE/RFSSECTSZ ; Max blocks per page reached? + CP UROMSIZE/RFSSECTSZ ; Max blocks per page reached? JR C, LROMLOAD7 LD C, 0 INC B @@ -1605,8 +1651,11 @@ LROMLOAD7: LD A, B ; LROMLOAD8: POP BC LROMLOAD5: PUSH AF + LD A,(ROMCTL) + AND 03FH + LD (ROMCTL),A ; Switch back to primary Flash RAM I device. LD A,ROMBANK9 - SCF ; Select the required user bank and Set carry so that the control registers remain enabled. + SCF ; Select the required user bank and Set carry so that the control registers remain enabled. CALL SELUSRBNK POP AF RET @@ -1614,6 +1663,11 @@ LROMLOAD5: PUSH AF ; Calculate offset into the ROM of the required sector. ; The sector size is 128 bytes due to the MZF header creating a 128 byte offset. Larger sector ; sizes will need to see the math enhanced to cater for the offset. + + ; Inputs: (HSTTRK) - 16bit track number. + ; (HSTSEK) - 8bit sector number. + ; (CDISK) - Disk drive number. + ; ROMREAD: LD DE,(HSTTRK) ; To cater for larger RFS images in the future we use the full 16bit track number. LD (TRACKNO),DE LD A, BANKSPERTRACK * SECTORSPERBANK @@ -1637,11 +1691,22 @@ ROMREAD3: DJNZ ROMREAD2 PUSH HL CALL ?GETMAPDSK AND 03FH ; Mask out the controller id bits. - JR NZ,ROMREAD3A ; Only 2 ROM drives, so it it isnt drive 0 then it must be drive 1. + JR NZ,ROMREAD3A ; Only 2 ROM drives, so if it isnt drive 0 then it must be drive 1. LD BC,(CPMROMDRV0) JR ROMREAD3B ROMREAD3A: LD BC,(CPMROMDRV1) -ROMREAD3B: LD A,C +ROMREAD3B: LD A,C ; Set upper address bits by masking out 7:6 and adding to ROMCTL variable. + AND 0C0H + LD D,A + LD A,(ROMCTL) + AND 03FH + OR D + LD (ROMCTL),A + ; + LD A,C ; Remove upper address bits from starting block. + AND 03FH + LD C,A + ; LD E,B ; Place number of banks offset and multiply into sectors. LD D,0 LD A,SECTORSPERBANK @@ -1655,8 +1720,8 @@ ROMREAD5: DJNZ ROMREAD4 ; HL co POP DE ADD HL,DE ; HL contains the sectors for the number of tracks plus the sectors for the offset to the drive image. - ; C contains current block number. - LD D,SECTORSPERBLOCK ; Calculate the sectors in the block offset (as RFS uses a different sector size). + ; C contains current block number. + LD D,SECTORSPERBLOCK ; Calculate the sectors in the block offset (as RFS uses a different sector size). LD B,8 ROMREAD6: XOR A RLCA @@ -1732,37 +1797,37 @@ ROMREAD14: LD (TMPSIZE), HL ; HL co ; LD A, B ; Pre check to ensure BC is not zero. OR C - JR Z, ROMREAD17 + JR Z, ROMREAD16 LDIR LD BC, (TMPSIZE) LD A, B ; Post check to ensure we still have bytes OR C - JR Z, ROMREAD17 + JR Z, ROMREAD16 ; LD (TMPADR),DE ; Address we are loading into. POP BC ROMREAD15: INC C LD A, C CP SECTORSPERBANK ; Max blocks per page reached? - JR C, ROMREAD16 + JR C, ROMREAD12 LD C, 0 INC B - ; -ROMREAD16: LD A, B + LD A, B CP 000h JR NZ, ROMREAD12 OR 1 - JR ROMREAD18 + JR ROMREAD17 ; -ROMREAD17: POP BC -ROMREAD18: PUSH AF +ROMREAD16: POP BC +ROMREAD17: PUSH AF + LD A,(ROMCTL) + AND 03FH + LD (ROMCTL),A ; Switch back to primary Flash RAM I device. LD A,ROMBANK9 ; Reselect utilities bank. SCF ; Select the required user bank and Set carry so that the control registers remain enabled. CALL SELUSRBNK POP AF - POP HL ; HL/BC pushed onto stack in READHST, a jump was made this method not a call. - POP BC - RET + JP READHST3 ; HL/BC pushed onto stack in READHST, a jump was made this method not a call. ; Rom filing system error messages. ROMLOADERR: LD DE,ROMLDERRMSG @@ -2025,11 +2090,14 @@ WRITEHST4: LD A,1 ; Error ; Debug routine to print out all registers and dump a section of memory for analysis. ; DEBUG: IF ENADEBUG = 1 + LD (DBGSTACKP),SP + LD SP,DBGSTACK + ; PUSH AF PUSH BC PUSH DE PUSH HL - + ; PUSH AF PUSH HL PUSH DE @@ -2065,8 +2133,7 @@ DEBUG: IF ENADEBUG = 1 CALL ?PRTHX LD DE, INFOMSG5 CALL MONPRTSTR - LD HL,00000H - ADD HL,SP + LD HL,(DBGSTACKP) LD A,H CALL ?PRTHX LD A,L @@ -2170,6 +2237,8 @@ SKIPDUMP: POP HL POP DE POP BC POP AF + ; + LD SP,(DBGSTACKP) RET ; HL = Start @@ -2550,7 +2619,6 @@ SDAVAIL: DB "SD", ROM1AVAIL: DB "ROM1", NUL ROM2AVAIL: DB "ROM2", NUL FDCAVAIL: DB "FDC", NUL - ;------------------------------------------------------------------------------- ; END OF STATIC LOOKUP TABLES AND CONSTANTS ;------------------------------------------------------------------------------- @@ -2610,14 +2678,14 @@ DPB0: DW 64 ; SPT - ; Rom Filing System File Image acting as a drive. ; There are two definitions, 1 for each ROM drive, they can be identical but the CFG bit 5 will differ. DPB1: DW 128 ; SPT - 128 bytes sectors per track - DB 3 ; BSH - block shift factor - DB 7 ; BLM - block mask + DB 4 ; 3 ; BSH - block shift factor (Set to 3 for a 240K RomRFS Image). + DB 15 ; 7 ; BLM - block mask (Set to 7 for a 240K RomRFS Image). DB 0 ; EXM - Extent mask - DW 240 ; DSM - Storage size (blocks - 1) - DW 31 ; DRM - Number of directory entries - 1 + DW 159 ; 240 ; DSM - Storage size (blocks - 1) (Set to 240 for a 240K RomRFS Image). + DW 63 ; 31 ; DRM - Number of directory entries - 1 DB 128 ; AL0 - 1 bit set per directory block DB 0 ; AL1 - " - DW 8 ; CKS - DIR check vector size (DRM+1)/4 (0=fixed disk) + DW 16 ; CKS - DIR check vector size (DRM+1)/4 (0=fixed disk) DW 0 ; OFF - Reserved tracks DB 16 ; CFG - MZ80A Addition, configuration flag: ; Bit 1:0 = FDC: Sector Size, 00 = 128, 10 = 256, 11 = 512, 01 = Unused. @@ -2628,14 +2696,14 @@ DPB1: DW 128 ; SPT - ; Rom Filing System File Image acting as a drive. ; There are two definitions, 1 for each ROM drive, they can be identical but the CFG bit 5 will differ. DPB2: DW 128 ; SPT - 128 bytes sectors per track - DB 3 ; BSH - block shift factor - DB 7 ; BLM - block mask + DB 4 ; 3 ; BSH - block shift factor (Set to 3 for a 240K RomRFS Image). + DB 15 ; 7 ; BLM - block mask (Set to 7 for a 240K RomRFS Image). DB 0 ; EXM - Extent mask - DW 240 ; DSM - Storage size (blocks - 1) - DW 31 ; DRM - Number of directory entries - 1 + DW 159 ; 240 ; DSM - Storage size (blocks - 1) (Set to 240 for a 240K RomRFS Image). + DW 63 ; 31 ; DRM - Number of directory entries - 1 DB 128 ; AL0 - 1 bit set per directory block DB 0 ; AL1 - " - DW 8 ; CKS - DIR check vector size (DRM+1)/4 (0=fixed disk) + DW 16 ; CKS - DIR check vector size (DRM+1)/4 (0=fixed disk) DW 0 ; OFF - Reserved tracks DB 48 ; CFG - MZ80A Addition, configuration flag: ; Bit 1:0 = FDC: Sector Size, 00 = 128, 10 = 256, 11 = 512, 01 = Unused. diff --git a/software/asm/cbios_bank1.asm b/software/asm/cbios_bank1.asm index bcadce4..ac53b3d 100644 --- a/software/asm/cbios_bank1.asm +++ b/software/asm/cbios_bank1.asm @@ -326,9 +326,8 @@ OPTBL: DB 001H ; ; BC:DE:HL contains the time in milliseconds (100msec resolution) since 01/01/1980. In IX is held the interrupt service handler routine address for the RTC. ; HL contains lower 16 bits, DE contains middle 16 bits, BC contains upper 16bits, allows for a time from 00:00:00 to 23:59:59, for > 500000 days! -?TIMESET: DI - ; - LD (TIMESEC),HL ; Load lower 16 bits. + ; NB. Caller must disable interrupts before calling this method. +?TIMESET: LD (TIMESEC),HL ; Load lower 16 bits. EX DE,HL LD (TIMESEC+2),HL ; Load middle 16 bits. PUSH BC @@ -352,7 +351,6 @@ OPTBL: DB 001H LD A, 0C3H ; Install the interrupt vector for when interrupts are enabled. LD (00038H),A LD (00039H),IX - ;EI RET ; Time Read; @@ -375,9 +373,9 @@ OPTBL: DB 001H ?MODE: LD HL,KEYPF LD (HL),08AH - LD (HL),007H - LD (HL),005H - LD (HL),001H + LD (HL),007H ; Set Motor to Off. + LD (HL),004H ; Disable interrupts by setting INTMSK to 0. + LD (HL),001H ; Set VGATE to 1. RET ; Method to check if a key has been pressed and stored in buffer.. diff --git a/software/asm/include/CPM_Definitions.asm b/software/asm/include/CPM_Definitions.asm index 89e90f6..8a1989f 100644 --- a/software/asm/include/CPM_Definitions.asm +++ b/software/asm/include/CPM_Definitions.asm @@ -108,13 +108,14 @@ ROW: EQU 25 ; Numbe SCRNSZ: EQU COLW * ROW ; Total size, in bytes, of the screen display area. SCRLW: EQU COLW / 8 ; Number of 8 byte regions in a line for hardware scroll. MODE80C: EQU 1 +ROMDRVSIZE: EQU 320 ; Size in K of the Rom RFS Drive, currently 240 or 320 are coded. Please set value in make_cpmdisks.sh when changing this parameter. ; BIOS equates MAXDISKS EQU 7 ; Max number of Drives supported KEYBUFSIZE EQU 16 ; Ensure this is a power of 2, max size 256. ; Debugging -ENADEBUG EQU 1 ; Enable debugging logic, 1 = enable, 0 = disable +ENADEBUG EQU 0 ; Enable debugging logic, 1 = enable, 0 = disable ;------------------------------------------------------- ; Function entry points in the CBIOS ROMS @@ -207,7 +208,7 @@ BK2A20 EQU 128 ; User ; 1 0 = Flasm RAM 2 or Static RAM 0. ; 1 1 = Reserved. -BNKCTRLDEF EQU CDLTCH2+CDLTCH1+BBMOSI+SDCS+BBCLK ; Default on startup for the Bank Control register. +BNKCTRLDEF EQU BBMOSI+SDCS+BBCLK ; Default on startup for the Bank Control register. ;----------------------------------------------- ; IO ports in hardware and values. @@ -427,6 +428,7 @@ KEYLAST: DS virtual 1 ; KEY L KEYRPT: DS virtual 1 ; KEY REPEAT COUNTER USRBANKSAV: DS virtual 1 ; Save user bank number when calling another user bank. HLSAVE: DS virtual 2 ; Space to save HL register when manipulating stack. +ROMCTL DS virtual 1 ; Rom Paging control register contents. ; SPV: IBUFE: ; TAPE BUFFER (128 BYTES) @@ -475,7 +477,6 @@ TRK0FD2 DS virtual 1 ; FD 2 TRK0FD3 DS virtual 1 ; FD 3 IS AT TRACK 0 = BIT 0 set TRK0FD4 DS virtual 1 ; FD 4 IS AT TRACK 0 = BIT 0 set RETRIES DS virtual 2 ; DATA READ RETRIES -ROMCTL DS virtual 1 ; Rom Paging control register contents. TMPADR DS virtual 2 ; TEMPORARY ADDRESS STORAGE TMPSIZE DS virtual 2 ; TEMPORARY SIZE TMPCNT DS virtual 2 ; TEMPORARY COUNTER @@ -546,10 +547,15 @@ COLOUR EQU 0 SPSAVE: DS virtual 2 ; CPM Stack save. SPISRSAVE: DS virtual 2 -VAREND EQU $ ; End of variables ; Stack space for the CBIOS. MSGSTRBUF: DS virtual 128 ; Lower end of the stack space is for interbank message printing, ie.space for a string to print. BIOSSTACK EQU $ ; Stack space for the Interrupt Service Routine. DS virtual 16 ; Max 8 stack pushes. ISRSTACK EQU $ + +DBGSTACKP: DS virtual 2 + DS virtual 64 +DBGSTACK: EQU $ + +VAREND EQU $ ; End of variables diff --git a/software/asm/rfs.asm b/software/asm/rfs.asm index 2e6c1f2..6103bed 100644 --- a/software/asm/rfs.asm +++ b/software/asm/rfs.asm @@ -759,7 +759,8 @@ LOADROM1: DI CALL MFINDMZF ; Try and find the file in User ROM via MROM utility. JR NZ, LROMNTFND ; - PUSH BC + PUSH BC ; Preserve bank and block where MZF file found. + PUSH AF LD A,(ROMBK1) ; Page in monitor so we can print a message. LD (BNKSELMROM),A LD DE,MSGLOAD+1 ; Skip initial CR. @@ -768,8 +769,8 @@ LOADROM1: DI CALL BKSW0to6 LD A,(WRKROMBK1) ; Revert to MROM bank to load the application. LD (BNKSELMROM),A + POP AF POP BC - ; CALL MROMLOAD ; Load the file from User ROM via MROM utility. JP Z, LROMLOAD5 diff --git a/software/asm/rfs_mrom.asm b/software/asm/rfs_mrom.asm index 748ecf5..7285a3c 100644 --- a/software/asm/rfs_mrom.asm +++ b/software/asm/rfs_mrom.asm @@ -277,6 +277,7 @@ INITBNK_1: LD A,(BNKCTRLRST) SELUSRBNK: PUSH BC PUSH AF LD A,(ROMCTL) ; Get current setting for the coded latch, ie. number of reads needed to enable it. + LD C,A RRA RRA CPL @@ -286,11 +287,16 @@ SELUSRBNK: PUSH BC SELUSRBNK1:LD A,(BNKSELUSER) DJNZ SELUSRBNK1 POP AF - POP BC LD (BNKSELUSER),A ; Select the required bank. - JR C,SELUSRBNK2 ; If Carry is set by caller then leave the control registers active. + LD A,C + POP BC + JR NC,SELUSRBNK2 ; If Carry is set by caller then leave the control registers active. + AND 03FH ; When we leave the registers active, set upper bank bits to 0 to select Flash RAM I, the default. + LD (BNKCTRL),A + RET +SELUSRBNK2:LD (BNKCTRL),A ; Update the upper address lines according to in-memory value. LD (BNKCTRLDIS),A ; Disable the control registers, value of A is not important. -SELUSRBNK2:RET + RET ; HL contains address of block to check. @@ -339,6 +345,10 @@ _DIRMROM: PUSH BC ; D = File sequence number. ; LD B,USRROMPAGES ; First 16x2K pages are reserved in User bank. + LD A,(ROMCTL) + AND 03FH ; Mask out the upper bank address lines so we start with Flash RAM I. + ; +DIRNXTDVC: LD (ROMCTL),A LD C,0 ; Block in page. DIRNXTPG: LD A,B LD (WRKROMBK2), A @@ -373,6 +383,12 @@ DIRNOTMZF: INC C DIRNXTPG2: LD A,B CP 000h ; User rom has 256 banks of 2K, so stop when we wrap round to 0. JR NZ, DIRNXTPG + LD A,(ROMCTL) + ADD A, 64 + CP 0C0H ; If both upper address bits are set then we have come to the end. + JR C,DIRNXTDVC + AND 03FH + LD (ROMCTL),A ; Switch back to primary Flash RAM I device. LD A,(ROMBK2) SCF ; Select the required user bank and Set carry so that the control registers remain enabled. CALL SELUSRBNK @@ -382,6 +398,7 @@ DIRNXTPG2: LD A,B ; Wrapper to call the User ROM function to display the MZF filename. + ; This function needs to manipulate the banks such that the calling bank is accessible. _PRTMZF: LD A,(ROMBK2) SCF ; Select the required user bank and Set carry so that the control registers remain enabled. CALL SELUSRBNK @@ -414,10 +431,19 @@ _MFINDMZF: PUSH DE ; C = Block in page ; D = File sequence number. ; + ; Output: B = Bank where file found + ; C = Block within bank where page found. + ; A[7:6] = Upper bits of bank where page found. + ; FINDMZF0: POP DE ; Get file sequence number in D. LD B,USRROMPAGES ; First 8 pages are reserved in User ROM bank. - LD C,0 ; Block in page. ;LD D,0 ; File numbering start. + LD A,(ROMCTL) + AND 03FH ; Mask out the upper bank address lines so we start with Flash RAM I. + ; +FINDNXTDVC:LD (ROMCTL),A + LD C,0 ; Block in page. + ; FINDMZF1: LD A,B LD (WRKROMBK2), A OR A ; Select the required user bank and Clear carry so that the control registers are disabled. @@ -471,9 +497,16 @@ FINDMZF4: INC C FINDMZF5: LD A,B CP 000h ; User ROM has 256 banks of 2K, so stop when we wrap around to zero. JR NZ, FINDMZF1 + ; + LD A,(ROMCTL) + ADD A, 64 + CP 0C0H ; If both upper address bits are set then we have come to the end. + JR C,FINDNXTDVC + AND 03FH + LD (ROMCTL),A ; Switch back to primary Flash RAM I device. + ; INC B JR FINDMZFNO - FINDMZFYES: ; Flag set by previous test. FINDMZFNO: PUSH AF LD A,(ROMBK2) @@ -482,14 +515,27 @@ FINDMZFNO: PUSH AF POP AF RET + LD A,(ROMCTL) + AND 03FH + LD (ROMCTL),A ; Switch back to primary Flash RAM I device. ; Load Program from ROM - ; IN BC Bank and Block to of MZF file. - ; OUT zero Set if file loaded, reset if an error occurred. + ; Input: B = Bank of MZF File to load + ; C = Block within bank of start of MZF file. + ; A[7:6] = Upper bits of bank containing MZF File to load. + ; Output:Zero = Set if file loaded, reset if an error occurred. ; - ; Load program from RFS Bank 1 (MROM Bank) + ; Load program from User ROM Banks I, II or III ; _MROMLOAD: PUSH BC + ; + AND 0C0H ; Ensure only top two bits are used. + LD D,A + LD A,(ROMCTL) + AND 03FH ; Mask out the upper bank address lines so we can OR in the value given. + OR D + LD (ROMCTL),A + ; LD A,B LD (WRKROMBK2),A OR A ; Select the required user bank and Clear carry so that the control registers are disabled. @@ -577,6 +623,9 @@ LROMLOAD7: LD A, B ; LROMLOAD8: POP BC LROMLOAD5: PUSH AF + LD A,(ROMCTL) + AND 03FH + LD (ROMCTL),A ; Switch back to primary Flash RAM I device. LD A,(ROMBK2) SCF ; Select the required user bank and Set carry so that the control registers remain enabled. CALL SELUSRBNK diff --git a/software/config/diskdefs b/software/config/diskdefs index 87cb4b3..3af24bb 100644 --- a/software/config/diskdefs +++ b/software/config/diskdefs @@ -1,4 +1,3 @@ - # 320K Disk for the MZ80A - Same format as the MZ800 # but implements a cylinder in uniform manner (ie. 1 cyl # = 1 track x 2(heads) where as the MZ800 implements as @@ -50,6 +49,30 @@ diskdef MZ80A-RFS os 2.2 end +# A 320K Rom Filing System ROM Drive image. +diskdef MZ80A-RFS-320 + seclen 128 + tracks 20 + sectrk 128 + blocksize 2048 + maxdir 32 + skew 0 + boottrk 0 + os 2.2 +end + +# A 16Mb fixed disk SD Card Image. +diskdef MZ80A-SDC16M + seclen 512 + tracks 1024 + sectrk 32 + blocksize 8192 + maxdir 512 + skew 0 + boottrk 0 + os 2.2 +end + # Definition for the MZ800 CP/M Boot Disk. The reserved # track is in inverted data format but this is skipped in # CPM Tools. @@ -75,3 +98,1526 @@ diskdef MZ800-DATA boottrk 0 os 2.2 end + +diskdef hd0 + seclen 512 + tracks 512 + sectrk 32 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 1 + os 2.2 +end + +diskdef multcomphd0 + seclen 512 + tracks 512 + sectrk 32 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 1 + os 2.2 +end + +diskdef multcomphd1 + seclen 512 + tracks 1024 + sectrk 32 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 512 + os 2.2 +end + +diskdef multcomphd2 + seclen 512 + tracks 1536 + sectrk 32 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 1024 + os 2.2 +end + +diskdef multcomphd3 + seclen 512 + tracks 2048 + sectrk 32 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 1536 + os 2.2 +end + +diskdef multcomphd4 + seclen 512 + tracks 2560 + sectrk 32 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 2048 + os 2.2 +end + +# Z20-MBC DISK 0 (TWO RESERVED TRACK FOR CP/M) +diskdef z80mbc-d0 + seclen 128 + tracks 32 + sectrk 32 + blocksize 1024 + maxdir 64 + skew 0 + boottrk 2 + os 2.2 +end + +# Z20-MBC DISK 1 +diskdef z80mbc-d1 + seclen 128 + tracks 32 + sectrk 32 + blocksize 1024 + maxdir 64 + skew 0 + boottrk 0 + os 2.2 +end + +# Z20-MBC2 CP/M 2.2 DISK 0 ONLY (ONE RESERVED TRACK FOR CP/M 2.2) +diskdef z80mbc2-d0 + seclen 512 + tracks 512 + sectrk 32 + blocksize 4096 + maxdir 512 + skew 0 + boottrk 1 + os 2.2 +end + +# Z20-MBC2 CP/M 2.2 DISK 1-15 +diskdef z80mbc2-d1 + seclen 512 + tracks 512 + sectrk 32 + blocksize 4096 + maxdir 512 + skew 0 + boottrk 0 + os 2.2 +end + +# Z20-MBC2 CP/M 3 (DISK 0-15) +diskdef z80mbc2-cpm3 + seclen 512 + tracks 512 + sectrk 32 + blocksize 4096 + maxdir 512 + skew 0 + boottrk 1 + os 3 +end + +diskdef ibm-3740 + seclen 128 + tracks 77 + sectrk 26 + blocksize 1024 + maxdir 64 + skew 6 + boottrk 2 + os 2.2 +end + +diskdef 4mb-hd + seclen 128 + tracks 1024 + sectrk 32 + blocksize 2048 + maxdir 256 + skew 1 + boottrk 0 + os p2dos +end + +diskdef pcw + seclen 512 + tracks 40 + sectrk 9 + blocksize 1024 + maxdir 64 + skew 1 + boottrk 1 + os 3 + libdsk:format pcw180 +end + +diskdef pc1.2m + seclen 512 + tracks 80 + # this format uses 15 sectors per track, but 30 per cylinder + sectrk 30 + blocksize 4096 + maxdir 256 + skew 1 + boottrk 0 + os 3 +end + +# CP/M 86 on 1.44MB floppies +diskdef cpm86-144feat + seclen 512 + tracks 160 + sectrk 18 + blocksize 4096 + maxdir 256 + skew 1 + boottrk 2 + os 3 + libdsk:format ibm1440 +end + +# CP/M 86 on 720KB floppies +diskdef cpm86-720 + seclen 512 + tracks 160 + sectrk 9 + blocksize 2048 + maxdir 256 + skew 1 + boottrk 2 + os 3 +end + +diskdef cf2dd + seclen 512 + tracks 160 + sectrk 9 + blocksize 2048 + maxdir 256 + skew 1 + boottrk 1 + os 3 + libdsk:format pcw720 +end + +#amstrad: values are read from super block (special name hardcoded) + +# Royal alphatronic +# setfdprm /dev/fd1 dd ssize=256 cyl=40 sect=16 head=2 +diskdef alpha + seclen 256 + tracks 40 + sectrk 32 + blocksize 2048 + maxdir 128 + skew 1 + boottrk 2 + os 2.2 +end + +# Apple II CP/M skew o Apple II DOS 3.3 skew +diskdef apple-do + seclen 256 + tracks 35 + sectrk 16 + blocksize 1024 + maxdir 64 + skewtab 0,6,12,3,9,15,14,5,11,2,8,7,13,4,10,1 + boottrk 3 + os 2.2 +end + +# Apple II CP/M skew o Apple II PRODOS skew +diskdef apple-po + seclen 256 + tracks 35 + sectrk 16 + blocksize 1024 + maxdir 64 + skewtab 0,9,3,12,6,15,1,10,4,13,7,8,2,11,5,14 + boottrk 3 + os 2.2 +end + +# MYZ80 hard drive (only works with libdsk, because it has a 256-byte header) +diskdef myz80 + seclen 1024 + tracks 64 + sectrk 128 + blocksize 4096 + maxdir 1024 + skew 1 + boottrk 0 + os 3 + libdsk:format pcw720 +end + +# Despite being Amstrad formats, CPC System and CPC Data don't have an Amstrad +# superblock. You'll need to use libdsk to access them because the Linux +# and Windows kernel drivers won't touch them. +diskdef cpcsys + seclen 512 + tracks 40 + sectrk 9 + blocksize 1024 + maxdir 64 + skew 1 + boottrk 2 + os 3 + libdsk:format cpcsys +end +diskdef cpcdata + seclen 512 + tracks 40 + sectrk 9 + blocksize 1024 + maxdir 64 + skew 1 + boottrk 0 + os 3 + libdsk:format cpcdata +end + +# after being read in with no sector skew. +diskdef nigdos + seclen 512 + # NigDos double sided disk format, 42 tracks * 2 sides + tracks 84 + sectrk 10 + blocksize 2048 + maxdir 128 + skew 1 + boottrk 0 + # this format wastes half of the directory entry + logicalextents 1 + os 3 +end + +diskdef epsqx10 + seclen 512 + tracks 40 + sectrk 20 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 2 + os 2.2 +end + +diskdef ibm-8ss + seclen 512 + tracks 40 + sectrk 8 + blocksize 1024 + maxdir 64 + skew 0 + boottrk 1 + os 2.2 +end + +diskdef ibm-8ds + seclen 512 + tracks 40 + sectrk 8 + blocksize 1024 + maxdir 64 + skew 0 + boottrk 1 + os 2.2 +end + +diskdef electroglas + seclen 512 + tracks 80 + sectrk 10 + blocksize 2048 + maxdir 256 + skew 0 + boottrk 1 + os 3 +end + +# IBM CP/M-86 +# setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 head=1 +diskdef ibmpc-514ss + seclen 512 + tracks 40 + sectrk 8 + blocksize 1024 + maxdir 64 + skew 1 + boottrk 1 + os 2.2 + libdsk:format ibm160 +end + +# IBM CP/M-86 +# setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 +diskdef ibmpc-514ds + seclen 512 + tracks 80 + sectrk 8 + blocksize 2048 + maxdir 64 + skew 0 + boottrk 2 + os 2.2 + libdsk:format ibm320 +end + +diskdef p112 + seclen 512 + tracks 160 + sectrk 18 + blocksize 2048 + maxdir 256 + skew 1 + boottrk 2 + os 3 +end + +diskdef p112-old + seclen 512 + tracks 160 + sectrk 18 + blocksize 2048 + maxdir 128 + skew 1 + boottrk 1 + os 3 +end + +diskdef gide-cfa + seclen 512 + tracks 1000 + sectrk 16 + blocksize 4096 + maxdir 1024 + skew 0 + boottrk 2 + os 3 +end + +diskdef gide-cfb + seclen 512 + tracks 1000 + sectrk 16 + blocksize 4096 + maxdir 1024 + skew 0 + boottrk 0 +# Start of second partition + offset 1000trk + os 3 +end + +# AT&T/Olivetti Word Processor +diskdef attwp + seclen 256 + tracks 80 + sectrk 32 + blocksize 2048 + maxdir 128 + boottrk 1 + logicalextents 1 + skewtab 0,2,4,6,8,10,12,14,1,3,5,7,9,11,13,15,16,18,20,22,24,26,28,30,17,19,21,23,25,27,29,31 + os 2.2 +end + +# setfdprm /dev/fd0 zerobased SS DD ssize=512 cyl=40 sect=10 head=1 +# Kaypro II +diskdef kpii + seclen 512 + tracks 40 + sectrk 10 + blocksize 1024 + maxdir 64 + skew 0 + boottrk 1 + os 2.2 +end + +# setfdprm /dev/fd0 zerobased DS DD ssize=512 cyl=40 sect=10 head=2 +# Kayro IV +diskdef kpiv + seclen 512 + tracks 80 + sectrk 10 + blocksize 2048 + maxdir 64 + skew 0 + boottrk 1 + os 2.2 +end + +# setfdprm /dev/fd0 dd sect=10 +diskdef interak + seclen 512 + tracks 80 + sectrk 20 + blocksize 4096 + maxdir 256 + skew 1 + boottrk 2 + os 2.2 +end + +# Timex FDD3000 3" +diskdef fdd3000 + seclen 256 + tracks 40 + sectrk 16 + blocksize 1024 + maxdir 128 + boottrk 4 + os 2.2 + skew 7 +end + +# Timex FDD3000 3" +diskdef fdd3000_2 + seclen 256 + tracks 40 + sectrk 16 + blocksize 1024 + maxdir 128 + boottrk 2 + os 2.2 + skew 5 +end + +# Robotron 1715 +diskdef 1715 + seclen 1024 + tracks 40 + sectrk 5 + blocksize 1024 + maxdir 64 + skew 0 + boottrk 3 + os 2.2 +end + +# Robotron 1715 with SCP3 +diskdef 17153 + seclen 1024 + tracks 160 + sectrk 5 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 4 + os 3 +end + +#DDR +diskdef scp624 + seclen 256 + tracks 160 + sectrk 16 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 2 + os 2.2 +end + +diskdef scp640 + seclen 256 + tracks 160 + sectrk 16 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 0 + os 2.2 +end + +diskdef scp780 + seclen 1024 + tracks 160 + sectrk 5 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 2 + os 2.2 +end + +diskdef scp800 + seclen 1024 + tracks 160 + sectrk 5 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 0 + os 2.2 +end + +diskdef z9001 + seclen 1024 + tracks 160 + sectrk 5 + blocksize 2048 + maxdir 192 + skew 0 + boottrk 0 + os 2.2 +end + +# Visual Technology Visual 1050 computer +diskdef v1050 + seclen 512 + tracks 80 + sectrk 10 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 2 + os 3 +end + +# Microbee 40 track 5.25" disks +diskdef microbee40 + seclen 512 + tracks 80 + sectrk 10 + blocksize 2048 + maxdir 128 + skewtab 1,4,7,0,3,6,9,2,5,8 + boottrk 2 + os 2.2 +end + +diskdef dreamdisk40 + seclen 512 + tracks 80 + sectrk 10 + blocksize 2048 + maxdir 128 + skewtab 1,4,7,0,3,6,9,2,5,8 + boottrk 2 + os 2.2 +end + +diskdef dreamdisk80 + seclen 512 + tracks 160 + sectrk 10 + blocksize 2048 + maxdir 256 + skewtab 1,4,7,0,3,6,9,2,5,8 + boottrk 2 + os 2.2 +end + +diskdef rc759 + seclen 1024 + tracks 154 + sectrk 8 + blocksize 2048 + maxdir 512 + boottrk 4 + os 3 +end + +# ICL Comet: 40 track 5.25" Single Sided +# +diskdef icl-comet-525ss + seclen 512 + tracks 40 + sectrk 10 + blocksize 1024 + maxdir 64 + skewtab 0,3,6,9,2,5,8,1,4,7 + boottrk 2 + os 2.2 +end + +diskdef z80pack-hd + seclen 128 + tracks 255 + sectrk 128 + blocksize 2048 + maxdir 1024 + skew 0 + boottrk 0 + os 2.2 +end + +diskdef z80pack-hdb + seclen 128 + tracks 256 + sectrk 16384 + blocksize 16384 + maxdir 8192 + skew 0 + boottrk 0 + os 2.2 +end + +# Bondwell 12 and 14 disk images in IMD raw binary format +diskdef bw12 + seclen 256 + tracks 40 + sectrk 18 + blocksize 2048 + maxdir 64 + skew 1 + boottrk 2 + os 2.2 +end + +diskdef bw14 + seclen 256 + tracks 80 + sectrk 18 + blocksize 2048 + maxdir 64 + skew 1 + boottrk 2 + os 2.2 +end + +############################ +# north star cp/m disks +############################ + +#North Star floppy 360K + +diskdef nsfd + seclen 512 + tracks 70 + sectrk 10 + blocksize 2048 + maxdir 64 + skew 5 + boottrk 2 + os 2.2 +end + + +#North Star CP/M Virtual-Disk file on Hard Disk +# prepared with allocation factor = 4 +# as in "CR CPMB 4000 4" +# needs to be copied off hard drive before you can +# work on it with cpmtools + +diskdef nshd4 + seclen 512 + tracks 512 + sectrk 16 + blocksize 4096 + maxdir 256 + skew 0 + boottrk 0 + os 2.2 +end + + +#North Star CP/M Virtual-Disk file on Hard Disk +# prepared with allocation factor = 8 +# as in "CR CPMB 6000 8" +# needs to be copied off hard drive before you can +# work on it with cpmtools + +diskdef nshd8 + seclen 512 + tracks 1024 + sectrk 16 + blocksize 8192 + maxdir 256 + skew 0 + boottrk 0 + os 2.2 +end + +# Northstar Micro-Disk System MDS-A-D 175 +diskdef mdsad175 + seclen 512 + blocksize 1024 + tracks 35 + maxdir 64 + boottrk 2 + sectrk 10 + skew 5 + os 2.2 +end + + +# Northstar Micro-Disk System MDS-A-D 350 +diskdef mdsad350 + seclen 512 + blocksize 2048 + tracks 70 + maxdir 64 + boottrk 2 + sectrk 10 + skew 5 + os 2.2 +end + + +# Osborne 1 +diskdef osborne1 + seclen 1024 + tracks 40 + sectrk 5 + blocksize 1024 + maxdir 64 + boottrk 3 + os 2.2 +end + +# Osborne Nuevo/Vixen/4 +diskdef osborne4 + seclen 1024 + tracks 80 + sectrk 5 + blocksize 2048 + maxdir 128 + skew 2 + boottrk 2 + os 2.2 +end + +# Lobo Max-80 8" CP/M 2 +diskdef lobo2 + seclen 256 + tracks 77 + sectrk 30 + blocksize 2048 + maxdir 64 + skew 0 + boottrk 2 + os 2.2 +end + +#Lobo Max-80 8" CP/M 3 +diskdef lobo3 + seclen 512 + tracks 77 + sectrk 17 + blocksize 2048 + maxdir 64 + skew 0 + boottrk 2 + os 3 +end + +# PRO CP/M RZ50 DZ format (Perhaps only 79 tracks should be used?) +diskdef dec_pro + seclen 512 + tracks 80 + sectrk 10 + blocksize 2048 + maxdir 128 + skew 2 + boottrk 2 + os 2.2 +end + +# TDOS with DateStamper +diskdef tdos-ds + seclen 1024 + tracks 77 + sectrk 16 + blocksize 2048 + maxdir 256 + skew 0 + boottrk 1 + os zsys +end + +# The following entires are tested and working +# Most of the images are either from Don Maslin's archive or from +# Dave Dunfield's site, but not all - they are noted as well as +# their size. + +# PMC Micromate +# Dave Dunfield's Imagedisk information from DSK conversion from IMD: +# IMageDisk Utility 1.18 / Mar 07 2012 +# IMD 1.14: 10/03/2007 11:13:27 +# PMC-101 MicroMate +# CP/M Plus +# System Master +# Assuming 1:1 for Binary output +# 0/0 250 kbps DD 5x1024 +# 80 tracks(40/40), 400 sectors (12 Compressed) +# Entry derived from above - image size = 409,600, from Dave Dunfield +diskdef pmc101 + seclen 1024 + tracks 80 + sectrk 5 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 2 + os 3 +end + +# BEGIN td143ssdd8 Turbo Dos 1.43 - SSDD 8" - 512 x 16 +# Test OK - image size = 630,784, from Don Maslin's archive +diskdef td143ssdd8 + seclen 512 + tracks 77 + sectrk 9 + blocksize 1024 + maxdir 64 + skew 0 + boottrk 0 + os 2.2 +# DENSITY MFM ,LOW +end + +# BEGIN headsdd8 Heath H89, Magnolia CP/M - SSDD 8" - 512 x 16 +# Test OK - image size = 630,784, from Don Maslin's archive +diskdef heassdd8 + seclen 512 + tracks 77 + sectrk 16 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 2 + os 2.2 +# DENSITY MFM ,LOW +end + +# Morrow Designs Micro-Decision DOUBLE +# 64k CP/M Vers. 2.2 Rev.2.3 SIDED +# Copyright '76, '77, '78, '79, '80 +# Digital Research +# Copyright 1982,1983 Morrow Designs, Inc. +# Assuming 1:1 for Binary output +# 0/0 250 kbps DD 5x1024 +# 80 tracks(40/40), 400 sectors (128 Compressed) +# Entry derived from above data +# Test OK - image siae = 409600, from Dave Dunfield +diskdef mordsdd + seclen 1024 + tracks 80 + sectrk 5 + blocksize 2048 + maxdir 128 + skew 3 + boottrk 2 + OS 2.2 +end + + +# BEGIN morsddd Morrow MD2 - SSDD 48 tpi 5.25" - 1024 x 5 +# Test OK - image size = 204,800, from Don Maslin's archive +# Also tested with image from Dave Dunfield +diskdef morsddd + seclen 1024 + tracks 40 + sectrk 5 + blocksize 2048 + maxdir 128 + skew 3 + boottrk 2 + os 2.2 +# DENSITY MFM ,LOW +# BSH 4 BLM 15 EXM 1 DSM 94 DRM 127 AL0 0C0H AL1 0 OFS 2 +end + +# BEGIN osb1sssd Osborne 1 - SSSD 48 tpi 5.25" - 256 x 10 +# Test OK - image size = 102,400, from Don Maslin's archive +diskdef osb1sssd + seclen 256 + tracks 40 + sectrk 10 + blocksize 2048 + maxdir 64 + skew 2 + boottrk 3 + os 2.2 +# DENSITY MFM ,LOW +# BSH 4 BLM 15 EXM 1 DSM 45 DRM 63 AL0 080H AL1 0 OFS 3 +end + +# BEGIN ampdsdd Ampro - DSDD 48 tpi 5.25" - 512 x 10 +# Test OK - image size = 409,600, from Don Maslin's archive +diskdef ampdsdd + seclen 1024 + tracks 80 + sectrk 5 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 2 + os 2.2 + libdsk:format ampro400d +# DENSITY MFM ,LOW +# BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2 +end + +# BEGIN ampdsdd80 Ampro - DSDD 96 tpi 5.25" - 512 x 10 +# Test OK - image size = 819,200, from Don Maslin's archive +diskdef ampdsdd80 + seclen 1024 + tracks 160 + sectrk 5 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 2 + os 2.2 + libdsk:format ampro800 +# DENSITY MFM ,LOW +# BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2 +end + +# BEGIN altdsdd Altos - DSDD 5" - 512 x 9 +# Test OK - both CP/M and MP/M - image size = 737,280, from Dave Dunfield +diskdef altdsdd + seclen 512 + tracks 160 + sectrk 9 + blocksize 4096 + maxdir 177 + skew 0 + boottrk 2 + os 3 +# DENSITY MFM ,HIGH +# BSH 5 BLM 31 EXM 3 DSM 176 DRM 176 AL0 0C0H AL1 0 OFS 2 +end + +# BEGIN trsomsssd TRS-80 Model 1, Omikron CP/M - SSSD 48 tpi 5.25" - 128 x 18 +# Test OK - image size = 80,640, from TRS-80 Yahoo Group posting +diskdef trsomsssd + seclen 128 + tracks 35 + sectrk 18 + blocksize 1024 + maxdir 64 + skew 4 + boottrk 3 + os 2.2 +# DENSITY FM ,LOW +# BSH 3 BLM 7 EXM 0 DSM 71 DRM 63 AL0 0C0H AL1 0 OFS 3 +end + +# Memotech type 03, ie: 3.5" or 5.25", D/S, D/D, S/T +# 40 tracks, 2 sides, 16 sectors/track, 256 bytes/sector +# Bytes on the media = 2*40*16*256 = 327680 +# CP/M sees 26 128 byte records per track (similar to 8" disks). +# Tracks = 327680/(26*128) = 98 +# Data is in 2048 byte blocks, on track 2 onwards +# Blocks = ((98-2)*26*128)/2048 = 156, which agrees with DPB + +diskdef memotech-type03 + seclen 128 + tracks 98 + sectrk 26 + blocksize 2048 + maxdir 64 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 07, ie: 3.5" or 5.25", D/S, D/D, D/T +# 80 tracks, 2 sides, 16 sectors/track, 256 bytes/sector +# Bytes on the media = 2*80*16*256 = 655360 +# CP/M sees 26 128 byte records per track (similar to 8" disks). +# Tracks = 655360/(26*128) = 196 +# Data is in 2048 byte blocks, on track 2 onwards +# Blocks = ((196-2)*26*128)/2048 = 315, which agrees with DPB + +diskdef memotech-type07 + seclen 128 + tracks 196 + sectrk 26 + blocksize 2048 + maxdir 128 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 43, ie: 1MB Silicon Disc +# CP/M sees 26 128 byte records per track +# Note: Unlike common practice with real physical disks, with real geometry, +# the DPB for Silicon Discs includes blocks on the last incomplete track +# Tracks = 1048576/(26*128) = 315.07 +# Data is in 4096 byte blocks, on track 2 onwards +# Blocks = (1048576-2*26*128)/4096 = 254, which agrees with DPB +# Blocks = ((315-2)*26*128)/4096 = 254, so we don't need the 0.07 track +diskdef memotech-type43 + seclen 128 + tracks 315 + sectrk 26 + blocksize 4096 + maxdir 256 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 47, ie: 2MB Silicon Disc +# CP/M sees 26 128 byte records per track +# Note: Unlike common practice with real physical disks, with real geometry, +# the DPB for Silicon Discs includes blocks on the last incomplete track +# Tracks = 2097152/(26*128) = 630.15 +# Data is in 4096 byte blocks, on track 2 onwards +# Blocks = (2097152-2*26*128)/4096 = 510, which agrees with DPB +# Blocks = ((630-2)*26*128)/4096 = 510, so we don't need the 0.15 track +diskdef memotech-type47 + seclen 128 + tracks 630 + sectrk 26 + blocksize 4096 + maxdir 256 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 4B, ie: 4MB Silicon Disc +# CP/M sees 26 128 byte records per track +# Note: Unlike common practice with real physical disks, with real geometry, +# the DPB for Silicon Discs includes blocks on the last incomplete track +# Tracks = 4194304/(26*128) = 1260.3 +# Data is in 4096 byte blocks, on track 2 onwards +# Blocks = (4194304-2*26*128)/4096 = 1022, which agrees with DPB +# Blocks = ((1260-2)*26*128)/4096 = 1022, so we don't need the 0.3 track +diskdef memotech-type4B + seclen 128 + tracks 1260 + sectrk 26 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 4F, ie: 8MB Silicon Disc +# CP/M sees 26 128 byte records per track +# Note: Unlike common practice with real physical disks, with real geometry, +# the DPB for Silicon Discs includes blocks on the last incomplete track +# Tracks = 8388608/(26*128) = 2520.61 +# Data is in 4096 byte blocks, on track 2 onwards +# Blocks = (8388608-2*26*128)/4096 = 2046, which agrees with DPB +# Blocks = ((2520-2)*26*128)/4096 = 2045, so we need the extra 0.61 track +diskdef memotech-type4F + seclen 128 + tracks 2521 + sectrk 26 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 18, ie: 8MB SD Card +# CP/M sees 26 128 byte records per track +# Note: Unlike common practice with real physical disks, with real geometry, +# the DPB for SD Cards includes blocks on the last incomplete track +# Tracks = 8388608/(26*128) = 2520.61 +# Data is in 4096 byte blocks, on track 2 onwards +# Blocks = (8388608-2*26*128)/4096 = 2046, which agrees with DPB +# Blocks = ((2520-2)*26*128)/4096 = 2045, so we need the extra 0.61 track +diskdef memotech-type18 + seclen 128 + tracks 2521 + sectrk 26 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 19, ie: 8MB SD Card +diskdef memotech-type19 + seclen 128 + tracks 2521 + sectrk 26 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 2 + os 2.2 + offset 8M +end + +# Memotech type 1A, ie: 8MB SD Card +diskdef memotech-type1A + seclen 128 + tracks 2521 + sectrk 26 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 2 + os 2.2 + offset 16M +end + +# Memotech type 1B, ie: 8MB SD Card +diskdef memotech-type1B + seclen 128 + tracks 2521 + sectrk 26 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 2 + os 2.2 + offset 24M +end + +# Memotech type 1C, ie: 8MB SD Card +diskdef memotech-type1C + seclen 128 + tracks 2521 + sectrk 26 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 2 + os 2.2 + offset 32M +end + +# Memotech type 1D, ie: 8MB SD Card +diskdef memotech-type1D + seclen 128 + tracks 2521 + sectrk 26 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 2 + os 2.2 + offset 40M +end + +# Memotech type 1E, ie: 8MB SD Card +diskdef memotech-type1E + seclen 128 + tracks 2521 + sectrk 26 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 2 + os 2.2 + offset 48M +end + +# Memotech type 1F, ie: 8MB SD Card +diskdef memotech-type1F + seclen 128 + tracks 2521 + sectrk 26 + blocksize 4096 + maxdir 512 + skew 1 + boottrk 2 + os 2.2 + offset 56M +end + +# Memotech type 50, ie: 256KB RAM Disc +# CP/M sees 26 128 byte records per track +# Note: Unlike common practice with real physical disks, with real geometry, +# the DPB for RAM Discs includes blocks on the last incomplete track +# Tracks = 262144/(26*128) = 78.76 +# Data is in 1024 byte blocks, on track 2 onwards +# Blocks = (262144-2*26*128)/1024 = 249, which agrees with DPB +# Blocks = ((78-2)*26*128)/1024 = 247, so we need the extra 0.76 track +diskdef memotech-type50 + seclen 128 + tracks 79 + sectrk 26 + blocksize 1024 + maxdir 64 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 51, ie: 512KB RAM Disc +# CP/M sees 26 128 byte records per track +# Note: Unlike common practice with real physical disks, with real geometry, +# the DPB for RAM Discs includes blocks on the last incomplete track +# Tracks = 524288/(26*128) = 157.53 +# Data is in 2048 byte blocks, on track 2 onwards +# Blocks = (524288-2*26*128)/2048 = 252, which agrees with DPB +# Blocks = ((157-2)*26*128)/2048 = 251, so we need the extra 0.53 track +diskdef memotech-type51 + seclen 128 + tracks 158 + sectrk 26 + blocksize 2048 + maxdir 128 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 51, as used in Italy, ie: 480KB RAM Disc +# CP/M sees 26 128 byte records per track +# Note: Unlike common practice with real physical disks, with real geometry, +# the DPB for RAM Discs includes blocks on the last incomplete track +# Tracks = 491520/(26*128) = 147.69 +# Data is in 2048 byte blocks, on track 2 onwards +# Blocks = (491520-2*26*128)/2048 = 236, which agrees with DPB +# Blocks = ((147-2)*26*128)/2048 = 235, so we need the extra 0.69 track +diskdef memotech-type51-italy + seclen 128 + tracks 148 + sectrk 26 + blocksize 2048 + maxdir 128 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 51, after S2R64.COM, ie: 448KB RAM Disc +# CP/M sees 26 128 byte records per track +# Note: Unlike common practice with real physical disks, with real geometry, +# the DPB for RAM Discs includes blocks on the last incomplete track +# Tracks = 458752/(26*128) = 137.84 +# Data is in 2048 byte blocks, on track 2 onwards +# Blocks = (458752-2*26*128)/2048 = 220, which agrees with DPB, after S2R64.COM +# Blocks = ((137-2)*26*128)/2048 = 219, so we need the extra 0.84 track +diskdef memotech-type51-s2r64 + seclen 128 + tracks 138 + sectrk 26 + blocksize 2048 + maxdir 128 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 51, after S2R.COM, ie: 144KB RAM Disc +# CP/M sees 26 128 byte records per track +# Note: Unlike common practice with real physical disks, with real geometry, +# the DPB for RAM Discs includes blocks on the last incomplete track +# Tracks = 147456/(26*128) = 44.3 +# Data is in 2048 byte blocks, on track 2 onwards +# Blocks = (147456-2*26*128)/2048 = 68, which agrees with DPB, after S2R.COM +# Blocks = ((44-2)*26*128)/2048 = 68, so we don't need the extra 0.3 track +diskdef memotech-type51-s2r + seclen 128 + tracks 44 + sectrk 26 + blocksize 2048 + maxdir 128 + skew 1 + boottrk 2 + os 2.2 +end + +# Memotech type 52, ie: 320KB RAM Disc +# Added for REMEMOTECH +# CP/M sees 26 128 byte records per track +# Note: Unlike common practice with real physical disks, with real geometry, +# the DPB for RAM Discs includes blocks on the last incomplete track +# Tracks = 327680/(26*128) = 98.46 +# Data is in 2048 byte blocks, on track 2 onwards +# Blocks = (327680-2*26*128)/2048 = 156 +# Blocks = ((98-2)*26*128)/2048 = 156, so we don't need the extra 0.46 track +# This type very deliberately and conveniently exactly matches type 03 +diskdef memotech-type52 + seclen 128 + tracks 98 + sectrk 26 + blocksize 2048 + maxdir 64 + skew 1 + boottrk 2 + os 2.2 +end + +# Research Machines 380Z/480Z 5.25" "Single Density" or "MDS" format. +# All tracks are formatted FM 16x128. +diskdef rm-sd + seclen 128 + tracks 40 + sectrk 16 + blocksize 1024 + maxdir 64 + skew 3 + boottrk 3 + os 2.2 +end + +# Research Machines 380Z/480Z 5.25" "Double Density" or "MD" format. +# Track 0 is formatted FM 16x128; 1+ are MFM 9x512. +# If you're working with an image file, make sure that track 0 is +# padded to be the same size as the other tracks. +diskdef rm-dd + seclen 512 + tracks 40 + sectrk 9 + blocksize 1024 + maxdir 64 + skew 5 + boottrk 3 + os 2.2 +end + +# Research Machines 380Z/480Z 5.25" "Quad Density" or "MQ" format. +# Track 0 is formatted FM 16x128; 1+ are MFM 9x512. +diskdef rm-qd + seclen 512 + tracks 80 + sectrk 9 + blocksize 2048 + maxdir 128 + skew 5 + boottrk 3 + os 2.2 +end + +# Ampro Little Board Z80 running CP/M 2.21 +# BEGIN AMP1 Ampro - SSDD 48 tpi 5.25" +# DENSITY MFM, LOW +# CYLINDERS 40 SIDES 1 SECTORS 10,512 SKEW 2 +# SIDE1 0 1,2,3,4,5,6,7,8,9,10 +# BSH 4 BLM 15 EXM 1 DSM 94 DRM 63 AL0 080H AL1 0 OFS 2 +# END + +diskdef amp1 + seclen 512 #= Sectors xx,512 + tracks 40 #= (Cylinders * Sides) = 40*1 = 40 + sectrk 10 #= Sectors 10,xxx + blocksize 2048 #= (128*(BLM+1)) = 2048 + maxdir 64 #(DRM+1) = 64 + skew 0 #= SKEW = 0 + boottrk 2 #= OFS = 2 + os 2.2 +end + +#BEGIN AMP2 Ampro - DSDD 48 tpi 5.25" +#DENSITY MFM, LOW +#CYLINDERS 40 SIDES 2 +#SECTORS 10,512 +#SKEW 2 +#SIDE1 0 17,18,19,20,21,22,23,24,25,26 +#SIDE2 1 17,18,19,20,21,22,23,24,25,26 +#ORDER SIDES +#BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2 +#END + +# setfdprm /dev/fd0 DS DD ssize=512 cyl=40 sect=10 head=2 +diskdef amp2 + seclen 512 + tracks 80 + sectrk 10 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 2 + os 2.2 +end + +#BEGIN AMP3 Ampro - SSDD 96 tpi 3.5" +#DENSITY MFM, LOW +#CYLINDERS 80 SIDES 1 SECTORS 5,1024 SKEW 2 +#SIDE1 0 1,2,3,4,5 +#BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2 +#END + +# setfdprm /dev/fd0 SS DD ssize=1024 cyl=80 sect=5 head=1 +diskdef amp3 + seclen 1024 + tracks 80 + sectrk 5 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 2 + os 2.2 +end + +#BEGIN AMP4 Ampro - DSDD 96 tpi 3.5" +#DENSITY MFM, LOW +#CYLINDERS 80 SIDES 2 SECTORS 5,1024 SKEW 2 +#SIDE1 0 17,18,19,20,21 +#SIDE2 1 17,18,19,20,21 +#ORDER SIDES +#BSH 4 BLM 15 EXM 0 DSM 394 DRM 255 AL0 0F0H AL1 0 OFS 2 +#END + +# setfdprm /dev/fd0 DS DD ssize=1024 cyl=80 sect=5 head=2 +diskdef amp4 + seclen 1024 + tracks 160 + sectrk 5 + blocksize 2048 + maxdir 256 + skew 0 + boottrk 2 + os 2.2 +end + +#BEGIN AMP5 Ampro - SSDD 3.5" +#DENSITY MFM, LOW +#CYLINDERS 80 SIDES 1 SECTORS 5,1024 SKEW 2 +#SIDE1 0 1,2,3,4,5 +#BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2 +#END + +# setfdprm /dev/fd0 SS DD ssize=1024 cyl=80 sect=5 head=1 +diskdef amp5 + seclen 1024 + tracks 80 + sectrk 5 + blocksize 2048 + maxdir 128 + skew 0 + boottrk 2 + os 2.2 +end + +#BEGIN AMP6 Ampro - DSDD 3.5" +#DENSITY MFM, LOW +#CYLINDERS 80 SIDES 2 SECTORS 5,1024 SKEW 2 +#SIDE1 0 17,18,19,20,21 +#SIDE2 1 17,18,19,20,21 +#ORDER SIDES +#BSH 4 BLM 15 EXM 0 DSM 394 DRM 255 AL0 0F0H AL1 0 OFS 2 +#END + +# setfdprm /dev/fd0 DS DD ssize=1024 cyl=80 sect=5 head=2 +diskdef amp6 + seclen 1024 + tracks 160 + sectrk 5 + blocksize 2048 + maxdir 256 + skew 0 + boottrk 2 + os 2.2 +end + +diskdef ampro800 + seclen 1024 + tracks 160 + sectrk 5 + blocksize 2048 + maxdir 256 + skew 0 + boottrk 2 + os 2.2 +end diff --git a/software/roms/MROM_256.bin b/software/roms/MROM_256.bin index b7ccdfad3f25a205ff06d55417be901f65a7b42b..2bb70cfb635c6dc395c1a69850b7e0912b766df2 100644 GIT binary patch delta 101907 zcmce<31AdO_CMZ}i*q28a7@D0Jp;@zkdO=zaD;&zlLK-&lY}E&DgqNxgYF7=(Cm8c zuCBWhm$0jd2(s((U2yrXlU*YM4MG}P2#Bz-D6E11%DM>2YDTQ}R2PG+gXWb~iq=zrH@ytYTYNNmNSmlGAb&vA@6ZopNDs$0W0@rBS z8oO!g-Og@HU*o?QIL^X7ubwEIw)y)g$~J#rfjg><+wG6@&TmXe^nG_W@shuj_sUss zYTZ8^1H`$Fe!usYM*j+LHu<{pf%4Ke<@7e&>wA@Vnw0u&{wvax0TyIqH?1F z-0ObMTl>0j?sdoF*GY{scZMaAYt6mqbxSY&{PcCpZ}+!~xl3O6J=7Sz;*M3W?DRcC zj=EZ&-`@&20ia%iyPt(;^{QFD&04XFG1WcH!Z8esg;L&Tz-XPa_;umEzeieg#>Lpr z`f6YIKGt|b2<$=?8`p4V+~Kr<{^}k2T)q zi{sApd~;l9@_UYS#enTf-|fD-#>hVBc7MD#_9RNmE=k<;U%@;;y>-gZ8kOFA{9U}! zvyw|{z2}pyC|IU^u&wp}PqsFx=gMyL>2`Wrw^YawDD|kt-6tC3?!3%ClvX2RPIZ61 z%-&ZSR@Wp1EFaeObma8jzf*XjQTesJWB*Ry>PBHh<5nEi&36p+eAqY~OJ$D+oJB+s3VPRE^%5B!zy ziZilHclzuy}jAZ z_v*eZ+Id`T4=!$Ll;dSkczaTG+ql2e0260VBqX=JR;E$jbiv<+1fBCuyACfqv+XVl z|0`nAvNIFQI#Hgses%A=Qu?Jeo^Guk+2~1Ygt@lnWO#67A3`zelH60;f*7S&cdL7t zFl_soiF`uql!qGaajjDx0nKewDTBYL4C>anOM0PIr)__36joS3SfdzqkDs_zZN%%} zSnQVV#I#tHWCBaC$hHal?D4iK`|Mn5WKS{zj{RFDeme@3Zri18b&H1$8S!hG@8bJ? zqp+rNtJ~#!t}(Ln&$91#jov>rdR8?$o@qpxcTJ=3k0|(k-Hu`DmY>v}A2wtXkX~$T zY7tg7rf%Jq>`dL-wCgmyFlv#v?uo|8N1Bw8+fQxRfszd1i6&(X0s1ZW@3%}CksBMC zbTsB(OWlf*NvUx?xwYIxZUvXfaa`gGuI;?;)sY)!-x-r|ML3_R+!v!P0|Mvkn+T`z z^-1(zK5PFc$4UR_Xwl;PAR6Bjn~1|DY7Y1PS?Y7d-)B1K)^*NwyN}24u?{}5 zIiY(;6m{$TOI>+p@0&7D5%cVyNX+x$n5)h6b&bKFD1$gVcL7Zw3*pW;Y2n9em;8h(dhjL-s78;Kh@3k=8gPQ zOmrG=NluLpbB~V-|h|9=NW}w7h}f6`^&RKq59H`F@4!# zq~>BwfcC>eW|ZsQw|>p2FrqcQ7KswtKg>= zRTP$0R`B^{L4j+M5|ZkK6~*$1a^EY|9)n5J$iA$<$9x3#d;Mc_26S!B33%CQEi|fmE z;krjgeH`;mjKx{+`7CBjY&;iJfAX`KX@m0I{i6kPS>I?#uIL-hkz)sfWZS2Hsw>u) zuy0aIbl#pweM?M%MLd0Ym$2SukI$~GDC2DN?Mh+Nga0c(WJemYA<18+O!7*bGYLjQ zFi=`q!r6YIqP%4H@oz+%+h>=!)dVH3tT>Oe zHM3%;JU7MjM2ho)=xRAOX?fJjf9+fzy~2Otc#^=gI4PFschWFrOBdyxZc+Z6{Q_-| zGC0+0&EMFtlK;cHXSpVBd-JLDw5|1@TH@1Uuheghq5{A~JZ`mut_ ziu6}jJiH?P#arP5qar`^#=jHOWAt0=-kMo4rgC~Ex+^>K^Mv^7n0Tt^$iF(r-xAaL z)1k^>?%1b8>x;X^3yG0+&u-jY&+8pi|6sRxN6zY%YhN;fl{9W#&$fn^y@Ym7;Nz9@ zlqOCB#Ydcqix4F!L>0dJQ^ENDmdyHSxA@|u=bnSyCVKTVyT{w7CvZ@#^7mNOO5-@s zlj`wE9IqnBhm|gzKLNduqSopsQd)yb&m~SMr-9>74zS1Q=Si zZtY9_$}P{WdXtmx985qt>z?I_s~XRPfr`ptsS#3HI<}&ySc5P!kylo(dAT97ozxY@}@A~B_@dfTwWgy4LG&k8_D`psN z-*-R?BZ};>c@0H9yeJ};gy72Iu(f)uHwAR1aytp};=rV0 zwPX2JkqG~XjrA&zI|sw35|TdZq)UY;()wD9vMp8lrPuL%CJs`gBX->4O;$lKWct=+ zBCqZ4d!GEn`{#L|&-ATlpcfdZtM`S>CQQ0gqZ!9;@kV`p4&LI$@zJR7fHE#MfqO5b ztV^=J6|u)3S=cW=#X`s9*PCN4uk|f}$v^uhkDo0t#tl~M+PodZcMMmD`q+dCaS?G= zT!k(2uLbeXb&8x@5T6(qTe7+=a%w^RXE9=H8F$6}4{|tOsTC}oV^givyPTYEsuf~6 z$Cg^*is*>c6383$`>k35sg*>Jchf3+4W$gSzgCFn9EWJ>ky_9G+QY*w@tm!`R+%-T zxkVIi<67=<-mSwQVsP+K!L8MYYFnoqsqNy}U%RO_cx+a=JgZ#j!}%@B3u!{e!4^R# zsO(4R!6~cLJX>lHx1a$nz;9O8q$$VJV8xuWFHOMwbafhtGiYe77+JHD6A~!YLZF_v zYW-c5PtpXqi~+N7V_Ik}#qDOmeMQBk^a$0}gxAiUeA|C8#z#MArwqgaSKPI8_s(Pd z=R3*&U9EiU7d)?lcDH`9YZt$JcPqc^^PL3w^JBYTZ&YzV|AOBQG8zcSK-#^VZ{4-? z7^gOKklIYX1ffK0r4HozahxD_qRlY?XLCYlGi>ynpS_*MsR}V*{=f-cDJE2_D%r~k zRuhOSZ38FtG(pq(34CS-C)hZVC|Rq29^f$mCsSmHN_7H{A(IpAhgyVp(9?p2V-|Fm zYAH$7Qgm>&3hu?gG3~IeX0X@}J+>WscZRNkHSA;tj_Vj(18dl-DDfR&i_W{@9;`tc zdT&PjtL7GAKMsYjwSx=VL4R01E&50`f6p7WHjdlWI^*J7A^CVndMm_yAeQ-nTJ}CI zdq1S?zC-9sb!-v!t|K-{KIgwZ&ldzLc%;>N(|LiOvl2wgO&Xga74nb@sjNakn1F|8 z{M2!rdiV##!&|G5!(~6vU3P4RJhnpPs4{ft4&y_sUKH1@S;d!cT(fZ{@19axgoMb& zvf|2$Krl4Sz;RWDythJH)t=72eSG-*VYcVrCOyh?V8%>Y{dVV_C1$~q@zv3JX$56 zsFEJ7Vr5yTvKOl4%~iCZr7;o#K>OQqf_+@SnxU4;DUMVTxC4}uE*?my zkdcr9^jdCC*)zO3rFr>X;!qAX4wy8QJ5Bz6DxASskBrrx4{K?oG;&Z91%FJz9k~Z6 zJzYsCT~jWRCIcM^2Ft#pnfRqzW&nao%onH0Yo|#sf;gx2z?hDvdp@p3bKPhXWMxfk zK`~C&Au7~*(>7^$VP zMDUUmYj^Rrz9`# zf+CXq+&f*qcRH;JqrR$QUs|yrtJoJ6`{@-oO_w)Kr=d9(@J@iUY)Y)0E>})RbD%;D zB3d(%-a%BBx(%XKos0Dp4a%bZuBCEJc}mI%rT++GAUdLEAQ~d`DifmET0IB?Idy^J zX2@|fJP}9&Wg5fquV%=sMJ-tDnFwpih2RAcd?K}$=d0!Ct7)f? z1^h<6K|igQe_BngYov&RQ7B;Mb!)YJYc(?lqGm8a>OO@sC?ntIFanN70Q%L~=sRc1 zV`oZt&eW^1-bYikY6KvTXui7Mqof{f&lHGPrniTiDRVQKqZ?^Z5-DwT_5Or4Ymv?o zA_@Y)JlY)>XUZdINyiB{6q<*-Z)eI+%#yxU%i>I3nmkMXbe5Dni`9!am5rPw=g*c# z&H^u8Kg3~>8q@fxfr+`I{Vf8^4?Us9L_Agn(;&od^tJ&&X|Q<_iK$vns@k(~-Bgtl z*J|j*W3}-QkapCy9JU>G4XnDFQFN_Hr)~hWBd%qC_DX zGj-;H>836zo+H0CTPmKzJg_VCKoake|IoOOfX5;M_-f{S!_3adf^-7sm_w0n zUCe?vb*4Em)?0O7N}MAn&Y{jX74T}^`C4YnEwfc0Gv*&G3+Q4JyMB)RlQ~lT9HS4> z#tvkbWJCH-3_|+Agu+M-GLiZK8ko}#52Voku8fvTrNu^pt)|LzZk8|2kuJ@_Xy#b3 z7>O%x^>>uZ95OmI!opYsOb0HL26<``go!hCh?xGqck*sax5)pYk3l=->p%_cp z&~*7Jb3K9EFFge~G zx611mNO!c+)th40=8k#t?{1ZTcPqLclS9?)U%plDG*5c@){gp}vc+&MVu9>OEuh0D zzc`Oje{tS5si*uql*Nv;dGkE^^V_7G=b2h_F9qH^PggNiL1Q629!aP4`E4e2hzA-k zc7(2`sk8>xKXiQ^nJ16FO*+zHi#k%0rbDVioM^d5hw6IsHbVT(+uEs1q~38&>Qsk6 zM*7LyNK>CQw|_kauD|Unb+PqUO7$PcA z^?Z=Y-?B+;n?XFjK)z{#^mtoUgP!%OI?TuvH66E*nqc;P^-=25eECvadlA5C zi`oVPGXK$O{>VT;?3yO9`#CH>=`Cc{RTcMMDEC_^^;?LgTHv%Z_6}@aUH@QxsX0&! zR;@7WCWBlZT2rqNa+`0KH{VQ&8Z#p3^7@M$G+>*jWQ_~Sl&o=~`2UlddGgmKOeTL_ z!qS%&WTOQ0CS-`OP&3)2&O6Lg3tw2iKP>se9+A#F%yWyXu>5dXstR{Bx41hj|2iz) z9TxTy{YrIV?0%>R`?Ldv94OmJ{nqMNpukN~Ae#{m49f$L7SMQtG>y+%&2QP&~JL@1Y} zKWcKPQovTz87jK3pV!xQOcUIN%@Xdfc-}-m{4DMf^2P491&A(@l%ysyn2rJM_sS$?Ex1 zM++76EVIBCP(G_uzViI^`&C+z>=|vngA{Hh6|svUC6ufC zhZq&tq>(*7y1Q4~(T8rT>KN(Tr&c>iuWg4>n~s0A`nO0<%_!$tWr{+{)ShpL0VpBC zKJ2JH1}UYCC@Xqw=Au#%RVqxTb||FGNCanQ4B8N2z_17&A!5ehHS+0(BO?tljnvWV z>IX)YG_9pNEh1Js485jCtvv>`%2YjvbphHdDR!VSMbMIFVi`Fl!Ws5Cpl-ob3+_mA+oAxv_OLgjh2;k!3h^rObfM zGcaAzGJrD}m@Y*bz>^p_0klOU&vFLu)Q;y|2JYMrT+6`Ps%xVvIH9T%E$}uYzLWJU znwDuxg&HOysPSj0aT=<&5~!gX+S?9OTg1~a4Q*wZF&a&6K~BS@;)qNwK&2vTjY$Zz zUSM-K)(gl)H8Aoavf-vl*$%9Uq=B)dORzQm8kqL5c(>m3U#JRH_wKcx*T7iA)pl8lR1tgJ89XoS_eC7sW*#XyPF~1>XVQ9q?JB0=kSn9Xx-4TaSD6UCl9(&^54jWquh*I5lSGOP)=$~GgKtX$b>{% z(5@KkJGyFxQqn?q*fBKBI%f~3EXr)rRtFxqQGVb?>3K#Sl2RG9+ASUrleYzHvMu*C z31<%3K0ZWL+#sAeZu|H+J#10}H$dS^XcYOLHcI)OI4YD|77X|}Ph!{~udD-TR0gNw z^kO)p3US>FFp`WIxEQUC%BcLxK(TKZZ~9aOO3HmE$ZkT|F(NFuI7d3|?Fr6+-pi|k3i-2f!TPS*^~+L6pa}a?x%830xv8p!&Dh55eh#*%#JA8 zkNT7J`jH88WCF>qzsz*xpqkcmd6ZB-g%pN8Ibp|S3Mp1ScLX)W7EfXO&_Ukm?Od38aGhVS^GhX+3J{FGyU8!V=a(+~ zneS@iG50k2A8}$ynAj1X(M_ovw@0JWo4j4~=A1B9ZXVj4uPgV;1o_GY0sCvpQ(b7cD9@PKMCX=4GK`R=l^~(ZSrDPrrIkJ2Cgt;q ztRu`)~smiJ+tCg^1(|J`&j=;ZG>L zdm#o1Hgns2R!gH;fIwL+mjeG|zV{O_zgK6Tk}aoX3kNzmriFz>iz5hPWN+;5w!S2h zlH@0Z@6s?XNp;*u`92U9uIvZu(l8vn9X`q17$Ln>R0nsBoYG?ws^90iC27x?nj~#fl&60x%YdaV|$=SLnL`eUAM593}BKPpy_ae4HbHoFm;n zMH)~DgHBTCp$I8rM>qb&0N;j&72$zP6Q)$JiY8g@*L)im)@;!Od19_}3q*wDi zKi9PKYM%ULp7bQCrpCDEDWT_8WYXx`Ff}*N!^k!q;@x4`JN)J6cw|411nLH25u|!AeAfCu!*0mM?G1 zrw%}(t-%2>`WRD3i10MwOM)2SY_R|X8C>NaI?{OwzY$^2+^}O6Ww)9PNVvXm75J^z zqtD0!d1Qg-7Gjc*5|g|oOi#egXp-9sH;9rmi&kK9V32x^w3cI;bo>M5zp#;%~?Yn%w-q!hHm;$QzXkY!g zLg~3eT;fK|0aC#n(BOIK|2A5Lv9=b$Qh42y-!GKEEtI}3WcJDOJaFM+AaO7ZYht>H zHE~TYl9P+1{zZa?4BWr?K@enD3bb4R>wQs zr9xAVoU+o&5N?Pg4gDmR)bw+hyI~Henc+N|utGSv09uR81ZMsRdi*T0J5}frA`Jcy zFu-SZ1AL)Kexaxxzqa*ItRKUfNcw|&38oQ_ZL>xuk2!Ysnk@HOAoZF|#?z-Y(;6{Z z9yVDTFmv-Hl$k5l*w}8WNFG|rQ1waY`!S6X0p6svQ#r!slA02o3;MS$?~I< zrC+uc$C*0iPm|>rCrf{VL<=CjetioK6&<%rz&%J`WMAM>o;n4_dHbmg0A9oljU=hS!an!rvA>KB2StkO`3v2EEK_|iH?o)?zW_4 zK#@G42uX>+#gl}LbuzNu4fJ>;{dR}3yyo~5J$@Ndl0a!rti((bp~#F%TjHXIPsqI* zCL5A}rj<8`J+H!2{)}d9Ml)Wep|N?2+&qQN1F+mkB8zHOZlL}Ns4oN6O;LY0MgH9s znq+SPe50<3hr}uJLsQiFh#(EMVygNV%JY9!fuYtG;kOou3Ckl1tg34jND~oC`Y#~; zzdGr>VmYtaGlK;NCf$rM&Q%-xvRM98vGgagn9Oit&YEi#2l6Yh)-fYYJ&Ft*kcoTH z@j8{Mfz4)K2d4&|(~)BNNU^kZQb+ow>cs{fOVmMXw#D&xN~$r8Nw^|na=kSyj8H8s zfmj%J#5#?xBs*XU0MU8e%)OQ^@5Bwj5 zVP+t#S~hG3fpG_waVN8EVXXyR-I{q*8>jrRIz`y3D_G1yU`PhmsMT7%1M1qT+rrKg zd1nb!O4b#EB8{CS3I98g8g-pIN@Pa~vx}?Ntp0Boh2G*wO`p`2tT&;BZJvKotdLdc9f~iuw?ZP zWp+T7+q7gw?k_QR7wL(2K&Y_tNsShK^B|@5E@+XQgRDXdb~e^%%Am$hOSMHN z7$*TzCp`$_@9M<=A(qMiC?j)xxQ3l`yho`YWz>OBSrGdo22Kf+RHCB-O8h+#KdKYY zDwnh9Rx#WglPfxM@(0o12Ts0&U;I1y4%UAjGn8IN>1F)e`wscOe0Aa8lZW`rm#^WLY;JIR{&KALw@Z(gUMD0jkxL1_2mqKAJ`)Q`e?EF&YX(Lym>A=rpf5sTvt z#r{M!#ihg@NsJ=X8rTi2#gObi9+aOCN{@pVS(MRnaeeI*SkR(T>I_8t1fsDKYfey} z6BO7m_={x6XO!3HY#96un4bfa4TEw}mV?y%{ss6)dgC&Ka;DZcNc#n)aLy<#MmDiy zamR(^=^<%c$RI9T9B&^TDBmx@_ngkRdr0mcB9g;eazXayjI_5(mS$qgQ zh$rJZ57nJvNvgxq^(CBY*&Y_VCX{5ClKY|wEME1g^AjdlmXzaJKE=iK-e^P7HxqKQ zO9Nbc7QJ;A;%+iD;@rrixTvC{IKWrtmuYJ{Xva6S9pABbe1mp;r?;c1LN2PnMKgp5 zO_?C*!FLWG&~Iy}Myr+VJp>o!zu3KV=dRs6^M9?VnYbyvaUDgbN^k|9mn8bb8>G5O zrTT$MbrDkipiA|Bh5UX6@m)xjq^fGso_7C4?C~G~Y2|zP^2$&lA1cqz4e(O})A>cF z;&zomOcP}u=ZI2KxSDG^4|9-*w69YB zs#4llc@>&@-6yt+pv7V#j3jF;bI=_vrlxgDTn%$HF?j67O8Lb~^>$pkV+T2T6Vv=E zc~X^>Uqx;)zzmv))x57t&Y2|LS4G;!+#!LsvvUoll29YI zPU)5EKdOkX=#uWb9{yG(|E;P?`J<*bAoie&NW6w3zO0tNtd`zy zlL3u`z>cIEwis&10Hq0B8Zmf1yEjA0#XP9?Rlh03+?qoOi z>YBm2e>?WL{^4rH>PuqgrLFVR^V5vvNXHt_88LM>OO!0-&CtuyF(_Bfq~~(V?Yr$4aTNwOb~{CrR_i3xf)Czo;Nnw@MvcFpLoA9U4{56URu_f-Z7U_ZC*EtC{}SCxPtEDrQ}lM~notL0)>CTR z(D?>4gjPS9eO-!pz66WF=3&UZ)b($-iYZ9y1(Pq##Kuj=D3siX#x*6Lnx(>}VJ z@-tOA<21*-mUxKT+(N$HCSJA^rwD1u*Q>GV-#04ud{RHvvZ`|<{C?>AR=Ew zxoWkbTncxvIIYU0mA|!g7YV?wV4n~6+7YELh@0}+N zoTqO3s+>ks=;(ROM9jNE<@4m}^Q3af2<7jF+ z!=7GNNuGX}TZm^g;}O+mMWq$|v~;piM3$0_Sa|j{o|RWxR2jmvShJ^h4+PuL>Tk-6 zO{U9V##(f52oHWP!9~G*aiA(t%vYB4g3z8io<)rZ;T4qeAv_KnPlx6+)3v22T;rZY zm6BJ3$6%7xFDR7?J~g|jg3!XAHPlWn#9V+)L%Pw16+5=9hNWGs^5jzjg*9|xHXo`h zgyz`7tY@L@Sx7BC2k<<=*&5Ji3*^rhkUQsaogl6Wo=xe@4P#$U>N%>;GAdxV6tCn< z){#e$YM+<<|L2b)T|ipNp7C)k?L1FD=gEg1kuwUQzv}UMtS#!e6pwtN3i(fKkm~H1 z*Kx5`Wh6|B**QI;g>A^By7o~?GQtFp7N|l{QH^v-O;ZgNg09dRwt{D2BAC*01d@@F?mr9p;azV@XiDAxp~&%~QF zL&F5caaRo%4juO(nsJUL^!xrA;ky`zNImDF8lgYuc&vt8Li%_OF3NNKhJM%82&tT- zp5i}4zt>Xy^);S{Y8-#8@jO=Jc%=qcy*f74klp_+v@}vfuD=!EpeJwD;L$p8-$)H< zMT_Tt(j+f^U>|FiRO68d40n?mrb1~Uc~nRm6(ToD0Ao{43$QRzruU|*tG~NzJiAFv z^O7@mDHepJheD#~9u#`kQ@+iPy+j&36#>+w?IBjtJZ=ALNM0L~{uJt5=9l}rBo!{H;{IhoFE$z-fZ+G6>?)(dSj)!hT z18a$j%nzY?v{HVkQhKyfNxp?D2>s2J4mGBuj#5;^;96$@-gFIG2P@_MmD0gVWfGY& z5O*J_1w65+BtXK2;2;ps<2AVQ=@T`A=~(n`8Uxl6h6Ou-uXZGSph})tB?YRK`SYd1 zD&^)GAdD8Ot1NI{oHI)iFVG#Vc1wKSW=Mft5j@Nh& zp^4%VwDCCFc!;*~A5-OjOeI$?d{6_Ib$m!sKW35b13j`CX|~h|BP@=y6!EJXPYY@+!cnjjX?hhS3kn5PaQ2J^W1@HF}1Y0{h1 zIu4KZNPn=w1ge8A5_Mpy#PKba{Zfs9oDI+8BwG0vl3vo4a%P%* zW*QkG;W*Sy)bSd(lpzTO5Z`q0^cbFf;Gu&s91FXXv=9kykf)x+BNgS)Ab%(2lVNGh zL_Uc%8sgIF^3v(j(doo7aY-VrU;ndT#Sa!aeWWfSkDp(+dGniiS;A)i*)ez^ zBv+{jPUo`=vhk9Yi6j$15}=K7=KTdc{-AmWd9VS;DPz)@u|7mb4Q;j6^Bb6y4o3i+ zP3)HrF^|DtTM&Q@=cFDcJ1w3%QfsX?)NGp}$5%_+X0SM9Ua2}UL;mLs>BNjC&ojgi z%^OhP&yc^LA;ptto04ZcU#XFLv>kh{X!M0@nXi_F>LyQpjUrM+6hf(LQ{dWH)KGkd z3QeQ%?KO_r+dZ+jw?#cQKHOO?pRAVdtR@#4XvEZ_UslV%td{<_nlRFe+VK&Yb_|S+ zEUv-wq{>p&f~tL$X^)w5kD1ctYNjDALO)Z})TUu9m6ptw_?bY_R@S{U<*hR%?@Xq2 zGsV)Ga`7ywR4p?vDb&!Xd)BCB=Kgqero3;K^r%{9zP|N^nR4IR(hD=ij(U0POnJm? zY3od+a0b1hTa7N&bC&$!OzFd!o=&V!&~2S=$BCwfS#r!QsmCm1#@IyiD5R43Mp}u0 z@lcJZW}qzJG-jYE{v*v#U!kb$YiMoM!v$cSZfCX0)wM`pyQ|462_4ucr`~P67#YVL zX%6Gd>LV>C=`X@nI|A^ne~SQ?89)HHLjOp8j!Xzl6b-VFD=W|#%tY7Mv`Gj#0mM`v zy6QyL(1%09O%N_#r$_FYE#EU+x_fq$(G{q_pl?9RP1N4bz}TJ5f0-@6GF$q~Y+)zo zsH2vOYUb`fJX?Newsd&5Ady)DG3KlMKRR1JKU<2bC?;BF<4c<(r_Pbm<{*U^$&_OT z;fkwUAYK!$$RZ$o1B6Z@jza^OmX@_eJ7I|)&5VU4&fVKViHDhQi>aEZCEj=_7|8=V zt{Tz`JL0I`uhenP2d-E1CrDSW&Gg0VReeS)?5L&hXoVe#yF)9aHN|$i#XVw7qNN>Z z@U!a`4zQ>-(PVYZY3r5bYZcN-Pk*fx3c0Fkuj>`&YK3^_&{Z`jT(2;P6=G+#qn2iC zRXdVsl2(W*`c+IPYK0xu^lOELC$(#_MW2Tl3|pVpnF>u4K0}Fa*d0~V?Yg7FkeaR= zCXxoax?y)zRX6O83ek3EMI9CDc1;S^@mHIRwFtUlcT`n3?2Za`!|te1x9j$W)BttE zZeL20E8Va=D%1_Tqe9)TJ1S&$P42Aks8l!XjtX_d?x;{T?2gImcCFPk*`IFMTB*@E zb;ItcP&e$33e|z6Ly1HTGuN`~;n%Ywbz`$bqC&;>Y8D#{ud+Wp6Xx2cd(ZU>H(sys z55_`6UPU)s%p>iv`SP&&(rvg)w|%noALL5ZGb571UomFgNZ43nPf~qcS3$LmHz(2OGW1&@_gf&PE@;AP zpPE007RZwpNNEd%M8aCjVlbzezks})iGs+3pvW}ia2r+|h|Vd%Rb@o^;1Q!gUw}u9 z3eV!b95qrxjYp*7m>aZtf&9k>(&h!iPc80NP5F4zl#gx^9!Vl z3j{pOlJTRI409^-@1$Y9H38{w( zX;E0dH7qR(;{pSt63n-?J{6XK5tg39oi!~ctV9#3*TeGvgeBb6g{0Tee>M}+@vwX_ zEFBLE8%#(^CM2##{x&S(vg`X*Bq2x+gj;Zt3OuXZ?VfH|Pi=?S$ir(S>~EQqG+4G8 zqsYv-NqCDs#AjP9-XedpwIRXnT$1?1cpNveXU&l(&Hck}DakG%FI&VaLq$&6H0*7? z*^f(7U#2T&M7xfQf3IsC-s3!IKte{;GA?dHoc+5V7MyNB-*jPVG=q;{7I7ymRg$+oseai@j6JJ9OxqWrDflGtRY{Y&Mwo`k5f(b~HC zRP*+x3rg7lp=*L;vCa17V5K)+R(wIZ4Ui-P={$r&@TDZ+g|k@Z!T;VIP?E@7jn6m> ze5aiaO?bVea?b#Pvy(c43m7(wNPfsm9KY%(bx$^7Br*&Y0j0J9LzU(MAmu&dR9gGn zMv&8lSmmKXgNN+cH!vda8|eL#@fvrp4@b)JfyqFz1qq`1rpS5nYkahH-|+$NP;@%~ znW!8eV9PcT;wN~&QfZ7LG<;t<8^#U$5mH?UDNu@#Hv0RZ+0w9qq}{tt>mAi{`0}Y# zyes>33+cEPVbgt)*5E0To#PO9#0(=4sxL^cd@(SgydQdnk4gM)>E$Kd;Zv7SH<$Sy zalY;T+f_*JPEnr!hu@l%c;0?+*XaUZtqt#Xw+VCI`El{?E)DKDr_+wN(LwgJ^5agURqtgaC3jDJ-;B{881blQ z|HRte{g!fQP(N#&{qGlGSkiYr0D2Wtfp!9iVfBPy<&)z`qrUH#dN|_lDxR3lov5;; zOyGYw;XL7NPW<%2CJSEKIgk4!Hqk|2VL7phYSi`|wTEpkVqEVIu$@v5dSn71407Az z+yF0wlnL=lckc8qY8l%H4>`quw8WYCxiia(_r&}7BeqU%MuId$e5V^~L`(Oe2hS1H zjIjw^k|WOMNU%XM=Msf!!))it+q_#hD*|`yHJ-fs_BFnVycPA%K~yq<>qabkAn^j5 zdkC?(eEL0?elI8As>(8Dj*EI_E-5-n-klU3EsL%sqPkN8X9W#q=^%e+?_JVpi)|5irwQK0Hc04q;a9lZHU`Hih`QXJ#(PCt zw276BCM8t|BRgyYUJMGsCOmT2a&o5efPbFeZku`#v|AgTc%QS@Zr}j@&10x|w~dgY z>gYiTsSM$d?gUs2%FxUDH=ZAlh)DV#AVgd&F?T+=9507XawaE!D;#t7C|?fGPROzj zx7sf(^S8o`YH=KWV-^<7A&#peO>4TRZZHV6ZOW%cAUyOd?n`f4< zz3-LJ{_y!`Wy`H2-U{{V#dYp-MR;L(9^Q6dQHD3PV>k>1C-Uyl$n0UfwKz~(P*KR2<>RWB z{0hD#J6KRuI?lvj5P|aXs(J#TP)`7lj5Po~*31bdWu-+GWkIWVLM~nh&a;Z{3i5t+ zw6-EBmQ4@j4YQ7#Ff}_^Vk!=0SCNv@rjpXYRAdWytv%i+k9SyFLxE!QPJ2x@@;Z1l z7&Z6MT#*uMVcAqzQR#G;oLF8I2vJS&-Z5jqQ8hk35Db3hEW)ZWuR2d4TRFI^oleF zz|D(j*BHLEvLpv4#ur1u=~mKCzNi!?Qc15F3-LLDd~%%`?MWC_y44x7QmKg?cr1Dd zSC(lK^rMeZ?w3!l-Rd{hLcclkU0@Z-Pa(dn{nBVb8ZDSaAcz}RuCTvr1h&Vo6WD&Z zW?(bMHF3+85pSj6Kk`=-W#Ne9AI|NAj}F;8^q}ii_fx}uer555C!W6N(w8@#ocd8f z3VvPjuj!vu?k@Ui*+b<^>VCa-;id1gPldkC+mrv#f^&uMOn!e#Q}M&YKlMDhqIJfD z)0XA_uBs*HSm}w9+VPM0FTMSnA2>9Pc^0!z*oLo+SvGM?tMHI>Z>jv})aVL6*1xSO zx^0_(MUydNre|kbtrw8LMLBoedFgfGJVpkR&bi|-d^BP3XsWje@k>Q3QV`^fS=Q6d z$(Bv!FnTVT8jTpHzXNa_T5!YnU#S&a(^WCaE!DlInu_{`9}AmLm=lCF?kmmCeq&m>1nj4r?_}ohI{-=GM)GIchiXU85HHNYVuG7(W4|h%|e8Bg>4=aBr1* zCezxdvN$Br$;p;-B*OkE(k_wq50Ns7v^664OrC&0<u$ex`ZU?+1#hh z$V5I1-;Jq?pvMs@RO}@8Ni#M`8z_sNRK);2VIIgwb|fKXvhN4@y_92h$)H5Ef5!QC zN&${ZQ;$89%sPY^n=)#Uas;zRDzke?96G|@P068>CWDq%_;hb&X>a9!db>Zge=eMM zjt0eoIQuD)u&49F!~MuK&3*CI63lc^YeEuHJT1c{uHWHP!%25EjCN-6O-heJN0HF& ziH_J4P2UrpxF>q!o~UmRX5vjfIwxFFrguubWaYnULR*PoM+RPAepAFf>+vV#wz{J7)Mxj6Y}U;Dx6&F*(FuYm<5ahNi8 z=C|n~5_MIqSH);fbpC~%e(pSf3jLm(1R1>_J7M{sIMG!1V69>3LnmhL!g?FAl8?6X z=aQX%>sJ0eF~yJRVg}|s`oc&Pokm*PmOYk5_V{~26hBYC$dR=lro#>8o-m2_2g%$S){$Vt zh~VvP!|r4aO6X3!_@9_`3jns8c9UhI zx@6mY)E5UR(^D|yVXp3p0V1MWYcMY3lHwur^QCO0@O8Ff$ntfuk&&sZ4TF+O;R(7V zG(82aqK--$Vj_cr6$P+C`zFOj2-@7k$g0EnL@3O6E-@Mu-JNas5%t+Wu+_St)ixc{ z<)tPJaA%=Ro3E{6lcx6r#v|AqH!Cwj(v z0fGH1=lBM9Z)G3{?V@v(8&Z82;Aj_|_LIJ^ofF*gz(o|N`b|6UeWmc+kXDT^QPPJdSfNqSqI~TwT?@Ud+biPTvp!_*?*WnABlqXWpAG+dSaVUx_ zsGdmObST=4h0C&p&c~x?EPvb6@4hYkg~YG0kLNlRl(Jzq)&1pgy zi}iPHimp5w-Fg74kni!)o5#gQ??3uBkI8To#0trmQlnGkNBUu$F6kF77UdWFVf-!V zhw=As{Rl>;ZIIi2L)2><;&ywZqin<7?%~nVwoJEsaCD4qtlK>xnq`~dcK3;nwdK0q zJ)`4nMQ(TJ=nb|qx7*T0T8g$M+rRO5$1kB+>h2xQbEif#_Fx6F}`A&BMfDDSfy(Da}oXPphj?-ANRv zB{`3pqy3&8_hpg*NR~86B>?{;^mH4)c;!x>f$w4)c;!x>f$w4)c;!x>ebg+QUAZOppM(YB)f$y-=q~*mR68; z0`lqAmE$>{zMV;AdjfgX+A+1@`R|dX403t>E`O|-clmj*;PN_LUZ=}D*ySDKBDqM4 z3okiwd_C0h%~0XZLyqr;3co+(xHwc;bHMS#P+@(u=&@Rvd~dr#)wfDj#7T`V{#lQlJHZ-+S7V;`rJ64RF~Tu@NWqK46JQqGcQE65`pRZ;)#|wCVHX$M2G|c;$D4Jzo!n zV68zSNMA8})}0)cQm0?}9HA2V#ReaKY!Lpj?W_j>od%1~+Q53cWNEoTfmj*`X?i9SvtcPW+rkf%4o? zUxEugy5!Vyn4$6;+Q-DUV7k(|!O|w4W&cXiP}>_$GTfIR$eO9#I#js#K-MhsyX{a` zfAV|gP}TtaCJX_FGixah6TidBwnO?!Z z9}tGJ!zRA4h^$$wA9g!|c1C`Si>k0y!1GuPi#gdT<0APUckz6ajf?MhpSXp;)O6ZE z&%4g%@9BNPrsUzJ8Gr+<6mX}S9KBs=hQ)PY(|F8B#=2T_#>IQay6oq@BV4W3V_kSu zOlxqKFx+(y9Mgb#1H-(5V5S4}1`RXKbq@f(;jRK-n(Mb2VrTpm;Pkg;z7aS`2dp!` z3vl+^pEVH^vhc~CZ%Ci{5J(bSK17d+uBK=Vz~50Yf(yWiC&2#(--(AxG;T)$w>B2aDn0YXgnW7BOam)ekZs@GjtOVHD=xJPf)Ts+bctr3=W+? zA8rZH!zKK_RE?CL;B8EAB)3Ua)>0`hG!CFB_d;{hhj?BQ0+J+Yf{@`Ee=l~zCf^- zqX*A7pTa3QLmw@{Np4oqn>#v~N&m8fna(_%Xn(9=e-0_n+Ea+Tv2%lTPl9Zi;RbPb zuL{=8*WcdE-QWCF^Ix0m4&L9a?!Iwn$;W~Z1BBFqiWrN9I28LNcTVma)46kJ@|S!d z`9K_Ju?!_2TC5GZ?Dijb$&9g?nf1+qgkHU+jy`oaZ|W;ntX|1S{;-MMY#VtQH|uQN z!1ML%wyflFuqwhoM{d1+HnM&*zjEE$)eL1N|K`euhRAxJUmIDoX5+JwH5>SiY?wEe@xpnpHHf~PmD>tm93|+aE!BAPyRfGzgSFMRO@Gq@=leTzE z1TwR>Z028Cxn|YIwd)$t7IH84>d2anF94qa)~$)W2oS?WtLro8C1lo5nwQ|9U)>AJ z%JTT)%G@cqDZgD={qunY`#?7_5w_culO3ens<0BWVM;#rWt$ReUmq49^L(G8(jq=D zyCOR`JD8VlEw)Zd=2mbkSSE!DxoyG zE59g+Z|pr66_k=)@3LS?b_E2d2nZv20qofZ_)KCkV&)j&2a5BwEkb(2=oFHzUeqVW zJl&!t+sW3<3~VQ3gF2V)Pp7jI$~Y&0U3;oR?DJZw0<(F?a0hU(AxyVLNnaNimrV_j zy+%|OOGq!0u2%UN2o;r-1oDcqD+0v`efi*KB|@aDTg#-U$aXRlPh;kBq+>7EAfV1J zCr~k!1PF)6fwrO{w5A9bW7i&FZXQhv!ml}kIrCak6Rj3MeLS>Z|p`tth zRkc|I=>_SeuPchkb8*Y^hv$@)P4Nx)u>L3C95$rwUX6Z62Ox`rt_5{6c>;;Q8cJ`L#$<`#naPyx{Zx~E(#R_hgnXj zFu!7WPH;*(b3kGkVs-^A9iB(F)e%JStPtXdBvL?2#A0YEOum$#nvF-9z-C~00pc?R z2PYL})Fa3~xGxO}+ZAtm8p-=-s zkCUqn&?4rXj@%$ji+ZDhJ`vSg0_6}PNMR|t5<{bhb4Rj+j;f?#R*^m&nO$#yGIrGh zBq@V~Fw0_8tp6W-Zyp|1k^PO|tSoXNogj2@bb4XwbUKhU5JHnQhEC`-WFrY-35&Ra zz$8IN61H3%7aZIf2l$SnL=bRB2`(h)h|+0Ly0Il8B7%e3I#Fk0=1YJGgV_0fPSw4g zZiqAf-sgG!<9)o4+f}DdojP^u)Tydl=hh`EP(4|KyedW6CDV)YsT>SA)1k+sS?dgSg?^@-a=_T zPV!O-FL@`f$3t}OfN0g+hrDU)wF7#oN?0JWuWCCF^iv(CfVXtL%J&e~Jyy5(Zz4T~ z+9&$^c_u&UkJfZ}=dM@X`H;8eLDg!)bxryGDQ`Sc#=vz7dAvg(ijGk|`LcK9L)t-+ zs)@gsfYn}By~n#{gDU&?z`)1VD55>mu`gZd$J{ZN;FAb-o)_jg3>k?|%To1LvODc6Uk1BIVX6H%kM58=9*(A~%K0+B~?FjTSs7>}vM~PxP1Ljm@ zy(5?Oi@C`#4;4#uBKtDW^%$r(Ky*5apxl|b3?Mg z$BQ`yaqlSje6fiNXOG)|csOyxC!zpt9BnpAo+;e9o4?M|$-RmWqLGbTL+CcgGMH>20 z*7L}kLLCRaQW&JVB6p{_Q*o>PhW8UToJw4?&wUem#;G&Qg)?`DogxQb_nAsOOR+59 zlWtzV#~)*Or`7n|Jy`z;Gvjr?-P7!&0wP>{e$V>+-u9`#-6H`RrEPBO(}tSIra3yH09@Xq8&-Wa08j*0 ze|46DjSs6YC8Cks%si5oi<$Ury*xgWmlRV5 zEKLCAb53y*f?06sgEttnzp_^65C$fNq74CVhDmLe%K<3-`7kBS>Q2upn2|3dOrh*F zU1J)ajTokA`F0*>Q#XxfDxfqkn~YyJL{Z0*jKoDTpHd`2Z!uY+xe9JKK za=%Cl@LG~vq&zF3xiYy)W|L%rehS}1p!c=1@;4PKbtHwXv zKN>28mCf5vqWR-Q3?taCY<(D7Add#56&HD&=?e9TK93Lq=tmfK9m73iAM;0erakVD z^f(^(M|t#*`J+AR$NjxL-*5Ey_V_pY`*`9u`ulnwe8PX7=jfAMmkt`G6?>=*=)NcX zF{bvb_OusQ?@?(U35;UURy=iCx5v0zd-Sc*!eL)LP%&GP=1&D5pDoT90{ztgC7G>+tsBC6TtEj^<_S$X(QAmjK%9I z6|x!6ke__a`|)GP!ya#K?sK>mA1p;JCmDMCoQK=@I@RqyXY1j*SSgMTl-gB$RQK+& zhQ-F!#oo~7ec&;t56GN{=0y z{uI6(r!gXZq-n3vw^t;pPgvWSwTExqkv{6P+J0))6jmFU!oiP09;o6(*yNB(CV$+ja&|YEuhrY@36imo zw--r;PF>iej;4)>`}Sxf2B|iZMO8_IgGA+iq}6iY9y~gXQoZ(wIzly@NW%83?tCN+ zXM4c1DH?j-hZ1li18)bzMEDM28zj>+^l^WdC-X7*w!vl<8~XTfg~^KfQhl1r#h_2> zN=OkHG9n345`n4yh8NpURlP?G4SV1**IkdZSrOUc>OF`-m7s=KE8JvKxD%L6gK#r?J$m#h}7 zhwP_Jvp94@*j>14;9VN1Xd-hp@&51xT+`rQqdFUSPa`eq2l$0}hYD#!DO27PWY|%4 zs;hsH=7M+0lWBb!%0p7racDV^Fu=hV=GG?=CTwyjgJ3SIswp$br$$D{C^JqrRnx?- zkhe9T zP}f-Lk2!+PlSo4(oGEC=iMNq3vp5^W92@BAOtXX8chV;gBojDAygAB@Gl)OVr>0dyFh3Y=p)!gXg= zgC+v<`06bC!8lt-(%C1rm)*MulLLwJMr)x$VA)AJ7xOkMdqOpqYTF!WHLu}$^*JYc zpsVc(@6nAgx+6&@5gVzoUhC6fxNL`V?oT^kr``TCc)^4xrUp9|4foAY4j&Yz{$Ie_ zi|^Y*5}+wZ*pW_Bspva}4m)-*K6sgWSG2GauhZ%K4T;nHy@rS?^>;DfxLsj?z<*ZR zCRN-YNOsH$VxZ&$TV`pdBbVlXw4!5ELfJPO2x52_`-d&foAD~30|Q~^^dfS5X4k!C z>{USZJrRrGQ1^_({8_5`I*0jbhxX}FS!=ah3c*e#cKGzE!`a=cPwlI{KToB{md#1p z;!FLNsvquiRQOnR>Rjx?0G0ly6u8(HsaKcUKHogm;eBA#Li|t1(-+0EM*Xura z;J8#r1d3wT8(0lQ7a5sb5bDg2JItpX=KCDxla35?k;78t@ONo?v!W1f@C+WA;Yr4yW2EJz zqoHv_lBL;Ue##+Pqs$LFtl{SS9j-e@)>$5R*e$0V>+F{M=yuYv4qZzHV(Ive1|iq< zq&oG*_A&^q#i8eguX!^q2JX|*YyX;1cm?1_Xl&2in-v*n#IGf;* zC3I0jFG`4z6Yf*0)}BRa;glA|)4;FgDaTRC5ILwz9Zn5a<3HXg)s6(zAJ*73vQ>3< zLcAV4dCNyx@*NGn#!;hC_Tvs0ghe=p82A+r1O+v~_Yqi0#_uUPeo{g2YV71BK~b*{ zrOA*%({7QP9qn2B8)HYY(tT;e6w<9EV@OtI=mXG6hY!U;z~Sl+pIWfo?`Z9$LmNAY z?iPoys+Fqupu=8MQ9WD$kfK{0RX&Ka)p*Q-Rg0k)w8iJLCi&cl;is0c=E=11g(fNH z;u>?lW373M!|6V3nd(^2FMIp^b?87x-*LK)`$lyhZcUIcXP>YHp^vizT?(&Kl797S zfRDP}`)qP*bj-g)0bw%W-QFxcoJS)986sjNmZKXI2^3I@(z%nF?gmhM@r2&Gqsc(f zd6V1AK6k8!a~>3E)u&?B1tGt@$cqAx_?NyqOlQ`RCfdCVxe&#Md-v&X9MOV&w3P*#`tYI5{jn=HG+e zmd_j+2K-OXFbslb_9M+KkVtp8r=p2PhuVfPz`e``l(sz;nnPd{A^?XIxECRJ5p)p3 zfJOkC!EvGUq9Z!enC(yr$LeBhTA?78eu_G4!qa1Y999s3MM^`Co>aiwQ)MmHL=QQ7 zEY|1t#htK-=rWq#%;_%XB{#axcX-fh8lEQ` z9I1DsypN*oV9L5I9&g6Sr<#$GiEFfuP_G88XaIIMVTctepfL^Mj;<!{PQI52*7z#l3F5Lj<~&unCK2Z*jG#`%uxil%^f8wyMFAm| z<p-ACCe*1~ zuXKMNt&y9P8NE2m=b##$Vg5W-jW@_YPxZc$**^6PNA)Y7%~P&xw|(Kj3ejvs_91rd zH{+;iJYLtL+o{j1eB-Dzt6;G?%vlc0BfuIU&t3I3c74slMgM?tdBg#RFr8%&oVB8E zhBVAW+E(1VLEMzS&WI)H4%J^4* zO5{3%sb#>+DiW(9^{bS0Avh@=CE;mKv_a}a2pg?o>WkKJ=-NF~`2q_W@k{`RR)(vz zM;!D>0cKz~OT_sY9Wl{;X%%*-ArfY;GgYHceNLacMW4D=pE?qcPrO>}jM1Zh@92q~ zalU%w3oy3&f)r@&CEXxsBhubBTx>90KvO8|O)NPR6B9dI{kJFg#c(qSPu+bTZvTRQ~9+DDzQ=T1}OW7Sx|WEJ*9{M<=(x z+ZQRSzhnT;iSaZ&7TOqp*P1;J@5>Tl$J#9(EC`d+`uGk2R{(>-Xu=3Ue%|Vz?#qt8Lg9Lkl8Mi~-o9Le4ysB;nHtNrawS(9{ z%D*gz?N z=a(e^{#_&=E%K16{S!H2!P9HwUOKY5RudQ-;A|y62M4Yl%tZ>`Q#5+K*06U6@OGFq zo3?JO-SNU!B#Y!4wRPkEozLwc2QB(YMZ*g_G%xPl`^*kJ<)>75Nr}XqM9)v~&i;Pn z-6$8yzwxl8c5Cf(pllL%GyuI8JTY&s*PeZW_@c9=;fM9y3;Sy~!T*dt3!!;V$+L3@ zoV0d~6lYL2_^q+z?Hk!gCg7O1V-sA*cEB$rDMcEKeZvs6EdjKhd!O4vXk*fn#-{=; zAA=?r3URW1W9_r3JJDuxd#-lt)&r2pNHGU^uhruG>pwMYCto>+!aUz_0LEw#3Lw;O zm9}1klaid2GCmk<$M%M;&-6%W5Zf;;f(Hvc04#-&J$)kN0J*Mdwr|-87rfeMnd6=Y z%~AWz0SI4I$xmQa`2{mHxf0GL;Eo2&g8`2V`R)(HyiHbTJh6m!(|dA}n)9m71m&;J zk#j85jPWOpnOz;^t;(B zaS%)aFYJ1T^zuw*FWrOk8%B}_Q$t!rl^jDuhs1gNAU$*Q&iy+#9YClUoni0hOEk2aQTwNvyH(1lDN82_OSSUCPaP3$L|RdwwP+A2q&C%%JIIre#axn9FHykR(cDeD4*NK9G2c^0GVoXkAmg{r4&UL{PRzL2BI~9M!>|m) z2t4w(sZgV1PDg2f~FKbl}0DWGcR%}LJ&@RSP$@zJOg zLs7bRFIE%C75EPTGIgYDUu{kurKkLo;W*_%$aowe9(D^p*NvI%)w!oft@RhC-HL}J zYyFebV*OIu5PxIZjl4qrqtt4ISWWwftNWp@{d=jSAe8MfM&rlFmU8tuW;~pWi5ktZ_tvW?MgCw&hD@)4Fn7 z1AmgEcgkkeDo}-fxN5 z-Is@TJ(g)TX1gP`kSz?&IgZqoswr9MLiFgv?x?clu*GwgYHwFO_EPfJylIF+9<^un z0UmH#ewWwK=u5>ayC%^qrQ8giPsfxRT+tH|tSWI56_PnQii2boO*TJhyA%bbKuzFa11Gk8)C<)1%~MGI2<&17VzdF z$kQv1NU2|w*B!pppmj$S)*UD{168Q$l=L-;t=^QIeI3*(Jkdpv#=B7v2TX#U9+VDP zhxb9lt+!$BL$h{YDko{^gB47eA&Cw*#9HFcY^)`ai2axxHk=ix$ei-4&;g(8>4jP` z5k1Y&WS)~pU7N3;q%-s!38G^C&)%wia&nX*8c%5O2&GkZYBI?B+Nd8|1w3Osak!JM z+Odu}GrGgs?6b_t%P?p&42c0v)e`q?&w zdfpGho1Z_^hEUJ@LDJ8*A=LAJko2={2=%-lB>ij~LOt&XNmbb6{aH4IdfpF`_$KGi zupz`(Wg$zYFTWJ!ZK9uHLx`^LkRm{^6rou z`+00z5<6HD_qSu-{@HL|`!&hv} zakOQHx21{!Pp@t{wY}x^j+R|VTXw(SatgqbmX&K-R&H;Z%E;!v-?9?G=`EkGA!?tN zY;W0iwB^kEEiVFE+Oh)VP#EYkqLg21*4RBRHP@ZZ)Xz9R0c7x$&t zi(iW+UyI9|z810No+H|tazp`czVyahaNx`-@l53@K;C>q+*Q3zw2CXL#1*Tm07*|5 z)2->EAYGFU9|{qKL09<&?Qf`k22N)IS1!$;w>G>+Y6fqw9XmE|+O%;Z2rWNEdF^z= z6>wNi`40}ulI*dp4HJa0UP1)VD&GOaXUcHdM;GB=7Q5RbJ z{E?k*v0%C_N2|p**1E4?&F_Y4ehL_G<|q zgba#|j?cl{FIHPCyyWp%zd7cjPahpGYX0|xYHl7ZO!M`IxD#*|g0n3Lz$d6#QoG@# zLq0Lgfv6nNIGrgXF4?_{pt{h7101xE}PvUzDMrwU@fDHA)?AjZlYM z!)0gFst^MRd&t~b6=xi{(*DKTi(HR(a8DiNm;S`Rb@Wrb<$|2$aKZ>XZ^7`wv*Z+s z!?K>+vULZ2Iw=hP_*W^f?9_I(PutF1G^_+iPxCk9$lqok#VPtP7Cop$J6QC6C3=BH z|E@$M(kO3-5{+ijkCo^T3^^=MrhIvvs(&8vw|UqQ|FJCtm&kMOB}C^dr_+ zRN49H4;Y6(OO;Scbl*B`LtN1wLWl)0Waz8hG=}j}FQ{kIV4S5541vn<7r?+v_T~c*; zl{TpiM}X+tQde^OnmTihza_1g#=O@5O>$D(3DqrSWMxm_mQjJTe+@!SCx2bE!*A1w@i+`M-W1>LOKVbpm1R+uNE5 zz54Q6|0zRca=3c0RiY26S|jKsp5IM7p_(-91Z-1t8@XDw!DY;67}VMZZrXh0zX~5U zc#%c6o=~4Apz7smWXNE_PO$)c0bMY`zgQ5|9V(T*U=rTf7lQ%=?YTH^2arHO8i>;> zF@;g7*e|8Yfv#hdQi?{4$1>U7&hC@hJ)7OL*xhC>8ZUOyJ6MzOVKq9(Q>)3wVTSqq zn1F1Y$>+dV?{H33u46Kt*uzfRfvc}3tANgOlmh4NmEg#~OgkpN6EPs;ON7izO=K2W zb*f0NXuA^VQUZgE<)l$cz@Y?gQvz$1z-A@ziV~2HDxoixzz=eOx5^DABn_w|f}wsIv+gRtV_;xy+DZTS2?>3@EQ1C`c4La(589=YiH=FwN~tA9(Q zdGsxU969oj2OiZNeo*sB{ac3)*T2>H`df_z_a8yZWB0%Fz@bB@cYS;4(5^#=j)-xU zKXU!2l)N9wQ~94V{b(K>l^c&44?8PQdC7v#56!|?_p~CV>e#_~?95FZ#7GA_LJ5j+ z1YdS`RzcoK(LPq(T=-H{%I1#0MBT8t>5-^k<0F^JFGt-FbJAwU`*$fPv&Ptyi|pgX z&54girAlJJ;rj@4_l7HYKYG^@zXtOryugb0L~*7Zxq$Qj zP^$28T6zx^6gs%cI64s?-*)XkW=7FVdNEgO=Id*as;^qD$D8}?)mD8Kyej`WI|#vt z7t>Z()uk&a+Q>3|!N$(=>*v?ZAObaddrfP_E%9sYYkgJKiB(34h-q&svqu>s^f5ow zz@OaL8jqT0uOWKXRV)|Y#+zRV~!}?Z5=;PF9Poz3w z)jC^mxeIUn;-%ZPuwfPPS$S|xhun^*+7xCag>JQHeDM6A3O>zXkgNvU0Kk~Q8SS3LNSw1U+dg-f|X<@RJl!VGqFkj_o8#JetJ3J9pHVZPYK@nh`)5=!C)tP_)ap3(^{rGDkno`Z5h?9iRchY} z;uZOt@76D8mX}KCi^|0gse%AH0*WK))r>$uwD6^c1Mc0Jshh02D!eULgLb~DOl}?& zg5xg$)VJDeZmEc0o8_xYtgceuRpZxbB2&ZE;i(a=EK^V(coK(I8=~k{fhajYC?wij z@rtDsza|^6XM@Cu)bMLcLzZjGqUzQ_au6IbeM^PXZn1%OW1Rvm)@nJD+|c;=Obmto z^0bK34ai76DA5naXd{lX02%{#-TUG4~*&8Cpt2mo)2i(nI+8oJvRE6;}mUn z{LycY;1mU$o!xnOYOZtn-Oe+oYzVBV!hZ@>t#FRN$0h({`SVB=PT8C3}KmbbfuZ)ScQ;TvLi61SX)*it5(PDyel)^ZtpL~Lf5HrM0?V`IRMhsC_CAm&P zs1`znsDRpyDOgrdu#h+_gD|Q7B!Ey%l6xrTQYXViJqc5y`r^XRgw@p2*V5j{B~Q%~ zN}FeZ5Q3N~+sA6iXkNoipai*fz&@3~?~}JlDvT}EV0CTnfZEy#&T+(7({G$YeyK2F z#Zqe2KuL1Fd(6kA+q9S|?u6AVsYb}Rl8LK3pM{qvHBF!btMP=6H%n70%Qz{Ii9#Sw zd)t0vtF_H{{@S+7x!bnQ`J&A{+IjbKTRMW3wq5DY%H6gzXPh_9bAI}%ZRJV|tXye3 zb&3L~Put3brOv-K{mltQuuTwFvoL;bh&%r#Apr;s>BFWEoh?l*0YoLPAS>}Q5V8n@ z#ksl(+>?-;Ww}#{21;UGhruS~PF-!A&~a{c5NuU>#VQnxlFL5)aH;ddCW*>iJ%I`( z_6U2zhaav+iju&4?$R>hnuM~Y&@9w~rSLqI3Ds$F0*X}V9x6QHlcrA?#Xu_WIN(>1 zmJ->kGo!|WZ7Di2_(W!6l<|W*NV6irFBm2qPzWv{2nSSPbtVAkDki#dV1GELP%dDV zebRhfE{>ROnl^(KxM~$DNhPu-#1GK}Ca)F4Ty$4ACd#FPseWjYt1-u?5axtctEjh0 z0;Gt#0(U7?AENkh!cXDCLJ9y4=s80V%)p+(x?Gb%k_8*WR5wpDQ%y2gO#$I>>C`IX z3CM@F30YrOnIFlwXpADPRT2bC;v#u1g(%9n6n-QlMkiTzOn9v61Y3^Hj=vlyw9#qD z7%I@%SWzBwf8|x@vJB_GdK(5$1gcip?p{s-$voPILBzQ%2dU{uu0*;W20Us>V9U zR;?JzVG`MJ=d${J8O~*|zCyIYM0e(8%Q7;0rf_#gFqt4Klp~l_C1a!#oGb&gL@k{$ zl+HMkD0wVu4Qi+x(HzToqhwHJ%vBP1Eb}tdjWNl%yqff~Wh1XCAejD0qA!<{&P$Pc zE`|}hsxY}Uxh7PVWy@-7d4Y13c%3TcGFhcw&#^b4)V+y`uTkaF<#LtkNxXurhWqUH zdJuhO%$Qg4V@_A9%In%w@o&DtxOjH!Pvl~3{l2lp%&V^`%t)jM=?XX9%)Cy_G&sj* zyz=U@u~4La_0)i`5>M&S5w0a@9^SZUCf2+oxm4b)miZc^Fs8^y5s)IGN{Jf&^_-DR zNMoV#oWFF1!E~e(g8>d@7D-^>aiq*-rOaiz!e&5r5FVf3deASGztLuz%2t`3E2LAl z(JP#1s%(qyk|($b?7rK%;uM3tNHblU;8r$OI)&%a!)b!s#3#4}r%CJzAqaSi#Wrl`EBJ#CnS*Vo@^3u_eUov8}P_t@(J#Wk4|8&9Ex}MM<d zqyo-U*$DX}Qg=IdBNZG6r?PRc2g)$^0ScVH#0uC2QEhWB0|~}-HxeUMS(US*(m4k> zbDd*>!}#yUVXRbdo0B%~qbH%6Va!x^Bk}_b9^WziFGk{~nZ9-=Y^fl^dRXI>#l(Bm^_}K;w zLOC-QyrG_QpCmk}9mA7$3(#F!q5vU1C!GOV2bFVB*ME`qVF8&|P;&xvw@`_YoR2~v zEdbFe?50(4ATM-Q&VfRM2`E%({m~N{s)MjXc#+XUFo#I)hBP@j&Je32vGnl?z=2Jv zbn&~AmvblVCKCpEP^!Wut$(NHQih6h+$*8C2t${s0MG*oBqIZose+6IQ?=cKz{qjY zu_A*o(E&~&7sCW0E)qf_trwh7`gDplHA#$HDv&BbH9(Q9YY0{Q>Zxv=8|880#29XlK zOccZn$>p>lK!53C<fKRc z_YKAy_u2Sd4Sms-Uyo%rCN?IruaPyZi-^vMY>?(g-m3aT@;Y6#*Q|C;jis~|lK~qt0P5x?pm&4)00qgNN zHhNt)PLGz_i)*sI3Fb_{v$bX|%ZUHI2^lj7)5OZhgug z?84wV>Ia%8n8ViG{b3*GMuB9M@Q>24dkX~o$EAzbMQ=`ag=@k^k#u*%P3EXfjUc>K z`ex}{rEixWENv`3RH~h!pRsuIdiz;B+^y8%v)2*f6S=cB)a}+e8|l8Zq%&$sNe`e| zGL{QipF2vvipnXOc{RvdLWSQtc&wCux)Lg+0x1ULUd6Q64}_Ng17hPie8w4$Acv z-*r?6(v!!4NRgCHpBoB@WqLloUi5dz?|@ZoV_&D74A;jTP4RU09V`bv_ZKJU_4`X!z%w))Y@ z$rgJ`y)<^*=+rS5ySbhMX%_ov3XC(0=cXJH9?%7OxnZl8T}rd^R@I3qQ;!2trDBb{ z1@1!Rrqi(hg-tsf_G&h7t$lV29TKP6aR8n_*Y-_GoHF%q!c+DXQ;Ov&yBYWOCFrv@ z^yl)aUj-6I2PKr4a+MA)uA6#R*f}=Y#Q(zrh)+$u%phb9(nOZ%*w` zFiFV^kawy&OeUt}{Cuj8ft1X^Iyco6wkxE_=-gBWQIPN}4#~YaY*!F~iZta;;V>n) zI5Af$QHaUNVo~nA5NgOcGj~zgI&p38-C=0)%p!awsF=P7H-kPOgwOwRO=bN@{C)14 zFuAeC|H*wYY`tb?eX?ecW^~GUaZm0OVYBL+XTF`9%FO0lC{hyl=l&^dyJn_omUu9C zN7$p9nPOA!o{)TGG_TGl{%>w$*bbKMV($AaTfe-IkgX)EUdY>0Fc$7w77dJY-sfN% zZooEtWT*%x$L1)q<)X{V-Cd$zF*EO|D@>cq64#G z_Qi#Hex+s>&hOoMy~B&@i{45xi|g`Y!`EwOv#J(}kLLX#&Kn*M{I_PC zX1!G+zL=M+#152*4SAA%_BpOT!gOcjc`J--%Jklrnz2DOrroUl+cU1sMP#QJ=qogE%-@H0M7RzAM=T z{o{GE^Pdgh6`H3se>Vpyd2Y{tH5|g^5)>=*-wH7BNdCLwlj~DPLU@+UlzQCE_2##` zEV=cg#XsdYK{mzpDNuu4ad-ad@C_P=X^N@HlrO#^<^Mh0kza4fG#|)JNq8q;Jf8nA zV3*Wq5_+cjt>lp@nmX7h@zeZE;WO)t-fk{Q5Wme2kC=t<@sfmhCX1?qei0AxEH7)e zYaDOQG);MHmSyJ5dIT-AX4NAm4lNiIv2!NWY?etz5K{{@5mG4Dqyl5aqnZ-SqncuI zM!}c}rccC)8Kb-gM&Wk_)`)vGDPxjNX&CL3P2)^*nEI3wrmi$ve5{}-LTRAq3+6=R zq|~DqKr2gA>LF3_y@ER<3Z<0#oRoLWmO^uVVanTuDVAv|^`!)uW~SdU;>m(aa8Wp# zsa9c%_|Jk>5rt#w3rD|QINFj|e_&dQc&Xt2i1va{3e5)!$0UdY3LirTN4@uS(jdXr zzmWa9wP8)Vl5%bGJ-V6Y+NbVm)7pf#<=Q{qBemg7WrUD0r(9ckkM5RoEzZBaz1%pb zyiF@034!*qTguy~-d^4ZICbqsr>%t^YayX6D)-J?3OUt!dL04I> zjSzIdWz;}iz-%w81pK#v zFJ(nPSm=4M5PT80YC*S-m2!W%T&_mYJ;X|RB(xM(2oZY-#2yI{`=QVy{ZPnCUx$SI z1EseWdfKQIaHz#m>RXc_M0}?WUt+`e#qeb@IA7tLX!u4OKEfuDAf71KhO?T3r>7WC zTgtWYjYU0C+bv1PC(3bnx+f;>u0#qpAblPj# z-VOG^BiIXYcdE$KROEv1+MjRrKD^j9z63(ly;QEf5T@J9TKx5L<4b7Zy{PT$sO?Kk zTiS{|ZTQNe0GDvx{&H_ll5s!PJW~jemQZtGB^J99i+N&BcOug4#U6XHD?sEeM&vCb zl5#a(MX{@**vQh-Led^C_B>qdvdd|5K2Yc_c#lYl&8REm>Smq^s&TN~c#w)f_X`!l zsUlZ%F;5Gs1K4aY_8{$4k#Q!8?qGR*Gr7TELt;pYXGn=_V2QV@jF1nNpFsa-+IUFm zs1WE87Ji>q^}}*+XR=pFF*dP)n8JF?5lH#{fKH7s@r*A)p}LRDy{XfUpO@?YR&M+| zRiJlB1!_w?PnNi9OMrni=r<}SH4}2TJ_Z{6%M#Cl64#d{T+g|xaiTY)_gKTc&nFrG z#ygcOdb(CmivJ(6NMT?!9*Wa_!|L}ftDi*H?Hg3*+dy^H(>?0xuG&)L$Gi&Oi-~Q` zy1%nbXPL%bVBt&U#yCv(r6Wrn{b<4*5tR ztP~X7*#DmHd2_n!&FM(f2^B`6qFb62mn8^YK?%W$a%V>NgVS9HsRZZ)Yl{eITViv3 z8_#Q?SerHi{f|Ml#k{F>krh2P-ON%?PN{2VsWFlmsqV(@O>y3oiXpkD)bra?*FB|f zj4`@?6})l7Lo{J)sb_PkYip@?yF@77B+?z_u4AQSXAwwV z!bdb?2`PMJMSOFcv0nv7D<#hL`Whg;OcD%~khM*Vk0Z!XEzETPBscFzAEO^JL$n-P zsEetf`xWY&x`8YlQ{nADGbHMoMWdd&0&>^=s)Cr-RD>X?=NQ!$?Pb5JXrHR7=%Z6h z6*Qo(n&DYB!#MO>S^jH==fDitzh;2OiNr8CHW&WJJJ$rJg5r;wU_ww7c!lE_=hSVy zLdqMec3;o%^quMYdWQFjGPiLc*C>f;_cf?vW_rG!;TkiOqcICHu!0L^AY{#r%T*?N z(M*qemTQrm2gZ&1%{7!CW0W78DXWDPq8ERj>G92U{dwlqC85!SI|nM#OcgQ4aEYNC z#8kM@6wLZ{GkBF^B3tiSS7nn}z8)k$f0k#=EZ6*5!IJJ#@?e5X-p$zwmHFyfp4GEl zYi7Ag3qIy{o#oIOn0iPiS*+cHHo&hq?`G0z$fzJDaz9~1J~ zS=4-IXDQ9cga@U)T0q7fQphMfVz%eg*{%_@dA|QrNXcv}q-1ta9lUb3XV+|3dFGYzjw-nW7OPpFZ(n7>s1pa9HDM2tha~P|iM!;Cp;HJKOLNI- zq4_?WoYkml$q~Y+V^vqVjI)ZW98l;wE^@a25r<_&*=HCQFDRsjW>bMP+s!q zdTQso^5_1f&a!$gb(YmKa(BPQo=mW1t7T}lb9-ut19Lr(+~PVQr-e4eDVBChP7AGj zCrj&;(?T0UCC&4^dW%anj~5s!&?J_YB&UT|-oerwJ?6V(p6A3Zt~=zkP-gCBY4^%$ zQGyg)`>pdl;R{?_do1t`miETHo~+G@d7ggrT_@&UV>PZBHm=OO%GkjE-!SKzeAieT zp05Y%vTDAkV7_bB{GP4Le>X0YJYj=HgMMt9kG@C~*;rZ@@gak{>PzLYH@cgdk;$rH z^F^-2us*E6hmIb!5V{!_CkqybFNEHl?|GAGW1I{O{Y>%_)cTs*y5_jh#pD?R8)$A0 z(Ngq6pkVy{DPs}39%}aeoF0eAT4}DQ;uaSaUM`I>)e}#Sc`j(%kMjhD1j!fW>sYeDGj)NhWC0DuzcT64D|kl=?PV(#cq$jTRuEDEL+-yy`#-(F zvvGmz=>@dV4x$s0$8yra9c<#umv{%EU^!5*TqxKVpi~l|bjz)tTW;kAY9j@VSfsXB%JBqC z&<$lh0IRs01>H;@uE2scWNHj_ng_FW>P%3c1IqldRpYImMn)L~&=R*00ZDhe%;cOO zTQnPQ^Ze~Lm+>~<)4I`&yF=zq(-_*c+lZg5`_vP+d7ik<^_$Q%NY48|(w!WiRFDDW zcxa2gbere>+g$Gl@`vK${l=^E2F3C04nnv+AcTn9JQ251D?y8XWhp@gB8+|Dc2`x?er_YSV7BpV+#y7s(c*mb+-%w>fgt)aOH0+BCN@>B&{;=%s9C9>G`aCe~mOgeM#GY2%2cJBT2&W-z@(WHz|GYi@Q z*cPbJ#tXVNOyk#8(Btm=D+vA&gFI4UyuX6xLe&-garY4c06fTt!aM?nxt~2h*|Es8 zV-Zl=%hmwC4)E#{{z!Z?l%eA>8hh+sP^2+;jH1H5L?NR z%Vp%yif&l!*|6Ak<6<_%VsH|_Gk8P=7n^f|{bS1aE zf5V@!UzK|p=^OPd$eAiOX?xn7~mU8w(`@{n*?SZ8%BM^F8a7?4@ zyLoot1(QCs)YHDyHRv~TP1x=g)mdU2SKjxN=s)6g3K%vfU71&7I!bUnm=HkBD$1Op zAhO*m>Qqc(vLHB+ZHUQqK~^rE^+MP5q^_>6&F^MLTj0dF@4?*Y`rKY&j={yx);_mU zEp+#Bpa4?F)t0_q@+(w4H@kH~nT$vwlFof1GALM!zo? zdHKRI)WF_U4PU>UxzaRs^X&> zcWB%Q^^b~E_j8aGat=randS*TF#C~v<}s)SMA0ThTHsGT-SwX*4O z7|Qq!YGZOnHTpEJ^BS*uls7ZUo2K>Z@s+ZLJf!nJpaga)fx}ARm=d^Y)M~%x_{Un; zcN*{dk=_AG-p|z^*ZzJq4{P!5_S!N1zuIJ@0{cUGuF=@Ws#glDR&;Yp1r^hfk+= znE;P!JgRja)G*25n9V+;w5Vpd&L!lKh^Pwvj^Cj1YDf8tCC?y@>tEU$|5?xVI(*+7 z$lyrt3fD#VvuY5FY8&1WozJ|kgQ=YTL$Xc3HVfV zem=Z&aO35(J@lpI*HekvrdALPS{q{sa08{i3Akfue90$J~i$i{TPl zT#^ZwFkIr<*@)&9z|#lgBGDq4EeKWwC$SR1Mglh30Y>BtuDWLrbsqW0A;94fp-G}U zd@)PJvl{>VZc65u8JaQ48YwtFIypE7kC!0a6c+0&|A%-M2X}x%hQ>ZUU(+SlnM+NU zG?PE9@ol|vz9~^R-?YXrG!_nB%kGwWl(a~X(Z#hyPrEepO~xWqYoe~mwANoBd7jfF z+U9EwixS%RCZZ4c=!~0I0CD~e1G)-_S_N~O$=4bkMVh}`&ro<|pB~A^g(!DnNV!@p zTNj$VF+=@*!Hak3P^}OK06KP>NxQrdrMGFvo5Cb2RXfq7db%(yl7fsuB55`Z%wT!~!4H%m?9bi9TyG2qA-f5` zmK@4^i3sPIT+)@Hb@;7AnoKOUn^++DfmaTKSn4n!QWNQ>5;+(be1Eu`6B9_^}0?6l-aB$8>v>&!Du z9UvvsIWr80%q1qOwiQOlw$=4&Z7=fd9VUMjKB{r^FdRDPIxx(KpALMVd#=g#`A~1v zaJg($48)MV%BOJQx^I|e230#^ct>=kc9!YwBb_zi_us>$4!x@lY@uz^p~&tIH~Tmw z)F#T4GTh&rZV|Y3ay>Q-?{Jy$mpj~lU1RQWUn}Y!-%8S;Z}J^%%o*-On$McWKl;dp z6VGbb{st2ftD0V~dXHC4qPlGu9;n;0;Z(QH!$azZLqt$LUugaG_;fv&v1{&d%TlV{ zq2aCz!^u(!o^OWxM|uX0VCJgRJ99*bf3|1w2*1sJ z#A#%VI;|Vw?{ymJeNQuVV+lHoAhZ`XmKnGll1GrXjvhhXrNrbl8MKwfsI2u{xdBT? z)b&y&AcwWEssjbe6zY1l7aeI!L>9O4HuR6%OcL3OG6QuGg)NY>=6f4QXtxwwZTO|^ z9JvSF&BfL{@5K??cL?_);dX1$*%71#ozOhb`4RrjxIz6|Ye+BjHJx?P&MLRmQRnXP z)wwAbZ=hj@4#*q1ws;H%|3TbXEYRoXeBw!Se_RKJJ zn}kdQGYNN~%6Bl6@S>4w{GyTiKR{YTp?9sp^{gT6V1#uEmto@{4AsE-g8{t-dQ9xP z))~Ssg+tq@x>=mx#{GomDNg{`OdW7?S7%+X4%Iuw?M27a5}JLjQ1v{|1q061!mZGg znc)AHLN?E+gbvAv9=XdvC#BJ}rfFe^_ppi1OUpB5-~+Up1aqG0U5$2VVHKt+9X`Uv z9jOFtszN93@R7|1yxC`6!UFi=nADP()2v0u$V*_&TBWysi@&_8cuZn&tXY-h?g-OF zP?ZV`t%Y*Uf1f~A+HI7r2$ZG+$B`8lVqtk+uFx^hl?49>o?jXLZqG2I|2@x0qkoEL zoY9}|`CEd265UGaX7hZJ;Lq~>6TE}BYF35n1QI62tV<+0Br{)~V9YnIeK%%A#hT-N zjOp(RBNpoNP2R_is3lcSPS?1?jSLa54)DOu2++ZpK|+Lag6uJCDL0~PIh*}`PR})3 z!|ceoW*wsoCM1y5>oKPjsuH6b?>6>=DB6pnqeyO1jlVP2VYtG|Cx(wLhr{+?cO7ZP zGe#$AR0n9OdKG%Z6EQ!<+!O&zfyu8qebQ)|NfrUWc`$5wH15qb$<0Jdpi;_xuMx^TU8sM>{5WHyX==Hya>3zI!nXiyBfDP{PUWx*7?^p zCgU@l>%d)Fq5=~dvlwh$W3HT5f_ZkKN@xn37uLQvY@QU>>P<@YweMv=VI}}w6ZO%3 zwT324Xp@uBl|F2|FOkjS`uDY}Fe4KiHzoFu@eW0xHc@3VVYaIh*4?lQ1-}9ru1jRb zu<>J(NuY9w@ydOXNYj1H@~sgNix&HUXy7^s$J*C?mr1*=5W^ah940>6VyveA39MNr zT^Ry2iQrbR4g)hAecbj;Ivx(*{2Easr03i6@Z#H~DWz#sx9<_cBFeTEM$oLUfPTU# zBy{1B+UpR;KAaHNw<}7(Oe?rJOWxLRDu-F1oyRR zHRykBYR32nXqfA36a8+Jej}S+E$vtc^|bbyT@qF<-}bo@t20 zVB2_WlHHm_99(3KxN?$UY9t>=OK(n8a2S^|PI(d|^89f&m?#*tf~Y*gF`AliAQmqp zIR74=`en0A4hbzZTPad-lcXS0A0-{`j24E_=d3)ck+47mN8-b^sU!UwPvJ;^vgbD= zJDlzzUk#|F!D3Q@w^!2S4rK2XJ?4>!taJ??8RzOuA`E>GspCh=dHVzX(^$1>Y$;?8hz(I-175s7+>j?vJwDOfJ7g!j# z_vi(yzL)%6SFT*S)b+y!L^cCH}v~A z8iqss=Ye@+-*ccyuZ_WBq=8S(e%2R8uK9LVEDoB=rn z$|q;w6yjo)ILoe}$6X(kT~6WD2TH^Q{wo)Y64~IZyBI(TpOX0>$5)Vf8s~xC=|(_8 zP=4hggVF210Ysi~4I&js$hgalD4}jP8EqL)Ccr_+#|xl7fI#_|l4OK$FPEc7RSwufte?5ol;`Axnvs8cK*DBSoRimtc zC&emR1_v^aI;+4&sgzLC4N7Rl7$r0+TFI=lj`}r+>IRNT;h|qADVcS#3Gq556Dwc1 z#Oe@yyL5%RLcl~I$xnTiU6+*}>+h0n0(ChKQ~*W7VwddeiERqC1mFlyi zh+{GV3{y4(0$0ifvLz0;qr}MAcDD1jA?YKL@kGV?p-|K_nQM zjRRMHkPQrhFbF7@0`*@EG!sf<`TQLU68*Afxg_xBMO-2vt891E5r{Vng}N`2sBo#1 zN>EB+GQ4nEZYCs<=;RAH3?2Y=oFm8&mw^-*4e$;#)a?6xYOWlniw{|du5nz^CFG0Xp{P>fbpOP+LR3xa3 zn2+%;BpIpeqAVJj*msaj z7wbomf(-is%ykGf{s0!z609b;$%sl6*vP^#0}_OCplk*UG{!|zM_?j*0FTk&m;rfm z;an2Vb)#_*LzdBk^cPx#bovXqp!NZhasrvdtI#g7+Fw5Z?`}9(Y&4XjQQ46I% z@FwxIuIE4h{dp!10$%F6Lf!rnn)f_v`F$5?QoD61S*7o~I?n-kb0b0l} z#wiq+E?NIs zWG^e7C`h-3;AxfuzpT(9O3KAUXp+ztkc4a7gbEC5Orjvu34;1blqA>g>)geQT&!ej zVM_x4$$N95L|beCSMrH5&T>cE-S`?cL>t;ZYw3%pc_DggTyML^dr_zGCRR|Y;Zuu zP;-Vtw?IV#5JdzSuP<^SS7OE?IJ-c=AQ1Xwm(&q5IuI)H9yB;GT|k^J8XUT=D3uGy zl<0DV?)&!_&!Z^LWJp^nd~+age+9;}V+DpGJ0uVK_BED^_zG~qGr}a1rQ+6#f&8-F z2ZIXNc-*115`esXftfa{2D_-GSd+k_D3T-=nQ6l~BwHU=f^6Ej&ErhVtqIHaeb+^K zRizXOGT(Q|DoPedVg)iva*bu;LG1)FcAGYa%BM8lSplSG#6`Kgv+`L^kY!`J*^OH^ zrT@$Db8z`6@_{y(F|jsEIBy2?jL@XrY}L?|{nk2i_HBfag4b67>LOKDi#-ORhc!pp?Pj4t0G5ameIPUh|G8l$LMe%%XI!Kyl!(A+$1ve zLU%bt2Tg)`*ifkhVnXd@CMl&`zDi4=$Zq-az5!6Md#(EVELi|Rw0%Q_B!6XkVMOy?KSCp~+1@(%v+^eR;2f=B5fsLs3CoZ^gD&5`ogt)GCpiTtx|n zm~YniKP#Ki-1c|xGiWtCbLPyMGiT16b7r(lHOmF1wQFP7$EP_I(0RJLjzAj6QI9Ji zit_3>gC=xdwv*$b6otKGm&Wzc-xy4vW+x`aq!58`+8)}@R-(9(m*swTL=}3dg-ZDd zKsr#_@(IQwADy99>0g#>;1K|`IXADU5E!@gZjK5HVaikOehWIK#^3Sgz|ot?lmu>R zdlL@JMBxavVn6$Xg#!yl!H@oD2|Ta(ZsXo7%t}CCz6`ZQ|FXj;PpnN@lS)BHm$2;U z-kgVYaL1dPu&9(dGvRoSTU1Kk=!9aNFsUflsfSJfl;NesA#66lrKb}&uDo}j`|>mQT@&0>nx7r{`MLYd-akJ1 ztr7V~-gEE$@bEjo_|seep7*0yuO_bXbHDxlC)PfGg_NCK{rDR%#LNep@A+uhnc)u< ze?>m}YR7tGUG!&o9+rBl$**FM$Ao{!=AMYp@A3IVuSumkMmLXD-!s0id*H>VbMqPX znx)MxJ{;qmU(>j{YKf<)sJcpJZd^zYWPLfXV9Bv1O_~O^62GZ(Ok2MA+}&QyP&B|@ zQNG9(adbR^J%)%{bIz;6dmnPtx*UJ!saGVBK%m znT=Pae=;Y-BO*?S>V~#=3+fm%)vNl8w`3^AYKInn3sL}dCv?3F)yWIO0#EKx(33YL zdh^X5)sV`o9va?TGY}H73Bukmr|7;=kr{<+E+VL}wp2Bh(ChjTr^~b!nRgy0pJdh* znRkVVhb=Vs@8gQM`Q^QM3x^gT4VNDjg@TY6tYXwbPl1^^hi#OAxO2QE+GwqB*VM64 z`DFL?5P56o{@mQ$m*pIy5f<81>re4~fvjh(CFCyQsgSr!p2nHw8N?8{~iS>rD1k2VB2J!>gh zU)moMy#?k_|54z<9$$zfvYl^{3D3w*eyQBX8|5$aE9Jd>p8Oo&AP>3cr`X*kOszbX z_sA??4yfs}o5%D1_-S$@UnsBRr=XTj-o+bI?7Gr3uOP4xoLJmS_YQZFR)$=ol^S=Zpbt!i%0 zeOg`7{kir1b-Ok=U4?@FQQYs&GXzwm=_%(NSKaK}=2Xp{TQ$33_lkO-_paKOb*t~c zyJ3y6_P#H>9&+w^^o0#S?f>dKFPU)#QB0_2t=BbDXF$$LqUocI{ntE@4gm ziiW$_wcNM%{?%VPvi>(4UfA{PNB8V*=>Mte+xwpS@jw6Q`%nI#?>+Nk@aM0-d@%IG z=YR0RfuFt<_?PG2_{ou@d%i1u*P2;bViqHrl}7WiQY*gA=22`-YKM$42pR>=cnX_R z(h_Sz74c3oHyLHjjbRcN$3<1SBj<0u?X)eEc`&%f~yz$~0=FFZG z55J+>d`6`%I;_guqiL|OJ1@Pw;Ul+7GykCao0hv;S0C6|*=EX_W8LiOF&SIqcRNBj z5m~pWv~ubqmBSb}Hvh}>sv=W7v#!vFc`EI&#X@3j-9RaG&3|YB$8M4Xn8my7Y}o>_SY`IoG;va^PpS&^~g zMQ=`{EdW~hQc#px_aQBf@r4!dTSwD4_E0fwJsZQzVbZBkW^po|Na5<%ZwWrSp+lry zs2@c7frngT7WsQtC#ZPImY`o7m{8gY!djNznU+6yrb3-r*)1f)IRW#J#&!e5JP$#N|eqrD0TG?qDs&+YDLG6owg}R&nQUo zVkc2*VCn}CavHr_+Qa~mW+X6-t^%Mr!i_qh(}4CUxL$0Vm3Dq&EyZh?t$`X!l-pWy z!CEn5-O}Z`NYP_3tI!Y~JHTH6^&_;0T%OsIX&tdL6+Z7pYi$!9Q9I~RG!)9~`FuYR zq#r^3kRnb13voqt6ze6c1KCVTJeXN`fwH6~(~^z__(BKT#_1y3+mR&Ynj%0zS2KX> z^3dDQlq!Phf{F$T(@e(9%7f-;)+2|TGETz$U_f(^{(py<5; zQi>&OX#&`2W1j0)uP$KrKTC?nZ5H{`G&)5L3SNYIk$~M6G4;_ETmgQ;?oS=-MEu^_A&XE8{9ZJrY zS0?(*#k4S$N*xAB zpJ^RN9cLPVpC}-_0+MOrbH_1+fCY8OQ3R5_E(RPi2sM7kFkq($OXHAf(A1KQxpPnr z2;aA+@%}L2rL&OF+0X$n3U8tCATfu^xdTG<1GKCAcVB+7Hn?X3b4Zs+Avf=gB2}PV^GB6)-_Zz4^8f(c-*@fCm`bg?wDH zhZi#|^KH%&n{4EZrFX5;5sOr5Mncf0*l*d-rr2lgk7bur$L6lHl;8L*tR81=0V8IX ziTkJSCeMhkWp+^3U$P#kM9YmjR3MI&@rL?Ne@Tp+nrg zAB%luv5NUc@DQgha)}2AcGdY5l9_!dELIIxijuQ@m#?m;K-nZ`ILeKk&=(}8d{dq-|b*VyO9lT7*9nV(Xyz$6vvw==ijyJ8UL{Mq|J=A z8~iw^SE0+N_GFg&3}Iu6g1l%>#zFz^1djX51vLXHHd208Rwv|~L70cR?t-160js!E z<_1edS-XoXj`+qg91bVS#n8YMQD4#bUzn0OzS2%EMFLow6p;Z_({xa7FJx^tg}!&K>3->H3*Iy+6Ha}*@jQ?K zqIUlbRadNZVNp6377UO)pnK8WcEL0zyt4Ihv5LD-S~g9ZVh01H4b!ClY2ZhQd&>v7rVtmEwS8{y z@HsBukGI;rA;qUMulJqMpiP4ttT9bv0{<7y>-}}ykC}6LQuQQx68S*UlsVG>E@i&c zH;OMh=O}(4-$0j^iS-t3)RA0e)@H0Ac!Ulk{0^`KFM=Bp`zWHwacgNf(TAxBwcG2! zqoAN3+;9xRiT3UGgzUq!A8h4OMkFB zRhXI@I>$2yQJ85B;N~sVeAi0H+?xZwUa^Lnpn1>)Db_`M(FmvRqwh5qqrK!}8r=Zo z?Rp%Thf;⁡ugQJ=2fwps~`5tJWmd=!S| zd|PZ4fxlSsQwt=F6W!-?>{R&)GmwkPR9ayk*Gf>0^qx*lX*ab8=W_OC4QG&ibrxr!mHQZ;+LhC7xT8fSC2-!ZEw-_W>fsbO9< z5-V0MF*FwCw>HBTrnc|B_^8#*YK>Q~HkeA;S%G*mY@9xYy<8IPrVuOLQ^6O>x<5YaIHfa94OARkUctV^ib22+GDTAN6x14I zbTIgjvWM6j=4UDCCv1|U66|6>)Z#lk`upeH7G`f>b=r?JS=-X6$iKr z@*XZP5bbwx*J8|&KUtFw*NbvnLf$n9moySDb~AaAxZs8y`0!Js{{64J^Ot;;HyN+3 z!7DWTPLao4jw9UlogwNUrPaon(w{5TA86@ylZsyP6Ifi;s*7%XrxzB5#ZYZ#vHO~# zE;Mk_ZMF=bgZ=w}BLS`bz(WQmH~XDd>?~@(rC|l_vQh5@DuUX1yngXYEzEgHYzS^a z)`m>-Ch1%SyaPBAY6CUNLhwUiZlw+UOjLANBx5u;WdH^^)+nQP+X1?Whq~b@h<;&aNF>9wghhwQX!CJzZo|7wLJhW4kI1 z3c)0+;9Fp@dtV_TK}FQHo?j8u>qL5UdLl&h-oqrs@u-C2XcL!jI;oU+ULz@~e0qSN zoD_VmDds@E%tE+w3#FQWO~Bo@cs&v{H6}nk;5Su`hto9D}0rh7)NE_ zuKnxXYHK{rXkwNmoURt$)X2V0;$=t3#}13}axw;*qBEGwsWiZwysr^oL^?J-%ohin z4ski`Ns>93^cg_8e?JW1fj6&LV7Whbt|B5Or}J9Dv@bl!POTL6CQQcx9}cY+4FnDk zD0;?tzD8_m-`3vNLpFBp=}l^F z&mbM!72vI1D5O3CY-7a~PflVnq*v*B zh2p63n#|(Nx<3&Bh!U+Imxd}ct$!l1gyeLH(g9W&i$H0hPls5M)y`^*f=G~w>T)ZWh8>wS1 zg1C{Hw8^7!({xT6s)~s>yeR?;NRea&Z|(qBw9-*-#B-J;kq0fW=uYXk zj% zBys%#A%Gtf8?VQN%VvvkCE5t(iNv+&3MJwFfXGj{ztZF#2F^n7hvd~Jk|TX*)}AKm ztFyfSK?~RJt8MZa*l64F^sHd?E>2U0=lHY2<@Z#h$g?`7;H(j|MVjKutjlMkYa_?k zJHvg$&vV7zLN@C2a{+B_v|f5`7Ny5q#D+KxUK>AD1x|~?SdHkfi>}}_(fY5ghZll) z`VHdMvQ5JXVb^iFb^Qp}e!~@Q<}|Kvzzs^V`7D0K?|38$(0H_iRt#}$Q?aVdQYhab zSM0m?bnV2toQ}YHd^H@43nZX)AC-YOx@I8yWAAk$>k?>HE9WKBcqO!JA?NVw*b^J@ z8fN@lCM^O+%Z7-_dyOEZXUQ1=@THsq=7OvnjNskPdbTN5W{Iy4u904?h%KD!FpdbM z*Aa%^+nr1&!vI%5wlA}^Nemtw2!Ibh{EQ+k-EfAJyuq~FDg7_!@qcrslj7Xjw|VQ? zJ!R3r(YUnV85^)L7gCY+(wLLCIs|fnjOGAW?m?o}G5?VxjX3?`WK&4YtVb+u4I+s* zoNiq>$&6Af!Ai~n)|5kv!%3xxf75|cz8FZMUeb}n9Ut+J+SE)`AbI_Hy$-PJvN)Bv z9R05k$mjUW@{O7S`5MthMdl;}FB=b%&G)NsuCl`%2T*0avom_PJ-+H zFsGA?-318j6v!67>DbrixLh@2JYq_bQ@Kr%vfN3=8{vpAOTLTCmFIA|u4rR448HE| z3r8m98gG~}^UwM4LzF}7{o$3d6S-pC6!?&wG7=jdZ&IL)r#S|ei*~bx$@?1Yp%N6C zW1?&ykjsg_-vMPP#^q9yD+toLIViA^qKYvh+>g8HB?>ti8ERJ8O*6)5hK1ytJ|fU7 zkQz}g!QC~2U=Y2F1!QZ@Q2|;2L9DSkO5%oDgh_P7L9S!XK>y0bNRv*OP0es7pHgG# zcN`}9#!rz(io5KBH4IP=VFkL}eOim<0<(n~kjn>>3f;eG0i6 zJrp}uF?Z)v{GX-V*~~BnNj}BDM>EIQu;i0;gmf&`nX=BU!z8)Ugki=Ub77R{aI>WV z*1|@T3!vyAGtUJoLfkB9RF_=9&lK_*hhNr~x$Qbjkg*`TVwQD$&ak$LG340G7+qO3 zSsNWO`#oB=FC6n>Z!*O$tI|)+F0w})T(0qIu&Rd93RCxC0^Ga&&U>0$Z(qG^>D^yg z(ztT*9W8eSR;~Erx?NnYgVZ%aJ`-|2XBqWAYr;Z+-=4~OT#1~|+eG0q))w0+Y?dN+ zgeerRMjIKOaGi>J9mehkjW6rXkPS9P^!SM-q6O^nD$`$yx*Tx=D(WYH?-u{o^;JCI zz)jb8ltOW9M=%C*0~9&dRZQzpl!=xa)apHO+yW#|xn9NfoVyeP(d#JUaxmc$>hte! z;xz7el8^=HM_sX+k*K~b)-VzI1|MdIM~Rlo-NCdO0m9OESTvUoLe2T+VkJqkClo z_oHYy+D4v@#+aw0-z58^BJREo3+J)uUC_TPjtWGCuU!y*MLa~ z!9w5Gwhi9U9I~yuefxH@qy@oP2oHtM*phI1p>!NX=ly{Rf%EU1LWD}TWGE3SRDilm z(Asc^2I>b>ap~D=lUY@YpJK+65Pg#DyZgk=k8Bb1Xoe(JG>L^usE5 zm{G+n*JJr`a$1Wq&3>^uR>Kr1*wtptWQuAug7}%V!HPWsfs+Oo@be<-Jt}GL0%m3; zPE-90viXyx84DQmEqUKt0E7C{X`84FX)#A6%U)-PGB9rS&HBRi4Wg^yHX4MEjO&IJi!j4?oV7s`{| zR^G{7p`sz<)jrZTv~N}FpNk`B3qD;jK?`|6N8zCe>JT%UM|63;Au;d3fS{{^hDGiE zn&@P=+7g{ft|+xXL5ui(=4I!WF1duu1GSRQ$~%Hp*vRM0DW#J^Hl_0d=&K}GaW@Co z5^I3g^r4a#m4Xz!w2@M2JVpvd9m80~dkkeRdq9(kkaETQv z0=PibnG);Uh1TfI-`cB{xj_R4_q2C+Z0@_6>S*7j__f{b8@swU1!(?qL>xB3lvxfR zwX^Nv_Hp;ES(#7Uwzl=DvdL@}(gu%K$rZiEp<~zye%y0xmB)0{D6;4930Ir;n5al( z4u%mBuI#VsJwmQj^-gz9q(o7kG^t)W41j}QxBjVB>({Fss!G-3qWs1p75*b}6JS;I z-K$UHT*0!vp#qgkd0x(39O+!PmmbejBDD1=UAh;+R8`CB<#$ZElimSTwFY@dvFO=k3>4k;-RJOU%6t1R(w+0c)VTQ#8W--e?xlp=L z%bhq@%w~hZOS(EYcWl|w-9`fjs@2_nq-{$Z0s`FHs#UY27b4v23qy)$DnZ8Kh+r!>xUtzybE*bo%HAeFo2Z%YtVLrz;?2=qqCiCZg1bT{bpfv+m7w+2w-gP>TZX6-GU2ZPd$*8n;==*7K&+UY+-`q z*$}T#n9rWBQ`5Zx#=xG;W));<5}xQ~OylIK*<`ltaA3TT#VYneKCM?7($em_1ZNkR z{nGPZzF@D9{W>o*{QFEE`x71vWPZ(f6@~T3pQvT;Ty1(C*>3&ORmlgO!Pbt6CAc+D0~YcYFnCCfL7h+jc~m zK9{+qy|bsgtFvR{_Rp6r?b`9cR>Y{k$u@I>_IpJqYDe+d9R)SW%^gW z!;|*<HP4Y4pUT<>LTOl&Uj&??ezht4*Rv_L-vLjt&`jl3VT`%AG@&#dxwbu zSw9$U5+g8=xO~A$H;)J|sN1Atax7)iK&>%wg|4%(q>5E^zokHWqL$a2ErmEk)u*h% z(r>+Ck)3iI-8t{ak)>s5D1z|D5@Ub48}+#?qMBh}noRC8lPU zXHei!$vqRp6+o~U(YLMH8I9S!xx-I?e6OOH=C18M+c$Q1Yy7j7P3@# zPe>7BpHwwu5q%z-R>t2=Xy}H(IH;0OFSoQwZ}EqPBr8!JogF`1&75)QTfsMFrxAdGg+h!uI# zlgWTQ+cI#<4bQ4R5udgC{#mn1>1i5lIbkK=BqeL{s{n@2!LQCKDB3tjo0CQmREB*ZNfb{D!>^uQiM{R5yNRHegA=r3DptCpFeOmjRdHA?B_GKFT^1a1-OEmUH8aw~rV5-#G8w(W^1PL_~_$t7czQk-_ zZoeJp6#pK+!1(dTTPRbFlUA7ngm#aD5=pg^M4~`R{6n-^hTMuTn|?xl{J8p>>Tk%@ zE)FPk8YsDib~AI|c6e>m+t**{h{lluNEEN+~1B$hlQUG+b%{r_2c|9;hzpR*J3JVmp;z^+l+#!&0*2D?^c&%+t~@xOoEljokJ=(Kj@ zbY+Z?FjGEezy1N<&kNB_TXtg5Cm5r2O^wH$VDrD2et*6uEunvZ*Zj@3uUoLjUO7*t b(%LIM_{;;6;=hBWJd5P-WBHyhrCI%-m;;Vv delta 42311 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 diff --git a/software/roms/USER_ROM_256.bin b/software/roms/USER_ROM_256.bin index a1add12f3e6f8e5bf40ccf3f26bf803041cf22de..bc6310b2f0a52f6268a5c4041575d5fdd66fa4d0 100644 GIT binary patch delta 214847 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 delta 188301 zcmbrn34Bx6l|L?dk+HD>StQ1WgeNJ0vAlpyOyYvTc*DUPwpo&Ni7*1(*p}lZwo~Hg zcA7HHbeYC!(`DMGNm@^*)6z6eNn1}EOCd!{UK>*&jN56e5Yd3Lnbt`snTr4SocrF> z6HD6P=kGSs(|h-xd+xbszvn*2zU&-}E&t(;WOLH^&g2I3_r@PhE?T(Bom{$PQR&~_ zRQgSlbaecW$xAF#%H5{Wm&Y$Ae<$xhUMsLz-#ZtKoXm@v@~yF~{H)i%C8gNTe}DWJ zDa*{i9{*iRb;++^i|v-ow!GNt{0%YtO*bj0Uz5shtMT`wZ^=2ne*^AI%KyH$=6dDy z6V0iQCp{5Mn}5@I`n;TRX|rwVkIw}@b}le+F7V8`!1L!S7X2|`diChZh&!ot|9I2p z3iJN)Pj4=9?VsG3pS*g>yN&~s_WhIPNv>&IUftQZVr%k~N0+49hR-e>vfp*?K3`LX zcl^xe8_WmB=T*AQ-tl#nb(w#5+&LL_bWa`)JAC7xsJyWd)s}JdyyfH4*5zjR_~xzGW>-zxt0!OoVY#WIYVt_vmh<*a;|I1@N*$9y z<(KCwIwm*79=<8*)Wb_&$Mun8Ze_`|Qi%KG!L3WHHcvkP^n1ZSD;ekPxQx9QjLgx+ z-TCRy|D>RDvf{&&L$hHJ_vq`}+>_Q8ll_Ok&P~0LbIxK)fBxSbm6M~TA0A&-{~`H~ z$v+x6ks z_aA;f@A;*6(~G%|#>wz>a1QjWQ+{&37wztiHTy4~Qyw~ZlRa8)c9xq07ti7L!Pt`g z{2LtZ$t64J*OC0P6-#ER`FQdz*&E!Gfy!6u*OC0>q9rdBH?O$xw{t5^)I1l+Se7cs z&ttfVGH@~{YzUQ;%`UKhJ4C0Wdv*H|of=HA!cOG-CQ1`-~*@u=mdBzJQu@VVs4Q#U35 z>yjk5snk9G{hz1t1*{6291Gl&Q~DF! z`e4(>b?(Vxnig)GTTG%4=Iw6zVzY(rN2U!OCL1j#YCWzr{l@B^bo_!r|Ke%1!x-cC zEiJ@OPe?6aGh6SOeE!$ZACgj@|NQg6EWP+<={--puzjON2*K{$tbxhW!O7CQCrgJW zOZ&!acYog8KYnWWN6mMQSKfL}-M}OSBk8^AAjD~S{Oh+inCWxPc;0Ol zD~BgHmJUx2hg?yBt@zI5k&5q5hMqbXNIhSA*JR0WPAl)650>8b#67p=S>#kp+B}o? zw`EJ!mddvJs;cHj+`2P8V}54Vf`yB$*|x>kT#GwZmF*J!iRWu`mgMFwU3Q(;+hnS) zHa=f@{c_3fh(E>i`r6uf|C^mRthj#Vs{GXjdYkGUjVuit`4>I?|p{DlX`AN=B% z9{O_pc|8-5DIl9n8@}?@ul?KCzwyn7^#-kt++QWp_1}8r(Z}>>bkWw_%B&z}So!Vm zO#J(I|KofA`F*WXTT4SdHBdR}2Zw+7_>Z3WvGx@G+XbuPImR~?Jo%F&PyO^~@#m(t z9a|a+f&h^5^GU-qx@>PXB3ScZPygbXDSzPEqgu1w)%Dy$^tV3u%VXLT@x2=Z5QM5` z3(0~dIDS{h(so>pg`R&w`PHvqoId`W6DLo-bo#$dw^i4yEf;eEu~TLe0hvsw4B`=8(c;g8{$&%7cUj!$)Lest`>z@uY-T>R+RUvHQglg!H|#x|Q%CdRg!mmL~A zV4fH|ko3aD*iFf}zdN~lV(j7M%!#odCZoku$<^N;OKE>-?2gn=r507U?p!-Q|Bkz5 zFc@Z5Ds62b&Kxr*C8v<2YZ7fTJO|ERA>jsj7SA>Ej%{@KqbbtwS5 z2aV4G;Bvk;^iMLG?wN@*ZshErUOi`Ot!!$qX=|6jY8Wl`JdZ3scznG9)*82yqlN~2 zsR0lqod4SEmo(6x3m!>*a+R;Ux3jCW zXTRi;di#9)`#jxQ8RDjApwrhQ^$&FpbR6*ZYj?dx1D)Mo$=lcG>yx^@{r#T(^sxPa zS8Awl+E#>B2e>;4Vwcae*V~tsq20fL< z!FYQ2YR&lZ6*1Y-Po2PCSs4`|T}wTNuahdJme%IF)=DVmtcytYB1@91L_5!eH?+D@O>FDtG z4uDZriWCzLO;|FKUJtm}r(HeGj_7BkPcnHjfP{#<`09rFKS@l7$EJThw zVLF*v8HlpPdee+W;|^cX-QE#_4lScLJ0o;7-s7dNkY+DE>2^%ywN z=k*rp4<+!Jx2GT4qnJ3Loz@s0oM*5LORj;>%Ai&A^eQ(G-p+kaMjvO`prOhW6RoR)v1zj z)ei0aK5eU-*?pq%aoODPzD-qUQmPsDb_@zm)ObW-3w^ea)RS}ox(n;k4N7+w?d|Kt zul|w#0dIF9Kkk5{8Sp|_i7l8{77cRK*cf z5&$9NB*>jTvJ@X$%Ky7yD_0941-Z2eW7MYRcB#MD+tIlX99+nlsRNJ>FzSVVCSh-v zrvt1`qmlm0%DB=zcz&wT@SIrN)j;5wy68umie|wJB!RNj#W)(>+v9_Tc6&x75_ieh z-3i+TahEE2nfJ&Hffk6!*CDh4FzXtTI)w_=v>fKv1+&;sqd~&}L_4WVXjm^P_kEZK zao|vA{{dQi8VPEHuq~AOJF(&;Fe}8Komc~nBc$7W;4)QNt2`~{DVU_6bpS1U^OjpS z>dOzAtrD6}aHwv-;~bKe@sQ{Hsf!)70?f+#k^^x8kJt@ZbGu!{&V&nCZSPhFIYxBWXzRb5(yaLOO5&VS!^LD!Cn07ltcLm@SW{&siHz+M^>3 zE$`Fj;!vlG)lZm%B<<+;?i=jV+O=TqB)E1REYI|V9khOo-dee3OTBTXhRHIU{XbBg zCMXGjMvBXSm*N#dFAE>8vK?-Y)V8a>y=rSs8>xp|!EL0_gyfBgZ%>!h3lr5%-W5ch zjoe^Agl+F2dz!5Dy2!JYdn9NtO?|;!Ywj01ksx`&IEjoY^$!pXaDE$bC!d(5+0!-T zfpLaM2cgDDfXdLiJpBh$J1liWN{Cf~uCE6=8U1CbMv_a2B_jwb(Xj9+Vc<0%Koe9| zXKDyxt;i=G@(n^H_ZSQ%aYmd;OR7tD6Qv-iy8RXIywnfRkGz$Bb#P%m_WF8O4d?{* z^nj>_nZlhTXo43@ZYx<=0yPbfg}{66_H=f!j}-3#0%As;eel~Tl2EAy;rDfQ`G#a6 z+hRotW@QyEF^y1CBgPP}1AeJUlj#!rTP!0KAuE2On`R>5E0GNo&A>4lz67zRwUtbC zU2}W0)GrUf@#%)=2pY3GZ>?$DfpDo`yDvd=3RR0$LmyQ&cRX%gXbpI$O}n) z%}a^V#fV}+4K8>B?O^#!b|+v5qzB;XBChE70_+|*IYX;~T)Piuy=N~pbRs~Sa<8|q zYlPGz8;!sq3Y>$5B3j8@_uiRw+}RcJ45l@@IW6q)_Y;^p$Ukj z#<|utbHay|S8GlCj@G6)o%#t!gDKeSgDx82ISw2EQPjmVLL2Pq^2+^c2zIrVyAtih zP!d?e2u>YA@^tmX>FDr)yzozHam3nailDQnqic{vl;|b%9Hl*-J)S<2SdHa`IR#A# zR^MRH6=F;g@TkxjjOz42UtC5x#slNAZiQ-vz%b9tTWLg%>A?%?A4n+?Yh1?jsx}mM z@BKL6I2Y13SWebIf`u_NzL0CArkdUD_=)E#cf+;SxD=~Om|TU@SXM-%{e#^gCWp7g zFL9*lvF;EF7S?!JM~*x{by&lwu+=J8YfP>AaagqkR=%9lx>8{NM%>ofbJrlbBOTs8 z_G^8;Sj^6QIIqz!^8_^qMrB$ZJ0M3wiq(vBFmdfwnf6L^F+wvc6OH~tfvEaJV{Luq znVXHwYy_tsCFx6V~ zc8n|0PfbtpqRRcS$$JL(m*^fCj|}gFJ#_;Hu=K{Ms5*)Hg#}H}o0%S*0J4xb&c3*( zXMh-lIJv#Gxv2ynwY9|p8b@A0k+Hi(w`hYydBZjgQE=7e>Dv!$NCu!Eh6$I9E@@ID za=t!f{Af&ACh}64vclk#Pt9{B!>>l(M548riB#DKs|l|SOyIj4T`>f1S7M1gh9>|j zgtrjm4tO<$j0g}!3Ej~S#Wc;>w_frX|SKu_t8&$0#QlKm>?zg%Fi@ zA|d8w{B%Kp8R&#Zo8W$322Hbp1X|_4b%eC)Qh=K^O42G(Lb?;*?0Z1aAXB$7QurXQ z#jneZq%Pko+uuf;5WZgGRV-lK`fla%HR}t=lnmlOmIwN&!UiU^%(NIr;6q?b=tD|^ z-8JY#OifCG!h`;Vb)t| z*04Z=5E&TqQO3oy_ipGF%KEb$t7H>mEH!d>(4rS94swZyJn(9fH`ph2?u9u3=XAjy zfo}5q6OO@pdV9Sdq=SVlsFMRHXk$teOKBB(t&*m+$RnYA22r)BOKL6g04rRY?8Py)N%CO`l{0mQfZlk#Tf# z9~(P6`h5MqeFM_E;v3gW)!1%Oy>`RC0XV8%WW30>6RE*5m+}hYiO&5!$Vp+&(1DV4 zH&iKwXlM(~BOic=g;d>Mc8L4D{oX#>_n`b9vTj!Zhpf+jUOXKTVjoT|^U%5+>W3W#v>~x>#B;JnnbDXAA~CNU{}kyI=tw}?AC9rL^i6ey{4rq zvB55N7+&l+TVT8dju2712k{SRBid>!lRzSeK8%CtNig(wga(*^M&t)N4`MLn-PFv0 z5qo4Od{~NmKw9jeKyApBrT+VlOo=Gfz~tMR+41vzl`h?l)#!`tF!6kX1;ZY6 zAHwtjC}n9E_Qyz$0GgyUo=8oM;nZXaX#*@^V#vmB2j&iILG&2WGAoDyu;WBK9JEK& z3FM&K*hcna=M8+O32LIZ*hBf1E{?1z#YSlt=-ocZaa?~4kiw-@CR?cX=2iU|pG_5A z8A;FFjaiaX(q@VL1G%qa`Pl(s*IJkcvJ840%T0{n`n=ts9JyJ9mw?cFV5FaQ3qt|7 zK*331FQlEcy&%!B2XVeYPV@ituBvlSLIceK_#m2qM0o*FuV;{*FD(frbqw~w2TF8K zyL|g~JV0q=#%pL7kk*!jj--Ot5jt3A93kYaE1SVbN4zxqn$-2Sn$9@g; z&7RKvdbAUeg@O}oVNH{tj6efT@;qx+dRa_Z6faBN#iWD|$C@#1C zfHC3&tJ64YH}Yi>h|vu^P}ff;)ImR1tk?|YdJ6VaSup`Gu__`>T3gv(*&x=hO{8I~ znyYIB?{lIIS*0dT6xv4MpAAbj1hQDFqI?*qr8yZSxM!bFCchE7Il+lz2=&6!1C9Mi z@Ib)H${RT_u@&1fZYNaYRa=r?fuLdkoYbp4aMgw!7qgJTrMPM<)Ef>D563C5Sq{V| zPyko$<{c)P?eB#ABk@3lx@yyXgFT$Nj#Gki41d45pcfK-@3%(sKe9-Fca3xunWl!# zkE>$Y@1+eAs=T>s6Nbgh6!#BQV}8{>h;3C(bXBVM-0kV=MAk>t5Xe*+q;ahJ-PnnR zfhMTL2G3O}ky~{50~bE}{0{;rck!%U4%TSLOOPj<6~73|g_u5ti7y z_cHv{rg37aMq6*H`9D|`wXN=5Yd|HkG?ziv)ZHu$>}7aT)l^KFZ4x zyTXsU>}fR$xYV9neo-E}tW`UDbIv55)l&29mo;rsBTa#g1`{B!$p70l$!~-DVt28o z59@!q0<0cH6%;4eE=A!o4BE65v_zpT2-B~^hTEjmtbL@{OKJwY#T^F{K@k0!ECbXA zws{{$zTCKJ>`YE7b`23%&`_)z&<`bma7V=77WhwXT81-mEHuy-crS`a5ndqw12*cq z0`u;=L@weq@$!pcBo|>c&=~0#-HzwKhDb7RoU7^Ma1lBx54)ZhU%YK zMV^sy1>5Si25~v97xB1?vO)jFo4~A5$bQ+ZcJvrnkHQzh)Li$+frT1@fmx~klTxPS z#EGgs2rT7G@I{V@8kO|R2xruiUC!1aI?2jV^JrQS%E=A(#`lx2Kn}jg#V( zg21qZM>om}N&bn)S;{%4gqUH|t4}WqqyVy#D*`TkLNP4zU)qKtgTKP|g-TPM7$A?P zb1ChvhpZIXX()AhdiD<@H?9Zw9C-2mq29Te5*O`M`N!E9q!!4q@-ia$M=lp7i&S6h z5rvf?mYV*+)M+d=Lm+bedUZWRt6qAh#AF)t(kgN_ zvWHtIB6`CDV9HoqF6pOa8FF_pmLl6v>nTt~$9SQ;h6|i!!*KxcO*m_ zDsfv(s;@{-Y63YfC#U)|N*EIA+IoV%patF8OYVyJsX|nvHqaNVCdiI)D~WRIj!S1Z zv7IXA>T_YmmIz$Jm48Xd|i*vjg4o!GVx} z!GT<7Az)@@FjPu=iXwFGjQkHQh??~Vf0fi}KQM~M_kh~SMSh^7s%ODCm;-h+X?G4| z7q4c8sZLs^qgRcUup}_Ajg>ILRQs>#cEEsdqn@Y1Fx@ywL$&xqiR<;VRLO6+ML(${ z@gOl8I-yV(@dME0qHApDQ9K7h;>zR8Bq?4DecAGfM}%d5JwyOFu}jp0sz;mwf>i)y zb|pzgY1RJvK>&$LKZ{p$=93XX{*%QBc{J6P=4w`HuaEYpkRMhh8g%9T0m!dT51If; zqLz2m3S&w1RcK%-+6VCr4*1~vQc9X+x*xlVydJ<&R#jYA=bk=7ANEpU1g)%1DJw(I zuCh#sfzcUO6rwtW)H3h`GihZ+1QRFUxXxAcmr1VFscK}QdT#9ht2L=aFoH~`4d~P0 zA`#y1V3*yId!V33gtgy4h~ap%g4RvrF2hV!}De`}u2qsTTY<xaK(9#J> z(NC;YV{>bbCi87lr3}e8mNRQ>L@aPOwqHOeQ8U)z>GkZv5xs#<+}ndp5j6*yom7vW zm9dpPOROU$gk1H|y>XaA`>Mt~9 z7`G9mf{6`E0?5SWu; z5OtZ-9y}ZkM9C&{ci8M};KVUV(2RT`LQGv8bp|?Rz~QXyJG)U2+X+(-r6x9S65+#A zb0okslSzIwz9(c=ZxBlbFN~}p89|aK$-8eK2^j4nq8^T%5fCcD3qj$&@Xp#visRdP zny8QqP6aT+3udog7UvjQO|az91ZihEt_9%b^O}-$=_=1a2dTYscTF2xcH$m`aPegU zO2*d~;-j>X8jH~UkxLKGrK)}*x|g(q zF<@;p`>1JjQhWoe=x`czI0Ydb2}1wC7thLYpsZLJe+Rk2;2v^yz#OY^R*F?FoweEl zj{}@Ryhuu!`AXHt@O-uA6h~1h6ch$rF%Ff5N+yO8u(;0B#689*D6V46g0`Xhx zl~0)mRu1ZYU@1t39@t%Nsi~^R7Oc@^6OK%1Xd=xQt5J2nnfY zj~8_J4U)%?kLiXN58gxODr3iK2A@WX%)cO?;4& zFr|>1siLb-t{DQm;h_qMB4Kg-Sx18u1xMCQMbw|gUkIvTiLh(}PElp1V+6oWJRU|4WDQG!6t`a3MTV&U<&K zZ?GSB1oWXiDuw;(_C3!Mt4y^d@h=j_-k#35vfq41>!>6P zl$;?~ppQ=~K(F(tojtr)KfFdVRta~xe2fPkfI))dw@Hz%C` z;a1hCF%r$uL|jN^Yml^4ueC22+bi5-z(v&+>je1ATEwBF1we89wT^Ov8eH{Te@}}P zN28S5kx1{*8aKeP;n^FAWvH&wXr}9YB0UQsnI;-j#D4%s)t5rYN4U{XpkQ2e!0I2MO(POpdSC>kb34lh-teOSfqJmN|1b38bTs5gBcBH83e;mV z6Krx)c#~JlbPK;gbdkxb8FAH!FZ>WZgnJB=YDn9*U!9yrK+$xe z2F$*rvs0qi`H|{}z*AP7$P$m5VatorK&qYw%-05O(q7$4~gNx;H0Gi+(5o>dQz>)keXs1je2&xl5{J4@hWMcr0RW)$juc z;1{(b&Y^5A0w=s6E&&h#^GoBz&Lj$cDP0Qf&~_`T@*81CwzO8Z-YT`#RJLj_3(#}O zNOkhthN@)EQP)%j<|b@yp>By1)5m)DSooDH91V;yk4!79XO0mKk!Mf-Arg%UM3_w7 zIDd*Yq9j08#(pd;*3_{>Q$-G~bd+K#iedz5p@78pE;d-Z_R?8>4h!gz9{f@y@z9!b zPW&DM<}N&^gA)|>qNkSUqbZ~Qz8l7QM?dQ6pouuM0um7FoD88=0$Uh&zwi)<63Sr4 z{gj;$n+eQ%m<&H+tE%n-GPFzR#NGuMM*gT)G9cDn(oeo%#Zdy$ti3`<?vkn(mL&P--9)4_pg?9@w&^jbF~d`CvI?hkl-zX(l#KMMJy;Kzkt) z3w)d!a3yI0@E$OF_X9bZoYfL6sn3U31ohwAJj7XgQTQ$Dz8mgTHhI}Pd z7wL@EqWTh|GryqCEzwZ5bP!bQFYc4oRUKH(#;d(y`RNn_Wk=}+GP$jLQC~|`K*qO! z0I;DHSCj%CZ8bJGfsTBLSAb{Af~u727Eu|}Q*c;W@YN0)W%ppy`c541=f4s*Z!`?? zjQ|Q5T3hy}7!=e?t5=)|7UIF`k627=tJSPwQ1}X{4DO*lY;|x+jHwod_^PP za#bu+*~c0b0~e&q{Jj>90_T*G367?Uz)fb3`H5Oner$ z4DO-h@*AZMDwd?N-TBm2OK*vm4|RP%HQQcTgEy`9QCi|EJ(zh`!uc;jT@$SYqFdn} zh}{Ho`+z92ohl7vA-ZZhg^wFyS8AZoHv-Rq*=|!k?f&;8Z++=>ji#KiG)#|JQqvNN zo;$A#K@+_n@_s+{nibT9JVZ?;5$5C<@l=VMI(t-nSHNq*9xrQotQ3E1=5>7|@iE0#U1jG^jUuXrc94K+Zs> zO=8X41g8~A8+aL|A}9^!RVoBimqrvKAoY)m2uu^X8V^@n4t!jd~JdU11{Rr;V|}+;WJmYsyPfnZfzQx(GarGP2`}d@LFnci3!R7MGZgg zd=kW-5#fz_yWrFkD`;(1xEffF321W;t{^;mc=jN^)|L{U(EOd8WDpUB+MQ4k8#8KK zY~>=T)kKt&t!!U8mcVj@)2clDW+!_8TC*sstEF8uR1onlqcHi}=_yJYiC9uN|5%|t zUZJ)%kQI0%TPqcq-P*jPRo36F3L8^h-?pu$y`A?`c_R+epog-m+R%%T)?kJ-9fLJi zMF#;1rBFq}o3@!zn*)6H?Hmyuj&QD6X7_dw0*wW@72XlGCrpK?3*Q%lt1%v|0l>kH z0+Zlvszd>LrK`TP4U7o_#?yx*2VGS0h&>JR$~YxPUK_Sjg#V?+7V&x%O3`3pC<{i* z(2l9nj;p%Ol8=!)2C3{pv+EjXu-^3btR`X*ebf$24RwE4odA(errkkaDlj>)7KicQYO@g02E42!z*RsGF%-8MMy|-ld!qM%C_LZIhLzQ=!&^$;<_0w(+vvnrfXJ zc+OZ4Nb+TCkZ;IwGrqJamn{kHX7^AU4@IGvn6{@3y!G8B^r29;{{Y@$N^FbY>`sI7 zSK7=4G4=JvW3D3{LRpi*JkJUFIFvBt<;1!Kts=d|U&wvTbqFxebXn`O0sxN53PlC_kf>>= zDz%p-Ar`1S+IOh^!o=(mPn$LW4DhE+HW5P^6eO(!w`HEnzqG37R9|L@Cjw zQ4_Qm?KFUGL>5bPQb1YtHBv}sRu{scbIB?aM3{hXve_O8JjLNv!Z9H%qvrY$GR6=J zD1MxXdLZ71rO;SB4nx!PY#N$&G;YDs;DkRlP|V6G)o-h3N*M{G2M4FI3tKrDhf+iF z!f&CfM9ns(K48i4R8$HX`|A+^?6P_?klx$~tUVH^jFBN%-_w_sQKqA#zA;9qVWcwo z;Jpzp@VfLxb(f+@icr*@f;7ne8@ppR2wycFRft7n=D~W3H{taU5C=f|LBn-=Dp@kOG zKDki^Oe;oSFTvT-1|iodOf^EFyWsxI_=N$3Rn?s-HM}Axj)MLXm>G62*&U@}b^b5s zaeE-^-QYRoU@)*oEW!eB)Q1AB+S+;pz8dSR@nuAt$8D&oZKubr^>thM0w;0tvw25* zp|q>A9-l2WHQVsnybZdOyX)f8bK5+!oav zU=Q}K;@$ha(0q8W1!vA!rDz5c`Bm-ADm&;N#4cEWL_Nm&(hiS`D7`}h+dpJ{RD3YH z5F>aP!uugA8oO)Zl+bjfPe4z$JWydb>u9!VhYjTfonwRqH3AN#lc8R5aE}y{mOduU zs|lH|01^-}s5Fi{X%_kcM&8GuJ06)v0BUR3YPcB>{?TL;a6+TK+QC4$wWv#HdJt*} zCX`Gj+Frs-@e|GLIS>M}UTZ{a-Pv=uuM6)40Z|3T6UzkvlZO)#9bUqtDrbYD>!tVm zVO<;5b5=&|v5iS}Y(QEi9uR>1@w<#@bY5v<5qec0=@`t)*k8|UljatU4SXtYXw)I8 zy+lS)#*Ne>^f)x7I0T0IqLfddL=?Py0ORoLSU{8r7ble{(1^36&Vsb8>wpLUH4D?G zssVnT6am-uPn$TOt{;%5^1}`)I%PJ2Lr7`^*|^E zT8PeAVtS)pqKC;~b$g|0b7H{emYOEEqR<#*V06`G9A3DvSP27qhA54aJEVBH$`Y0p zVc#)`7!p@Pgn6R;8LiMap7;=pA!JmbPNOHVlBl?5>8UT2nhPbkZ`Fjk9v8G5K zCA`3-oisa5pKA)@N{>jcy$_VQK@goA88Oi44X1^8O=Vw|ZOe5X$P}!V2QP_F5&STj zC?Q2>Q}maT3UHVR_DA2}2iLV!J#RN7mZja`L}A4u(aVA)IWC%*p32|a2~>*2*v#=Z zh;fcUh8{4F=!tTMC_)s$lRcQ6luyQHWOc$KQ9nL}=8^CAVf&X8j_PU?%?Nf4gi_c2 zptf=Ny~uSTeN4^N`ZTN{LrP)6hDQ>8jWkByVp)3F#Y(gVJn8=;dv@jv9sbTTY_DC|h@JN(XKh)@odJ^Nngyw2J z+XUIb%0M)DUlgxe?E)ed6^%EoDc-uhB`YJ3bG0I4oA?>uHApy{Rq~JQ8yF5}Jz?K6 zW|r+1bKr9}#pH-(JiF4NbeNUsJ<5Z2rJw=-ulQrmN3Jy~H#aEPHcGXu$ZANDp=vwp ze&zg{im{DHLfgz0|FLmHXqUO-OwI)UA>cDPp**wl2 zrI|TOa)IM)c2wD2WL=n}d{ItTtZOUII4AsnH7mnwV~>QsXI8c(9ml8oEA}YeYAFbO znQuKBdX9dfq2H`{oo3uVT>5)wK{%)4Jcjx4lh1A|Q+l0BUJ?O#H1sF4VonO&PkjiF zu^0GpV9c!i-lA+PlLOnzxZ^P%?^waL*F=?filgpLfu9u>yp>~}Ov;TG{3Yk!@q=Ie z-L^7ZDN7on1s8I1BY2uSor{}6(N#IIB(`(riwj~89slA240md$lG^a>qW{c%Ec3rI zKj!So`r?A|ML$}UoYt4JJIl53&spC~%dyIt^P1*upZAUA)2Y8sJ(+qubw8TUCe>R0 znp2#9%ffYw{${y1`FHcHtp$rdo%~P9A5Q*UT1DC&Y3tH1rj2F%JmZ1PS1bi-3(|gX z*)#74*3Vl1$=YlE(Qd!~zn7E#kmR0ccP~+1axm5We@a>(bf=bvotEWRce17$8 z(DVA_gR%6`dr2_~A1SH$$hM^h-b-?4WgkX+w6nXDm3iBagl+LWxUf}Pn1pY&gw za@4%Yq+H{2?984DAGMaJ;NLKB%T~VYDmO>)FIeY}Y&&rikd!1s}; z@>G%X*_7$if!#%*QpAy-YPFbhN1Z?MC#SkoX!_-;Jo%Y-QVQ@e)s%ae)A2tkBZor2 zPC44Fe5fFOYTDK3>d*2&mlDC`tS9!YoT)84BS$ejPzmFor(df4s@Q!8D6f1om5CoA zISGgHbA1q(S>Yg11%Ez1voDS0?=TrJ^hTAA8gP`P7JWRC%hz>5R%p@$Zy_qEpe)e&eUIkjv#7bzS&QYWC>T?7&27*a?DvJ2gBJbf?(eX?Az2-7Q<@6v^V>Y>7mO zH~udbqyAqi2()mfri`ArEoboW!XG6uK0eP9?NzcHT>g0$YFt-_cIUxJf#0TTJZKN& zU#O4$<(Z1NSG+OyS9@fI^1`;m!7zvjl!KU+<98NN;DZ*$?sdu`3i+Pqf zXmr9oAMERxu`DntDW(39rQ(&G3IA6uw4|dG?}jYSQRhCN)3MKnAqQ&p)xvV%Hx~LwWvx9q zfiEUo_vX;VaM78gY+iXf(4TBQ#1H!E)BTasSf)AE6nNOBbd{2nS{LVlU8dJQbfT*i z1dCXbNF?#hT9kv%=F*(N#x(Q#95g+uG!{ip+(ykT=Fo@IsvE;+tQoQ?_e|ud==PxK zS(~HuC%e~Mx8=;8RK8Gng1X_WtCV|JV~}JTWJjU@t7*!giUQwA1LV`z7V5@R{9Kv> zP}WlGZ8@hy!8DSke*cLykjT0tCvYO|;FF;fX;JrHDC!ECbidmgddY$LLAxAsFZv5> zJmvM(C#Ph8ZzSEXHGLKgD&Oc1%xOb3R*m}cKUQI&7FdU zJQ;Cshdxj$3Y1}P2V~BNmd%?8TK3y52NZdDt#dS%7W&=-Fh~j;gg2QPoTDy)Faxm& z)D)Pkv?x6?r%7&2*(`)r*vD_rI}^bW?hj&+zz^n~0Z#5VXc-Jh=zQ(OpEDro5hBAk z{nPV61_gI&$^tX<>|c>dc9nNB0Q&bC);62+$->#8X-E&LC)QDCFgqT|pPsJiqUkU_ zj^bw&7ZKRxu=TGObElzTl-f&kw^d#~3jdav0k^7mYXiqp9!}R4E4Nv%YXB>qDBo|aSI_}9R7|n>L~F-{P_3UeKP%`UVtXPH7DD!@}$)UnGJ4Jvz9o~|fLCyon487-I(m0fe=@Pt2QzVhM1nezFu zH~i)ESwmrQqIObMu@*4zy7{AL$Cf|0IU0Nf4GKtGr-3iq2CX^pnM_} zP9p^v1*<-HKDH&aFf&$3A3nb)lkQEZ_wciHU*<`($$V6KzGQ0V)=a459hu}rT$@QM zct_^ZL(k1?uGp6e6sF(-CXVqXhAmKpnM=s!ho_ipIwz~h;ikbBo0 za3gM+B{kNHY3Xbu8|0Yz29w_%ie|>{!v{wG#)*Qg>CIy9xT`EGJ?-C;#Xbz+JTmbN+-@TB!^dKe z%EzdMISH=&>A+1{P_WST5vWq28*zKEz%Vw46=}g~$b-;#U(Tu+Ul6;||7F4^deXf^ z!KA(nEa4o%S#?tKBjs9R3yde_ox08lkt^m|J{0+8~f!DG?joaNxC!_@@9$9-js_J)l zhfpS9HW$1&sJvs;Cs_L60-EBheyE+sBFqWaqP%o`0a{~1v2*?w^7QQw$_qx{HV;wL zH$op=prjQ?0v}&M7Qw$`0f}7%txlZ_eSE>j&^-&n%op|t(I;uB0wesgDB`}6pfZ`@ z9sy1$bbNv3gRwVZQs7t20|PNdPDkd3OP^nWNvN(L8IYMex$F!Ul=^?wMT-Z|n5L)B zE+Wht*5XVAbo5_bfCYjv2_!94E*7D2gnUS{G7Pk)43^Bk5CljG)DU2|IV*(#VGr z#h9A0EQ+KMkDkNT$a7WuhYw+e4+?us9sTW#xMQel5tbEZ_xQrtIeaL)3+eLTLJJqg zdIyVa|;jC1XE0by$jtJacOT_7_r_<9+e`4=HxE@l)V?s zg>bRl!q{N+zC}Q!Z&3=c62hJ^{4os46v9M-O#33(TrA#P1g+d35@u`GImCVknUe8E zB#Z73!-exd?25XZ0zZ?BScoXTfG|Of44{uqY&khwUIgU+2FX;mQ6hsT4N=i2*V1% zPw|3$Q079!WXPCN=9$mj&1mQEwhCsOf`jO8G0#ti;8?${I;c#v|6osy$oDW`VRE6b zTS1C~v)TT~tWo7{YXB3Y24CX_Q0{PV-v;2qP{>LOexrKh3x&$7R`zJWKpySO*0?td zzW*};4gJ{~JMZ7TGVrIOlh!XG1(7^WA?%IvXR}SF`|zL1bRzrY4JOlDDUz_&reC&J z@^AI0=|pY9;{ZKyysOmCzSjEAz{P+@&bT(y`@-xF8clT1&FD|vIW=@;Vi z#fuk%;%f7Jbmz{SFPa`UnJ(Zb{(j47@+J7uWcoaQ^Tk)Ri$}GK?`s!Fw2SBIA`QI` z;bOspjEu}ot2H~@vG|&67Td19*0y9xUf!~0rbQV`QgbbNDNB=?tNo7HqN7a0@B zYm_%}T*z_!CCBl0j`b!ObbFahxs=@F4>}9x5N_FH=vXF~n_Tz)-2am8;Lq@3mlj8q zWsPJp7KQ%LW^dlo=~(lzz`Vuw-HRP-WXxIdj)vWvlzojzN7+ATbFal^AaC*Yi#K17 zwcDtdV9 zmMXlr^I6RHHrbwj4ULmTrOV%(S+4e9K8G)oE>|xJtsa`X;`3EUj|OZ_wtx)XFUg<;|Z=soe4`zAcu@cKZGl zzJG=9)YPi2$MKz#R@E%-S2a_=)YO{Y;&;vN7x{N>{b_vPms(pd?zh$e8*@s^R=I{A zd@^n8?&qjsT0;%KlhRUv3bnW|wZ18_M}s<2L-Q}GLuw;IOioMrWLk3-^`LJ7sTt!QQfC7!3R_IicBsw*)|Q(9dMzLHW>Qt%@cU-YM6;QGe0ADT?n+c2M9 zH0y?47`dIGx3^-b>TLkovI8LGI$DWVg4SAxkLqn`Q@ssCRd2(jTHElmwGFUpn~&n^ zHe9vd_PEJZL(9_Ej@5120c3Zz0{%{d(%eK%D)CX(fYGZOu)eK30HtaxK585Aptc@8 zT4)|EmGY19*?N*-0cu-2ezvtgK_5S+k09Mw(N1qv0d&YY-YKpI8$3z!KP}Hx`8sE`b*qL>Px;R)oSEgbXKL z)s6N?=xXHW{%A`(Iv~$(Enj%QC zMMcnF@SR-3E5n9X0=Z?orohQu2`tgMhe3M#O~) z6#O7p8FYreksEdVAonO5FCdLZ;gnc0?Nc@#JqhI;Ri@Aq-_ujU!=;Xuc@r<3laM1D zjirX}%v0*@qcICEqK>m@`ttQN59P%!hQ5#&bA;Ynro3_e%s2B69-3L4_wK(hvmN@s z?aL0HUAX_=STuBNUhK6{dtOkP$n!^*=f!UD=jYjw5g2loKZa292g|3C*S#q(=0nRM zQgLVH*b0A5p8HF|jM!u7F@I^s+ha+A$nwM4fvH>!Y&(8y-qH#GLwU+MDR66^KxIGU zVv9NapUAVn>|D1$R^gs|rs8Gia`)V6_ai}Do-HuGd?GZJYkTfnlprR30v!TQM7q ztvMa5Kt2YzRGyCAzA0#a$9YF*Mbk3nn+=wK{q48?KRH~AA7`%*tz8yd6>=;?OY8sc z2I8Mz8mpWcUK+c7<`YYkl0k#^rGdrE4n^%%yJ>Wa^N%{3m*t(6LoY6^8%4jTLWh?Y z;ErwL!nc>oAkEUe37hl6_)_=9sifpQ0P%%xSQgtEnpqm_4W%p#v{Q4})TlEsycC|j zh6jxndVA@q3jZIL&Uc}e^1w3x%u;tUS_HN(gL4{h8AxA7PurIw3C>TGlaUr}S~g#v zk4gDm%T8taw=TntjY-MwNATZ8{P$>5^5G=wJ5FNR$i1hmhw#_T>+!eiXYK`)Nuhg} z;r_?%@-k(1oB!TrG~F|{aBy9AT2*%18e7`tYtvG$O-r_=nP`}AE{kOxE6;K}m{1Qa zI})sru{7q8e_0gh+-*}jcS2X)ZHoqqOCYKs+Nm`&uc6oR*Ou8%&P8oX7lQfUz2um+ zzI`zlJ7>AmfuqaZf1U`MO(y%x*F|jL$m5yU9r0gx-O&hmG(5G`odM1aU3cA(Gt>Xq zWm#Z9Tl7q{V14#TEOn+#z7EOEHx`{;9QxFC5qBDvY~*Qw^L0l;W7jz;BPBH;2ZbMD zn%a;3W!D`&>7MuT=HY*?v#-xStbD0(ddlUBAVu?rvpmgNER&9`&kqY`u}$Q%CXprW8k%wn`0Hn zGnU8JyofuuA78vYR{5gcxg4uS^EtMDr77rIFt6~usc2z({wt={5mP}%X36}*4U1Q~ zuUWOxy6OYxOdrl!@WHJ4#iq>_kC;|PP0m+MD@~g}@|x-Pv!)OINj7bM-DH|O_4DHc z%k7!hf_~7*ORhOumwI7r`P6I>^q_oZ6COCT-W^*W7+D^BY~~xwW3OyFzHfOfebbAv zIRS;y8Z2 z!<`qLizUx2MmIbyEp|ZJRaB$-*Xxyk+4iFH{Iojo=o|y z@@ct_E)aBp!75$^i8>syHJdhU3|0)0B`#J1wYrToCbYAvb^Y>x(GTb-d78v_5)K&EnfIymc2hhufp`UxB5GSfrH9qx>2 z+@ajAJf{rWXXj!$$KP_4hI8zH%vtAu%W*fsP(1Q=BJv=*i$o`*B@Hm1)s#Bl>gzZi&=4iS3 z2;dw>6~gS)bbQ~FFo^5)zEy1ah*5HpnKK+gpH5kQ7^2OAv{!t#uof7y}F<;D6FJdXj z+$l)>oi29-;h;6!A_d!Rj%FLojPlu)C+=T+{1Yo9xb4_(3!lM#7zrfYgUTa?r;jS1 zSv}=8&%i~_D<=PylHD zL#qPTRl}zq_Z_;gPV8S(4M5b6P4!;43t@WT!BxZL2S2zfZ^HliRUc}%4O3QaF0b^P zt7a*IRc;z}$rC|%;7B9q9kGSJns2pU3r6+_R#A8nj=kc4FdyN?E6CyUw4Ko~`RO-1 zw&aH+W?0Q=-o%B!u6kqa>Cj(SO+{U!#Foy$@l~$K(!4q@7QnWC!Bix2M`xa`E>Mym zDcF)9$%A`xLq09Qt1==Oz&=9|k*~@-yE(KqpULIlnjf)mxW<7Ucx%-)dA765L4xQR z-W;KnayS+V4do-j*p*Mh7^p2v^;`AJ&|~><5iS;qh+!HY-Mf!z5AC1Mu`an5v@p4y zGSG|UO;05!Cqt9l|LYy>!qeK@hJL)Z)C&-fdZkjo{BVa!;kytxuBCc&c35lK1Q)`I>OzsI|+&@sGKZ0 zO&-c}xB2)7T<#=uI%Tj47xQ};(`|Wk*lFY~;8G-*A;pv&pJPTSi!;J3F){IGb>kVw z1FkUYOg`%(7|y_$%MLimpCDX$IVUL7j{Bo7w8efUc8iXlw3y*Byb<~@R|>>%`Eh)Y z&bgw)0uO*7f)acVhnEx%AA+xssvv^%j_Yu#;ZAu$ZuI6TJSAt|kPGs$sF3S-Hu}>F zrvwzYNe228&tTxun0fs(C$$ts9=2m^3gOtKg=z}zDcFn+PfrBH)8IAizn!0;UAn_6 zBg7sKiq2x!7S8i1So`CJu{YNHKVFDQypeXwJQ|%2<_+DOT}{XgXM>4Q_Y$0o%HYIV ztR(hLBPZ>rFWww2cr7P)({%VncPi{ST!m9+|8s?<`$eq^ep^h4WRDkGq@zk!OX!xO z3ug*v-yTESqnZ4Qq)=heoW0AYe5^(3cN~AOQ2Ek!ds{D0TI5chT$* z-(EBai4!w_6{<5(ztX)9n}=Xg>s0p0$&LQKMc_cxqm>4Q7X3`o@SzL;R5bkdygG{S zQ`o=^pPd)_8Z}Ij-DzZp&iB+Wq`>WY-iWU~zXVvdaoA`Z=`hC6lh9ZDhEmMgb z2W8V!hhfhnbEnenM~VTx7F@2}RWw|x6i-~(T09F~N4r*mp<-tfivS+ZJPy?7`Fo0i z?oVev3RMer8|Wz}waYu}kdGmqEr6_Zs6r`5I{ov-}lwiaEYpngkP>7HwIXdmWzB~z$7)fXOX2-I{8=XVe zcQ57=HNa7I)_w3+{hLaxdu;Y^qTY;Rwx|4CN@|@=T#dr{v>%6tOCl$&^AL4If=!5x zr>DaH9cVs1JvAB((@hGFMOYj`NZczTV%f>mSAJ3$b`4>&qrs$`OSa52(LS8e?h&|NN3jz%H8Z^?nQFa4@0O5*^-d8! z^_mqj2j@foU4rtitTia_npty4=jxkfFp-^$#$LFi2=RS*4NuDHtfV^0nc+2O0Au*4 z?gh^}io;o<9czf`s91tPXTs)018dhHq@!9q-%69Arp(X=<#LWMtr;c@ZfSPk0AAke zcy$fyLpdwU|1WE>ud#ILR*NZ`9*sn)Hikw}eGN2tc+E6yIz|{Ocy$d~W>kEj;sPi{ zp_H(>-h4VRy#{M-7GD;8nM^PeQ8oY{Ir!CG$NxrysMW+<_&`=IUZ;^I-ybAGhSqQ) z@H1rLA2~+R-U!|C{g6Q;A-CP(2t1I7y-5~{#-UiL|JQ4^TAA4(Hay{uJw56?b1Y&% zx0d(>!-s>fn9rFPnjbRnHs5Zxnj_}(=C7H*Vg9mtzL`oeV{beIsg+}Jh!4-f7@+_Z zs{PLsoDrWQ1&?yolG3M+MeWxw9(5i%zPXeVBZ0EgcXyRS2!0Mm@t2kU4F8caIUEeU zQ%vML@Bb4On9|PZ+dv$?N-T{E8d8D~f%&D8oV(6A(#u9lmz0&}mK~C*urwMb=|i#z z{({S8Hk(GzJ`)aow{-rQd$Vl^vu)AH@Z+KBQgW@a1ou3;;f48S_dM}}txOqecy@kS zb>p;sN!g8I|94B#E~zX+;!6w(zaag0^UF5+qos%|D1A*MP?o(Sw+zZJkdAFY)XbnA zX$lKsC6thDw~;D1iKVbw7Soc3r$HzxNK2(q$K|5PhUziH;ovm85yt@FX2;$#dqSGp}1w>aNjnSS=KD_!@l^MFJVc^H%U zS;VQDLN_32Ld3}fEAb55UE~>Y-JCKcrAR80$sTX`hu*037VjM~XBVYIq=bx}zE#Z4 zrtl}2DIh(VbweA66n?mdPhO375MNNqvJ-cwv-Tl=3eb=7ZtfrR6&iPUiW{LW6kf%@ z^;o%H&Hc zFS!nuj!RrZ!t``J}|3hqaseg+IjtU4|B`q|P}2{SPM2nVh2!?QRs)>WTz+{F4f%hoY>L+RpHQ< zRFt1}H|!Lm+xk~|D9EjAm3tuD^~Bn2M>~Xl|Ef!tOD8#7|0?we3w$OZQ?_?k#hqE@ zj&rW^3|Yox*;4zeHd%8Lz8j!yG{dr^ejpnNIKXUsKbkMGcxU%BIg9akO(agbd^gh<+81LNGXVH+l)VStU z8fq%k*E%E`Q{g41bPOQ)va~T3X3rCAFQEcNmYK)r<+EC0>$_4vN)24S zV)gB-3syh8`is=BR!6O&oaC=ryT;@2n8#z!jL%a@ZR$1VBbV2%v1bYIqv<_Q39d!y zo;EJW;Tdy%MUv7(k{z`{u+8S{kVo$#(B^$4H zcu@G4>&JKWdj|QkKvyADCYkD(q^L2NkNmK(pxYbhIp1-lKNG0Jc^G~*d(5-O#iwK2 za-elEYy)z5=R1$A_D0$+t@aQIMlY?V!tqG3ry?zBHs@+!D(6I&xGz>q$5&$JdEskjAcag90&R@Zj*H7p zSMU4q>wTAhw#NS1n!&NjajWyt8cXcxt81tR!aR@?yaS*rsHRdnHYJu{3E-Syptvq52 zTMKt!)7rQ3FXp)OM%>)E){ScHKU)L5JYrkEw%t41S-&<0*W9(3yA|*f-9y9BsQR^d zOM@~nd$z?-=5O)CqK+$|xXv{mH;J2x3HzgKAuk3TgM<<)lPuflzC;tKTr*lc=4l@n zA8qqxN7dO5>PB**9C(zhqARpb28wjs8*7WUjG(p zM@}F>fIn=TLHG+cP7F;-nKJvYwbIH+B*;~AZanyuex1BfE?poWld9#I{y=#nc2k_R zHFDx)n<50ODJ)nb0IcGtcX!lB#z41rKpImEh6ozwd)j2}_qTZ%LkhTG9{89%=vjI2 z3-XYY^3VbKY^QwA2lB9wtbZe0YSk5 ze!*BXRqUQn_)Y#DW*Ke*aC4k)f^j1*me)oeVU0qH7@eE^yZy3y_y?_P+dBIJ)$qrq zbn~^!Rl3gp_Y%6U*9@Q3T=vN6-cdqtI}3;VG?#y5Dcn0OslAY1Kd*sxDAz|Gu9Y`N zK5wwM6yq6jLP`7`-n>C?-W1;8`DJ>3g*`V$qG`*Jp(b*fFNY_wG1B2$SA-vE#)(al zadna8{>}++jO2%c#ytF;1!U!7dkP60$fZLLlP&AezMLdF8@p=*oW4+UF*{zCyD>uBqo`9 zWgS~5LeHEC+!hL&Wsg7@$+9$8a{AbWVAddnmS<%augJDM4b|Wgs-N3-UD^r!1F{hB za1f_}v*1!%%-jIfP@gteTBYG|^ zQbv;1;zp>g7#iB(TtC=S1Cg?`xDGjAPIJ5MO=-kjvIDQ!(gd;WS>>_6n&zHhQaJ@d zqR@ViIe3>6ibMMbXr9OeeKb}q5lh7~>#f#!Yl1b&$}O?pW?gDsZWT?Y&Xrjv;njow zAcKR2EYaxni8jZCV@$d@ov{-KV%5UuM=rSj`UR2mMYZGphL>Ywd%R(z8R-|p_CfEm zW9Cb`eQS?lxFr2%SZnCYxW76H!HU$>4FMkeb4xtn29g$m+f0`&)2_;Ttnn@JP2A_1adC?9&og8CoXJ^oaaN98 zl%-A#5-k-0e(_nd$S_+>mOVKOzwudtXYAownET2^hNOQ(b2X#4x`R$pQMp7Z`{`6#Pdh$K#$vx@Gd(xBdPEX#Ko|b%9dNP+Tc4ZD8o8^(_Jqq-3m#vOp%Y>$a^!J}WJ`L?MM-jZy6sEKeR@4B^F>ys*_*z)AD?pGu+{zH zJL0Hv%uq%4U0I++6IR3W`2)*{5BH%RAK$CoCw(z}l2wzf41Yacyh5SypA3zN^hcC- znsNd;XtK|?RVnZ0e=OAZxzVmb(d67PTqnxs&c)BMWUI(^W3KCDj_X1W=LX1RGC3g9 zm7e36L?h;gSo&D<}Rvr%u70zS0Sd$WW5 zQUBvY{r6?V7GKt9W>pv1Ud;wLsT=kuvR!@I_7}6qq#tC1j-02mF(YOf_p?a<5#@Y8 zTlN+-Y32Hq4V!n|5v;Oii8a?{-mQ&OM~H$%W7LhU!$CRT<)gS{aKnB%n70qg39x&z z)kENbQmY8goxU9B8cg#5veKMDI~c4Yvpp$*c&alw$6~)VCwXtWeRIw+{K&g7+#7RT zZ{#QvUA;MTL&MWEG0cikJPZxU6`9i8Gsof{$m}sFMEBLEhRGD6r0L5rgK5m+pf;mL zVYZ_=GURbg(A?)-zj8tsOn3G<#u6XMq?JY9P}$iKmIrHm_<2=D7-~?2+Iw>*Vbg@K zyPZtKwYLLJfr$3M@u_PSl)7309G2e=5?Po#Ha7;PyDfcJ7UsG*dG5&ENIVaX%w2$= zH0MW|ZkIfF?mYJJK_+}i6Amh0D)Nh4ml2+x!9E9dumbFJa^a_%BZ@w@05L@KZJD{@ z*NLLxd2&pSg#RHONW3d|5IKa;hQxzobFZW72Zm6r+{&Rzzfz8{NzYxmSANVzr{?7W zcDTggGM2dZcJype46^-OF78h0NiGpe0~YWc>owy~z|&$;qt-lee-w5H4J zcUF-n1E9m@w?_|6OoHkr+ztZ&i|NoV04i1?06HHX?X#`PA99PWm|GhFqsY#~a5&H? zg&#)5p3UX?`oOxdKZhz=t>{WWyAySwBWo0>1Nb8U1Ez(a$hmTBJ~FJ!pjMnj4va`z z210XQ&H;!~`^X@x9H5_jJ!&5qN_YM(4=5e&LFIN<`Gg`S!hR`_$Fz#Ta_RnbuVgqh z|6-UkI6n>l;1Npc^oH1C^D$FBFV8YQ%NCw*kIP4Sgp)KEKG&ZWE+C?Gb3R1MP|WG| z-u1RT`l>fax}DNM6ptz15g+HO^GTq~!H{GdVE#F<=zf^|k0f&n+>WbPzrFg@)rCKN{h=q}L+!SN4--C& zb{v}oj$yofkRuoQ*&pW-`D<4fO zJUt81Bpq0j*J+P09FuM-#4U?KOv1+$+S%pGDeSiA6k-zYqIkHf&>=m#8B;FM#%bc^ zdv$x?8F_tVpL2Q9!Qn@^!ewb5m!!z!T3$3TDpFQJK-u-b@f4UzWn<_*DBTU z0+lSqDcQVK?CMh47pRUM%&|OKF0&jelUbfnf1IJJt2&lr?z4$i`C6T!{bI29Q``B% zW6AZAj;=Rfv;Di!92hnHWnn<9+8&?^Oz4OzGe4ld{I|mPJC)!h3slnj$a~s`KPz;8 zR@jdFz8~UM@Pmw7Ur^hZ7v0c*egB;Pxz?0^d+cV*9#ne()%L0#(uT;#h8FuR;Hp)b zcNAl7d70{Th@s>4-`d($=G)F-jGI(;i|W{IXE5F!v1OgH3duaA`*mofE~XyJBm*V+|+= zb1NUJ+P{_L+{ks<-coto4m3jT04Sx|rLNlmOjP5H-@NoHDoSx)Eu())mgHO2xX9=d ztIqHoQ3h9^6s$u#;_H@}Vsy(>9G?rM03l_2}iafC8cGSa^ z^Efal(Ce9P?!ZJ*P=H-q1mB|K4>8B&01(cqr6cMw^w)d_UmrDp=Q>jK*!lf_G2BJ<3EO)`-4CC!|4~g- zmPJM3rbw6qQ(r8KQ48Nh60d&LcDQH}R*8O5G~jTZFS3mQ6-;sH&v)qLBu!#SoQsMl zE<9RnuPUDSY(+8VO{FhxcC{9{PHHf9YELP4H5LM(eGr?;bzCF>>^(SqGR`$xOt7|< z7EgHWci?h)M={SP0YmA@xG_FscQG=0hJ4dP4zcwhO~d@GsK27YZX#fRdgX;;v<2ho zI#-M##aK&qk=Y<;vc1n0ca`2G3OZ>2RE@mnIpqA|g<^2NxXQ@5>PSVf7&E43D(8&7 zEiwma3l*En+E#S5_6KjV;_-vTGon6@R|Sc{5!{YNm_F#AO;Gp_0KUAi1gyukumny7 zN*Y#_P-AL~fio8GpHyVE zRg@q|&3?St+;_%%94w1(M^ftX$)sIBJX8WOsxh95;|E>uXeWMX)gDW(h@3cYPtd{z zU|H2Cb3Rf6TNAS2Rp*Hk#dQgzZIL7Z-YN;fUApZzB^>CvE9#jX*F75ZveqS-q%2&_WERHjrzWrk=%aF=fTzGPsi ztM5v*W~kkMx8_Uho6cm7M?Bz0K~xTY28Q5QY401j(o#Ia;d#jZy&B~LN+{KXmhdHq zPxjfXG?QZ?!pOBOYt%FBL?$R zM07ON_h`CMeZL1|ek|y54ETs^z2?~6v9+DC23K401ez!1jEr2RrbtWQnVck5IDAok zP9r47KQznICg%pr#$vJ&Ua%-B%r>fV!}~qqUCU&LbY~;~{}@4I}HR=zV5 zDXxdK!&O=ji4xb}we~8l;%V2Btk#k+>9-|n z!NCIY#xIe_N z1%zxrq*dHcyr432?yTfrYLCU-58DMZpIV1ySsQ8y3O=SbKMi{^(DsJbv1{yN@aP3C zJVByhm1#@Te49gSe^+}tr0ke`{+Y3xf-SLaNjKU)(c1s01;#B9+yA7U8*GVcLy_NT ziIbj@n;>gHD|A`au2q|MpFB-u-(o-w?=G+bWF^CbHZT7uf;rcz=Wk<#zM%zj-;6X=X(;U3&& z>QOOo(sdLouqlzo<`1R7mwQVo*RM+f%~kz?GKO3cu!=jAZhO7dF@()m8X+^XWrOLq z{?ZYaV2T_de{i~O2nnorOPDyIPIjwP*yyg>BwcvRt_+NCuQuk1+ehbYQrwT*W1|rP zXfVXtl^SgnMrrOW*Ed>e_$?UM_CDJc)(ZUCxz7sC$;QZ}@TgnFqFI)RUBp}0Z*qWZ zBKVHUBgy8rF?7TYaRhWi-G3SvR9rkZX`d<< zcVq&ey{~xU)NwEix8uwtzMTB)o9c=G$=@`Q?m$clOBhojp>)DMl;#*|@68z;vs_$G zZ!W)D2KoX|OsGS^mR>4@@0Jk7T2d`_UFr7wqjTQCJe-c>rZNWIH{pju&_U=Q9x&5CzeWFDVsHG&#ZecE-$}w z6KDT=(-K)XftUz=kNgkvBvxqZ_k*8D-(3q<2Ne?TJLd z;pAjuHxvY0)n+LNZsaW5oR0gH#66L&Q*p`GNEoOW5sZw>1eApE=Qa;FZw~+UW>-GN zC5_&_8Cb?YvSRQVVwgQB+W8AeUzzh{9OT&qf=FO8a98P%XpPpiS*5>=N-dG4YGkRe z$vjv9ZvTs)-cX%UfFpw>Yeve4G`S5Ac=`FMweIn(B zJF(>T(LB{)RRP@;VW0R59aweyDE6N}{GR$fhw|Ku8s&xBBJ~HasO=Zjr$E zX>fb#x%-r=QrDwOG~@yNt5cmio5x{a{KKvcRhGIi?~cKHL|XOv-9`3a(C+q!f6unN zKm3li5x=cuju_JGi*;~oEyqjo_o4P zoqf8qM18JHq$&CBtD2HmU(=Ml_PVCz^*1ynZ@j4~dGjqz$ytEd)@kC_LtFYZO&+3pK%xd#A5y*Zs_kW&(K51ZJk0I_Qec~(nOUIIbtLMU%caqUHV!0UL zt;NI(rYNL$+!;a>VfI_Mx#M2ZyW@`GA3ouWbUVro2E$%Mr>w~Ej$YjKqkd9&0Eq z?0Rlj>n?7`uKl~7*!9$|gS%E4*X%mB>t}|?3^$uzGafho*u1=@yyXRx#WZX>Xj*Ez z)g(1Fn|7N1Vf@1QwecI{zl~mFkSWwO*A!ujF?En?n z-rM%xwm)wB>$ZR5zYW`~ws&mbzx~DSzu$gwd#CK1?S+-0-e-oN-3He|U_naxL-_Ca z<(JE=E3e<)Sh=h6smi03Z&VIcUak~XEiC`6GQMg~)w-&Ts@uyGw+~bmR=KMR%lDLb zR^C(j+BWa6Mnzn?_cx<~<=(;3&~kfHIkxKwEO@YTxRR@?sB%_asQRudrz&)O-sFyY znd=kX#9iw10glk|S#VYVvwYm&ez+!d++X^N{+_l_gjgQ4->nNRkBuGoFY6rl9~^OA zt+jZ+bgmvg22AtI_COaotq(3@-h7Y8bj}0uhyagw%yyi?XsFK{KF;!ni{YF$FJ6Q z+vnFPZp9NdJJ6O;Gl z5o{_au{QG$SyPaORvaUXBk@Fe*PD~JUzTHUk+>6Fd8qd;#Y4`Q$`x_a6Xi6<6nhnS zq8tt;8Wd3NCfR&fp$_XY_f0D1$z=1dd{mBS_ZwyYq5jX6kALm_y!@s9(7V(M(f%C! zpUbhEO45!&=`RIF5g=NNEfFm;XY39#?8o-u4UIg)BkTb?I9E!=fIMl(k$)bpVRPN> zUjNl+Tz{^`zEbOV$Sfz$49*pS>F~jEB|AJMuSeY9Q2T&wUaft8?Fgch{hhDuU=yrIoM(4eZ&@2k@$?BqMFDd zvMa**#SW<@!nLTPUFabT|EINivQ?N2xJ5M184?l_JkmR~UIS9lP$wQL98;Yp7tF`k0_ zrAPD(&>gQk->ql|C_7Ku?ycxRaPPYn$T0kFMGT1YnF>$4YhfK{f471re?6GAj!ARA zR^c-5K$7dRx-@mWbjc2k)Gl`b0rElxf{Tq6V9&qQ+l>_%<@`!y2=YI6a(KMLvP}y^ z>Ms>XoC_;GsiN>DJIcBr&gqcmSDtKh&aQO*SQWRi(*99J;>Jo3HR7WR#3#V$;C`tO ze?mV=mIrL~4V8lkv1h_G z*VqCZgqf|Ev9KW7B~J%X_ugs*rKb+cQZLCmVn04!o%&0eD?kVPpJIFbD8~!cRGVAY zG46K?@7J^SG6N1u^vE2Z#MkwhvRrQ)swQ>EezAId9y%$1RsW9dQnmaw{qI+w!3KMy z_G-BE?A5Z)lN5Dlvsa(MKRBV@)Z2q~W76XofTN6aTVy9kqc|OAwuC?tk9HeHH!Me( zr|hlO{T@P%aq(O~+j?CGVsD`tc_`$T*aT)psSy^eCcQ(a2zJ9H1X-4m=q1Q^c)&9G zTf{I}bXX#C565!;?G!sj+9g&?IVKfYg6A(8 ztxw)bTWS$j236`4otb1MP=Vx(CEd2OmJ)c;(+(a<_O5utM!&4WfTAtIJL*F!cLr&< ziAKf}pM*sDg`SJUZ`?0Pf;?M`h$lbnsOEf;?yzxpjR$Q<0PTo?ppghzV{nQAR=8?! z5e+%$6=2I!haCHWb_m!RK`_*GqJ=mbKaGdIFNk-ukvOvtcc(euE5}%l>vF9+-MPGu z;->=ei&0!&7iPZb=j^IuJqM~b)D-8B!m;N_3B*$4D6(adFFbAo85a;*qREEFTb74>@TXG#V$Jo>r=1B%)PtM`Ayy25?~sBi~uWu_)Q&+$Pr4ZT(oEe ztaz=NFc;CV_NaQPr+!fkR1D7bV>OT~!Zp7Je3 zpRd0`FViRLSLoO1Z`Wt*OZ9i^YxPEbr+%;gUj0M*C-fR^At|B-!cR8;l$}e7nzADL zA^(f0M43T9^jEYA>rD8+qD?ENZFvSxGSJbi4vJ{_8l(D99(j=qAFaGh_mqMg1QT7$2XiDi~{K{OPNUp;-bk# z`J2`t9}cagvQSK(W&^%ZqxR{)ysS;r56Dtjimk^Ma#@?M$wgVR3rlC_r27q;|47QF zZeIJhLAm+b1b{$whc79U+Q|Q9Qa{*VgeX%3s32n&`zg?7qFLAb=P3E#0^v7DNLLBZ z%3}U~c7_J|Z}uL68UR)n)WkP^6|GoKZ+WIHQn$@>Cc^}bX*O(IU(Z44$*1r z-{1TB{;@@itnM?9+%Izc{E=SKfta89Jrutj!Z0I^v+u?uYi;|909ZqY* z&kxMs;|`2pYz@3R8)fY00>sfBFLsFjU@gLDNO`B@tX28*Jrm(nm0$PxT7N^=c)GZ@ z**lH-N+>x z-m@}z!F@Ci9eaY8MBI1XuDlK!i3sDv9U>E#+tJctz25rqfv|gn4|QG@-)^1dwkCXF z{nG!LT0_Ty8}5zTGZA{9zcu(!w8;8DSA!45ije1$=re1;1?wp4zX5~dj}5%;@_+N9 z`0gk97ImRTwDg-=#FsG#WrQ9Yp$dL|HR#YsSFO*8E?N7z5$mG|=G_~5Xr9RLqWF>f zu8vt>`Qsz%t9vFQ5P?y`nQh`X$Fu7;uXKp;lfi{dw*1j*bRa_Em&{Z3!C zzVX*bc3-_{edC~i45vi_kXK-MVXb4 zn;$wb=n+RdzP*+{_r!)S5dUe7KQzCNuaMzbhv@qGQ47Sb+>Wn)5wPHfj%e%mUs%8W z(mEOS+s>$0JL4n1zY&1@o+I$#|NXN{#j^Wmd$=HQ z1!d<0L{iF5(ai~aU+cl;bzJ60{Ho`TeLZ(Q?O%GoUysuI{efHegolU~YsJZH(t2(R zN!aVxO?U2D@q5LoYkRKFS{%>q6`OiQ-z8WV9ay+0cJ>0Xd`%kP31GfI6xT#5JTGgW{>E>^8_8M|B^_tCvl*7w9mT)q*H zkNd+S+$Y>P_w|VF`%uoT{efcFz8?1C$_+gr@+&v?d}CesjWyyM>)e|YzFB0Q{mr6i z>nvQNmhPKwCab)#iRRr#;prJvWBx18B&J#_595mFlwysZJ4jqdY%6MeoKa_IMbe$nUF3xBev9$0zrQcwjlhQ~($LZCQ5K{?*TzvA(%yA|QV8liq-v!BvFpJCGd%g6x;B z^4an9k4F|?{j>Ev?Av3>H*p@8<~_!IOzUZ@XEmv6Ezyz ziiJp_ttqr2P-5b<*qF(+wGa zrY$7^4fJTd-?p^Xm1VJWOIsD|#R@A5f2+;W9`zxbR;b?8>$=>AyO-@hv>`19;2NK` zZ=dwft>`?W^^lyAmDQV(mD#H)-O#Jqu%S0YmC?JoB%@c2f0>0vy)omnQ1g}Dk-MvQ zOLy^vi-%@Jk{pjtjx{5wo_*`=i8$$__eY21;KmvLmS@noyb#_^x7{| z>j~JI!o%nhDy48!p09(P{Rn+vMPEwXmY8Hm}|JVypK9 z=aE+LpKt-xSn3zHf9_6><-D$bUrv-Qy|FFkq%*n=meb`>y4nJEx3@^(p99XT<+HcP+v=0=ii$ZJ;YmAQf<@J8Kxg@XmTQx4;%%Z$rc|lf2 zZ?Z<4(R(^0E3bEXeo2Tb^W`=8$$a?>&4$d7+=3-pgCanT#=|aZr#md@Ii2Cn9$nb( z%~9myM^WI!rO>X7bA8k;4aCtbTNubu_n!Vsn$4_CYM+3uOVNp|g)%PH!LZ z50&n2r$sghJ0+{WxgA6K66np&?$U7HsHx>7HfaH|21)}K&$>BCCK?$GorDK=Jl^?C z`-Ea*5>Ak3+6QT?6l^F8M>jVi{YM)RZ7>_>Zcvb>LUjM#SV?-FbD%xQU*@_yItjZC zVg)n8;6~c9-5R!DgPu1qeo@K8)ziD?p+J)@cZ=V)lM~#Mfc)_l;ZH>W$R z&Fy!^j$_}lN6e$;<_Wc3X`aZz#f${=sNUS3gBx0H-TBBx|Jc(RIrh8FK@wDd81n!@ zh3xUhVX+YjJPl|b+dNyie$>r67AqS*ZAP1ug2c2nD}cd{mEb$~ z7wQ~eU{IVZx??n=19cHXhiFgO=X3-mP9+kuBN4t3uqdp=^v5WTx&DSQ>g@|eix6)7jWrs;wZv@Nw70EuOneg^apl2_AtYnX2CnkA^y6F_bV5wj z@cSFkcR2J3-{~Se9j~9_aQ8Mmp|a`sGyr&m7uZ^Ggv!H)nrK^i1brtC6BFpMcW=k* zXT;dEN@rn*?o2lOmX-{&XFfd030P?$!g-^0A%>LaeofE}f^FI8O zC~`h7?2`Vh3ooQg>&K*@*N6YCOX2T z3#3D3tm|?ownTWO4^lyRm3S8(9;OHT2c2Z_X4tbb>|$;X^+38ZB0N0;pPdmFHAZ%m z|B+(3CC+)>)O;|GdEJ8m0QSJV$q$}7QTI&&@Ppzf7@lQOcT%?NQ_C2ktqk;i#iDe1 zu)n&;0^i+Ww|l#+^P;$XbY6G14B70WZnynNms=*|?9X(GXZz7s$g`;>IB^Yi(0&^G zuKcchSkcW$)4sGDdPXntkpi4h{VX*OZ4x#s!C{Y6XIF2z30g2#`YE#Y>t#Ef**2Tu#~s& zyU}*el7mfaTtVD?+Xc&zgPi$*+c6{z&J9LXJ8r^kUxF>H#vQ!j>^dgBful&v6k7}z zhviL-{;>e!JCSI>Dzb_RJFRqK*X8g}6^N}5Ka~0-VfBD?64nP0vBfoj! z#g|@w<>;~BzWUnhZ@l?d-|@Fk{O29F4(A`vy3W0SerWiE3nLf* z_~A#RfBN{(pZw)h_h*;>IyU|{yHfnvzV+gpxFr%gae%f=lHeF|Nl|^(PMj?&xkaL- z^WEv~n&m4*b6mgkbKMc}#nv*h>;1rmg(8JTy7vV;x;oj%H- zC@*s(ykk^W33L%wR9NUHozYZ}<9d^qChH`0GIiL2FSfo-#bTYuBdFpptco?i6Kl*S zoS`l;)pzJ5`c@pTTdBjT+Wf(>6-~7`^ta|&w^*{#cYrz?TwC|7JkAfrB#K3G^Zf`n z750e8#1p|JxWCvMTo=?iP{?$T4uz7-Z&MxLb9R4R9_`&HX3S;6*&IbKn<%h=$q>sbvXYwlfN_G#tv9- zHsTarqolgNrbcJfHC55Mtty)K^2I0eJQd)ZRho%7G8K)076;YNIF4OH2Rmd6g`p|n7!{Jb`r5ii zGfsxDsj083$MM&`2C??wT-ruDp%)Md3q^x))N_kTA{6AyY2r_R=1VsjT8&i%1su>!MyrIveL&^UNG3c%D{#0i zJCz==++A;IHKE}EIZo6@aR!V|C7p9jCtOz{tG;5VZn}xaRvd|q|Iq_F=h;vrSxE!7 zV!5QH9%s)>IH7u03u_&XDOyJ#5@R*;4Z96z-x7@ogIg_`u7WBh43M-oQ_(AZMTdp@ zy2c8h#)j(YZ|k`lG?+imn2uzo22#dag2?U)V|@kshSo69(V@OeG2YqglEMtFM5Wed z_=dc!4#IYw1vO&|ga(BOG?tJv$;gEHqbH zP{a-kW(R_!oW@2&8=;@Em6}u0+}voE6RHtNRuEwFK&d#my9qN@GRUP8|?3UXmtJ zNF>*sdR<|}!Pbl-O|58VJwC)4Ds*-;;A@NyT3Q*yklFcWujWBTVP-kwg)3G}mMgE9uUs-6DslK+!lrRJ6RgJCH z06`n!$4@}Niu%Fv11AhIauT$NVswp-_01-rNxWp~QshLT6=sI!MqM)<$c?OY7WItE z`4hkig?ZYF=Lv#fk5k@jTk6;=dIDddv#s$h@K2H|j0J|mq(k3X;b=yMg!oQ<6|kwY z!ia|4DGZ6e6;N*^_SKI5nSjUZX11fM&H#kLk?@RKG#Q0O1xkrVsnLKxBA>t@d8FnD ztLtGq8e5qpFiF~Q0Jx-un26cXiWAFq%>)wmD^LoyHcpA_WT&0QL5KLGJ97G0nlZiw?E-bXZ1>m4oLa-J|R>&nqCCY-l!aP+* zNuE+eFA5+5rnr(M9(({j5C&S1k6_Alx==F+1#B;YZxx+*kFvF>+sA<qk691ss`pJE9ZRQzR>YSrMh%b`Rp zUruE(5irGq7}z<2yJ@;NfKf$jivhBj#vMakt7`)5Zb6d?Ya|jL$pGlE&`MoxJr7QH zm^yopnphtI5Tg!Klu2xiAEoOckr-;Sk%cfZf&VL2T4f1vagG4+WVwVTNwm32fL@(b zl7UUQ!$P+J8Hj|N&{-TvUk#o@Tm~(eG1|ZwL0NZJ$cX@eK z8b)xbL~D>#8<1~_fFBI6dE}rgn#3t3afMq5&T&gJcpM>4Me>P(8p;;aUVN1hQh;Lk zPnO~xAtP%IVK>PfL2uzjCJzeg46!brW_8toZhQtmLL4b@r01YQD1Q>O4qAku%2Aq7 zAA?O;sLlt6k*lvvJC!f2Vx zfXHA{x7h%}4?x$mwp2)J4F(K#wXT9nud35k?PQJc0fGk1WNvDyXou*bgYQjC0o@Xv z9_kfvO?bt>VUT2)WzHN^}LrJ5EqL{`(daH@m%#Ua$gE9wHBS|K}oX;==%wWeYb)=dw zBuC?^a}ZC4$_8Ck3y>FV!NiE14GI*I8iuOq4U7gTOvnuG%>#;u#u5+@xOSW2HmDdJ zI)}=U@Bd(MR45yxI%0q%eWBC~Td zPF-4(sgz{no*xTn6H|jhni?1mueZ|CzFjxW$tEq?lLvj3vzRC(TTB6XUD1k3vDN-2ot=834v^KUt z?zdnVAa|iL%+T^!73^re8TJlOs9L4~u|fpCV$?Mnsw%h^(y)D9Asq6Nyuf0p5!4Cd zxIR>aX8)fVsf~hQoFQlh81eZrV88+%$AO$=A8|U+84W3G29JqTGH*(C6-I-RAt3K- z2P+ld2*qC0eV+h=<^lpHNeI0iN@OjgD3+C40R4wZys5U8%p;$$Wfe1V37+Tsp7@Io z(Ng6SoI{u;!CE7UakIYMFrX#J&aQ14(Q0wFX$(R#y*I07%%v5gAXj zrkTU#Lr1~@l5K?jgu_(^o__VvG9x%B| z?IJT51%n!h3lM9iMxl8S%cLgPx0rN|H3VUSZ9_X}4BJdb4fr)NQr1j?LLq-hy1;ga zifJ(JH1T>)V?Ffm3c}r{>I!2uFI|0u$peuD5|1&cpD9QGO$VJRji%fJWC*o30{`lC z9L5XP@&#a=FlyEHOvR#h&g9@Qf(%ViNSWKhXWIj+@-nPt%Twh@G6YpcP#Psrem5w6 z{5T8!^Km8txnXM5)pNi@8cCqa37-Mn!q={9uPpZ zWP(df&AO`k8Z$-<4I$j)Y46$*BL#_x7|=7McwBWolks|J7I6^!1dypV6!HoXYaRF> z`3IL$he=H$;ecugC0b3qky~#vwE~6$e1w9-LaAuJUqX5G4XLm*0WSz7bc#scCqJhB zIVQ-z77{^%fZ#PTz9IjuJQ_QuDETA>Mw3@r;IcHCAVb(VFs+c8f9x(3YlTY^>6T8f z&EnITJ;Ln&OtnfYXp&j9_E$+6lv#ONmJw_ll9l}xOx>1X@hi+SmdY1Iw^M~n3b7iO z6(dn8%UCYdO{k4b{g$K3B(w4PeKOry$KmbIZ^nMR9L zV5X1j!xL>l-w03QhmMzAmRb06X_7K!|e@+Kvh*ML?C?G z%wLIjL?u2of#jf3R|~EUN|}NpZ)KvFysVkhPT+qayPYQ~ft|xX%lMBbF_CDJ=-@_& z?o56}1CX0>Y%m{Y`-AktLTBjAph-0~k{S=QOvjwa%x?@m5|vhi!*Vb`cu%O{a9lzn z0Imb3s4Epbs?!RvtDyjq#YkXq-7XQ9p4s zU&k2rlxj+vB-!L!Bn>w#ls!vodt8kjObG!H6gB{IJ>5S5g0%0s#{ z44b#e7UoeTOm>14X`C@@15CkqQAtEtP-3(43K<3PE;U2zN49oX`F_Dpv*)cR24t$oPf}9&_b$#*rrgK zM`W;OX8#c&Yj}Y8jG$_0Ud#xR#IIPMz>wSL`(a29b^@cK-c*M+kt#uh2%XJngsR}1 zT99zOG)BXwlF%1s^UpLtsjn5+LWnn`v$7=d&=`G9K~=1R1VJe9s6uD}2tz)hY)D5X z0iB06$FNY4Z8X=!3o5|K1WzEfm3%Nw#IJxKko9CYP@Au*6bz$jW~r=D!Dk5yWHG`3E&e^YBE{G9d87@Gft0Zn2-KjTrCD30iZ zR1D~?EhaEg-~lv709@#R56FZBnB8fqL;s1X>e`t*lIR_8fU8h2VU;k)26GHyc&JrN zCD|BBT|1kaTtX@(6K;f087t!RfZQ{mS0<$}FBM7hN(21waBYJ#H%_Cui321+4@yi}W`h5!fg+@COA9!YrWBltGy$c%!mLv_K1g zMTjuw^h7qU77jn42wF8IlR$9bCevCaJa)@e%FWPGGGOKSo?!SHny2Tts0P7h4RJ z6=Wv@W|$oE=~l26aS#1#SF13E53++@2W5;i)~At8YY8?0^?ury#D-H&dN{AG3idH( zv~ncboS@+fK1yF0zzqA3p@*cR8m18_ylpC0!pE|iIYRG24Q%$9wG`APL^f2B9swPP zO%e#|8Yv5C)<&IGd0~xYHO7NY9Yd9&@jRcaCW9XX?)5#kE=`*!t@JLIc9!?rPB<*iM18LqFE0H z#uj5mlL>(<5=f&q21f8@;?X*NCCCBFyU%q9k^*PcmSm`4{ZtBGDjq#S^I&)sULz>Y zGup(F5?XJXo;hUi(tL7~xs(->t?_A78Y?+J6$#r2Vfb0?pJpcVNz?fhT$Y`o>`YHF z#)P#kjr&PWz+AwNRqJc*baxndKogin$!N#`!oZ4Hw78i}_o9{z-x_{sFkPjfP6F4@gRVrJ)g(#ZUKDfQ+xK|D(~sZ&sRb zcqEA0r+BP9l@jA6jSmFk(?<%h)79Z&ZBtY78ZCGpSL7` z$wprDXC}EM9-W2po&ft_iw5zDG&W?>Pl3e5YfaD%2!9!3FmIdBN|I9&gaXkH!wt0D zz`V(TBr*2sd3WYP1tCMQ@NQ$O4D5h|(vN|?wp9{ApMod=9RiRL6oQ<QXL#{WU2FhGVlZt(Mj~*Y8$iz$ybn{Q zv+f(&v>wl`r+Mc!?VHIo*$XheDJuey7ia-L5ahlGm^;3wG}2$Eht>4IeKP$84=LY> z&8&@)_4fqX7&*qJQ z&(j_nYU*@O0x54!({wK(4zGy-WytMD4h&Sw+b4+gB*d8UF;Oa;e>aiK%x9;?foNcn z^VSDuph2kAa5R$;5tPNIbl^ZjSA7vvOW|%ID}LH!5k8qxKarI;e|SZLl{KR&KAIzP zrfRP3CNJ<=^OvzVf`!7zZ858aW0P()Z_@}@eGfCH#-$Uy{Z{6aCck zINnO5`^<3_NCL{)}>H(5H%_Q54EyqMpeJOgBK)@KJ+AvV1LUlv_8HZrFe! z*Fb-fWR#R-Y>{N#JTn&s4@t7IS%W5hh2&Pq(M+X84e42wq0zt%TT%+oGuZ*t<*q=0 zsnBWmo$uXF%Ccg`Dj_FdCSs#zdTT*yqkeG*zAo#K2{$HTcnH(1WJ91lIy}4nMHU%|$TID4dD~Q&jUsgTREM z1?Q2Zp4=fUT2%sjj@1tW^W~aSCJ0B{n-TQ~tBbc_feY}j|Cevz03bI6O}8-Z{r{r{ zJYf}({DZv`%&-S+jiXV+yzYKU6@%P_QnN>;&~08X_j!r`@{f zP5~c73z$tsy)jNpG*^xO>jCi@pA+peT?7;dVG|Y#-Iik!#C+pWPNfis!DOqTJ5mT6 zYg2{b0!PhL-J*)o@qAgl^*C z%)_J>4L7PMEAmXd zg3)1v#ab_fKtt%0DF9o51A8Luz^B3x^2#mG+X!@UbCY!qyam8`UoT(EQpv`}f-X$N zJdFW_5o7G*FQ&0$RlvUnoaB2%sz?n2%Ft%s$%KUIQY#TFOeNE3k{g?d zl&RUIqX7^EAS%{}5$F^m`T2kW#z~lujm@+1g);HL5uf5CwW@hnn?R-z-)!1mShhiW z9ws(W@3az!&R_;y@O(1@q_9~89Bb=ZL9v7#d|~(sS}6r{H?Y;$Uz$%xAPOI#5*E4)`Xjg^G#nO+XVOt@CRNGi4-hm$0VE*IYS>}|(BWa% z83mUaNCS-0U_^WYrYi~DCYoHH`V7cSvl4c7R-d!x9VvIlC9E# zFN^4ln&Im@xxM%qFrj_ZlPDyNI0W7Z<|}D^0)7G|zy%TKQqfqeLwFDfl=t*7Hx11~ zkPKtyBP1^$f$h^d39vj3R|wM(tUdn=b#nieJa1dE<|i}@^861v_EBdNPo0Q`1jv1` z@d22@SD+@w^TA6%0Kzy{alT*>9+}{?B6tA#$g1K=kHUQ^4z_{Cow zTRcJ`Ifz2WRANhg3&ro%O5*Ys$Fb=V^dc^gS(Ch@L84;;M^NNojaBc)Kp?6Hi{6Mc zPEh`%jSO&Uk zg>n`9Tu+JSp`lGXHe~($ zuWzpp4!F=PJ|q&YxZ~yX*agojn$;gvxgA=#32!yhc3lQ7Cu;9tXnKko+Iv^KYxLC#D7Ivpe zB8W^$S=4hZKPyWU-_o;bqS4%+oXA?c?DaMIrOoEv zE!u-ZK3iLP&h+T~2w`yUF7sCH{QZreJA@}G{zhD3w~!jKSf3RaNFB3b4AXPSI;fxl zvQ>{2*0d-?8D_x#rXrZ?X-XayYnlf_nHHzJUJ(UAN~lZUQZ8nC>NYLFSZu5FrTzgt zo~XzqLu)Q|=H#hmGZ-2x94e-G8E=uXkul|}Nv8ON#*?u!2Drnx%5>J7}hvoX;SnO9*&Ae2ivy=c(_+lMR-`?-6!o#4P#iQx4-9@VkKp= zCh6NGK}_9Vg_N>by(x~C@*t+OL9vChG>sKFE-SxdCxffxz{jaJIYeZOs340HPFjfG zJSh7@N%3q`D~a3|Rc_lgdYwi2ZCR5HeoxH#UU6RS{5@$)CNF_`r zU8_mgY3MPA;z1rTy3o+V!Db00q^I|YLP+)4Li5F%2`ZFv_LMh31V{@~yj&NlSRqIK zBGN?02Iyf!BW`re$%69K)wT4SgwUttw~~`bv!NVyjyi>%=u=X1Ogy-g2C-Mjz@Opk0{c!X=B2uXyD(LwLA|yNs zMd-cHtWrW^*JlaA+?)HUhks#6r?!~0^H0ixcO>@9dHO+_K1>D*Q%z+%)Gn#V{c7Aa-|}4%zXIp2>)jh@0#Cyb4WA$QNvFuo<|y!8anoY=bsj9X@aQHwNww*h<@Z0K`)Xmt(%P_v z{rm;XAO6K-Wx}sNjXwU4b>3gT9{Sj$n$C?8*Db7FCs@R%a+fQgKJ{vQIJII$b5PBW zuk+02upmb?t{*O^f>tj%Sj$^CwB-3&YWc&TJ?7=@&G8&OaW3TbJsz$yL?n!D-tq5y zSD9-)(F-2n@2cGZzRqer%3#N1P|P z594IrR@CHRu0DT@lEB>dg9;wiW3d%hOC7{)xjJn}6+vj;HiqU~n^PF(okj;|*`er; zi7=+OuD9+f|b)`Vb z2?~0fr)!%5POmR2LA~{)(I$yLviVZ^W?j0@VDU;E;c?4?)Vb@5HxSfhRPjaSW}Q)e zRFo9sVC4nL`obVJ4ki@?D>byW%bc5ar$xFuOpIeik$e+c#YMBZMYT<`_NbCl=jOb; zyf$=6f{YbF8VopbUE72}Lmmxtd{li`5uTkPUs@8BTU>-olWQ@4V_U1!lp&mYLES-+ zPZlg8b~S%(el6>WG_*$tfu=L5rKo+c9 zPx_2BNc5y;yC|K^vnIQM)Wpqu1R2#{DwziID?>Z!bHxg2G?45%%rwDH%E9*>-JQIh zCxOk@EL{R@u~A2+S|-1x2K4$y!}5LAE-g(J4ekkVKG0`jrIv*t$G| z^y_8lG%tONjf+jh5ZP3llLazkOF|}is}CU)Rvo@CYCf$o*WXYGtyFP3#1ag z1Ocw$8Y2NWK{{?wCWDSFZIZBHn6B+}UAi^Kk&x+7Xd!KeqV*-UpboQ;_dLW8=4dG;le;B@5S}4=00flga}y-HB%de;DkI%X9Wlerjj@c(E zo`$T*GG*xKRA`VI*EMG^X3Z1rdZ#JDutk)Yq>#!BLKK{A!sna)Eu~J#X@+KnVl9|gx(>{XEVWAzX}60EG3YAW7#g%b zdyQd3F<2*!G?M8+tZyRJ6=)(@DA0!DHMz9~QIH-~GmYp_O`(y7aw@WJeXYYW&ml2F zLvpUCx4Xdca81Tj=r)F>5dT-^<+UJ>7%3oEg{^Q-b})sv=~KrMz$g(A_)1X>x^ju zTsapCA$X7%6pGY_oHeBwjVub&pgS%6DhXt*D1zO>z1ZMRRH>iDP8q^<^j?&WJONb6 z&dIJVkV}f2oh7>T>pj4PFRcOs7lwl@$)#5vN}`WesVHG-i4clvs11>}%ADZjbw=ip zDl~c2d(X5;;)i+P$n)pc*X}3s2IxJm7I&8Z{Xxx%M!Vo>m<~$a$RRuCXOkhb~`c6|4 zW^jQ5Y{NC>K!iv>mB29QGAwG+n21bzem0qOX|v&CIjEPXyEw!W4zU&pw%KrrkT2&P zT==GtcoEcxivce!Ch*BgGR+wsVGhY} zMKIqw(ka9iZA^YeCOHGPn?vM7;2eHsiLNcr1Y#1T8$b;1)`!qW>gA3AqKret0#RgK zMa+Y-gdnC29YC-dMoIRJ*oLG?-v zP(9gHWI2F&NfJlK!;wOD(dq(JFPS6;FMTQle3R!9k-+Wx=ukQ(o4~Nx5hI~RqbC?# zv`;VwqXd|pMja3f^m-tWJVt1g%L(Ed5K!+mV?s4D$cSj4n}(pqlj4d3d5}=O7ES{4 z6WH)DTmwPj8$eL*dJrU;YMai z0Ud`(An{txN9nid%RdHha#B-C&*Si3y7aH6#L)aA!ioG`c-APaAz`ql)SxJ%Abk`J z%7&=OF2Z8v8HFdIgV~FQ1SH&Giw%xTQPYO>udcOcN~H=>M362&8|idre{=D)!6Zu` zxeKT?GAKXCn4e!#3(wa&)jVx7jqJQ*%2X_n>$hYV1{GzmCVr{4q_izcHf{PU17njCO?@jOMq~OlV?vSw!CUr~xzKem)i6AAX+m z^3q6@9r-F#;?S&!6(Xv^tjQcx5TOKC1Q{y8T;`VO*44t#Mfowf!0KBe4bd$62n@jz zyku>yLuznHTa_k+t|nO-@zn~^N`fpvr~_ncD;&Abn4p`ilqQMpAeyJi~Mr6`iK;rbPY2oOs0a!WD%OP35Xr%`8^5+dk9 zJQThJLcUgA+l*O{L^P6-r#>xWf1>@fwI^)Z}zYp72f@>SY%KRtitr3~Qk_V6a7Kx^xvF z7pLJ{(U%^b8&E`!*c?Nh5{P3Q85=|eh!&vk2!a*R!nfygknJoPmOyeNuOM4(0~Lq-@CR!&xkl`)P@q5>ERwQg-m z5u$M^!hd2EWjY-OC(6fUl0}}eSTDuo=_(*b(imTMA~ZBV9mS)f+Rl-lN50wtvnWkx z$1oRbSCOS(lw;Da#H4+7tqde($HDyRiW%4~sVoxX$P>1GNm|QJSbmvch^v&!WKy)2 zm)@WzsG>M5>_D-;L`x`}G}xzs%o9YRD+C>I2}O{WCt1Zz-mbNSN(y#6G zhB;Et2dQzs)u4gl(YLJU{KX5Z7-@ncVY2{mbl;4LH>lu_mdY2zvS1jzoTS*U)aG$s zQS5>Im*x-~*VY0aPN`wzGDJ|GGO#uzYRch+2W?QrNE}NSKuSn-AeGq3{ODA~4~RX4 zr^G=Na4gNy<+h3un}MH2IjN9~D0GHULL~qX*bMY1Qa=u*K{Kr~U@-l;Xk4K|q+5(g zC`1~u7LB*%feq=`KpbIxlk8&T{;=}RdFhs;su+xA1q005b(lzC+V-P^JEjVdQ?OJ5 zL{T=BLLLSWpDrWNqBw@^JJYSK#$vH1Y0j9JGfbVWV;?W89Yv8}SLftJStQ0dj28ngjm@1sBEqfX`6jK(vK-IB(R&Ufih5z18AYR1ir z2;`l5`Y$pRs&ZF5E__KgY@GGo2Q)>3?k|+1e{1>1P4vGJ zA{((2?NMT^);iZ4G$j~eEmmuaO?tukSHSEIv_gWWtUmpy!wx_T`ujbp*Hl^QKR-a4 zdbRN&{Rv^3O@BrMlB_6Frp0rg|8zwX!`P0}5rlujqKJy+Xvh(oU^nOyU4=r6tMVUkHj=gj^0nPNKNWD%pe)zC; z9~~!P0lNtaxR8Znhn*mEhO~aucB5vTfSjcD^+IgDg*5pFPkCs74!iqk5gN0Fx@+uoqX0g%sehA^+^K<_?!W-)g03amBbvuFx0aQ4zy&^q_>;X-pE*`8;Q&;k)a zh1Eg&kvK4~r}r2wBrO$IH{CunKw5g|@IJbkfGW}7g;YpNFC--rl47g$>Cf<EX|q*3d|ewEhV8HGIY`S$v9ZD`{}6>@{X|+GO+{O{ zru*D`VPvj*p+)_7YJ@eYZ$ zYVm|d-%DcZ8n@7P?y<&ui9A-(?dT-QF>-1d!`4}udRn=p$C_ld`p=bGnL5a2s%XTT z)WlQ`4p+Ry)U_OPRnRd@Ox6^Qr+X_?ca(kw&80B6y;oD1x}F1@=yq)no`0+NRd9f3 z=-1FeO3kUX^-SGcv@K)An&L{bI(&kSOr5*VdW?P}0~OrWH9odAnz8JoJ5iqT`-bsw zkdBJzu@+XlG()L38B4FbfxbTgs2SSE0h;Lf0l?tU00-DlKNtYq9-8F<4%#T~u|5-$ zq&a;h7B;)3fvyh#YP_d7KoecG)MTyHus*?7rg1NQ7z9*0ysb3TXtgyTq+gcwSSxK} z&6!i7fH)iITNr(P2uvR8BZHd=2v)IeJTfEur# z12oYuqQR<^O3k@e^w&-wB+b>FHM5tQ#zQCS=@a2VpJnvtQaQk0dN=@Zj5RM}8V@^< zAEm4LBi8B=SC!N|h+cc)K~Fs6GStOeRNDT9D~46DrnRNF$Y;`{_Sw(FPcw z$iNG1&H%Q+>o`-fk+H&<*VEsE2wRodTjPlWrM=DegY?EFC1d0j3Ui#?(z;Qa21F-w( ziU7oadK(9Mg?@$uG)Yej(Bivv83fLi?>G%E*!I&UFf}fp_4epMCSyC)M0Y13^qBFV z;}tTtuHJh3nykm_PO-uw(+EAlK6vRTwj&t1OAZ-AzeGbo`T#UVA6I~YCWA$0B8ZYI>Glp0Cena14_{ce?k{s{#Q3T!~laO7uy6%1i`f z`{<1zVN81V_T!AbhpDGOmiJi47?|<+5G3@aQ?*FUr*nW^x)a6_wZr~U@sji1#Y>T~Rpq@5qO-;#z zr}U`O>3)SyK$T>7pL8eyXr<)=fPN0}+PxBv(d{z`9SdlMV5BJ-PSbG;AydmCrqMy~ zUCe>tM7MuIK-Smjm_RAanWqz=@_L%RB0^WAV*Po~XMi-(7s4$~$zu+0^KQhSn55I< z9)zDR{YY&Y)6%2qm*#910U#oNB&4UQDMhRq{k)RtIJ}qMpJ-`nn(>cFE;Aj@ z!}au<@SY}H$c+A!k_NzaxR0iz0I76o*t1ZD4p(PA{m*FB*5uNU)u3A!B;hRRu-UAd zv#qZ(ojYjHQcKgZMCs^`Mh2ya(kzI#{TE7I2*6*bzgdRI6ul?vV?09CpU*U*sWWL- zrqi;C{&8kclPf<+dPZQwb9n{*VgR5Y+s-0fZ+weB5s4BOt7i04BGb8__LA1YlF~}1 z)BZaBZj_~|FUjG%jl!=s(XYtxSf%kDA&j)p+H3kFYJ#aMbeE9m(IJLvne zkm+=H?5EE!8EJBR5q*tAd^`I|_*M3(smZG!8Q#qtvOz_D2F7{G1l}$L029~-)_G?f zzTpn$(1D}$v8BM@%$JU-IvEz;3|)YIzMF7(ZsyQou!+>1Gc1BQE}t)?|Z7w{|eZ^=-pb zh~o^_UCzVD=$+agTgc6=`r(1gcxExttHKGSQhy;0ur%597`c z)to6lM*xi#^lSh!c&0v)aUP>H7h);ocASOXbM~XcN1>L4`f;tr#<*%u z51qtPtB-Dpve*ieZl4`?VV%`Pk1Xqft8SE@yXq$Et_nJ9Ay!nOj&t!HSYd6U{~Fn2 zD}?x;V^cQ*;A(uGP7sXP3Y+?p{o|5FOpmJ*tDxVZ(XBeiIZOlCl<)(Ktuo0!)crAz zTY$+A|DXrYqngnpDFC3r^N}OA%9P3kzt7J>8tC(nnrxN&@!VZZFVw*QC@K&&7*1q* z_tP(f&6Vu!VQ6*l0j#03?*n=Uas+P$z+QSy0N@zb!~)P#Pj@dHu~miSHzIQEXL_64 zAUQ`kP$4lpCjmN2KMSg=Li43(z66=gD6t3KRMm_h$z*z+1+)!wT`jKE_);(9xv_zz z)0dcR)f!JO7Jgm(=|u9Rzd%a63g}Xq#a3-~3=ab7YNh=ksJh9e8K*#@3wGye0q{2I zNDaZm(`TUa;P98#Os^X;jTt>x-#%Z_%V7QTvow>fvF5boGUKYV)YCr(9auf-+0&cc zjLXt-jIKp#YmHZx$Y4h!j5lJl?MqJfd$1AXavg`o3gJL7y~CUO8P{_Qj5(U zQgc44lW{v=-9*0({28oVh6gK|{vC(>T)bF$x3)&Db|xI`mxgG%s^ca z)_S4omVKdC|2Smt1Rj66tY;sCwcqKi<;;oZ4lL(7wU&K_1-C~^U#znnqthO>Cd0${ zDiX2f!eTAwN?~p^-M-NEg{9?C2Uf@>A(e$L|7m5v#cd}$5;s-es!-;pO+TKqrm>^v zFnns#V(ik0y-bZSZmjX}p_XH`i1K1_(l_S7S=2^n=V9#TB=GM#T`netjwnr6mod=-^e z3pVNc04QkM;;k9$`hqMe5aoTc*lTq&jBoJlpT4l#dMx%g=phbNSl~ZbLO@o8$6gNP zO&UCRoPg|g?3?s?4(7v-L?j2p?#(0t6(r9Lj&CQRLvRU~38=8i<@XLJS?yqRgVt;H zCRH`vKEHj9wFL@$1gq>yFBVR%DfYU?jyLJ%`6ys@c;ou*;H3R1{p-apZ>76XKQXc)bl{RSWeOhJJ-zu@?K= z^fL)wUviT-QGaIpMt}~%37&tLfM&-0Ve@9-+_EmA+*E zxteqKmP1wxdyqb-Mj78tZ_Qc$7l1i?`sgdDmg2RAI?mkgw|5*MGk%=%`pz;1O*Ot# zGj_7I@~2qu7*lC2aE$QI*?X|)?W2E5K-E>=+h_S}>^)rs^!%bqM01{;H3;U8W18Mx z(w9WyoAXyI5qS;LtR}TD8RDhC@TZqRPw%UH=|3!~LV=-)HQ0BsVRL4Fst*xQXrW`M zIIQDv<6-+T`c2yBN+zYoTE6J48*uf!M$6T{zT~kGTg|C1`=Po{d&@yOiSqgSny!0m zhRk7yIy;CY1wfFb(e2M2avgRaVi9AjeKXb8s<9eRMd)F-%lan$+XNh9vsJn^US9v< zer_A~in{Nn7gKk(UQ`(-`G=k$lmb^ z%};d~x(cgr`~I}C*VgDde3bsB+FivpQ&HJ_=)gfbmtEwx_PMcy*Z0HB5dYX4JLXM> zS&@!(ox|pot??K+MCUNHIk-2GM)eFiXrd*jrZrSG4*F8%IzAQly2TT;FJWwI>x2@3 zAS&!N%a&)J$io@W2c!RRe|9TUc2ZO_IWX^{sG5(sqq{@59<#f| zf?lnJ*MygB&3aXw6X$glMT#J85gA&z{&8~FTWbAm zXEE<7ty38>sJLCda0|}2c6b@Q;Ks##I{WL?=D_JQZxTS{fS7$R#cn1q+GPwm`dm`F z*8V1CYP*g%tUeEzE^`%JrF6V<|HQ&&^?)D5)pADca3rUI2n8&Q5e z+Q6x|op`6QB9lAqzL2VUfAx@dVE?D__*C42=kK4NFovVrLW7bww2Y!;U)194_H~>< zraV?0C4CepkHy{&5S_g)uf%?UbZAt|81G4d*5wrx+uO`|?fg}lkD5DMMkwIAoY^K+ zuUngXh_LvgbiFc1XE9nqM>yWCFlBhR#YRo|k5W`rnUmx>oF?)_{uu5m54+4K&(%sn z#B1iX%3T7vd)(;>yBtXkA2o+vPUnzfL0j0j{0A-7FUqyl@=PKHIAs2q2tFWSj;%bftF@saO}eXKt1MVga9aVng;;35fF5y z;A904iPGszNpnQy+#@Q9BZ@WT=G>zyX^yI# z19L?8BPx?4DuN>l$7~2uK!7M9KvV=F>Vfa!)OCrO3QMK<+Dsk}oA{f%Rmw2d zA&OY`01t;=iYKlfQKAQVc*L?G0H!1pSDhXljUfPvhtn?r95IvEmf;cG0&_@?9)Vj7 zM;MN~VG41|2ZRv>2m=CyMSc%qEH{V$K$%oZD8tL)zftB_%~2LPN10zWM_J??WhfD# zEb<;@@NG{+KEAFRyu%BzyI3|ec zwl^qZiRG@Dm<`3oSL40~Aykib##K2uks6AP5deaah+`!HDijN90Kx$9x+>o@&oR#l z5?Nh(B}XI9XMsj?pbp#v1~dWz8e<9f{udJjBR(McDGG8V9tk0>s6CA8{-(A^(9oyrd0K2Nuo|S0$Yz&M`+E00H92F?>QC00H70_lPU! zi0j~pOXP^dSyn+M!# zj{Tjqw%!|-o}C+4>zr&<>E~pl_1-|?KDk+FofBx3pg4hUy*G0G+{jz!gr}-BAUu)H z91D742n&)q3tz}t_!5G+W*`Vwo|nv-_!KB%%+BYimw21}1H4(q-h5B6XUT&30GAOk zf6isQpOUs){%Hvjr6g!1c?0T)+}OI>>bXJ9^f8)=Vxocogc9i{0FGh+WB_>kn6!HY zI&uE;w5}(KqmVQAg`BxBX~tB5LLfjOXYT)(1d^Bea|8y22?Xlr2y9po%IP101So8{ zN8#UCIL#55$q~qz{zA_5mox(b0)YU5oas;cA99d{Ix*#x(9{7(&L(#!AXicmA4=~u z@mu0uN8`@qdXnRprIgS+W&9SEJ0b2&jyXAgGXaoP$`kU!Kgo_ME zBEa#{!Xqj^l|9f&-j$Ry9)-t>h>30Oj-Xpksj^Nlif*sv+^v2$!_t-sp zr#X6earAPoqL6bHB@Q4!FA$)Ya~0pw%YMJM6De5m9En--$&$uC&#t=1;AL7KqLvcJ z)g#mBQJ(z3vQPk~A_2%EQ40WE)B-@4nM5tg4+LU^$QC6>sFe`PCUbtHknR*5Cql#S5em-E5!#}fBQ$=FPyn)IETJ@hj?xy@9HsI1C@tqG?ci9-`H(`+ zhm^Dc0YZTQp@~FdANv27*o{Xd6iMslmNR#;cF9j&%%<8~%v{v$@=0(OE%$)kT%t3| zdOAqFx+<@*;6NP!FX#X$CQb|hvbce|cg#46iz+N2s~foE$QCCDcX8CheW5V%YyJ{~ z0JT7X+LV8wmi_O|{eL2tq+M~;BAf=bI8yi>xvn{K3-6KZnj^RH9=WbLatk?fk&Ql4 zj#KdLwZPhPId622^yEbEpKE8CM@p7+_Awo~uj*rOsj#w1jxXFE8%7L?R9Z|b>ab+U z!kTnB_1CMb#lPB$dWDZXzVbiUi%$vEi!4SG5;~OWxOz#{U4?PweTD3qda`n{kTqr7 z9aAM)0u*HHvI9gKCYn*FJzdS!(NTBrtn3;8-H88<&)vHoXn&=Vc)|M+P;qCbhzn`y zwbYaNBeK+3OnRF##Nd#Bh7m>?XZ+#X2x6K;lyL}_vmaZj7fxR0BJr!6-`{Y;%IiAy z!pV*Q^Z}u*dXNC>{FSLQF5c~G?+b56_t#$>y!le;&r|LS`tKgwW1J1%AnAmr2A|@s zu6~DFc6#v#*c}jl;GU-LG_3R7XZ!KgMrs#|^WSK>J^#4zM(OUFlxMJ{q%>??eBtin z>BMHMd)>}6dGI}j)o$6&jU3>}8IJeWZuK0X>t2a;G8wXqQD7?0AdYYhD&{8fH}6Id zhz9Pg3^l%z5=!0PWTvDJB@Pj_;8Xw!S+Ip}B>{kC(n0cXaJp6oCKbp<@c+mcgnN}a ziuFn)BV_0ZqDasA|3$oeDak)EE1VRi!_E#OmaloQXJy5_{n)}K|7K1@to6KzltYFx z^^$ngrP-k8<<#c)H}?PX9Jv&LpPr6LW?Nvlrt6gHy(*Th>#uM9&8%QHrtBMODp+O@ zi$@-C@bw?0d}Lm%FrK6G!!{Xbxm^KtIg}{>2_=26GHIS=_8Y0T-zjMO6IvEM^SjyF z29t-^zfeM5Sx&YQ_Q5;7aH4F{t8bBI41XRrJnVlyzUc`i$&!zUUEQptcSeXX~faWS49F=UKtOn;k@Av~KglKTy8Xfxc9+`h!D}eXBB)h8hkc<)iT5Y}n<{qc0TS*`!eNo#&*0F7qs+APk(n8{))_`gx=kTi1lTOkNL$#m7Z^)x$j;jxq<9u?2 zc5T4TrFw8u7Aa9|8XSw%ZDQj?p=)=I2so$LMn2{&H;$d?vEZncKxKC zY=2!|9O3@&_G&upwvGWeue<_gbx!^pJ!um~+4Y^s0 zJ*9|9vfH=)<6p~pn9^Oxioae(>s&V!`+e{6#N zt_^ZC15V!?8E(tcu%=`cX@gYb+GsDu?%j2RkF){n&5_}6rYN7i9-RX-lIe{ho!_g7 zvZUh0(l#Xw?sXw&qB5zw$H)NuZOuZEzLlNWCirP0WCPi|rR^85D$60tdQAZryhN6^ zNdnQ}lo57Lhjb3Ek#y>-6Mxspih-F-p=lAk)kE%uM@O^B%_m)(Tb2`}`jFeLJdchV z`E3 z0pKtIF#v?zsN7-3?64DhWb*1{26&KE;gps4>AQ;ZVqP@NTdWRuG7RmJ+6R=pyZJnd zA{KQ2=$#kdv}~=|)&JMlm5G+;Qz|KFM6gHts)(v?o3{u<>QclXy7*$&X7nnyCd9{h`z`69O?dWE-y25%V{Sd5cBVYXV$3K!LrXDVrCO z=~H&~Do0DriukH?)1Y?380ADtjP3>z!Whm7d$2VvhS-&^FDd2Z70Kvcr7#;eqmmfH zGI42g8u@Q`mj2gOSgua`olLJ%fGbtGD*p8{h`O;M`VV-euS*Fcp?V*VVcL^d8}+NcV9~Iy!KA)|6_xX7a^n|ZM+C*q?zK=V(tbX z+&jYE_8_EQ6H@v4S=jDYbjeIYESr;)UHLk0)og0xwZzA*BAee`p*u~u+2&Z^=qgWa zXW>rFSc7yuk~~XvYNG|}5F+0Mb;!YoO_9drSTBV-uu-Mv;Q2-yTsS9QW4Ay+7^G`NRy}Sq%T^7S5H@skLQmkpof;u$1>J{O{ z<`-5=TT=nREkPvgu`+LoHU4d(jKwyvcfo=HV355C6$0cHg#;?(Dm8ObMsj!Lx`O|n z&%iQXrAYU8V&+Gk^sm0JPWo4*hO2BXu%l-$NO&90&eR)JPp2>X`p)QJa%A@jpl!EBOae6H~8= z?}^&b--{Zz_rb|p%9((ysZCk@_&843;^Y5L+MJxUC2`V*upiQfT?0s4WCDpQ{-dz5 z{~Kw8^(9#||An|A%qEBK@5!5fPTrdC$(w&p+#H;^x!*HG|7!Kf)M}42Kz9=gaGee8 zURScKFC`6*Dfi|Pa+Q=|_T`%^m7?=sOdzZl?S2oKO74~|1zva|=s|Qsbmny(iOdBg z8uHv1okrHWaRj6@Q?YFzi`jyA($&bE}gVnJ&m^#F=JW-<%=>_z^oH=thNy$rJ=1miQ=-%v@fDGaui9J z*PxdeVSx-#7ugIF)bygIoZod*!bbXBuxddUo3WDbQJQm}w_8>=b@ZOvCblnF*&ANo zbMxBzk5`)Ws`Qy}&=o5?TlZgTZfA(TU^qpOOA?1I8MdIre&gxEVA@mce-;flaEa!+c>hQXq7g=&Y(0gDTLg; ztNqh+EYnT^B$tJ)>0Xq@&0$&uHv`GeKoVV=4v*~>Y17EvTdzIIYl@Z_nv1WdDkY9h z`q*VHJZ>6}QIIu|IC%xxl6RK6%88`0M1>$vWKD$eVxU5DAzXZt`q;tzY+~X2O-Xo8 z?l~4SnuRx-)!OI4ah+c@s}J;6t#DCByR0=IXUczEF}$#qxMYpt3+g`2ty&RlxD zqpb1CccW*5qqdZ-eeCdBt8)7l`VXbb-z4Q+RK(v@4MDbp)PPF{Wy&fic-#;iyXc6c+%)eZIr3i+QxOQp9G zIfVIZO6*nw5D8;^0|ND0qkSJ9Nv@}F7njj#Z!;qqwaj~$OEI^%Qb4wyIVrc6jZ_QeGFgn=P*vC>z` zG2v}6EsrDxk2#TUicI26`y1vQ-Q;AY?<6UoZ9f7w=}f1S#&G&Ums?bvYImVY-L)4~ z;;|Wy(Szm^_jT-~PzT>-A0RVhY!JkpH4908Ca#Io>V{*y zPUNBH+AU^eJf9>d5RerLq!pY;daic@xziC> zIF0zBNVuIPR3J53dvVU~JUUHU+z`8s*qx{-KkOGm?fzZFe#Iv~)QuSkHkJ@OAAIFF zZ{wZsl;rP>%?Tl~KH^H3V2Pa)R}aj&O?Hmegp*C5EPgW$jd8ZHD~lhy9Y;;Fh!)9$ zUs}0#{Q6Mp<9ia19X$JI-{kf^vF~^j1&=eMdlZTe&-86vCH3;hr^8>YNbO+tbp|*m zm%)7hoB-9?n~8pyKJ!gOKZ^3PWX{pa(r~{a@~^pkZF?*9fr!8NGnB~A$5{@Tl1oWG zB}_@d`h2^Kn36J|`JQDV>NIjaEs5BrQlq^W&rrz<>sT?TUfmoXN#dszP=;< z2q#1cJ2Sa8?2uGQ2_BK&io1DT;&&2Da%DT%7_>l5*_sVB=v zyh4EG!tHH2)ejKPR>J0x7t6%tz$;QJi&*!f8w_QMo@)8fv}U6!E(@w89@54_6R>U~ z4%5cuX@ zY~mA!N-|R-PrPb2FX%614*%we1w*IF{)4#ML$qP{Kf9Gwqnk>ratYvLBva;~=Yy$T z|6huPYJ7*hG$B7`{2x5K@b~XLkgE{-+Lo4As&Y@Rb{o>3d!QhDG#3GaHnhhi!4;V# zfGB}?3zeBR@+0H>lJl9Y7%{MWpe z1)d$usZCN3h^ZPs$p z++d0o36cNe!KO#c;Vla+kZ#`%Z$AcqJvR%2O*Ph=mu9g_VTkTHrewasO63|nG${a{ zP}vX7+U(oLyUN4eomAXg=7{x>>$v`M!o52GR{uoMTe93T&d7_p#(Q9(Kc$8dVrI;e z>ZvouRHFyx*h_`H^WI`-7A52h#hYWD7f$oyQosI*!TriKMe+E*WP@9Zla<8~U2t5} zEDsGC8R=_@0Yq#x)4(x58y&EULSS#b{H7N~ND*n1LUv8E)|-ie`* zn>NOvtwq@-b_W@nTqP#zin|~%c9y$f!q?1Q^?)FSggI3n&PqZ9k3fxu$!^Z#w8Zx( z#YLE@;6KG3E%H1#+Bo$HXAvO}_F5Pk!>@QZFCmSSKn zn=&y!WY|hr>eC(i>=kfe+liSabs|0hm#60J+|YQJIV^f#gvE^05V+EJ^Vzpw&oVD~ z=6A0BAa;4#!z|pE`}FRQ*3FAXwJWH`Df*R7{#mhiARra>kTTpQ<%N(Cp&>#xDf`S< z7PwCYE-oNLaJ0CV>JTQcq4<)t7<+ZP^wZFraLwjoyr3>7M`^y@%SI*JByck!26Ld)3fRwjdJ>H?k<<)Mtd)rNm~C+keGb6wC9rZKTAP zQhB$-0hwoxDBk}F6^^Tn`>EgT3>mmV#!T_C-pT!3lS-*pQ?W-N4dLlj^~aZ;)0e#AdQCL92YPdL&6wTO#vaqrx+QxNA$>^hc$ zO=>MleBAO}IVFgX?^8Xb$_I(@g)Lpx7JyXh-iMUEqX2CWt=1NrrUR_NRrBR|&3&yS z#u2_EgWQN(#O4*1Y_LINLI`_``60^J%+zYkG=;rbU7{`UGU7Vf9~CNt?_PsR5mzcH zdwx7j&54e=xhFR~ql&l|>qxwtx+N{3&_r;VJs+pV-q@VXUCJI2lvbHZd2#czHK%sH zv6zxrbvZ1guT?Q0FBEK*V>22DmhMb1u8UDDCm>r>vcHwQJ9fEx`xfxwRI6^dk{lCR zV&saFw^Sodu0Ho_O^YN9DPzdpQK+f8EV5<~0d;mXDYEZn=Cn&lW=@Z-UZEo(_gI0y zh22JA@ASM5oetd8>sLYsMe471aZDoDu;N0}HM%xVYsWVOT5!cs0=^o+X-_6e z0Qh13xs>O~dS94DQ7&RbD83W20=;_jImB%;Bu!A^_Y*rK`T2ua9TL3k#ws5RL=xmJ zRIFWR$9B(uI3ZEiaWztr$M7G1p2#hJq)53Q zUkk?fR-VLX&~2xuu8+s@J{&IRk-yYD@<#-JxD3BVQ`hf2JuaedU-6&vq5diSdwObE z7|#819e-RouE2^hd>!(!QZ+aCCCuDQQT&a5;4 zlJZ@md~)6#3U`BZKM-oOYG^iMJR&INobnd_$yt5t%JuQ+2jb5uuMB?>aRs1T3l}aN z9=|D!K_pS_;?iDNNV5m~xAMW3hm@IGndQgvTzH@fJt$7E5@GgYfc_w^+zq9L!tHAKwvk zD@7uB>HVP^!Lo3{v7vtzq|C$P*uM&<#;*%*q31B3fC@pEe(rA`74p+@0q@7ECDfJp z2tmrP_im68NAZYj09*1gA2YWF}xM$%9V+!G(R@I)) z%TdCG5DwMt>wi|MRKs@!SI}jGaF1&1k52jGzWrAEu<%r1Jb(K>O5XPE_!!&6%C$dI za$lZV`@-{^w`>p0H+tHm`e1BG2o@;up*He$7bnOce?d4rExff-c!wSD6DpQpJ|Gh$$Ewdm^gl*J<7DgPB8(dS_4c-;6h(fF48 z$A2R7rEHJhLv%^?joJI**jkZdc!g+H?7EQax5l3kUBScnX3=NEH)5u4LBEKWLbq=H z@Zyg}FSowb$@+aM+oDyN7Ot6Zvc?XJNL$xKZtWrRbmi%2N-WXYCn+1SRCZJi_8*p`fK1hzrg zV#Y}bm_i7l85n{Y5`qbk*utP=GEp)#5Hd7r8ali!N!mtfNTQIW)H(-I>y(os6;ob? zra5trTYAzYq7hAKD!$)7G9-Q9_q+FbzI&hh$9-zh)}Dv8_g;JLwbowBXxX?)OUE2EFi3g)p-MNr)Z`zWcSDX0}K#pDS(nCMuK|{iUEwcZluP_ld%+@$raK z!jwb%Ror7*EK_6>yyHoda7U4hP6?N4lY8|UihW%_u7v%GKI3G6qwnm`H1y$n@eL%o z+(0ie>MwQe$T$PM&X6%n{4|4@F|j&B7cvHp^%=6+GG+#G{TYfcHe?$7W_*S5d6O?U zyoHaTE)SjcC$aNNK?dVn*hR+d z9Di-Gx*ghcA5t+PlOtO+aE1HL$!R6B`vc{u8FmjblwKR=%vdeRNBqYr=MW`)UgnjV)dwtR3&y2@h1wUJzo0P2*3|rNPme?3X3J5EW*{lHi4zy`JF8J3ZXF zLRnZ|>3fap;6E<$4;-J<>)GPD)3epHjhj^<(dJU&q*fH7R^f32B5D@m_e>k9x!vm; zsm@J3Yw+V)AZKO{O71ldk8=$`wTsY6S=2+24*ddDcL?;I*O};7R7U6ZCW3a5QNdLb zFy?ipEG|pN8-2A+&f<>-k zGwaXm^Zvx<%f-?C_dMa(dFe(hKls2jD+cM(|iq5QA&PBi8VNAq+!{A+nZ7wX|&$U_*la2v-XdC2eN z+M1)CzB28hK0x%>dHf%nCHH3a^Mqya5oP{*X<=yDWr-C{m*Lw*InB;WHu z$6LuI`Mz>>2SUOhn@d$YaCjbyrTeQcowg)z%TMp#oK zSjq8}(eMxDe|0qB6#Gm=hx45-E&WQqlh%g3xmrPQR^VpJ;r3`#BKPA7(P5#kF}q@{ znM>t~Q|K)E=m8xS%a2FM7$v$~P3i)MD$<6Sv1)MmS9~q{ax7h{4dUGGjfp{ef?2rU zwurAZTP_KvoQ)I60j1A*FlTSxLpcTdLcLXAtRJT@%Tc+@)e}@PcLi~U>E?+sVHTWW z$s;^xmI0^!_9qkFWy7 z_xw-H7z4Hl0Ka*HO89wU90Y*!7Yrk1$P@ED?B(7z3*&OQ$!&0jwC|WSHAZ|=>rnd3 z8`^~R%;Xfl$KsBypB$5KxzlyMa61;+9(*3b=XT2g`~&b0z^{g14Zm7=8lT%OyAj@v z@NR^6BdkGKgRlnvd*HtZ{(Iop!mov2i+oyy??w1t;SmPT)A&4Z5sq6F!bcVo7SZ{4 zGP5J@zne#5NaOCbz`eyK3GWwhKg{|;Bgw)E3)gEIaeiSIfvYdTMZpoQBrGEL7iJ0N zW4;S!PBn?RGl(0$_@PBeSvIx3({{&Hv5moXD`hEe(YDy9{L{No-{%iK~RDm9U@4-;oZa844@&V`UXl8ulM6BkEh zL}4kEA@xcLfS_y=*H=JNWWjVf37u7HAQcdpWs^vqmt#n=69w`FMr9qiR9;_SFQ;)Y zu#~4_QCusyOhHs_P#I-or_fsX{RrqV-co2MeNd7s3;!iq=3P*enOn0?=x;+PMtsZVz{t>4wu6GLGoOA<_+ zhrL#75jJXTVMfE|7ST{X0n)?L#(jAoa;@(P4=r~;=-p{(bEMZN8jE~;QDb9~$G`6} zp`$2ua;(lwVRAl7t74~flQ$N1>UQSv%ZtJeZc$MWu;Xzf)0s0A+UZ!o%hAK#QbeXr zu#Z1=s0g>8*IloBJjZZv@@v5sAp8lBYzyI0A>zl_DHD26{A2c2kNpB8$qw zcnCv?&R$?utAudz;uTpM>8nW76N%@GO+6u87K^!uNEbERJJ`0!ot7eH708uj6jY`tN7F z{@gSfXbPlG)PISdJPxP{l#=AXWQ8C5K+<0V1L6=H9H(3nvCUK}zsC8;%I~~#$``M}P&P9j#nvwu?6MHfCFO+g zE+f2#>s^cVsvGEi15S_!OlDe;^e#oVqcZ)&gqPv**y3MBXEa!_*=3=?1^LC;Fvwtl zvZ{30dOs#nN_QMhw3I5{R#q-q%<-5girMu6x>MPE5?S@Qv}RYh#9->dvGNFiab-CQ zq*!*#s3Nhb6bSc~_LsgKEai8XhVCoP>?vLLVCg-Nl-|0pwCg}=&Xc9W)1|_*rSiej zdwy6NhTtnYOg2GrG2K%-g?+8G1tSLYgY4S*u06?g>BZlcngCVqjncq@zGo6lveXE_ zR1Ov&m?wb)y{^7zdeH$AR)Ly|p(2og8GTY;CfLik*Gj?mAz)PaWeEha1A^LNtSw2e z0`Em>jU42Al55H?&MLE^wK(Coadl-QphFjyiBdWI=wr&`VS@LrB-gU#y)Gp-4m^ft zP|w_jS+3HaU^5`o=IQL-yBjCl*CtWF)F!;0Y=tcg=Vl11E9I<0h9Q z18T;lwp<3YoBz&uVN*H(*mxvLI0QtDgbOIhS~xnMFag)zwUzvacW2|A#w-_7iN4I2 zHseRm$9~zFa4s3bx?H+lDX|nkY2FRa^46_)ZTT$biekw~n25j=ea|Kv%fW6VzC>fW zI1Hx2s*U7C5()eLFeW43s=|8lV5Q{cY4ZFtHCk;*g9FOriNpYzyGscO$&D5B8^sEW zC`)MnN(MaG<%yfh3CJJODsU}t9dK?h#jrqf(060$uIqV~A1Eg+Z7G*y?K0swViINa zD0|hBF`ua0l`TmC1%RQwUB|V(e$~USUYCoM{wWr@(#=?3>5oeTA?~;3en#ybDhKX1 z**v@ISq<3VQ({JA>YNzdgT?KV zu*0LnS<<1w272Sr#RePgwSo8$ry z$X#QLb_QK<@at@cTd*87i&V0Z{}8W*Rt za|LSa_iXf|Ue0Ove;ePxhZcjk-X5}jyQtV@X6x)Rl3LsXS1?uxFM9o|A-_7g!0x}q z9E$CHY;f0sm?uX6s)Dmm5#n~?)HF})8|aq*jeWvRts(Dy-WdH>1t+%AVUmSZW}gDY zLGXqvxVI}NR88l4+URe&IDp(Sjr|XMD7NQd``~GHOpF1uX9po;IACNy1P8S8DZ30< zFkt*Xm@jgU`eH|JEjWx)B7^t=})Mq(~o#t2Ly3i?|T1t_6ZxO>s2wXW;$3P z<_g*O6I-XPmz+lCikLOGf^$|72pB8K@c^iu0We}@4pbFr9hC9TvV()|BnH9HKe&mh z5GpF@`&>e4h2XUdAK18+6~dGD|4Ouq)xwBfAzBA2QZjcxobwM=WNA$9Uinw=y%2^;SxV&1~YS z%FMOIxsy2Gz@4ZPz{%wD3o60OUQij#)bRT%GcNuIl^L4ki_-Q3M z086S#{fn!{Aue=arPRM~ng>RbmHeW5rF%%ME}$-3C~v$DCQ&U*`HQ& z7b;LRrKHd^E2K1crB?XBpGlv1*OoeV-bO?i;NlhcR0Uot6A|xw#LGQV1sVverHtf5 zL=*9FVs%KUb&TfnhpJjVvd~x|pFdL7Ix#8<0Ab`+S8KEH1>5p6%ny^img4798C{~; zK`65p7k#g7zJ)^i%2A3xU)6WS;%3iR^^fY{&bkv&=8GJedBmAZoMz+!8yrp}TjKDv zHusMf@|42^(;vMkH0aq9^S)q1rLABCziyX_jD*NaR|!n+RrJc~*SzQONw zWPFL6P-pTcN4_fd&%mDDoteS}=OCqbJ61*dutMK(1n$ci#l$9ue*kTALyn!hGesoKz05cwBDd+k zRxTX3yD~Y_d#bYKOp$Jr{M%Ijs@X!rji+ z<`eJQh3`4RzHjD>sZ8UsckL;D9z_o)V7qbPY zQ>#h_fNb4AZ4OQNIaRMERrm>4J*3psveUX*- z^j(}wD`lbrv)aimqlIgn0pSs6SLm?=@J2hkP*da=>?+!Q$aXIo^!fCWK(6wV!mr);FzPsx{I!c;*l8&UJ>5KnChnm_4+V8>j6xF6a zTj~_{IwL9e*R-(I&IFZ-avrj!lJC&>?t3gMxF|V}=7vLL=05lbO%Ut;#6M{3CfC>j z7PO~Mo6_9-v@p?$Jbx*4s^{#te$fT!aHUS`b^^Wg_0E*=R%M#Y&?$khOe1S5jQb+8 z&u|h9@wtm+XXZJrJ4t@=JncLe9_nZX=X-&Z{ibsWy+ojcyWZJDSi^LS1d zb|z#BU9p_=4?5B9)<*1R9m_afSH*JJC!DQ~h=kuf*xKN-XhBV55Fa_Q^}lw`goGRI zV#NBm%g>n5Of)SGV@-;Z|2e^7PaJoO{%^x0i(6c&NC*2%l&0_Z3Y?w$f>iXR9ar2D zJ2r_J30ae_8Dmx8=oV2;|C1|SJDywa3Ov{4@g&SH;Xb=EK9-+NDIj>q4aL~mvSGo8* ztGNZ$gbuw=8(l~wkHXE>a`MLNUHcD#5pueD#>q_X$@(+(XPEjkuk{pjH&>5kyBFDZ zk7Yv>N={Sq>FU!~6w#kNZX$)qKT_)6>dfjhnf{ZfshE0ZMHI91xpHz3k|Y0f^}v1{ z*EkE(K0GQMu%&<{aU_rNp0b_0f!TBA<*}l`^#Aq4W9F-u$N&8;XjV1;fB*0pe2VDs zW%;{?hY+k*WekS-_i9WTEnI@Qe^(O)m*&md2={7@f8fb3y~^kcp0=GJnutgK%p(0CRF?46RXk$C#BXo_*2=cBN_Y1;K z+I5JxdvLA796O(>5wq$5>nB7_sCXFszMCh|*G-Uc#qry?*C%8A~?s}o~pfGW2voGhxwdZ z+NtQk;4t8>sin58C%ojcG7z*4@4m z44SsOMXq3F#>Y>u^Hg{$EHf*S95_8Q`TNFRMiVyiIjkbjAs~cCsZ>m!Q?EX4#Q=PJu zA$G9UUD4U4H9$t_Loh|gwYhZ-$q*7Y@*8ZzAB zsQWuL7}wj4EY$#M)zp`&Ggp%@ZDt8X$L?opz^bUJhiV&H!o$1bD~BO9 zWT)0+Y4#J}ZyMt}G$PpewmPWZrA@*$4Ji>KKSpw0?pLeII!;yIs)`R6V@gCRh_!!T z{jh~>o%odn!#!O;*4w9XL$*OC`A%ao*9SkgRe7iv1PuO(5T^34)o0X$nDv+%OUN>? z1((0K>WO$%uzM`!s5NadGx$oav{>*(i192C{}qPA+4kbYX-nZToHPU+N@Jtxt< zHCPIkJmF_?J23E{cYl3ytYr5BSG?0Ws@+5WfLrK4R~s#P zxI*ij0~sCL?dAZM~elz*F8=^{mGyb2|Hj`N_!YDGA*kx|g zvtY(O*g6Aa{+T;A+!a*@n8v;;pTeGSyRuFo!#G*doeB>@1tp0E=2s83$5JupcWQ9^ z8V?R~TcfjFEBgMbIW*Yr{i{ZTx}5Xb8oJ5jlr;*tFy92CAJq}?N$yWH5b;d(xLlhB z&jhZ*BgPt4!h{L#XKT&@EEm+=To1lO-sfttz1U3+jPqcP%x!AOCa(H=;vEf2+8qst zpd8hXPX~C368(uL%Y%6wjr1SoUj!448}OiENjU6rexiwh`v(5Y6jzG}Ib3rWnhp_0 z7oE~Le^8Sx`jLlli(D?r{R~q>m}Fw|4bSWagtsQSe^3MF4Shsq1Vf(7c+^K!Sltpr z!tC-m;p<3wd6;aX=%rTBE(VfE{?N1QZq7FFt41*W${WD`D{mkQ2*Dzc>`rN9XG((_ z$n1wpSy`(}d-B@837gsKd#-b!|D0}(EIuWnFe@I*-?O8-22cu2nI zY7ViFHn;&lvHumGZ3Gu^t3C46%iq+DXI^X+*~J1k0cTe^)Bvr z4fP{(y_^smj3bHn8(bqD>`=q5Q3l|R?Ao-tKKX~nvc%^NuD&q)heqd|1~DQj`XKWf z2re#nb~cC-c6ydBiVq7fHYRH)uDRWJbwilHV7S~M zin35KIv`@~?8_6$5yJm+BE9aH6D3fIgm)=UAeBbRERZQctrc&N_4$zLqf<217rFY2s{+PffZ>Gma^192TsN zava^jI=g)Ss`+cMpRVZgeY4SN*Fqm;Pa|~QPJ(pGs?=fGD*~|wes|+U-+1V#{i;!N zmqP)B&R3&EbhsbPSZQ5#4gcdtoJY?g)vi4!#*2!%eT`&fDkjUZQpkrQtr$y*F@LMt zKSk}Iq4syE{XVt7P3><{`@L%aWVL^$+CN9_&p{8siGt1qgt~@|PlULKs)->htrY4{rU5Imt0COGbv=5rT9ga@ezzhhx=B+pNn zgnJi9PYQ#XhyZwr7s6joU?vfck0yLd|r$t&4xpOHZ6m zcy%uYJ}-9Zb8Szur@eMh4jc1EVvZML$TlO!A&bCH7NLv;ZaVjOZ#D#-j~`Da?1gt) z`CBIwPA^|G-S?!osl5|Czb+vrm5xrjbC#7kI*H``UW@JN8A;z{Yc{yAC6p}E z;TGB6;kdY_r3@>_Vi44=^wCMer52nl)MRKiwBU>T@f4xJycZn>l?i71OW?MrzkFsg zBEWH91eSa1%ez|$+ue7+H!W~2=y;^>)28+q>I}Ao85jS($uTTO^g^Gz$krPGn?HyB z`DAd#5i4`?RoTH!ga(^U!@ay99J&Qci4)%k|@;Q>}!ekUc zv_eUAuwRg9)L@??I)6Dy`0Hfh>||kRvip~l&Jp-9XMGBQ&id#llp#c?0ycLR>kYQz z@GyVF6iaT@(Rud47U5g1eGxM|Yf3zaojQf%S};OkZ7a8U$}6{B`0R(xM&`P1cJ}WN z-@KdMK>sjVaP{uS@7^BSZ_*Ep3Ga7*eX0&l8Jj9b85l$r1?Dmg$8zaT7c`nKK$W&v zulL-U!@fBMkQl3Cpk(f%&G&xc4335I;DY=O+_UPvFDCy@*Rp%ZZ{vS2+d7Hq&wdXK zX1j6^8EMV*z{dk!UNC*jTe4v?aEAZ!P4RcbiHB9ASScF zWeWe}DW28=BDztEUzX+^XklU@i^2AsBHQ_XOHBBFOM+`Dwlx*e_hCJRx&qHZo11;B zCDciH8tg|ch_~ck-@C(QX5%e=r*kud?6DT^tS<)%SexPVA7Xv-Ygz!z2YM4{ecYNB zOKz~N7x~q#AWy#9E>tT*40g{xWe$p4zMj}l5|y;h_2-8(bdr1HI833{saVJ{<3k>hBRn>IBrTs?JtBPiOf zUf*_-BfjIIc)~eViM}*ekZYRS*WPh))ztp7l{?Co_my?l2g{ePATG<(rqx~Cqf@c0g9Dw8=ljn8Ve0V#{#{=$AlmDRg~f{)#980} zBx$^;ownmJtC?oDXJw9zE96seRLSgl9ub zaOd-#L|Pe^;g1R}n0ul+7{k)s%Y?cPtPGI1NWdLUy`i3cox8rfa@RAIdKy`bLFmo(&TzO~y#e^T94`@Bb5=Ne4vK3J zdExB!##Z09^af#`51f~?zH64=G!LMBG6DSG)ZUAE!`*!omNGll*LQji0DdyQS;dxc%&JIvnhi*=)JD6enz$+#2g3*otS z1M!WASZ|LnyH<9U_3SKLuj97)oa?=^v)kJTMQNtnTa_Co_^Fb8$|uH3b!e!B{gE$b zJ?0w*go>?~E?tAJ-WltI8~*YgA5_;z$->Y0Dh9_5<_}s1rVMf+pBP%-gJEL0z;gN1 z$(@R*vT)e>rI=IobX@qWrV}}}tjMVekYqRWkazCFn1Wp(uI>vfh=gq2A?%W}gWBo&dp@~BQN7oL=@_xrkEOD-XdQ5nq(a}Gf4t=KQr+2&s#}z!}I)89F_xN-d)EG2N z1Dm(6?xV8L;x=xkVBRsJT{7>wWlI)Oy&Jc0=(%e<1>?QTSo3v(E!}vws63GTv#tyA zJ?p5stGA0eS8v+Xy&lge=HIpX*6nz0O3hil=_7sD-Q8Q)ZR+_uV;IZ3u=|dltzQ_I z-nC}ity?#4*-nkcFIl~Ly_7e1rkBmdQ#w*Y2~S8v-+&D;Fp3{v@$?pu4dt{rQA=9T6at-eE= zL&mmn_2z)m!M|Nvws{M*ezvb(gWf7*Q~h6cAWOAm-NO@SZ`U%kQO)^GbCw);UevlT zYQKP#)cHFt?JRVDt`$}kB)4n8;9jN1I|evfewsR?;IFAjlyp% zW4U!nry3z#^R7{I73xlUSPO~Wih_(T8BpT_7r^7rd~TgOE%548hB5Pt)tple^YJno z#Y@x2)w|w0860)&XWt_4k*&kpD0$o)fxh5jwF}yT&#Q4aMPeJ66Qd3yRj}k3Bitiu z;Q@8xBX!iORh3JESsUN=DjQcS#(s=oD||!(eHnFt|6F}xpchXJf2U>0+rp5-`wWEn z@ftK|>m{ueY5)K{dC>UM+Ae?2{xCm9(}}C$Z!9^iN67{+^0jGV>I;{okTj|v`u zbTgi~Xm!G~TBuD~%r3TDE4-q0>vUK;sqp#T%e8(N65J{s*mzU4+${3eSEI`o@#k~D zvG_E)_RM6&oqAY{d-iWEom@~ z1N7_%!*9H-emaMlV|H;i6MfFeO)=4*D{ihyu$j1JCg%>FTd(qb0k9c#?j1VGSELKG zFj-;JxedB6gzxA3o-%?pvCI_mmg>9~op+qhTdeb1b>2dqw?xZuF#nv%x>v^tyYsC5I^PbRH(zHvO?mTl>{}+EUUz&Zib(WSop4v4 z7|3+A4Wewu+%||pq|6Q-?n4(xOtuWwHYCw2lzb?+hc45dU6!{8CDTeX#d+3QI`v+i zUkgS-u@+~7F)xK2J_`m@$K?6)$akJEpN!x#AO9;he#i?3>AfO^? zkL58q1eyGduMNT?HV+qt=kjEs!Q9o?5nxC1GB=*g%sO*=rtICJJH_PpW%80I^YnR9 zc^EJQOQ#_pdBMB;eO~4|_RBm3GS>l6_*&66cu)>=Y+mMCwv^<`EX^h$-Ji*(EI|x| zl(}t#8TiMd#faauFWHeVL#4grd`rF@z{%O@HR?_<`DpiET_14PvV6T3?XMYY|N49p z>&>DIoNfvSl=iP}8$=lGc5xf>^(u+<;Ks!F@}d3$XIA2Aj2S^4!`+kLMTBGE07Jhr z+{ynI$}s@b8~Hihi}}_kjeQ;+xmfVA{2+HU-&>^PKFJT^%V)y8eUL9~G5g)Z9J9q_ zeZq)o1HWmGIUeynX{4VrO3ptS@9%+@%{l- zNiI)Ngh+2FOqgMF%-EB2%xQwI4=7yG{W(~bSa;lyva$PhG;Yk!M|D`UzCvt?Q)VeE z9t?&ro-zv;%wyuJ;W2sDBs`A1U>=jgdB}UpRE*S5!_46UgY^l6QW~2BSD@ zz>GX@D2K9;84yP6!%?MifL<~65s7#3KVk~7@XKX14j&p%`E5nq!Gi2!%fVu!OLZA4 zF;sBc%pWgk$0yj)JEcEkWdBg0oV!7AWPe-0y-y^wihu#j6p}$j{+L~gbZH^*dE9n< zW@aX9C`73_X1apJVedTU|E2oyf#%u1f0I1_CVBo%^8B0R0p|EO$@6cL=iemHze%3( z#s8m^Jj(6Xxzu6RUn+O9l#{2d_|ZWpjH(P#gn9W5hjW#~`w8VOpuL5(_Xdaen-1^I z4(}}v@2w8+N{9C*hj+Pyj=P=5DCgUh6P8(ElcmGqobI5tYS?aZzDGGfq?{j6-j^uv z!xU_6InPquMfD8W(^|TnfvFp6R@S7IYR0v&zDAz5DZE7$a%|r~f+V_ot!l;?fA0>$ z6%43mTxKFJ?%A|)+XiZ0-xigxkcJVcar8rKZbVHVQQQ~RxOLOq-_-OoYT`z;FzQ0^ zyL+kQ3x@uP!Ufi>nLUke#Q|55zK^`k6zSCA>0;OiG=Lvo9G$+3?b5;98AH1-lV+3JjE}9=4EtAopGSjx3T5jo z2d>BHiy`r;x~LdAh`#0#4LotKR^wde_@6KDzI9ai*mDLlX!SDKNxRh%9L*f<<#V-6 z_+qY>B=aZpf}{UD+RNIM;1EE-{lo&-y~=?ri6ECIU0U9y4P*+2!mLXx+%`TrM@!7= zxU}5WTC5umkw3F!v%~LRhDI3N9chhkg(HkX@j-27K#1pcqL4PXZde5Y zcplfIHJe~x?e>XNVf}7$?ZlEI?@@&Z^{R+Dw1qGwo?AV;=OxhM6e2bmPiR>69yXfi8zr z>#W_5%UAApU63o$`F;inHR)gm2p8?e23)k)IzT1hqP^JQ>vquV9Ma`GHZG2^1<=Mn ztULV~aZK68g5?v?WqckspmUL#U5se#9VX;mM@iQ86#WpT&Q}Q+D#chjJM)s7JA@K_906kN50;Y3 z!-CEZyGe*Z2pmCm74~Py`*W(Z-OId0#l3h&+OPq|(6b1#z)l8cw6# zR2NJDs7MWB>P%Xqr#l#;nir?vqsVva4E=%Pfr^+6V^YOv$DTeF(Wk_bw3JHzEN3h| zE~2`0PPvR4jObV-2c@BQoj8?)F35o>=>Zx_oq^sn>Q*?H^xG8o?v)Y1=wbY|n9R_} zDB;~489Hfal#wZeD34#Z#s_@xbISeRWz$s2c0C}C=chvynGn8RPpn!kCXpl#!&M|H zN*>vD1sTR5cJg6s%QB|6>vVJSDSgJ2?9-n%F!0K-PJ%a0PwK%bIB+sW8q855(B-kN)Ywf)_$YHYZ&7eDSR4w1LdEA zEdxQh3tt&J$pj2J?Cl16uYsU${s99$eH>6Xj4ftGDr;5Xd@MGAiv(xD`zB=_b!0gR z>nY(=!x$TAwE-rUraGXA?0b_6e|g3Ly~}oFrbiv+K`0!8>40+Bu-Ir>zC)N5)FEgD z;+JJYdT@qv*uNWS3Y;N=qj$b0(*ZUAH?=GQT|;F(7vRI*cYnhH4OW7?Z=Bt|9-^=A zzV2J^BJ!)7RlaY6TmKie?*@Evxo#HgfyWNSM&WXUqwi-{1=;6wKc3k;YLK8_n=vGN za{Y$RF2;H+52~!d;@c7459@FW&yl@1H;y{6o`z{IPk1RWgp*e|nTNPIBIRJ$C>bO1 zqP9Tz{M)%64{4iSkc*C9Ik`~c8xH@CfS};C2#X8^bKu<@Jtt3~@{(WX^30dH!cA3V zfnx{JS1Zw_M!wXDSo#x+=y--%i;?b7QaX%$2T36|*f6w2htV2$lO@w(jHCRp2unVs znUMEo3MSr^EddDZGucKB&`P}DXgeMC9;Swcg*Mb8`wmk~nB8IQYw8R@lo{OJ>k59W zH_k0Ik{qJ*7u1f?f=qrQZZxdiQL3VUWGp9=gmZ5hKfu3#7GV#w2fpQao>T zZRL0)qBe!rb5Y{qE)iF#G-ZSExZt~NN#=}ECaHjbHkpLVzw%~<;?@p6YOI%{V*N-Y zvA|T$EifS)$-3k4F|>^Q%#{d!qe);$W3Ym9>C&$KJv+a%zBqB8$rux}v!)=NpPH`N z*-OB0RjETyKrZx{@UF>!Gnr;g{>wNil4{?>IP=xje$J~>V-YyjYR*bSL3P-ovKH0~ z>OAY8wSt<-v#wQBta0ZmX5DeH{AFEzSjCEI6FJ98sSq&q(ix#4F5H7ax5Pg*cDqITJ|7N9B zvY!FfF_Z7lBSmEpn~=Wm%Ol82;H)9CAJfMRaONmKDYFprrH9ebP&p?IGU7Oc- zuY&u2O+66gi_=)L%*W`l&p_X0l=$OsGx^4AllL|uX?cLibX8zXhZUjT# zH4b61Ie8&p(3mAKG`oN_{1f^8uS|p9gUWc*2QKp0(d(z?EVO3we=tkRXkj@)28VY; z4PdpQ#>{eNNTD~>h+r_EHN$oSDnN@LDlIZ-vP*x-$Q?ApaOkn|7GeJc&Q`M%Ru*=p z3-BitSyE}@40OhX8!g<18XQP)Oz`1I5A&UtQ2jg2fNNBr6S8RQA2qYBmg6KMhn;MR z#C8hTUao4HB}J-OY{=SsICI(-K?ytTQwz?C;OWbjpvlpsSb}DN zvd2|{djA(w(63v_l?jxOH$-_~Q%Ic?C3ynubQVAlbB%VEJ_Cv`@)z;=jF&gMHx^1Y(u3t!0x zs}+wI4C8?5VC4ee&jA^^KoXW!g3@`XQj!nCKpnC43G=YzO9sYu3684S=q8TmZ4eJR z|4QM;l@&^kgOyN_>^IJU81jtlT~D3bQ%K~H&cdu5asvg*t)&ooAcw3k%t{aE7iOi0 zcq!5c8XxSmOk?`Qp286b5Vuf7fVjF)uVqkj^H|9>g(?2tLV62DWPkS-wk~nC&U3Y1 zD+a<)+>w+XBz{~7=^>n1i65YI2a?{vbLC z!H@MGIAye>V)~SI?DSAjCUzHTZPc)ww17PcO;Fw%tMTHhs2Ff(7E#x(-nzbfE7hcO zPj|>z-Li3~_b*t*An8%>DFaMVj4vmh22QzcJn1?7I8q3V08#%SKeb2!&%`4CK&Jw> zwju!PxUM&Ku>FBv4?rkm*1rxaWks$@ZN+%jyr7snrS@Ipfa*=C2&y-5@)M_^GPA6*_1B&h>DuLv@sVt|ICSR1o?axv zn(Tk=1rz4aDcLUf0u|txwqEU+-{LB^^@1)gBIkS1bM|N{Sr%xe723q{Y)9P-95Q-C zre<9k#yJKPetI$B5N11yvrWS&4_P&++gAVv4M5pQ@XKO{oB1mx(bo_b3yy7JkX#AY z7lYT7@vys!!CpcX$WV*E*M*dQ#R!_&dx{Z-yRn?T`YJc$)5U}UXU~!x$oW%}#X>2i zj%Q1~QS1rzqE#{578&OU#T)}Rk%rtjW;D&EHjZhf5iK_AR&W%cTekJC&D%HL(M_09 zh+5lC-MV@+wWeG7p@8nS@U83F+D&a4`;7on^1l?MHsdO@4%%UB8z`uqt=@(zaC_U{ zO>KZ)7=x9!4*F!O8S}6tp&my96x#jQT9mxqTUGRG($`3YTc#E6tJrZk!vAPoNVu>^S%P4B^jZ>B}+e z%gNdjZ-FB6w}M#_f1#Y&E#ZxeE(_)x~+uNNluz!a301i zJu7ygZ@z2?nmGzX&^o)qoOqkucfhDX5nM>%C(H|2dO{8AD#W6vUsZ#Aq)M;;5x`VU*iy`PW#1Qm-#1J$V@hOL52l`@(f(idf>_9VPhM@lh6hDUZKKdUFLFZ)+ zL397NhM-r$5cDdCNNiA}X^ql!G`oS4n@bmY=8w*lMRrfA(u41o`k2{uP>e5C4yx~# z68+p+1;QugSe>$Pw3Pff0rm{AjGaa5R+qAc2paz`44ENGCPFN?;;5GsW+ z>)B(dI=k~EkiagbZ+L?02;#Zw?@NV2#?bot9uMUAmR!)cL#5E2HnZ=S!d4Wv^iXN? zVySSpv@Hf}x9^pP`P?#LMOi2&L96Ax(o9Y|Nta~`_^Zm4WF+B5R&L^|vSA3{-zxon@#A+9lJ=;wf5nDPv);D|5Cnj;{7FSYD*Lv!yrSvpAJepLnor zkHq(uWpWa|WgqLwIWWzk{ECP1p!Y@x4wkfnL7yoLA($G$6TR51g1?l_sWTRBE%I9@ zmL4uCDJm^GXH|_qUify|W8)qfM+)G?8Yajb1dI&&q#Wj{yt1+|6;uzRVO9a+WzM3{ zo?NHYgrX!scFu4hQH+vv6er_F*LXtwbO4trJyFUTN04Rl3bjTx+$I#|#K#tYV!?Ru z>S%>SMp^~;4g4UoxFZsSXb@Gq&<#=_%KL5v3C_K*21OT5D|GPA7dv;>3nokOO@L(TmejeyCel$LA3rpw8 zOK`-2RD^xmw%7~hzbZdfo@=Yezt3yyZ9Xhywz`}EV+g280m{~L!evx2&T$GHJ=~V@ zboF)0h!GR`OGYQt;fRA~B#c7BCmh?%N5@c7mc9sk!A@=79SRBD&!6>j(>BL?Uw+bp6EB&Tg_n^E&obEU^QJdnn9_*EMS8d%G4TH?4F0BXR%iEr5mu|fb!t_RAUPK-kbDu*bzDi?-0pmsU^ zaYL-8hUf~f+t_#47MwEcwsmi(x;Jm%8ekfr|Ga4vIng$*-;ASdt=V+_>P>fb8?WuT z)i{r2p=OPJZ|&aHh^wk!pY-dJeofM^f<2?eID0!pLLJzn!%{{|AE%PlcKS`_5E60h zG}~c7!J>s)DAc&>u1m*o3u{(Uvx*;UXrIq!v2gWuBwnwQ-8tA^8P(5gJPJ!s$vA=L0Pg= zK*C`;(KxT*3vP3*3~pVHS`@zd$gUAN%ulFD`5cA$$<9~k!S@|v1((aAD4me+YueoYaYNbR#b%9XYB3-Hpvjxsv?Q~0bP0V2k(HmVSOt3sW=WSs9>w*i6U z6_^-C58k|<0347bKpM6hRb(TLkXaK)%15k!zf_*X4p*S!SOAm)R@vK1mBUtpl2c40 zXX*$$z7lpnWk8;=^7HdM1DV`Dy^8%ug@_5zYe$5cl_N;O_$EQf(RW(SFRk3kIF|2n zz_JC#7ni|>kE;K1sSj694BQwN)btSsYmy0nJLXfF@hNB$k zE!dDxR{~APMbra=96ISoDm&OvrIMdK*C%CQurnJ5{zVZ+Odtans>H35{h$(ccQ~>? zKSOdNI3`AUkAkt$xY&jVIYWelmB(GE#1G&YJ$Ag%`J+BqWcTE8hAJhMc*j-YlxXYt zT#7;wuD|MIH8DgH=KWO!F}AVSRLMk)V$p;D2QdbC>ob&x2HU#v9D;E8(@{x%Nd>V> zqPMDRnB>jMT14EcpzsKsiq0Q|A?Q{I$nG;z6wQI9b8u9nS9S3}Qkp?4gpmMr0S}n` z@X7E>Sq{Cw0eHjBv^plJtj&&v3i1S|3BYW2l_*@Q0tX)_IN3r9D?_UC*TF+l{Ppl4 zS!oh2W=Fy~Es*CDHeCn!bMyMfY>=v`#dodQwDDFFTj;PkY8+pGX`njLIJ?k%528XEdryLlDbJF+*hOuhZv{pl?{2@f}GiWllr)k0=d791&DJIgFB{lb( z&l+8rJMc%Uh6EVwRORd+=L~=kyoM&%NklWqa%!9t z=P;^(Klz%Hn}9I+5)HI0(%cbRqTj{mPqcF7gq-CQ;tN574Cyhsudfh?xIWFA?oB%DQ$3-! zO*r99{>rJt7a}6$FBX?!dmbGb2I5PTQd(CEW?qzf;7xq&6eCfjDR^^7nE$6Uj$&=G zIM7QdMmUFIvbdehbO*=+vbl-a64w}uo~?Hs=3}n&9#_@C0=;T+6wwkv9H9DTNP2J! zh@&X!;_L;#h$Hpbg-Yd;fHTvgk3`u`sNf~nk;Eof7cvq-3X-F8_WA&Cd>GdaCG%{C zTrXfQ7AAR735XO0MG?wv)Db}xSK?Z{g6u-l{@dhUGM3{w#eK(x;8;b;QP=DRhn4W# z6#7H*X74wkZO8={b%W?ZXQ4k4%TPn$b*iUUM`5;Z$si=s^N4fppk8a8QcZZ*g?xRr zwXK@`E>;d(UmXJz}-uL#B-QUqhf#EXV%UtYRfCz21Dz1W#}wJKP&^^< zv8IcpA1j_9^b+nVVfce8dyP+5qiVR=yTX6gz>nx8f&*krCBCQ@8f!?BzozZfV>QB( z8l`i#8Z3B5Cbg1YBIsArAlW;1PYoFp(a&z@(={^##>;yxWY!Zw9%;BLB zB8V8fvnD2dSfj9ruy79#0hw*6DdujffkjX(8AuC3Kf+Q;fBTpB)Br+Y{6$F%CB%qP zm`&GUQKIKgu11O~9m?e3B_-w@vfUc%xl1%#BivMjVd&S9CZUT_Ltg9x&KM(pT|x`l zp7H}`X0>l60C^?{y^Sf}bWRk00!r9E`9}?5LCjgbxfW86)j$PI&zjqC7G!w?3i1a2 zCu^|(6>$jq>Of?2y#F+{a>skB<;m$2@RK#OCiEXCr+ApXY65m5&Kp<=-ca+uwuXPKsy(~279MU>t+2Be z!u-o|F?vrexj`zAwh7Uf6)j+n$PqrI%oBHKt#W`DyYRC~JO8D{%kkWST0ozaN5{x8 z;^k6A#Kj^KBR8NSiCj^zxQAq1)-qc4+sMx6!V)v?BIg8q9buNusw3O|ZKxUjg(4ia z;~w9vI>NcjUKMtvk&j6s8}5N^bxO5}$(D&BYk0^zyN(R}PdKWkJ8(fE6>u9#7U73= zs2K*SAv~)?Hu`0^+5lUkW_EEMj`Kw>>&x!!?>F62hZdz_los;c!YB1{Sd8QEuj?Nj zI6km4!Q5XrZpUGff36NR=CA8Tm>>cvh+k5HZQ?rNN3i)tN+s**Mz`=Paj$p5R``Xw z$3arQNEQC9i>=b1MK7+~HY21N&E zP(U&m0g==O7+^q97zRYM0tG`;L({_6>oY1KA{vAEZZ#q*A|<|**0#GNAOXn+2;Q`| zi=u_%_QzIR+v|1z-}B5+?cUwJ_y6y+EATsSzjMy-{NB%b)JxZ`SV6jdLjv?6)GtVX zn-_v}iC=(TK>ja&UqOGDO%3Hz5j>@`Q=#A&ot}Op_~EH^{CU1*d&n5bdknOfg3yrG z^Kt-ZcCG&z2oU!W+Eh=UvC_>UaF1ZxABSSr+@z=A7f)|Ikgq!xO5aeJ9J)8+zj*U- zh2dF&I!CR>)i!S?{A@t{Gdwon9U1c`Gl9IuJ+Fngy)C*S8It}2eH1^+`k$x*|16)a z*0st)@%Jg6P@%go?_MdS7lVSC0AEGmyRv}WvhHa9lUZFw6cEkVh}`Mhw3^v)uL@fh zF^(#ybl>5vG(HmKRv=ZbrCp+PQ-uCm&IUe|hrTNdbXNr4m7mhp$zp|y|N~= z7ng7N4_p4s#EKN>yZ+1ss1!+>xv~}+mx$HQ#J0+w1oRCv0lQ?L1TT;{9w+Q%0{-i- zOtnmf_im!oH1yvT{2LvQj=xd2xp~Iklb^rr=6OFLfCnDWa#QH8^ospXe!ffNb$@HX zI3DHs)E>NZN0jOkFQP4d+urv?L^6sO`$yCZrXQ-MF_$6X6K&Ug9EZ9K(|_4IjT+I?)_X&w@SPV>fIH*Vd}E4esjuBNm5MVfB-9q-9(`p;A>DXmX` z(g7n!x|Na}sKfmcdE-e~$CKF|t&YNxA%)-hk`}xO#NsEGx_5mi_VDV=u1S1aKbp~S z&-z94xcjZ>X+7@Xorfl@l#D!?-7<;aIwZu*9O17NTn`-*($Lok*O;$~c1OFRk^UGS z=Cy>6t$!lEzML--4~<+xKLV1kihq&4L2uG+=R0CyTlgbf9Bkln3=gLBxN+lX z9ITGdU8FnZY;}Zx10*$qB{~HHf(z`Se58B3TUWba%>QL?@fFH`lvDqgukdzU?0xz9 zwlHCLn2`Fxo)S_&*d4sE2XG7fSN{D|owx+0pMH6x;C7#fz>ps6jhvPU!EJcTFm@2^M7FWI8suX~)|Hm5?B^uDc zCnIjRtKUF;b*TWAr*uaM5oCau%=r<)Dc$U335>?uq2J5@?cC)`!O+D{v_;k116*Y! z?KqGJA}~?T;PZZx-W#*^o8IUY{q?GwpzoaEVM*H=!Tt8wH>OBBIn19G(&=C}6pQ-< z0YA#iyLyi5k5{aI8OzF_*M2b#O<|Ssj2#=jU$?g#8pQLq&)K3yRMA9dT9r$dhsRMD^ zd0o>)NXG>adm!%wcW4G*yhu-k*z0<{s4HHy{)wo|A_7u7L{Ge0;zg%)cjTbepGdU{ zs7Tumi-3>|mX+o-v@RA6be~5)>Ysm*zR|kZ`N#kHLHtH9R-3x$!HDjFb$x(VNXi2- zcVDI7?460eyHC3Wbcnh?qsw%oGkeu*`D>TGwsaZdPlaQ4_L{=g>k406i{z4z3B~iV zsEg-<$0)rzx{tfJ-Vt>xUFg4J?%&BS3EjRf@%Vq|sqSemmpmWA?~h+3E#q7+c237{ zCHOD}{TGiz%IQNGku64-?nRyf3zEJMe?F^*fgUWLt4K;ACPl@5s6*y9KOv15yEpW%xLGSG2fY z57L5KJX1e0=V>Ip-I3pbbIHlBYLND4f5KWW z|4K~fvRHhZ+uj+j-AK8+3U3S=eT?1wyJnw>=_0%@{zlw(j%&Ej*)Z*=hI{^D!$(}h zZ^a^Kj!ge4PtE%tOC6hR?j<$2aPcjg;KFJY2tV z!7unq);BKg;%9vR`jV=X9xtJ$xiN* zUh(RZS2)^qxRi@u#mf|qzkeoR=YDeFQ#voj?di9>Uw6Cyqbt61@SZCLj4hpG1+ZoK zlKFI6=dLS+x7rP2;(SZ5D-xnw?z-Z$PfbGhe(yKpmL}I5ttVY#y}h+bUO*S(z*A|m@x1fXD7OO`Xg859Hn;Azp1+L8 zS>3pJ+zB^OiHoA!>UO==t^24O7mqvccD}36tvkd$*%6RC?nVQ0BW?)DDc!-SkJB=I ze&LC0pVFO15N^#vNnBbamYbAXSkjyTl=ad(Zvi`X|EcSKM*? z08!O@?qmFGJ=ls^^2D_#_D6a0e0)gnp8M^9zsQro+Hl+Z27Oy#VE$}zP1j@hmrAz! zxBTFqT(Xt2I&ZucfE=Px`IAQ-__I|kc{o7T4lpE8(e>k!5!|tc@(Pvbu3QVyNbeVy zLfsY68}Xv;T{+%|JuZorDQ4gqKUW*HK$vU?mq(*%iufsE5Ke z&_m(q0ZE5Q`k^Zw+RCc?IT25^!09 z2LckDcOR%V^F0X|q_8BKMgSWJPuV!ZKl}t9GmCDK0Cx}Co->YMJ2`R@Zj*pO3Z~?X zPFCfwEPQ4a_s#pCQyJ9oVZw|;)pS}lY1taQQM1y~07coznOLD-vLb&Si*$$lrL^Z2 z`L8`70l%Wv)0Qn>laIjC8*7#!4Z?vR>=M30c39S(;yC~d2{s3PqT2D+_NWBu-8=4(w;b{+Q4P|&T zcn1CrJT5@Td;FOPI}?4w-Uuj=(|hurw_{yl?9_V>#PU&o)&oU&q(lMrNwtyNdQb|d z@z)CJS*|AcGKa9`t|u0ln-Cr)$3z{|$H8_3W1Q;Mea`KR4us!$T|r(5&uhG3 z!r|k^`b!X}Q29>bPh=CYrZD<%ysS0F3+-pNuJH2oLV_EP#Rv=&q#Y`78fbbbyeBPJ zy&m4?KG}3zCZ=!at6M(t`YA0Aa~UbQ(6&uhtnvFTeqhcXEgfFC21398r_s3LINxA9 zlW|A|)xy3>(q}Np%voIuDYgByK`q~V#mW`)N~{mN!=%^8dmuejC>@!i`LOG+UL3uZ z=oAXN_MP3yvesK(mr#2qKsvcX=c+)j=UWn`^!QU9=zBSK4|O#fY#WpAV5d}MiF7UazH|}5GhPB!#xPP$+%Q4H@y;6Z?$EvsHNb$LZ zE*BZB9eJ`sGxzo-Xz$qb)6&^`owov2W)u9Jva#>6)G-U_Gg!NemoBt?CcW5;`%P4i zIgN}d3fM<{8MTkTlirxJ@glz7)*6L`yw9YXxtplL8YP=TSDrVU!LPAOOfgC}6R4sS zY2RdQ4<@cu+}M=7@qEemLta*E>yTHhRB^uJQukXPrvju3k&qsPOc|CM3-N~Lxi>C4 zRXoZDQEM%bJ=}oJ=RT{MG|!Zl60cSxbsMgX#Pbnv2%{M0 zYdAE%WzJiQ87AX{O+4F+dz*g8o8tO(#0*>z3r+~xoBa|`&5!VKLp?FWmYK3@vXz7J zhT2>Eq}HGrp&5jUnn9l4^I73(M!Y#|lH3^2_}cTreI+6u({N#FxYXSs`2M4qN`q9o zJ&?CdTW*?M+j(oTtyv#2ey51%a^^SXge0fy0|Hamq!oO{tI;0UHYTToU8b%v4-!(A z(XTLN4Vp0GZX@e!4Vo1+W0FW~HZRCBZ`$VV?PJQaElx~KtbJ(owMN8c&N7L#^Rg0i z&6}$G71_1BYz0w*0j=3r{Obxii0yRl61w!37C# zk%XD*LiP&CoXvVosNT2QIx8+SRd<=$=BiW-WNQK~0Hv#55b1m==!$pGl8`}wGG}F* zbW@oWc~(uD#zvIb!XQ(uj@c&9>dUHG(wyg9Lwt^Fn<6vIyl2T7i?4N7x_7=Q_8Vp! z%dPj3Q-Eb=7S1xo_Azt|%mbPT8(m=U876%89Sd)^W-PJWDQH1T>`W;IW%t)C(Q&n2 zNQo}S#sZd^kwqx7Ph|`e?+C})& zrNyTRp@hSFo+@xq=uIZ_RW`zp#5P+98N5P&>3oWW5E3(?`xxQ3XAlBrtH?aK=i#o(Yt=5#4vC~4hnRn`iTEm=#aQb&*ka@VHN1$D3 znpf39=*pUJ8!zvpi#p$wUiA(sFl1{BZWVRriVP_xb9zSAPD?>SZQCv77aeNR+_?0l zl(a)wqB77&wwj)~U1F)#dxl(~%`#_f+Qz!da^%_S#qoy1$O2!`Q(VN1XpvSsFEItB zt}=6VrW$BQUW!pxTT{~GQ3OnNC{hm8)()ED6Qc@)QIzSCD$qtv3*Y4GA-NoAA%e}Q znPr}XPGr5=(oBqysJ)d~fe}=~lnE$InLB?D9bYlv-8YEw4d)^|Q0kGL5{uHDEVF5o ztMrPJ62m3hOz0iqLz~UZNur})8L-;Wr{R*eg!VaWfgcLz%`+s@!rn|Jx=ajO`yf|} zGTJWP+0NSEn@8LAX9uHQI;+a`L}{YQl!J!StX{LNp!PP_w1ZA6f})ZhXE1GYoE@|@ zEa44_(Nb!^(1OCG@TpN~D3iGFpoLLUiL_gPj~QTET0Hs4Euu7AVMAd-?Ip1)E;B_H zq@#s%5-<_WU#Y}Q47E261s!09F;<~mgvHS&7}2k{(z;7cXA)(2M5h@PNBd1OWq?z< z%FW!m8g>gK>CVlHqb=u~%n3l(Rq36{wG^7o!(3rzDq5Q7Wz&|FqtI^GY1t)oGB2d~ zwxcv7+mMA)#qKQWAWF5j3^6ENkdhvoae#?h%ge_(3@1ES^*vtM{KjbHd1PigzKR7gl^JA+k;zZ#=%s-E8N{ca2Z1Ap-3K zvOS2fw7UM$2Zh--W;9syszr1;LUlQ5jqI)5?3rZ4m#REH^QW}JO?H>d);%I{@M=a3 zJ)*_VlLZtfZo$#d-{Z+Kh;Xn4B71lKiYa*H^o8&yUw%+cHw1#MZhyu*Jxi}ief$rT zrM=AoIX-0V$BFiE@dZETDVC=X9JC1*d6Mm$iLBU{H}|wr zdyaPl@n0+zKI^ufR5m|i?l14Evp=1)ay+x{EG7`n;}hQ8#nW~r9!$}1vPi{5{wpvo zm({*skQ=haY9_~xY(P8mh^K2)d+q_ZYCW4L$rSstWX5E1$7L*_2+YbO>w81e#U`viJ7Se;_=#P;U?^Y?d#UO;?#E*JF6yACj=xXu-%tW9 z==Y88(cf7ahGR;Im8r(DT&xTwdP=TiC9A})syUXvCJtYK`nau z4ZUk|v*1D=Z;_6f>PPl^Smtci2el5$Z%SQPO9dCId5hARsgucGC7Dxc3A$vF-yC#Z zZ4q4P;4La*rcNh&+3{q~PD{|IdGaB<>*`U#g~z-_o0+NcWN#puW7P+B*yXp1UDxOZ zA7S(ZjQ=UpR$38!qT=+8QHjyG`JKw6{wcir(u!r3s|R}kDL>Y5bb^FdTHct_d$l>t zXspOvl<&WS2T-}N{qzkrYE^7*czc4B)?zC{D`ht<6t<^)#{?e=+g7y9ddTJmP{Z*F zffUkc47T3Xqf%vk{d+h@0G)IVwQ}88(e8_B_wDHZ%R$tt+FbwE1SPH28B!^`NqeuV zv7PY$H3z!e(RAJJ}%VvOT-f7w~A&i1T z#lV90Ut>GAWrB)=D&35|SM*^<k z>M%f#*$O92rj=5cZ)5L&NxQFq|DEmrpHf&6y8n_kJXY1P)&BzuT80%Hv{6vQp2Mn5 z6tui@`RRf1P=K0_`e$I;mCL(QSNApp(olX>rKIC+6K8%&`~cYZw*PNwqivPO``7L0 zr{O^5(FxCSAogyf^=2N0)mQDGkVau$smpo?2LWmVEvYoL^WkN}-XV&?`}I}%6P~5D z?i$-8s`X-H5q6(XO3TZa%BrPe<8u5-@aM6mvTOLWeBV)jD*<_Km(}!yg6=A|fP6|T zPIOo;L=19bkE)(x+A11TQ{6J(9hFc5YdGrPi7K7Lr~5L(j5{kEus`ES+qRIlieT%F z9*ME$kg?o4!OsEewD#n=0aTN(+DIXHLOLU^*06UJjAdCp5^UP0dcbzx>Rqxx~KW__kw>9{b%xku(hWws*_>zTGMEmV>)E+d|L(~Nai82>E0uNL)}0jl znP(o7)bW_4Rt4S|!4LQ`ZLMq#NY)IA9_v&=9c&TDZ zvt-`0s<}x^@_+N4%jCD`ZsxDwr%%@%O#gOrhxXXIi1C+S)}+{n)ni4b@Pk#~Wh{{P zz0O7+>YntcVoT|IsZZ7M$t5xGtcw+Ue3Q?l4X=qjSap-P-`=uhO{v?<3D)|rUY5#s ze5+a3|3$vk+vA)2jO6Q;G2^=lqz-}yCU0tD@x;+UY^Ose2w+k z@om;?)hpt|_X`9|QkuKelMY_qnfZ}#-wIuYcv7piwxwWZh3mKcDHqllFpb4L<0tQ^ z0}t&?`g8Sg)v{=nL7>R*=*rhkFbJ|P)_=2h{aeQJUHhB#NwEk0x7zLZX(70 z9)05U87{XpuGM;zZeRDe8nr`0o(g2dEd{`1QY&O;e)LDi!i4po=+nawz7@zJz5aJy z$A&g_^kIY3l2C_A+OPHE4k;9Rs9`%T7LIC!!NWvEbxgAf>N#xN-HDs;fHYuxvo*ar zdDQs+NG}%j7c&P4iCEawLr4OIpk0*hLv40)bt#+v8 zv4nAjhCdXj=IpqjSe?Xa$I2MO_o8F$V{+xbp?7_68tZK`# zLfw7=Z&T6bg6ZQt1uh9CmZiFJJIZfb1s4c!k$_Q60n?~>MVunD;*@h-Q8gYQmSbEs zYDk;rs&`c`q<&jSyEvk{8E4woxJ9J^Ak?iPvnEe$tl!M>mdZIvvfgI=d2UGzom+L5 z4Z5n58jOM#dM;1WxzQ;lXp#OyCT3qC@r2A;a8AnH45%TNjABu|>aq);c;575?~$zu zyDo;I_PRv9%g#JsU-E?1iOlsRp}-;?UQ-f;l^5#?58eU|RJE3A*9yOyH+e@j?@ahL z5>Uhb^@^T3{A1I}{2V?1LU`zSjO}*c!-GIsc3HjPtDHCT`w4R*q;~)Kt)88mE$Zi#QJDoXpKI)_DrR>VI~H-PY8hq5DIMEo2f_h5)>MC7HJcPv1ZUPtMaIorRWh*Bj!833wEbzUepYSO&&UAxyjvCSv{R854gYS0NBIGqqsU%Ni z;ioc~@jpEAnczFWf!K1Few8O0h+(8yu9ttD`QV9c!UA)Z@Uh35GmUolvd3=urf~WC zKRyndc{=QZd-V5~=o5DLM}95!d6UnNZrYt@d8y^%XcT_t+-of0eO#Dj@&1wxJw(o~ zK<#pJ?oO}pyDL8fJ%h`%7mAjsLsid8vE zK~gjkzcTC|w5sFT3fA5va`*g@v@h3(1O)mmKD3mGYUBYYjwP+KQ$XFJ!fF?}T%$b} zoRp%E2nbBw?4~Vf;>+dQh7enO0tGGBEms!!@@nKEAq`1-J0Nw7Yi1UnL%S&8KHUIm!cPEe+pBa2MbjUL6CHqouGslc#->0N3Fx#1%Pk6eM!~92XU8mLHQ7j15 zJB0y7QTi7%3+?0UPN=2ASIL^nll%C)w-#FHfl1sPN}2GpVa^j_t`_qyT4p5X%*63I zNhH^ch_LW^8-KJavC!`S>Ww9#yUBB#nnHbfvBw78U(c2>`F%DZSC&8wYC> z9t=PIm<`N-LCyI38g9D~uddg#zafisr@~21J*H;UfLrKhZ`^^6^}AsbD){T?^@5glKzlq!E;uCVs_ReI+Um(S?= zyHZWvbi_L^gSjdolbi1tDMKOaDx0OG>G2enxt4uM_*h6b5lQ12o+tC1rHcL(#9j${MY@{3>{Xr_6^(q=S0qBvS{u<+a!Sy(?1**~`FmBSChX ze6Uz-Cy>SoX<1cUNFO{ji7}nw9&o>yv#M@b7PIkGtt;xdK;0@SX&F^-S>UPJEl?V{ zX7F`YbrX2GA|C{ISD;RgDQj+3r$uK_#(Z``01r<>)gIDExu)+h#!1P@j@$VT0F=Bw zEAiB3#bw1!ttz+NgwPizR@ezYK0B%E2TMVaxlouG+{HHVlTzkZ9j8vaTLx{%XW^nG zQ-UErt?GBApimoG3vXWr1!c`mt|FwcKzS)~x2xUBuR+IjWH@PpW~g)-JSIv*R=-=G zOGwht@^?!MZ>Sbr1>N~CKK(p4pa_I2!Y0KM;&acbNwB(52JS0)wsOc$oc-u@&@Pm_ zq(huLIp(5B7sJ5ar_=-tLc1u8i}2LVCOx||k7F~-6!1a;jketa6~sn=l|zGhKQn`n z4GWta9+6ToT234@brhAAKJHpGa99$khw9?Nrt5%#Q<`Ep;`tVNK(~ zXAQYxPRbS9;TBN47OMs4Y|KHu-fR2oQV65vA74VnzwDa+t|IAmEOnrr@R|f(P__m5ps5#Y8gzAqSR!ya1eH#q69^z)K z+6S{KnABHvR#aqKiKL>kzO?F~%AIsnG#ZVay}NoSsOp{fR1-)?M_ETjsMQ)Ssj66X ztmXr%A`R4fL;WihrqCTKr8_iHc@Ipia$q(~X##r{KnOE$aGcvt3v?Ya2eFB&aX~`w7B*IYwe=|z7T$4_&K<6m1s)0{r z+rWCv;wq;QPkSYg@7X}k7K!=MzqW+mwYW!@k!dTW4&Xk1^kKpQcM`7VN963XV6Ns! zwR`klt|kk9a(3ATe)NbXoI-7ms@3G|awAvu4snk@;pmhCzu;;D=-qf*Y{AE{GpR$KtAI}r;&NKwOK1%BTSS@+>d(wT_KGkQt zupHV?(FJ$)hQRzD;uA8ST}w#F=MtYe(c3L&Z~&-4^L}@0Rbx4C7Bmr=Z&lJpmVA*d z5q41tv|_KjXASwdZMqn82NRl_nH|hL7nA&6-fO8RE!#h}47x}Ej+}u<_&V?Ygys=n z@gsd}oh=M#bxd?ueP9>fV+uZ6*kroUc!E@XX1~f7HZY#L_oU+YB(q-l5I=_rnQ-Pk zse5#trOe`T%ssK?c)@Sx<$wF1x#O>&*FTf>rSJHcN}B(e=YDC|cu%ShFWc65|3EX2 zP5H6?Dhc%_Z40ejy)S$`{5Uo^Fw&_X$F1Q+@7r)4z-d#pUsXWrId{zd;_)mzA8_rc z)-wPNFO%&bM7#IP_w7*m(RS3!u`ircq<;lPx*~WrJ&(4gye2MEr*lE(qI`akCYSoM5Hrc_eBK2fOQ^!k1+J^s^h=zR$TbBm>mC-;$)J6-p6PN82A&33!;K9Y)e|(}^mZN4yH=&B#=WyiDCq>PR!omqp_d4Vb zixAV0hQ?Mo!Q%(Pqmb>&I1*$7h(=U&@f6hWtvoVG4NzRRN~hyd`B>YpnQR9nGa_Yz z?i?WAJ$;%m3VFdJ!cSL3AqbFC8H%}j#)_D2bSo||(L##8kb;1ju9~T4ub5@k)kA@U zDw%hRt14Po&RA=*6a#7BI#*2Q*t=zPqyKL2{>j#zc5dAc=hi_y)7|I9b1u^bPA|Y( zLM+ooWXD!9Y+pz2m=3g=>Oc>no`9{>s8CW`)h3ShKg>3ER70DZZ%Wx|A&zeCP6Ba^ zvVh|G-$wc8gRpcIDIEoosj96QI8kUW==l3l7C1)P?VU#}2!jyTi%ZGLkT6lRc#zv% zv^_~b{%2AUt@NZ8IBZi&tO(Sr;SR{r)0yAhL7u*5jwFQ^z4s6s26Mx%=Qr_4vcIXB zrUyXH*YfPVM+Kwj^IuXkR|$FkOhXahb2o`fhV)<6@*bi>JaT@i$;RXeXy!q#nEd7Z z`rJWL1-KVWu9?%wBWMv+pT0zi8(e!c@tn4*1NQbR-Pif=J$Fy&B3!-%=<&xT)PN3)a0(&Vo9*!^590< znTBD-BYn#!gTy|??JkKiE;-pqx{u|hefc^$^~~;T=Prxi-zfWCX;@>p;EC)^<0Hyq zy-&T>5}mE!@mL56#iN|r0^O+wDB&8`eSh{N;p3MIU((A4?mFxBke8?xfOaoU+@GB% zd>oqpqMhIRNT6A19+VA4GcQft+9L8^#PGKIt}76}*e({gRs>!s9#42@-fM;odh(R6 z$>{zlsq5t6GdGsFby?ndr;Yb(&r_Cn*>_taMn5Y16=Cc$-*C6C5ABn0j6=oK>Zdby zoMV>nc0YCVPs|3p?9@J9)SpOF$t%n_51(!0gEjeI<~{Yi;lUKo8Ji?int1**pT0If zSMd0%&zbit+<$!B^08ernBXhkJY~~7ei)A=%v8U0anEiKGHX_~X!UE45f+k&tUjy& zF-0Pp6TN>EGp{9jT7yI+)vx^*Vo;mxKK>JUC7WQK zi$`^KwTpF+01`O~G*F1kU(aOqeYIiA;*9Fa+b1m|%v9zlTf{E2>Zz34cU%=rrPT7} zm6^3R7UHJ7vHopUE0twba#^JiQ#67Cx4QF$*HYJxt+4_vIS_o z_EjP(xw_E(uIf-K%&gQSUkN5}g#m=e_l^FoTtSk+Pl82DRo;o^ zc1HDwT`GnS4S6V|>;!5xlvGPddYYb^ty1nd;LL$^ zvd)ZO0d=Ko_S015EaG^#%O&>eN?%fZVPV))h@#{To84O z*A`p=Bs4@bDalB^3m^N%t)+rxlJ>Z|Jsx>R2kJ`KHuGqWT1>&Ncr;6(6IXB zNqUH)y1K3d^@BjyYOb}Kcd23XY2hyPPSIt+{}dHLmIEb{XW$XZ!BV?udr;TF(jGMc zA|lyaTKMwwiQpjLBKY2t=29^RL7MJ%BT*fl*N4TP-zh!d(UBlD{o#QbAA zDK*WIfuRYY(nyuA66u1eH0m{(HEIe|_8qmm+*o*x-JMRnI%TRK@m!vrcZNDSWffnn&0t>C+0>q= zRri-qDI~;mUxyJqI?)tos5%HqV0d8OE$#>g$TWXmV%1i%*swO+pfpmufEvi}5=Rn6 zryYx~w3>S$9JJYyDmrDu&uAf}&BhK4h4RQ9+Q;8@%Sjm8igu#t%|s^{cP$8QRt)Fo zokCWBFsDV=yyI#hH7uVR7sLrSvzlp%B}92|QwA(DuwP=Yz$u>&1wq`g4>-roON1Yu zj+d=vl}66?r}-{bwU&58!GqjRIO~%W&2a{b0XO7uu|PX-ZulXrahVK6WJA-S5IUP? zre&kFm-AK5EzB4sul*ND#m``;BqHL~SsJPrhPiq11>~YMJWZnH3+*;>M~TBBf$rm3 zbQIjtAkZdZ9k)QF8nl;U>_7nNaP!P`z|uZh4k)%Xy8;vUFbTBA+@wveik{x1geY=t z^dw!P^h$SZ~a1_=kC2(hAA|TRx8Dxd|l%(i4lh+S7zRje16U#zvJQV=Pmp> zuV=qW=ASP2x^ZRsuPqUl8|r;2FM1T_7L#Dv?i{`Ex?T^qYQ>YY*|{lMgp0ne;m957gBT zQUX`>51JAM4Ta&KGL}qzNuG&4#ru8 zP5U}xu=kvrfv^nhSST~Y;jB=bmN74GXNARNxFmQGOr1FBGHz!%_5$OC*fHvWG{c6S zQBtEcQ|Jn#G%F(^4t8w6lp8fCTy(NFr~8D>^E5{P)r6n}<_xNKOt^ZlF^SB2^Q}^t zbu_n05@AUmGO*>2RBncu4yAzv^{@6{9=Og22eNk}{{R4O87L!B|y6C%87Ut*Gmf5SdSg z_??F=ro<>gr0-pXrht4rcepSk*7r`hP-~8hkLPHu=gJ zxAe*$YY<)E3_#!QT^4$F54p{%WK`ku)uYyK*ftweVSd%lF0bFCNbzh z=^l2yn2dPmsd)jB*%sozq{)pOF90iWrI9o-kNqjvBPo|awz!2Z=3LY2x?}40EQ=~| z*=0(1J;>mShpU4!)_z~Qw;VSSV+*q25~L>?rNbR+L7X{mu5&5-2jQ=HIOAV5iG0Y$ zbg20W^Rl=my*Wyp^z1U%f6*knOpF$ZxfzZYHIz3L?B4cwEkFmri$kkmcLhZ&Wv-K( zWbHv z0YL(8Qj#7VN>!&U5IAER20IO46x1>`fdL%5s&iXgfT-W`6Ya@%zXPdjK_X?c9HlhR zWYA`p;_SG3=X(mZ@rk*KI6GE6?25CKWpNpoT?xB@Bj>IWNG3@S^pBQ{MHjA3jXvqU zHI8N~g_I;wp(TkeAVbSfbMnnmH`bR?;b=i~6i3u>s$|0!m4{RN+Z7H?1QArIdi52? zlj4ZpVmD)HW%E{le+S@nUo{7KOC^P_(vW50s9MH?7`zP}G5k}qHg>3mNM-zqu6xlY z^1;7q6Zrsb1csmKT81XsrT?G_`_u8sF6G+%Oxc-eQ&7vbNu&Eo$uwc$kz+%*e_v|R zIo!kP3sR92og$O%QXa7pDGYhJPRzI}GIuQrBogb4oMKG1FUyMVYHxAf1&?*7hPCz! zvX4RDZBm-!*wo&l=xEcE(m5gq-J^ZmznpcOW7a>@J!SyH{s*%jn{;9%Tg%P*XTqm# zqLlxtO%zlXY{)MtpSCfejpbibzW8q_UrNQu_@`MX<%`K)@fhW|{F3qm0>?-{^iwLS z>k$6a^8y1n+7Ar;1@S|0fcOzq1M$l_;!om;Urq(bKO}z8KKuVf{M2kh64*bWe%L{pfupjs)RDgyQDY++6D;A#X!6ihR_NA6=Ui$BZjEin3cwAvqn3PmkNouCH_x4YwfU#Nc>e9wFViwD;y3M`dlBcbu=*f- zo_sJv{CiF*&&aL13?XQUGWd3nLWt7%-(9Lql@>g#_*~4_#>H3tndl7Oxx;pDgX4DA z5^mRnhX);`uycG++S z9e|i&3kNXlEad>KA$QouL6XL*lsKyxcOIfuK(}|*9A(BMvdIBr?&>*!VW-Uj$i17# z0g}dQlsIb`tG>s~`h!2O=4;cltL|HLiIKsdTlm_nY>ut=uo<<3@djnkztWPFK~zbK zi+3nVJsDPTVx{(9ut=10T-Dj6%v$T6g-b=IM00-uPE>Z33MVQ%Jqd@9_0Gz4XtsH{ zxYRyCCGT}V(!2UhvPrKdg!#&%N+FiuV*VtZ8(g~5ejiO>p2RA|XVsY$G_GDkJ-oEb zSU(3~=&+3g$Z-(CW0ZXgwaHKz*@lr-=@In!XQk2OUwcJ{{CDWo&0`~bJax8eot6)B zRo-h1CFK~|9-K>dwD*9@Wz`uF@#VJDDw_F&wXA~Ex2ulrE2E(a z3Rv9(kq-c;Z}<21VgVx8(gjHOrwfpkj0Ip*l)b&&0+hew5urpD0PnkzKe3bG8hq|7Q1h=f|08;`~>ua#nhgq6>>w zeK_aZivw%U>WPbcV$Bcp*$dZ?I=Rj=aHR@Ml96hEevp9=;B*RT3J6Tr>q7!{ZU-dP z=cG}eIGmhl;Q(oC%^cupa;l@oinTTla6CE9&ehnkwu1vSaPbdotwPa5g+yCHDJB`A z3UI^uPfJRNDM^D4M=_bq3{0jGJa7!b3)h>dX){#NZlH#<-{!UgUk74Z4zb0$cn&d` z&H>2@B!p(;NY;i?TYA!A=dj+gEHj3^Way{EW=7G?H`7s-1FV7@)-<+;U(wNM&cOJm z;ZM1Dih5Y4Pl+z&v@iIzu&oaE*f9*1KOr~X;D{4Pm1--7agQkt{c_9)gE{t^0=8lE zqYV9=G2Jr&HJNf)&Ktz0F;^!ML5A08N4+Uz-ES7y2#L|%FZfi?&9+Wb5XqNo>KfH` z+*}mi(w;mz6G|oinI3Qeq$N^QT-KXG3vQWdfp?+@V%kiUnoMK_nn7{t1`(3K7RyGJ z@w1tjh1`Y@aN=nkDY)Hgx&3#f*nf!C7*YnqPe{d&ArVDp%UniRYLG)JhC>SG2#}(D2S}j+NTI-+P4w`jSWWmBOLbccrbq*3F*NSg zTYW?W(F+DRfk}~>GkS&&t1*JN2Muwh$Ofc6LpD3ei~nI6y;fti8BjFtd1lwi5!|4)d?WE3%}RrV8Ry&5NGawlfJ8YgCQCuY4G)`=R& ztSM@F9BR4Tn)z^;!Gyz_(E?zG0$}DtF`M|$mTa8U*yKX2Pr*Q|SY8of?V+yXsxp-y zbro~2kjlF9?JUQvhZ~Ac_k_C{cQ%x7_ZK1MwSofRXWvHw5&$|Hia4E>qG;n#EaFgv z28hLjqD@gm0Z>E%Q1tuXp~%uO@ZaEA!QtqLb&t9kf#i-c9DAKO?ij|NW=yNR>g5p67=YM^5M=^;I^ukepYkF}UbH zm2x{P%W1r%zT$2L0C`wA3VO>9z2XZtfLy=W-DUBtx9F8=OqFFKSqOj127yToYg_-`E+lFHf?Riv%`4M6uU$^k zSeEG|ja_3C&2&z5my=ddgK+e`%QuR@flNvr@jOfXrM-TuvdITweLm2=iJ%T5U)5Z|QieEC+2XhE= z>^_xa_oiwT06`Q0L5|)34+ygV48w{FCx&&k4r&5|nN9@D#t?L_DQY+o{AmRTIRs-k z1Uc59%CUY^H41Uh3br?Q<^b!1TvNO$_d$C zlXZ#B<`_R#37IOR077*+)CdN^YO=meoU3Z%&@JMsbK)VD6AvaU3V<#O&@m?-fG+z# zpPs+L_ixaZQFIws+0Xd;jp2L5iLc)nzDJz+`ic4`jEJ-wkTIF7)8CzdGjR391WF0y@hylIXkO{G{>tq9R zK=f2?0f19m0I0K2wIyVNLv4}Qs5wL{I7B(Ik;;h;6D;TUXg^IRTh&WTUo!4>d?uFsVO@*1F+5j zKn9gz09c3vE9!5U3jlQhl(7nLd5w)LXyDL={6cLi*m_O00O+Cs=!Q~s|9`MGjA09H z8rX74+hgc9uugna$M9`%;+r~#Z-W!xRL)`1-wPJc84EbBG8M<-Cz8b$eV)kQo&Fpo zbDHGIa3i>h#0Dg6XEu{B%i2c@K8>@(d<)bm3-mO-A>dd;GBt77zymrZ7)@z^FJ{Xv zDAzGJTkSvT*u89bvYqo{Z8hozi=(&i*oE7M&@&-3kRFWmk@5qFshFj5juQ#ezD#Kz z0(-R%tLtZ1KTF@9fIGTsGtBi!&RkDOF~o6uBkiMsdqd=IN8tYFMt{?WvxyQ?vK(zP zYbDlNH5w%fd=WyF#X&kIWMx2nOZ)q!R3FJ4goO(~!)yz2c|MYb2d^g&kb`>r1U=!u zcQD@K3%eRQ=-XVSSEV(YK$<5GA3ycCNPCr1j`7isb$;NKecUH5g&K6F zG)!Cju%L(ph@BX%}_wAdFB@=ePRZevlFSvZR zg}~)QHIkZRrCXpZmR`xC=2HIy16Dd}7WEP%)C*p($m*32as|0u0VhC>WS!I1F~s?} z^kk&?!XH+!dse#QJ(FwaEKFVJQiP$Wm>--i%(C%s4(y(5@!I~z$!yLW@XS+Kmk}f+ zPjz@yV*aoqR>~mX95jZD&AZehW5sKnW_Mz^BBD3k4cD(L%Bc5!8vv`X^l$*q9ZvzL zoi%o_s_D3r)-k-xf(i9ydfTvFi3ONYkZb`alw!bZA1U%o?`lj41(*;DxCu@By9vcR zCPe46_=5%T03o4)PUz%&2NNxRVSAt7L3O}Gt3LD>!{VpRD=13b!FIsqI)gjwbX@A4 z!kF#btQOCM>eVVrPoxZyv>vy4#_)U+FZ_FNb zSs*(HTRuGMn`vGvLDYf(s= z6T72hfJM$K$C7CLm5ald!I>(}gWs^UjXNwE+=>4Bluxs;`QdE0?6*SQ$o+iyO06_K zj=mf~NwRX8YX#NZOM5bE^5Wqf-cJv;FL`vnB%HMqF^zA>#ixJ;QV(%0=hIR4_F-q? zpseKv3L}p`C~(XAX7!EVSe|xF;y`RF#(Dw|v1sgJ$3qKFnwPrD}G=^JjeX2>;rP-E}sv9RFnUt0~vc4KsItn2$ZXZbR0P z&HattFBAWaaN(~*e^0N6&`cwA;JdDetjpH>+&hW5Al$_^q}Cb*gpjAdet*fME?m)k zLGNPHhr2x@PmGc84f3Oh2<*%}@5jiYJ!A3m@!vyA*iXDR|7pg97hf$n`-&9pMa*K$ z#7@ybJE7j@rxBC9Y2jN|fOsDB@}IXeVg^Y)obHT)^jg}#yNSF!{k?0#)iif^2o~&6 z@qhOJzV8z~|KvNkl=q^V$^B7Xv-CftF5C5wo|*P;;x|9cd8EGnJ3UWI7`EoBAiAN% zb-Z{3?n~sleKot)rk`{_oT+ISSnW+^>qlq5JbP>Ry;v<@^&2W;@z6$%4a9}}xK`C7 z>WPQle|pa-mAZM0UQwN$ zh=;cLKZ)F0{L4etG;4ZLpBve4!BYp z9%dkfUF=ErS=C+z<+b-hr_w7Z!j}gx{8!D!tmYF^{ujJ)9>Qz5mA7n>pKC?S|0&=7 z3|UuRbD4b6 zNzdf;sW67_FnvI6J-z%$phi(6|1rI1<@?_JDbatn&|H9(LRydBKHebCzcMOX=?%ue zsOihglsI{jkud&?9SN0q>gDV*nhAG%>DQzDQQutLY6R1)k_4_{w^&?mKO6dyWvVLs zGD(u;XOD7;bQrQ_lJ|NdJ6ja&UOM_jrfahCYrjX&!k53r_1pqG(=Od*S<5_n)4ufT zAk8xD{+-_C+tJfVEH^Bk@*U~K28D|ozqE)OEaIl7DbK{Vne*@_kd1^m8RqNb2pvt&NH8tVDQjfdHUW}T*I z&eoaHjJ~rqq_#&wKbz&Iy9tfWTcNZLP3Gcby15R^Fx-w%wNNIS22+fC3QR*SK~RB+ zT7tO$m637eDCz*>8C%VOCNeTL=V+DmOwqHO0jM329+{?h-us)@PkL*zj%e&ERnQEX zs}2UJwYIufx=S;es8lInm?oW)g8HvmzXk1;DSNo|(?|rCoLwOL5tkKD`DUht#bWZk zv1?Hw!+hkwKQF%8a{77D)bh6|*C9DM-h0bdHTV5tcN%s+U_o~a<$Pg#=`%|S17d)LcTH;L0>j;KIoseX%I!x8QsKiKP2XqR={IYOS6mgG2Lq$gi0Cb{m1@C&FQIQ5O^xs&xJ#?%-|R#p z-bCCfA5Yv;KWx}X>D>FH-gu{uVwrBxa(Zj&6(#2?k2G@!*PC<3 znTSWwL30ItFyQ010=)Os*L_0md3LnwkY<|S3zUiDfq-T^5#g4l-yGStKZfS9#80!u z!sG6*t*iJPk@-(XyN~Ey_N+`H#kiIqt0z~5F&1*_{@?33yz5}bFMCy`Vr_Y*&qsunzit!OF(Kn zjzlId0a0sQn&~Q~j+oLb*fA_xtx;-?@b*JibV@QMxcS`Sy+5}FL{uM`Yv8eD=@lDq zQz3NK9x4Ck+huVUM*$HAEi^X~<*W1ew%Ex*&#kz(*Ua20YB`c8$vJUnX;*`uX*T`w zsEN4Wi5f{gPR4zHj6VmA2+3rasPq7GZ_O4gmtWlhZQ&wt<3KI4ZxNUbpxL(tgMfri z3Sl)+{cwdpG!mgo`K0=~5frQ)!r3BYl`m3r*tAr10m zBW7^mF!k4!_VjTt29|};jpveZ9amkcN61Ap=#B*{IkO~?IJlpV$2u9?FL%*Z+UK|^ z+&_TM67i%TCZ9P8lQ$b`1ti_fNu>&oN2J9fa|MhbV+U@5KuDD`2NU#u)M2tg{N~5l z34U7vQW29szwi0eJ?O64Y$;yA1S-WJvHH(P10E$E&o_tjTgyPF;R_v)yr_A)1DtD6 zImBH&^T>CV>)sqQinU`@$X(S2V-Dm(av)QOH}3xu_UCa;ooOF1exD?Su$lltf}nu_ zvM6OAv@QX{CZH?)^_67 zq1I`!Q~TH%r+vTo37zNp{qcKWKkX-+`Ssj3|3Gq!(=t5HG+S;{I7;HheewTAt&fIK_DvsI+pH?GBd+sr!NqlRl{ z9WM;_oF>}OFs_LM=&6?1K)Oo)408rL>8XK~1+Hy&rw8`9V` zu4#e)UrjSR7wl}B$BsK1Noww|YBt-;Q!>po~oA`|>KWKJVi90~pOF5QL?4*k=5 zFDvNPWMu{rVORSIJgeW%4msM+Jn3X6+pyC+-X(t8f{ZaH>B>BKXDy>5+T9!N#tF`5 z_RZt)QMlhz8bV1fB?##mAPI(ORZ}Rogm+3hMI2a1l~mxytcd3H0&5xteMr;_Ie6mt#h}$Jr0M7aY{rTMxoSjFw~RSKex@)4>0(09eBCEJ>*2rgt(~sN+0d_>?k* zDhUlJfCovxQNw7Wfq2Fe&aMj|8(_`(KGz$;z#rBbj>=%Stpu7;njX3k0Pn~U1LRw{ zmYQsIZ3$bcAX+n!&>mc86ea9$+Y?C_o+Lx7#{%nBKjsc9U-Ie&7WM?kGK4O`r3RBt zPh!sLAa=fa72q9eWWp;PiCaQm9VsBhE=>l{7isO~l!?bEiQCs}L?D&&4+{EUP!`U{ z;d#V^{P!o{0Ck!@Iw@65}x@*_QYR ziCgz+{IPGFW&w8-uKAmb6am{z?r&N8A9_LfGfm5LyfaCCW zuU`Dof+rY2zJ_0!g#$>2RYs{ST`YiGMgWXNKL|5?Mf(vMK;LM*ofZLiT`1ZM@Pt1i z>GYa$ISq4GS=;AVhhV#EecLVslY5iCe!sq&#JYOcR@YWtQ_0OEHbqmWBlc!&SV1X8 z<46f!DnxJNDTpoj?Mx>VdK^}eU_NzlN0q3~z#U1Wc8J~rQ;1uVwE2`VjEXO(tTiwj zP+@p%cs6}2g+j*0s54+6qm1|yq0uot2vWpfoQa?(HyDSDYfw8&hB8^DAX`9QaZpuZ zuNSwIIY)7#(t~BRnR((*ntD`n?Km~AQ|`V9Q(uD#&pqziL31I}${iwaGrurL~{;h5ULy?%i1F z&4+*TE!d_px=wda%G|egib0yFD17xgT`G-6w4)%kioc^9#a zxwJg@zE;ocS7rrBFZ5#6Rw-#<%h{t_e%>EYdo%jXzS#PY3$pYR+mG?tDbAh#yLdNF z$Z`HL4_~Z1Q$+YWxRzOeoj1*%JSe+x^I>SS?lEe*0x{uwoMQcHRk%^0SgOpCV+rG5 z_|m+NIl|5J4m4DBL<_&4a<((u>V?*4OG;QyV3zNU-`Qz;%A+TNtuLV9!~ltnA$!gyh+M6`_U)?9sOzTagY)ARZ}%yu1LS9$BC-3X+;6|F zPpB_j{pJj}T}Lciz2dF_EA3`l7N5*Iw7}}>@OB%P^#R5n`!5T~rSBsG^6`D6!=rAvB;_gxR8 z$&%vGo-J6~<+J(?UaodY*VM&cW#8x5n%C~kE7?xt_$?c=M_9#-nw!x}*NqoMKn39b;S+uh;ah`l?;fV=(5O${ryBlZY(Ri$4jc5#mElK~^Qcf^Ijy zfYlhSN;JX=6gxIoZdIZeO37|(HkZ{}l^BJSC~|DB$*N>b=s|Xi**vAyTDcIgv5st> z!D?-)a5~xT%q}N@junQI-7;GDBaP@g18|I@)ET=zp}B!G{!U+t)y76XmE$eQr@O8(W>Q4K3OU-f%fwM?r?MN7 zsE10d_sVf54Z()-Y!ol0XJouba7uyfStJbjqUMY^bbL&HN* z7KN`D;Ji**N=-`{3sb2YX?O^(v=A#|Gn|fO0e648`P6)+^+aI)^f9&NbDbEH*SAz`D9o$(?%`Jyd7`D1w zKw(z=RFp~JR)X%Ymv<6!BsT-v*+T;!46*c-b2e8ynOvWA z<@STQ9$y*=**S2T0M-gCODq~l#Yl4U`F@PIsx<6LLVwrz;Obgf^FWTuExZ=QL$N?P zO0-XgVXTte85%@$OJ9KF)#f)MEp9?P~deJzV>wGk$2x9^Z$X* zM+=C(O6^7ceQPnH+&BA1@Xhr2j96VAo#SxTIT7Vo;%N*eb@BDeoU^7%t)Et`u z;~m$GTY4HAw-q19o!&?eV}-uSy@+S&i?=hV&9m`|Kt{g~8^96Tfm@ASu8G3I68>f% zD5ZdDmChr;^!SqmhFAX<+E4b_5){ z`v1ewP3`EA-^3VINe9z2u|Z0m8nF(S3NCRBt=!C?!|Ijyp>vW@>PF^(!IcxjkEkL3 zTJ@?9FLEir3j|Y;pN#swj-dW{%JoweKguu$7@FnOeC>I`nlpJ+IZ4v7fMNyev-nPw zbUG{%sSA=IFgZEi9(+Q5&R9zu>PsHBgvu27V-mvZli*cu(AZ6!1aIOg&d<<-f4wNw z4t7~?2fBa)8?FW@&~-}A$$cvOGE-49RLRpfDyzh;qBy}e}0~L90<8MlxwQ@6ktD(qh zX_^bEFrYb*wP%Wg_&e+0eQOGKJ?~|l5jJvBAKmbX?hVAs8-Hmu2!Y}`>g>S%gigP> z!O4^!iwJVAAqh-v{9Mr&wjFYEMAFp`jJ>S0n$ydv_BG8acs`YYh8?tG11zDcN|{#W+!|UrHsIhSW?4CkK-% zAA8D9<~@@l)ge^0+^l~!Q3N}H+Q}#~n{1vCNHR4402f?kMzRxWW#Janp|iD!Suj5_ zqr9#`a%Wg?%72khGbzZBk|b*Od?66>fQZ*Pk)$k$E-)Z!k}yvalopUhU^tp%bNykk z6i4#wdYddh#p+T*W#Iw)(cIsS&^VnZ8}pA{g;tU(Z0#+FXK^!puZ{Fe)5JpU>U5HO z%P3s^8Y!CVXQJZ56dqBS6!!mSKYagLHN+rA?r@3FeK8R|FmZ^iCk*_@CDmtXI4LP{ zEBG^!K4>dR@KFf6j*alWVwO-RIZ};82*sSbX$q0?O*X}!lL;R_-H`a)%Q&a)OV5uI zs<$(g$+Yz7OIZfnxi4Zr_(pG4k2@sTzuqJh28tDYt>u9PIs{e6_RIbQG4s_~{l5%VQ= zm8G?EPey>+6-! zJV-T6er559jr|3-W{sZ2ogn9;!@#hnv6Gldl`!RLzc5T}%3!1mOB^2#>$lh(8R1_| zinv5-JC!yMuDoH)Id@SIv%W`muFYa!E>aZ?G22$LIUl!?^%$)-60q@D^KT&l;r%K| zGJJv2dbuh=*Y=TJ$49Ndt|~Py3;f7^gekl5&B8Llxb4sVCq{fs&fgjb>e#XAX#!Q<}`ia2-RwZWNW}}PHF~j~P`x%QvSI*)6xd^(Oc}wOq)2(^L z{7+d~ct)nXx;&`)9q?;OwZ!|1(%~V%{7VF9i>&s|gYYy9mRN#$S=i2T0~01@Tl@xP zjBGdJzwW-Pwc3M5zg+a9K&_uTcDyNFS+xpNdM=s#t>@d!yF9HdCv%n6tJvJ^)Tsdx zhnTrLbsgUde)9=A*6jH5;lK&af`>b*nsUju?ETCuQ9+K$V~p9hf_?Av2Lb-i%jZ_E zIyNf!O?>)fyW`8gfiuPh4;9w;%BO$%@k^_H*+jbsgeu}zdBkxSm$a(Y%BJr^{@wVC z{FMQ<3`rYS|Hdo)M(N{zj<@by_Q|Y*KvH(f-)0O-yJ+~%@EILw|=wAC|Zg};CtkoX; zx3l!Yng3)&XQFgpDaq|lLqYUtTe{5YVxp2JNbQ08}`yvAy>V?>W#SoL484!jV*=`%-@4 zpx${kVKis6H|oeQzgdJG*SomcZ{;7{dzts|(OKHud#v{-_P;O}m$b;H{{EkDnZi3= zf0AD3yJH(+XS?6v&pKA|gR}cHln~|gu}StnGZ&Y=CKZOCh zWlOhhCL9`}} zRe8uUU&YJXflh<=y@v|_(-m{8Z98g3zd46=pnM4st}0G-8Grd!gf%AbEQJO0^EDa; z$tua$0pVgBkJwe(!qJ9VUwdrKrZLltM^2Gl3l|SB15VO}iN_*#^U7-sCVu0q?t&#_ z@nhc|dgIcR%fjK4NOJP|XB(sj!4%0v!A4Oe>Cv7szUOQcd)M<6Tg^|Xh10-V#(kCZ z4)0na5qwrIK0D);=;m~`M9VlnU_ZneK9HtU;dcX?#-#g2r4D}u`%nv+hBPmfhpO-%7W zVLeOn9-E?Zta^Imy!=t_){x!g%$sav=d0gbLXHImyj;?I$oQIbX0yenGiyXHFIDfo zUh|D2ckw`P#m=gh=O&kBf;V`3v!+RPGbQ^4+7&cM%=dt>6(;Pg{f#$yuX>BioO>U$ zMzM=*UrE%xsfW9y->r!H@*}zYmyZh88?4f9^S)dB;L}ewks?P3tR#LnZNJ=k&ixPrDv^K3pPLdf?u)YMYmuo)%M& zHe&TZELNtK>O3+eG|NdF|DntOSAEN21ePSAF#j`RTCok|s3bD0|8;_4TTXe;qeoPyh9SSHq^9 z!40d=S{D9|tl#HwcWdX!?h^Nw%O7hF{d3^!?QvS;;F}#k*`Cb%^v{i@b}yD)YMy#_ ztKcscv*vVmha~#^e8%uB3vXku6|Vlka@LtQ$&A^{>J!hb8hzbq*8)_!!TL(os!LVb z21Ym=pIW!o{vi(lllRJiRe$M*dr0|%v(3;?A8$J4JK{C;_k9|G9-r-YAI`pH^a`tq{b>Ol6ol?8Ek*ZBs#otI zZ!a`%+!3*j`80dI%KhPuR>PZFt69skXxr$i|9-E32ZB5dj2%a zV_%-p?KS^V`|lQ?wrtI1cWzrzK9Y6TU4P>f_E9dY+jRMy{O@PQW4mU(LGEQecGv1G zrtUhG%5P?kQ%@^T23)ZByh8Z7CAw8Xyr2{MNS(f)*L6}EIkE)hypR|#SK}lbfyOk+ zyW>We{0IMc#h^@Yl!>apuMB+ynSpxPfGv(_fBiYF7FNMC>44Pc<>pfg7L7!8PF|KU36a zQ&n+NbbGMw-N2v%APTge@y$c&|>6t^VSfeq_d~aYlf_ zFEi0xq6}`__PEHFC}#^M7l2VxuA3@kYmQf@6iTJfwYI9Nr_(PU>a0EXj za+x6&KWvf@y&`P1C5s(oj;m3|98Xufb{pP@A_gU$V;BEOES+4vM7*fzBl!o=*~?tL|lUFq3TkyE+C z%}#4Ls<^t~(o^gDnR#3CT_$<7`6)X5;@?&lyKY)HZ$H}Rsertd(i4IZTvt3Y=-x^} zk1V44at^(jBh*QAD_gc%ysX&Su6UcAnJ5lyI=ekc3rXcA^^)5Hrx2L z9r5+?yE@-^dXsC5>$?4A0zRrf+Tn*;c)IDde|_Ud;{;#-R#YE{L>hb7p`@&t4YX2L)3AXLe`llOi7%dnw(MIfGF8JG%{ZG zGc4~C52Wi$iODQi-=W}R>KFL{4TG~wECeTEOmg~yteA43hBgfAsqp>hLFAx$HM0l^ z?Hz>tCOF*=?$T+%fZPV`tFqbo5FahaJPsuqU5(-0+OO;HGRMF4Scn6{No)Nj@1vv$ z7SIeps6Q|OQ{clG|5jrC<+%jrT$a(D@}+nCwGM(+$Lz`FPPr|vt6|j};Wvwj<7ND8&$&f&*&D(j-}Diuk1VE_C*>BuY1Q?tkN>h~L_7JO zT`nIi2MNwOTf~gbgv8b_Bu^86|NSka^N*}G;|cv0WH3J6YPRU?4)7%x;cu7}aRNfn zOMb+!9D38|Mp#?46d3+LY+f`(*!-f;+aY3ezM7X=jD2Oo_tXfrK(*@|Tn>e2Lo*ta zkRGp2-}Qpzhh6b{kso;z0PX;RA0rfQA>l_c6;?4H6yiO=t~;V7`9n@;QTAQ-_}uT>%jW+a4h*iy&m)DX2{xo%|7Oi|{$q_r#(d8k^z362x5_}1v3$ps;kPi5t3!=RVkK#NfKMt62I_Io_{Od@; zLN*IdQXXi|qU%i0lR0PB6b1M{B*9U!ygp=CVS|a54d41X5oN;vIq_xI znow#BT74Z3lnXk)+G{;8 ztL78i4?pa)3MM#fc|f=Jx+O-&yf?`-wo$DZ16*%o!*;koAQ{2!bXR>2&zzjAp# z(XC=jy89}>@EwK!$>P(;#G*&VHA>R(Rr7Bf zOF-}}KC!+BR-)Uns@_A)GE@Kl{69}6M#7V56Nm%gAOhQMA`Y@)OI~v>7-mYkAinv^ z$h(rt3aBtf7|rSI6KR~cjt{FIJ zOupwU=()%$HrfcbxaQZM^tDm9FSTM-29g*V7su4z^bBQnaZfDeg5??#uB}QUd(KT0 zfmDSS)%f4vLUPqgkDr*HjnWV9{)036iE9b7J3BJ$#%U8paIe2{Q8|6vSkaofn&2fZ z9sUBwk!2Jbj4GLgR_yjeE3mX$;O}?+jo1FlrX2GX%$Iz)_2h#){?{4n%N1RwNY=ez zVVB~wZ1x`T{}-6Pnm5RhQm8wH&K5P7PaeB1cvoxFyijDdZ@uz>V&gIUFBq74f{s~# zQ66x0Q3><#0nK@0xx?${-z-ia2Y#^d-Y4?p@-bGxx9<9(U7YGaa9$qs0QE_8mzjLr z`=JHsqV65v7k*J9-$jU}aL>7Hk)jR$*T!E~Tk$7{uz+Sm1HOZMK`_)`kxM%7{UDfm zoA97_{7WtvD|b1uw>(o+c7Jx%YkU_itBxq-lKV8$pO~snW2$zVQFqk;6tVI&ydWI~_O98#)90 zg*T3Cu6?xnh6O%r=QwE9131k$x*cOHu57BH+L9|hp2x}jG#9v?O(@shQwk%9Aetq8 zBXn(kd2X6j&l4<^Z7uJ-mnwSx+Sc;x_m+qNs)ft}KMQC=>T~x+3XJZh!>hvu z7++yKk{};dZoRrA^QpZkSnJ=cxY9E47osuki#WmK49yV-c)-p}v)7YJ1g!qzh{}qt zX9C2~f7T2{AQ93|Gwk@L52 z*8Rl|Bb{IUj8XVh&)tsxL);sty!o7hyp-09m3GV}TmMl}uCH|4Tk;>TVEF_s- z3vGOs<}rb1$nHgK(jq43BY`-!)97|QD4vrl8RSTw}k2|P!3FJ_YpqH@l)NuM#f_rzJN-?vz(JJ(Geda)LH(}83OK{#vm z0gKHfd&AGteXGhdA5C8aNZ0e(N-X3hWah|5vGdY3Okg+Jy_6)q6{UW5Y?RD`7AEbx zEz_Wzdt=a#I$#}_E$nrQQ_Mc8-J^DM$qLB*dN3{XD+?%@*r3{9d0q1j2Cj&a@=Fr-_#A?n(20~A$>NqXz-3AkR73b|553o+CV#$H8x5W=M8u) zSQc&_y2{e*{{AQBS?cT_9nx;cIo&*(rD=w%FW9Tuh19)FuWnFu!P8PQ-Trk7eFEmD z^&~lqYulcg8>}dQ^5{6}!ga(<)`oH>t$&rL;&L8!Mgx=7+C{Xq9U(JE@N|Q%;v;z% zVv^HC_S$TB$k;AUQ}`*nX-a5GV2F+@k~ApJYv58m+y3<-KpZ;WYCUb}LQ;bC*Voxt zIn@m-&fqdJDt+c0D=<9QTM3%CGI36bzYWdJp3$W6G36kId!kera)3`$xN935TK(nb zRP8=NaHynd-5ZwAQP$ZdO6EkSGn7fZrGHc4R zT?0PHr7=jH8FG(7Q5~8)RYRYWSvZGIv!q4(j7Je<4=tME8Ul?y%IY(2Eq~pZgR&Xn zt|7%XC~9&{Yc--W@5Hq5=#XWWY5H60#?~eiNw^~T${v!_qRgo1(8IK-(Wyys#E2rwq0&|~ysvL?cr-(E9Md+l+rrFmKdLm0 zGt;5z{D#ylsZ;%<6Q-OQ7U7ud$W*4GA;S>^SVd$rv>Zo1UUsYTQ8z1_kv2POhJENa zRvE*Y630jFnsFXF#F-DkLUFoO5zfACP9q+=%z8+gskmzzXLVJ6XJUW`CgH5{-rl8)Uhe4(OQnbzSTsT@7~6OB0Kbh4}Q6k&!%iv z{@EBo+TrJ1nM!CtsEX#mhVKbBb<+b=r0xgz+%yB=(w_mkSHu544D1{k0qu5*2DPFb zZOXt*0xUECTH+5K@*2l`{f&fJ(-cUnE3SZ)kS6Wh_v1E-Z;8Q$f-GIQcOuOi2Rrp0 z_kT(OeqAI%|Hn}uspRMQngM>_6xyZ!G9<1p(YvN5K=( zyk8dTSVH+EeO*d6n5c!r?N$ zNV8wmzH24w(VXeIQnd^&RJ(U%*1qs`%=wtLz`%#DX%|&POkTq>9=o@H{nP_&mDW4A zi+N>NuxQXZl>PZ8asLKkfmQXxgr~v0+|nq&YQHKX9Yj0-JW`q6up<0*AGFC5k#L+V;4A!ys%<)R(Y!zt|QDst@Rn$euENH7mdCuuiKt{gL!4 zkxP0tFY(sC61VZBSEopOUs1oRt>BSNc&3ermJtR*By7SWZ>YreRSZ~ZZV2FYmlN^L5fB@>fRr8Yd%m- z8>M0T+XJj?6W8uBy6xZFj3ReWQf%E(*U)9#R38&Z-1I*B1jj#*H8s+ zbpXx`?Zwm~p$c?FnkkXzsTv<@RjTt!nBI->N|*zt8ZH~;H*y+LJY4=Uq^Q7#^JvrX z5{^m%*-rKVlRp~k1VOv;VS)=ijO-x( zG2zkF(rkI90jtzGq3Vzf)^d3p)^lItpuGNTgWh!yxn{_ zD6;N>&NT@>mk(*>2m-NakatDe)V@jaYgl32ME+3KU1v~pq5io(}A;R z?!?GwyLndU@6vHa-d>}lBja5{C_8;B-zob$kx)x}618Agy}9gh(RY#Ko!iyK6*c~x z{aq0)nx7H}BvZWUtr{vqcpBGBV9?>KM`Q&j@6AXAYJ zBr%z;qspNMfD%NoA|>#L==#QTMkncV=KQRn2jZN_ywa0n{uh*-6-Fn{ zPe!uDDnhgU^%V(`N)aF6R%v=hgF}WP->dO)uNi1uF2I7E!6y5A(&NPPsnA_QB15sk z++%4THk-B2OA6wMixx3f)&nhcTM?0k^z_k}%&+_AA+|Z0SO*l|kqf06G(t;=MT}Mw z#VJ^~viRN8)}B69>m z-x>KYgL*zD{0EclKV;`tBnPxmhCdF5sTd+2($J=i6HL(p{YST4wK6rM!vR#N4_Oz0$q3);bQkYB^`~A zk$)+HIu@m>vq34$gF1RMh)Z2r&i00Tsa{@h7RIR4laT}Pe^@mDHmZDYCJ2)gGg8yl zx?hMIUTmtDpQT!)XGUi%cNw5cG!?`#DwNh6HsD8li1gfA?thl>G}__1Zs*Cwm;VnYHX|9+nPb=1IbapzLnN# zw^-Ze`oo5{qku9y`n02F`*RbqZtJK#d=jLja(M8z9Lu;gtj2|A`jTG&*>D@a4Tbgu#?hqQN*7t`(|ukgfUFI}&nG)*wYgj^zXEA2W`Nf^{e+T~X> z7m~@;b?C|~tAcEeB@I!-8kvwq)nkfs(%I2YPUf9iIl{NtmS%K$%{c+(8C}O%GFFfU zHp4(jEK39teIz!AxV<)U%)2R z2*?w$7V=yGvdS8eN>%y+%Hy$6Agc13v3>C0gq(%8WQ!g690u0BH@T?M@eHeRipJq>3dX3bV!OO0ZY4p{rizxv!s{sVrKXWW&bx3^M_Va+ zT2Ec$;tS|gG_lVH1LrJvSP@r(%sqJ(Et}d3BDrKfM>^(HIx;xqj0sSMThNdRyC@oG zLGflA5nUNWCJ+3?`K^LxTH5$f$QU5@QpgxgmL0OW%@lAY&I%8%B-cs{Z7=G)OWoj9 zp(WL)IH>Yx zaUO;=3=`;TCbaIZq=8aSSmMx&T-j^~bU8b2K{ky=oX0x<=ObJKKc(W2Q2Z94X zZW$diC&v2CA}d)i_0_DYs2NAD8K&bs^kSu!J`xF+$-KJD@g>bV>mCDZOXJTlQi$)R zGhUT?OOlT08daD|UD;2ccOkzV*Gz8GHB(P@&U2h2F?9_?5DDcWDn}RFI>7*7sY2O) zaT*G|iV*n$3js2_u>FvPLSogU;yMf49$4prLtrINy>5tBIfX{j!rNR17}yt3tO-#` zBk`^?9Q#zLY#5cPP#|#tY)mZMFL6XcEC4*}B=b;`g%T-h_o9!`sNYy>+8C1JAvKyH zv*&w(rGTujHbh6O)T6e@KO2p*g?R54EoyKupu^`|eQoP}Z}Pq7g|YpP zX@-zk0Scl*_+F{$=nDKjRqFiSGTXWoSAc5Aqi7i4r%g7Tk@>H=Z zujPn=m!w&_+%(?{FV}9TH+P!McWa~;iSEI3s70$hO`m$l(G({2Dw9cM7IwjN1S(og z<4f^T43@~L&LYvR2iPg;z-tq$>#oDJBlUU<-}b$W21lR=J5A_84FCY_X1k_}&3Sp* zB-ZF{WF1Tzs}iMF(Cy1x;>-lv(a?ybN~L$N!Qr8X2)YftCFx9{KiMs1lXfV*uNWO3 zj#;g(5p-YYEh%OKBgpP4B; zU0_h!ed6$g*lHu{ zYUC}w$pn5!cCTlXK2dsqZFKly%xYte;FCVy(r=l-pULh`Y|^K!_uu3WKN_qyngpNx z%v<`33H+VxM&jXeQeZTOm`Y?NO4~9q&%r@%xVA&-fgRnr*$bDRN8(Qzap~Wv-K@g3 zSM#;A^g6Mz47PW9^EDPmeXGVYTU_k9_7~Xgt=%?1<~hg@Hpl-JW_fE_8&-KRN{80Q%MKXppB{8K57L`k^&`JD&CQDl@=Q z!1G!yy%$#2jtigoT6(9ltQ!yddnn>}7~y8n;t;GW>*YJp64^D~cu{BB5Z^&d%O+jh z2^RtSSZ~=&^JDUBCuv1zHw#c}z_l(`=II}{*%r07`Y5iQA~Meqx6MvWy}~E{j1m`> zn?W`e0oM>6<~cKLGn^8<4qrQmx6*W*moW9-viOg1CvE@cd|bH3e?;$eZe9ia7w<{& zAJbbGH<#j;Tl~kkRUEc?3$jnO`^R_VR)y2%N~Ye|C%)V0;aRb1|K>&{HJy5NPyBf! zZZ>Xi!%e?y7jRMUws{&t(mfAe`$Q@8+#9yJo2mC}z4i%i?On3D7Z=B_U1VjREpD5y zGxh#{*FMz}nP*37nVSXtAg-|xBdH$*=GGHl57$0r$Gsjl|IEPa0Sm$G^}rnpjSZ&g z*h5~wQiAA3RuRcLb~+CHeqcy&c0B`g1~%UF zksLv_;YeO8W+*9rd-xb+VK`R?ueWAt-NA^2pY^8MO?>H68L5CV2fDU=j zXpf{l!!q@w$3FVeucK&oPqO=9y&q5DQk5poM1~->N~&@ir8LlD1{WQn?I40`x9gS) z_m=QEJfobAUahN~v%UH7r4o_Oea>M!P21DQSr_K8u`AOeKX6+S6{ak|2_cuo{C0qjBukr%)!y%4cWOy5~HMk4b=U*aD+=j=m7=U z`j@;AgL&M;5#VT%6>=9qE8;t9TSbTlJ(YN8_k;p8RN{E2Zux86zHt3>DFbhSa)8ok&^B4Oz$_ilk1q$*t3r+?0pfa}(xg zph%hSuAwSiHZ2b|;Xuj?>1MV&i`DwnM?rFNU2dA|%zB2Kh9iWVzdJ(@R9Y1>WVLI! z2}DjAOd$2KM}N^#0nOs*>Faf5Ph1pskacIiFRuOCj<{S^Dm^@lLsnss%Oy^?Gw9(K z*7(RJO_Jh0^9_3%tWZ-XpV?~oUo*E5C~vm`8n{SSjUzScMW)ON_X@v3Vv(1y1h_hh;CWU z@ApOiFY_YBlFd`8mU|13r;f{&QALmiL{JGi7b!iEl}J}Z3oHaK{at*o`I!`a0W6lP zsJ{%J4{>3-MmB`T(!B&sMO2)w0jdGja^HRvUQSKU*6qQDkmeZSQr0iY1Y3~_E<16z~tGGH)sG?BUw*l5+z zP*Hz3eLe~>JYZIk#B2Z(ttuuZHAvTvDpilyD?|gMh(AYGl2a_lxA=ah5qMGO8a;jG z=f~Lt-2xSyU36V^W-_bzE}yXiuSIb7*^0ru?9yidQy8PGWJ6S8-86}0c2qiUau^s+ zMSX)DW3->pC5qf&^6@&-B+}gIH!2wSnWU!Xn6*}NXAo<&w#$&m&wOpZ^=WbUrp>FH z9lxt?DUGgL={SGInEdBWI~W%A(0@w(?GsxE4a-)lum@WoUg3%2E=E7Ol<*IAq>^qP zyAZ0E<5MZLX60hm^0~*kRUGBU6v_yv=2)L;bm?=>>?V}hYw2*)nK>t5_NkSEFpm0g zTLa~-a?Bi^WBVNQX@I(Ut~Df#{))|yzA;9sZ?Jg7Qq)a6xs6MzZl@A=q{8bgqv<)E+TOWv#cl&4QnYCmY8+1OYIY*aEgw>$)6@NtKhkf) z{z!?_LgU6sJ~Y)g%_$b5YruA(%fD{~Pk@xXM@h*Y-+nnrNn%!vc6sVzKtg7-DzJ znYJ_5yIJ8Ccsw z0`Z{emc=oD%;+5fklYgs?2A0&}bLGX`hn) z<630qr3Si`bU#wB97`o37t7*tJPCfmzQZ=s(tSi8Mv3Ug3Zn-fKe6uL#ht967?klK z-B%Wyi@XGQg@0-Eou3J@=*2ih+S3y)d=_0vlbxRdUkNq>ewK7DJ*DV6ag;6L@JG^i z>qQ9_)hlFS^s?qulN^`mY7p1^Z_~8(25S`TS|Q8CnESW;)~;>TprqsQ5t$RT07Yx{ zdLRbwmKEZCcjmgwP{VfrzFQ3}O7=F_9G9`Qgksd100!HN7U$R0roAtR z*x$B)yKF7$uU#qXTl;<&UO23WvVINe)z;M3BwP)K=_H}1y;8T;J=Kg!s%=9m zYm&dcI=GIA682)s+@bI9pfREKCFVJtNP2gO{1bdRs|ua51}6hY?m0EZOS+vLEAtC6 z)F-4ncTZUOB$S8;#mr9+9IgM<~AQKqG>rq*f)QaxbE49%xOOlgBaxuvOM3U7!u zgO~y&Msi*i#w9U?pA;s$MuQfj5Hx5rnlfSHGi2#mrKA6a#s4yGz!5=_$lT zY$D&6)~rM>XMi~tjggn4Tbli<6^zS^s!Z6^>+BYg+%Ghiq8dm9L#%N1pGe{DASQDK zDLu1N#P@~zH-m-3|5GaI@!%O}UgAuzkC0zo@y3Q@{$FaT6Ibf5?&sfD;)rJ+RM_R_ z7=<;`s(hnMX_*Kc2oy-@evIU}9{4;~Y;@52%d%BI7p`9@&vg~}`wY&iFQ4dhW0g~l zuPsZ)|CPg!Xp~v7`cFwnclBRb{)gJXBlq}qcJq`gd1ty^Yy%3B`0ZizP!R= zgZC!`AC}{|IJSxBal+uc{F8YHwB-!R$rhV~BK>OVl+&FGbemzj|r0~`tqC+p1hZf<;`U?~Ebj&ut z(wb_g;?(3Iv{U<6I0hZ?uATDz4CohwEn* zvYf7}8D;{r@+u!m)HvnUVm1d-;KoKv00kNl^|8sg*3-Jf+H?O#6JF^!dh}|6a*wC0 zTcNKNjd$6k%%wW40)e$zhZWD_I=Hd4+0wyNA@lXRmc-_2QPQ^F1tmUH{r1FXuxmX% z^ES|@`cRu++!~AlO6r{o?{mVj zpU<@gv=e)4>l!yw`56iy+0`XR)ZO9`wgF}tPk&#RJ#k754x&@Eg>F{$J}%edsX%QV zR;mLCB)|?5q3MErU7C%{!>x#cflf@fQIAlcqw!1WMd!v*Bz5V4nPxE>P<$HmmcNSc z;B(AR(Hxhgq`^QdW|@P52u5eGb+B&3EUS9I_G=4K_1@aB4FX&pjn^*3obK)1P-I>2 z*Ktr0AB)Nl?k`jcX`s+GB}S>oy58DteIw6dn!h40Q+d$yHfI%~M^A=CdQhzz>Wy95 z-VGKUUGq8Y88A6c$-wEpv%MDxJ>2eVc#k)9j!*R;k`3o}U$0tMY)gaNR8~;e*{gSePL8A$jP2e-q zhu|iEQ1H6i%jhXnc$@IQ_oj4sWde77%QP`6LA|X6T zOM}Y|&?VW~hm_*tw&IAKet)I|y?E3{@8r!)$Hm>{t@NTe#1#S>vcSkq2*t2Sr_jGN z{jv`(!6}4HGmBT=N^xCgRNzcohW253t3m25(ISLtW-{Y+r|!;Ff@!;x)_@b2llWcg z!gDzL0#tZxzoYFFFmq{xq=pcoU`j<)FlcF%()sb)?9Tmtv$~8>`5+Cf0TfznW^rB2 z9P6zTVM6l?_lZa|(B6NF3KSf(Pi2hl9Ru2gZzXl$w+>h6mc!6h&M8beed*CrD%Jh3 zx^zD~ng3(ja}pR&8Ag+07{eN#eWdCW47}zn4o^;VWahpf&dyB>vfLqKSp^zKhkOV8 z7^0EgGNG>wdV!cwT`d?fL8Xhf&jdCkIw+W9DxDO3QNJ8sJDeC6f)tAVsjymsPuqvL zhorv!&?-Phu^&TK<&cKt?^rA~5^tGz9z1*E60@V&+Zj#X7$`M6u1B-%x47(ofDLPJ zrz^yose5J?R&X*~F81HAWoP!vka@Amr;VXn!ss35ST{OW+Qt%Ttnbvl;2e8(q{rImmbAw ztcJbrxb(LJ)iORkSl3LVwH%L}VBwXSniK@pHGQLI)P+BuZ=Ssc%?T3AK>3may-D$8 z$|V;avzE|wV^nE^W)nrFNVTB@r#00y0GHQFqR&)#V6lZ`l_M!D&CE_!j_lx_AyYUq z&0~=!3`mikJaN8uZ#Rp*?drN|ABKna7{jwI#;7>R+Ci5%vmLcH>h?fp*OzI17ORWs zcC#>gD#l`kztT_scQpAuS8z*IY^3A7=`S5}Qr&@l*UleAy~AM6EJ@j?{$f&%AT%Rd zgZAKmt>sw2KTb@JkqP=6XK0EPG2KZW>d;k_6QizDklPUJwtO+H4O9o3PM`yI%3s2B z@I2~A)0BD^OUf(r^*je(FEhms$!pAS$EC0QYLXE|m)?E_qr<_t3<6`5q^%$UcYT0y zftAkb!}GLMA^w=c_;}A6KxWki^JA;%ox`VKA||4W_KFYS-3H09#;-5<3!`;{q5eRD zdnF{5{_pxa(fKDaN(d>WdMi5v*wj|4)0mM->KYQGHoDRK7!wjTb*xrba-&6K*Rhv) z9AoXXup>M=H5fcCB6Yw&2#-0%WOI5dMB}$X6uwLSodn@yX6lwos*TVn^%1KRX95jM zBH#%`d9H@fuP`1#uijR7yk{bW;eBOUpXw)1#rDLA2U9Yjt2ioK1TxSbS68pcW%WT> zC}5|oM8WS9zz9{z=4eSJB*?TzjVQs;d`6Z;X-1r+3GW)3PstXN{MsT)o6E)N8BOx> z<(_5%qE+n0X_@`}2I{DmxuSl5J6()2P6vuVCcoBUOZ%YkFhGT6{oiFN$Knf~7b53K z;t|N7Se7tkg#BU1U=07qjPVD}z>bQI4x_uiTnta;2P!A1o!U9Ill(BJcA_+faWU{b zwl;w7|CiXvg$S>U4++v$v%n8m@coP+9FBEqw;=93R+p|+YKdSdh@M9i^wy8MA-Sx* zu$)?RENtPrOB0Kw-D>p!8JLk(f;ZKTb=Z$EX8Vfkq@ugDRiTZLd(=j(0lt3=nVmy_ z51X~b19kBKqidk$5*IIIH8uwW<1*d3DUj|o`>cYwL|Zt>SvW2goq?PI9q^pF?TOFy zB8HbX4W!d@$0$_KgRIC%%w+Qj#M77tNZx#Wd)J4cifTn9m9a5CyIOElt;p^lweW&c zI~vMkkX$5r>BhoNP7l)U#UM~wZU96zB`RH4$EIsRRTUyiR#T#bxM3Ui8tK=A=q5x# zQydLl^Gb|a<(;}TQ;6y@*YDd@^-Q}RL%oO*c+@9-52N?V9|I3Rf>AV=wg^GTc!{4u#{TU zj*5_Y%e+{Ff!_gf_25&FHWMfW^AL;1?m_9VAApnq9XkjP=p!4w#q*ldUWndFJ~?>p zW8Z`JwUJ%oZy&d(*`J=^D;~HrXk~3Rzcm%QJ*qi6B(uc6?wFURA2ch&q?8Ek2(HtM zv$%YaZg%G5OdADj zLbPhw%cT#Cj;=wvXos9e`m+JHPx*q~xTb5e85HzM&!yeqJyd^(3Z~$0|+^YT?O5HrCz+5wqV>+_ZWx(7xh{S8W4ivAJuU6pqDlq zQmIUwW@O5qqZf1kpVqDgs>v%`pFbfQkXLvpp{RfUM1&Ax62h~{&7S~*16E!>TH8W3 zNU8z?T5BB>kq%%PONhN{?Fd$EDYdPwouOTwX;Y{y;hGj4^m?6X7uLtM(rMK`mhHIk ze&>&m*fn>pySi?c3;+MT_CEXUv(G+zpa1ObiRuXQ18|@6l;9D{TmmJNxme-|Ic~Vo zc5_Dp;@EdQlZWrJeh;H4c~2w&y2(7&uIzMKugQNhE|qnQO0S6dKhU7l$UN1W&E9r$F`}*CHeDl`>0Y=4yl>X!4B^qUg}zz z=1v`*@7ro5XhS!ghNc~^zPP%{n1XyatW!8vXktk|#zZ!V`Y4pqUbG@u1C+g94C z$02>@LW3Jk?{ZNc6c*mlazi%Gf;nYU_aH1jW*sJMXj>qJW;QgmB7B$f@R}&f5vy8S zG~k0~vq{+nI5K|_Y=Id|Gbh{jTpZXOa~^dtGZ`VuXiM&tf|kn;LFLme?UsIx{xhdJ zm=;z$+X=~Cy6?XrKrufcAN>}@^&kUseOLbcLq!e|OT>q(CaT`SNX&eUR2^MY%e=IL z)a~eTlPfzNQ;JkSwth8z)K*$MWnDE%dam=EqB1QkK%rA+mXgensc*d=K%SYl`!l}o z{c-Jri2ddZ-~aOs``}k09nx>6NH_ev^*z&h_e5c z^)JAl+qM4{E4{I=_4t)sSqGNRBbZ{9AV%E!e{ZKV%qq{ojKb~LyDMl3si3H@uhO|T`EHXx=ZD; zyHsxNxkF{NsRQFqZLei^1p5Wx%8%vp9SKVPqVZ5d+*Rv4r`x~oJxpdN?O(A@-9TVq zCerqwGH=XI>a<+?&b?*l`RScerMS-IeAXLhO1qht!N4)9l8UDN1BZyLy%xfyd!L*} zi|tY8%BXaqo&_20d&}D{Y&>ueIO6)W4Cl*U02#g4esA-~iH8bfME3I6h@TyM3~CB# zF%j`~vU7IntXZYyOq;_>$kdIH8BayNv*eo@Bi^awU6?;LAn-QC?g=G#o6}RkyQiE7 zm2Sa(RZGQ}*Al+!m{M8@b%Xj;Aif~u3Py-Xh=%QoXbTCs@Ui_L-RQH4Fz--JYvze> zdo#&q==+z6F~xhg8*^1VhFRej|7~o`9_Ut7?tOU%CUU(XT)Vf+rFZ&&gpR#U9tt-~ zuYaYig9Sa>56S1^J^%Rc^e#g4S5pH0ZG!oO*kiH=_X3J17>+OnUnK#N!XS3Axduq_N+={QUII z1ExT#Dqnl#qqrmDH(dA>rKzPkmX1KUd^V_f{Ib*8h0i14d{H5*ccEZMa5;-c%47h0 zp#dF+aPw}rFuR;%ZFA@@+AVo{e(d9!uk85R?vxU;b;ch~UHX1o%+LGgb(ZARUs<)E z-nMFnizAOJGK&^u?`$GyZbKZ6euu4_Zf7%r0=Ypc2fnblhn5~lZizy}!DoMRo+oGd!8%o#n62J@&fd^p=O;QFe`o zI*k|HErpPS;&I2J)A1YL?KwhJoBI#A1NRC*BTK_@*=3pEQR(usbY2pqeNrtjIau$B zP&i4ZKG6K>`KveDa-Z4><(C!|ACIY?J-7MPi9Php1#dB6F}2gBJ}k7{Ox*~}`9fYV z3BJ>izm)4D%;3dH_`g#N8ep@;&g#7tPpAXQx%DkQQt*L_uBGQG8$e+O&paFM8grp* z7gfh`AZC6Z7Ux9|74L$sxXKY2`|{q3eMN53wk3-RSs1@t`f@1tKbn&VOrmS&K8J6B zae(#7&Atl6UmRFg+ka@>Z{u&G91Et2fWp z@R8m#B77W1rmt0>B}0Z6cUT=dMf0O%W(C>{46XQ2lUUw`RfgF<_1FhjK5@+IzxdtA ziZ_2dZJ+(KZS`rg=0{DG=?_DroF&(HKwa3iUY?9kX>9(vn78ABn8&-iSIT$79ha-$ z(}n!iRG?rQJI87fTz!9c1!6rmwGLe=axRwUy$iV~NWseWP6!3K{~+?8Ej<}lgiREp z_Z_s*SWJreyg~aERY~5$Vk0F{E{@Lw-%RNvosIv!K5E0WygNqIenhqp+TdYzEDebO zb^0KJGzyiB`kfA3glcR$q>Q@Ua=RT2DdN_+oREiIX6n$vh0M#N;4^~TNr$0!IoaYI z)ddT6-;TM7(w=LIK0HE5tjzw=kQvaw9LkhdRf#_TDbFqKPx@{zd2KHCA>=%Xb5GGR z$C-mnGfxD`D+&D65CHQ4&ZntZK?9+m^-@9H#KO+}fhszmA zB}3EccATTlv3J9dD2VOF_^4_cseS##rE5R~g9QP*SXe=%nA&lbMI)gCVL|uq=knqz z!yV|UD||HK6#UUSmMCD5kH{s3#fAE9{^5&Du(}Qii780ri_v+QMOf&Tk%DvdCPZwv zJJ=qMOY7-<`GFa=xKIK5DMW28ZXp@>swI`;ycVcAJ9-cus|+M*I-QR|6EauRstSBo zDcIelLpZPmujmU7Dly_N!@xz&Kg|w`0DUXu3-K8eg&cSJj2D@mF1$nO{mSk@esST> zmmp6B+Yt6{IKM=P7M-HvrD<%WsLM>x{0Q>jeCfOK6`x+4b)=_-xmGP`3N+lEC`|Qo0yV5O zjnNQ9)T{+a3hJ(e1zEs1AFJq;BZ@y-+*0eyEom@TngWgG`G0vVan&r#h3`hTy!lMX z?$4O(4+gi=#R+C|n46`d4w(6)U>Ju%$LwqyCuF}%VP44WKdLZq5!+dnUZc|?#IcSQ zek#4rpiMI3IVb?w5LRWlKi{ZJ*CwU-|Br#Ro?F_lrLNl!|-jQ|q> zHf&<-I-Opp^Iv7Hv{g5-w#4e70G-Z&lsfCmdfVnX^OFoTB?&1twbp8uE9NwM4QI|M z<`nIGRUc+vvw^grZIh9Ij z*C>@rtx^fD;~oSiI<-yXod{~1+D7Z9cQzAj(ZA^M{}}->;9wveqG$zcVs`t<9E|^jzj$j{!UNMbz1<(g46r6hjY_-1Xc|~! znZZ-GA*NsxrjN;UP^4f9H`SyF;XUWo3`1nMOzNp7&$I*uLk6BV$-Xt=!6WC@{w7bP z?6TN%DS$q14E2nLZ1X%Ayv>su9L_6R4W1hTGKSDRQv&`fIe!!WlTF;(GUIHgNgi)M zTSl827%|;0wt|B2oRcV~nLP9SJ!b=H-Tnaj8b0lpEsUduvpoVX%2>}DG5!TzH(~hi zjed}bzmKVyFupkQ&4Ol}DV9l2dF&ek&kZE<6X_GtPlbDa@;i3wqQ}CY8~u356CfFA z7Sq2Q#4?H4vo0))F-XOV?L6l%&X9=vhEsXN9R4kXiZ{ga8FTmrNK{V|w@)XJ%QyA) z$CxuzJS{X(%Ad-J<@@?OXsNyvrMx|(GeV>a{QR^{*l%Ou+`GY3lgC;4+0BzhjTppyNq$Cu)1=~m^WV%Th% zR1UYA5jZ`8R+(>+49~MnCS*y6XPXmHLOa}Jo_u_G7OgIn_?iE(f4Vti79b2ankUtG z*)%Cqp55e4%VPU~XO_eaY&X9(7^;kETpANhB*Wuop{b*03M|e%spK@LrR+7QQM>|=QYJ`NlDVRK(r!Y8S^YeRp^CMJyI6!OzCkK3Xk zx6-+W>54TLrIM?g?)kmNQ@hPh0iA|i6Q z&!SLpTpTk*Oc|s<<1dy;{;bDx+61eU3>RTVqo^!9JJ=qAhs4WGfuE|lSCfw96|T((GyZ^PN@ng+JAW&;&6 zs=J8|H8t$oin`TSBnm}Y{7{<82KsZwn?tKIMn#je`uAr;uy7|u>JKd3m`H82aHmBV zCp=gD0_5Bo(ddMyRIIoOikua3e-{mGmwU3KmssoSZ8g>GI$Qm^iiVX{K|2N_nL^c_|L3i}O{9&WYNF9W8 zk7Mg4IIB!7btJ3Z)b>owjNq(8f`U-@6nWi`9?6_)3WBvH;E3RLhiyPg&AZ#|c)}0r zBOaJgDJg3dd}F91y%bw6(u5K9$1F4Bk()PWz?Q%`3yyuw{ISsF$A(hpywqV59S)<8 zSek%sUg-D{x`{@DWSNTMCaqmY(<95n5r&>9IzARND%rti?~{j~!XcH4@sK!}+K6b>HN=0GOd-vo% zY*KI?_QvkYOnm;N?1gs{{QYnPf_jE=b6y!-@20OYtBrVlmCNOcf?HTuU^PLv?Tzgk zw2^qO@$JSKYYbeS2~h_Imk9|Sft5WpLC)n?x)J7eVIyv`6?G`OU+WrN40V`>k++tM z@C{h+fx$AwGUNN_;Y`wLf&bAD1n+twryA-FaLSg1WeGdxQedr^R!9P)-o~CEx zEb+U`9v888=qyQkC`_#R=>}^(TUlp?0C{LlPym$X#l`U4vs|8a?b;f4X-(bQRa{WO zT3da?|DH>0LQDk(_*C+?SHdsJL0dTm1rKo={&w1OdkJnXqR8=CxS}A31-9CfGBZuV zBNcY@ReE+_PEbGrsE!?rN3N6$0k`1-iI-0sfuSM@@!8=U} zWrWtKnus53&#h>vSj*xS#l-tC}6^KC_pumO78sYC96bfwBYbZCc zNy08lm!6ny1$*crcx!5(uCuMKYGC75#|q4J0kTB%QAJfg{6{9VPmBALYGy7=B3PpLaWSQ@8ao6_Q&q{{#N= B1Tg>r diff --git a/software/roms/cbios.rom b/software/roms/cbios.rom index a8b0153ce22aed56250acc8be5d2a51dd913c21d..cbf8b4987f219216df09ebb8243f984329a116fd 100644 GIT binary patch delta 1593 zcmZWpe{2&~9DlDrb}iuA+h993aCdEhTVYa<0QF=y*fJMg$c#}JgNcX{gAf=3vIeEa z1<^l9B!?gxgcuAlDiaKCLZ0=G*KV}kbE4ps9|D0j5Ix7hp}6GgyKZ9`|GD@5_4$0i zFZX?)C?DnL;YW4+F2)IrJ25_h@o9{|$CzMz2ICyYeHdTB_zK34C-JHz{sH61lDpH6w$1FsP7=&J6G;D~$$@JJ1gYWekk%rANxdWMb(N6M7dAnsz zfCqaG8n*%z*CbX#egwB{1ozcgdbFZdtcGBu0>T2bc3*|jygnxUbRurlhiu${+!m8| zpo>Cdib7aW2IyZS$2InbHTOun34~S8JElh(Q&I@{9sw{4$Q3N_Kp|I#=52^fIil!rGw+01E0&9`qw-&u|oM!@U)NDh-5|rI4PLpkyTaGYHurwPBGmQKK3OciQ zL;>-3(OzCxRbC!+v61Z5tvHja3VLY5 zgltn*{Dbvmxf^VEhP%cvp^KJrUY>%?;moa6r{qQSvHDo#D@6)3jL*7xzp54~ z-i2IQu1I_!XQK~;U&y)3-r;I+RO3Wpo|-J04{Ozbiu~|*^+9Gfd`f+SnFgn+uP}kg zm@X94HENGjX-J(F!1ZubF>sTO-KTZF#D6wrEZc%03&@k*`e~7$JSl9tLiS?dXg2|$ zp$uJ%O)Yeypf3*2Yf)-PTgI3>hZMJ^IfLoc*>FxuS^o1JvSX6e`pbSM#`r75LPbT-8Fgo~z@FjOGr+IgIA*lv8UhG&nZe zK;7?JI+@<8pFM(vD5S(=jHYW*U1IbSu{)51y0uy(A~`ZJ{yf9h_Ha(NxrYN4@l&N# zaJavSQ>O_sQOBCP-aTW^&J6FC_aR|FN{F-Mk5N2%BqP6%qz_SG5AuD4XinOX|-Tk_DQiJ_i@#|2HdP*uB9&iBEfhh0-0K8E!?yFyTp8gk88R-WA delta 1915 zcmZWqdu$X%9G<F!dgl>w*tqeU7)Q%QV9kGjHnGF8WDm*2t8VR zN16r`ABc-pA(%=uN(7ofybCxSH(ie7?mB6z)*7VI8cQ&^ma2!4#;r438zBBMGvD|9 z9`o4w%?5>_P^niUy$0#qkiH4&^+CH&@BRz=pcah$T^w*L87Shv5&+XD%kp2fc zRJq!zx)$R%x(>a4YT3ivFX9tjTm#0>B=l8?(ymK7=rDHQh!En({ZXUoMkMhc#}^-@ z=d`$ep_qjf4VsKJ!?Z~*KR?HcP`1I;M(Hm1SyWPY=C z;*vQ2EUM1Hv8b9Sg72{qR~_>3R3S2lT-a^u7_GiQe*NqD7It#X1wdkgi*U6ieqD*R_JMi z;xVcU#YSx_q&w|Nrvg%jT25BOeSKf>=fo{w`L+Geum3(jJ>uz)bjo%hI{*jyus=N7LSk^Z{!4FC< zG)I$HW1Vs~B)8YYLC-X(vZFdAQk8bZS;ACl5oZx2YuB6$3C>|lm~XX3?7Ue@d|sq? zFwtTH>5e%?`fD*i66+gkF&SZY30J5E*s|4A!3@wCCiNWa6TuDt%BjGOpN{t;A*ZA- zW^8JL3>687Y%V(bo9E~Ork`5lIZu$}=VtrNyu0UJh$}cR3L&l~GSXK_n z_cCg{Wd!l1mWQ^*Rqq@R(xB@hPDIz23QnWG74i0mPsq@u4;?xUO(&5~xqs6y-4Nkwwksly}-AA}Th6dU#J zaAGn%7$vVIjUwPf%O`i-=ja1I$1GF+xal}G1+2x=uum*oku}YUiCkY;qBtIK@?Nfi z=!nlJf)EF?^KX(7znLP7=Q;pofU*L}0Xty@(6V)KK%lk`!UlWMNJ7n%1LQFdOkIF) zr|>_ilC+}2{jv&2Ou=hYE66t{!sJ6lnKEU{kg;~qTbbRj1Yk9Z6XN(>)EpD;k{^y) zCpc6Wf5u!dOzz_V6E@cN5`Nr#QnK+!$T8BV5ciT{Fxo}`g!X} zw~Dm&q*0-+8Z2Ky#u|$}O3sVSvduE7Tf~GAP8Ilfb1Z+$F-AL GPy7q?Adv+C diff --git a/software/roms/cbios_bank1.rom b/software/roms/cbios_bank1.rom index 36910b80a2e7fad137bd882d3467194cf68bf994..72e181e71310ddffaec4931d62f6d0dc9b2db352 100644 GIT binary patch delta 158 zcmV;P0Ac@t5P%R000s~``0o(=J_nHsDI2rt!+Yt&rs>1K>BGwDIuPK)0O-ZlOze zW|8A00cn#60V@G!lQaQG3nFa1>mqKv#o;1wlZOEz6>z-e!76UN>nd!#$sq&aHi|X} MHUzW10Ye4>0OBP;IsgCw delta 157 zcmV;O0Al}u5P%R000s~``0o(=J|B?^DI2uu!+Yt&r|HAM>BGzEIuPK)0O-ZlOze zWs&0~0cev50V@GzlQaQG4D%vuyz3%uyv5-nZya7W7#LGcC diff --git a/software/roms/cbios_bank2.rom b/software/roms/cbios_bank2.rom index b3033ef4a9f60667c3b1e687799798fc69c2bd84..f5690b9f26a662e5d896cd1111cb3e7c6da01f54 100644 GIT binary patch delta 633 zcmY*V&ubGw7@ggiEe)u#Xx%g@-Ne=qYK5pFEOjTTk%~nV5$VAnMJVX49@JiJnu~YC zB7%76KOiXx*&aR;noxAz4mFi3RE0)ZaFcA>R0=|H8IG;=rBI{_+rZHN;vWX(p{53{^UvGPVD ze3=YTKBIci#X!rq)bGS)2ozc^Ro}M3!$7B&3l4)g4pYsFs;@4ZqZke(kubOHac&(p zIMk`V@C`#MG%g=!ZqD3>lyY(^;1mz8^A7RQdWnXJgBXR!lPSN}ozsr)uLUuvtGX}> zS#xsimU$4FRtn%Bv-vhebZK=*fz*BBO=toj6aM@ZG+N}EItr8 z=EJ~WvnwTVs*i8lcGS8f(T`v~u z1e+sPyO-q{x?|e%tWBE|zhl`YVJamftdt1RZ2vXke{=sxR(ol~v@HARSt-;N3dZDR zrmZ4YJvw`(7O6J;1YgasM{}_g9^0PasqUSLGd^A0@@xvNMu024*a6$5_Nza+&s@0IuCjp`A zy49$ybo2;Trr1*qR_?L;82o6N1%^o|*S5S@9(es{<%;G^SIS>V+#Yv&gDl6;UU?_* zZo$U96o=|R5~fln#^SU@^ZchQ$2_-r79$BOkG)ZPujL&MVvs**Y9-tzZ`)+OO?QgY zM~yx-)d&~bj$!4GLa7<<#4!w`ZY@eP8T5OH_QshzY0l-%+FuJW$syOR5bpIh459L` Muge-`9&SDJ6A|1PPyhe` diff --git a/software/roms/cbios_bank3.rom b/software/roms/cbios_bank3.rom index 66b7312bc3d799febd8c181dfa786b25b73bc753..c9296151c98a45b38d462b3a525b981c79ce8858 100644 GIT binary patch delta 42 zcmV+_0M-A15P%R000s~``0o(=J_oT1u>lbpyvxtahad#YkITn0|L-yyv&;cB22e>6 AC;$Ke delta 42 zcmV+_0M-A15P%R000s~``0o(=J|D3Pu>lc!yvxtahad#YkITn0|L-z-v&;cB23=_q A00000 diff --git a/software/roms/cbios_bank4.rom b/software/roms/cbios_bank4.rom index 975e888d4cc1837fe57ac45b2ec61b2bbed6250b..e8b181006bdb3d7cc2db20828e8dc32507b425a1 100644 GIT binary patch delta 176 zcmV;h08jsb5P%R000s~``0o(=J_nHsFAa6PGIqQ&cf2xqyfSlk=AMfa+5&; z6-RZv1^@}mMj!>v$Lh<*&8+CjKL0Y5ygGBd4=@4A#Xf-3+y)TMj_DBlJ^?awyur!U z5eERnlIhhE6A&AFvLO4>$vy%yd6S(1OaXb5odGbD8Ui{ddAvO`dAxYaE9=e2>N=*p ew>qi3%DCyn1?n<#yf4$(&G+ibGIFze0)_>mu20VZ delta 176 zcmV;h08jsb5P%R000s~``0o(=J|B?^FAa3OGIhK%cDyooyfSi;Mvnn=k=AMfag#v- z6-RWu1^@}mMj!>v$Lh<*&8+CjKL0Y5ygG8c4=@4A#Xf-3+y)TMj_DBlJ^?avyur!U z5eERnlIhhE6A&AFvLO4>$vy%yc$1w0OaXY4odGbD8Ui{dc)UF_c)WPZE9=e2>N=*p ew>qi3%DCyn1?nv!cW%# diff --git a/software/roms/rfs.rom b/software/roms/rfs.rom index ead2c34840d6d50487803a238372c3f2ac0e52e6..5ae796a5e670951b0642b7ad4308b9566e75fc83 100644 GIT binary patch delta 129 zcmV-{0Dk{~fB}Gj0kBmA0R)p)155#}lcNJI5J5fzG8hmt{qN0l03ag8^^@NN7zgpe z&2|9Fnv?wlrW&m5Dh3hz>B;5Q8vXz%5&jJ*4eg;I1QY77lf48S0nwA%1Vj?i?EY9F j0TUYjDJVStAvieA+LJH^7Y6(6Fdog?vrPrD0-^{w>EJY% delta 147 zcmZo@U~Fh$+z`sl$TT^O*@toUf8U=iW>8Q#I{5*!1lz&0Welfg zO#aWjOls8|EjGd5FHb(bD)o;+L+~H32JhR23M|5})=u8fBExuo@*Nfz{qt}BMJO-| zOa0T-u=%HGVR81x8wE3AO(58sFYyvAt^yQSIQ#RBf!x^}oBdfgGHw3H&SU`qX5>2R diff --git a/software/roms/rfs_mrom.rom b/software/roms/rfs_mrom.rom index b3263d44b1e45f9e3faf66fb51d40166f99f7109..97b29b459f858ce686cf985a6ae5c2dd02e3f7ef 100644 GIT binary patch delta 407 zcmZorXi%6C5SPcq_FwU%z}YIMvy}`$U?nbK^zXfun1IpW_Y!v)7!E&TIPA)J_!1+V zfYp!p0>AC#jsCwkk`g$1^sAMWfWN%F{xg1etDoLgB*-Z==4=S*nHD(mysr<)b!OX|NQt^*L z;VMwmF^7K#ERKVe08+G6IZ( z3};)I4qntyK($~S%z_nQ3s@u=z5;!24s_hdlQ83tK06Q&W^V$ze)1H?dUmK!CJQkc z$h9$P@4NW$WZgdojUWGbHNKcjeEgSq<6rfKYYHdNu9%#_0g8bqp;LJO%0oW miWU}UH!>-h32Oqu)_jSVU~v_oxWd^>K=aOS+8a_FwU%z*%*svy}`$U?nbK^zXfun1IpW_Y!v)7!F@&IIO~WcrqiK zfYp!p0>AC#jsCwkk`g$1^sAMWfV{l^Gk$lgpYN^y0p&g(1ZuTlp196Jmye;sNK#0nY|R#FhS z$i{=L7pM=U9jaGZ`KgwIK+V7Z8tk>Z6qp}MC_lV<^lh|^0HYwoSwp6S7d3=Xjo!v0 z!SEI6C3B!dKAt=}`95R)m;|70%W(8OWWD+pNZX Ki)V5Ib1(qaJb`5Z diff --git a/software/tools/make_cpmdisks.sh b/software/tools/make_cpmdisks.sh index 7478aa9..e705dd2 100755 --- a/software/tools/make_cpmdisks.sh +++ b/software/tools/make_cpmdisks.sh @@ -14,7 +14,8 @@ ## Credits: ## Copyright: (c) 2020 Philip Smart ## -## History: January 2020 - Initial script written. +## History: Jan 2020 - Initial script written. +## May 2020 - Updated to allow 240/320K Rom RFS images to be built ## ######################################################################################################### ## This source file is free software: you can redistribute it and#or modify @@ -53,7 +54,7 @@ FD1M44_SECTORS=36 FD1M44_GAP3=78 FD1M44_INTERLEAVE=4 ROMRFS_PATH=${CPM_PATH}/ROMRFS -ROMRFS_CYLS=15 +ROMRFS_CYLS=20 # Set to 15 for a 240K disk, 20 for a 320K disk ROMRFS_HEADS=1 ROMRFS_SECTORS=128 ROMRFS_GAP3=78 @@ -88,10 +89,22 @@ echo "Creating CPM Disks from all the directories in:$CPM_PATH} matching this fi echo "Building ROM Drive:${src}...Size:`du -sh --apparent-size ${src} | cut -f1`, Dir Entries:`ls -l ${src} | wc -l`" # Copy a blank image to create the new disk. - cp ${CPM_PATH}/BLANKFD/BLANK_240K.RAW ${ROMRFS_PATH}/RAW/${src}.RAW; - - # Copy the CPM files from the linux filesystem into the CPM Disk under the CPM filesystem. - cpmcp -f MZ80A-RFS ${ROMRFS_PATH}/RAW/${src}.RAW ${CPM_PATH}/${src}/*.* 0: + if [[ ${ROMRFS_CYLS} == 15 ]]; then + echo "Creating 240K ROM RFS Drive Image..." + cp ${CPM_PATH}/BLANKFD/BLANK_240K.RAW ${ROMRFS_PATH}/RAW/${src}.RAW; + + # Copy the CPM files from the linux filesystem into the CPM Disk under the CPM filesystem. + cpmcp -f MZ80A-RFS ${ROMRFS_PATH}/RAW/${src}.RAW ${CPM_PATH}/${src}/*.* 0: + elif [[ ${ROMRFS_CYLS} == 20 ]]; then + echo "Creating 320K ROM RFS Drive Image..." + cp ${CPM_PATH}/BLANKFD/BLANK_320K.RAW ${ROMRFS_PATH}/RAW/${src}.RAW; + + # Copy the CPM files from the linux filesystem into the CPM Disk under the CPM filesystem. + cpmcp -f MZ80A-RFS-320 ${ROMRFS_PATH}/RAW/${src}.RAW ${CPM_PATH}/${src}/*.* 0: + else + echo "ROMRFS config error, ROMRFS_CYLS should = 15 or 20" + exit 1 + fi fi else # Place size of disk in the name, useful when using the Floppy Emulator. diff --git a/software/tools/make_roms.sh b/software/tools/make_roms.sh index a550151..3e75e42 100755 --- a/software/tools/make_roms.sh +++ b/software/tools/make_roms.sh @@ -34,6 +34,7 @@ ROOTDIR=../../MZ80A_RFS MZB_PATH=${ROOTDIR}/software/MZB ROM_PATH=${ROOTDIR}/software/roms/ SECTORSIZE=256 +CPMDISKMODE=SPLIT # Place the RFS rom into the User ROM at the beginning as it contains all the banked pages. echo "cat ${ROM_PATH}/rfs.rom ${ROM_PATH}/cbios_bank1.rom ${ROM_PATH}/cbios_bank2.rom ${ROM_PATH}/cbios_bank3.rom ${ROM_PATH}/cbios_bank4.rom > /tmp/user.rom" @@ -41,14 +42,31 @@ cat ${ROM_PATH}/rfs.rom ${ROM_PATH}/cbios_bank1.rom ${ROM_PATH}/cbios_bank2.rom ${ROM_PATH}/cbios_bank3.rom ${ROM_PATH}/cbios_bank4.rom \ > /tmp/user.rom -# CPM RFS Disks currently only in User ROM. -for f in 1 2 -do - if [ -f ${MZB_PATH}/CPM_RFS_${f}.${SECTORSIZE}.bin ]; then - echo "cat ${MZB_PATH}/CPM_RFS_${f}.${SECTORSIZE}.bin >> /tmp/user.rom" - cat ${MZB_PATH}/CPM_RFS_${f}.${SECTORSIZE}.bin >> /tmp/user.rom +# User ROM 2 = empty. +> /tmp/user2.rom + +# According to flag set above, either put the CPM Disks in the first ROM, or place one in each ROM allowing for better write spread and larger disks. +# +if [ "${CPMDISKMODE}" != "SPLIT" ]; then + # CPM RFS Disks currently only in User ROM. + for f in 1 2 + do + if [ -f ${MZB_PATH}/CPM_RFS_${f}.${SECTORSIZE}.bin ]; then + echo "cat ${MZB_PATH}/CPM_RFS_${f}.${SECTORSIZE}.bin >> /tmp/user.rom" + cat ${MZB_PATH}/CPM_RFS_${f}.${SECTORSIZE}.bin >> /tmp/user.rom + fi + done +else + if [ -f ${MZB_PATH}/CPM_RFS_1.${SECTORSIZE}.bin ]; then + echo "cat ${MZB_PATH}/CPM_RFS_1.${SECTORSIZE}.bin >> /tmp/user.rom" + cat ${MZB_PATH}/CPM_RFS_1.${SECTORSIZE}.bin >> /tmp/user.rom fi -done + + if [ -f ${MZB_PATH}/CPM_RFS_2.${SECTORSIZE}.bin ]; then + echo "cat ${MZB_PATH}/CPM_RFS_2.${SECTORSIZE}.bin >> /tmp/user2.rom" + cat ${MZB_PATH}/CPM_RFS_2.${SECTORSIZE}.bin >> /tmp/user2.rom + fi +fi # Place the monitor roms into the MROM at the beginning for banked page usage. echo "cat ${ROM_PATH}/monitor_SA1510.rom ${ROM_PATH}/monitor_80c_SA1510.rom ${ROM_PATH}/cbios.rom ${ROM_PATH}/rfs_mrom.rom ${ROM_PATH}/blank_mrom.rom ${ROM_PATH}/blank_mrom.rom ${ROM_PATH}/blank_mrom.rom ${ROM_PATH}/blank_mrom.rom > /tmp/mrom.rom" @@ -61,6 +79,9 @@ GENROM=0 # Manually choose the programs you want installed into the ROMS. The files will be first placed into the USER ROM and when full into the # Monitor ROM. Thus order is important if you want a particular program in a particular ROM. +# +# NB: A Double Hash (##) indicates a program found not to work on the Sharp MZ-80A. +# ROM_INCLUDE= ROM_INCLUDE+="${MZB_PATH}/cpm22.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/sdtest.${SECTORSIZE}.bin:" @@ -78,7 +99,7 @@ ROM_INCLUDE+="${MZB_PATH}/6502_Betriebssys.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/A-BASIC_SA-5510.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/AIP_-_LOGO_xrr.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/APOLLO CHESS v2a.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/APOLLO_CHESS_v2a.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/APOLLO_CHESS_v2a.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/B880.A3_P6.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/B880 MASTER.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/B880_MASTER.${SECTORSIZE}.bin:" @@ -126,7 +147,7 @@ ROM_INCLUDE+="${MZB_PATH}/CONVERTER_A_700.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/COPIER.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/COSMO_BLASTER_MZ700.${SECTORSIZE}.bin:" ##ROM_INCLUDE+="${MZB_PATH}/DCS MZ80A APPEND.${SECTORSIZE}.bin:" -##ROM_INCLUDE+="${MZB_PATH}/DCS_MZ80A_APPEND.${SECTORSIZE}.bin:" +#ROM_INCLUDE+="${MZB_PATH}/DCS_MZ80A_APPEND.${SECTORSIZE}.bin:" ##ROM_INCLUDE+="${MZB_PATH}/DCS MZ80A RENUM.${SECTORSIZE}.bin:" ##ROM_INCLUDE+="${MZB_PATH}/DCS_MZ80A_RENUM.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/DELETE.${SECTORSIZE}.bin:" @@ -139,11 +160,11 @@ ROM_INCLUDE+="${MZB_PATH}/DISKEDIT.A4B.${SECTORSIZE}.bin:" ##ROM_INCLUDE+="${MZB_PATH}/DISKEDIT.A7_40T.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/diskutility.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/EXPRESS BAS_700.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/EXPRESS_BAS_700.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/EXPRESS_BAS_700.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/EXPRESS COMPILER.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/EXPRESS_COMPILER.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/EXPRESS_COMPILER.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/EXPRESS PLUS.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/EXPRESS_PLUS.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/EXPRESS_PLUS.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/EXT.BASIC_OM-500.${SECTORSIZE}.bin:" ##ROM_INCLUDE+="${MZB_PATH}/FDCOPY.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/FD_Editor_MZ700.${SECTORSIZE}.bin:" @@ -154,7 +175,7 @@ ROM_INCLUDE+="${MZB_PATH}/fortransosz80.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/GALAXI_FORM.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/GALAXY_INVADERS.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/GDP9-BA.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/Greedy_Gremlins.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/Greedy_Gremlins.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/Hardcopy.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/HP4TMZ7.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/HP4TMZ7L.${SECTORSIZE}.bin:" @@ -175,17 +196,17 @@ ROM_INCLUDE+="${MZB_PATH}/HU-BASIC.A2_80M.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/KNIFORTH.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/KUMA_INTERPR..${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/KuPTest.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/LAND_ESCAPE.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/Le_Mans.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/LAND_ESCAPE.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/Le_Mans.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/loader.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/MAGIC_PAINTBOX.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/MAN-HUNT.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/MAGIC_PAINTBOX.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/MAN-HUNT.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/m_c_Breakout_2.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/m_c_Hissing_Sid.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/m_c_Race_Chase.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/MEMORY_TEST.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/MINI_DATACARD..${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/minotaur.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/MINI_DATACARD..${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/minotaur.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/ML-SP_8002_BBG.${SECTORSIZE}.bin:" ##ROM_INCLUDE+="${MZB_PATH}/monitor3.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/MONITOR6.${SECTORSIZE}.bin:" @@ -199,7 +220,7 @@ ROM_INCLUDE+="${MZB_PATH}/MZ-80A_GALACTIC.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/Mzprint.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/NEW_INVADERS.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/OPENING_DATA.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/OTHELLO.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/OTHELLO.${SECTORSIZE}.bin:" ROM_INCLUDE+="${MZB_PATH}/PAC-MAN.${SECTORSIZE}.bin:" ##ROM_INCLUDE+="${MZB_PATH}/PAC-MAN3.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/PAINFUL_MAN.${SECTORSIZE}.bin:" @@ -237,7 +258,7 @@ ROM_INCLUDE+="${MZB_PATH}/SARGON_2.71.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/SP-4015.A1_S.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/SP-5060.A1_M.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/SP-5060.A1_S.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/SPACE_INVADERS.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/SPACE_INVADERS.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/SP-CONVERT.A1.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/STKEEPER2BAS700A.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/SUB-MONITOR-700.${SECTORSIZE}.bin:" @@ -263,15 +284,15 @@ ROM_INCLUDE+="${MZB_PATH}/Utility_2.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/Utility_V_1.1.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/Utility_V_2.0.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/WDPRO_2.37AT.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/WDPRO_2.37AT_C2.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/Wooky.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/WDPRO_2.37AT_C2.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/Wooky.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/XPATCH_5510_v2.2.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/Z80_MACHINE.A1_M.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/Z80_MACHINE.A1_S.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/Z80_MACHINE.A2_M.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/Z80MACHINE.A3_C2.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/Z80_MACHINE.A3_S.${SECTORSIZE}.bin:" -#ROM_INCLUDE+="${MZB_PATH}/ZEN7E.A2.${SECTORSIZE}.bin:" +ROM_INCLUDE+="${MZB_PATH}/ZEN7E.A2.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/Zexas_MZ800.${SECTORSIZE}.bin:" #ROM_INCLUDE+="${MZB_PATH}/ZSP.${SECTORSIZE}.bin:" @@ -282,7 +303,7 @@ do cat /tmp/user.rom "${f}" > /tmp/tmp.size FILESIZE=$(stat -c%s "/tmp/tmp.size") if (( ${FILESIZE} < 524288 )); then - echo "Adding $f to User Rom" + echo "Adding $f to User I Rom" cat "${f}" >> /tmp/user.rom else GENROM=1 @@ -301,6 +322,17 @@ do fi if (( ${GENROM} == 2 )); then + cat /tmp/user2.rom "${f}" > /tmp/tmp.size + FILESIZE=$(stat -c%s "/tmp/tmp.size") + if (( ${FILESIZE} < 524288 )); then + echo "Adding $f to User II Rom" + cat "${f}" >> /tmp/user.rom + else + GENROM=3 + fi + fi + + if (( ${GENROM} == 3 )); then echo "Limit reached ROMS full, skipping from ${f}..." break fi @@ -311,7 +343,12 @@ done if [ -f /tmp/user.rom ]; then mv /tmp/user.rom ${ROM_PATH}/USER_ROM_${SECTORSIZE}.bin FILESIZE=$(stat -c%s "${ROM_PATH}USER_ROM_${SECTORSIZE}.bin") - echo "USER ROM SIZE (${ROM_PATH}USER_ROM_${SECTORSIZE}.bin) = ${FILESIZE} Bytes" + echo "USER ROM I SIZE (${ROM_PATH}USER_ROM_${SECTORSIZE}.bin) = ${FILESIZE} Bytes" +fi +if [ -f /tmp/user2.rom ]; then + mv /tmp/user2.rom ${ROM_PATH}/USER_ROM_II_${SECTORSIZE}.bin + FILESIZE=$(stat -c%s "${ROM_PATH}USER_ROM_II_${SECTORSIZE}.bin") + echo "USER ROM II SIZE (${ROM_PATH}USER_ROM_II_${SECTORSIZE}.bin) = ${FILESIZE} Bytes" fi if [ -f /tmp/mrom.rom ]; then mv /tmp/mrom.rom ${ROM_PATH}/MROM_${SECTORSIZE}.bin