COMPARE VZR+CPMPLUS NOT„sFRESTORICOM!¸FRESTORZCOM;SòREADTHISNOWT þ$RESTORE CRC`‰RESTORE DZCd[‘RESTOREAFOR¿gÏRESTOREICOMÃ#H÷RESTOREZCOMæ"ºÅÿ vþCOMPARE.VER# !M†ó¸€ÒsÍæÓ(€Èa:D8qÀÂr4›Œâ¡¢ v�MçXYØÊr9ÉMгyš?!ˆ¥2¡>j :� &ÃIÐò.‚‰'C)¶6ÆNFS$$Üc6L‘�ÈÞg9M°ÃIèÊ,ަÓ¨A0LsÙLDÓN·ãfXY„Älˆ â EÐa7/fKvLn:Z¦&HQ¬@I“â&óuŠÙ„†AL¶êx€ÊxÏO%±óL<çCQ “<ÈÈw�D$ú5ÖØl6L®ñ ]6—…ìïȸd1 ¤ƒÐ€¦B޽Ñl¢̦Il¥)îñãùë mjÄ•ITU• {¢]ÓÝýG·&3LZÜxÊü¶—Ç(�Há�JF�Ù¸e cŸ#º|ÅØ¥:$ˆÃxlI¦¹ü)ÒÌï Bcá„”•ÀÎA9qq®è¢;ÄFãÓbcw •Ç–²*zù‘;€ú T Âˆ™¦JÁÔ8³BÁ�. Y…£  aP>e&¢ó\ ÄŠa¡/7†è¡)*;䉿‘páÓË­$¢ÐÊx›"DP™:Ô¼IÔÁ»†ÉP6¸ør´’hA7o15ˆ>CШ4gà(*@é!ôMZi4,’gB•d*ÌB·rÙ £è’ ̰ò×|z`)1Àç4Þˆ:T�Ë‚ÖOƒ{[’9øL}|v1�æKń֕&(uOP<¬’�¹W:Îda5ÀF· _%,Œ ‡Dì qÊ™ô¿ó…’„"»Ö$²K¬dD(B f2Ôó6d@$ƒ l€1`æE³lÌÂ+Rfóôv®ºÐà0C�>„49öÈÁˆ1¡ôš(š j4b~Ѷ•Dhð6,d)†òÆåŽÔ&siR$Ú]`;ùzH í@U‚GËñ‚0…íâÁ)C Ãpy(ˆäŠB4!PC ½å¼`PëÜ^>ïhþ/FÒ·ÃI\¥\�uv[]8Y.ÜÈô¨ ÍH~ÕJª$2‚€s™Å¤¦:sc‚0-+HÁÂfe߃ ᢇvöQhiE&2c£²¨+ñ´&A½OuªÔ(,†]´Tâ$laÒÔ‡¤Uä¼²Ö �…ŠlƒJÿ”Y>[hÒ¯Kã[" %…›¤¢xL8 '6rÏCÇ1$š‡>Ö‰ÕÔ8|“B1¹˜Wi–2œ­@•ÎX™qyåкw® @ «,–¨"–§ãL ÛóL¢Mð®FßèD"a…r·Fþ�Ìš$f.y–¹òZ¦"c„ê/7ªõÞÉú€W‚ñ'ò8Qý8€(Φ�&”x Ç_⥆±o‡ŒóÙG7˜èEC›{á̱ƈ\�íÎ4™hÀ�âZ¦ãô:,i�dÄ%’~HYX>F�Y¢²‰žÒ±[hÓ9ÒfiIùA-�˜£¸r€ÝHá $%à7°ò±U¾=eŽç­1MÃy�ÃQ˶"XT® o‡´Ï$`AŠ - 9”•Ðï€[PRyp�çÄþí€U1J¨�,i€QÒá~Îa¯&9^áË^‰!xêYò AÓ‘;Œ�”MP·5^ˆ ª¿-«0Œ çÊå»NM”‘©£,†–!ÞL©Ii>A~¡*˜:dj¶Ph Êf/*¸ùòb'àœÄ´Ç¶l¾TVN?i±Õʺ€0L+Uuyí´º€"  °0„Ã@Ca "I°ZæÑo"®P8ùÜùË» ̘µJ ÀÁ,N‡Ž·ä+FÁ*Ý‚pr ø²  Ìð4 Á¿ -|6‚!uÚÄ.X©‡_Ë��3é ¬ô®˜øÈ6èå”îLi�F¸§�“�§Uheèdm¼õx‚”ú¨(ÝÄë®r�ø ù_àäòqžèΘ î(s�€®Lyëåu}=vð lAzå¬;¥ƒ0p û×OñàשtyÿK;úÜì \šàÈBÁA*eW9 ¤X/hò-@qêÁ½±õÀߣƒ:V ˜7 ¾)««¢s&f¾˜·cõß4ZüäEc±.oê{ˆ6¡è*�Nâ:ŸÕ”¿bE°: Áyäö´´‡J²(\´Lp½cC uÕD€Ÿ,�¶^¼Øçfß ¾‰.·ÕO÷(!ÃV‡Ê%…ýzð!·¾Q�55²€V�|Æ‘1'ÿ9(p6Jc?1 c6aca–-µçÂcû‚uj^!ÚiP%F_:ÒÍ:(²�GbTF“u†1�BÆÉÀd`ÁZ6ŒV²=(®CTaØâ$a¤'ø,8çB¹=Ae¸Q’l—Ñ -vrRb©^.PSqpN±ù-1—27-¤8s   �QÀ¹A note for CP/M 3.0 (aka CP/M Plus) users: Take heart! A version of RESTORE for CP/M 3.0 is on the way 'real soon now'. At a secret test site in western Canada, George Reding (the man who brought you SAP for CP/M 3.0 as SAPP) is working feverishly to adapt RESTORE for operation under CP/M 3.0. He is currently modifying RESTORE 1.2 for that system; as soon as his adaptation is complete, I will be adding his modifications to the current versions of RESTORE and FRESTORE (whatever they are at the time). The check isn't 'in the mail' yet, but at least the checkbook is out of the pocket! ÃÐ Fully Relocating Disk Restoration Utility, Version 1.3$==USER PATCHES==Wait for User to Start?(0=NO)->ÿUse Linefeed on Output?(0=NO)->Reset Drive when done? (0=NO)->ÿIgnore Directory sort? (0=NO)->!ë͈ :o·Ê Ív Change disks now if desired. Press any key to continue.Íœ *¼ Kù"p*¤ ~# x±Â8:�·ÊN> 2úÍ2Oͤ |µÊ^#V#ë")!~#fo+~# x±Âu*0ëͺ "'ë"%*2#Ía Ía "x:-G!€)¡":"ë*p"r"l.:4Í» :5Í» }2|:1·>ÊÔ2*lë*}“o|šg}æàoå"tÍa Âî"fkb6åÁ ~# x±ÂÿÍv Restoring Disk :ÆA_Í— ÍU:Ϸ¼*z+DM*lë! ëÍ+ ÚYÅ ë ë Á x±ÂAüÍv Directory is not sorted. Do you wish to proceed with disk restoration anyway? Íœ :Tæþ¯!\ w#ÂÂgo":\·ÄU:|o&"*z"v*l":\·ÊKÍb ÊzÍv Ív Relocating File :ÆA_Í— *å~þ Ò*õ0Í— ñ; :Í— áåëÍo  Í— á~++ngÍD *":2*ÍI ÊY*]#"]*DM*ÍI Ê<>ÿ2e*_#"_Íâ " |µõʲ:\·Ê«*ëÍy *p"~ÍÁ *a#"a*^:1·ÊÂ#VÃÄë"ë:\·ÊÜÍy *r"~ÍÁ *a#"añõÊÿ:\·Êÿ*ëÍy *p"~ÍÅ :\·Ê*ëÍy *r"~ÍÅ ñÊ+*ë* s:1·Ê+#r*ë*s:1·Ê<#r*#"*#:1·ÊO#"!5Â[:e·Ä( ¯2e*v+"v|µÊÖ* ÃæÍv Disk Restoration aborted - *vÍ÷ Ív entr*v|·ÂÀ}=ÂÀÍv yÃÇÍv iesÍv left. ø:\·Â”Ív Statistics for this disk are as follows: Total number of active Directory Entries - *zÍ÷ Ív of *2#Í÷ Ív Total Groups allocated - *]Í÷ Ív of *0#:|_}“o|šgÍ÷ Ív Group Relocations required - *_Í÷ Ív Group Read/Writes required - *aÍ÷ Ív Directory rewrites required - *cÍ÷ |µÊ:o·ÊlÍv Press 'y' to restore disk, any other key to abort:Íœ :TæþÂ!\4Ív Press Control-C to abort. ÃÍÍv Disk restoration completed. Ív Verifying Directory*t"*l"ÍN åÍUÍN Ñ}“o|šgÊ4Íi CRC verify error on directory write. I hope you have a backup!$:¯·ÊQ:O! ÊK)ÃCë%ÍÇ*x" *l"n!"z"!*8"!€"~å¯Íf á~þå‹ úÅ ë*në~# x±Â”ë"nëÁå*z#"zë*f}“o|šgáÚ Â~* +" |µÂp*zT]Ía Ía "hå))ë}“o|šg)))))}2 GÑ*x}“o|šgx·Êü+"jÉÍi Not enough memory to read directory.$*c#"c:\·È*8"!"!*l"~*h" >2¸ * |µÊq +" :¸ =Âk !€"~<Íf ÃQ !¸ 5Èͪ : ·Ê¡ O!€åë*~~# x±Â‹ á"~>Íf ͪ *j" ÃQ !€6åå#ëá~# x±Â¶ ɯÃÙ *~"*"*!">2· 2¯2¶ :.<2 :· Íf ! 5Âê !¯¶È5Ê ÍN "*"~*"*"!¯2· Ãã ÍN ë*}“o|šgÈÍi CRC verify error - Aborting.$Í· *ë*~Í #z³ÂX Ãê õ*~DMÍ­ *ëÍÇ *!DMÍØ ñ·Â‰ Í Ã� :¶ OÍ; *!#ë*++}“o|šgÒ¬ *#"ë"!*~€"~ÉÒ ,½ É*%}“o|šgÚì BKç *)ë͹ :,·Âç gDMê Íi Internal Error - Track out of Bounds.$Ͱ ·ÈÍi Internal Error - READ Failed.$ͳ ·ÈÍi Internal Error - WRITE Failed.$Í� ·Âl öÉÍ’ æþÌ’ þÉ*0}“o|šgÒ¯ Íi Internal Error - Group # out of Range.$ͺ "!ë"Ébk:-)=¿ ë*+ÍY ëÚÏ ë*+å*8 ëáÉ*z"#*låáå~æ_#~³Ê :_#ÍI Ê  á å*#+"#|µÂì Ñ|µÈ:1·Ê) +<ÉåÕÅ~æOæ¹ÚE ÂE #Â0 7ÁÑáÉ:1WyÊW ¾#Àx¾É}/o|/g#É·|g}oÉÍv Ñ͈ Çã~#·Ê† _åÍ— áÃw ãÉ Ã�  ÃÃ� Ã�  RÃ� ÃÃÃÃÃÃÃÃ÷ ÅÕõdÍÖ  ÍÖ Æ0ͨ ñÑÁÉ�Úà ÃØ €_y·Âí ²Êí {ÉyÆ0ͨ {ÉõÅÕå'Í èÍ dÍ  Í }Æ0ͨ áÑÁñÉ}“o|šgÚ/ Ã" }ƒo|Šgy·Â< °ÀyÆ0è õ|ÍO }ÍO ñÉõõÍ^ ñÍ^ ñÉæþ Új Æ7è Æ0è ÕÅõ ÍŒ >.ͨ ÍŒ y·Äž ñÁÑÉæþ Äš ÂŒ É Ã¨ > ͨ ž ÉõÅÕå_ÍáÑÁñÉå!"À áÉõÅåO*À yO}o|gÒß |îg}î!oÂË "À áÁñÉõ¯Í Í *À ñÉÃÐ Fully Relocating Disk Restoration Utility, Version 1.3$==USER PATCHES==Wait for User to Start?(0=NO)->ÿUse Linefeed on Output?(0=NO)->Reset Drive when done? (0=NO)->ÿIgnore Directory sort? (0=NO)->!ëÍç :o·(BÍ× Change disks now if desired. Press any key to continue.Íø * Kù"p*ÿ í°:�·(> 2ÑÍ2OÍÿ |µÊ^#V#ë")!~#fo+í°*0ëÍ' "'ë"%*2#Í Í "x:-G!€)ý":"ë*p"r"l.:4Í5 :5Í5 }2|:1·>(2*í[l·íR}æàoå"tÍ û"fkb6åÁ í°Í× Restoring Disk :ÆA_Íô Í:Ϸ–í[l! ëíKz Í‘ 8Å ë ë Á x± ícÍ× Directory is not sorted. Do you wish to proceed with disk restoration anyway? Íø : æþ¯!\ w#ügo":\·Ä:|o&"*z"v*l":\·(ZÍÔ ÊAÍ× Í× Relocating File :ÆA_Íô *å~þ 0õ0Íô ñÍ :Íô áåëÍÊ  Íô á~++ngÍŸ *":2*Í« Ê!*]#"]*íKÍ« Ê>ÿ2e*_#"_ÍM " |µõ(:\·(*ëÍê *p"~ÍK *a#"a*^:1·(#VíS:\·( Íê *r"~ÍK *a#"añõ(:\·(*ëÍê *p"~ÍN :\·(*ëÍê *r"~ÍN ñ(*ë* s:1·(#r*ë*s:1·(#r*#"*#:1·(#"!5Â1:e·Äǯ2e*v+"v|µ(c* þÍ× Disk Restoration aborted - *vÍR Í× entr*v|· }= Í× yÍ× iesÍ× left. Ãx:\·ÂTÍ× Statistics for this disk are as follows: Total number of active Directory Entries - *zÍR Í× of *2#ÍR Í× Total Groups allocated - *]ÍR Í× of *0#:|_·íRÍR Í× Group Relocations required - *_ÍR Í× Group Read/Writes required - *aÍR Í× Directory rewrites required - *cÍR |µÊ:o·(FÍ× Press 'y' to restore disk, any other key to abort:Íø : æþÂ!\4Í× Press Control-C to abort. Ã¥Í× Disk restoration completed. Í× Verifying Directory*t"*l"ÍÑ åÍÍÑ Ñ·íR(CÍÊ CRC verify error on directory write. I hope you have a backup!$:¯·(:O! ()úë%ÍÇ*x" *l"n!"z"!*8"!€"~å¯Íè á~þå  !Å í[ní°íSnÁå*z#"zë*f·íRá8<Ò* +" |µ ¹*zT]Í Í "hå))ë·íR)))))}2 GÑ*x·íRx·(+"jÉÍÊ Not enough memory to read directory.$*c#"c:\·È*8"!"!*l"~*h" >2 * |µ(+" : = !€"~<Íè ã! 5ÈÍ< : ·(O!€åë*~í°á"~>Íè Í< *j" ´!€6åå#ëáí°É¯*~"*"*!">2 2¯2 :.<2 : Íè ! 5 ô!¯¶È5(ÍÑ "*"~*"*"!¯2 ÆÍÑ ë*·íRÈÍÊ CRC verify error - Aborting.$Í *ë*~Í #z³ öÃE õíK~Í *ëÍ> íK!ÍK ñ· ͇ : OÍ­ *!#ë*++·íR0 *#"ë"!*~€"~É0,úÉ*%·íR8BKà *)ëÍ :,· gDMà ÍÊ Internal Error - Track out of Bounds.$Í ·ÈÍÊ Internal Error - READ Failed.$Í ·ÈÍÊ Internal Error - WRITE Failed.$Íë · öÉÍð æþÌð þÉ*0·íR0*ÍÊ Internal Error - Group # out of Range.$Í' "!ë"Ébk:-)= üë*+ͺ ë8ü ë*+å*8 ëáÉ*z"#*låáå~æ_#~³( :_#Í« ( ÷á å*#+"#|µ ÓÑ|µÈ:1·(+<ÉåÕÅ~æOæ¹8 #ð7ÁÑáÉ:1Wy(¾#Àx¾É}/o|/g#É·|g}oÉÍ× ÑÍç Çã~#·(_åÍô áóãÉ  Ãùõ  îÃÃÃÃÃÃÃÃR ÅÕõdÍ1  Í1 Æ0Í ñÑÁÉ�Ú; Ã3 €_y·ÂH ²ÊH {ÉyÆ0Í {ÉõÅÕå'Í{ èÍ{ dÍ{  Í{ }Æ0Í áÑÁñÉ}“o|šgÚŠ Ã} }ƒo|Šgy·Â— °ÀyÆ0à õ|ͪ }ͪ ñÉõõ͹ ñ͹ ñÉæþ ÚÅ Æ7à Æ0à ÕÅõ Íç >.Í Íç y·Äù ñÁÑÉæþ Äõ Âç É Ã > Í Âù ÉõÅÕå_ÍáÑÁñÉå!" áÉõÅåO* yO}o|gÒ: |îg}î!oÂ& " áÁñÉõ¯Í Í * ñÉThis is release 'A' of the new RESTORE library. I switched to letters instead of numbers because there are now two versions of RESTORE. The updated version of the utility previously called 'RESTORE', of which 1.2 was the last update number, is now called 'FRESTORE' Version 1.3. The utility now called 'RESTORE', released as Version 1A in this library, is a significant modification of the previous RESTORE utility. If this seems confusing, you're right--it is. See the .DOC file for information that should help straighten things out. Files included in this library are as follows: READTHIS.NOW You are. RESTORE.DZC Crunched documentation file. I strongly suggest that you read through this before using these utilities, even if you are familiar with previous versions of the RESTORE utility. FRESTORI.COM 8080- and Z80-compatible versions of the fully-relocating FRESTORZ.COM version of the utility. RESTOREI.COM 8080- and Z80-compatible versions of the minimum-data-movement RESTOREZ.COM version of the utility. RESTORE.CRC CRCs for the members of the library. COMPARE.VZR Crunched information comparing the various versions. CPMPLUS.NOT A promise to users of CP/M 3.0 of wonders to come. RESTOREA.FOR A 'FOR' file to use when you upload this to the next guy. As always, I am eager to hear about bugs, usage problems, or suggested improvements to these utilities. Steve Dirickson 7 June 87 Seattle's 'downspout': 206-325-1325 ZNode Central: 415-948-6656 Voice: 206-697-1270  Filename.Typ Size Recs CRC Comment COMPARE .VZR 4K 25 8566 CRC after uncrunching = 455C CPMPLUS .NOT 4K 5 B89E FRESTORI.COM 4K 26 8119 FRESTORZ.COM 4K 25 80B7 READTHIS.NOW 4K 12 8F28 RESTORE .DZC 12K 91 1561 CRC after uncrunching = 428F RESTOREA.FOR 4K 4 9736 RESTOREI.COM 8K 35 5CC7 RESTOREZ.COM 8K 34 55B3 vþRESTORE.DOC# )JeB|\D'�ÄÑÞc:›L¦ã¡„èi7›„cyÈ@FÁ Ђ(¸†O&ƒARÒÔär‹c)Èç7ÇB –‡"᜴@� Ðdóøxă-–”Í&sq¤Ìi1˜b⢺g2œãÇ#y´@t4D ™Ú6u²�§¨à€Ã3–šMÆJÜdÊd�7“™Òpi9šì¢�P¤A}µ[Ã)šjm½ï¢ê˜(œoÄå#9Km¼Þg9m6ó-Äßs6a«†Ì¾›Cň Æó¼·m¸ AhR‰ùS+©Õëw»úù‡o‚nˆ¹#ŸÐpËâv›Ó)Ü]?)›ÅœI5Œ3ëéÄS�“d–Ýg3±¼ÍÔâÓ¨Ã'ˆ y&HVµ´nkVÕ�bBÄ´bSQ$ G�ÀeÓX Æç€'~Þ‡XtÂŽeFѽˆd‘Ø-ÆùFÀeñÁEÞeuƒ‰XE¶LØ„�}á!¤lGAå-ZÚh®-†#¶]îÖÙQ5~X‘º¡'™:†9lKRY}tBÕwGGy0l^FÁÎ&–ÕÍ‚y¡A�²A¸'MF¥ÌtKcqŒl^–Ñ„ GUttEÁ‹}ä�ˆ^¥×Ô œÖ¸‰ÆKSwÙxÃO*älgÒà(DY1Èi¤p:h #u^ÊBK“dõ¹gs™I5FÖ¥uYWö1I$X`r�Y¹™maiq”-jÛ!Á}Þ×F:W+´vâ{Ý€*¿G4éWtä!”aXé1m^!ËLk§"k2¾F‹TV¥†òèDŸ%ª&–©$Ði›¥¨i Yoé¦ðµ°˜i †Wˆ'‘¢Zànâý‹Àd(r€_¤äÊ.¨VÄw6Œ–X}áhF-¼Óºö³¯Ä1@/BÚÏ’F)b;N$œ¦œX�”mYdtÎûeñ¡»À3‘ÝaMhçAÒ`Â,6ê}îÑÀs ‚ �Ép„èz¿_¥vvºd•ãs{#v$rW×NÞŒ1ÐsÖ˜‘´'YD!$Oãõùì“îG † D·á! º6‰»ëøއÁ†À>mƒéž`ÐKy’€8èúÅ„r|øþÊÞx:ë‰Öw¿�eG6mÒ‹GUb‰ãã]|aX߈½•À¶Iú[*†¸i)ràê7®? ‘0?w-ÈYÍ·Z†®{ -ÎÐêXØp_%´48–‰ã~l5®SJMCœLì!é†ìR`ajeµÖ5øhËa!}¡Ìȳ€î Laa´ö·Èú© -�¸85Øò²a]�—”lËObÚ#&$2#÷ë žKsuKYµ†bfƒ‹ËœC…hœ“XZß*_bµ€0‚$D×!d\æÝä7(rYVq/æï2NC,&l`9–@GX�u"É�â™T>"ºüae'E¶^ü aø q„4Æ49ËÌp@ÌqÕÃCíÛ@ô‹CøZo¹ÜO¦H:DÀ c:ã,±:(3ß&LÙ†OK}><%~ã^s’k�íÇ„Ë Ë`�¡Ò-©¶¬–¢1–00�~Ju:�ÚyC% ¶‚xžöQìEï}�²3Na”t„‹RyQ*äðE^;qp‘¡œ¾†àžJ›„$áåJ¹Ü�É ñ'mÕ„’æy›Dž@éiÍ€Ï6Œ!˜-¬™†H'†"ÇšK²ÒÿÒª,fll¶ÐàÈ æ#ëW岇Ÿ…A C¡¬ lÖ@9¢~ÔT_”U�°„V]Om%H(˜®ÏD Jék»Em�¸é,eãñ¼šš.#s˜�âŠ[ n ÷žŠâ|�„�G¹Êˆ‘qm©h`¯SˆQÖµ;˜FÊ)¢bµ̬WȲÒú›Q¤ªÖ}§š­&U̾S:ó-UŠ`;ºfØ¢â(žp±’6Ž™I8©UسÁÂÓÃ2©¡ŠÂÇ\ì"‘ƒx âƒ*f,Ò2†ð°¶8å.šÙiHÁÀŽPYBk*7+Åà4úÒä(¹„¡šÍ˜»O‰g$V¢”ZͲ¶™>JÄ;J—ËB7œ"#l¨ "«Ì!Š6 ³K`s‚çLÉÜÒ@a—Âú#S¦à6cyGè tHdØ"… ³ çGAÞzÐ&Èãì d¯êq3½AèIƒ˜)I9Cë�C_½±ä2±8f›¥Lì•u]x×çƒOªnÁì>H¶·ð®‘u7k—Áˆ"ˆD€ «ŠQ¡ÈÚ#û¤äà‚Y,”Ü:†Â4v×dõI€„�^Õ û–‰jº4 ðÃ-PqŽÆ ái ÐC#‰ÁÇx¥CuܸÇM˹™2YÀcb¦Þp‘צÔÈ“ø–ë[79¬¤ýe£b•—u JJ²jÚ�KáŒÃ‹�}B #”¨7�"Ck¢â2fα–Hh`›Ý›°è˜³‘ƒHôѼ”-´ìÈ›ÊÀÞʱX+Ep¯6¡KÌZþ`uN—_Z,,½WïŽäda’t ê‚'–‹X×’r“y6¹„'ª‰”¡] †1ÑÜ›Ú=í•–»5¿ÑImlÀ¡Ý“¥žw¦B�~¸bg™2�ÈîË´6"1ìå–ew,Ü� –‚ˆKä(P9¬0 (ýŸÄ¬Ö%\¬˜¼kkj]¦UЧ[E)Ob8Á þ°"æb]JÁ4|vVCVŒ½iæ¢ÅIÕ>XúØîAŒL…õ3°Uõ͘BŽ|ïqnî7ôÙ¨É5–…ô¿—Ȥó­å"äà驽û^á¦èe}ÈêxiØB€&YÄŽö±×6ÿ `<=_-e‚ ÚÒÓüÆ.@ÔÐo M‚,«à�G±|RkŠA$i¬3w²iëœßç·�¾¯í1"$�Äëv¶Æw¶ûfOK•„2j»2º¸hÅÊþKd+ÊYÌ+qõüË‚ÖÍxžÃH{`®B�N !8#‚¡ ÍU[žMa@ßËè-;po½‡“^w[ñ/…—Lîó¶a½àC �$„ ˜u­ª_#I¹ÖE•ñÃC9-,!؉e%Fø‰Žà+,Š–¸þAe‹65�H0 3a¼v²åbM?„?#¥ƒ#Uµ`Q!;²�3•iq-f‰dt~uREñ)ždaƒL{€Y1„]¡î?£Ž6bBKGp"1ƒ5¾MÞ'¨)sÓ‡†1ÁËÀmq1B’„t²[`%1Cñ©Yw<-Á-�ÇÇIöF'WŽ‚ˆF˜¥¥D¦rò=VfSøáæ+€g€tñ? IpHHiNð?!W+ >²(¡(Qæ�È@�ò’]áÞ‡=²ýHÁ17Ä—ëAuhjPe!LB¦M9T@GC'#BOcÌu²QqÒBwp �Â�'¢M`⢈I#ˆ„ñ·!G<Òý+¢Î)f‘EÀr=7ÅyT½*rqÑ ¡JCyCUçB‚odü„aÕ�ˆÎ*†Œp�AÂ0F x^'U!Ðx"¼RNB"’!;°' 'bRÖÄT…yÖFc)`'(¾�- Rg"ö[æ|Rp¸„?5ûS�m…è¡?§š}3�Bw±zfrB"ƒ��áe‚ÅcrBÖG¤|Móx�¼�axjøE6OVvÖO‘æ! D€ll�eKD%†ÊR•'EdÔrSÒ€bà4!3.´½�xÉ<äÔ9É'å}.�ÓqÕŽ%ú*0'Ž!-”ÓÙA‘$4xé:BŽÓºˆq†Ñ:‡9_#©Mø�cQ4G` ~Ä’ 'TK•èÈD’ö"bN�†€'SžuUÅ9-¶X”Õš€ÙY@hó�R9�ræ•%W•óœ�ãƒcÿ/¨5°r Hö„§>$é��†Æi wÁ¾Xf™I“×?*éuj4v›—„³‚q“—Òg?)ˆbøS�'[ãbŽ8ÖŒ‚b!¹S$‰²¬*‘SQd>¹Mœæ–I#2C5m<öÜa²›ƒ qµ8¾=YMKA3zrÞT™€?1yAÅŠ“ÙÁmɾGUñr¸F8RœfG²ÜˆIÙ¹Á¯fç,#ô'QZ�‡@Á]eÙvœ sŒ‰xHä¬F‘5kT™¡¡‡0$"|œÜyX½MIÝX A/Ù@vÓI-aÉ<¸f")JF`.³›eÐs4XÄ]Cj:ø4B\£B#rB¡’tG!Ñ0¤R‚áÆt~"Ãî9ù6“ÛGB¥7‰ˆ¸Ô'F!È<Ú-�}G¹Bn‰->ò ªtPa:ñgóI�^XæOYWyXê'¥zdKÐU%£H0ˆr@Eáç` nÙk2zj}*"#IÙR3D|ã'˜Eü'„Ñ4UI�„e‚¿‹ànƒ’æ0A g7àN}ÐR–t螢ÎA¡!§h>œIª“åpJjds›ùlŸéõŒŠ³DYÉ¢ÑÝ'X�x¤*H§ô�ʤ­èØ“Æsª_àyl…Ð'r&ŸBhjÊEò‚OYR1¡ú¬0E¬ZÇj¿æ“Ðc!9ô0�©-�Þ®Ȫ‰èh•Ÿ@°ñ£3RfÀuU(Ò- hžC%*‰úñc#�@� B­ACpIÀL/µqŽJ fr@HEû®H¨>3…Xœ­±ìŸC«@d+"¿“ãkVCUQæ@U1æA@CƒºEñ�Wí>Z«Sf,RN§Ó‹±kG}A²ãQm6�¦€!g2—³PO|H~Æ’‰¢Òj ´ªá>ž æ L§×±AS u,˜=«�j’ä2“©!Õ©¹áâ2ÂÔ8ø–h«•Ô=Ò¸Rd¹&ê±ÎÖøCàs##ú½ÒH©¸Æ´Å§jòøËB»GÇ„)z^Ä\m¦ÉW¢×½„\—ல”£f·á¢C¦1Nà-‚#0-ò¡�=¹/+÷6‰²7�VFS#"éß§ëŽHD>�Á}~Ö{ÚÏc—®£ã®Ã¾:°²Á“KÒÐB\15Àr=µ°¾à 2AˆãÐUa–£Û$#fÃK>²ä>,%¿WŒÃiSœ@Ás#và > :·âÕÀBàa§Ÿ<_ > ;±y¤OJ°Æ¬a¤ÀyJXQ÷Y·ˆ·<�cÕyñE!Ñ“}ªkF t™¨z¥[hÖé³ß[àw¡úóÈ«(¢dc6¼ÄÜ;l•Éq†bä5FRêJL¢˜óIƒn™¬¨zœÊª XAJzÚ¸Š-ŸqàNB`¾ae²RÍLö²qfµA=Ð1'cU"Qsum²ã÷„BúYŽ™QøO“ä$ád“"±’["Ì‚gÓ˜4iÔk¨†fÍëÿÄ4\5Ý j·BñI4? ˰½ü™_d˜çaT„A—….cÓ©‰W63|Ž$%"Èõ³�#’ZI�2º²ˆ‰F3Ì%§4t,§Cy½© C3`Ìéy¡3�4ÄLlù¿}) ‹*¾é8·{§¡Á‚ þ¯¦êÑ'¨­2²š Jq3[[K¹|7yeû„‰:kI°t_;óí@OR5Ls²œÌ©¼!T�r¸‘`–Ýq½åxqÔI÷àAÏ�L¢°Z릹ý"po‰CÊìI0<öÁc6º½uºÛ˜!‚�'§Ìh¸L€úósXÑSî  0»€´û´zQ4OS€òØ–y,\PPY¶¨dr¹‘mf: i`-•ÐÙ %Ù"w·…ûWëh×"B¦0Nja|t¢ ‘.dˆ¶Š?0�p‹*0Ú²˜îŒ X¢ÕLEÊ0‹Epñ?ˆRÈÕM! Nœ¸xžu=4ÈÀ´ •7'²gÜU¨Ö">0-×µ€?…¹¦½#\¢×�Á·Ñ?Ùš«’Ö9â� ­� -×[ɉÞr r¡§BYÕ0Fø²iÁ}±lÈ‘vA^Ó-åGfø+ ꗡϘüþ—œ›Jskq™Ru“ðL„ÒJRZÀfn¥Ãìáˆ1¯ß"þ#Âijžua~G!8x1�·êÒâCk=Âd\d'ÇF;I�eî(¢qflóf‹÷##‰@o8“ø0€Z! ‚YRP.W h±8Ä´¢Ò«ÇÁñ�* E{Tçª×ª »I0K,E½÷b/$ æÎnј•¯[,Þ5ð§ÍSÕZ=£ÖM R5Ã\Ô9Ç’¥8÷—JC*âgâdÏnnÓQÎ"7z¹M·žD�ê�;¤zT´@=TÇ2¢HØh’%Õ9‹èN{†H¢F›·ô#q:0d=òZžÓ”òqxÐÎÁ ™£A+0SQq-ê"’jÚŒ\wòØ5z¾\!]K4ÓO£R5NðÐc{\#=Ÿ³e3x0°nr Eð“j䌟æ–`D²p gá=>Ü�ÂîÒÕ S#•›-ñï PTT%›¿ G_*PDÕÑdà ñãCH®¢å£+DA{gò¤u7�¬Æ‹3Lw7•6²›,™ñlè6Âwd1ƒSÔÆb[iäOeGŠq)®æî°ßMšžu[!ÎplÚÁ/q`Ïo ð¢%öZÎ2ƒˆ¡$„âxç~ù„±ò�oJ98µš>à›ÓD4É$6·àPw{;±Œ8Ð6²Ð’7a3»YÑk0€8 ÿ €5ïƒQªw¦ 1š ³0I‘+:C_° MBg‹;°Zú§ìiú¯‘úÁ90€(³0ZûM–qÕü�·˜ÓûÀ0§/G+ó Yß P%)ÃÐu�9Ê»JÏ×P1ý©¦‹-ñ¤ý)RcŸ!Z²° n±"¸¶²…cÁæ5^8�¨,°oõhÒûw å+”ÈÈÖ4—‘!n)á[daz@Î?õ³¸ÞÕ+)M×%ÖE''4Ú™Rn�,¸•ó¹MÏÝ2ë!¢Û¯BXËd/œÙ’B�"½„eï—”A’� ‡ä£‹.ùMË\˜C@IaÖÖÚ åÝrkZ$Iû€Cð4;Óxµ¾S}ƒ_å$^ìPN` ;„êÒ4KêbµŒ Fà�Ú`ð 1 0ý"ù¥9–¥*¢{lŒ�r¹1¢ o!ƒâ¡‡r{²ÙM!Î(frxÒ%‚uÕpmÔFáû’xÝ„Ahñ•@Rü¤²eÌ×úêÞìf…Ãn§x›5Q¬.»ý==ÝŸÊšCðZ4°R»k$ø„×Åìß—_wlÖr8!ñzãÓÅAvb§[SFAɇåjݵ.«7ËQ²ëy׬ é"Xf«¯C �lÚq3î¤5¯?�«/FÈÓôÝľ¢ô2 'VÕ·Uü“­”„åø!˜åS’›-7Ìb�èWÜ�S0I'óÀD¡vG‚Œ²$yÇh ~žŽ#2ß“ârŽja)M!ÿ†¾QÉÞ|ÑL›s§Ìª‘íL{.o«/1‚�ƒ{¨ V1eÒÜ¿¡ë÷4Ýs{½]:Ý«³V£‰&ÒuµI„è¯ô;Œ)§ï�ãjkpøaƒnÑ!wu×Ë‚Ò׫›zÇ”T?@T–÷–|)ç‹úöõ¾ÀâÖ÷'ŪƒÔ\´\�‹$æ¤T„/ƒ(X%ð|%¨Nv"ï‚Сm�OˆøÑ¿KÐPžáñÛŒ¢�^phE )aãvC¬á¹ó98éMÂa?Rù*ä10í=’o{^(à ÁÑÊ�exr"›)¾à-7ÑgÏó"ä�ïž YZeZq¨œˆâÃÈum>'¡�꽜s•HwÂã# o¥ý>ðb¯"(7œÝ´[e&±¤#ruŽ÷ÝÓ·y/Ûbøj¢Ð=Ä@E¬‹[µÐHTP¶–’ÏT¿$Pª°Q‘(Ø«7_£0dËŠ´2èA“8 qð(ìl™Á0EµÝÛÃÔû‹sb�-°UóX ª®ÕB®>¢Ã“b3Px|Fªl†÷ HcÀÒ�Pañ<^Ö!Óê7Ë€-îµR|É�Œ€(@DAæ DÓ=€E°­Tí¡/£ê,96¼Šy£˜\«�¤mþë3¨à²D#šØ7YÁ;¯=¯ð{�>[§T@-$,”Òòœƒ,aÔê1ôÔ�Mó&;±¾ã<‚&Õ3ˆOÒ³”ßéì,FN±] ––È“4ÿ¥·�ì8؈\ÂVBuÀ'}ÿ` ©i-1ÕþuÃòÇŒ†/„ÉÁ«¤¢×Có©=žÙ®â°@ú0ºâ »,‘F ‘c´œ¯X<¶?�†`rßPõÏâa3f›TÓ¬y"l–J̘÷rÄÌ#üù@†§±>Í�†��¤Âƒ(¸­‚Í„»BBq©Á}ÏEȧ¤QØò4ÍßwEͽ³�œM‡ã󕎽²Nns»¿‘^×éÁ=4Doš!Öâæ_³Wøê£ÿdr¹%Œ1ÅLàîÌ*_¾ƒEÍËy8›ÿ"o1õÐJÉÒìfG‡„ÿ|ß Ë5$HÍÐÍìØØõâ{`Ïb9› /�ƒÚßÃ5Ä\mаY—&jKI ZPX–pX0UÃN¿QJ±ù‡¾°RTò=úùÊ«U5mÁ5‚xœ¢€Žì>=fP3:25K[ªh²® åÊEÊMZÖ NÜSŸÞÔd¢)·¥Û”?^ú#”Ø@M,€oYsÅ—“6‹EcÁc²c-rÐäåoÀ¶ç�ËQÊã6ùÒ®“yLŒƒÆ1wfQ>æXRü»wQðÕ:Ò N–Óò}œû=¬$ÏóEÁ¾Æ”ÏüW÷2@(Y Ä�ÕËÐÓ‰8·�Gô§[õí Þ¨ûmbwý®ÐWFÄÉ$$¥d¡µ‡»®æQ¼•yàÑÿ801Cè™ÅÐæNH± ÿ9zŽ ¼¼ãÝŸ®ù»¼ÐC鯤‘ÚJ6ç4UþÜ€3w-pTŽˆ LG HðUÀD‡E¶êÈ!Ö0EHqðNÐZ_àO•à ž!—ãÃñCÄG¼4¥a`P°·¼àsLü Bæà!œ¨Ø›qÃÉ"M5ÈôdYwûŽiÁPí"Ðbœ£ÆBwqì;äŒ[‘ dRZÛ/TiþÓnöü¨öPü‰�Z Á‹÷æ1iYÙÿ¢È÷˜6¸Tv‰Á"±¦më#»/†=n‘fþ$zRZ¤iÖØ³Ù#öG�é¸3mO55Õž26Q(E¥¡²S®NŠ“`òbæ–8%`5Ú4¬‘h/ÔùœmåWâ剚Rdn Õžj„s’�æ1Çæ`t÷ÐSUL�F ƒ­úÝós kéc“œ¥pQ O7)ÁÔDj*ˆfb¬tU¶Öç˜Ûºœ‹´¼´–wÒQy¨R;ÿA¤6fÍdQ$ÒO´‰ÿztj&$mNqêq'yÔÊ$¢Þy쮄�—Ù*3Ž”ÛmD)‡BéÀÃÊæ××§Z3êq'šÕc]s„ ±¾}•𥻊‰=”Èȳ1ÖnÚ¢Û�ñ1*>ß‘`¼±�. Þò�ñ¢/ÍbrCíé«Å6E2y/ß #Q j¨ÓÀ‚uÒ¹â‘WUÑé™y (hÚ>NÂA ÿ9D°_ˆ«¾ó¡gjHuéH¬!nì©Xm–”§¥cª®(­ÁÎÑúàh ¢ÓüWù•k’�j& ÁœËT²ÎA¢Ïg6Ýá“/ m¸Èù�š`Õ/òDš0Gj8w‚Ž'Œ‹¤:ÆâæSUÃÉ31(u@tæIÊĬ`I¬ƒ»«ðP“/ n"L� —@eN`±sŒ&±!8±K0ÇØžKÕê8¦§Oʘ8û€@»”órxg3�Ò�ºMd+ü$ØaéÖš.Fn!ƒd³ÀÕÀÝ’Õôù^�¾)Áðƒ$lŠD§éme&d³'ëîS“Pd‘Ý–É\íQí¿¶�“LEh¼Ü"Ø„-óP#ÒA¿1FRsÀ¥ÂiÕ¾PXÝn)+›õ¯Éüò<¥2ÛW  ÌÀ à®ç‘Þzt�ˆÞ BD¶ÕÛyž>?hQ+ ÖâgÀ d¼ëÕÀk µ;Uµ03bP�ÞÚ;_–{E¶6à¶»÷CÒ¶ø ŸÌˆ…Ïûþi-Y…”‘0Ck/+¦øæ!ÊeeàD"íi‰«—!1æ®$îÑ›pʦÑ‘BBÝÒ)M"×ÑÕ˜YI–Ìtf|tس{0 ÑŒ?ϘW‚e,@óÌ݃-Õ–´nˆbq�Å[Ôà 8BÕ’N‡ ¸G¸{§¼4ª`S—ôŸD¢«½YÔÎ@µ-ØDk¼oÕ’:.áyÓãé‹)²Zª´×¦µ 6 WP†²«iØYIx‡7Ɔ¿;  D¾•(a–åçÑPZ‰và 1‘Q¬PVýs›$|a0A‘ê.†f^bbëZ6Ñ›pÆVæ‰~OtnQ‘f5¡lÉ-TÁbÎ^oýY´WŽ<ÍÈ8òë@i7ÖBÂA쬮¹ý@dÕI�I¦æ–­÷Ö�6’"hѧ6¼ã{�<`9ÿ›…a~.&’¸³ŽðÂH·$2-!L®mq4\ž˜SNd½þü½ -k3eÖCðb�Âà�ò[“Ù£dñ¶ˆYO}Ú\{3˜Ì¢2¿ƒhå¸B•ü®‚J"›#vsí1flõöˆ„á›AxËÏßOéƒÙ=wò¿.çË9üâPwÉ|¤NÓù‘&¡C &5Ù$ ‚A1F!›L8ó…„ÑFs TU"Ô tV媂³1Ö#¢îûnØrÚhÚI#äéôœšN܉ÔBB¸¼d-i“8YƒSÄ¥÷•öiþa8Q¼´™ƒL«3fÚ¢|:�ê}ˆòg<ýQ�§óe»aÓ7?—âäcØ Eà2*1¢Ýñà�äÍS…0Î-�M¼ŸHç>Þ9,.³Þi”ÝÐoSv4Go—ͧ,¼öˆxKhÐöç…ª2æf)Ëݹ­ïÔ‘Û(Òg&UýíFL"[ƒVÐL¥À!ô�`Óbu…“…T¿!!¤¤³ïû1e2œL’B{Q„§ÒæØ²Ïu1ˆ�3Ò¤§5»JKI÷T¿0dêÞ´9)ËÝÙtÿn}ßÃØ­D™<ß‘X´²ë™˜¸4(ÿ∰-æu2"cèÕ6M®ªÖ8óÀ…�Œ=ÿÛò£$/ŽXf*1x) ‹#³°nQŒsÏû#]û½ÒÑ¸Ý vàCÔž!Eë¿*Ù_ç1¼�¨üÕ.ÝIc3€0GÝÖe7ÄǧÏÚà½q`¸Žäõp±ˆ4þ�uÓ2.¿mZ¶È"Ö…“…Åà8¨f„1f·uú½!'U?™BòºfEÛ¶9Ƕ„ˆAÔÎ3�€ˆCÜͤEöDg.�QŸöÙÇ¡9ÉôÛBæè<¹M26>�y�Ά³1ÖÅóº|$Õâ•Czâ_ºäâCsUþ`G'ã_£äAQžL�¹¨:-„âxrÇñOѳëx¬†£ª¡fMšJíÚªnZé-#èI—#µôß}#ǧ–q1‹‘5뎔« ,‘¬-a—¼JÿO]·“ܨDý+9MŸ»—�¬I�ìšD纴“AIÁ5Q¬.µÐÏ�ªjL÷•9Á,(—(%׊դP)Ê<É#”ÝÙ¬_1ãÔQ†¸Q•¯ûç7ûzmà…š59ÈV×ÙC¢á²OäP™ELÜ")cs#BtZy1ì‰vGbÂTÊjêÎ'Œ�2˜~áR϶ÎÙð¨9´ÁëbæÅ!õ<ÖÞ—“kpk—×ä'Q j¤ÍÄá1æŸMÕ8cèó“⎩f™ì`—Üe‘º€D¤,"€ÐŒ‰¯ú®‘ºâÕ­0OÞvñ§.ÇâƒyMïÜ ÏÔO·p-A'ÍŽœ€ÿ¹|ÒÌ¡C8h["Þ ÃØ¯_Uu·«6Ov�r‹6:;¤l6 .ó9MÜaß¹@M%,�°±³g§˜s63)ª±EDPŽÊ<gÆ�6³0¹Ö8—dt’‹) ˆ?‰±yÃÏ�|@øöN·ýLƒ¤uxa9D°V0A0aÇ's„ <õ8ÓΖ ‚³aPžª<ëí%¡z/£ËxVó“rß)©Ö@ƒÐ6$µÃ¢Õ¾($]’�è7�s¯ì©LŒŽNËH1\ÏÞ?í r=©íY¸ MóÁ�òœ4MyV TÒ�Ø»A2ò°œ#œO¡øÛ@5ƒ¾›8éMýn&.¶<ØZLÅ\QezSU�(ØŠ/¹|Ö<ìI¶†i2l@ýµÂHyx¢vQòEÂ/‚þáí1A{°]ðñlRÆjÖäØK´þôwœô¢  ž]d¢‚îLItELÕã D5¯9Ép2Òq¨ù âõ�ya™êß½T�Õ@üýÍ©$m¸ÈÀ']C=WÑÔ3É£õ’N�xJE°]$¤á¼;è‚-÷þE)³UÙÁ’Þ@ÝŸHçî,LNÂKî:úÎøØ3a=K?Q3¾5Œû”JÅçæiÁ<öÜu~fû•æ´W;²Â‘Úz[µ%» _¶ËÞ‹d(£$AØó™”û5‹3iR£b€\Àž/)LŒŒ°«Á[/Šõ݈÷>' t† @D(œ‹yË2ž±ª£7}™=†r3¾ì>0'FJ̘÷{»iJzVþX{ÍÂ!­tö²s—ô׆w…2B,£úÐÍpˆ7”Òi!pã÷3ÎjwƼLœ!ƒ÷¨ÍH„PXL¸¡å‘Xe³0EÀð&Y®[…'�u$ȤAÓûø§>­5”Í„�Ì·i<¸‚e,L³ˆSQ²†f�œY?Y º¥6Œñ1:H­ùÁñ2_*6íO¦ Bae˜ø;=xÒMË€Bàuc�"#Tüz�×!‹G‡BóE"ôÓ@õ`uÐnr”ŽÅ˯uÓ°yÖ ø4´èRxÂ��£ú1÷b[`ij­Pè\’Û¯eù=�2C×ÿ+ö‘T—’7VWg.gše¤PS,ÀgM­#z!m<dÿ²~ÏVÙ³1Öɱ¨Úþi-º÷Ö8ørà-ÑÀI`Y{ÃJ¿FLŒ�£úö¯¢vÖ‚rBцZFàün§ís¸Åßu -R.! \ÇÒ25mÄ^°\Ðüñ?Ÿ½^|C6�±e˜ñ”Ö ºúžtÃUÃ`mñ j¥1œ4Ð8Ë|œL Ä3‹“Z ÄRÁï P²t‡ÃÞ2Ž¢T³1Ö)»ì([‰¾¡!Òš'œ¶Jõ_±Ñ'�ZÝË—y\0-œ2ŽÍØ»A$!¾—ðoK×Ý:ÃIÕþкA»¢Ã�A†'É—'[k$ô™!L®“[�C6!b_¡uB‰«R?­×VÏDQŸÝ!'ˆÔŸ$ 5Ù‰b5�Ønh)o =fg,kžTi’�„�—ƒæŒPY¯8ñ“˜5ñÑ*2›À!òó“/ ÐA±ÖeàC°US0…ÉaN—ãŠÀS`I@!Û¨B�yUð‚—8Ð+ûm~ÿkCù ™Æ.p¥mBªóSu] 'åÄ¥ë›LŒhÈDéscª¢Èb‰RñAa<)Mi^1%‹ð/�ƒ�g“æOQÕ¼Èå)·nbag,´‰¤øÐ!Eëz D¬Ó�{vÌ…%<ãU`”Œ�Ð-!DtŽQu?{�b5¬¤ `¾Ì!˜%Ñ9%Çù‰°'^¡·+’Æ#–"7=úuRW·…¾¾è¤�g1aßô«ÞgUZØD¤ ÙA3Ô�>Ñs\J*o”Òx=>„”Q§Ï,1ÿqe‘5[á5e™-Ì+Pd8 tDQ´i¤*á«/ˆ²aRYu65Â@¦¡£2Â|Å‚ÀÒÿÃ$™!bg"öT-œµ¤xiäôE‚�3@ûAÖ•'O�è–íT&�¼Ñ~T3:cSfxQV=×4 „^2ÏÖÈ„hð…Û8X˜ÈÍ™i›:`mu’CH`ÖȈ™È™<ß¹%0±58—(,‰Áß¹|ÚÓS P¬@ShΔé›´Êì¶Ñs\3ß™Á²Bw}Ñ©ó8eÆF¡ç Ae˜õ¢€ 'ñ]KÑ-1‰S“C+…,'€n—Àp £Ó̰9€7Ð21@5IaR«wP(×>àWÐP(sYÑ?{�?�8"@0Ð9p2a mz&q>¨6Ð6a -2p0ð93 B Sï DA—‰°'|}kA*Eq>é -02YYþ 50€ZqQm9x>@1�À9!p-`6P6Ð jORelease A of the disk restoration utility library adds a new version of RESTORE that does much less disk reading and writing. Plus, the original, fully-relocating version has been upgraded to handle the directory of almost any size disk, and a sorted directory is no longer mandatory before restoring the disk. Both versions may be patched to automatically reset the drive to log in the new directory if running under ZRDOS 1.5 or later, and user patching is easier. à Disk Restoration Utility, Version 1A$==USER PATCHES==Wait for User to Start?(0=NO)->ÿUse Linefeed on Output?(0=NO)->Reset Drive when done? (0=NO)->ÿ!ëÍ5:_2\·ÊóÍ# Change disks now if desired. Press any key to continue.ÍI*iAù"s*Q~# x±Â :Ÿ2~:·Ê'> 2ÂÍ2\OÍQ|µÊ^#V#ë"!~#fo#~# x±ÂN*(ëÍ… "ë"**#ÍÍ"y:%G!€)Âz"2"ë*s"o.:,͆ :-͆ }2}:)·>Ê©2~*oë*}“o|šg}æàoå"uÍÂÃ"i*oå6å#ëáÁ ~# x±ÂØÍ# Restoring Disk :\ÆA_ÍD!"g"*sù¯!] w#ÂÍÞÍ5 :]·Ì± *{"w*o""¯24:~GåþÊZN#~#±ÊgÍžÂHÃg~#·ÊgÍžÂZá:4þÚ©=_ÕÍ�Íö ¬:)·Ê…+ÑÕÂsÑéN#:)·Ê›F#ÉÉå!44*^#"^áÉÑ:]·Â¾*`#"`ÃÍ# Í#Relocating File :\ÆA_ÍD*å~þ Òòõ0ÍDñͬ:ÍDáåëÍ] ÍDá~++ngÍ2Í- Êß:4_ÕÍ�Ñ·Â@:]·Â©*d#"d*b"bé"6>ÿ2d:]·ÊV*`+"`*Í�"Å+:)·Êi+ë*6#"6+ës:)·Ê}#rëãë*b#"b:]·Ê”ÍD ͆ Ñ:]·Ê¢ÍD ÍŠ !45ÂV:do:]¥Ê¿Íö :`æÌ5 Í- Ê߯2d*w+|µÊ4"w* Ã0Í# Disk Restoration aborted - *`åÍåÍ# entrá+|µÂ Í#yÃ'Í#iesÍ# left.Ã!]~4·ÂËÍ# Statistics for this disk are as follows: Total number of active Directory Entries - *{ÍåÍ# of **#ÍåÍ# Total Groups allocated - *^ÍåÍ# of *(#:}_}“o|šgÍåÍ# Directory Entries requiring relocation - *`ÍåÍ# Group Moves required - *bÍå*`|µÊØ>·Ê§Í# Press 'y' to restore disk, any other key to abort:ÍI:œæþÂÍ# Press Control-C to abort. Ã*d|µÊØë*gë"g}“o|šgõÕÍ–áÍåÍ# directory entr*d+|µÊÍ#ies ÃÍ#y ñõÂ&Í#still Í#cannot be relocated. ñÊiÍ#Another pass will be required.à Í# Use the fully-relocating version FRESTORE to collect the free allocation groups into a continuous block.:f·Ê™Í# Disk restoration completed.Í# Verifying Directory*u"*o" Í åÍÞÍ Ñ}“o|šgÊ}ÍCRC verify error on directory write. I hope you have a backup!$>·Ê™:\O! Ê“)Ëë%ÍÇ;:925 o g}“o|šgÒÀ!55¦¯É| }  o gå| }· ÍÒ>ÿáÉ*y"*o"q!"{"*0"!€"!å¯Í1 á~þå  ÃC Å ë*që~# x±Â ë"qëÁå*{#"{ë*i}“o|šgáÚ‰  *+"|µÂù*{T]ÍÍ"kå))ë}“o|šg)))))}2 GÑ*y}“o|šgx·Ê… +"mÉÍNot enough memory to read directory.$Í# Free Allocation group table: # of Starting Groups Group ;:9GogÍ2ÕÅÍ# ÁÑogÍ2Í– É:}O¯G292:!79åÕÍ­ Ñ|µáÊZ ¯2:Õ ::·Âˆ :9þsʨ <29####yx>2:w#¯w+Õ Å~O#~Gxw+ywÁÕÅÑå*(}“o|šgáÑÒG :9o&"¹ · ÃÒ;à ÅÕå>28~O#~GÅogÑ}“o|šgÂò !85Êò áÑÕå##ÃË áÑÁÉ*0"!"*o"!*k">2e2f*|µÊ6 +":e=Â0 !€"!<Í1 à !e5ÈÍo : ·Êf O!€åë*!~# x±ÂP á"!>Í1 Ío *m"à !€6åå#ëá~# x±Â{ ɯÞ *s" *"*">2c2 ¯2:&<2*s"!:cÍ1 !5µ ! ¯¶È5Êë Í " * "!*"*"¯2cè Í ë* }“o|šgÈÍCRC verify error - Aborting.$Í*ë* ~Í#z³Â# Ã8õ*!DMÍZ*ëÍ’ *DMÍ£ ñ·ÂT Íà Ã[ :OÍ *#ë*#+}“o|šgÒw *#"ë"*!€"!ÉÒ� ,ˆ É*}“o|šgÚ· BKÃT*ëÍf:$·Â² gDMÃWÍInternal Error - Track out of Bounds.$Í]·ÈÍInternal Error - READ Failed.$Í`·ÈÍInternal Error - WRITE Failed.$Í:·Â7 öÉÍ?æþÌ?þÉ*(}“o|šgÒz ÍInternal error - Group # out of Range.$Í… "ë"Ébk:%)=Š ë*#ÍëÚš ë*#å*0 ëáÉ*{"*oåáå~æ_#~³ÊÖ :~_#Íö Êè ÂË á å*+"|µÂ· Ñ|µÈ:)·Êô +<É:)Wyʾ#Àx¾É}/o|/g#É·|g}oÉÍ# ÑÍ5Çã~#·Ê3_åÍDáÃ$ãÉ Ã< ÃÃ<Ã< šÃ<ÃÃÃÃÃÃÃÃEÕÅåë"¶¸ ÍÉá"À*º}…o|ŒgÚ¯ë*À}ƒo|ŠgÚ¯"¸*¶ë!¸ ÍÉÁÑ*¸>ÿ·ÉÁÑ*À¯ÉåÕÅõë¸ ÍÉ*º"ÄDMx·ÂòyþÚ:·Ê*¸ë*Àx±Ê s#r#å*¼ëáÃ*Ä"Æ·*Æ|g}o´Êy"Æ"Ì*Ì#"Ìë*Ä}“|šÚ*Ì"È*Æë*È}“o|šg"ÈÚ.|µÊ.ë*Æ"ÊÍ�Ú.*Èë*ÊÍÃF:·Ê*º"È*À"Î*¸"Ð*ÈDM*Îë*н©¼ÊË y°ÂžÍ# SORT Pointer ErrorÃ*Î~#~*¼DM*Ðë*Î~#foëÅNëqëÁ# x±Âæ*¼ë*Ð"Ð*Î##"Î*È+"È|µÂ’ñÁÑáÉ:·ÂfÍ;å*¼DMáÅNwy#Á x±Â+ÉåÍN"LÑÍNë*LëÉ*¼DM!z³Ê` ÃVë*¸Éå*ÀDMá+) ë+) Nëq#NëqÉ:·ŽÍ;æå*ÀDMá+) ë+) ëN#Fë^#V`iå*¾ãÉÅÕõdÍÄ ÍÄÆ0Í£ñÑÁÉ�ÚÎ ÃÆ€_y·ÂÛ²ÊÛ{ÉyÆ0Í£{ÉõÅÕå'ÍèÍdÍ Í}Æ0Í£áÑÁñÉ}“o|šgÚ Ã}ƒo|Šgy·Â*°ÀyÆ0ãõ|Í=}Í=ñÉõõÍLñÍLñÉæþ ÚXÆ7ãÆ0ãÕÅõ Íz>.Í£Ízy·ÄŒñÁÑÉæþ ĈÂzÉ Ã£> Í£ ÂŒÉõ> Í£> Í£ñÉõÅÕå_ÍáÑÁñÉÍÉÅH ë ëÁÉÍÒÅ ë ëÁÉÅHÍÒÁÉõÅÕå|ºÚòÂã}»Úò~# x±ÂãáÑÁñÉ ë ë~+ x±ÂøÃíå!"áÉõÅåO*yO}o|gÒ-|îg}î!oÂ"áÁñÉõ¯ÍÍ*ñÉà Disk Restoration Utility, Version 1A$==USER PATCHES==Wait for User to Start?(0=NO)->ÿUse Linefeed on Output?(0=NO)->Reset Drive when done? (0=NO)->ÿ!ëÍu :_2·(BÍe Change disks now if desired. Press any key to continue.͆ *¥ Aù"s*� í°:Ÿ2-:·(> 2�Í2\OÍ� |µÊ^#V#ë"!~#fo#í°*(ëÍÏ "ë"**#ÍP ÍP "y:%G!€)ý"2"ë*s"o.:,ÍÝ :-ÍÝ }2}:)·>(2~*í[o·íR}æàoå"uÍP û"i*oå6å#ëáÁ í°Íe Restoring Disk :\ÆA_Í‚ !"g"*sù¯!] w#üÍ…ÍÀ :]·Ì> *{"w*o""¯24:~Gåþ(N#~#±(Ínô ~#·(Ínöá:4þÚm=_ÕÍ`Í9 ,:)·(+ÑÕ ëÑÃmN#:)·(F#ÉÉå!44*^#"^áÉÑ:]· *`#"`ZÍe Íe Relocating File :\ÆA_Í‚ *å~þ 0õ0Í‚ ñÍè:Í‚ áåëÍ™ Í‚ á~++ngÍnÍ| Ê :4_ÕÍIÑ· :]· s*d#"d*b"bc"6>ÿ2  :]·(*`+"`*Í`"Å+:)·(+ë*6#"6+ës:)·(#rëãë*b#"b:]·(Í’ Íí Ñ:]·(Í’ Íð !45 ²:  o:]¥( Ír :`æÌÀ Í| (¯2  *w+|µ(`"w* à Íe Disk Restoration aborted - *`åÍ!Íe entrá+|µ Íe yÍe iesÍe left.ô!]~4·Â†Íe Statistics for this disk are as follows: Total number of active Directory Entries - *{Í!Íe of **#Í!Íe Total Groups allocated - *^Í!Íe of *(#:}_·íRÍ!Íe Directory Entries requiring relocation - *`Í!Íe Group Moves required - *bÍ!*`|µÊ‹>·(FÍe Press 'y' to restore disk, any other key to abort:͆ :HæþÂÍe Press Control-C to abort. Ãö*d|µÊ‹í[g"g·íRõÕÍÒáÍ!Íe directory entr*d+|µ( Íe ies Íe y ñõ Íe still Íe cannot be relocated. ñ(%Íe Another pass will be required.ÃèÍe Use the fully-relocating version FRESTORE to collect the free allocation groups into a continuous block.:f·ÊEÍe Disk restoration completed.Íe Verifying Directory*u"*o" Íy åÍ…Íy Ñ·íR(CÍX CRC verify error on directory write. I hope you have a backup!$>·(:\O! ()úë%ÍÇ;:925 o g·íR0 !55 í¯É| }  o gå| }9 Í>ÿáÉ*y"*o"q!"{"*0"!€"!å¯Í� á~þå  !Å í[qí°íSqÁå*{#"{ë*i·íRá8<Ò*+"|µ ¹*{T]ÍP ÍP "kå))ë·íR)))))}2 GÑ*y·íRx·(+"mÉÍX Not enough memory to read directory.$Íe Free Allocation group table: # of Starting Groups Group ;:9GogÍnÕÅÍe ÁÑogÍnÍÒØÉ:}O¯G292:!79åÕÍõ Ñ|µá(¯2:8::· %:9þk(:<29####yx>2:w#¯w+ Å~O#~Gxw+ywÁÕÅÑå*(·íRáÑ0¨:9o&"; 9 Ã;E ÅÕå>28~O#~GÅogÑ·íR !85( áÑÕå##ßáÑÁÉ*0"!"*o"!*k">2¡ 2f*|µ(+":¡ = !€"!<Í� ã!¡ 5ÈÍÞ : ·(O!€åë*!í°á"!>Í� ÍÞ *m"´!€6åå#ëáí°É¯*s" *"*">2Ÿ 2 ¯2:&<2*s"!:Ÿ Í� !5 ô! ¯¶È5(Íy " * "!*"*"¯2Ÿ ÀÍy ë* ·íRÈÍX CRC verify error - Aborting.$ÍA*ë* ~ÍL#z³ öÃtõíK!Í– *ëÍæ íKÍó ñ· Í/ :OÍU *#ë*#+·íR0 *#"ë"*!€"!É0,úÉ*·íR8BKÃ� *ëÍ¢ :$· gDMÓ ÍX Internal Error - Track out of Bounds.$Í™ ·ÈÍX Internal Error - READ Failed.$Íœ ·ÈÍX Internal Error - WRITE Failed.$Íy · öÉÍ~ æþÌ~ þÉ*(·íR0*ÍX Internal error - Group # out of Range.$ÍÏ "ë"Ébk:%)= üë*#ÍH ë8ü ë*#å*0 ëáÉ*{"*oåáå~æ_#~³( :~_#Í9 ( ÷á å*+"|µ ÓÑ|µÈ:)·(+<É:)Wy(¾#Àx¾É}/o|/g#É·|g}oÉÍe ÑÍu Çã~#·(_åÍ‚ áóãÉ  Ãùõ FîÃÃÃÃÃÃÃÃ�ÕÅåë"ò ô  Íá"ü *ö }…o|ŒgÚë ë*ü }ƒo|ŠgÚë "ô *ò ë!ô  ÍÁÑ*ô >ÿ·ÉÁÑ*ü ¯ÉåÕÅõëô  Í*ö "DMx·Â.yþÚQ:þ ·ÊP*ô ë*ü x±ÊP s#r#å*ø ëáÃ<*"·*|g}o´Êµ""*#"ë*}“|šÚV*"*ë*}“o|šg"Új|µÊjë*"ͽÚj*ë*ÍVÂ:þ ·ÊQ*ö "*ü " *ô " *DM* ë* ½Âå¼Ê y°ÂÚÍe SORT Pointer ErrorÃ* ~#~*ø DM* ë* ~#foëÅNëqëÁ# x±Â"*ø ë* " * ##" *+"|µÂÎñÁÑáÉ:þ ·Â¢Íwå*ø DMáÅNwy#Á x±ÂgÉåÍŠ"ˆÑÍŠë*ˆëÉ*ø DM!z³Êœ Ã’ë*ô Éå*ü DMá+) ë+) Nëq#NëqÉ:þ ·ÂÊÍwÃâå*ü DMá+) ë+) ëN#Fë^#V`iå*ú ãÉÅÕõdÍ ÍÆ0ÍßñÑÁÉ�Ú  À_y·Â²Ê{ÉyÆ0Íß{ÉõÅÕå'ÍJèÍJdÍJ ÍJ}Æ0ÍßáÑÁñÉ}“o|šgÚY ÃL}ƒo|Šgy·Âf°ÀyÆ0Ãßõ|Íy}ÍyñÉõõ͈ñ͈ñÉæþ Ú”Æ7Ã߯0ÃßÕÅõ Ͷ>.ÍßͶy·ÄÈñÁÑÉæþ ÄÄ¶É Ãß> Íß ÂÈÉõ> Íß> ÍßñÉõÅÕå_ÍáÑÁñÉÍÅH ë ëÁÉÍÅ ë ëÁÉÅHÍÁÉõÅÕå|ºÚ.Â}»Ú.~# x±ÂáÑÁñÉ ë ë~+ x±Â4Ã)å!"JáÉõÅåO*JyO}o|gÒi|îg}î!oÂU"JáÁñÉõ¯ÍLÍL*JñÉ