BROWSE.TXTPInteractive Testing Game Intended to be played by robots!ARCHINYM.LMPohrrpgce OHRRPGCE wip 20110621 BINSIZE.BIN"T "D4@~"ZATTACK.BIN Attack selfFreki learns this at level 10 @DEFPAL0.BIN DEFPAL1.BINDEFPAL2.BINDEFPAL3.BINDEFPAL4.BIN DEFPAL5.BINDEFPAL6.BINDEFPAL7.BIN&DEFPAL8.BIN !"#$%FIXBITS.BINLOOKUP1.BINw runalltests afterbattleinsteadofbattleucrashmaintestMENUITEM.BIN  menu number one This menu isto be called from another menublipMENUS.BIN Menu from menuOHRRPGCE.D00OHRRPGCE.D01OHRRPGCE.D02OHRRPGCE.D03OHRRPGCE.D04OHRRPGCE.DOX. OHRRPGCE.DT0Freki   d d  Wolfskills????????????????????????????????????????????????????????????????Helga  d d????????????????????????????????????????????????????????????????Olaf d d d????????????????????????????????????????????????????????????????Frumpy  d d????????????????????????????????????????????????????????????????Styrge  d d????????????????????????????????????????????????????????????????Kitt  d d????????????????????????????????????????????????????????????????OHRRPGCE.DT1x Mushboom d???????????????????????????????????????????????????????????????? Run Forcer d????????????????????????????????????????????????????????????????Victory Forcer ???????????????????????????????????????????????????????????????? Exit Forcer d????????????????????????????????????????????????????????????????OHRRPGCE.DT6SelfStab L.10 Wolf Force Run Force Vict Force ExitOHRRPGCE.E00+ OHRRPGCE.E01OHRRPGCE.E02OHRRPGCE.E03OHRRPGCE.E04 OHRRPGCE.EFSdOHRRPGCE.FNTD((D(P@x`**$BB$0HH0????>>__$.k*k:""0JMMR P>cAAc>>>>````0 >AAA>B@BaqQIOF!AIMO{18$"! 'GEEE}9<~KIIy0aq6III6OIIi?fff6cA$$$$$Ac6QY"IUM x||xIII6>cAAA"AAc>IIIA >cAQq2AA0pAA?wc@@@@@~  ~~ 0>AAA>?!1a^ 9oF&oMY{2?@@?0`0? ?cwwcxxaqYMGCAAA 0`AA  @@@@@@@@8|DDAA>-%)m?"IOA"U'U!!!A!AUIUA=====Q"TT"QH00@ >H00H~@"<@ @   @ H8 +ZhZ+pxt* 0x8 d:B#4(.Au*@*;{{;<>><>V)Q)V ZX@XZ `QOAOQ`7sAs76sAs6 >|> }}<$~~$$(~)Cr0Z<$$~}"}}8}GFD|88|DFG}88~EEE~8:}EFF}88}EDE}8"66"~bRJf><}CB|<<|BC}<<}AA}<=}@@}= rs $<eOz00yKJ8p@0xJK9p@0zII:p@2yIJ:q@0zJH:r@0xKK;p@(tT8|TX ^ҲT8}UV\8|TV]:}UU]9}TT]I{z@Hz{AJyyBJxzB`𕓖xzq zq0yKJHx00xHJKy00zIIIz02yIJJy00zJHJz0TT\~:.&?8yCB xx8x@B#yx8zAA!zx8zB@"zx}<$$<}=OHRRPGCE.FOR@~en_F_ng_OHRRPGCE.GEN  &@ c$ c<jROJ o' $^3L 7  `1 U -QH Z  OPo ?9 @X fB 6Z{ f/  XO 2vb %sM:|   7 8 I{ q e , BW& A P - . I OHRRPGCE.HSPLHSHamsterSpeakOaSCRIPTS.TXTwalkherotox 32767 2 0 0 walkherotoy 32766 2 0 0 walknpctox 32765 2 0 0 walknpctoy 32764 2 0 0 setnpcspeed 32763 2 0 4 swapbyname 32762 2 0 0 renamehero 32761 1 0 getherolevel 32760 1 0 autosave 32759 0 stringtoglobals 32758 3 0 0 0 globalstostring 32757 3 0 0 0 showstringat 32756 3 0 0 0 centerstringat 32755 3 0 160 100 hidestring 32754 1 0 stringstyle 32753 2 0 0 stringisvisible 32752 1 0 hsd:savestring 32751 1 0 hsd:restorestring 32750 2 0 0 lastascii 32749 0 inputstring 32748 6 0 40 0 1 -654321 -654321 currentdisplaytile 32747 2 0 0 getenemyname 32746 2 0 0 getenemystat 32745 2 0 0 setenemystat 32744 3 0 0 0 setenemyname 32743 2 0 0 getenemyappearance 32742 2 0 0 setenemyappearance 32741 3 0 0 0 setvictorymusic 32740 1 0 getvictorymusic 32739 0 getdeathscript 32738 0 getloadscript 32737 0 setloadscript 32736 1 0 setbattlewaitmode 32735 1 1 setcaterpillarmode 32734 1 1 setnohpleveluprestore 32733 1 1 setnompleveluprestore 32732 1 1 setinnnorevivemode 32731 1 1 setfullheroswapmode 32730 1 1 hidebattlereadymeter 32729 1 1 hidebattlehealthmeter 32728 1 1 setdebugkeysdisable 32727 1 1 setdeadheroesgainexperience 32726 1 1 getherostatcap 32725 1 0 setcappedherostat 32724 4 0 0 0 0 getdamagecap 32723 0 setdamagecap 32722 1 0 getinventorysize 32721 0 setinventorysize 32720 1 0 extendedscancodesenabled 32719 0 getlevelcap 32718 0 setlevelcap 32717 1 0 getmaptileset 32716 0 getambientmusic 32715 0 setambientmusic 32714 1 -1 allowminimap 32713 1 1 allowsaveanywhere 32712 1 1 cancelmapnamedisplay 32711 0 setmapedgemode 32710 2 0 0 getmapedgemode 32709 0 setharmtiledamage 32708 1 0 setharmtileflash 32707 1 0 getfootoffset 32706 0 setfootoffset 32705 1 0 getinsteadofbattlescript 32704 0 setinsteadofbattlescript 32703 1 0 geteachstepscript 32702 0 seteachstepscript 32701 1 0 getonkeypressscript 32700 0 setonkeypressscript 32699 1 0 drawnpcsaboveheroes 32698 1 1 daysofplay 32697 0 hoursofplay 32696 0 minutesofplay 32695 0 secondsofplay 32694 0 setdaysofplay 32693 1 0 sethoursofplay 32692 1 0 setminutesofplay 32691 1 0 setsecondsofplay 32690 1 0 firstmenuitem 32689 1 0 waitformenu 32688 1 0 getmenuboxstyle 32687 1 0 setmenuboxstyle 32686 2 0 0 getmenutextcolor 32685 1 0 setmenutextcolor 32684 2 0 0 getmenumaxrows 32683 1 0 setmenumaxrows 32682 2 0 0 getmenuoffsetx 32681 1 0 setmenuoffsetx 32680 2 0 0 getmenuoffsety 32679 1 0 setmenuoffsety 32678 2 0 0 getmenuanchorx 32677 1 0 setmenuanchorx 32676 2 0 0 getmenuanchory 32675 1 0 setmenuanchory 32674 2 0 0 getmenutextalign 32673 1 0 setmenutextalign 32672 2 0 0 getmenuminchars 32671 1 0 setmenuminchars 32670 2 0 0 getmenumaxchars 32669 1 0 setmenumaxchars 32668 2 0 0 getmenuborder 32667 1 0 setmenuborder 32666 2 0 0 getmenuonclosescript 32665 1 0 setmenuonclosescript 32664 2 0 0 getmenubit 32663 2 0 0 setmenubit 32662 3 0 0 1 setmenuitem 32661 7 0 0 0 0 0 0 0 setmenuitemtype 32660 2 0 0 getmenuitemtype 32659 1 0 setmenuitemsubtype 32658 2 0 0 getmenuitemsubtype 32657 1 0 setmenuitemtag 32656 3 0 0 1 getmenuitemtag 32655 2 0 1 setmenuitemsettag 32654 2 0 0 getmenuitemsettag 32653 1 0 setmenuitemtogtag 32652 2 0 0 getmenuitemtogtag 32651 1 0 getmenuitembit 32650 2 0 0 setmenuitembit 32649 3 0 0 1 setmenuitemextra 32648 3 0 0 0 getmenuitemextra 32647 2 0 0 loadenemysprite 32646 3 0 0 -1 replaceenemysprite 32645 4 0 0 0 -1 firstspritechild 32644 1 0 nextspritesibling 32643 1 0 firstcontainerchild 32642 1 0 nextcontainersibling 32641 1 0 firstrectchild 32640 1 0 nextrectsibling 32639 1 0 freeslicechildren 32638 1 0 realignslice 32637 5 0 0 0 -1 -1 centerslice 32636 1 0 setslicescreenx 32635 2 0 0 setslicescreeny 32634 2 0 0 putslicescreen 32633 3 0 0 0 setpadding 32632 2 0 0 runalltests 32631 0 w 32630 1 1 crash 32629 0 assertfailure 32628 0 onkeypressscript 32627 1 0 keyvaltests 32626 0 testwaitforkey 32625 2 0 0 testwaitforscancode 32624 1 0 suspendandwaittests 32623 0 hashallstringsexcept 32622 1 0 keyboardinputtests 32621 0 basiccontroltests 32620 0 menutests 32619 0 SCRIPTS.BINv* walkherotox walkherotoy walknpctox walknpctoy setnpcspeed swapbyname renamehero getherolevelautosavestringtoglobalsglobalstostring showstringatcenterstringat hidestring stringstylestringisvisiblehsd:savestringhsd:restorestring lastascii inputstringcurrentdisplaytile getenemyname getenemystat setenemystat setenemynamegetenemyappearancesetenemyappearancesetvictorymusicgetvictorymusicgetdeathscript getloadscript setloadscriptsetbattlewaitmodesetcaterpillarmodesetnohpleveluprestoresetnompleveluprestoresetinnnorevivemodesetfullheroswapmodehidebattlereadymeterhidebattlehealthmetersetdebugkeysdisablesetdeadheroesgainexperiencegetherostatcapsetcappedherostat getdamagecap setdamagecapgetinventorysizesetinventorysizeextendedscancodesenabled getlevelcap setlevelcap getmaptilesetgetambientmusicsetambientmusic allowminimapallowsaveanywherecancelmapnamedisplaysetmapedgemodegetmapedgemodesetharmtiledamagesetharmtileflash getfootoffset setfootoffsetgetinsteadofbattlescriptsetinsteadofbattlescriptgeteachstepscriptseteachstepscriptgetonkeypressscriptsetonkeypressscriptdrawnpcsaboveheroes daysofplay hoursofplay minutesofplay secondsofplay setdaysofplaysethoursofplaysetminutesofplaysetsecondsofplay firstmenuitem waitformenugetmenuboxstylesetmenuboxstylegetmenutextcolorsetmenutextcolorgetmenumaxrowssetmenumaxrowsgetmenuoffsetxsetmenuoffsetxgetmenuoffsetysetmenuoffsetygetmenuanchorxsetmenuanchorxgetmenuanchorysetmenuanchorygetmenutextalignsetmenutextaligngetmenumincharssetmenumincharsgetmenumaxcharssetmenumaxchars getmenuborder setmenubordergetmenuonclosescriptsetmenuonclosescript getmenubit setmenubit setmenuitemsetmenuitemtypegetmenuitemtypesetmenuitemsubtypegetmenuitemsubtypesetmenuitemtaggetmenuitemtagsetmenuitemsettaggetmenuitemsettagsetmenuitemtogtaggetmenuitemtogtaggetmenuitembitsetmenuitembitsetmenuitemextragetmenuitemextraloadenemyspritereplaceenemyspritefirstspritechildnextspritesiblingfirstcontainerchildnextcontainersiblingfirstrectchildnextrectsibling~freeslicechildren} realignslice| centerslice{setslicescreenxzsetslicescreenyyputslicescreenx setpaddingw runalltestsvwucrasht assertfailuresonkeypressscriptr keyvaltestsqtestwaitforkeyptestwaitforscancodeosuspendandwaittestsnhashallstringsexceptmkeyboardinputtestslbasiccontroltestsk menutestsCOMMANDS.BIN%2:BP_m| *6COZhx(<IXir{"6J_s '<HVbt 2 E W i u  * 7 E V d x   ) 6 B R a n |    - : G W g v  " 1 @ O [ j x !2BN[gt-:HUcs-;Qao~#4FO^jz$5GUaw ,9FR^eu 0DR_j~#7G[m{&=Uq4FVhv-E`y4M\n%6ER`o%5EUeu 8O`q#0AQat(6DRbr!/>K[iz % 9 M [ j | !!$!:!E!W!h!z!!!!!!!! ""#"1"F"U"e"u""""""""#0#Q#f#{########$$($?$T$k$$$$$$$$$%!%/%C%W%k%z%%%%noopwait waitforall waitforhero waitfornpc suspendnpcs suspendplayer resumenpcs resumeplayer waitforkeywalkhero showtextboxchecktagsettagusedoorfightformationgetitem deleteitemleadergetmoney losemoneypaymoneyunequip forceequip setheroframe setnpcframesuspendoverlayplaysongstopsongkeyvalrankincaterpillar showbackdropshowmapdismountvehicleusenpcuseshopcamerafollowsherocamerafollowsnpc pancamera focuscamera waitforcameraheroxheroynpcxnpcysuspendobstructionresumeobstructionsuspendherowallssuspendnpcwallsresumeherowallswalknpcsetherodirectionsetnpcdirectiongetdefaultweaponsetdefaultweaponsuspendcatapillarresumecatapillarwaitfortextbox equipwhere teleporttomapsuspendrandomenemysresumerandomenemys getherostat resumeoverlayaddhero deletehero swapouthero swapinheroroominactivepartylockhero unlockherogameoversetdeathscript fadescreenout fadescreenin showvaluealternpc shownovalue currentmap setherospeed inventory setherostatsuspendboxadvanceresumeboxadvanceadvancetextboxsetheropositionsetnpcpositionswapbypositionfindherocheckequipmentresumenpcwallssetheroz readmapblock writemapblock readpassblockwritepassblock npcdirection herodirection resetpalette tweakpalette readcolor writecolor updatepalette seedrandomgreyscalepalettesetheropicturesetheropalettegetheropicturegetheropalette readglobal writeglobal heroiswalkingsuspendcaterpillarresumecaterpillar npcreference npcatspotgetnpcid npccopycount changenpcid createnpc destroynpc teachspell forgetspell readspell writespell knowsspell canlearnspell herobyslot herobyrankputheroputnpc putcamera heropixelx heropixely npcpixelx npcpixely camerapixelx camerapixely loadtilesetpickherorenameherobyslot readgeneral writegeneral statusscreen showminimap spellsmenu itemsmenu equipmenu ordermenuteammenu initmouse mousepixelx mousepixely mousebuttonputmouse mouseregion npcatpixel saveinslot lastsaveslotsuspendrandomenemiesresumerandomenemiessavemenu saveslotused importglobals exportglobals loadfromslot deletesave runscriptbyid npciswalkingreadgmap writegmapmapwidth mapheightreadnpc setherolevelgiveexperience herolevelled spellslearntgetmusicvolumesetmusicvolumesetformationsong heroframenpcframenpcextra setnpcextra playsound pausesound stopsound systemhour systemminute systemsecond currentsong getheroname setheroname getitemname getmapname getattacknamegetglobalstring showstring clearstring appendascii appendnumber copystringconcatenatestrings stringlength deletechar replacecharasciifromstringpositionstring setstringbit getstringbit stringcolorstringxstringy systemday systemmonth systemyear stringcompare readenemydatawriteenemydatatrace getsongnameloadmenu keyispressedsoundisplaying searchstring trimstringstringfromtextbox expandstringjoystickbutton joystickaxiswaitforscancode savemapstate loadmapstate resetmapstatedeletemapstate partymoneysetmoneysetstringfromtableappendstringfromtablesettileanimationoffsetgettileanimationoffsetanimationstarttilesuspendmapmusicresumemapmusic checkherowall checknpcwallsettimer stoptimer readtimergetcolorsetcolorrgb extractcolormainmenu loadpalettetotalexperienceexperiencetolevelexperiencetonextlevel setexperience millisecondsopenmenu readmenuint writemenuintreadmenuitemintwritemenuitemint createmenu closemenutopmenubringmenuforward addmenuitemdeletemenuitemgetmenuitemcaptionsetmenuitemcaption getlevelmp setlevelmp bottommenu previousmenunextmenumenuitembyslotpreviousmenuitem nextmenuitemselectedmenuitemselectmenuitem parentmenu getmenuid swapmenuitemsfindmenuitemcaption findmenuid menuisopen menuitemslotoutsidebattlecure changetileset layertilesetgetformationsongaddenemytoformationfindenemyinformationdeleteenemyfromformationformationslotenemyformationslotxformationslotysetformationbackgroundgetformationbackground lastformationrandomformationformationsetfrequencyformationprobabilitycurrenttextbox getherospeedloadherosprite freespriteputslicesetspritevisiblesetspritepalettereplaceherospritesetspriteframeloadwalkaboutspritereplacewalkaboutspriteloadweaponspritereplaceweaponspriteloadsmallenemyspritereplacesmallenemyspriteloadmediumenemyspritereplacemediumenemyspriteloadlargeenemyspritereplacelargeenemyspriteloadattackspritereplaceattackspriteloadborderspritereplaceborderspriteloadportraitspritereplaceportraitsprite clonespritegetspriteframespriteframecountslicexslicey setslicex setslicey slicewidth sliceheight sethorizalign setvertalignsethorizanchor setvertanchornumberfromstring sliceissprite spritelayer freeslice firstchild nextsiblingcreatecontainer setparentcheckparentage slicescreenx slicescreenysliceiscontainer createrect sliceisrect setslicewidthsetsliceheight getrectstyle setrectstyle getrectfgcol setrectfgcol getrectbgcol setrectbgcol getrectborder setrectborder getrecttrans setrecttransslicecollidepoint slicecollide slicecontains clampslicehorizflipspritevertflipspritespriteishorizflippedspriteisvertflipped settoppadding gettoppaddingsetleftpaddinggetleftpaddingsetbottompaddinggetbottompaddingsetrightpaddinggetrightpadding fillparentisfillingparent slicetofront slicetoback lastchild ysortchildren setsortorder sortchildrenprevioussibling getsortorder getsliceextra setsliceextra getspritetypegetspritesetnumbergetspritepalette suspendtimers resumetimerssetslicevisiblegetslicevisible sliceedgex sliceedgey createtext setslicetext gettextcolor settextcolorgetwrapsetwrap sliceistext gettextbg settextbg getoutline setoutline usemenuitem sliceatpixelfindcollidingslice parentslice childcount lookupslice resetgame sliceisvalid iteminslot setiteminslotitemcountinslotsetitemcountinslot placespriteupdateleveluplearningmoveslicebelowmovesliceabove slicechildresetheropictureresetheropalettesetsliceclippinggetsliceclipping creategrid sliceisgridsetgridcolumnsgetgridcolumns setgridrows getgridrowsshowgrid gridisshownloadslicecollection setsliceedgex setsliceedgeygetslicelookupsetslicelookuptracevalueinternalmapcurereadattackname spellslearnedallocatetimerssetnpcignoreswallsgetnpcignoreswallssetnpcobstructsgetnpcobstructs setnpcusable getnpcusable setnpcmoves getnpcmovesreadzone writezone zoneatspotzonenumberoftiles getzonename getzoneextra setzoneextrauseitem useiteminslot mouseclickloadbackdropspritereplacebackdropspritegetspritetranssetspritetranssetherobaseelementalresistherobaseelementalresistasintherototalelementalresistasintsetslicevelocityxsetslicevelocityygetslicevelocityxgetslicevelocityysetslicevelocity stopslice movesliceto movesliceby waitforslice sliceismoving createellipsesliceisellipsesetellipsebordercolsetellipsefillcolgetellipsebordercolgetellipsefillcol _checkpointmenuitembytrueslotmenuitemtrueslot getheroslice getnpcslicegetdoorxgetdoorygetdoordestinationidgetdoordestinationmap doorexistsgetattackcaptiongetrectfuzzinesssetrectfuzziness textboxline getslicetext getinputtextenableinputtextinputtextenabled32767.HSZ, , ) + "$27) ; AC32766.HSZ, , ) , "$27) ; AC32765.HSZ, , ) -4"$27) ;4AC32764.HSZ, , ) .4"$27) ;4AC32763.HSZL N 32762.HSZH   ZZ&5?+0    9=DJHY32761.HSZ  Z!.&*232760.HSZ\ @ 32759.HSZ  "  '+32758.HSZ  ^ #)2^.0:aqv@N^ EL.JRWYLJfh.mWm~0.0sJ0~J00Js32757.HSZ  ` $(.7`35<cBP` GN3LTY[NLk535mrwyr}L5` 32756.HSZx   32755.HSZ   #' 32754.HSZD  32753.HSZL  32752.HSZP  32751.HSZ "&   32750.HSZT  i 32749.HSZ! AD`+Gc 'C_{#?l(WDs7b':M`s2aIKPYUW*^W6fs kqow|~A q0|B q.|C q |D q|E q!| F  q"$|)G1< 6q:#@|EHMX RqV\|aIit nqr$x|}J q%|K q&|L q2|M q1|N q| O q |%P-8 2q6<|AQIT NqRX|]Rep jqnt|yS q|T q|U q/|V q|W q-|X  q|!Y)4 .q2,8|=ZEN JqrRXZc^|g|r} wq{X|@| qX|:|3 qX|r|4  qX|!|&5.9 3q7=XCNG|L^R|^]h bqflXr{v||7 q X|U|8 q X|(|9 q X | )|$  q (X.92|7~=|B`JU OqS YX_jc|h_n|y ~q X|+|= qX|{|[ qX|}|]  q'X!,%|*:0|5;=F BqJXPYT|]|hq mquX{|<|2 qX|>| q&X|?| qX | ||\ #q-6 2q)@I EqES\ Xqafo kq}ny ~q q! qR q q g q% qA q]  qy ) %q-|8I=DB=B~MSX XW\|B32748.HSZ  4<O%'*.22:AC HM2MUeZc _akqx va| _an 2v_2v_222    &6   $g+20>\`4eDO IMS2X22 joM+uyM ,  c232747.HSZ   8 '%,%160<32746.HSZ  "$)32745.HSZl  >32744.HSZh  >32743.HSZT -7 $"("35?AE3KMK32742.HSZP  32741.HSZL  32740.HSZ\  32739.HSZ`  32738.HSZD  *32737.HSZD  932736.HSZ@  932735.HSZ  "$e)  .2"32734.HSZ  "$e)  .2"32733.HSZ  "$e)  .2"32732.HSZ  "$e)  .2"32731.HSZ  "$e)  .2"32730.HSZ   "$e)  .2"32729.HSZ  @"$e)  .2"32728.HSZ  "$e)  .2"32727.HSZ  "$e)  .2"32726.HSZ  "$)  .2"32725.HSZP  A32724.HSZ  < .9 ' #% #,27#SC,32723.HSZD  ?32722.HSZ@  ?32721.HSZ % " U X).838832720.HSZ    $5@).  3X9>UD>INaS_X_]32719.HSZ|    32718.HSZD  W32717.HSZ  #.!',W32716.HSZD  32715.HSZX  32714.HSZ    ($,29@ 7=32713.HSZ@  32712.HSZ@  32711.HSZ@  32710.HSZh  32709.HSZD  32708.HSZ@   32707.HSZ@   32706.HSZD   32705.HSZ@   32704.HSZD   32703.HSZ@   32702.HSZD  32701.HSZ@  32700.HSZD  32699.HSZ@  32698.HSZ@  32697.HSZD  332696.HSZD  432695.HSZD  532694.HSZD  632693.HSZ  332692.HSZ  *  #(432691.HSZ  *  <#(532690.HSZ  *  <#(632689.HSZ\ $32688.HSZh   . 32687.HSZP   32686.HSZL   32685.HSZP   32684.HSZL   32683.HSZP  32682.HSZL  32681.HSZP  32680.HSZL  32679.HSZP  32678.HSZL  32677.HSZP  32676.HSZL  32675.HSZP  32674.HSZL  32673.HSZP  32672.HSZL  32671.HSZP  32670.HSZL  32669.HSZP  32668.HSZL  32667.HSZP  32666.HSZL  32665.HSZP  32664.HSZL  32663.HSZ 7 *4 !#$(.2;32662.HSZD H 3" ',-17 < AF,32661.HSZ   )3=%'/19;C232660.HSZL  32659.HSZP  32658.HSZL  32657.HSZP  32656.HSZ ' $  "-2$ 6<"32655.HSZ ( % !#.3% 7;!@32654.HSZL  32653.HSZP  32652.HSZL  32651.HSZP  32650.HSZ 7 *4 !#$(.2;32649.HSZD H 3" ',-17 < AF,32648.HSZ  4#)+2032647.HSZ  5#',.332646.HSZx )C & M"$/6& 4:>O"$IN& 5RVQ"$32645.HSZ *C ' N#%05' 9=P#%IP' NTXR#%32644.HSZ, .@ j#+ !'!48+g<D32643.HSZ, .@ k#+ !'!48+g<D32642.HSZ, .@ j#+ !'!48+q<D32641.HSZ, .@ k#+ !'!48+q<D32640.HSZ, .@ j#+ !'!48+s<D32639.HSZ, .@ k#+ !'!48+s<D32638.HSZ  j *.$&ki 332637.HSZ$ 0b c $- "(d 6=- ;"Ae ;32636.HSZL } 32635.HSZ # o!^(-1\32634.HSZ # p!_(-1]32633.HSZ D \ o %0*.] p 32632.HSZ     32631.HSZ l ",/258=DJQUl\  (* romk(BH OI ALL FINISHEDTESTS SUCCEEDED32630.HSZD   32629.HSZ  :>AGM:TZ` 7  &+05T EvK(RX ^ I()Last onscreen message:32628.HSZD    u32627.HSZ( 32626.HSZT   ' %% /135Z@9cHJ3L~SrYdo ^4bhm3xo| 3b  to^^+oo^:o* oaD#o!6'-o27Q?Do`HNYoRW8^iponctNzokodoxoeo3%%%v keyval testsTesting keyval and keyispressed#Mash the keyboard for a bit (5 sec)Kinteractivetest.hss:95: keyispressed(i) == true || keyispressed(i) == false8interactivetest.hss:96: keyval(i) >= 0 && keyval(i) <= 3!interactivetest.hss:97: keyval(i)/interactivetest.hss:99: keyispressed(key:shift)0interactivetest.hss:100: keyispressed(key:shift).interactivetest.hss:101: keyispressed(key:alt).interactivetest.hss:102: keyispressed(key:alt)/interactivetest.hss:103: keyispressed(key:ctrl)/interactivetest.hss:104: keyispressed(key:ctrl)Saw  keypress events32625.HSZ( =W  ):$.735  tCK:GP73U $\`await for key(key)scancode1interactivetest.hss:120: key is pressed(scancode))interactivetest.hss:121: keyval(scancode)32624.HSZ4  / , ")' t 4891interactivetest.hss:127: key is pressed(scancode)32623.HSZ 69@IRU^elqx%,JQXjquqqq#*.5>>EG NP qZ\cNcqZj5>>Nvq}K >f> tN'qP*N7}+>,>q e ;~ N#Jq*2>6 ;>CHMNOXq*V82^ch[Nof }{ @jNwq{zNq9{ETN }}V{ UE!N(p\N3psuspend and wait tests$Testing suspendplayer and waitforkeyHit QHit TABHit LEFT0interactivetest.hss:146: hero direction == northHit DOWN0interactivetest.hss:149: hero direction == north Hit ENTER6interactivetest.hss:157: npc direction(npcref) == eastHit ESC&interactivetest.hss:163: top menu == 0Hit ALT&interactivetest.hss:166: top menu == 0 Hit ENTER.interactivetest.hss:172: current textbox == -1Hit CTRL.interactivetest.hss:176: current textbox == -1 Hit SPACE.interactivetest.hss:180: current textbox == -1Testing suspendboxadvanceHit CTRL-interactivetest.hss:189: current textbox == 2.interactivetest.hss:192: current textbox == -1Testing waitforscancodeHit QHit F132622.HSZ(  5a!*2 &(. :<AJFHcOV&To[_&#i[ko:ty~FT&F32621.HSZ<  8;BENr{ $6=DMVa )IPW{%Ifj@@JL T`oX ]@eljJ twy  co ]qlj w,  @@o ]Wlj0w<o ]lj@w LToljOw"ZT*o/lj4^J;iwBtIK{RT[]nIg}ok pIy@{{&ljo ]ljo @IljRoIRljwwIvJwg oljR%'/=o38I%BljGwNIU ]ooa fI{{tljyo IljIR,olj1w>IFo f@ljKo @@lj] oljmw|I##F+=o/ 4I@@{{BljGO\oS X#IaljIkeyboard input testsTesting lastascii(interactivetest.hss:224: last ascii == 0Hit qwait for key(anykey)*interactivetest.hss:227: last ascii == 113 Hit SHIFT+W)interactivetest.hss:230: last ascii == 87 Hit SPACE)interactivetest.hss:233: last ascii == 32Hit F1(interactivetest.hss:236: last ascii == 0 Hit ENTER(interactivetest.hss:239: last ascii == 0(Testing inputtest (try backspace & caps)Type "foo BAR AAAAAA #!" dummyAinteractivetest.hss:248: input string(2, 38, false, true) == true;interactivetest.hss:249: hash == hash all strings except(2)6interactivetest.hss:250: string is visible(2) == falsefoo BAR AAAAAA #!-interactivetest.hss:252: string compare(2, 3) Entered: Testing inputtestType "$ " or "SKIP"Ainteractivetest.hss:260: input string(2, 38, false, true) == true$ SKIPEinteractivetest.hss:263: string compare(2, 3) || string compare(2, 4)Enter text up to length limit@interactivetest.hss:267: input string(2, 20, true, true) == true/interactivetest.hss:268: string length(2) == 20-interactivetest.hss:271: string compare(2, 3)Enter something then hit ESCAinteractivetest.hss:275: input string(2, 20, true, true) == false9interactivetest.hss:276: key is pressed(key:esc) == false6interactivetest.hss:278: string is visible(2) == falseEnter somethingBinteractivetest.hss:282: input string(2, 20, false, false) == true*interactivetest.hss:284: string x(2) == 7032620.HSZ     basic control testsTesting basic controls Walk south32619.HSZ D *4=Djqx#%029;  qBJVgN S0[d`b  t9oqBv8J~gd`0 menu tests Testing menusHit ESC)interactivetest.hss:313: top menu == menuHit ALT)interactivetest.hss:316: top menu == menuSOURCE.LUMPED@INTERACTIVETEST.HSS$######################################################################## # These scripts are for testing script commands and (certain) engine # features that require user input. # # Any time you are preparing to fix an engine bug, consider adding a # test that demonstrates the bug FIRST before you fix the bug. include, plotscr.hsd include, scancode.hsi ######################################################################## define constant(1, default wait) #string 0 = error messages #string 1-9 = temp #string 10 = error message arg #string 11 = asserts #string 12 = onscreen instructions, line 1 #string 13 = onscreen instructions, line 2 define constant(11, assert expression string) define constant(12, message 1) define constant(13, message 2) ######################################################################## plotscript, run all tests, begin seed random(4444) show string at(message 1, 0, 182) show string at(message 2, 0, 191) keyval tests suspend and wait tests keyboard input tests #basic control tests menu tests $message1="ALL FINISHED" $message2="" wait(10) $0="TESTS SUCCEEDED" trace(0) game over end ######################################################################## script, w, ticks=default wait, begin wait(ticks) _checkpoint end plotscript, crash, begin if(string length(10) >> 0) then( $0+"(" concatenate strings(0, 10) $0+")" ) trace(0) suspend box advance show text box(1) w(40) $0="Last onscreen message:" trace(0) trace(message1) trace(message2) game over end script, assert failure, begin trace(assert expression string) crash end # Note! on-keypress scripts aren't triggered while the active script is # waiting on waitforkey!! script, on keypress script, key, begin _checkpoint end ######################################################################## script, keyval tests, begin $0="keyval tests" suspend player $message 1="Testing keyval and keyispressed" $message 2="Mash the keyboard for a bit (5 sec)" variable (tick, i, events) for (tick, 0, 18*5) do ( for (i, 0, 126) do ( if (keyval(i), and, 2) then (events += 1) assert(keyispressed(i) == true || keyispressed(i) == false) assert(keyval(i) >= 0 && keyval(i) <= 3) if (keyispressed(i)) then (assert(keyval(i))) ) if (keyispressed(key:leftshift)) then (assert(keyispressed(key:shift))) if (keyispressed(key:rightshift)) then (assert(keyispressed(key:shift))) if (keyispressed(key:leftalt)) then (assert(keyispressed(key:alt))) if (keyispressed(key:rightalt)) then (assert(keyispressed(key:alt))) if (keyispressed(key:leftctrl)) then (assert(keyispressed(key:ctrl))) if (keyispressed(key:rightctrl)) then (assert(keyispressed(key:ctrl))) wait ) $message 2="Saw " append number(message 2, events) $message 2+" keypress events" w(20) resume player end ######################################################################## # Wait for the player to hit a certain key script, test wait for key, key, scancode, begin # Because waitforkey blocks the on keypress script, there's not much checking we can do... tracevalue,(wait for key(key),scancode) assert(key is pressed(scancode)) assert(keyval(scancode)) while (key is pressed(scancode)) do (wait) end script, test wait for scancode, scancode, begin wait for scancode(scancode) assert(key is pressed(scancode)) while (key is pressed(scancode)) do (wait) end script, suspend and wait tests, begin $0="suspend and wait tests" $message 1="Testing suspendplayer and waitforkey" $message 2="Hit Q" suspend player test wait for key(anykey, key:q) $message 2="Hit TAB" test wait for key(anykey, key:tab) # Movement suspended set hero direction(me, north) $message 2="Hit LEFT" test wait for key(left key, key:left) assert(hero direction == north) $message 2="Hit DOWN" test wait for key(down key, key:down) assert(hero direction == north) # NPC use suspended $message 2="Hit ENTER" variable (npcref) npcref := create npc(1, hero x, hero y -- 1, east) #linked to script 'crash' test wait for key(use key, key:enter) wait assert(npc direction(npcref) == east) destroy npc(npcref) # Main menu suspended $message 2="Hit ESC" test wait for key(menu key, key:esc) assert(top menu == 0) $message 2="Hit ALT" test wait for key(menu key, key:alt) assert(top menu == 0) # Textbox advance not suspended $message 2="Hit ENTER" show text box(2) test wait for key(use key, key:enter) assert(current textbox == -1) $message 2="Hit CTRL" show text box(2) test wait for key(use key, key:ctrl) assert(current textbox == -1) $message 2="Hit SPACE" show text box(2) test wait for key(use key, key:space) assert(current textbox == -1) $message 1="Testing suspendboxadvance" suspend box advance resume player $message 2="Hit CTRL" show text box(2) test wait for key(use key, key:ctrl) assert(current textbox == 2) wait(2) advance text box assert(current textbox == -1) resume box advance $message1="Testing waitforscancode" $message2="Hit Q" test wait for scancode(key:q) $message2="Hit F1" test wait for scancode(key:F1) end ######################################################################## # This is used to check no strings have been clobbered script, hash all strings except, string, begin variable (hash, i, j) for (i, 0, 31) do ( if (i == string) then (continue) hash += (hash * 333667), xor, (i * 367 + string length(i) * 336667) #primes for (j, 1, string length(i)) do ( hash += (hash * 367), xor, ascii from string(i, j) ) ) return (hash) end script, keyboard input tests, begin $0="keyboard input tests" suspend player $message1="Testing lastascii" assert(last ascii == 0) $message2="Hit q" trace value(wait for key(anykey)) assert(last ascii == 113) $message2="Hit SHIFT+W" while (key is pressed (key:w) == false) do (wait) assert(last ascii == 87) $message2="Hit SPACE" wait for key(anykey) assert(last ascii == 32) $message2="Hit F1" wait for key(anykey) assert(last ascii == 0) $message2="Hit ENTER" wait for key(anykey) assert(last ascii == 0) $message1="Testing inputtest (try backspace & caps)" $message2="Type \"foo BAR AAAAAA #!\"" $2="" $3="dummy" # see inputstring implementation to wonder why I check this doesn't go blank variable (hash) hash := hash all strings except(2) assert(input string(2, 38, false, true) == true) # erase string, center, default position assert(hash == hash all strings except(2)) assert(string is visible(2) == false) $3="foo BAR AAAAAA #!" assert(string compare(2, 3)) $message2="Entered: " message2 $+ 2 w(20) $message1="Testing inputtest" $message2="Type \"$ \" or \"SKIP\"" assert(input string(2, 38, false, true) == true) $3="$ " $4="SKIP" assert(string compare(2, 3) || string compare(2, 4)) $message2="Enter text up to length limit" $2="" assert(input string(2, 20, true, true) == true) assert(string length(2) == 20) trim string(2, 1, 14) $3="" assert(string compare(2, 3)) $message2="Enter something then hit ESC" $2="" assert(input string(2, 20, true, true) == false) assert(key is pressed(key:esc) == false) # input string is meant to hide the keypress # assert(string length(2) == 0) # not true: behaviour undefined actually... assert(string is visible(2) == false) $message2="Enter something" show string at(2, 70, 70) assert(input string(2, 20, false, false) == true) # String shouldn't centre assert(string x(2) == 70) hide string(2) resume player end ######################################################################## script, basic control tests, begin $0="basic control tests" $message 1="Testing basic controls" $message 2="Walk south" end ######################################################################## script, menu tests, begin $0="menu tests" $1="Testing menus" # There are so many combinations of menu bits that ought to be tested... variable (menu) menu := open menu(1) set menu bit(menu, menubit:no controls, true) $message 2="Hit ESC" test wait for key(cancel key, key:esc) assert(top menu == menu) $message 2="Hit ALT" test wait for key(cancel key, key:alt) assert(top menu == menu) close menu(menu) end ######################################################################## #### COMMANDS THAT STILL NEED TESTS #equip menu (who) #get music volume #init mouse #input string (ID, maxlength, use current, center, position x, position y) #items menu #joystick axis (axis,multiplier,joystick) #joystick button (button,joystick) #load menu (reallyload) #main menu #mouse button (which) #mouse click (which) #mouse pixel X #mouse pixel Y #mouse region (x min, x max, y min, y max) #pick hero #put mouse (X, Y) #rename hero by slot(who) #rename hero(who) #set full hero swap mode (state) #set music volume (volume) #show mini map #spells menu (who) #status screen (who) #team menu #use shop (shop) #wait for text box PLOTSCR.HSD@# PLOTSCR.HSD (xocolatl) # This file holds the language definition for OHRRPGCE plotscripting. # modifying this file may have undesired/disasterous effects, # but reading it can be somewhat educational. Especially the constants. # functions marked with an x have not been implemented yet. # functions marked with a ? are implemented but untested #-------------------------------------------------------------------------- # hard coded functions define function, begin 0,noop,0 # no operation 1,wait,1,1 # wait(cycles) 2,waitforall,0 # wait for script-related walking&panning to stop 3,waitforhero,1,0 # wait for hero to stop moving 4,waitfornpc,1,0 # wait for npc to stop moving 5,suspendnpcs,0 # pause normal NPC movement 6,suspendplayer,0 # stop the player from controlling stuff (except text boxes) 7,resumenpcs,0 # resume npc automation 8,resumeplayer,0 # unlock players controls 9,waitforkey,1,99 # wait for a keypress 10,walkhero,3,0,2,1 # walk hero(who,direction,distance) 11,showtextbox,1,1 # show a text box 12,checktag,1,0 # returns the value of a tag 13,settag,2,0,0 # set tag(#,true/false) 15,usedoor,1,0 # use door(#) 16,fightformation,1,0 # fight formation(#) 17,getitem,2,0,1 # get item(item,quantity) 18,deleteitem,2,0,1 # delete item(item,quantity) 19,leader,0 # returns the current leader 20,getmoney,1,0 # get money(amount) 21,losemoney,1,0 #? lose money(amount) no checking 22,paymoney,1,0 # returns false and subtracts nothing if cannot afford 23,unequip,2,0,1 # (who,where) 24,forceequip,3,0,1,0 # (who,where,item) 25,setheroframe,2,0,0 # (who,frame) frame is 0 or 1 26,setNPCframe,2,0,0 # (who,frame) frame is 0 or 1 27,suspendoverlay,0 # turns off overhead tiles 28,playsong,1,0 # play song(#) 29,stopsong,0 # stop the music 30,keyval,1,0 # check key by scancode - returns value from keyval array 31,rankincaterpillar,1,0 # finds the heros position in the caterpillar 32,showbackdrop,1,0 # showbackdrop (#) 33,showmap,0 # cancels a showbackdrop 34,dismountvehicle,0 # dismount whatever vehicle you may be riding 35,useNPC,1,0 # trigger an NPC remotely 37,useshop,1,0 #? use shop(#) 38,camerafollowshero,1,0 # make camera follow a hero 39,camerafollowsnpc,1,0 # make camera follow an npc 40,pancamera,3,0,1,2 # pan camera(direction,distance,pixelstep) 41,focuscamera,3,0,0,2 # focus camera(x,y,pixelstep) 42,waitforcamera,0 # waits for pan or focus to finish 43,herox,1,0 # returns the hero's x coordinate 44,heroy,1,0 # returns the hero's y coordinate 45,npcx,1,0 # returns the npc's x coordinate 46,npcy,1,0 # returns the npc's y coordinate 47,suspendobstruction,0 # lets heros walk through NPCs and vice versa 48,resumeobstruction,0 # restores normal obstruction behavior 49,suspendherowalls,0 # lets heros walk through walls 50,suspendNPCwalls,0 # lets heros and npcs walk through walls 51,resumeherowalls,0 # restores normal hero wall behavior 52,walknpc,3,0,2,1 # walk npc(who,direction,distance) 53,setherodirection,2,0,2 # set hero direction(who,direction) 54,setnpcdirection,2,0,2 # set npc direction(who,direction) 55,getdefaultweapon,1,0 # (who) 56,setdefaultweapon,2,0,0 # (who,item) 57,suspendcatapillar,0 # misspelled alias for backcompat 58,resumecatapillar,0 # misspelled alias for backcompat 59,waitfortextbox,0 # waits for text box to go away 60,equipwhere,2,0,0 #? (who,item) returns the slot that an item can be equipped in, or false if the hero cant equip it 61,teleporttomap,3,0,0,0 # teleport to map (map,x,y) 62,suspendrandomenemys,0 # misspelled alias for backcompat 63,resumerandomenemys,0 # misspelled alias for backcompat 64,getherostat,3,0,0,0 # returns a hero's stat (who,stat,cur/max) 65,resumeoverlay,0 # turns overhead tiles back on 66,addhero,1,0 # adds a hero to the party 67,deletehero,1,0 # deletes a hero from the party 68,swapouthero,1,0 # move a hero out of the active party 69,swapinhero,1,0 # moves a hero into the active party (if there is room) 70,roominactiveparty,0 # returns the number of empty slots in the active party (0-3) 71,lockhero,1,0 # prevents swapping of a hero 72,unlockhero,1,0 #? reverses lockhero 73,gameover,0 # returns you to the title screen 74,setdeathscript,1,0 # changes what script is run when you die 75,fadescreenout,3,0,0,0 # fade screen out (red,green,blue) 76,fadescreenin,0 # fade back to color after fade screen out 77,showvalue,1,0 # display a number in the bottom left corner 78,alterNPC,3,0,0,0 # replaces one of an NPC's stats 79,shownovalue,0 # hide the number from showvalue 80,currentmap,0 # returns the number of the current map 81,setherospeed,2,0,4 # changes a heros walking speed 82,inventory,1,0 # returns the count of a given item 83,setherostat,4,0,0,1,0 # alters a hero's stats (who,stat,value,cur/max) 84,suspendboxadvance,0 # prevents user from advancing text boxes 85,resumeboxadvance,0 # reverses suspendboxadvance 86,advancetextbox,0 # as if the user had pressed a key 87,setheroposition,3,0,0,0 # arbitrarily set x,y 88,setNPCposition,3,0,0,0 # arbitrarily set x,y 89,swapbyposition,2,0,0 # swap two hero slots 90,findhero,1,0 # locate hero slot by hero name 91,checkequipment,2,0,1 # what is a hero equipped with? (who,where) #92,daysofplay,0 # returns the days, these opcodes remain for compatability #93,hoursofplay,0 # returns the hours #94,minutesofplay,0 # returns the minutes 95,resumeNPCwalls,0 # restores normal NPC wall behavior 96,setheroz,2,0,0 # sets the hero's vertical position 97,readmapblock,3,0,0,0 # get mapblock x,y,layer 98,writemapblock,4,0,0,0,0 # set mapblock x,y,value,layer 99,readpassblock,2,0,0 # get passblock x,y 100,writepassblock,3,0,0,0 # set passblock x,y,value 101,NPCdirection,1,0 # return an NPC's direction 102,herodirection,1,0 # return a hero's direction 103,resetpalette,0 # return the master palette to defaults 104,tweakpalette,5,0,0,0,0,255 # alter the master palette 105,readcolor,2,0,0 # return a color value 106,writecolor,3,0,0,0 # change a color value 107,updatepalette,0 # apply changes made with writecolor 108,seedrandom,1,0 #? reseed the random number generator 109,greyscalepalette,2,0,255# convert the palette to greyscale 110,setheropicture,3,0,0,1 # who,picture,type 111,setheropalette,3,0,0,1 # who,palette,type 112,getheropicture,2,0,1 # who,type 113,getheropalette,2,0,1 # who,type 114,readglobal,1,0 # index 115,writeglobal,2,0,0 # index,value 116,heroiswalking,1,0 # (who) #117,NPCiswalking,1,0 #x obsolete, backwards compatability only 118,suspendcaterpillar,0 # other heros stop following the leader, and can be manipulated separately. 119,resumecaterpillar,0 # turns catapillar party back on 120,NPCreference,2,0,0 # get an NPC reference by ID number 121,NPCatspot,3,0,0,0 # get NPC reference by X,Y 122,getNPCID,1,0 # get the ID number of an NPC reference 123,NPCcopycount,1,0 # find out how many copys of an NPC ID are on the map 124,changeNPCID,2,0,0 # given an NPC reference, changes its ID 125,createNPC,4,0,0,0,2 # create an NPC by ID at a location and return its reference 126,destroyNPC,1,0 # destroy the referenced NPC 127,teachspell,3,0,0,0 # (who,spell,learntype) tries to teach a hero a spell 128,forgetspell,2,0,0 # (who,spell) forget a learned spell 129,readspell,3,0,0,0 # (who,list,slot) returns the number of the spell in a slot 130,writespell,4,0,0,0,0 # (who,list,slot,spell) forces a hero to learn a spell 131,knowsspell,2,0,0 # (who,spell) returns true if the hero already knows this spell 132,canlearnspell,3,0,0,0 # (who,spell,learntype) returns true if the hero can learn the spell 133,herobyslot,1,0 # returns the hero ID/name of the hero at a particular slot in the party 134,herobyrank,1,0 # returns the hero ID/name of the hero at a particular rank in the caterpillar 135,puthero,3,0,0,0 #? (who,x,y) set hero pixel-position 136,putnpc,3,0,0,0 # (who,x,y) set npc pixel position 137,putcamera,2,0,0 # (x,y) set screen pixel position 138,heropixelx,1,0 #? (who) get hero pixel x 139,heropixely,1,0 #? (who) get hero pixel y 140,npcpixelx,1,0 # (who) get npc pixel x 141,npcpixely,1,0 # (who) get npc pixel y 142,camerapixelx,0 #? get camera pixel x 143,camerapixely,0 #? get camera pixel y 144,loadtileset,2,-1,-1 # load a new tileset for the current map 145,pickhero,0 # lets you manually pick a hero 146,renameherobyslot,1,0 # lets you manually rename a hero 147,readgeneral,1,0 # directly read from the in-memory array of general game data 148,writegeneral,2,0,0 # directly write to the in-memory array of general game data. If you crash your game with this command, don't be too surprised 150,statusscreen,1,0 # display the status screen for a hero 151,showminimap,0 # display the mini-map 152,spellsmenu,1,0 # display the spell menu for a hero 153,itemsmenu,0 # display the items menu 154,equipmenu,1,-1 # display the equip menu for a hero #155,savemenu,0 # obsolete in favor of ID 170 157,ordermenu,0 # display the order menu 158,teammenu,0 # display the team menu 159,initmouse,0 # init mouse, return true if a mouse is installed 160,mousepixelx,0 # returns mouse x coordinate on the screen 161,mousepixely,0 # returns mouse y coordinate on the screen 162,mousebutton,1,0 # returns true if the specified button is pressed 163,putmouse,2,160,100 # places the mouse at a point on the screen 164,mouseregion,4,-1,-1,-1,-1 # define the rectangle in which the mouse can move (xmin, xmax, ymin, ymax) 165,npcatpixel,3,0,0,0 # returns NPC at pixel x,y, third arg is which npc (on -1 returns number of npcs at pixel) 166,saveinslot,1,0 # save game in slot 167,lastsaveslot,0 # returns the last save slot the game was saved in, false if unsaved 168,suspendrandomenemies,0 # keeps random enemies from attacking 169,resumerandomenemies,0 # undoes suspendrandomenemies 170,savemenu,1,-1 # display the save menu 171,saveslotused,1,1 # returns true if a saved game exists in the specified slot 172,importglobals,3,1,-1,-1 # (slot) or (slot, id) or (slot, first, last) reads a range of globals from a save slot 173,exportglobals,3,1,0,4095 # (slot) or (slot, first, last) writes a range of globals to a save slot 174,loadfromslot,1,1 # loads saved game from slot 175,deletesave,1,1 # delete (hide from load/save screen - data not *actaully* deleted) specified slot 176,runscriptbyid,-1 # run a script by its id number and pass any number of arguments 177,NPCiswalking,1,0 # (who) returns true if walking (for real, unlike the old implementation) 178,readgmap,1,0 # read from general map data array 179,writegmap,2,0,0 # write a gmap data item 180,mapwidth,1,-1 # returns map height in tiles (map id) 181,mapheight,1,-1 # returns map width in tiles (map id) 182,readNPC,2,0,0 # reads information about an NPC on the current map (corresponds to alterNPC) 183,setherolevel,3,0,0,1 # change a hero's level 184,giveexperience,2,-1,1 # (who, how much) gives a hero or the active party experience 185,herolevelled,1,0 # number of levels gained last battle/giveexperience command. 186,spellslearnt,2,0,0 # deprecated, use "spells learned" instead. 187,getmusicvolume,0 # music volume on a scale of 0-255 regardless of implementation 188,setmusicvolume,1,128 # set music volume on a scale of 0-255 #189,getformationsong,1,0 # returns the song associated with a given formation + 1 (obsoleted by opcode 307) 190,setformationsong,2,0,0 # sets the song associated with a given formation 191,heroframe,1,0 # get hero walkabout frame 192,npcframe,1,0 # get npc walkabout frame 193,npcextra,2,0,1 # get npc extra data (ref, 0 - 2) 194,setnpcextra,3,0,1,0 # set npc extra data (ref, 0 - 2, value) #195,loadsound,2,0,0 # loads a sound into a slot(slot, sfx) #DO NOT USE #196,freesound,1,1 # frees an sfx slot(slot) #DO NOT USE 197,playsound,3,1,0,0 # plays an sfx (num, loop?, preempt?) 198,pausesound,1,1 # pauses an sfx (num) (stop, but don't rewind) 199,stopsound,1,1 # stops an sfx (num) (stop, and rewind) 200,systemhour,0 201,systemminute,0 202,systemsecond,0 203,currentsong,0 204,getheroname,2,0,0 # (string, hero) - puts the name of hero(hero) in string(string) 205,setheroname,2,0,0 # (string, hero) - sets the name of hero(hero) to string(string) 206,getitemname,2,0,0 # (string, item) - puts the name of item(item) in string(string) 207,getmapname,2,0,0 # (string, map) - puts the name of map(map) in string(string) 208,getattackname,2,0,0 # deprecated. Use "read attack name" instead 209,getglobalstring,2,0,0 # (string, global) - puts the global string (global) in string(string) 210,showstring,1,0 #shows string on the bottom(stringID) 211,clearstring,1,0 #deletes the data from string(stringID) 212,appendascii,2,0,0 #adds ascii to string(stringID,ascii) 213,appendnumber,2,0,0 #adds number to string(stringID,number) 214,copystring,2,0,0 #copies string from one to another(sourceID,destinationID) 215,concatenatestrings,2,0,0 #adds two strings(sourceID,destinationID) 216,stringlength,1,0 #returns the length of string(stringID) 217,deletechar,2,0,1 #deletes character from string(stringID,position) 218,replacechar,3,0,1,0 #replaces character in the specified string(stringID,position,ascii) 219,asciifromstring,2,0,1 #returns the ascii in the string(ascii number)(stringID,position) 220,positionstring,3,0,0,0 #move a string to a position on the screen(stringID,x,y) 221,setstringbit,3,0,0,0 #set a string bit, such as: visibility, style(stringID,bit,value) 222,getstringbit,2,0,0 #return a string bit, such as: visibility, style(stringID,bit) 223,stringcolor,3,0,15,0 #set a string's color,also optional background color(stringID,fColor,bColor) 224,stringx,1,0 #return a string's X position(stringID) 225,stringy,1,0 #return a string's Y position(stringID) 226,systemday,0 #returns system day 227,systemmonth,0 #returns system month 228,systemyear,0 #returns system year 229,stringcompare,2,0,0 #returns whether two strings are the same(stringID1, stringID2) 230,readenemydata,2,0,0 #reads enemy data(enemy,dataposition) 231,writeenemydata,3,0,0,0 #writes enemy data(enemy,dataposition,value) 232,trace,1,0 #writes the provided string to G_DEBUG.txt 233,getsongname,2,0,0 #get song name and store in string (string id, song) 234,loadmenu,1,-1 #show loadmenu (really load/quit?) 235,keyispressed,2,0,0 #check key by scancode, returns a bool 236,soundisplaying,1,0 #checks to see if a sound is playing (soundID) #237,soundslots,0 #returns the number of slots available 238,searchstring,3,0,0,1 #Search string, (ID1,ID2,start) 239,trimstring,3,0,-1,1 #Trims the specified string, (ID, start,length) 240,stringfromtextbox,4,0,0,0,0 #(obsolete) get a line from a textbox (string, box, line, ignored) 241,expandstring,1,0 #expand ${Hxx}, etc in a string(ID) 242,joystickbutton,2,0,0 #returns whether a given button is pressed (button, joystick) 243,joystickaxis,3,0,100,0 #returns the axis position (axis,multiplier,joystick) 244,waitforscancode,1,0 #waits for a specific scancode 245,savemapstate,2,255,255 #save map data to a temp file (savebits, customid) 246,loadmapstate,2,255,255 #load map data from a temp file (loadbits, customid) 247,resetmapstate,1,255 #reload original map data (loadbits) 248,deletemapstate,1,255 #delete temp map state files (deletebits) 249,partymoney,0 #retrieves amount of gold 250,setmoney,1,0 #sets amount of gold 251,setstringfromtable,2,0,0 #string support function 252,appendstringfromtable,2,0,0 #string support function 253,settileanimationoffset,3,0,0,0 #set offset from starting tile (animation pattern 0/1, offset, layer) 254,gettileanimationoffset,2,0,0 #get offset from starting tile (animation pattern 0/1, layer) 255,animationstarttile,2,0,0 #tile number which this tile starts its animation pattern off as (id of a tile, layer) 256,suspendmapmusic,0 #prevent ambient music from playing on entering a map 257,resumemapmusic,0 #reverse above 258,checkherowall,2,0,0 #check passability in a direction relative to a hero 259,checknpcwall,2,0,0 #check passability in a direction relative to an NPC 260,settimer,6,0,-1,-1,-1,-1,-1#start (or modify) a timer(id, count, speed, trigger, string, flags) 261,stoptimer,1,0 #convenience for settimer(id,-1,0) 262,readtimer,1,0 #returns the count of a timer(id) 263,getcolor,1,0 #returns a 32-bit color from the master palette(index) 264,setcolor,2,0,0 #writes a 32-bit color to the master palette(index,val) 265,rgb,3,0,0,0 #mixes red, green and blue into a 32-bit color(r, g, b) 266,extractcolor,2,0,0 #extracts an RGB component from a 32-bit color(color, component) 267,mainmenu,0 #opens the main menu 268,loadpalette,1,0 #load master palette 269,totalexperience,1,0 #experience gained by a hero 270,experiencetolevel,1,0 #total experience to reach a level 271,experiencetonextlevel,1,0 #experience to level up 272,setexperience,3,0,0,1 #set total experience (who,amount,allow spell forgetting) 273,milliseconds,0 #uptime in milliseconds 274,openmenu,2,0,0 #openmenu(menuID) 275,readmenuint,2,0,0 #read menu int(menuhandle,intid) 276,writemenuint,3,0,0,0 #write menu int(menuhandle,intid,n) 277,readmenuitemint,2,0,0 #read menu item int(menuitemhandle,intid) 278,writemenuitemint,3,0,0,0 #write menu item int(menuitemhandle,intid,n) 279,createmenu,0 #create a blank menu 280,closemenu,1,0 #close menu(handle) 281,topmenu,0 #return a handle to the topmost menu 282,bringmenuforward,1,0 #bring menu forward(menu handle) 283,addmenuitem,1,0 #add menu item(menuhandle) appends, returns menuitemhandle 284,deletemenuitem,1,0 #delete menu item(menuitemhandle) 285,getmenuitemcaption,2,0,0 #get menu item caption(menuitemhandle, string ID) 286,setmenuitemcaption,2,0,0 #set menu item caption(menuitemhandle, string ID) 287,getlevelmp,2,0,0 #get level mp(hero party slot, mp level) 288,setlevelmp,3,0,0,0 #set level mp(hero party slot, mp level, new value) 289,bottommenu,0 #return a handle to the bottommost menu 290,previousmenu,1,0 #given a menu handle, return a handle to the menu beneath it 291,nextmenu,1,0 #given a menu handle, return a handle to the menu on top of it 292,menuitembyslot,3,0,0,true #menu item by slot(menu handle, slotnum, visible only) returns menuitemhandle 293,previousmenuitem,2,0,true #given a menuitemhandle return handle to the menu item before it 294,nextmenuitem,2,0,true #given a menuitemhandle return handle to the menu item after it 295,selectedmenuitem,1,-1 #selected menu item(menu handle) returns menuitemhandle 296,selectmenuitem,1,0 #select menu item(menu item handle) moves the cursor 297,parentmenu,1,0 #parent menu(menu item handle) returns menu handle 298,getmenuid,1,0 #menu ID(menu handle) returns the ID of the menu 299,swapmenuitems,2,0,0 #swap menu items(handle1, handle2) 300,findmenuitemcaption,4,0,0,0,1 #find menu item caption(menu handle, string ID, search after handle=false, visible only=true) 301,findmenuid,1,0 #find menu(menu ID) search open menus for menu ID and return menu handle 302,menuisopen,1,0 #menu is open(menu handle) # return true as long as the handle is still valid 303,menuitemslot,1,0 #menu item slot(menu item handle) returns a menu slot number 304,outsidebattlecure,3,0,0,-1 #backcompat only, should prefer "map cure" 305,changetileset,2,-1,-1 #similar to loadtileset. (tileset,layer) 306,layertileset,1,0 #layer tileset(layer) returns tileset number in use 307,getformationsong,1,0 #returns the song associated with a given formation 308,addenemytoformation,5,0,0,85,95,-1 #add enemy to formation(formation, enemy id, x, y, slot = -1) returns slot or -1 309,findenemyinformation,3,0,0,0 #find enemy in formation(formation, enemy id, number) returns slot or -1 310,deleteenemyfromformation,2,0,0 #delete enemy from formation(formation, slot) 311,formationslotenemy,2,0,0 #formation slot enemy (formation, slot) returns enemy in slot 312,formationslotx,2,0,0 #formation slot x(formation, slot) returns x of enemy in slot 313,formationsloty,2,0,0 #formation slot y(formation, slot) returns y of enemy in slot 314,setformationbackground,4,0,0,1,0 #set formation background(formation, background, animation frames, animation ticks) 315,getformationbackground,1,0 #get formation background(formation) returns background number 316,lastformation,0 #last formation fought 317,randomformation,1,0 #pick a formation from a formation set 318,formationsetfrequency,1,0 #returns (as percentage) set frequency 319,formationprobability,2,0,0 #returns (as percentage) formation being picked from formation set probability 320,currenttextbox,0 #currently displayed textbox or -1 321,getherospeed,1,0 #hero walk speed (hero) 322,loadherosprite,2,0,-1 #load hero sprite (number, palette) 323,freesprite,1,0 #frees a sprite (id) 324,putslice,3,0,0,0 #change the position of a slice 325,setspritevisible,2,0,0 #alias for set slice visible 326,setspritepalette,2,0,0 #set sprite palette(id, pal) 327,replaceherosprite,3,0,0,-1 #replaces the sprite with a hero sprite (id, num, pal) 328,setspriteframe,2,0,0 #what it says on the tin(id, num) 329,loadwalkaboutsprite,2,0,-1 #load walkabout sprite (number, palette) 330,replacewalkaboutsprite,3,0,0,-1 #replaces the sprite with a walkabout sprite (id, num, pal) 331,loadweaponsprite,2,0,-1 #load weapon sprite (number, palette) 332,replaceweaponsprite,3,0,0,-1 #replaces the sprite with a weapon sprite (id, num, pal) 333,loadsmallenemysprite,2,0,-1 #load enemy sprite (number, palette) 334,replacesmallenemysprite,3,0,0,-1 #replaces the sprite with an enemy sprite (id, num, pal) 335,loadmediumenemysprite,2,0,-1 #load enemy sprite (number, palette) 336,replacemediumenemysprite,3,0,0,-1 #replaces the sprite with an enemy sprite (id, num, pal) 337,loadlargeenemysprite,2,0,-1 #load enemy sprite (number, palette) 338,replacelargeenemysprite,3,0,0,-1 #replaces the sprite with an enemy sprite (id, num, pal) 339,loadattacksprite,2,0,-1 #load attack sprite (number, palette) 340,replaceattacksprite,3,0,0,-1 #replaces the sprite with an attack sprite (id, num, pal) 341,loadbordersprite,2,0,-1 #load a textbox border (number, palette) 342,replacebordersprite,3,0,0,-1 #replaces the sprite with a textbox border (id, num, pal) 343,loadportraitsprite,2,0,-1 #load a character portrait (number, palette) 344,replaceportraitsprite,3,0,0,-1 #replaces the sprite with a character portrait (id, num, pal) 345,clonesprite,2,0, 0 #returns a copy of the given sprite(ID, pal) 346,getspriteframe,1,0 #returns the current frame number of a sprite 347,spriteframecount,1,0 #returns the number of frames a sprite has 348,slicex,1,0 #returns the x position of a slice relative to its parent 349,slicey,1,0 #returns the y position of a slice relative to its parent 350,setslicex,2,0,0 #set the x position of a slice relative to its parent 351,setslicey,2,0,0 #set the y position of a slice relative to its parent 352,slicewidth,1,0 #returns the width of a slice 353,sliceheight,1,0 #returns the height of a slice 354,sethorizalign,2,0,0 #changes the horizontal alignment of a slice to its parent 355,setvertalign,2,0,0 #changes the vertical alignment of a slice to its parent 356,sethorizanchor,2,0,0 #changes the horizontal anchor of a slice 357,setvertanchor,2,0,0 #changes the vertical anchor of a slice 358,numberfromstring,2,0,0 #look in a string for a number and return it 359,sliceissprite,1,0 #return true if the provided slice handle points to a sprite 360,spritelayer,0 #return a handle to the plotsprite layer 361,freeslice,1,0 #free a slice and all its children 362,firstchild,1,0 #return the first child of a slice or 0 if none 363,nextsibling,1,0 #return the next sibling of a slice or 0 if none 364,createcontainer,2,0,0 #create a container slice (width, height) 365,setparent,2,0,0 #move a slice to a new parent 366,checkparentage,2,0,0 #check to see if a slice is a child (or grandchild) of another 367,slicescreenx,1,0 #return a slice's x position relative to the screen 368,slicescreeny,1,0 #return a slice's y position relative to the screen 369,sliceiscontainer,1,0 #return true if a slice is a container 370,createrect,3,0,0,0 #create a rect slice (width, height, style) 371,sliceisrect,1,0 #return true if a slice is a rect 372,setslicewidth,2,0,0 #change the width of a resizeable slice 373,setsliceheight,2,0,0 #change the height of a resizeable slice 374,getrectstyle,1,0 #return the style of a rect slice 375,setrectstyle,2,0,0 #change the style of a rect slice 376,getrectfgcol,1,0 #return the fgcol of a rect slice 377,setrectfgcol,2,0,0 #change the fgcol of a rect slice 378,getrectbgcol,1,0 #return the bgcol of a rect slice 379,setrectbgcol,2,0,0 #change the bgcol of a rect slice 380,getrectborder,1,0 #return the border of a rect slice 381,setrectborder,2,0,0 #change the border of a rect slice 382,getrecttrans,1,0 #return the translucency of a rect slice 383,setrecttrans,2,0,0 #change the translucency of a rect slice 384,slicecollidepoint,3,0,0,0 #check a point for collision with a slice 385,slicecollide,2,0,0 #check a pair of slices for collision 386,slicecontains,2,0,0 #check if slice2 is completely inside slice1 387,clampslice,2,0,0 #move slice1 so that it is inside slice2 388,horizflipsprite,2,0,1 #flip a sprite horizontally 389,vertflipsprite,2,0,1 #flip a sprite vertically 390,spriteishorizflipped,1,0 #return true if a sprite is flipped horiz. 391,spriteisvertflipped,1,0 #return true if a sprite is flipped vert. 392,settoppadding,2,0,0 #change a slice's top-padding 393,gettoppadding,1,0 #return a slice's top-padding 394,setleftpadding,2,0,0 #change a slice's left-padding 395,getleftpadding,1,0 #return a slice's left-padding 396,setbottompadding,2,0,0 #change a slice's bottom-padding 397,getbottompadding,1,0 #return a slice's bottom-padding 398,setrightpadding,2,0,0 #change a slice's right-padding 399,getrightpadding,1,0 #return a slice's right-padding 400,fillparent,2,0,1 #make a slice fill its parent 401,isfillingparent,1,0 #returns true if a slice is set to fill 402,slicetofront,1,0 #move a slice in front of its siblings 403,slicetoback,1,0 #move a slice behind its siblings 404,lastchild,1,0 #find the last child of a parent slice 405,ysortchildren,1,0 #sort the children of a slice by Y value 406,setsortorder,2,0,0 #set sort value on a slice for sortchildren 407,sortchildren,2,0,1 #sort siblings by their setsortorder value 408,previoussibling,1,0 #return the previous sibling of a slice or 0 if none 409,getsortorder,1,0 #get sort value for sortchildren for a slice 410,getsliceextra,2,0,0 #get slice extra (0-2) data (slice, extra) 411,setsliceextra,3,0,0,0 #set slice extra (0-2) data (slice, extra, value) 412,getspritetype,1,0 #get type of a sprite slice or -1 if not 413,getspritesetnumber,1,0 #get record number of a sprite slice 414,getspritepalette,1,0 #get palette number of a sprite slice 415,suspendtimers,0 #stop all timers without resetting them 416,resumetimers,0 #makes timers paused with "suspend timers" continue 417,setslicevisible,2,0,0 #change sprite visibilty(id, vis) 418,getslicevisible,1,0 #return a slice's visibility bit 419,sliceedgex,2,0,0 #return the x pos of a given edge of a slice 420,sliceedgey,2,0,0 #return the y pos of a given edge of a slice 421,createtext,0 #create a new text slice 422,setslicetext,2,0,0 #copy a string into a text slice 423,gettextcolor,1,0 #return a text strings color 424,settextcolor,2,0,0 #change a text strings color 425,getwrap,1,0 #return true if a text slice wraps 426,setwrap,2,0,1 #change the wrapping state of a text slice 427,sliceistext,1,0 #return true if the given slice handle is a text slice 428,gettextbg,1,0 #return text background color 429,settextbg,2,0,0 #change text background color 430,getoutline,1,0 #return true if text uses outline 431,setoutline,2,0,1 #change text's outline mode 432,usemenuitem,1,0 #given a menu item handle, activate it 433,sliceatpixel,5,0,0,0,0,1 #find descendant or child slices containing a screen position 434,findcollidingslice,4,0,0,0,1 #find descendant or child slices colliding with a slice 435,parentslice,1,0 #return a slice's parent 436,childcount,1,0 #return number of children of a slice 437,lookupslice,2,0,0 #find a slice using a lookup code constant 438,resetgame,0 #reset the game 439,sliceisvalid,1,0 #checks for a real, non-deleted slice handle 440,iteminslot,1,0 #read inventory by position 441,setiteminslot,2,0,0 #write inventory by position 442,itemcountinslot,1,0 #read item count by position 443,setitemcountinslot,2,0,0 #write item count by position 444,putsprite,3,0,0,0 #change a sprite's position (handle, x, y) 444,placesprite,3,0,0,0 #change a sprite's position (handle, x, y) 445,updateleveluplearning,2,0,1 #refresh spells learned from level ups 446,moveslicebelow,2,0,0 #make a slice the previous sibling of another slice 447,movesliceabove,2,0,0 #make a slice the next sibling of another slice 448,slicechild,2,0,0 #the nth child of a slice, counting from 0 449,resetheropicture,2,0,1 #reset a hero's picture to their default 450,resetheropalette,2,0,1 #reset a hero's palette to their default 451,setsliceclipping,2,0,1 #set whether a slice will crop its children 452,getsliceclipping,1,0 #return whether a slice will crop its children 453,creategrid,4,0,0,1,1 #create a grid slice of a specified size 454,sliceisgrid,1,0 #true if the slice is a grid 455,setgridcolumns,2,0,1 #change grid horizontal count 456,getgridcolumns,1,0 #return the number of horizontal cells 457,setgridrows,2,0,1 #change grid vertical count 458,getgridrows,1,0 #return the number of vertical cells 459,showgrid,2,0,1 #make a grid visible 460,gridisshown,1,0 #return true if grid is visible 461,loadslicecollection,1,0 #load a collection of slices 462,setsliceedgex,3,0,0,0 #set a slice's position by an arbitrary edge 463,setsliceedgey,3,0,0,0 #set a slice's position by an arbitrary edge 464,getslicelookup,1,0 #get a slice's lookup code 465,setslicelookup,2,0,0 #change a slice's lookup code 466,tracevalueinternal,-1 #tracevalue is translated to this 467,mapcure,3,0,0,-1 #uses a cure attack on a hero 468,readattackname,2,0,0 #puts an attack name in a string (string id, attack id+1 / attack .hsi constant) 469,spellslearned,2,0,0 #number spells and spell ids hero learnt at last battle/giveexperience command. 470,allocatetimers,1,16 #change the number of timers #471,unusedtimer,0 #find a timer id that's not in use, or allocate more 472,setnpcignoreswalls,2,0,1 #set whether an npc can pass walls (npcref, bool) 473,getnpcignoreswalls,1,0 #get whether an npc can pass walls (npcref) 474,setnpcobstructs,2,0,1 #set whether an npc obstructs (npcref, bool) 475,getnpcobstructs,1,0 #get whether an npc obstructs (npcref) 476,setnpcusable,2,0,1 #set whether an npc can be used (npcref, bool) 477,getnpcusable,1,0 #get whether an npc can be used (npcref) 478,setnpcmoves,2,0,1 #set whether an npc's movetype used (npcref, bool) 479,getnpcmoves,1,0 #get whether an npc's movetype used (npcref) 480,readzone,3,0,0,0 #test whether a tile is in a zone (zone id, x, y) 481,writezone,4,0,0,0,1 #set whether a tile is in a zone (zone id, x, y, true/false) 482,zoneatspot,3,0,0,0 #get the nth zone set at a tile (x, y, n) 483,zonenumberoftiles,1,0 #get the number of tiles in this zone (zone id) #484,drawwithzone,3,0,0,0 #write to map layer (zone id, layer num, tile) (unimplemented) #485,zonenexttilex,3,0,-1,-1 #x coordinate of next tile in zone (zone id, current x, current y) (unimplemented) #486,zonenexttiley,3,0,-1,-1 #y coordinate of next tile in zone (zone id, current x, current y) (unimplemented) # 487,getzonename,2,0,0 #read zone name (string, zone id) 488,getzoneextra,2,0,0 #get zone extra data (zone id, extra field) 489,setzoneextra,3,0,0,0 #set zone extra data (zone id, extra field, value) 490,useitem,1,0 # use an item as if you had used it from the item menu 491,useiteminslot,1,0 # use item in a given inventory slot 492,mouseclick,1,0 # returns true if the specified button is pressed (button) 493,loadbackdropsprite,1,0 # load backdrop sprite (number) 494,replacebackdropsprite,2,0,-1 # replaces the sprite with a backdrop sprite (handle, number) 495,getspritetrans,1,0 # whether the sprite is drawn transparently (handle) 496,setspritetrans,2,0,1 # set whether the sprite is drawn transparently (handle, bool) 497,setherobaseelementalresist,3,-1,0,100 # set percentage damage taken from an element (hero, element, percent) 498,herobaseelementalresistasint,2,-1,0 # percentage damage taken from an element rounded to an int (hero, element) 499,herototalelementalresistasint,2,-1,0 # percentage damage taken from an element rounded to an int (hero, element) 500,setslicevelocityx,3,0,0,-1 #set slice velocity x(sl, pixels per tick, ticks) # negative left, positive right 501,setslicevelocityy,3,0,0,-1 #set slice velocity y(sl, pixels per tick, ticks) # negative up, positive down 502,getslicevelocityx,1,0 #return x velocity in pixels per tick 503,getslicevelocityy,1,0 #return y velocity in pixels per tick 504,setslicevelocity,4,0,0,0,-1 #set both x and y velocity simultaneously (sl, x vel, y vel, ticks) 505,stopslice,1,0 #cancel all of a slice's movement 506,movesliceto,4,0,0,0,0 #move a slice until it has the new desired x and y (sl, x, y, ticks) 507,movesliceby,4,0,0,0,0 #move a slice until it has the new desired relative x and y (sl, rel x, rel y, ticks) 508,waitforslice,1,0 #wait for a slice to stop moving 509,sliceismoving,1,0 #return true if the slice has velocity or target 510,createellipse,4,0,0,-1,-1 #width, height, border color, fill color 511,sliceisellipse,1,0 #return true if the slice is an ellipse 512,setellipsebordercol,2,0,0 #change border color 513,setellipsefillcol,2,0,0 #change fill color 514,getellipsebordercol,1,0 #change border color 515,getellipsefillcol,1,0 #change fill color 516,_checkpoint,0 #dumps checkpoint screenshot for automated testing. Only works when run with the -autotest command line argument 517,menuitembytrueslot,2,0,0 #return a menu item handle, based on the order in Custom (menu handle, slot no.) 518,menuitemtrueslot,1,0 #slot no. of a menu item as it appears in Custom (menu item handle) 519,getheroslice,1,0 #get the slice representing a hero walkabout 520,getNPCslice,1,0 #get the slice representing an NPC walkabout 521,getdoorx,1,0 #x coordinate of given door 522,getdoory,1,0 #y coordinate of given door 523,getdoordestinationid,1,0 #door id of given door's exit 524,getdoordestinationmap,1,0 #map number of given door's exit 525,doorexists,1,0 #returns true if the given door exists 526,getattackcaption,2,0,0 #puts an attack's caption in a string (string id, attack id+1 / attack .hsi constant) 527,getrectfuzziness,1,0 #get rect fuzz percentange 528,setrectfuzziness,2,0,50 #set rect fuzz percentange 529,textboxline,5,0,0,-1,1,0 #get a line of text from a textbox (string, box, line, expand, strip) 530,getslicetext,2,0,0 #get the contents of a text slice (string, slice) 531,getinputtext,1,0 #get user textual input since last tick (string) 532,enableinputtext,1,1 #whether to enable getinputtext (enable?) 533,inputtextenabled,0 #(undocumented) whether getinputtext is enabled end #-------------------------------------------------------------------------- # soft coded functions script,walkherotoX,hsd:who,hsd:n,begin if (hsd:n<>heroX(hsd:who)) then(walk hero(hsd:who,east,hsd:n--heroX(hsd:who))) end script,walkherotoY,hsd:who,hsd:n,begin if (hsd:n<>heroY(hsd:who)) then(walk hero(hsd:who,south,hsd:n--heroY(hsd:who))) end script,walkNPCtoX,hsd:who,hsd:n,begin if (hsd:n<>NPCX(hsd:who)) then(walk NPC(hsd:who,east,hsd:n--NPCX(hsd:who))) end script,walkNPCtoY,hsd:who,hsd:n,begin if (hsd:n<>NPCY(hsd:who)) then(walk NPC(hsd:who,south,hsd:n--NPCY(hsd:who))) end script,setNPCspeed,hsd:who,hsd:newspeed=4,begin alterNPC(hsd:who,NPCstat:movespeed,hsd:newspeed) end script,swapbyname,hsd:hero1,hsd:hero2,begin hsd:hero1:=findhero(hsd:hero1) hsd:hero2:=findhero(hsd:hero2) if (hsd:hero1==-1,or,hsd:hero2==-1) then (return(false)) else (return(true),swapbyposition(hsd:hero1,hsd:hero2)) end script,renamehero,hsd:who=0,begin variable(hsd:slot) hsd:slot:=findhero(hsd:who) if(hsd:slot>=0) then(renameherobyslot(hsd:slot),return(true)) else(return(false)) end # this exploits an undocumented feature of getherostat. Don't use the # same method to set the hero level (use setherolevel instead) script,getherolevel,hsd:who=0,begin return(getherostat(hsd:who,12,currentstat)) end script,autosave,begin if (lastsaveslot==0) then(return(savemenu)) else(saveinslot(lastsaveslot),return(lastsaveslot)) end script,stringtoglobals,hsd:stringID,hsd:start,hsd:length,begin variable(hsd:temp,hsd:padding) if (hsd:stringID>=0,and,hsd:stringID<=31) then( if (hsd:length>=1) then( if (hsd:length+hsd:start>>4097) then(hsd:length:=4097--hsd:start) hsd:padding:=hsd:length--stringlength(hsd:stringID) hsd:length:=stringlength(hsd:stringID) for (hsd:temp,1,hsd:length) do( writeglobal(hsd:start,asciifromstring(hsd:stringID,hsd:temp)) hsd:start+=1 ) for (hsd:temp,hsd:start,hsd:start+hsd:padding--1) do( writeglobal(hsd:temp,256) ) ) ) end script,globalstostring,hsd:stringID,hsd:start,hsd:length,begin variable(hsd:temp) variable(hsd:temp2) if (hsd:stringID>=0,and,hsd:stringID<=31) then( clearstring(hsd:stringID) if (hsd:length>=1) then( if (hsd:length+hsd:start>>4097) then(hsd:length:=4097--hsd:start) for (hsd:temp,1,hsd:length) do( hsd:temp2:=readglobal(hsd:start+(hsd:temp--1)) if (hsd:temp2>=0,and,hsd:temp2<=255) then(appendascii(hsd:stringID,hsd:temp2)) ) ) ) end script,showstringat,hsd:stringID,hsd:x=0,hsd:y=0,begin setstringbit(hsd:stringID,0,1) positionstring(hsd:stringID,hsd:x,hsd:y) end script,centerstringat,hsd:stringID,hsd:x=160,hsd:y=100,begin setstringbit(hsd:stringID,0,1) positionstring(hsd:stringID,hsd:x--(stringlength(hsd:stringID)*4),hsd:y) end script,hidestring,hsd:stringID,begin setstringbit(hsd:stringID,0,0) end script,stringstyle,hsd:stringID,hsd:style=0,begin setstringbit(hsd:stringID,1,hsd:style) end script,stringisvisible,hsd:stringID,begin return(getstringbit(hsd:stringID,0)) end # Internal functions, do not use # To get around the 32 string limitation... script, hsd:save string, hsd:id, begin variable (hsd:sl) hsd:sl := create text set slice visible(hsd:sl, false) set slice text(hsd:sl, hsd:id) clear string(hsd:id) return (hsd:sl) end script, hsd:restore string, hsd:id, hsd:saved, begin get slice text(hsd:id, hsd:saved) free slice(hsd:saved) end # Improvement (but which requires enableinputtext) # script, last ascii, begin # variable (hsd:saved) # hsd:saved := hsd:savestring(0) # get input text(0) # if (string length(0)) then ( # return (ascii from string(0, 1)) # ) # hsd:restore string(0, hsd:saved) # end script, last ascii, begin variable(hsd:code, hsd:shift) hsd:shift := keyispressed(42) || keyispressed(54) if(keyval(30) >> 1) then (hsd:code := 65) #A... if(keyval(48) >> 1) then (hsd:code := 66) if(keyval(46) >> 1) then (hsd:code := 67) if(keyval(32) >> 1) then (hsd:code := 68) if(keyval(18) >> 1) then (hsd:code := 69) if(keyval(33) >> 1) then (hsd:code := 70) if(keyval(34) >> 1) then (hsd:code := 71) if(keyval(35) >> 1) then (hsd:code := 72) if(keyval(23) >> 1) then (hsd:code := 73) if(keyval(36) >> 1) then (hsd:code := 74) if(keyval(37) >> 1) then (hsd:code := 75) if(keyval(38) >> 1) then (hsd:code := 76) if(keyval(50) >> 1) then (hsd:code := 77) if(keyval(49) >> 1) then (hsd:code := 78) if(keyval(24) >> 1) then (hsd:code := 79) if(keyval(25) >> 1) then (hsd:code := 80) if(keyval(16) >> 1) then (hsd:code := 81) if(keyval(19) >> 1) then (hsd:code := 82) if(keyval(31) >> 1) then (hsd:code := 83) if(keyval(20) >> 1) then (hsd:code := 84) if(keyval(22) >> 1) then (hsd:code := 85) if(keyval(47) >> 1) then (hsd:code := 86) if(keyval(17) >> 1) then (hsd:code := 87) if(keyval(45) >> 1) then (hsd:code := 88) if(keyval(21) >> 1) then (hsd:code := 89) if(keyval(44) >> 1) then (hsd:code := 90)#...Z if(keyval(2) >> 1) then (if(hsd:shift) then (hsd:code :=33) else (hsd:code :=49)) # 1... if(keyval(3) >> 1) then (if(hsd:shift) then (hsd:code :=64) else (hsd:code :=50)) if(keyval(4) >> 1) then (if(hsd:shift) then (hsd:code :=35) else (hsd:code :=51)) if(keyval(5) >> 1) then (if(hsd:shift) then (hsd:code :=36) else (hsd:code :=52)) if(keyval(6) >> 1) then (if(hsd:shift) then (hsd:code :=37) else (hsd:code :=53)) if(keyval(7) >> 1) then (if(hsd:shift) then (hsd:code :=94) else (hsd:code :=54)) if(keyval(8) >> 1) then (if(hsd:shift) then (hsd:code :=38) else (hsd:code :=55)) if(keyval(9) >> 1) then (if(hsd:shift) then (hsd:code :=42) else (hsd:code :=56)) if(keyval(10) >> 1) then (if(hsd:shift) then (hsd:code :=40) else (hsd:code :=57)) if(keyval(11) >> 1) then (if(hsd:shift) then (hsd:code :=41) else (hsd:code :=48)) # ...0 if(keyval(41) >> 1) then (if(hsd:shift) then (hsd:code :=126) else (hsd:code :=96)) # ` ~ if(keyval(12) >> 1) then (if(hsd:shift) then (hsd:code :=95) else (hsd:code :=45)) # - _ if(keyval(13) >> 1) then (if(hsd:shift) then (hsd:code := 43) else (hsd:code := 61)) # = + if(keyval(26) >> 1) then (if(hsd:shift) then (hsd:code := 123) else (hsd:code := 91)) # [ { if(keyval(27) >> 1) then (if(hsd:shift) then (hsd:code := 125) else (hsd:code := 93)) # ] } if(keyval(39) >> 1) then (if(hsd:shift) then (hsd:code := 58) else (hsd:code := 59)) # ; : if(keyval(40) >> 1) then (if(hsd:shift) then (hsd:code := 34) else (hsd:code := 39)) # ' " if(keyval(51) >> 1) then (if(hsd:shift) then (hsd:code := 60) else (hsd:code := 44)) # , < if(keyval(52) >> 1) then (if(hsd:shift) then (hsd:code := 62) else (hsd:code := 46)) # . > if(keyval(53) >> 1) then (if(hsd:shift) then (hsd:code := 63) else (hsd:code := 47)) # / ? if(keyval(43) >> 1) then (if(hsd:shift) then (hsd:code := 124) else (hsd:code := 92)) # \ | #if(keyval(40) >> 1) then (hsd:code := 47) # Num / WTF? What's the hsd:code for the other "/"? if(keyval(55) >> 1) then (hsd:code := 42) # Num * if(keyval(71) >> 1) then (hsd:code := 55) # Num 7 if(keyval(72) >> 1) then (hsd:code := 56) # Num 8 if(keyval(73) >> 1) then (hsd:code := 57) # Num 9 if(keyval(74) >> 1) then (hsd:code := 45) # Num - if(keyval(75) >> 1) then (hsd:code := 52) # Num 4 if(keyval(76) >> 1) then (hsd:code := 53) # Num 5 if(keyval(77) >> 1) then (hsd:code := 54) # Num 6 if(keyval(78) >> 1) then (hsd:code := 43) # Num + if(keyval(79) >> 1) then (hsd:code := 49) # Num 1 if(keyval(80) >> 1) then (hsd:code := 50) # Num 2 if(keyval(81) >> 1) then (hsd:code := 51) # Num 3 if(keyval(82) >> 1) then (hsd:code := 48) # Num 0 if(keyval(83) >> 1) then (hsd:code := 46) # Num . if(keyval(57) >> 1) then (hsd:code := 32) #Space if(hsd:code <= 90 && hsd:code >= 65) then, begin if(hsd:shift == false) then (hsd:code += 32) end return (hsd:code) end script, input string, hsd:str, hsd:max len=40, hsd:useexist=0, hsd:center=1, hsd:positionx=-654321, hsd:positiony=-654321, begin variable(hsd:done, hsd:key, hsd:show, hsd:tmp str, hsd:saved, hsd:enable input) hsd:enable input := input text enabled enable input text (true) if(hsd:useexist) else(clear string(hsd:str)) trim string(hsd:str,1,hsd:maxlen) hsd:show:=getstringbit(hsd:str,0)==false if(hsd:positiony <> -654321 || hsd:show) then( if(hsd:positionx == -654321) then(hsd:positionx := 160) if(hsd:positiony == -654321) then(hsd:positiony := 110) if(hsd:center) then( center string at(hsd:str,hsd:positionx,hsd:positiony) )else( show string at(hsd:str,hsd:positionx,hsd:positiony) ) )else( hsd:positionx := string x(hsd:str) hsd:positiony := string y(hsd:str) ) hsd:tmp str := hsd:str,xor,1 hsd:saved := hsd:save string(hsd:tmp str) while(not(hsd:done)) do, begin if(hsd:center) then(center string at(hsd:str,hsd:positionx,hsd:positiony)) wait if(keyval(28)>>1 || keyval(103)>>1) then(hsd:done:=true, return(true)) else( if(keyval(14)>>1) then(delete char(hsd:str,string length(hsd:str))) get input text(hsd:tmp str) concatenate strings(hsd:str, hsd:tmp str) trim string(hsd:str, 1, hsd:max len) while(key is pressed(1)) do, begin hsd:done:=true return(false) if(read general(44),and,2) then(wait) else(suspendplayer, wait, resumeplayer) end ) end enable input text (hsd:enable input) hsd:restore string(hsd:tmp str,hsd:saved) if(hsd:show) then(hide string(hsd:str)) end script,currentdisplaytile,hsd:tile,hsd:layernumber=0,begin if(hsd:tile>=160) then( return(animationstarttile(hsd:tile,hsd:layernumber)+gettileanimationoffset((hsd:tile--160)/48,hsd:layernumber)) ) else(return(hsd:tile)) end #-------------------------------------------------------------------------- #read/write enemy wrappers script,getenemyname,hsd:enemyID,hsd:stringID,begin variable(hsd:t) for (hsd:t,1,readenemydata(hsd:enemyID,0))do( appendascii(hsd:stringID,readenemydata(hsd:enemyID,hsd:t)) end end script,getenemystat,hsd:enemyID,hsd:stat,begin return(readenemydata(hsd:enemyID,hsd:stat+62)) end script,setenemystat,hsd:enemyID,hsd:stat,hsd:value,begin writeenemydata(hsd:enemyID,hsd:stat+62,hsd:value) end script,setenemyname,hsd:enemyID,hsd:stringID,begin variable(hsd:t,hsd:t2) if(stringlength(hsd:stringID)>=16)then(hsd:t2:=16)else(hsd:t2:=stringlength(hsd:stringID)) writeenemydata(hsd:enemyID,0,hsd:t2) for(hsd:t,1,hsd:t2)do( writeenemydata(hsd:enemyID,hsd:t,asciifromstring(hsd:stringID,hsd:t)) ) end #get/set enemy appearance are now simply wrappers. too much confusion to remove them now script,getenemyappearance,hsd:enemyID,hsd:appearance,begin return(readenemydata(hsd:enemyID,hsd:appearance)) end script,setenemyappearance,hsd:enemyID,hsd:appearance,hsd:value,begin writeenemydata(hsd:enemyID,hsd:appearance,hsd:value) end #-------------------------------------------------------------------------- # read/write general wrappers script,set victory music,hsd:song,begin write general(3,hsd:song+1) end script,get victory music,begin return(read general(3)--1) end script,get death script,begin return(read general(42)) end script,get load script,begin return(read general(57)) end script,set load script,hsd:ID=0,begin write general(57,hsd:ID) end script,set battle wait mode,hsd:bit=1,begin if(hsd:bit) then(hsd:bit:=1) write general(101,(read general(101),and,-2)+hsd:bit) end script,set caterpillar mode,hsd:bit=1,begin if(hsd:bit) then(hsd:bit:=2) write general(101,(read general(101),and,-3)+hsd:bit) end script,set no HP level up restore,hsd:bit=1,begin if(hsd:bit) then(hsd:bit:=4) write general(101,(read general(101),and,-5)+hsd:bit) end script,set no MP level up restore,hsd:bit=1,begin if(hsd:bit) then(hsd:bit:=8) write general(101,(read general(101),and,-9)+hsd:bit) end script,set inn no revive mode,hsd:bit=1,begin if(hsd:bit) then(hsd:bit:=16) write general(101,(read general(101),and,-17)+hsd:bit) end script,set full hero swap mode,hsd:bit=1,begin if(hsd:bit) then(hsd:bit:=32) write general(101,(read general(101),and,-33)+hsd:bit) end script,hide battle ready meter,hsd:bit=1,begin if(hsd:bit) then(hsd:bit:=64) write general(101,(read general(101),and,-65)+hsd:bit) end script,hide battle health meter,hsd:bit=1,begin if(hsd:bit) then(hsd:bit:=128) write general(101,(read general(101),and,-129)+hsd:bit) end script,set debug keys disable,hsd:bit=1,begin if(hsd:bit) then(hsd:bit:=256) write general(101,(read general(101),and,-257)+hsd:bit) end script,set dead heroes gain experience,hsd:bit=1,begin if(hsd:bit) then(hsd:bit:=8) write general(177,(read general(177),and,-9)+hsd:bit) end script,get hero stat cap, hsd:stat, begin read general(65+hsd:stat) end script,set capped hero stat,hsd:who,hsd:stat,hsd:value,stat:cur or max=0,begin variable(hsd:cap) hsd:cap := get hero stat cap(hsd:stat) if(hsd:cap>>0, and, hsd:cap<> 600) then(write general(85, 0)) else(write general(85, (hsd:newsize + 2) / 3 * 3 -- 1)) end script, extended scancodes enabled, begin return((readgeneral(177),and,256)<>0) end script, get level cap, begin return(readgeneral(87)) end script, set level cap, hsd:cap, begin if(hsd:cap >= 0 && hsd:cap <= readgeneral(191)) then(writegeneral(87, hsd:cap)) end #-------------------------------------------------------------------------- # read/write gmap wrappers script,get map tileset,begin return(read gmap(0)) end script, get ambient music, begin return (read gmap(1) -- 1) end script, set ambient music, hsd:song=-1, begin write gmap(1,hsd:song + 1) if (hsd:song >= 0) then (play song (hsd:song)) else (if (hsd:song == -1) then (stop song)) end script,allow minimap,hsd:setting=1,begin write gmap(2,hsd:setting) end script,allow save anywhere,hsd:setting=1,begin write gmap(3,hsd:setting) end script,cancel map name display,begin write gmap(4,0) end script,set map edge mode,mode=0,hsd:tile=0,begin write gmap(5,mode) write gmap(6,hsd:tile) end script,get map edge mode,begin return(read gmap(5)) end script,set harm tile damage,hsd:damage=0,begin write gmap(9,hsd:damage) end script,set harm tile flash,hsd:colour=0,begin write gmap(10,hsd:colour) end script,get footoffset,begin return(read gmap(11)) end script,set footoffset,hsd:offset=0,begin write gmap(11,hsd:offset) end script,get instead of battle script,begin return (read gmap(13)) end script,set instead of battle script,hsd:ID=0,begin write gmap(13,hsd:ID) end script,get each step script,begin return (read gmap(14)) end script,set each step script,hsd:ID=0,begin write gmap(14,hsd:ID) end script,get on keypress script,begin return (read gmap(15)) end script,set on keypress script,hsd:ID=0,begin write gmap(15,hsd:ID) end script,draw npcs above heroes,hsd:setting=1,begin write gmap(16,hsd:setting) end #-------------------------------------------------------------------------- # new wrappers/re-inventing of the wheel commands script, days of play, begin return(read general(51)) end script, hours of play, begin return(read general(52)) end script, minutes of play, begin return(read general(53)) end script, seconds of play, begin return(read general(54)) end script,set days of play,hsd:d, begin if(hsd:d >= 0) then (write general(51,hsd:d)) end script,set hours of play,hsd:h, begin if(hsd:h >= 0, and, hsd:h << 24) then (write general(52,hsd:h)) end script,set minutes of play,hsd:m, begin if(hsd:m >= 0, and, hsd:m << 60) then (write general(53,hsd:m)) end script,set seconds of play,hsd:s, begin if(hsd:s >= 0, and, hsd:s << 60) then (write general(54,hsd:s)) end #-------------------------------------------------------------------------- # menu wrappers script, first menu item, hsd:menuhandle, begin exit returning(menu item by slot(hsd:menuhandle, 0)) end script, wait for menu, hsd:menuhandle, begin while(menu is open(hsd:menuhandle)) do(wait(1)) end #-------------------------------------------------------------------------- # menu data wrappers script, get menu boxstyle, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 12)) end script, set menu boxstyle, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 12, hsd:n) end script, get menu textcolor, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 13)) end script, set menu textcolor, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 13, hsd:n) end script, get menu max rows, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 14)) end script, set menu max rows, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 14, hsd:n) end script, get menu offset x, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 16)) end script, set menu offset x, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 16, hsd:n) end script, get menu offset y, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 17)) end script, set menu offset y, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 17, hsd:n) end script, get menu anchor x, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 18)) end script, set menu anchor x, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 18, hsd:n) end script, get menu anchor y, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 19)) end script, set menu anchor y, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 19, hsd:n) end script, get menu text align, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 20)) end script, set menu text align, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 20, hsd:n) end script, get menu min chars, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 21)) end script, set menu min chars, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 21, hsd:n) end script, get menu max chars, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 22)) end script, set menu max chars, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 22, hsd:n) end script, get menu border, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 23)) end script, set menu border, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 23, hsd:n) end script, get menu on close script, hsd:menuhandle, begin exit returning(read menu int(hsd:menuhandle, 24)) end script, set menu on close script, hsd:menuhandle, hsd:n=0, begin write menu int(hsd:menuhandle, 24, hsd:n) end script, get menu bit, hsd:handle, hsd:bit, begin variable(hsd:n) hsd:n := read menu int(hsd:handle, 15) if(hsd:n,and,2^hsd:bit) then(exit returning(true)) exit returning(false) end script, set menu bit, hsd:handle, hsd:bit, hsd:value=1, begin variable(hsd:n) hsd:n := read menu int(hsd:handle, 15) if(hsd:value) then(hsd:n := hsd:n, or, 2^hsd:bit) else(hsd:n := hsd:n, and, (-1, xor, 2^hsd:bit)) write menu int(hsd:handle, 15, hsd:n) end #-------------------------------------------------------------------------- # menu item data wrappers script, set menu item, hsd:handle, hsd:type=0, hsd:subtype=0, hsd:tag1=0, hsd:tag2=0, hsd:stag=0, hsd:togtag=0, begin write menu item int(hsd:handle, 22, hsd:type) write menu item int(hsd:handle, 23, hsd:subtype) write menu item int(hsd:handle, 24, hsd:tag1) write menu item int(hsd:handle, 25, hsd:tag2) write menu item int(hsd:handle, 26, hsd:stag) write menu item int(hsd:handle, 27, hsd:togtag) end script, set menu item type, hsd:handle, hsd:n=0, begin write menu item int(hsd:handle, 22, hsd:n) end script, get menu item type, hsd:handle, begin exit returning(read menu item int(hsd:handle, 22)) end script, set menu item subtype, hsd:handle, hsd:n=0, begin write menu item int(hsd:handle, 23, hsd:n) end script, get menu item subtype, hsd:handle, begin exit returning(read menu item int(hsd:handle, 23)) end script, set menu item tag, hsd:handle, hsd:n=0, hsd:whichtag=1, begin if(hsd:whichtag == 1) then(write menu item int(hsd:handle, 24, hsd:n)) if(hsd:whichtag == 2) then(write menu item int(hsd:handle, 25, hsd:n)) end script, get menu item tag, hsd:handle, hsd:whichtag=1, begin if(hsd:whichtag == 1) then(exit returning(read menu item int(hsd:handle, 24))) if(hsd:whichtag == 2) then(exit returning(read menu item int(hsd:handle, 25))) end script, set menu item settag, hsd:handle, hsd:n=0, begin write menu item int(hsd:handle, 26, hsd:n) end script, get menu item settag, hsd:handle, begin exit returning(read menu item int(hsd:handle, 26)) end script, set menu item togtag, hsd:handle, hsd:n=0, begin write menu item int(hsd:handle, 27, hsd:n) end script, get menu item togtag, hsd:handle, begin exit returning(read menu item int(hsd:handle, 27)) end script, get menu item bit, hsd:handle, hsd:bit, begin variable(hsd:n) hsd:n := read menu item int(hsd:handle, 28) if(hsd:n,and,2^hsd:bit) then(exit returning(true)) exit returning(false) end script, set menu item bit, hsd:handle, hsd:bit, hsd:value=1, begin variable(hsd:n) hsd:n := read menu item int(hsd:handle, 28) if(hsd:value) then(hsd:n := hsd:n, or, 2^hsd:bit) else(hsd:n := hsd:n, and, (-1, xor, 2^hsd:bit)) write menu item int(hsd:handle, 28, hsd:n) end script, set menu item extra, hsd:handle, hsd:extra=0, hsd:n=0, begin if(hsd:extra >= 0 && hsd:extra <= 2) then, begin write menu item int(hsd:handle, 29+hsd:extra, hsd:n) end end script, get menu item extra, hsd:handle, hsd:extra=0, begin if(hsd:extra >= 0 && hsd:extra <= 2) then, begin exit returning(read menu item int(hsd:handle, 29+hsd:extra)) end end script, load enemy sprite, hsd:size, hsd:number, hsd:pal = -1, begin if(hsd:size == EnemySize:small) then(return(load small enemy sprite(hsd:number, hsd:pal))) if(hsd:size == EnemySize:medium) then(return(load medium enemy sprite(hsd:number, hsd:pal))) if(hsd:size == EnemySize:large) then(return(load large enemy sprite(hsd:number, hsd:pal))) end script, replace enemy sprite, hsd:ID, hsd:size, hsd:number, hsd:pal = -1, begin if(hsd:size == EnemySize:small) then(return(replace small enemy sprite(hsd:ID, hsd:number, hsd:pal))) if(hsd:size == EnemySize:medium) then(return(replace medium enemy sprite(hsd:ID, hsd:number, hsd:pal))) if(hsd:size == EnemySize:large) then(return(replace large enemy sprite(hsd:ID, hsd:number, hsd:pal))) end #-------------------------------------------------------------------------- # slice commands script, first sprite child, hsd:parent, begin variable(hsd:sl) hsd:sl := first child(hsd:parent) if(hsd:sl==0) then(exit returning(0)) if(slice is sprite(hsd:sl)) then(exit returning(hsd:sl)) exit returning(next sprite sibling(hsd:sl)) end script, next sprite sibling, hsd:sib, begin variable(hsd:sl) hsd:sl := next sibling(hsd:sib) if(hsd:sl==0) then(exit returning(0)) if(slice is sprite(hsd:sl)) then(exit returning(hsd:sl)) exit returning(next sprite sibling(hsd:sl)) end script, first container child, hsd:parent, begin variable(hsd:sl) hsd:sl := first child(hsd:parent) if(hsd:sl==0) then(exit returning(0)) if(slice is container(hsd:sl)) then(exit returning(hsd:sl)) exit returning(next container sibling(hsd:sl)) end script, next container sibling, hsd:sib, begin variable(hsd:sl) hsd:sl := next sibling(hsd:sib) if(hsd:sl==0) then(exit returning(0)) if(slice is container(hsd:sl)) then(exit returning(hsd:sl)) exit returning(next container sibling(hsd:sl)) end script, first rect child, hsd:parent, begin variable(hsd:sl) hsd:sl := first child(hsd:parent) if(hsd:sl==0) then(exit returning(0)) if(slice is rect(hsd:sl)) then(exit returning(hsd:sl)) exit returning(next rect sibling(hsd:sl)) end script, next rect sibling, hsd:sib, begin variable(hsd:sl) hsd:sl := next sibling(hsd:sib) if(hsd:sl==0) then(exit returning(0)) if(slice is rect(hsd:sl)) then(exit returning(hsd:sl)) exit returning(next rect sibling(hsd:sl)) end script, free slice children, hsd:parent, begin variable(hsd:sl, hsd:next) hsd:sl := first child(hsd:parent) while(hsd:sl) do( hsd:next := next sibling(hsd:sl) free slice(hsd:sl) hsd:sl := hsd:next ) end script, realign slice, hsd:sl, hsd:halign, hsd:valign, hsd:hanchor=-1, hsd:vanchor=-1, begin set horiz align(hsd:sl, hsd:halign) set vert align(hsd:sl, hsd:valign) if(hsd:hanchor <> -1) then(set horiz anchor(hsd:sl, hsd:hanchor)) if(hsd:vanchor <> -1) then(set vert anchor(hsd:sl, hsd:vanchor)) end script, center slice, hsd:sl, begin realign slice(hsd:sl, 1, 1, 1, 1) end script, set slice screen x, hsd:sl, hsd:newx, begin variable(hsd:oldx, hsd:diff) hsd:oldx := slice screen x(hsd:sl) hsd:diff := hsd:newx -- hsd:oldx set slice x(hsd:sl, slice x(hsd:sl) + hsd:diff) end script, set slice screen y, hsd:sl, hsd:newy, begin variable(hsd:oldy, hsd:diff) hsd:oldy := slice screen y(hsd:sl) hsd:diff := hsd:newy -- hsd:oldy set slice y(hsd:sl, slice y(hsd:sl) + hsd:diff) end script, put slice screen, hsd:sl, hsd:newx, hsd:newy, begin put slice(hsd:sl, slice x(hsd:sl) + hsd:newx -- slice screen x(hsd:sl), slice y(hsd:sl) + hsd:newy -- slice screen y(hsd:sl)) end script, set padding, hsd:sl, hsd:newpadding, begin set left padding (hsd:sl, hsd:newpadding) set right padding (hsd:sl, hsd:newpadding) set top padding (hsd:sl, hsd:newpadding) set bottom padding(hsd:sl, hsd:newpadding) end #-------------------------------------------------------------------------- # script triggers define trigger,begin 0, script 1, plotscript end #-------------------------------------------------------------------------- # betweenable operators define operator,begin 20 ^ exponent 30,mod,modulus 30 / divide 30 * multiply 40 -- subtract 40 + add 50 == equal 50 <> notequal 50 << lessthan 50 >> greaterthan 50 <= lessthanorequalto 50 >= greaterthanorequalto 60,xor,xor 60,and,and 60,or, or 65 && logand 70 || logor 70 ^^ logxor 80 := setvariable 80 += increment 80 -= decrement 80 $+ concatenatestrings 80 $= copystring end #-------------------------------------------------------------------------- # global constants define constant, begin 0,zero 1,one 2,two 3,three 4,four 5,five 6,six 7,seven 8,eight 9,nine 10,ten 0,false 1,true 0,off 1,on 0,north 1,east 2,south 3,west 0,up 2,down 3,left 1,right 0,upkey 1,downkey 2,leftkey 3,rightkey 4,usekey 5,cancelkey 5,menukey 99,anykey 0,me 0,none -1,autonumber 0,currentstat 1,maximumstat 1,northwall 2,eastwall 4,southwall 8,westwall 16,vehicleA 32,vehicleB 64,harmtile 128,overheadtile 0,inside battle 1,outside battle 0,NPCstat:picture 1,NPCstat:palette 2,NPCstat:movetype 0,NPCmovetype:standstill 1,NPCmovetype:wander 2,NPCmovetype:pace 3,NPCmovetype:rightturns 4,NPCmovetype:leftturns 5,NPCmovetype:randomturns 6,NPCmovetype:chaseyou 7,NPCmovetype:avoidyou 8,NPCmovetype:walkinplace 3,NPCstat:movespeed 4,NPCstat:displaytext 5,NPCstat:whenactivated 0,NPCwhenactivated:changedirection 1,NPCwhenactivated:faceplayer 2,NPCwhenactivated:donotfaceplayer 6,NPCstat:giveitem # Note: item num + 1 7,NPCstat:pushability 0,NPCpush:off 1,NPCpush:full 2,NPCpush:horizontal 3,NPCpush:vertical 4,NPCpush:uponly 5,NPCpush:rightonly 6,NPCpush:downonly 7,NPCpush:leftonly 8,NPCstat:activation 0,NPCactivation:use 1,NPCactivation:touch 2,NPCactivation:stepon 12,NPCstat:script 13,NPCstat:scriptargument 14,NPCstat:vehicle 15,NPCstat:defaultmovementzone 16,NPCstat:defaultavoidancezone 0,color:red 1,color:green 2,color:blue 0,leftbutton 1,rightbutton 2,middlebutton -1,getcount 0,string:outline 1,string:flat 53,Enemy:Picture 54,Enemy:Palette 55,Enemy:PictureSize 0, EnemySize:small 1, EnemySize:medium 2, EnemySize:large 56,Enemy:Gold 57,Enemy:Experience 58,Enemy:Item 59,Enemy:ItemPercent 60,Enemy:RareItem 61,Enemy:RareItemPercent 17,Stealability -1, IsNotStealable 0, StealableOnce 1, StealableInfinity 18, StealableItem 19, StealableItemChance 20, StealableRareItem 21, StealableRareItemchance 0, Crop 1, Wrap 2, Defaulttile -1,party 0, extra 0 1, extra 1 2, extra 2 0, x axis 1, y axis 1,mapstate:mapsettings 2,mapstate:npclocations 4,mapstate:npcdefinitions 8,mapstate:tilemap 16,mapstate:passmap 32,mapstate:zonemap #64,mapstate:foemap 6,mapstate:npcs 56,mapstate:tiles 255,mapstate:all 0,timer:stop #use in speed -1,timer:default #use in any -2,timer:gameover#use in trigger 1,timerflag:critical 2,timerflag:battle 4,timerflag:menu 0,menutype:label 1,menutype:special 2,menutype:menu 3,menutype:textbox 4,menutype:script 0,menuspecial:items 1,menuspecial:spells 2,menuspecial:status 3,menuspecial:equip 4,menuspecial:order 5,menuspecial:team 6,menuspecial:orderteam 7,menuspecial:map 8,menuspecial:save 9,menuspecial:load 10,menuspecial:quit 11,menuspecial:volume 0,menuitembit:Hide when disabled 1,menuitembit:Close menu when selected 2,menuitembit:skip close script 0,menubit:translucent box 1,menubit:never show scrollbar 2,menubit:allow gameplay 3,menubit:suspend player even if gameplay allowed 4,menubit:no box 5,menubit:no close 6,menubit:no controls 7,menubit:prevent main menu 0,align:center -1,align:left 1,align:right -1,align:top 1,align:bottom -1,tileset:default -1,song:silence -2,song:same as map -2,song:same as last map -1,any enemy 0,inv:max 0,edge:left 1,edge:center 2,edge:right 0,edge:top 1,edge:middle 2,edge:bottom 0,spritetype:hero 1,spritetype:smallenemy 2,spritetype:mediumenemy 3,spritetype:largeenemy 4,spritetype:walkabout 5,spritetype:weapon 6,spritetype:attack 7,spritetype:border 8,spritetype:portrait 9,spritetype:backdrop -1,border:line -2,border:none 0,trans:solid 1,trans:fuzzy 2,trans:hollow end # define constant, begin -100001, sl:textbox text -100002, sl:textbox portrait -100003, sl:textbox choice0 -100004, sl:textbox choice1 -100005, sl:script layer -100006, sl:textbox layer -100007, sl:string layer -100008, sl:maproot -100009, sl:obsolete overhead -100010, sl:walkabout layer -100011, sl:hero layer -100012, sl:npc layer -100013, sl:walkabout sprite component -100014, sl:walkabout shadow component -101000, sl:map layer0 -101001, sl:map layer1 -101002, sl:map layer2 -101003, sl:map layer3 -101004, sl:map layer4 -101005, sl:map layer5 -101006, sl:map layer6 -101007, sl:map layer7 end # SCANCODE.HSI) # this include file defines a whole mess of key: constants for use with # the "key is pressed" command. This is more complete than it needs to be :) define constant,begin 01,key:Esc 02,key:1 02,key:Exclamation 03,key:2 03,key:At Sign 04,key:3 04,key:Hash 05,key:4 05,key:Dollar Sign 06,key:5 06,key:Percent 07,key:6 07,key:Circumflex 08,key:7 08,key:Ampersand 09,key:8 09,key:Asterix 10,key:9 10,key:Left Parenthesis 11,key:0 11,key:Right Parenthesis 12,key:Minus 12,key:Underscore 13,key:Equals 13,key:Plus 14,key:Backspace 15,key:Tab 16,key:Q 17,key:W 18,key:E 19,key:R 20,key:T 21,key:Y 22,key:U 23,key:I 24,key:O 25,key:P 26,key:Left Bracket 26,key:Left Brace 27,key:Right Bracket 27,key:Right Brace 28,key:Enter 29,key:Ctrl 30,key:A 31,key:S 32,key:D 33,key:F 34,key:G 35,key:H 36,key:J 37,key:K 38,key:L 39,key:Semicolon 39,key:Colon 40,key:Quote 40,key:Doublequote 40,key:Apostrophe 41,key:Backquote 41,key:Tilde 42,key:Left Shift 43,key:Backslash 43,key:Pipe 44,key:Z 45,key:X 46,key:C 47,key:V 48,key:B 49,key:N 50,key:M 51,key:Comma 51,key:Left Caret 52,key:Period 52,key:Right Caret 53,key:Slash 53,key:Question Mark 54,key:Right Shift 55,key:Numpad Asterix 56,key:Alt 57,key:Space 58,key:Capslock 59,key:F1 60,key:F2 61,key:F3 62,key:F4 63,key:F5 64,key:F6 65,key:F7 66,key:F8 67,key:F9 68,key:F10 69,key:Numlock 70,key:Scroll Lock 71,key:Home 72,key:Up 73,key:Page Up 74,key:Numpad Minus 75,key:Left 77,key:Right 78,key:Numpad Plus 79,key:End 80,key:Down 81,key:Page Down 82,key:Insert 83,key:Delete 87,key:F11 88,key:F12 91,key:Left Win Logo 91,key:Left Command #Macintosh 92,key:Right Win Logo 92,key:Right Command #Macintosh 93,key:Context 94,key:F13 95,key:F14 96,key:F15 97,key:Shift 98,key:Left Alt 99,key:Right Alt 100,key:Left Ctrl 101,key:Right Ctrl 102,key:Numpad Slash # previously key:Slash 103,key:Numpad Enter # previously key:Enter 104,key:Numpad 7 # previously key:Home 105,key:Numpad 8 # previously key:Up 106,key:Numpad 9 # previously key:Page Up 108,key:Numpad 4 # previously key:Left 109,key:Numpad 5 110,key:Numpad 6 # previously key:Right 112,key:Numpad 1 # previously key:End 113,key:Numpad 2 # previously key:Down 114,key:Numpad 3 # previously key:Page Down 115,key:Numpad 0 # previously key:Insert 116,key:Numpad Period # previously key:Delete 117,key:Print Screen 118,key:Pause # previously key:Numlock #keys >= 128 are NOT scan codes, per se, but for other devices (mouse, joystick) # note that these only work for key is pressed, not for keyval 128,joy:button 1 129,joy:button 2 130,joy:button 3 131,joy:button 4 132,joy:button 5 133,joy:button 6 134,joy:button 7 135,joy:button 8 136,joy:button 9 137,joy:button 10 138,joy:button 11 139,joy:button 12 140,joy:button 13 141,joy:button 14 142,joy:button 15 143,joy:button 16 144,joy:x left 145,joy:x right 146,joy:y up 147,joy:y down end OHRRPGCE.ITM????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????OHRRPGCE.L00 OHRRPGCE.L01 OHRRPGCE.L02 OHRRPGCE.L03 OHRRPGCE.L04 OHRRPGCE.MAPTe@@@@OHRRPGCE.MAS??**(((**&***???????????? 8 "?1?1:?*??''? , !4+(:87? 0%7 3<?>((33<<&??)" 2+611;9  $%+)2. ' 1&>$  ")"3 )3,)?>*:?(?( *) 74  $%+/4># ('1/54(;;6% 0)4.:6%  #/#;,?;,,77????'*.3# 6+ ;7  ' 3 9+ =9& &0?'?/" .3&:0( &0%8-%>83 '/;$ *"0*!84. ",70 '/;& 6'?/ ?4)?;6 (7 ??440???$$ +07$$ $ $1,?3?1;**55???&? +4=$(?57 ++92?:)?!6*?0?9/? !#++1/8*3  #&" )%#,)'/,+20/532876  !''- */%-2)04.3626869;;<=<=>  !%#&('*,,.0124677:;;???OHRRPGCE.MN Test TownAfterbattle script mapInsteadofbattle script mapInstead+After battle map Door dest mapOHRRPGCE.MXSٰٰٰٰٰٰٰٰذٰٶٰٶٰٶذضٶٶضضضضٶٶضٶٶٶٶppٶpٶpppٶٶٶppppٶضٶppضٶppضٶpppٶٶpppapضٶappapٶٶpppppٶٶpappٶٶappٶٶppapppٶqٶpaapp ٶqٶppapapٸنqqٸpaapp׶ٛqٶpapp ظً؆qٸpppp ضqqq؛ٶappp ʶظنq؋ٸappp  qqqqضapppv ـنqظppapppppʸ؀qqضpappp qنq؀qٸٸapppqنqqظٸppp  ׆րqq؋qٸpap  ׆qֆـqq؀؆ٸpapx x׀֋q׀qqapp ׆q֛؀qq׆qqpp qqրqqqqٸppxa v׀qqqqٸpppxp׀qqqqqqqٸpp  xրqqqq pp v  vp vvֆqqqqqqppp ʀvpֆqq  pppq x  vqqqxqqqqqqqٸxpppqvv q xqqqpqqq p appq vpp  q qրqqqqqqqqqٸpppqvvvqvqvqqvqqq v pppp x pvqxqq  apppq qpqqqxq x ppppp v vqxvvqqqqqvqqqq v ppppq x ppqxpxqqqvppqqq vpp pqqq xqvqqqqqvqq v qpqqqvv vpvqvqqx x qq x vvvxqqqqqpqqqqq qqqq v vxpxxqqvqqq v pqqqqxvv qxqqxpqqxqqqq٤ x qqqqqqvx vvxvqqqqqqqq qqqqqqxqppqqvvqqؤvv qqqqxvvxxvpqqvqxq xqqqqvqpvqqxpqvqqqqפv vqppqqxvvqqq xvvqqpxpvqqpxvqqqxqvxqq٤vx vpqxvvqx```````````````x``vpqqvxxqqqqqxvpxvqqqqqaaaaaaaaaaaaaaaxvaavqvvpxpqpqvqqq``a```a``a```ava`vvppxppqqqpqvqqqqqaa``aaaaaaaaavaa``aaqxvqqxvqqpxpvqqqaaaaaa[aaaa`apxpvaaaaaxvqqvvxvqqvpqq[aa[a[aa[a[aaavpa`aa[aaapqqvpqqxqvpqa[aaa[a[[aaa[vpaaaa``aaaaaa[aavvqqpvqvpxpqvqqqqa[a[[[[aaa[[[av[[aaaaa[[a[[aaavvqpxpxxqqvvqqqa[[[a[[[[[[[[avv[aa[a[[aaaaaaaaaxqpvvqqxqqq[[a[[[f[[[a[a[f[a[a[[[aaaa[a[[[xaaaxpvqqvxvxvff[[fffff[[[[ffxvaa[[ff[[[[f[[[[xv[[a[pxpqqqqqppqqqvfffffffffffffp[[ffffffffffffff[a[afapvqvvqqffffffffffffffvavffffffffffffffpv[f[fvvvpqqqxqvvqqqffffffffffffffvvfffffffffffffffxpffffapvxqqvqqxqvffffffffffffffxffffffffffffffffxpffffvvvvvaxpqqxpxqqvffffffffffffxffffffffffffffffffffaapxxvpqqxqxvqvafffffffffxvffffffffffffffffxfffvpvaxpvpvpqvqqvaffffffffffffffffffffffffxpfffvvavxpqvpqpvvqfffpvffffffffffpp𗗀vavvxqvqxpvqqxp𗗗pvvvvvqqxpaxpxpvvqqqpxxvvv𛋋vvxvvvvqvxpvpxvvqvpxvvvqqvvvxxpvvvvqxpvvvvxvvqqvvppqaavppvvvppvqqqvvpvvvqvaqaapvvqqqvxpvvvvvvvxppqvxvvvax𗗗aaqvvvvqxvvvvvva𗆗qpvvpqavpap𗀗qqqqvvqpqqqvaaaaavqqqqqqqqqqqvvvpqqvqqvvvvvqqqqqvaaavqqpqqqavvvvvqqvqqvvaqqqvqvvpqqqvqqqqqqqavqqqqqqvvvvvvqqqqvvvvvqqqqqvavavqqqqqaqavaqqqqqqvvvvqqqqqqaqqqavqqqqqqqqvvqqqavqqqqvaqqvqqqvvvqqqvvqqqqvvvavvavaqqqavvvvqqqqaaqqqvvaaqqq@qqvqqavvaqqqqqqqqvvqqqqvqqqqqqqqqvvvqqqqqqqvvvvqqqqqqqavqqqvvvvvqqqqqqqqvaqqqqqqavqqqqqqqvavqqqqqqqqqvaavqqqqqqqvaaqqqqqqqvqqvvvvqqqqqqqaqqqqqqvvvvvvvvvvvqqqqqvaqqqvvvvvqqqqqqvvvqqqqavavvvqqqqvaqqqqqvvavqqqqvvqqqqvqaqaqqqqqvvvvvvaqqqaavqqqvvaaqqqqqqvvqqqqvvqqqqqqvvvvvqqqqqqqaqqqqqvvvvqqqqqqvaqqqqqqqqqvvaqqqqqvvaaaqqqvvqqqqqqqqqvqqvvqqqvqvvvvqqqqqqqqqqqqqqqvvvqqqqqvvqqqqqvvvvqqqqqqqqqavqqqqqvvqqqqqqqvvqqqqqqqqqqqqqqqqqqvvvqqqqqqqqqqqqaavqqqqqqqqvvvaqqqqqqqqqqqqqqqqqqqqqqqqvvqqqqqqqqqqvvqqqqqqqqqqqqqqqqqvvvvvqqqqqqqqqqqqqqqvqqqqqqvaqqqqqqqqqqqqqqqqqvٰٰٰٰٰٰٰذذضٰٶٰٶذضٰٶضضضٶٶضضٶٶٶٶٶٶٶpٶٶppٶٶٶppٶٶٶppٶضٶpٶٶpٶٶppppضٶpppppضٶpppppٶppppٶpppppٶنٶpppppٶًٶppappap ٶٛٶaappap ʶٶًٛٶpappp ٛq؛ٸppap ـ؛ٶppappظن؛qظppappنqـضpp vـqqنظppp  qنqٶpppppqنq؀qqٸppppv qنqqظٸaapp ׆qqq׆qqظpappv כـ؀qqٸpppv րq؀؀qٸppppp pqqqqنqqqqq؆pppa x׆qqvqq׆q׆qvpapvv xpqٗqqכqqٸpppp׀qqqqٸppxvqqqqq  pp xp   v v׆qqqqqٸpp pxp׆qq  ap  ʗ q qqqqqqqqٸapvvv qxրqqqqqpqqq p app xp p q qxqqٸxappxpq xvqvqxp xp papq x ʗpqx pqqqqpqqqqqٸaapqvqpqqqqqqqqqq  papp xvp pxvqvq v pppppq p vvaqqqxpq xp pppq p vqqxpxqqqqqq  qpqqqxv xvqqxpqxxqq x qqq vpqqqqqpqqq  qqqq x vxqqqqqxvpqqqq xvp pqqqqvpxp vxvqqaqpqq p pqqqq vpvpxpqpq pqqqqqxq pqvqqqxvqqqqq٤xv qqqqqvxvqpvqvvxqqqvpqqqqqqq qqqqqpqppvqqxq٤x qqqvqxpqvpxpq vpxpqqxqqvvvqqq٤ qqqvqpppqxqq xxpqqxpqqqqqvvvxvqqqq`````````````v`xv``xqvpvqqqqpvpqqqqaaaaaaaaaaaaaapaapvvqqqvqq``a```a````a`ava`vpqvxvvqxqaaaaaaaaaaaaaaxaaa``avqqxpqqqppvqqqqqaaaaaaa[aaaaaavaaaaaaqqvvqqqxqxpqqqqq[aa[[aaaa[a[aaaxpaa`aa[aaapxxvqpppvqvpvqxqaaaaaa[[[aaaa[xaaaa``aaaaaaaaaxpvqppvxqvvqqpq[aa[[a[aaa[a[ap[[aaaaa[a[[a[[vxvvvvpqqa[[aa[[aa[a[[vp[aa[a[aaa[a[aaavqxxqvqq[faa[[f[[[aaavfa[aa[[[aa[[[a[[vaaavpqqqqqqvvqqqff[[fffff[[[[ff[aa[[ff[[[[f[f[[a[[aavxvvqqqpppxxvqqffffffffffffffpxxv[[fffffffffffffvaaa[fxpvxpqqvxqxpvqffffffffffffffxpvfffffffffffffffv[[[fvqvxqfffffffffffffvxfffffffffffffffxvffffvppxpqqqvqqqqvfffffffffffffvffffffffffffffffpvffffpavaqqqpvqqqfffffffffffvfffffffffffffffffffvvpavqxvqvfffffffffffffffffffffffffffffavvvvaqvxqqvfffffffvfffffffffffffffffafffvavpvappvvqvvqffvffffffffvffvvavvvpxpvppxpxvqqxv𗗗vvpvqqpvqpvpvvvvpqqvvvqvvvpqqqvpvv𛛛apvavvvqvpvvqavvvvvvvvpvvvqqqvpxpvvaqavavpqqpvvaqavqvvvvvvvvvvvvqvpvvvvvvvp𗗗vaqpvvvqv𗗗vavpaqva𗗗𗗀qvvvvpavvpavpaaaa𗆗qvvvvvqqqqvaqqv𗀗qvqpqqqqvvqqqqvvvvvvq𖋋qqvvqqqqvvvvvvqqqqqqvvvvvqqqvqqqqqqqqvqqqqaqqqqvqqqqqqqqqvqqqqqqqqavvvqqqqqqaaavvvqqvvvvvqqqqavvvvvqqqqqvqqqqvvvvqqqqqvqqqqqqqaqaaqvvvqvavqqqqqaaaaqqqqqqqvvvvqqqvvvqqqqqvvqqqqqqavvvvvqqqqqqqqvvqqvqqqqvqqqqqqqqqvvvvqqqqqqqaaqqqqqqvqqqqqqqqqqqqqqaaaqqqqqqqaqqqqaqqqvqqqqqqvvqqvqqqqqqavvvqqqqqqqqqvqqqqqvvaqqqqqqqqqavqqqqqqavaqqqqqvvvaqqqqqvavqqqqvqqqqqqqvqaaavvvqqvvvqqqqqqvvvvvvqqqqqqqvaqqqqqqavqqqqqavvqqqvaqqqqvqqqqavqqqqvqvvaqqqqqqqqqqqqvvvvvqqaavqqqqqvvvqqqqqqqqvqqqqqqqqvvvqqqqqqvvqqqqqqvvvvqqqqqqqqvavqqavqqqqqqqqqvvvqqqqqqqqvvavvqqqqqaqqqqqqqqqqqvvqqqqqvqqqqqqaqqqqqqqavvqqqqqqaqqqqqqqavqqqqqqqqqaqqqqqqqqqqqqqqqqqvqqqqqqqqaqqqqqvvqqqqqqqqvvvqqqqqqqqqqqqqqqqqqqqqqqqavvvqqqqqqqqqvvvٰذٰٰٰذذذٰذٶٰٶٰضٰٶٶٶٶضضٶضٶٶٶٶٶٶٶٶppٶٶpٶٶٶpٶٶٶppٶppٶضpappضٶٶpapppضٶٶppppضٶpppٶpppٶppppppٶـppppppٶنٶpppppp ٶًٶaapppp ٸٛ؆ٸpppaap ضـq؋ppaapqq؛ٸpapن؛qٶpappvـqqٸpap pqqنٶapp ؆ـنظppppppv ؋ًqqضppppp؛q؀qqظappp כ؀ٸapp xqـqن׆qqٸap  p׀q؀؋؀qqٸap׆qvכqqٸvppxa׀qqpqכpapppxxp׀qqqqqqppppqؗqqqٸpppa vp׆qqqqq𗆆qqqٸpppxpʗv  ׆qqqqqqq  ppp   q qqqxqqqqٸxppvpx q vրqpq p pp  vqqqqqqqqqqqٸppvppqvvvqqqqaqqqqqq a pppq v vqv pqqxpqqqqqqٸxpappqxppqqqqqqqq  appq vv ʗqaqqqvpqqqqq vp p pppq pv vqvvppqqqqq  appppq  xqqxqqvqqqq  ppqq v qvpqvqvqqqq v qppq pp vvvqqqqppqqqq  p qqx xqavv vv pqpqqqvpv vqqqqvvpvqqqqq pv pqqqqvv xvvqvvvqqqqqqqq  qqqqv vxqppqqqqvvqqqqqq٤v qqpqqqxqxpqqqqppqq ppqqqpqvvxvqpqqqqxqqqq٤x qqqpqppqvvqvpvqqqq vpvqqpqvxqqvpvvvvqqq٤vv qqqqqqpxpvvvxqpvqqqqq vqqqvpvxqqxpqqqפ  qpqqvpxvqpvv`````````````a`v`xvqvpxpqqqvppqqqaaaaaaaaaaaaappaavxvvvqqpvxqqqqqq``````a````a`vxa``vqvvqqqqvvqqqqqqaaaaaaaaaaaaaaaaa``appxpqxvvpqqqvqqqqaaaaaa[aaaaaaaaaaaaappvqxvqpqqqqa[aa[aaaaa[a[a[paaaa[aaavvvpvppqqxvqqqqaa[a[aaa[[aaaa[xvaaaa``aaaaaaaavvvppqvvxqqqq[aa[[a[aaa[a[vxa[[aaaa[[a[[a[[pqxvvqqqqqa[[aa[[aa[a[[va[a[[a[a[a[a[aaapxpqxvqqqvpppxpqq[[a[[[f[[[aaappxpa[a[[[[a[[[a[a[pvaaxvpqpvqff[[fffff[[[[f[aa[fff[f[[[[[ffa[[[vqpvpvqqvfffffffffffff[fv[[ffffffffff[ffpaaa[pvpqpvqqqqfffffffffffffvafffffffffffffff[[[ffxpavvvqqqqpqqqqvfffffffffffffpffffffffffffffffvvffffxpaqqqvqpxpqqfffffffffffffpxpffffffffffffffffpffffvaapqqpqpvqvffffffffffpvffffffffffffffvvvvvfffpxvaqqqffffffffffffffffffffffffffffffffaxpapapqqvfffffffpfffffffffffffffvfpfffvppppqqqfffffffpvvvqqvvvv𗗗𗗗𖗗vxpvxxvqpqpvvxvqvvvvvvvvvvvvvvvvvpvaqaavvxpqqvvppvpvvqvvvpvvvpqvvqvaaavvqqxxvqaqvaqq𗗗pvqvvqvvvvvvvvpqvvvvaavvqqxpvqvvpvav𗗆vqvqavqpvqqqq𗀗qvpqqqavqvvqqqqqqqqqvvvvqvpqqqqvvvvqqqvvvaavqqqqqqvvvqqqqqqqqqqvvvvqqqvvqqqvvvvvqqqqqvqvqqvqqavvvvqqqqqqaqqqqqqavvvvvvaqqqqqqavqvaavvqqqqqqvvvvvvvqqqqqqvvqqqvaqqqqqqaqqqaavvvvqqqqqqaaavqqqqvvvqqqqqqqqvqqvqqqqvvqqqqvvqqqqqqqqqvqvvvqqqqqqqqqqqqqqqqqqqvaqqqqqvvqqqqqqaqqqqaqqqqqqqavvvvvvqqqqqqqqavaqqqqqqvvqqqqqqqqqaqqqqqqvqqqqqqqqvqqqaqqqqvvqqqqqqvqqqqqqvaqqqqqvqqqvqqqqqvvqqqvqqqqqqaqqqqqavqqqqqqqqvqvvvqqqqqvvvvqqqqqqqvvqqqqaavvqqqqvqqqqqqaqqqqqqqvqqqqqqqvavqqqqqqqqqvqqqvaaqqqqqqqqqqvvavvqqqqqaqvvqqqqqqvvqqqvvqqqqqqvvvqvavvqqqqvvvvqqqqqqqqqqqaqqqqqqqvqvqqqaqqqqqqqqqvqvvaqqqqqqqqqqvaqqqqqaqqqqqvqqqqqavqqqqqqqqqavvqqqqqqqqqqqqvavvvqqqqqqqqvqvvvvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqvaذذٰذذذٰٰذضٰٶٰٶٰٶٰٶٶٶضضٶٶٶٶٶٶٶٶٶٶpٶٶppٶٶpٶٶppٶضpٶppضٶppppضٶapappضٶaappٶaapٶضaappٶaappppٶaappppٶـppppppp ٶqppappap ٶq؀pappapظنqٸppppضنq؆ٶpppـنٸapppنq؆qٶppppqqًٸppp ؀؋نqٶpppppppv؆qqqظpppppp v؋ـ؀ظppppv؀q؀qqqٸٸapp pp׀q׆نqـ׆qٸpppv aqq֋qqqq؆׆qٸapv  vv֛ـ׋׆appp׀֛؀qqppapvqq֛q؆qqqqapvvx ׀qqր؀qqqqqqapxpvq  v ap v   qqqvqqٸvppp vvրqqqppqqq pp ppp  vq pqֆqqqaqqqqqٸapppxpq xpqֆqqvvqq vv pppq vv  qqqqqqqqqqqٸappqpx v qqqqvqqqq v appq xp  qpqqqqqqٸpppqpxvpqvqqqqqqqq  a pppq v pqxv qqqqqq  ppppqq p pqpvqqvvqqq vv ppppqvv xvq qqqqqpqqq p p ppq v qvvqqxpqqq xp pqpqqq xv xqvqqqqpqqqq p qpqqq  vpxpqxvxqvqq v qqqv qvpqqqqpqpqqqqq p qqqqv xqvppqqqqvvqqqq vvqqqpqqvp vxvqvpqvvqqqqq٤v qqqqqpvpxqqxvqq xvqqqqpvpqqvvqxqqqqqq٤ qqqqpxvqvqvqqq vqqqqvxqqvppvqqqq٤v qqvqqxpqvvpqqq vpqqpqqxvvqqqxpvqqq``````````````pvpxqpvpqaaaaaaaaaaaaapvpaqvpvqqqqvqpqqqqqq`a```a``a````pa`qxvvqqqqxqqqqq`a`aaaa`a`aaaaaaa`aaqvxpqvqqqqqaaaa`a[aaaaaaavaaaaaaaqpxxvxpqvvqpqq[aa[a[aaa[a[[[paa`aa[aaaqqxpvxvqxqqqqqqaa[aaaaa[[aaaaaaaaaa`aaaaaa[aapqvxvxqvqqqa[a[[[[[aaa[[[a[aaaaa[[a[[aa[ppqqvvqxvvqqqaa[[a[[[[[[a[aaaa[[[[aaa[a[aaavvqvpxpvvvxqqq[[[a[[[f[[aaa[faa[a[[[aa[a[a[[[xxaaavpqqqxqqvf[[[fffff[[[ff[[[[ff[[f[[[[[fv[[a[vvpqxvq𗗗vfffffffffffffffa[[fffffffffffffva[afvvqqqvqpqqqvffffffffffffffpafffffffffffffffxp[f[faxvavvpaqqqvppqqqqffffffffffffppfffffffffffffffffffffpvaaavqpxpvvvqqqvffffffffffffffvfvffffffffffffffvfffvaxvvvqvpxxqvfffffffffffffxxfffffffffffffffpfvfffppvpqvpqvqqvvvfffffffffvffffffffffffffffvpffaavavqvvqqffffvfffffffffffffvvffvvavvvvvqxpvqvvffxpfffffffffvpfvaavxqvvvpvxqvxvvvqqvvvvvxvvvqppvapvvavqqvvvpvvqqvvpvvppvvqqvvvvqqvvvvxpvvxvpvvqaqvvpvxpxvqvqaqaaqaqavvvvqxvvqvvvvvvvvvpxqvqqxppvqvppqxpvvvvvaapvxpvxpqvqqvvxqpxqqqvavvqxpqqqqavvvvvvqppqqqqavvpvqpqqqqavqxpqqqqavvvvqxqqqavqqqaqqvqqvvpqqqqvqqqqqqaqqqqqqaqqqqqqvqqqqqqqqvvvaqqqqvqqavvavvavqqqqqvvvqqqqvvqqqavqqqqqavvqqqqavvqqvqvqqqqvvvvvqqqvvqqqvaqqqqqqaaavvvvqqqqqvvqqqqqqvvvqqqqqqqqaqvvqaqqqqvvaqqqqqvvvqqqaqqqqqqqqqqqqvvvvqqqqqqqqqqqqqqqvvvqqqqqqqavvqqqqvvqqqqqvvavqqqqqaqqqqqqaqqqqqaaqqqqvqqqqqqvqqqqqqavaaqqqqqvvvvqqqqqqqqqqvqqqaqqqavvqqqqqvvvqqqqqavavvvvqqqvqqvqqqqvvvvvvqqqqavavqqqqqqqvvvvqqqqqvqqqqaaqqqqavqqqqqqqqqqaqqqqqqvvqqvvvvqavqqqqqqvvvvaqqqqqqqvvqqqqaqvaqqqqvvqqqqqqqqqvqqqqavqqqqqqvavqqqqqqqqqqqvqqqqqqqqavaqqqqqqqqqqqvqqqqqvvqqqqvvqqqqqqqqqqvvvqqaqqqqqvavqqqqqqqqqqqqvqqqqqqqqqqqqqvvqqqqqqqvqaaqqqqqqqqvvqvvqqqqqqqqqqqqqqqvqqqqqqvavavqqqqqqqqqavvqqqqqqqqqqqqqqqqqvvqqqqqqqqqqvOHRRPGCE.N00O @OHRRPGCE.N01)OHRRPGCE.N02)OHRRPGCE.N03)OHRRPGCE.N04)OHRRPGCE.P00+        OHRRPGCE.P01OHRRPGCE.P02OHRRPGCE.P03OHRRPGCE.P04       OHRRPGCE.PAL\&A iؔݨእA እ@FH[[giAؔݚኚqݸᤥ[gاݪij&)A *݉ᤥ&,(hAٔݧؔݨእA እ@FH[[giAؔݚኚqݸᤥ[gاݪij&)A *݉ᤥA iاxhijᨆ تؤݥFHH٧ݨݨxyi &-. iؔݨእؔݨእAq֛و i֛و iA iᤥ&)A *݉A እ@FH[[giAؔݚኚؔݨእOHRRPGCE.PT0w< L fA MǪvn  ʪtdA FF|ǧDƈdd \|LD HfL%wtD hD,:674A F]ӯxJs1D E\z?<A F:[:s hd\5YzxǬ FffN*WvI_dA ffd)W6āhd#9ZƁHdFdDA:,řaaFD fDŹ%WdAśL=|FAYZ  UU R|7 sS 7< s d dM ~A zfDda ̪FLLD hFAɵtDĈfdr[\tAƄBaZSgqDa%͍:ʧ<<AD[ǪaZ3< ƆEUz hfdr+wd|FffN*skdA y"3hd fDDYHdFdA[=ɕ|aaFD Y7dA % FAUZq %'éS èà 8<1:3ǵ,Fd%u5,1 +[fl1W\,1, {!fF.u" --w\ 7^x1U, |ȨrW'u Fd"W, u+tfE81%#3, qu|L" {{TDL,,/8|1 f82Wus>͊ DF"WQ81\ il" , i FfdL dD 1 Á U>èà 8<1:3ǵ,Fd%u5,1 +[fl1W\,1, {!fF.u" --w\ 7^x1U, |ȨrW'u Fd"W, u+tfE81%#3, qu|L" {{TDLD"/8|1 f8L DF%,LL81\ i,DD , iR W,dL uD   1<  u 1 w,Á W,èÃǵ,FdLUR%:3 +[fLR{Wu5,1 {!fRu\,1, -2R,w" 7R"U\ |Ȩr8",', F",+"u u+tfC<""W, quE%#3, {{TDfA3 R fffDdL"/8|1 DFDDdF idDL81\ fFFLd , FdLD  7, R u 1Á èà 8<1:3ǵ,Fd%u5,1 +[fl1W\,1, {!fF.u" --w\ 7^x1U, |ȨrW'u Fd"W, u+tfE81%#3, qu|L" {{TDLD"/8|1 f8L DF%,LL81\ i,DD , iR W,dL uD   S" s, 81 u ;\ ̿\1{\  ?à 8<1!3ǵ,Fd%R5,1 +[fl1W\,1, {!fF.u" --w\ 7^x1U, |ȨrW'u Fd"W, u+tfE81%#3, qu|L" {{TDLD"/8|1 f8L DF%,LL81\ i,DD , iR u W, < 1 S" s,81 u1 ;\̿\Ã{\3Ãȃz,1 {RTfL?rQ,µ1ifɺu|<DzFdb1'Q +B'u '|uR ̊-z1| ;$fI_1 RFd\3wRDw1DL%{[Fh"_[C+LL,Fd\ dL8X<ƔlĔiϨ< lIL8 Fd8ƔÁ d{R, ,: #- D- C- UM uM U u !׷]U!j"յ"]WU Rm##-ݭ̽}u]U #'R!4BUr]UD1B#C'$1]UCu!C~Uy"C-]UBs3%#C'!"2BR2%4BW!"1߼"B3%r#!]U] -2m4"U#D}Yu122-"31}y !f!"] -j}yq!]y -֌!ǕYuݼ݊a]]Wu   ! - 2B U2u 4 u D U M"UWU m!{}"!u]U!!22]U2u-cD%W!!]U Asݴ!42yrC]U 47R1WWR$2 4'1ݳ2R42y#- $%!"SD%yr! !!d#2W-"2*ۮB%Q4A]U] ##"#3}Yuḫ"}yq!}y֪ɪj!ו!]h˪ ]y !mئ]WuYu ! ] ! ! " - 2B U2u 4 u D U M"UWU m!{}"!u]U!!22]U2u-cD%W!!]U Asݴ!42yrC]U 47R1WWR$2 4'1ݳ2R42y#- $%!"SD%yr! !!d#2W-"2*ۮB%Q4A]U] ##"#3}Yuḫ""!}y֪ɪj!!]h˪-  ]y !mئYu ! ] !]˽ !ח׼ "YY̽ yY Wu} W y yY - Y 2]B Y U2u 4  u D  U MWU mj "!u]U!!ꆨ"]U2u-##!!]U Asݴ!BQC]U 47R1d#2W"$2 4'1ݳ2R4Bْ#- $%!"D%}r! !!42w}"2*ۮ$C!WR4A]U] 3D2U#3}Yuḫ42!"!}y֪ɪ#C2!]h˪2  ]y !m!Yu ! ] ! ! " - 2B U22u 4 , u D̜ U My{WU U "!u]U!!q"2]U2u-D%W!!]U Asݷq42yrC]U 47RyWR$2 4'1ݲ!R42y#- $%!"SD%yr! !!d#2W-"2*ۮB%Q4A]U] ##"#3}Yuḫ"}yq!}y֪ɪj!ו!]h˪ ]y !mئ]WuYu ! ] ! ! " - 2B U22u 4 , u D̜ U My{WU U "!u]U!-ՙq"2]U2u-D%W!!]U As۷q42yrC]U 47RyWR$2 4'1!R42y#- $%!"SD%yr! !!d#2W-"2*ۮB%Q4A]U] ##"#3}Yuh̯"}yq!}yɪj!ו!]h˪ ]y !mئ]WuYu !] ! ! " #- D- U C- 3!uM̱ uM  Uח U!j]q"]U RY#-ݭ̽]U #'RyY$BUr]UD1yC'$1]UCu!W~Uy"C-Bs"#C'!"2 BR2%4BW!" 1ͼ"B3%r#! -2m4"U#D122-"31̽ !f!Wח -jyY] -֌!Yqw]ݼ݊auw] W} wU!W] ՙyuW] " 41 #DB23C2#C"2]! % #CRDD]DD]C47}439Y}33']=-U 7] 43%y} 4C! 32- !!2!! W}wUW]ՙyuW] i+ Kk {++  λb51t绻&S b3S5;Nsi5S !3DuS)#5cK̄KWsU&a1b5;̻ȻWuqu"5u[긫5wAwww[_qu ww[;W wuQ[U6+ WwQNK[59aU; UuSԵNN{_s^U5HH+_q~ 3S1;{rb9eQu13331컶/!;\ 1|)7 & bk ;" xKk i+ ěk ++ ˻bS S {wN{5S#51SD1#5;LDK7QU;a1 91Dw;[;" 6#S˼EwQQ; 3WUWyq; 7wuKQ; Wwu˾JLq[ 7wUEQ[+ wuΊ[sbWU;NHK[+sU; 5SQ;rbUs^53/5q~ 3333~)Qu1;3&b;\1bk7 ι" Kk ;Lj Lj Kk ι" bkS S&5S#51)#5;LDK/;a1 91Drb[;" 6#S˼Ew+Q; 3WUWyq; 7wuKQ; Wwu˾JLq[ 7wUEQ[+ wuΊ[sbWU;NHK[sU; 5SQ;3Us^535q~ 3333Ƿ Qu1;3| b;\17 ; "kH &) K ikk "f )k ok  o  S ikS#51[+;5S;LDK;+"Q#5 91D;a1 6#S˼[;" 3WU˄Q; 7wuq; Wwu˾JQ; 7wUq[ wuΊQ[+ WU;NHK[sb 5SQ7{|;sU;53UU3Us^ 33335S; 5q~;3 Qu11 b;\ 7 ; ikK ̻iǰ  &{51t绻&S b3S5;Nsi5S !3DuS)#5cK̄KWsU&a1b5;̻ȻWuqu"5u[긫5wAwww[_qu ww[;W wuQ[U6+ WwQNK[59aU; UuSԵNN{_s^U5HH+_q~ 3S1;{rb9eQu13331컶/!;\ 1|)7 & bk ;" xKk i+ ěk ++ ˻bS S {wN{5S#51SD1#5;DK7QU;a1 91Dw;[;" 6#SEwQQ; 3WUWyq; 7wu֚KQ; WwuI)Lq[ 7wUQ[+ wuil[sbWU;NHd+sU; 5SQ;rbUs^53/5q~ 3333~)Qu1;3&b;\1bk7 ι" Kk ;Lj ikK ̻iǰ  &{51`t绻&S b3S5;Nsi5S !3DuS)#5c̄KWsU&a1b5;)$Wuqu"5u[꿫5wAwww[_qu ww[䲛;W wuQ)[U6+ WwQOo59aU; UuSٿNqW_s^U5HH;_q~ 3S1;{{1;9eQu13331|{{!;\ 1`7 ~ ;` { & ib //` )) & &k+ wWwDlDt]'KwL c4TR+L j,)R't Uêc<,^RRt…, A%wAň\ AG"XtCň\LwU,D,,X\ GtƢRX,A %,UUUX (\Ņ ,tR AGL %U f3 L%UïfwWwDlDt]'KwL c4TR+L j,)R't Uêc<,^RRt…, A%wAň\ AG"XtCň\LwU,D,,X\ GtƢRX,A %,UUUX (\Ņ GA ,AtR6c< %U :ct DA%U3{A{F,,%UcfbXRDwzRRo<c%!tDJ%%"oANQLC5U\:=N̾HtU\6~䷕'A ",a>wWwDlDt]'KwL c4TR+L j,)R't Uêc?,^RRt…, !%wAň\ XtCň\ U,D,,X\ ƢRX,D %,UULUX t (\ GwŅ GL  ,R %U%U%UtR AGL%" f3 LU\ïf6}8=fmӃ̃1fy=-<1i=R 8ȍggս Ȍyf8һӈ8ȃ܃%- 88?}+#83339l*(Ӎ[ljX =foffo6&eo=F% DU͗K=҃  ̃ = =N^T|~f^eywjfee~#3ITw~8y~e^yyw~.3.ܗZeTN3.w~fTDw#.F~{383333"T~w#32NEǛ癞.#^FeeI22^f^".3"ޞNjTw!"82˹~feN绹#82wDNw|#82~eed~3.ZUyyw#4FJJdww~8VN~8nnV~盞~T~Nywe^|3I檦fV^y~#y~jjeN{~(ܗoU痗w>w~寪fUN(-jeMN~828n~#38.EM{!!33"^yy2#32Njf\VT#,#^ZeN"2-^毪eN|#2ޞNVfT{}8˹~D黻ww82wFVVN黹~32~寪^盗~~#.dNww8NnEd{nVyyT~Nywe^|3I檦fV^y~#y~jjeN{~(ܗoU痗w>w~寪fUN(-jeMN~828n~#38.EM{!!33"^yy2#32Njf\VT#,#^ZeN"2-^毪eN#2ޞNVfT{~8˹~Dw82wFVVGy32~寪~~#.dy~y~8Nn癙{nV|y~ޙ~y~yT~MeW3I檦fVY#y~jjeK{(ܗoU~w>w~寪fUN黙(-jeMN~28n绛38.EMw~!!33"^y2#32Njf\VTy,#^ZeKs2-^毪eNw#2ޞNVfT{y~8˹~D鿹82wFVVNy32~寪^p~#.dN8NnEd{nVyyT~M癗eWy3I檦fV^y~y~#y~jjeN{(ܗoU痗w>w~寪fUN(-jeMN~828n~#38.EM{!!33"^yy2#32Njf\VT#,#^ZeN"2-^毪eN#2ޞNVfT{~8˹~Dw82wFVVGy32~寪~~#.dy~y~8Nn癙{nV|y~ޙ~y~yT~M癗eWy3I檦fV^y~y~#y~jjeN{(ܗoU痗w>w~寪fUN(-jeON~828n~#38.EM{!!33"^yy2#32Njf_VT#,#^ZN"2-^毪k#2ޞNVfT{~8˹~Dw82wFVVGy32~寪~~#. d~y~8Nn癙{n V|y~ޙ~y ~yN{^Ty~f^e~wNjfee8^T∌Ne^~.3ZeTfTDw#8>F~{3832T~w38EǛ.3NFleIw22^f^仹.3"^jT鹻w"8-^feN翹#NDN~~3,eed~8NZU~8^FJJdwy~#^VN~~nnV{NTf\e~jm]LNZNfTFͻTEwFl{wjfIw~仹w乻w~뗛~y랞瞙^~yqNw,~Nw8^~#^~nV |{ zq̿{I g$< ǻb* =t"s?l]Ϧ"":U ϶O5z$B[_vB϶"쯤"W]d+;l ݅S3z$B< 5z"I+<U6kBU< s/]< f|{6<vƷʺv i{ ̟ {   ǿ|ǯ O ǿtK<||I*{)BlSIB+3 5b+"/slk//s[ g"ID/u jKOv {/ b+x IB+u{l ݿIBsU37wI+lXǯ$B< 5^oƿ$+<1l2U<gǿg]< kja< k{̫aƟk l k O Ǽ   ǿǯ tK< {* |ƿIBl{)3SIB+sl 5b+"/s[k//u g"ID/v LjKO L{m/x b.ou{l I&s ݿIf™+lU37|əB<XǬd$+< 5^ok2U<1lˣg]<ka<lkv vƙlak lOk l ˻v ͌ ׷   ǿ˿ ǯ ˿| ǿ{tK< |vI*{)BlSIB+3 5b+"/slk//s[ g"ID/u LjKOv L{/ b+x IB+u{l ݿIBsU37wI+lXǯ$B< 5^oƿ$+<1l2U<gǿg]< kja< k{̫aƟk l k O Ǽ  ׷  ǿǯ˿  ˿|tK< ǿ{* |vIBl{)3SIB+sl 5b+"/s[k//u g"ID/v LjKO L{m/x b.ou{l I&s ݿIf™+lU37|əB<XǬd$+< 5^ok2U<1lˣg]<ka< kvƙlak Ok ˻v   ǿ ǯ| OtK< ǿ*||IBl{)3SIB+sl 5b+"/s[k//u g"ID/v ҜjKO L{m/x b.ou{l I&s)ܿIf™+l"U37|əB<)Ǭd$+<)9^ok2U<1lˣg]<ka< kvƙlak Ok ˻v   ǿ lǯ OjtK< ǿk*||rIBl{*y3SIwb+sl 5b"/s[fd/u nID/v lKO ~ܔ/x bou{l I&s ݿIf™+lU37|əB<XǬd$+< 5^ok2U<1lˣg]<ka< kvƙlak Ok ˻v L̜z)LzD, ggIǻbI ly fϢ,s lϼV&l&_|oFlƯlFoyob), ojB of{js, k6I,ƷL ia̜, 1d]4QVa1eEEQT1xS&fnTQEaXwDZT\ܺFDaC(x#]Xx24ͻUlafR"L22#̻e\aeER"KD5CffiTC#L22#n2#[Xx24͹U3#]DXC=˻2C"eDC4dESLaVDwxTT]34F2TYDT1T3DDVVUEeDE3E2fV4UETC3UEC]TE\d3<fEe4VaedT4eTC#edR$VfUB!$ET212""#A2"41LVafEET1CT^UQEaw2fiV̥FDaExExE˩la225Շ#L۸e\a Yza"$("<˹fzTU"$IT;˽nfD24(";́iQ"5#KۑEZi25E3ܻ2)xTD3FDX4˹2TIwJEڤ4QVExDECC4F2TVQaQADDVVfecE^NDTE3E2dT=TC3UC3TE\fSMVEeaeTC#edR$VfUB!$ET212""#A2"41d]4QVa1eEEQT1xS&fnTQEaXwDZT\ܺFDaC(x#]Xx24ͻUlafR"L22#̻e\aeER"KD5CffiTC#L22#n2#[Xx24͹U3#]DXC=˻2C"eDC4dESLaVDwxTT]34F2TYDT9T3DDVVUEc*DE3E22QٚTC3UDTETE\\EffE34aVa5aedT4eTC#edR$VfUB!$ET212""#A2"4QADE=13Vd]4QVa4QnQT1xS!DFT]TQEaXwAd62<ܺFDaC(x#d52$ˊUlafR"Eh23e\aeER"UaC3ffiTC#EaSM̻n2#VaT\U3#SEjfmC2C"eDC4d5jT3>aVDwxFDDF2TYAUDDVVUFaU3E2fVaC3UfaTE\fEVaedT4eTC#edR$VfUB!$ET212""#A2"41T=TfVa1aT1xS&fnTQEaXwDZT\ܺFDaC(x#]Xx24ͻUlafR"L22#̻e\aeER"KD5CffiTC#L22#n2#[Xx24͹U3#]DXC=˻2C"eDC4dESLaVDwxTT]34F2TYDT9T3DDVVUEc*DE3E22QٚTC3UDTETE\\EffE34aVa5aedT4eTC#edR$VfUB!$ET212""#A2"4QyAxr'D"xyxE(8)1xw4QVarwnQT1xS!TYTQEaXwAg62<ܺFDaC(x#h52$ˊUlafR"Eh23e\aeER"UaC3ffiTC#EaSM̻n2#VaT\U3#SEjfmC2C"eDC4d5jT3>aVDwxFDDF2TYAUDDVVUFaU3E2fVaC3UfaTE\fEVaedT4eTC#edR$VfUB!$ET212""#A2"4SECT3CQw2fS1ExEX312252C1 Yza"$DUVazTU")2T1eUD21TQEai"8ەFDaEZia25A]4QˊUa2)xVD3FEQhaTIwTAfExDxNDQTT=feC32jfSMaVeF2̖TDVU32aCUfTE\fEVaedT4eTC#edR$VfUB!$ET212""#A2"41xS&XwDC(xQ#QfR"QeER"QUTC#a2#UQ3#QC"iQC4DwxTYVA=3SMa̖QaQfaQU3FaaCAaSSSVafRbb$ET212""#A2"4OHRRPGCE.PT1 Y9 iu i ˺y ˽˪ o򽻽̺yܺ9h˧u9 b˧[י yf̧y̧ə ˧}뙙 {{{ dzu]뙙 յzs ө =9 Y}yܾTܣ&))Qܷh(&)|sYohiޥٙ {]h)Q}왙 ӹ]{; ;˥ܹ y DDDD@DD@Gs4@HD@4JۆD@GR"@JۨDDLR"4HDD~RFDDUDhDDU6DDUUUdDD"%UDDDC1"",8dDDDB"",DDDD%R",&hDDBY!#DE"#Ε#hDR!1"%!Fd*R!1""!H突R"3""Y!jUR""Y"jۄU"""U"JdR"""%"HD|"""3,!dD|"""3DDDG""!3ÈdDDDC11jDDD31DDC8DDC!D@C14ۄD@DDDD@DDDOHRRPGCE.PT2 " + * " *3j3:33:Ue 3D:33 +4D33 U-4DC: ̽4D3: ,̖ݻCC33 +ƙDD333 " 驙lf4C33Vɖqm 4DC4ZZ쟺 i쪬ɫ4DC:*xq 웿ڪ9:jxx۪ 3  xqɪ *젪q+ɪ l" ۪ڡwz̙ɠ ڡqqJ/욪 aΪ/ɠjrvʪ  qq j  ɪ -ڧ욪ڡqwq ̖ڪw 얪r+z"  wʺ q ٫ ߺ  ߠ yw^WwUWu^^ywwuu噙ww~ww^y~Wwwwwwww~YwwwwuUUW^噗~ywwwuUUUU^UU癗^ww~UU^U^UU陗噙w~"U^UUYu癗w#2!UU^yu陗#D3"ꎅU^y~~#DC3"]y~Y4DC22!^UU^Y^yC43#B!X^y2D2C"^^ȫU^!#C1!C2ʍU^321#!1D2^מּu43!>D2.Yu^~C!!4B!u^~^$C""$C"YwU~4B#2"!#D"Wyu^D143"!D.w^D!DC2!C!#!wWu^~RC#DC2!2""2Wu^~Q2DC""2yy~~#D3!Q"#.4Nyw~~C2yu#!.D3y~w!3!W^>#C2~yy!WuuA43!~Y癙u^4!#3.#W陙~y~2""1~w"2.~~""w!C!~!2W^~4!噞""#!~~3!.y1!"n"y~2yB.2癙!C!nBuyD!2k1D2C.W~~~DCBkwUw^4B!2k1~~^U#2"!~U^!!c!UUQU!!^QUUUU^OHRRPGCE.PT3%""!"!"""!#3"#2"""#32""33""#33""#3"("3332"#3""#333333332""3333335US33"""33""#3333US33""32(5UU32("#3"US3"(#3(US2"!3(5U3""25S2#3U3(!253"!!#(3S2!3#U2(!2("53(!8"(53"!("""#S""!1#(#U2)!"13#52"!#1253"!#12d59!#11興59"!311xn5]2"3!(!sH3\2"3((!(n3Y2"#3((!(w3*"#3(!"(8h5,"33(!"5S("32(!"興53(#S2(28n53("3S22xx52#5S"2sn"U2"3US"2#U:5u3"2(h#S-35u3"S(%S-3WS2"S"،"5R,3WS"(52(؋#52,5u3"(#S(ȫ<"3WS2"(#U2(ܢ3UuS2"!"5S23;wu32("3WU2"#ɺ#wS3"(""#5wU3*:uS3"""3Ww3:32""!2"35y3932(""(#3"33UwwYw}Z3"""#(32"#35wwww\2"""""2#32""3UwuUˬ2""""#3("335UUUUUU""""3S235UwwUS3:"""3U2"#35UwwuS"#3US233333333US2"#38""9wwuUS2"(#2"3UUUS32"("3"3333""(#8"""""""2""""!#("2"("( ; ETBS s "DDETB E3 {{$"ETB %#s x; UD+ Rx{{+ ETK E';; x $UA %G7{ eBTxx{ $eK E(7;Fd+ %G{3x; $fT W3w{; VeT Rxyss; EfUB T8 3 EfeT+ E(xx{w FeUB %Gxws8{EneUD+Rxx2;$^UTA Txxw$B#EneUD E(xxrDUeA$VeR!D %GwrEVffRxEb$DDD!EORxtUBDVd8B$UUUTDTTxwwtT+E$EVfeUD$UUK E8swEU+ %(EffUTBB %(sEUK $HEUTB!CsUBnGtVeUDUUKRx3uT+NQt^eUEUOT87E+NQt^eUEUT E'7T+Nb1VUUDED! %C4R&1UnfUUBS%K x;UfeUTBEUBR%K $Re8;EVfeUUTDUUT T%KEQV{EUUUUDBUUB EEKEd^wDUUUDD!EO %E+VeNxDDDDBT+U+ V^#xDD+ BU $nVCx; $+D EnVSx;B $ EUAxs;T+ %UAxsp EB $oeB837 +T+  ^eB73"<˷7 %B EB "^B3sA;TT+ %AVD#s$A;{<E+UBTET!EK˻< %B UUKUBETAxVK{8pT+ EUT+ ET+ DnTB8f+xsw0UK $eTB %eB $VUB$e+;8̀ ERVUD"$VR+DUeD#EeȻT EeTB$UeTBEEneTA2E|UB %fUD$BEfeDUU$VT!4U{8p UD$VeDBETVTEVREVT!V ETA$VfUDEUVeUeQ$UD"V+˻UBDVeDDUVfVeAD%D$VKUT!DUneUDUVoneEfTVR;{ UTA$UneTEUnne$UUfEoR ={ EUD$UnfUEUfeET"enT} %UTBUfeTVVTUe#sUVd|w;eUDEVfVenQVCU+<ӃVUTEVnfefnUKVWDVKLJ EeUDVnffQ ETyvQNBȻ %fUTUfU %neSud&Tx;VUUEfeAUeTeEe+ ;VdVUVoT+ D"EeTVK{ EEeVneB71VQED+0{ %$VnT 9%nT%UB7;nTVoT+VDfeKx ^EndB EfVfVT FTVTEfT%e %nene+ eBVK0nT^eAER VneK EUDd DUDEnefe+D+VT!KBVeNR $+ EVT%+ BEeAVBVeBEd" VnT+ ""DDBOHRRPGCE.PT4KaUeVE6T4iTFTFwC#hwxz4""hxxtR$TFw^14i9aE:U3aEaUeVE6a4iT^1TFwR$hwxz"4"hxxtC#TFw64i9TE:U3aES%2aB1SA2aEhTZeETEiUNS#HC4iXE4I=a#ax#A%Q1S%2aB1SA2aVE^DXDVT2:D3V54DSB1I,a1ax"QAcQaEU3Hx:wH9aRxV^abIraD9iAbJ4VR62VC5#eB$JS6ES"6TUeVaaVUHx:wH9TRxV6bIrC5D94ViAbJR62Va#eB$JS^aES"6aUe3aE1%Qx#A#aQ4I=ai#XES#24HC4ETEiUNEhTZe2aSAB12aS%cQx"QA21aYB1I,a#DSV"542:C#D3DXDVTVE^2aSAB12aS% 8 )v| HDyĈd+ƆdGyWdha43 Ffdt7fdtwahQ1FFĆDf,4fF hfA3xl8 < )sؗ HDxĈd+fFƆdGyWFFdha4w Ffdt7fdtwahQ<ĆDf, hfA3| L da fFL AA ƈnd7< ȈfE}|AaȆM>3v۞7xF I컚aZdĄ| hd F hdd  hAs fdW1 dѓS< a\w1dě˹v a˵8F HA aƆAd 8 hD3xlĈm,4fHƁӛQ1FHd\ytw ut7d\943ƁyWhm+ FfD)~W= ΍ hD6Ĉm,ƁӛQ1d\yt3 ut7d\94wƁyWFHhm+fH FfDy)|8W< hd Ą| Zd I컚aڞxFȆM՚vȈfK9Aaƈnd28?iIC3X8R< FL ƖL f fdL iFLl 33%,<[88C%1_Xʌ8( d1S<< sij(ˊd ̼R 2S FD!>2̿IH!8id"ǿMU#8'Z5(8SD!<" 2, ̼ ̼ 2, " FD!<̿IH8S8id'Z5ǿMU#8"̿(!D!>22S ̼R f L 8R282S<39BRFL d ̙fLdƙL Fl ˊ sZ( ҈1S<<m(_Xʌ8[88C%1 33%,< iFLl fdLfƖL ۙ]+UQC]f2C!h#!49C+ -:7u 1HDW"1 D7C-] $j441}-6a')S'] 8iYq &< - ۙ)Yqf7)S']h$41}7C-] -:W"1 1HD7u DC+ $j3!49-6a"C! 8kUQC] &<] - ! h#b"92u#G!,u!W #4#IW%w 4453 D2$$#C2 3!##2# : - -  !&  9x!U #3+ 4r2R=#N4r5A#A!CYWC"BB4;'22=#-- 1hݛ#   - - &< 8iYq-6a')S'] $j44} D17C]] 1JB~W! -=1$7]u*49ۗh#!'ٹf2ח+UQ]˽] - &<] 8kUQ]-6a"ח $j3!'ٹ D19ۗ 1JBt7]u -=1.W!*47C]]h$4}f7)S'])Yq˽ - - j 26 28C2 BMD#C2 1J253 !H#IW%w6!,u!W+2uӼˁbh ! -   6 ,hݛ#=#--$B4;'!CYW4r5 Ck2R Bʁ3+ ;̸!U !  b 5Uf1S5Q;SuWQSu7wwuuUWUUuUuu;15uWUuQSUQS[35Q;; 5UG ik ik 5UGS5Q;;uWQS[7wwuuQWUUuUuu;15uWUuUSUQSu35Q;S 5Uf1 b Q 5u; 3WUQ SWu3˻ U33115SCʃ237S\ieeuUsT%c\7UXic+>7u6uu15ƖR<W;H"Q>uQ1|wS΄&[ 'SԻ b1 c b 5U1f1SΨ+Suԁu7b˽UUf촃u;15+˺QSA[3΄a; 5U1G ik ik 5U1GSΨa;uԁ[7b˽QUf촃u;15+˺USAu3΄+S 5U1f1 b 1 # u;Kk 7uUsT%c\7S\ieeu5SCʃ23U3311SWu3˻ 3WUQ 5u; Q c b1 'SԻwS΄&[uQ1|W;H"Q>u15ƖR<U1<>6u US333 55wS;̻# 5uU WS 5 ׼ ï jj=qcgu2,ƪ={Ts,ʯfIRj5tTïfrGv =tRƦcA ïA jj=qRcguvƪ={TʯfIRj5tTs,ïfrG2, =qƦc ׼ jc < m<R!eATl̈\ ƦL jl 6< jc o3, m MB KxE qȂ jl< Ư ?< ׼ ƪc =qï<ʧG2,ceMTs,ʦINUƣ{Tcuv jm=tRïA ƪcA =tRï<ʧrGvceMTʦINUƣ{Ts,c2, jm=qï ׼ jl Ʀ>L \ ̈AT!em<R < jc ?< Ư jc< qȂ KxE MB m o3,jc 6< f3 ӈ82S' ̃S%KYȌ3[[EnYӈ5nkY <3UnWӈ5k!Ȍ3[[EQ} ̃S""ӈ82 ֪8 f f ֪8 ӈ82 ̃S"BȌ3[[Ea}ӈ5kA <3UnWӈ5nYȌ3[[EY ̃S%ݻYӈ82S' f3 83 ӌ̈ ȃm -6=$'̈"$%'̃je%8Vӄ[ 8ګ޾] j= 3 3= 8Ȉ !̈=f! _je82jT2Ve32榪eTy3>feYq#.䯪TI|jeE~f^N~jfT|VeeGq#.jTTy3>_je32jT2Ve82榪eT}#>feY#.䯪TIjeE~f^NeeTjUUGw.寭ED>]I3.Lכy8dٻ܃Fɲ3dy>eTNj^NfeVVUN.eUTw~ZTTI.oeD|#>jTy>VNݛ-Îlܛ((VL8jUDVef^NNf^jeE~䯪Ty|eIq#Jˑ37ܷ!ͻjmݹr8T{#8~fQ#>VeUG#.jfT~Nf^jeE~䯪T{eIw#.Jˑ#>ܻ#8~jmݹr8Tw!ͻfQ37VeUA#jfT|~fej^NeTNdy>Fɲ3dٻ܃Lכy8]I3.寭ED>jUUGw.eeTf^NVejUDVL8lܛ((VNݛ-ÎjTy>oeD|#>ZTTI.eUTw~VVUN. }lS̫a{| ؅uSG{ Io ؅ Uy ؅iK[ DoZS*{1 ؅;S̿ l l S̿ ؅;SJ{1 IoZ ؅i[ Uy ؅K DoS'{ ؅uS̫a{| }l r, b{lf΅S${l ޅG;| ߖ?| $# y# o_u ;˺ " l1˦'c U;bO7XڤkܳNܢD癗H: [ }'Ń̫aJ ֻD{Xg I t,[ gͦ7 Dczܡ +Ń̿ l l Ń̿ +zܡ Dc gͦ7 t,[ Ig ֻD{XŃ̫aJ }' ˺ ;_u o y# $# ߖ?| ޅG;|΅S${l b{lfr, [ H:癗NܢDkܳXڤ U;bO71˦'c " l UZ Y UZ*R D"BJ$+hFJ HHD&d"$*"((B"$kj HHD&$+F D"BZ** UZ Y UZ UZ Y UZZ** D"B$+F HHD&"$kj"((B"$* HHD&d$+hFJ D"BJR UZ* Y UZ U 1Z 1 UUQ31Z ** JU*OZ$**JHD"JH%*H!7۶̄$kj Z((BjDD̔$- Z 3 Q3 * UZ* 3JUQ*J DB*$B*(*JJIYZJzYݻ* Hq\BFj DJLBM Z UZ Q31 U"*R D"BJLJ H!7d̔$*Z((B̄$kj H!7۶% D"Z$** U Q31 UZ UZ Q31 UZ$** D"% H!7۶̄$kjZ((B̔$* H!7dLJ D"BJR U"* Q31 UZ DD̔$- Z((Bj̄$kjH!7۶H%*HD"JOZ$**J JU*Q31Z **UU1 1ZU Z DJLBMj Hq\BFzYݻ*JIYZJ$B*(*J DB*UQ*J 3J UZ* Q3 *3 Z NN̢.̮̮.N̢N̮̮̮$D.kDkBۢ$.̭n"*"HB$.̮.$.̮̮̮̄k̂+ݺ$j,.̦*N.$.B,",ܮBN.DNDH.DB."*l*,",ܮB..DDH.DNBN"*l*$.HB"*"ṋkBۢ$.DkD.$̮B$.N.*̦j,.+ݺ$k̮̮̮̂̄$..̮OHRRPGCE.PT5 ^ss~w>W>Wuwwu>w^ߏ7uwߏߏ ߈߈߈Wu߈w>߈s7^wuWuwuwSwu Ik I I I;f;; Ik; IK31 iK313333131k3IK31i11 3iD 33 33333 133333 13333 13 iddK iD DiDFDD F ?1A0k``@@?1A0k``@@OHRRPGCE.PT6+řśP )ś Y™ɛ YPśPɻR Y, R  \ə ))YYRY\Y,U % %%  P\R%P, UUUU"%U""UR YRR) RYř YP)ř P YP Y Y)))Y Y  ›Pś\)[ [ \ P [ )Ż %, ,\ % P \, " \Y\) \\ ŕ R[ Y  ɹ \\[ YR )," [, řU"Y%[› ›U,ɻRŻ Y)  [P[[[Y+%+%)%)")") P) PP) P % % % YR% YP)YY [U RYU"%PRɻR,+,%R̛P, %R [Y[[P +Y[ %YY )%  U%%Y +%ŵ% %•%R̒Y ̒%%PP % PP% R \ " P\ŕYR P P"[PY% P+%PY%ɰɻ%PY,YUR\%P U, %YU"%ɻ[[[[Ż %P"Y\[+++)\YP \Ż[YY[PŵY, [U )PRY[[ )ɵ%))% \YR [UYP P +\[ % [R +[P ŹɵŐ%R P R)"U  )PPY % YPP RPP PPP OHRRPGCE.PT7wwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxOHRRPGCE.PT8'q www3wwwwq!wwww!2wwww!!wwww!!wwwA!1wwqA#wwqC1!31ww31"1www31"1xw3A""!wC3A"""#wwww1C4""""wwxa334"""#0wwa33332"""#10wx312"""!30wVa"31""""!30xeUaC3""""110fUQ31C4""""13UDC1CA"""#0UDDUUACD"""!#30TDDADDE3A2"""!32 DDQDDDD3D"""#!2 aDDDD4A3"""!!0 eUDDUQ42"""!211fUTDAEA2"""1213" fTDEAAEQ3""""1""" UDQC31$2""""""" eUqD34"2""""#2" D31"""""2#2"0D31""""""#1A3"!"""""""1A4C""""""""#3 AA3"""""""2"" eD3"""""""#2" TDD3""""""""330UE2""""""""#aVC2""""""""#032""""""2"" 332""#"""#"" xC3"""2"""#2" x3"""2"""#2" ww3!#2""""1"10 ̫l ׫ ׫ ܜ{ʼ| || ʼ||  ǻʻܻܻ|ʼQܫȃ|̌ʼ\ܼXܬ5|  ̼X̫ǪgleAVfffeTEeDUUUUD盻pTFffeUffffUUUUUNwUffeTEVfffff^ENVfADDFffeTEUUNDfAEVfUVeTEffeUNEfnjeEUDVffeUUUNeajf^ADffDUjffNVfdNwwyywqNfjVfUFffnWywyfTTfeUQyy뻰feDFeVTwTFjeVd~EjnUe2|pff㈈w~fdF^(|f^d~(|ffE3f^w~UN|Np} #.q| ∈ EÈ?Nq2/}wfffd~w|feUUq}fEjnfUUT|pfjFfUUUw~|ݿVjfeUUU~DjeUUUUU̞efUVfffeUUUUUyfUfTFfffffUWQL~{fffffGEffffUUD|ΛQfjTtUVffUUU登fQJUUUUUUTwpVf^FeEUUUUUNTEU^ZfADffeUAFfffffeUUApfjffUAEffffffffUUUTpFfeUUUQEUUUUUUUUQNuUUUUUUADDDDyUTUUUUUUUUTDDDy{wwwURBٙ ,{wu\Iٙ +u,IĝݙdDw\əĝݙfD ƔLmٙdBDDFi`dL-ݙDLD\DD)ٙdDirDL)ٝDDřݐDDIDL&ݒPDDDDIݜDDdDIݜ+ZDDƙDDݙݜ+™dDDٖF\[[uPDDDFiݔDm,iDDDDDFbDDD@|DDFDDDffFfffDLDDFiݙdDLDDfiݙfdDLDDfiٙfffL]|DffiٖfdDDDDDDffffDLMB DDDDLM.̿"R""-¿33p8\p, ݿ$R31+|LRR 3,͒|-,DD[}~|DLŰ̬BLK Պ-,Dˠ }--,{p \u\"\%l[DDL \'¿DD@ $,U¿|,@DDDDD,{"%ݒ|"UiϻəfUwR\u,\ruLƙ[+ɹfLf ·,kfLDf@KdL@׾[̶fmQ" wwvifWf"Ȭfb 슆Vzffffff gzꪛ}]3 fenwy"UUPewݹ3"" 3-" ꪧwww̹2%! ff{S2%#0 _쪪R30 f3U"30fS fb#= 着f330 jf=P Xꪪf` hxȨfffff`膈興ffmQ"P f=]3" eꪨ33 x# ڮwwvw==jww˛˹s=%hk̻333"fhfffkhe42-""#06ꪪfffm#E#2"""=fm#="""-P2jffffgۼ34=3"-" 2fi}]DD="3" Cֻɛ̽DC2"4&˛̽DBR33"P $-}DC3332-P$2k{DDC33-0TBٻ3D32{0CV=wٻ#32s0C&w}}u D!ݿRD=UwfaquU2D2VZf=43&faꈆfo=4C!ffff]fw%$C!KK;ADk4J@UUUUU=@Tˁ4ݪ@<ŽݪDDJ컵<̴ڪJA [ڪ;JKA@ ;ŵQڪDJD[D UDڪT@Vi\Uڪ4D \k9[몪Q ڵ廹Jڠ λf^ڠHYAڠ D3\DUڪ@[^ڪ@]ڪ庪Mڪ<3ڪ^>;>Mڪ˪0ݪ5J@5Mݪ:ẫAĹDڪJ{95ڪKJ0E̼V:ڪ^ \[JKC@ M̎\庋HK ^_KJ M^_\[YU컪58J̵\\˪ݤ@ û>üS촪ĄC̵4ڪ^㻪ڭݪC 3ڪ4C<˳ڪ[ŻڪK~۱J4H@J1i[D@DJݪ@FDDDB"DDDDDD,0DDDDDDD$L/@DB!D( HL ݌H̯(@ HFfff`DDFfff@LFffd@ѯ|dDDD@lDD!AdLDLMDD@ ؈< DADD3 D Lď>=݈<,LH ݎ<: N݈ܬ= ݈<} ܍݌DOR} 4˜x|,4,̪5̍O?)fLU#̎܌F5\}݌fCJffh }Ff̎fdAĈD$DHADHlDDDDAfffDDHďffDDDDDD!BHďAfffDL̈fffDDL݄ffffffDDBȍ݌ADDbDDDDDH33AFfa0OHRRPGCE.SAY--------------------------------------A test failed!${S0}-------------------------------------- Let's check whether player box- advance works... OHRRPGCE.SHO(OHRRPGCE.SNG"" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" OHRRPGCE.STFTOHRRPGCE.STT HP.MPAtkAimHitsDefDogCtrSpdType 1Type 2Type 3Type 4Type 5Type 6Type 7Type 8FireIceLitEarthOtherOtherOtherOtherHeadBodyArmsLegsMagWilMP~" "" $ ExperienceItemDONEAUTOSORTTRASHWeapon-REMOVE--EXIT-DiscardCannotLevelYesNoEXITQ7-for next5REMOVE8Pay6\gCancel(+(CANCEL)aNEW GAMECEXIT~cPAUSE Quit Playing?3*,OFXYes=-]No/#CANCEL-}ItemsSpells#Status}A_EquipldOrderW0XTeamB8$zSaveHGQuit<*HMapV61Volume^Buy [a dzSellOipInnILOHHireYExit4vh CANNOT SELLoVA Worthfok@ tPO Trade for%OrRand aVḛ Worth Nothing @#SoldQЙU` Trade forrЈ` ׃ Joins for(Ei' Cannot Affordڍ#J Cannot Hire##U| PurchasedJoined!in stockEquip:No Room In PartyReplace Old Data? Who's Status? Who's Spells? Equip Who?Nothing Has Nothing Cannot StealStolemissfaillearnedFoundGainedWeak to Strong toAbsorbsNo Elemental Effects has no spells Which Hero? Name the HeroFound aFound THE INN COSTSYou have CANNOT RUN! Level up for levels foranddaydayshourhoursminuteminutesLevel MP$D damage from $E$D damage from $E Immune to $EAbsorbs $A damage from $EFireIceLitEarthOtherOtherOtherOther Type 1-killer Type 2-killer Type 3-killer Type 4-killer Type 5-killer Type 6-killer Type 7-killer Type 8-killer Element17 Element18 Element19 Element20 Element21 Element22 Element23 Element24 Element25 Element26 Element27 Element28 Element29 Element30 Element31 Element32 Element33 Element34 Element35 Element36 Element37 Element38 Element39 Element40 Element41 Element42 Element43 Element44 Element45 Element46 Element47 Element48 Element49 Element50 Element51 Element52 Element53 Element54 Element55 Element56 Element57 Element58 Element59 Element60 Element61 Element62 Element63 Element64Elemental Effects:OHRRPGCE.T00k z{z{z``V`a{zppqrp{zmno"#$}~$"#$"##$xZiki*+,k*:p<,:pVp<OHRRPGCE.T01+smno}~XhOHRRPGCE.T02mno}~OHRRPGCE.T03!mno}~OHRRPGCE.T04K +qZaqGGOHRRPGCE.TAPPpOHRRPGCE.TIL􉔔FFFFؔppAAAAAFFFFFFFppvFFFFFFFFFvppv׈FFFFFFFFFFFFvxppppxAFFFFFFFFFFFFFFxvvvxxAAFFFFFFFFFFFFFFxxvvxxAAFFFFFFFFFFFFFFpxxvvxxxxAFFFFFFFFFFFFFFxxxxFAAFFFFFFFFFFFFFFpxxxxxxxxAAFFFFFFFFFFFFFFؔxxxxxxxxxxxAAFFFFFFFFFFFFFFxxxxxxxvxxxAAAFFFFFFFFFFFFFFFxxxxxxvAAAFFFFFFFFFFFFFFvxxxxxxFAAFFFFFFFFFFFFFFؔvxxpxxFAAFFFFFFFFFFFFFFֈpvvvvvxxxFAFFFFFFFFFFFFFFvvvvpxxxFFAFFFFFFFFFFFFF𖖖vxxFFAAFFFFFFFFFFFFppppFFA򈉉FFFFFFFFFFFFFpppFA𔉉FFFFFFFFFFFFF𔉉ppFAAFFFFFFFFFFFF؇ݔAAAAAAAAAAAAAFFFFFFFFFFFFFؓݠvAAAAAAAAAAAAAAAFFFFFFFFFFFFFF؉xpp`FFFFFFFFFFFFFᓉ xxAAAז``pFFFFFFFFFFFFFFFᔉݔxAAAv`FFFFFFFFFFFFFF؉𔔓ؔxxAvFFFFFFFFFFFFFFFFؓ ֈAAxFFFFFFFFFFFFFFFF։ ؔAAxFFFFFFFFFFFFFFF؉ݧ v𹹹AAAxxFFFFFFFFFFFFFFFFFvv𹹹AAAxxFFFFFFFFFFFFFFFݔ𔹹AxxFFFFFFFFFFFFFFFFAxFFFFFFFFFFFFFFنAAAxFFFFFFFFFFFFFݔAAvvFFFFFFFFFFFFFFFFنxAAAvpppvFFFFFFFFFFFFFFFFݔxAAvFFFFFFFFFFFFFFFFنxAAAׇppFFFFFFFFFFFFFFև𹹹AApFFFFFFFFFFFFFAAAA𹹹AAApFFFFFFFFFFFFFF𔉈AAA􇔈FFFFFFFFFFFFFFAAAA@@@FFFFFFFFFFFFFFFxAA򇇇F@@FFFFFFFFFFFFFFxxxxApppFFFF@FFFFFFFFFFFFFFxxxAApp@@FF@FFFFFFFFFFFFFFF؉xxxxAvvFFFFFFFFFFFFFFFFFFxxxxAAAv@FFFFFFFFFFFFFFFFFxxxAAAxxxFFFFFFFFFFFFFFFFFFAAxxx@@@@FFFFFFFFFFFFFvxxxx@FFFFFFFFFFFFFFFFݔvvxxxxF@FFFFFFFFFFFFAAAxxxx@F@F@FFFFFFFFFFFxxAAxxxF@@@FFFFxxxxxxAAx@@@FFFFFxxxxAAvvv@@FFFFFݗxxxxxxxAAvpvv@@FxxxxxxxAAv@@@FFFFFFxxxxxpppFFFFFFؗpppvvFFFFFFFvppvvppFFHHFpvعvvvvvvApppFFvp׹vvvFvvAAAAApFF FHvpvٹxFAAAAAF F pppv xxxFFxAAAAFHppp xxxFxAAApF p xxxxxxxAAA򈈈F Hv xxFAAA቉FFHHv xxxxFxxᔉFFF Fvv xxxxxxxxxxFF xxxxxxxxxxApHF xFxApH H׹xxFxxAAAF  x׹xxxxxxxxAAAA𔉉 vx׹xxxxxxxxxAAAA𓉈F HFpxٹxxxxxxxxxxxxxAA𔔉F عxxxxxxxxxxxAA򉈈F ׹xxFxxxቔFHF vpٹFሉH FHHpعAA򈔔FHH vpعApxAAAAApxxxxAAAApxxxaAAAApxxxxؔAaAAxxxxAA𔉈xxx  HvavHHaAvv𔔔vAaA𓉉vx֧vA𔈉vxvvvAA􉈉vvx؈vavvaA􇗗vvaaAAA𗔉֖vvpvvևvaaAAAApv֔𖔖vapv։ap𔉔𔉉AA𔉔FFFFFFvvvvv𹹹FFF@FF@vvppvFݹ@F@pݹp@FF@Fؓxx@p؉F@FFx𔹹Fp@F@F@F@x𔹹@F@عvpFF@FFF@ݔ𔈹FF@𹹹p@FF@@FF@xp𔉹@FF@׹p@@FF@@FFֆ؉xp@@FFعxF@@F@@x𔉹F@@׹xؔFFFFFFF؉pFFF׹xؔFFFFFFFFFݔxp𔓹FFFFٹvFFFFFFFFFFFFعv@@FF@@@FF@x@@FF@ٹp@FFF@FFFxpxp@FFFṹٹvpp@FFF@@FFF@xx@FFF@عv@FF@@@FF@@xxp@FF@@ع@FF@@@FF@@p@FF@@׹p@@@F@@@@F@@@@F@ٹp@@@@@@@@@@@@ع@@FF@@Fvvvvvvvvvv@@FAFFFFFFFvvppvvvppvFFFAAAFFFFFFFFppFFFFAAAA@@FF@@@FF@xxxx@@FF@AAAA@FFF@FFFxx@FFFAAAA@FFF@@FFF@xpx@FFF@AAAAAAAA@FF@@@FF@@p@FF@@AAAAAA@FF@@@FF@@xpxp@FF@@AAAAAA@@@@@@@@xxp@@@@AAAAA@@@@@@@@xxp@@@@AAAA@F@pp@AAAAAAF@FFFF@FFxpxpF@FFAAAAAAAFFFFFFFFFFFFAAv@@FF@@@FF@xx@@FF@AA@FFF@FFFxpxxpx@FFFAAAAAA@FFF@@FFF@xxxx@FFF@AAAAA@FF@@@FF@@xxxx@FF@@AAAAAAA@FF@@@FF@@@FF@@AAAA@@@@@@@@@@@@AAAAAAAvvF@@@F@@@F@@@AAAvvvvvvvvvvvvv@@FF@@Fvvvvvvvvvvvvvvvp   AAAAAvvvvvvvvvvvvvvvFFFFFFFFvvppvvvppvvvvvv ppAAAAxxFFFFFFFFpp `` AAAAAAAAxxxxxxxxxxxx@@FF@@@FF@xxxxvvva  p AAAAxxxxxxxxxx@FF@FFxxpap AAxxxxxxxxxx@FFF@FFF@xpxa p AAAAxx݆xx@FF@@FF@pppa p AAAAAAAAxxxxx݆xxxxFF@@FF@@xpxpvvva pAAAAAAxxxxxx؆xxxx@@F@@xpxpa AAAAAAAxxxxxxxxxx@@F@@xxap AAAAAxxxFFppa p AAAAxxxxFFxpxppaFFa AAAAAAxxxxFFx@@a  AAAAAxxxxxxx x@Fxxv AAxxxxxxxx xvFFvxpxxpxa  AAAAxxxxxxFxxxxa  AAAAAAxxxxvvvvxxxxaa ppAAAAAA `` AAAAAA@FppAAAAAAAFFFF@   AAAAA􇔈AAAA􇈔 AAAAA AAApp`pp`pp`pp`pppppppppppp AAAAAAAAA     p ppp  AAAAA     ````  AAAA          AAAA     pp p p     AAAAAAAA              AAA         AAAA         AAAAAAA                  AAAA           AAA      A        AAA              A                       AAAAA                                                      x                 xxxx        pxxx              xxxx          xxxx         xxx                         v         vv          vx               vxv           pvvx    p v   ppp p  pppp p         pp pp     pppp p vv    pppppp pp ``v      pppppp v     pppp    FFFFFxxAAAAFFFFFFݔxpxFFFFFFFFFxppppx׉FFFFFFFFFFFxpppvxFFFFFFFFFFFFxvvpvxAFFFFFFFFFFFFFvvxxFFFFFFFFFFFFFFݖvxxvx􉔈FFFFFFFFFFFFFFFvxx􉔉FFFFFFFFFFFFFFxxxvFAFFFFFFFFFFFFFFpxxx򈔔FFFFFFFFFFFFFFFpxxp򔔈FFFFFFFFFFFFFFFpxxxxpxFA򔉉FFFFFFFFFFFFFFݔxxpFA򔉔FFFFFFFFFFFFFFF֔vxxF򉔔FFFFFFFFFFFFFFFؔvvxxvpx򔉉FFFFFFFFFFFFFֈpxvvF򉓈FFFFFFFFFFFFFpvpppFA򉉈FFFFFFFFFFFFF𖖖pFFA򔉉FFFFFFFFFFFFFpppFFAA򔉔FFFFFFFFFFFFFppFAA𓓔FFFFFFFFFFFFFF֔ٔvAAAAAAAAAAAAAAAFFFFFFFFFFFFF؇xpppFFFFFFFFFFFFFF؉xxppFFFFFFFFFFFFF֔ xvp`FFFFFFFFFFFFFF቉xxx`vFFFFFFFFFFFFFFFFFؓ֔𹹹xv`xFFFFFFFFFFFFFFFFF֔ ؔ𹹹xxFFFFFFFFFFFFFFFFFF؉ ։𹹹xxFFFFFFFFFFFFFFFFF֔ ؉vv𹹹x`xFFFFFFFFFFFFFFFFF𧧧𔔔x`xFFFFFFFFFFFFFFFFFFvvAx`xFFFFFFFFFFFFFFFFFFAAx`xFFFFFFFFFFFFFFFFFF𖔔AAxppFFFFFFFFFFFFFFFFx`vFFFFFFFFFFFFFFFFvpFFFFFFFFFFFFFFFFxpFFFFFFFFFFFFFFFApFFFFFFFFFFFFFFF𹹹ppFFFFFFFFFFFFFFAAA𹹹𔉉FFFFFFFFFFFFFF𔔈@@@FFFFFFFFFFFFFFF؈vA@@@FFFFFFFFFFFFFFF݉AAApppFF@FFFFFFFFFFFFFF݈xxxxxAAAppFFF@FFFFFFFFFFFFFF؉xxxxAvpvFFFF@FFFFFFFFFFFFFFؔxxxxAxvv@FF@@FFFFFFFFFFFFFFxxxxvxFFFFFFFFFFFFFFFFFFFxxxAAAAxx@F@FFFFFFFFFFFFFFFAAAAxx@FFF@FFFFFFFFFFFFFAAAAxxx@FF@FFFFFFFFFFFFFFؔvvAAxx@FF@FFFFFFFFFFFvAAxxx@FF@FFFFFFFxx@F@@FFFFFFFFFFxxxxxAAAAx@FFFFFFFFFxxxxxAAxvv@@@FFFFFFFFxxxxxAAAAAAvv@@@FFFFFFxxxxAApppp@FFFFFxxxAAppxFFFFFFFFFppppFFFFFFؗpvvvpppppFFppٹvvvvvᔓppppF HHvٹFFp H ppvعFFAAAApHFHvv FAAAAApF pv AAAAAApF  pv AAAFFHFp FAAA򉉔FFp FHHݗ FAᔔ F FAp Fx xFFxAᔉF FعFF򔔔F HFعFFAAAA򇉉F HFFxٹxFxxAA򔉉H FٹxxxAAAAAAFFFHFpxعxxxAAHFFvvٹFAA򉈉 F Fٹᔉ vٹAAᓔF HعA򓉔vᔔAAᔈ݈򓔉xxxxxAApxxxxAAAApxxxx݈AAAAAAAApxxxAAAxxx AA􇔈݉HHA𓔉 vvሉvv𔔔pHv򉉉vxxvH֖vAvxvaaAAvvAvv֨ؗvvvaAAAvvvvavvvvAAA𓓔𗓓؇va֖vvAA𓔉v؇aA򓉈𔉔AAؔ@@@FFvvvvv@ݹF@FFpppFpFFFF@F𹹹Fp@F@Fp@ݹvp݉@F@FF@FݹxpFFF@FFFFFFṹṹxppFFF@FFF@FFF@ṹx@FF@@FF@p@FF@ṹxFFFF@FFFF@݈֔FFFF@׹xv@FFF@@FFF@@FFF@׹xFF@@FF@@FF@@׹xv؉FF@FFF@FF@عxp@FFFF@FFFFp@FFFF׹xvFFFF@FFFF@FFFF@ٹxvFFFFFFFF𔔉FFFFṹٹv@FFF@FFF𔔉p𗈔@FFFṹعpFFF@FFF@FFF@عp@@F@@@@F@@@@F@@ٹpF@F@@F@F@@pF@F@@׹𔔔@@@@@@@@@ع@@@@@@vvvvvvvvvv@@@AAAF@FF@FppppppF@FAAA@FFFF@FFFF@FFFFAFFFF@FFFF@FFFF@AAAAAAAFFFFFFFFFFFFAA@FFF@FFFp@FFFAAAAFFF@FFF@FFF@AAAAAA@@F@@@F@@@F@AAAF@F@@F@F@@F@F@@AAAAAAAA@@@@@@AAAAA@@@@@@@@@@@@AAAAAAAFFF@FFF@pFFF@AAv@FFFF@FFFF@FFFFAAAAAAAAAAAAFFFF@FFFF@FFFF@AAAFFFFFFFFFFFFAAA@FFF@FFFpp@FFFAAAAAAAAAvFFF@FFF@FFF@AAAAv@@F@@@@F@@@@F@@AAAvvF@F@F@F@F@F@AAv@@@@@@@@@AAAAAAAAvvvvvvvvvvvvvvF@@F@@vvvvvvvvvvvvvvvp  AAAAAAAחF@F@F@F@pppppp  AAAAAAA@FFF@FFF  ppAAFFFF@FFFF@vvv p AAAAAFFFFFFFFpv  AAAAAA@FFF@FFFFpvpAAAAAAח݇FFFFFFFvpAAAAAAAp@F@F@F@vvvAAAAAAAAAA݇@F@@@F@@vAAAA@@@@pv AAAAAx@Fpv  AAAAAAAA؇v@vp@@ AAA݋FF@F   AAAAAAx HvFFvHHHa  pAAAAAAAxpHHF@F Fa  AAAAAxF FvFvppvva AAA@aav AAAAAAAAA֗vv  ppAAAAAAAFF@   AAAA@FF@F  AAAAAAAAAAAAA򇇈AAApppppppppppppppp AAAAAAAApp pppppp  AA          AAAAA            AAAAAA           AAAAA pppp  AA         AAAAAA               AAAAA              AA    p p pp       AA        AAAAAAA               AA                 AAAA                   p p p p AAAA      p  p p p       AA                                                      xxxxx    p ppp     xxxx           xxxx            p  p  p pxxx          p p  p ppxxx pppppp pp                     vv         p p p pvxxv       p p p pvxv   p p pp               p vv           p       v          p       𔉓𔉓𔉓𓉉𓉉𓉉𓉉 pp       pppppppppppppppp   v    FFFFFFFxxAAAAAFFFFFFFFFFF؉xpxAFFFFFFFFFFFxppppxהFFFFFFFFFFFFxvpppxFFFFFFFFFFFFxvpvvxAFFFFFFFFFFFFxxvvAFFFFFFFFFFFFFxvxxvA􈉉FFFFFFFFFFFFFFxxvA􉔔FFFFFFFFFFFFFFvxxxFA􉔉FFFFFFFFFFFFFFxxxpFFAFFFFFFFFFFFFFFpxxpF򔔔FFFFFFFFFFFFFFpxxxxpFA򉈈FFFFFFFFFFFFFFFpxx򈉉FFFFFFFFFFFFFFxxv򔔈FFFFFFFFFFFFFF֔pvxxvv򔉉FFFFFFFFFFFFFFvvxpFF򉉉FFFFFFFFFFFFFFpppvpFF򉔉FFFFFFFFFFFFFFpFFA򔉈FFFFFFFFFFFFFFpppFA򔈔FFFFFFFFFFFFFFppA򇇈FFFFFFFFFFFFFFؓֈx𔔹AAAAAAAAAAAAAFFFFFFFFFFFFFFؔوxx􇇇pFFFFFFFFFFFFFFևݔxpppFFFFFFFFFFFFFFؔ وxAAA`pFFFFFFFFFFFFFF􉉇֔xxAAv`pFFFFFFFFFFFFFFؔ։ֈAAx`xFFFFFFFFFFFFFFF؉ ى֔xAAxxFFFFFFFFFFFFFFFFFؔ ݔֈvAAxxFFFFFFFFFFFFFFFFF ٔ։AxxFFFFFFFFFFFFFFFF֔vv𔹹AAx`xFFFFFFFFFFFFFFF֔vAAAx`xFFFFFFFFFFFFFFֈvvAxxFFFFFFFFFFFFFFF@ى𖔈AAAAx`FFFFFFFFFFFFFFFFٔAAxp`FFFFFFFFFFFFFFF֔AxppvFFFFFFFFFFFFFFF֔AvFFFFFFFFFFFFFFFAAA􇓈ppFFFFFFFFFFFFFF֔𹹹AAAAAppFFFFFFFFFFFFFFA֔𹹹AAA􈔉FFFFFFFFFFFFF𔔈AAA􈇈@@@FFFFFFFFFFFFFvAAF@F@FFFFFFFFFFFFFxAAp@FF@@FFFFFFFFFFFFFFxxxAppppFFF@FFFFFFFFFFFFFxxAAAAp@@FF@FFFFFFFFFFFFFF݈vAAvvvp@FFF@FFFFFFFFFFFFFFxxxvAAAxvxFFFFFFFFFFFFFFFFFxvAAAAxxFFFF@FFFFFFFFFFFFvAAAAxxx@FFF@FFFFFFFFFFFFFvAAxx@FFF@FFFFFFFFFFFF݈vvvAAAAxx@FF@@FFFFFFFFFFvxxx@FF@@FFFFFFFFFFxAAxx@F@FFFFFFFFFxxxAAx@@F@@FFFFFFxxAAAAxv@@F@FFFFFFvxvvv@F@FFFFFxxxvv@FFFFFFFFxv򖖖ppvFFFFvAApppFFFFF֗vppvvvpppppppFFFppعvvvvF򉓉ppp HFFFvعFFAAApH H vppعFFAAF F vvٹFAAAAA򔈔H vp׹FAᇈF HvpٹFAHFHpعFFAA򔉔p HFp׹FFAAAAA򈉈 FFFٹFFpH HFعFFFpHHFxعFFFA򈉔FH FٹFAA𔔉H HعFAAA𔉉 HF عFAAAAA򓔔 FH xعF HFF p׹F  FvvٹFF򔔉HFFFٹFAAAF vٹF򈔉FHFFعFᔉv򈔉xAAxxxᖉAA𔈈xxvAAAAA򉉔vp݉v቉xxxvpvv𓉈xvp 򈉔vHAAA򇔉vHAvvv𔔔ݗለxxp֨vvvAA𔉉vx𔈈֗vAAAA򉔈xvvHؗvAAAxvpHvvvavAxxpvvaAA𓔔vpvavvAAAvvHvvaaaAAAAAAA𓈉vؖvvvAxv֔aAAAAA𔉔AAFFFFvvvvv@FF@@Fpp@pF@FF@pF𹹹ppFF@FFFFݔFFṹp݉FF@FF@@pFF@׹vpFFFFFFpFF׹x@FFF@FFFp@FFFṹ׹xpvFFF@FFF@؈pFFF@ṹ׹xpvFFFFFF@FFFعxp@FFF@@FFF@p@FFF@عxpv@FFF@@FFF@ppp@FFF@ٹxv@FF@@FF@𔓈p@FF@ṹٹxvFFF@FFF@@FFF@׹xFF@@@FF@@@FF@@@عxFF@F@FF@F@𗉓FF@F@عxv@@F@@F@@@F׹v@@FF@@@FF@@@FF@׹pF@@FF@@FF@@Fٹpp@@@@@@@@𔉉ppp@@@@ṹ׹@@@@@@𔉔@@@ṹع@F@@@F@@vvvvvvvvvv@F@@AAA@FF@@FF@pppp@FF@AAAAAAAFFF@FFF@𗋋ppFFF@AAAAAAFF@@@FF@@@FF@@@AAAFF@F@FF@F@FF@F@AAAAAAA@@F@@Fp@@FAAAAA@@F@@@F@@@F@AF@FF@F@ppF@FAAAAAA@@@@@@𗉇p@@@AAA@@@@@@@@@@p@@@@@AAAAAA@F@F@@F@F@p@F@F@AAAFF@FF@pFF@AAAAAFFF@FFF@FFF@AAAAAAFF@@@FF@@@FF@@@AAAAAAFF@FFF@F𗆆𗗆FF@FAAAAAAAAA@@F@@F@@FA@@FF@@@FF@@@FF@AAAAAvF@@FF@@FF@@FAAAAAAAAAv@@@@@@@@@@@@@AAAAA@@@@@@@@@@@@AAAAAAvvvvvvvvvvvvv@F@@@F@@vvvvvvvvvvvvvvvp AAAAAAAAח@FF@@FF@pppp    AAAח𗗗FFF@FFF@𗋋pp pp AAAAAAAחFF@@FF@@vva  p AAAAחFF@F@FF@F@pvAח𗗗@@F@@Fpv pAA؆ؗ@FFF@FF@pppv pAAAAAAח݆@@F@@F@ppvvv AAAAAAח؆@@@@@@FppvAAAAAAݗ@@@@@@v AAAAAA֗vvppv AAAA𗔓v@FvF@pppF@ AAAAAAAAA݆FvF@vHH AAAA򗗗݆HF@𗋋v  pAAAAA֗؋v@v𗆆𗗆@  AAA֗pvFvvvv AAAAAAAAחvvvFvvv𗗗aa AAAFvpp  AAAAAAח𗗔vvFvvF   AAAAAAחFF@FF  AAAAAAֈAAAA֓ AAAAAAAAApppppppp AAAApppppppp AAAAAAA     AAAA              AAA           A      p p p pAAAAAAAA           AAAA              AAAAAA              AAAAA    p pp  p AAAAA    AAAAAA              A                AAAAA           AA   p p p p  AA     ppp pAA                                v                 x                 𔈔xxx             pp p pxx        v       p  p p p       xxxv      pp p p      pxv    p p p p p p p pv         v             vvv     pp  p p    xx   p ppp    vx   ppppxvv          pxv           pxx          v        p vv  𔓉𔓉𔓉𔓉pp v     pppppppppppppppp xv     FFFFppAAAAAFFFFFFFFppFFFFFFFFFFFFppvAהFFFFFFFFFFFFؔxppppxvAFFFFFFFFFFFFxvvvxAFFFFFFFFFFFFFݔxvvxxAFFFFFFFFFFFFxxvvxxpAAFFFFFFFFFFFFFFxxxx𔉔vFAA􉉔FFFFFFFFFFFFFFxxxxxxpvAA􉔉FFFFFFFFFFFFFxxxxxxxxAAAFFFFFFFFFFFFFFvxxxxxxxvAAAFFFFFFFFFFFFFFvxxxxxxvAAAFFFFFFFFFFFFFxxxxvvvAהFFFFFFFFFFFFFFpxxvvvAAFFFFFFFFFFFFFvvvvvpAFFFFFFFFFFFFFFpvvvvvFvAFFFFFFFFFFFFFvvFvFFFFFFFFFFFFFppppvFFAFFFFFFFFFFFFFFpppvFAFFFFFFFFFFFFFF𔔉ppFAAFFFFFFFFFFFFFFևxApFFFFFFFFFFFFFؔݗ𔈹ppFFFFFFFFFFFFFؔx𔔹AA``ppFFFFFFFFFFFFFF։ xxv``FFFFFFFFFFFFF݇xAAvFFFFFFFFFFFFFF؉𔈈xAAAAAvxFFFFFFFFFFFFFFؔ AAAAAxFFFFFFFFFFFFFFFF AAAAAAAxxFFFFFFFFFFFFFFFF 𔈔vvAAAxxFFFFFFFFFFFFF𔔔v𔹹AAAAAAAAxFFFFFFFFFFFFFAAAAAAAFFFFFFFFFFFFFFF𔈈v𔔹AAAAAAxxFFFFFFFFFFFFF𔓔vAAAAAppxFFFFFFFFFFFFFF𔈈AAxvFFFFFFFFFFFF𔈹AAAAAAAAvvFFFFFFFFFFFFFFF𔔔𔔹AAAAAAAAAvFFFFFFFFFFFFFF𔓔AAAAAAppFFFFFFFFFFFFFF𔔔AAFFFFFFFFFFFFFFA𔓈𹹹𓔉pFFFFFFFFFFFFF𔈔𔇓@FFFFFFFFFFFFvvvvpF@FFFFFFFFFFFFFFppF@FF@FFFFFFFFFFFFFFAAppp@FFFFFFFFFFFFFFFFFAAAAvv@F@@FFFFFFFFFFFFFF݈AAAvvF@FFFFFFFFFFFFFFFvxxxF@FFFFFFFFFFFFFFAAxxFF@F@FFFFFFFFFFFvAAAAAAxxx@FFFFFFFFFFFFFFFvvvvAAAxxxx@FFFFFFFFFFFF݈vvvxxx@FFFFFFFFFFFFvvvvAAAAAAxx@@F@@FFFFFFFvAAAAAAxxxxF@F@FFFFFFFFFFFvAAAAAxxx@@F@FFFFFAvxxv@F@FFFF݇vvvvvv@FFFFFFF؇vvvvv@@FFF؈v𖖖pp@vFFFFFFF؈vvpp𔈓FF@F؉vvvvApvvvpppFFvpٹAAAA򉇔ppppppHFFFpvعFFAAAAAAFHFFFvpvٹFFAAAAAFFvpppٹFAAݨHHFpppعFFAሉF HFpٹvvFA𓈈 H FpعvvvFvA  FvٹvvvvFvvHHFvvٹvAAA FFٹvvvFvvvAApF FعvvvFvvvAAAAA򔉔 H׹vvvvvvvAAAAAFHF ׹vvvvvAAAAAFFFF vٹFFHعvvvvvvvvvvቔF عvvvvvvvvvvvFؗعvvFFvv𔉈pHFpv׹vvFFvA򓉉p FpٹFFAF FFpvعFAAAvvvv𔉔pAA򔔔ᔈAAAAA𔉈vvAAAAAA𔔉pa𔉔pݗቈv𔔔Av𔈈 Avvvv𔔉 򈔉vvvHؗ򓉉xxا֗Ax𔓔vAAAAvv𔉔֖vvAAx֖vvv􈔈vvx𔈈vvaaaAAA𓈔v𓈈HؗvaavvvvAA𔔉pHv𖈖aaAAAx𔈔pvvvvaAAAvvpؔaaA𔉉pA򈓉𔔔F@@𹹹𹹹FF@@pp𹹹F׹F@@F@FF𹹹F@׹pFFFFFFFpp𹹹FFعppݔFFFp𹹹FعppFF@FF@@pp𹹹FF@عvvFFFFFFFFp𹹹FFFFṹعvFFFFFFFFF֔ppvFFFFعxvFF@FF@Fpp𔹹FF@׹x@FFF@FFF@pv@FFFعxFFFF@FFFF@pppvFFFF@ٹpFFFFFFFFpFFFFṹعxpFFF@FFF@Fp𔹹FFF@׹pFFF@FFF@FpFFF@عv@FF@@@FF@@vp@FF@@׹v@@@@@@Fvvp@@@ٹp@@@@@@@@vv𔔈@@@@ṹ׹pF@FF@F@vpF@FعF@FF@FFpF@Fٹp@@@@@@@@𔉉𔔉p@@@@ṹعFF@FF@FF@AAFFFFFFFFppppFFFFAAAFFF@FFF@FFFF@AAAAAAAFFF@FFF@FppppFFF@AAAAA@FF@@@FF@@pp@FF@@AAAAAA@@@@@@pp@@@AAAAA@@@@@@@@Fpp@@@@AAAAAAAF@@FF@@FFpvppvF@@FAAAAAAF@@FF@@FFpppF@@FAA@@@@@@@@pppvppv@@@@AAAAAAAAAFF@FF@pppvpvFF@AA@FFF@FFFpppp@FFFAAAAAAFFF@FFF@FppFFF@AAAAAAvFFF@FFF@ppFFF@AAAAAA@FF@@@FF@@vv@FF@@AA@@@@@@vvvv@@@AAAAAAA@@@@@@@@vvvv@@@@AAAAAF@FF@F@vvF@FAvF@@FF@@FFF@@FAAv@F@@@F@@F@F@@AAAAAAAAF@@F@@𔉔p    AAAAAAA@FFF@FFFFpppp𓔉 ppAAAAAvvFFF@FFF@F`` AAAAFFF@FFF@ppppvvva  pAAAAAAAvv@FF@@FF@ppv p AAAAAAvvvvv@@@@ppppv p AAAAAAvvvvv@@@@@@@@ppv  pAAAAvvvvvvvFFFFFpppvpppvvvvvv pAAAAvvFFFF@ppv AAAAAvvvvvvvv@@@@@pvpvvv pAAvvvvvvvFpvpvav p AAAAAAAAvvvvvvvppppaFa AAAAvvvpvFFFppHa AAAAAAvpvHFFpp HvAAAAAvvvvpvv HvvvFvvvFFav  AAAAAvvvvpvvFFvvvFvvvvvvav  AAAAvvvvvvFvvvvvaap pAAAAAAAAvvv@vFvv `` AAAAFppAAAAA𔉉F@FF@   AAؔAAAAAAAAؔpppp AAAAAA؇pppppppp AAAAAA`pp`pp`pp`pppppppppppppp AAAA        pppp  AAAAA   ``` `    AAAAAA     AAAA         ppp p  AA                  AAAAAAAA         AA       AAA              AA          AAAAAAA         A         AA               A        AA                                                     vvvv                                     p                                         v                  vvvv         vvv       xx             x          pvv        px   ppp p ppp p pvvx     p ppp   v    pppp p       ppp p pppp `` x    pppp𔓈pp vv   pppp   HHHHFppHHHFFFHFH,-,,,,,,,,&,,,,,,&,,&,,&,&,,&&ؙHHHHFpHpFFHFpHHFFFFFFFHH,&,-,,,,,,,,,-,&,q,,q,,q,q&ٙHHHHFHHHpHHHFFFFFFFFFFFFH,,,,,,,,,,&,,,,,,qqqq,qq,ٙHHHHHHHHHHHHHFFFFFFFFFFFF,,,,,,,,,,&,,,,&,-&ٙHHHHHHHHHHHHFFFFFFFFFFFFFF,&&,,,,,,,&,,,,,,,ʆ,aaؘHHHHpHHHHHHHHHHHFFFFFFFFFFFFFFFF,,,,,&,,,&&,,,&qqqq,``vHHHHHHHHHHHHFHFFFFFFFFFFFFFF--,&,,,,,,,,,,,,qq,aavHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,-,,,,,&,,,,&-,&  &`vחHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,,,,,,,,,,--,--,qq,HHHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,&,,,,,,---,,--,qq ,FٗHHHpHHHHHHHHHHHHFFFFFFFFFFFFFF,,,,&,&,--,-&,-,  ,FaؙHHHHHpHHHHHHHHHFFFFFFFFFFFFFFF,,-,,,,,--,,,,-&qqqqq ,vvHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,,-,&,&,-,--,,,qqqqqq &aaaHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,,,,,&,,-,,,,,,qq&avvHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,,&,,,,,,,,&&,-q,vFaavHHHHHHHHFHHHHHHHHFFFFFFFFFFFFFF,,,,,,,,&&,,,,,qqqq&pF@יHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,@,--,,,,,&,,-&qqq,p@@HHHHHHHHHHHHHHHHHHHFFFFFFFFFFFFF,,,,-,--,,&,--,&`F&&HHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,-,--,,-,,&,-,,&qqq,,,&HHHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,-,,-,,-,&,,-,,-qqq,,,&HHHHHHHHHHHHFFFFFFFFFFFFF,,,&,&,,,,,-,-,,ccFHFHHHxHHHHFFFFFFFFFFFFFF,,,,&,&,,,,,&--&qqqqq,c,,FFFFFHHHxxxxHHHHHFFFFFFFFFFFFFF,,,,,,,,,,,,&,,qqqqqc&,,&&FF`FFFHHHHxxxHHHHFFFFFFFFFFFFF,&,,,,,&,,,,,,,q,&&,&,&qq``FFHHxxxxHHHHFFFFFFFFFFFFFF,,&,,,,,,,&,,,,q&&&&,&&`qHHHxxxxHHHHFFFFFFFFFFFF@,,,,,&,,,&&,,,qqq,,,&,&,,HHHxxxHHHFFFFFFFFFFFFFF@-,&,,,,,,,,,,&&qq&,&&,,&,&HHHFFFFFFFFFFFFFF,-,,,,,&,,,,&-@&,,,&,,,&&&,HHvHHHHFFFFFFFFFFFFF,,,,,,,,,,--,--&qq,&,&-,,,&,&HHHvvHHHHHFFFFFFFFFFFFFF,&,,,,,,---,,--,q,,,,&-,&&,&HHHvxHHHHFFFFFFFFFFFFFF,,,,&,&,--,-&,-,qc,&&&,,,&&,&HHHHvxvHHHHFFFFFFFFFFFFFF,,-,,,,,--,,,,-&qqqq,,,,&,,,,,,&HHHHvvxHHHFFFFFFFFFFFFF,,-,&,&,-,--,,,qqqqq&&&,&&,,,&&&HHHvHHHFFFFFFFFFFFFF,,,,,&,,-,,,,,,q,,,,,&,,-,-&FFHHHHHFFFFFFFFFFFFFF,,&,,,,,,,,&&,-q&-&,,,&,&,&&FFFFHHFHHHHHHFFFFFFFFFFFFFF,,,,,,,,&&,,,,,qqq,,-,&,,,&,&,cqFFqFHHvvHHFFFFFFFFFFFFFF,@,--,,,,,&,,-&qq,,,&,,&,&&,&&FFFFHHHHvHHHHHFFFFFFFFFFFFFF,,,,-,--,,&,--,,,,,,-&,,&&,&FHHFHHHvHHHHHFFFFFFFFFFFFF,-,--,,-,,&,-,,&qq,,,&&,,,,&&,,FHHFHHHHHHHHHFFFFFFFFFFFFFF,-,,-,,-,&,,-,,-qqc,,,,&&&,&,&,,,FHHHHHHHHHHHFFFFFFFFFFFFFF,,,&,&,,,,,,-,,&&,F&&,,,,,,,,,,FHFHHH@@@FHHHHFFFFFFFFFFFFFF,,,,&,&,,,--,-,&qqqqq&&&,,&FFFFFHHHF@@FHHpHFFFFFFFFFFFFFF,,,,,,,,,,,,-,,qqq,,&&,FFpFFFHFFFFF@HpHFFFFFFFFFFFFFFF,&,,,,,&,,,,,--q&&,&&AAAAAAAqqqppqFHF@@FF@HHFFFFFFFFFFFFFFF,,&,,,,,,,&-,,-q,&-&,qqFFHFFFFHFFFFFFFFFFFFFF@,,,,,&,,,&,,&-qqq,&F&&HF@FFFFFFFFFFFFFFFFF@-,&,,,,,,&&&&,&,&F&,HHFHFFFFHqFFFFFFFFFFFFFF,-,,,,,&,,,&,,,&&,&,FH@@@@HFFFFFFFFFFFFF,,,,,,,,,,,,,&,&,,F&,􇛇HqH@FFFpqFFFFFFFFFFFFF,&,,,,,,----,,&,qq,&F,&A􇛇HqHF@FFqpFFFFFFFFFF,,,,&,&,---,,,,,qq,&,,AA􇛇HHq@F@F@pqqFFFFFFFFFFF,,-,,,,,--,--,&&qq,,F,,AHF@@@qFFFFF,-,&,&,-,,,,,@qqq&&F,,AH@@@HqFFFFFF,,,,&@,-,,&,&@qqq&,FF-&F@@qqHFFFFFF,&@,,,@,,,,&@qqq,&-,݋FqFFFH@@pqppHFF,,@@,,@&&@@@@&&,&&ًqqqqFH@@FqpFFFFFFF,&@-@@@&@&@@,&q&q&q,F,,qFFqFqHHHHHFHFHFFFFFFFFFH&&@&@&&&&&&&&&,q,q,q&FFF&,FFFFHHHHHvvHHHHHFFFFFFFFFFFH,,,,&,,,&,,,,&&&q&&q&&q,FF&,AFFFHHFHHHHHHHHHFFH,&,,&,-,,&,-,,&-&&q&-&&q&-&&q&,F&,,,,,,,,,,HFHFFFFFFFFHFHFHHHHF&,,,&&,,,&&,,,&,,,,,,,,g,,,gg&&,,FFF& HFF@FF@qqFFHFHqHHHHHF,&&&,,&&&,,&&&,&&&&&&&,,,,,f,&,,FFF HH@F@FFFFFFFFHHH&&,,&&&,,&&,,&&,,&&,&,,gg&&&,FFFF  H@HFF@FqFqFFFFHH@,-&,&--,&--&--&,&&&&&&&,F&  HF@FFqqqqqHHpF,&&&,&,&&,&,&&,&&,,,,,&,,&,F& H@F@F@F@qqqHHH@F@,&&&,&,&&,&,&&,,&&,,,,,,,&,,&  FF@FFF@FHHFF@&,&&&,&,&&,&,&&&,&&,&&gg-,&,@FF@@FF@𛛇HFH@FF@,,&&&,,&&,,&&&,&&&,,,,fg,,,&&@@FF@@FFFHFH@@FF,&,,,&&,,,&&,,,&&,,-,,g&,&F@@F@@HHFHpF@@,&,,&,,,,&,,,,&,,,,,,f&,,,HFFFFFFFHHHHFFF,,,,,,,,,,&,,,&,,&,&,&,FHFFFFFFFFFHHHHFFFF&&,,,&&,,&&,,,&,,,&,&g,,,FF  FFFFFFFFFqHFHHpFFFF&,&--&,&--&,&--&&--,,,,&&F @@FF@@@FF@HFHHH@@FF@,&&,-,&,-,,-,&,-,&,&,&F @FFF@FFFFFHHHH@FFFp&,&,&&,,&&,&&,&,&,,gg,,F@FFF@@FFF@HFqqHHHHH@FFF@,&&,,&-,,&,,&&-,&&g,& @FF@@@FF@@qqqqqqFHH@FF@@&&&&&&&&&&&&&&,,f&,&-F@FF@@@FF@@HHFqqqFFFHHHH@FF@@,,,&,,,,&,,,,,,&&f&&&&& @@@F@@@@F@HFFFFHHHHH@@@F@,-,,-,,&,,,-,,&,g,,,,&@@@@@@@@HHHFFFHHHHHp@@@@&&&&&&&&&&&&&&&&&g,,,,&H@@FF@@FHHHHHHHHHHHF@@FHHJHHf HFFFFFFFFHHHHHHHvHHFFFF&J&JJH&,g  FFFFFFFFFHHHHHHHHxHFFFF&J&HH&&&g@@FF@@@FF@FHHHHHHHHHxxH@@FF@&JH&&,&,&Jg @FFF@FFFHHHHHHHHHx@FFF&:JH&&&,&&:Jf@FFF@@FFF@HHHHHHHHHxx@FFF@,,aH&,,&,&,,H,@FF@@@FF@@HHHHHHHHH@FF@@,&v,,&&,,&,&:,@FF@@@FF@@HHHHHHHHHHH@FF@@&&`J&&&,,,&,&,,@@@@@@@@HHHHHHHHHv@@@@&,a`aJ,,&-,,,&,&-@@@@@@@@HHHHHHHHHvv@@@@&aJ&,,&-,&&,&,@F@HHHHHHHF@&v,,&,,,&&,&,F@FFFF@FFFHHHHHHHFHHHFF@FF,J&,&,,,,,,&,FFFFFFFFFHHHHFFFFF&:,,&&,,,&&&J-@@FF@@@FF@HHHHFHHH@@FF@,H&,,&,,,,-&J,@FFF@FFFHHHFHxHH@FFF,``,,,,,&,&,&&H,@FFF@@FFF@FFHFHFx@FFF@,vvJ&,&&,,,&,&,H,@FF@@@FF@@FFHxH@FF@@&vv``H,,,,,&,&&,&&J, @FF@@@FF@@`FFF`HH@FF@@&&,vv,&,&,-&,,&&,&Hf@@@@@@@@FFFH@@@@&&,vvJ,,,,&,,,,&&,,Hg F@@@F@@@HF@@@,&,,,J&,&,F&&,&,&,,,g@@FF@@FFxFFFFF&,,,,HHHHHHHHHHH,,,- FFFFFFFFݠFvpFFFFF&&,,,HHHHHHHHFHHH-,,FFFFFFFFFvvFFFFF,&,,-qHHHFFFFFFFFFH -,,@@FF@@@FF@ FFvxFFFF,,&,&HHHFFFFHHH @FF@FFFFFFFF,,,&HHFHH@FFF@FFF@FFFFvvF,,&,&qHHHH , @FF@@FF@ FFxFFvvF,-&,,qHFH-FF@@FF@@ FFxFFF&,,,,qHHFH,,H@@F@@ݧ FFFFvF&&&,&H-H@@F@@FvFFpF,,,,,qHH, HFFFvxFFv&,,,,HHH-HHFFFxvFFvv&&,,,qH HH@@نFxvFF,&,,-H HH@FݔFxvFFv,,&,&HF,HHvFFvنFxxFFv&,,,&q, HFFݔFxFFp,,&,&qH, HvvFvvنFxxvFFpp,-&,,q , HFևFxvFFv&,,,,F  HH@FAAAAFxpp&&&,&FHHHHHFFFF@Fvxpp,,,,,FFFFFFxxvFFFFH,-FFFFFFxxFFFFHHHH,,FFFFFFxxFFFFHHF,-,FFFFFFxxxFFFFH-,FFFFFFxxxFFFFHHHFFFFFFxxvvFFFFF,FFFFFFxxvFFFFHHF,FFFFFFpvpFFFH,FFFFFFpvxFFH,-FFFxvpvppxFFHHHH,,,FFxvvppvFHHHH,,-FFFxxvpppFHHH-FFFFxxvppxFFHHHFHH,FFvFvxxpxFFHFH-FxppxpxFHHHHFxxpppvFHHHFHH,FxxppvFHHHHFFFHHHH,,FvxxvxpFHHHHFHFFHFHHH,FFFvvxvvxxFpHFHHHHFHFHHH-,FvFxxvpxxpHHHHHHHHFHHHH,-FFFxxxxvxxFFFFFFFFFFFFFFFFFFFFF%%%%%FFxxppFFFFFFFFFFFFFFFFFFFFF%%%%%FFFxppxppvxFFFFFFFFFFFFFFFFFFFFF%%%%%FHHFxvFxpppFFFFFFFFFFFFFFFFF%%%%% ,HHHFHHHFxxvvxFFF FFFFFFFFFFFF FF%%%%%,HHFpFFpFpxFxFFFFFFFFFFFFF F%%%%%,,,HHHFHHHFFFFpFxFxFFFFFFFF FFFF F%%%%%,,,HHHHHHFvFFvxpFxpFxFFFFFFF FFF F%%%%%,FHHHHHHFFFvxpFxppFFFxFF FFF F%%%%% ,HHHHHHHHHFFFxvFFFpFFF FFFF FF FFF F%%%%%-HHHHHHFFFxFFFFxFFFFFFxFFF FFF%%%%%,HHHHFFFvxFFxFFFFFF FF FF F%%%%%--HHHHHHHHFFFvpFFFxFFFFFFFFFFF %%%%%,,,FHHHHHHFFFvpFFFvFFFFF FFFF F FFF%%%%%--,HHHHHHHHFFFvFpFFFvFvFFFFxFFFFFFFFFF%%%%% , ,HHHHHHHHFFFF@FFFpFFFFF FF FFFFFFFFFF%%%%%HHHFHHH[FFFFFFFxpFxFFFF FFF FFFFFFFFFFF%%%%%,HFHFvFF@FFFFFFFFFFFFFFFFFFFF%%%%% ,,FFFFFF@FFFFFFFFFFFFFFFFFFFFFFFFFFFF%%%%%-,,-,,-,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF%%%%%-- FHFHHHHHHHHHFHHHHFHHHHFHFHHHHHHHHHFHHHFHHHFFFFFFFFHHHFFHHHFFFFHFFHFF`FFF`HHHFFHHHFFFFHHHFFHHHHHFHHFFHHFHHHHHH`HH`HHHFHFHHHHHFHHFHHHHHHHHHHHHHHHHHHHHHHHHHHHFHFHHHHFFHHHFFFFFFFFFHFFHHFHFqqqqFFHFFHFFHqqqHHHHFFFFFFFFFFFqHHHHHHqFqqFFFFFFFFqqqHHHHHqpqqqqqqqqHHHHHqqqqqHHHHHHFqqqqHHHHHHq𛛛qHHHHHHHHqFqHHHHFHHHHqqHHHHHHHHqHHHHHHHHHHHHHHqFqHHHHHHHHqHFFFFHFHHHFFHHHHFHFHHHHFqHFqFqqFFFFHHHHHHHqqqqqqqqqqqqFHHHFHHHHFHFHFHHHqHHFqqqFFqFqFFFHHHHHHFHHFHHHHqHFFFFFFFHHHHFHHHFHHHHqqHHHFFFFFHHHHHpppppHHFFFFHFHH,&,,,,,,,,-,,,&&,,qq,,qq,,,qq&,,,&HHHHHHppHFFpFHpHFFFFFFFHH,,,,,,,,,,&-,,,&,q,q,q&,ؘHHHHFHHFHpHHHHFFFFFFFFFFFH&,,-,,,,,---,-,,,q,q,q,qq٘HHHHHpHHHHHHHHHHHFFFFFFFFFFF&,,--,,---,,,-,&&qq,q ٙHHHHpHHHHHHHHHHHFFFFFFFFFFFFF,,,--,,--,,,,,-&qqq,aaa٘HHHHHHHHHHHHpFFFFFFFFFFFFFFH,,,,-,,-,,,,-,,,qqq,``v٘HHHHHHHHHHHHHHHFFFFFFFFFFFFFF,,,,,,,,,,,&-,,,qq,aavHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFFF,,-,,-,,,&&,,,,,qqq ``pvHHHHHHHHHHHHHHHHHFHFFFFFFFFFFFFFF,&-,&-,&&,,,,,,,qqq  &חHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,,-,,-,,,,,-,-,&  ٗHHHHpHHHHHHHHHHHFFFFFFFFFFFFFFF,,-,,-,,,,--,-,qqqqqq aטHHHHHHHHHHHHHHHHFFFFFFFFFFFFFFF,,-,,,,&------,qqqFvav٘HHHHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,,,,,,,,,,--&--qqqqqqqFaaHHHHHFHHHHHHHHHHHHFFFFFFFFFFFFFFF,,,,,,,,,&-,,&-qq aFaavvHHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFFF,,,,-,,&,&-,,,,qqqqvvFaavHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF@,&,&,--&,,&,,,qqqaaFvHHHHHHHHHHHHHHHFFFFFFFFFFFFFF@@&,,---,,,,,,,qqqqqvv,HHHHHHHHHHHHHHFFFFFFFFFFFFFF,,&,------,&,,@&qqqqaa,,֙HHHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,,,,,--,-,,,,-,,qqqq&,,&HHHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,,,,,,,,-,,&,-,&,,,,FFHHHHHHvHHHHFFFFFFFFFFFFFFF,&,,,,,,,,,,-,-qqqqqFFHFHHHHHHHFFFFFFFFFFFFFF,,-,,,,,,,,-,,-qqq,,cFFFFHHHHxxxxxHHHHHFFFFFFFFFFFFFFF-,--,,,,,---,--qqqqqq,,c,&&qFFFFFHHHxxxxHHHHFFFFFFFFFFFFFF-,,--,&---,,,-,qq,,,,,,,F`qqFHHHHxxxxHHFFFFFFFFFFFFFF-,,--,,--,,,,,,qqq,&&,&,&q`FHHHxxxHHHFFFFFFFFFFFFFFF,,,,-,,-,,,,-,,qqq,&,,,,,,`FHHHxxxHHHFFFFFFFFFFFFFFF,,,,,,,,,,,&-,,qqq,&,&,&,&&&qFHHHHHHFFFFFFFFFFFFFFF@,-,,-,,,&&,,,&qqq&,,,,,,,,,HHFHHHHHFFFFFFFFFFFFFFF,&-,&-,&&,,,,,,qqq&-&,&&-&&,,`HHHHvvHHHpFFFFFFFFFFFFFFF,,-,,-,,,,,-,-@&,-&,,,,,,-,,`HHHHHvxxvHHHHFFFFFFFFFFFFFFF,,-,,-,,,,--,-,qqqqqq&-&&&-,&,,&`HHHHHvxvHHFFFFFFFFFFFFFFFF,,-,,,,&------,qqq&,&,,,,,-,,,`HHHHHHHHFFFFFFFFFFFFFFF,,,,,,,,,,--&--qqqqq&&,-&,&,,,,&qFFHHHHHvvHHHFFFFFFFFFFFFFFFF,,,,,,,,,&-,,&-qqq,&&&,,,,-,,,`HHHHHHHFFFFFFFFFFFFFFF,,,,-,,&,&-,,,,qqq,&,,,&&,&&,&FFFqHHHHvHHHHFFFFFFFFFFFFFFF@,&,&,--&,,&,,,qq,,,&,,,,,,,,qFFFFHHHHHFFFFFFFFFFFFFFF@@&,,---,,,,,,,qqqc-&&,&&,&&&&,,FFHFFFHHHHHHHFFFFFFFFFFFFFFF,,&,------,&,,@&qqq,,&,,,-,,,,,,,FHHFHHHHvHHHFFFFFFFFFFFFFF,,,,,--,-,,,,-,,qqq,,,&,&,&&&,&,&HHHHHHHHHHFFFFFFFFFFFFFF,,,,,,,,-,,&,-,&,,&,,,,,,,,,,,cFFHHFHHHH@@@HHHFFFFFFFFFFFFFFF,&,,,,,,,,-,,,&q&,&,&&&-,,&&-,,FFHFFHHF@@@HHHHFFFFFFFFFFFFFFF,,-,,,,,,,,,,&,qqq,,,,&FFFFpHHHHFF@HHFFFFFFFFFFFFFFF-,--,,,,,--,,,-qqqqqq&,,,A,AqFFFFFHHFHFFF@HHFFFFFFFFFFFFFFF-,,--,&---,,,,-qq,,F,,AAAAA,AApqqFHFFFF@HFFFFFFFFFFFFFFF-,,--,,--,,,&,,qqq&&,,,qqFHHF@FF@@HHFFFFFFFFFFFFFFF,,,,-,,-,,,,&&,qqq,,,,qFHFFFFFFHHFFFFFFFFFFFFFFF,,,,,,,,,,,,,,-q,-,-qFHq@F@FFpFFFFFFFFFFFFFF@,-,,-,-,&,,,,,&qqq,&F,,cFHq@FFF@qqFFFFFFFFFFFFF,&-,&-,&&,----,&qqq&&&FF@FF@qFFFFFFFFFFFFFFF,,-,,-,,,,----&qq,,,qFHFq@FF@FpqFFFFFFFFFFF,,-,,-,,,,----qqq,&,AAqF@FF@FFaFFFFFFF,,-,,,,,------@,FF,A􇛛FHqH@F@@qqFFFFFFFFFFF,&,,,,,&,,---,,qqq&F,,Aq@FqqqFFFFFFFFF,@,,,,,&,&,,-@,,F,,qFH@@@qqqFFFFFFFFF,@@,-,@&,@,@,@&,FF&ًqqqFq@@@FqqqHFFFFFFF,,@@&@@@&@@@,@,,,AAqFFFFqHHF@qpHFFFFFF,&@,@,&@,@,&@@,qqq,FFF,qFqqFqHHFHxFHqFFFFFFFFFFFFH,,,,,,,,@,,,,,,&&&,F,AAAAFFFFFHHHHHHHHHFFFFFFFFFFH&&,,&&&,@&&&,,&,&&q,&&q,&&q&F&AFHHHHvHHHHHHHFHH,,,,,,,,,,,,,,,&&&q&&&&q&&&&q&FFF,,,,,,,,,,,H@HFF@FFFFFHHHHH@,,,,,,,,,,,,,,,,,,,,&,,,,g,,,g,,,&&&FFFFHFFFFFFFFFFFHHHHF,,,,&,,,,&,,,,&,,,,,-,-,,,g,g,,,,FFFF HFHFFF@FFFFFFFFqHHHHF,,,,,,,,,,,,,,,,,,,,,,,gg,,&&FFF,H@HF@FqqFFqFFHHH@p&,,,&&,,,&&,,,,,,,,,,&g,,,,F,  H@FHF@FFqqqFqHFHH@F,,,,,,,,,,,,,,,,,,,&,,&,&,,FF,HFFF@FFFqqqHFHHFFFp,-,-,-,,-,-,,-,,-,&,&g,-,,,,FFF@FFF@qHFHpFFF@,&,,&,,,&,,,,,,,,,-,g,,&&,- @FF@@FF@qqHFH@FF@&&&&&&,&&&,&&&&,&&,&,&,,,,FFFF@FFFF@qHHFFFF@,,&,,,,&,,,,&,,,,&,,&&g,&&@FFF@@FFF@FqqqHFHFH@FFF@,&&,,,&,,,&&,,,&&,,,&&,-,FFF@@FF@@FqFHHHHpFF@@,-,,-,,-&&,,-&&,,-,&,&,FHFF@FFF@FqFHFFHHFFp@&,,,&,,,&,,,,&,,,,&,&f,-, @FFFF@FFFFHFHHaHH@FFFF,,,,,,,,,,,,,,,,,,,,&&,&FFFFF@FFFF@HqqqHHHHFFFF@&,-&&,-&&--&&,--&,&g,,,FF  FFFFFFFFHqqFFHHHHHFFFFp,,,,,,,,,,,,,,,,,,,,,&F @FFF@FFFFqqqqFHHHHH@FFFp,&,,,&,,,,,,&,,,,,,,,FFFF@FFF@FqqqFFFFHHHHpFFF@,,,,,,,,,,,,,&gg,,&F,@@F@@@@F@@HqqqFqFHHHHH@@F@@&&,&&&,,&&,,&&,,&,g,,,F,FF@F@@F@F@@HFFFFHHHHHF@F@@,,,,,,,,,,,,,,gf&&F,&@@@@@@HHHFFFHHHHHH@p@p@,,-&,-&&,-&&,,-&&fg,,,,,@@@@@@HHHHHHHHHvHH@@@JJJJHJF@FF@FHHHHHHxHF@FH:HJJ:,H@FFFF@FFFFHHHHHHHxxHH@FFFF&H,HH&&&,  FFFF@FFFF@HHHHHHHHHxHFFFF@,,,,,,,,, FFFFFFFFHHHHHHHHxxHFFFF&J,&&,&,&J,@FFF@FFFFHHHHHHHH@FFF,H&,,,,,,HJggFFF@FFF@FHHHHHHHHHHFFF@&&v`J&,&,&,&&&Jg@@F@@@F@HHHHFHHHH@@F@,,v`aH,,,,,,,,,H,,F@F@@F@F@@HHHHHHHHHvvF@F@@&vv`H,&,&&-&&,,fg@@@@FHHHHHHHFH@@,fvH&&,-,,,-,,g@@@@@@@@HHHHHHHHvvH@@@@,J&,&-,&,,&H,FFF@FFF@HHHHHHFFF@,H,,,,,,-,,,,,@FFFF@FFFFFHHHHFHH@FFFF,H,&&,&,,,,&fgFFFF@FFFF@FHHHHHFHHHFFFF@,`&,,,,,,-,,,gFFFFFFFFFHHFFHHFFFF&a&,&,&&,&&,&J,,@FFF@FFFFHHFHxH@FFF&vJ&,&,,,,,,,,:, FFF@FFF@FFFHFFF@&va,&,,&&,&&&&,,g @@F@@@@F@@FFFHH@@F@@,,,v&,&,,-,,,,,,,J,  F@F@F@F@HF@F@,&,vJ&,&&&,&&&,&,&H @@@@@@HH@@@,,,&:H&&&&,,,,,,,,,:, F@@F@@FxFFvFFFFF,,,,-qHHHHHHHHFHH,,,F@F@F@F@FxvFFFFF&,&,,HHFFFFHH,,-,@FFF@FFFFxxxFFFFF,,,,-qHHHFFFFHH,,-FFFF@FFFF@ FxxFFFF,&&,&qHHHFFFFFHHH,,FFFFFFFFFxxFFFFF,,,,,HHHH- @FFFH@FFFFFxFFFF&&,&&qHHFFH,FFFHFFFF FxFFFF,-,,,qHHHH H@F@F@F@ FxxFFFxF&,&&&qHFHH@F@@@F@@ FFvF,,,,,qHHH,,@@@@𧧧FxFpF&&-,,HH H@FFxFvpF,,,,-HFH,HFvHF@vFFxFF&,&,,HFH,HHH@FFFxFF,,,,-H,HHvFFv𔔔FxFpF,&&,&HH-   HHF@FxxFpF,,,,,HvFvFxFpF&&,&& @FFpF,-,,,qF- HvFvFxFxv&,&&&F,HHHFF@AAAFxFxv,,,,,q,,  HHHHH@FF@FFxFxvx&&-,,, FFFFFFvFFFFFHH,FFFFFFpFFFFFHFHH,FFFFFFxpxFFFFFHFHF,-FFFFFFxpxpFFFFHH,,FFFFFFvxpFFFFHHH,,,FFFFFFxxpFFFFHH,--FFFFFFxxvpFFFFHH,FFFFFFxxppFFFFH-,FFFFFpxxxxpFFHHHH,,,FFvxxpxFFHHHH,FFxxxvpFFHHHH,FFFvxxppFHHH,FFFxppppxFFHFHHH-,,FFFFxpvpxpFFHHHHHH,,,FxpvxFHHHFH,FxxxvxvppxFHHHHHH-,FvxxxpxFHHHFFHHHH,--FFFvxxxFHHHHHFFFFFFFHH,,,FFFvvxxppFHHHFHHHHHFHH,,FFFxxxxvxxFFHHHHHHHHHHHHHFFxpxpFFFFFFFFFFFFFFFFFFFF%%%%%,,FFxppvxFFFFFFFFFFFFFFFFFFFFF%%%%%,,,`F`FxvvvxFFFFFFFFFFFFFFFFFFFFF%%%%%,FFFFFFxvpxFxFpxFFFF FFFFFFFFFFFFFF%%%%%-HHHHHHFxpvpxFxpFFxFFFF FFFFFFFF FF%%%%% ,FHHHFHHHFFxxFpFpFFF FFFFFFFFFFF FF%%%%%-HHHHHHHHFvFppxFFxFpFFFFFFFFF FFFF FF%%%%%- -HHHHHHHHFppFFpxFpFFFFFFFFF FFFF FF%%%%%,,-HHHHHHFFppFFxxFpFFFFFF FFF FF%%%%%,HHHHHHFFFFxpFpFFFFFF FFF%%%%%,HHHHFFFFpppFFFFFF FFFFFF%%%%%HHHHHHFFpxFFFFppFFFFFFFFFF%%%%%,,,HHHHHHHHFFFpxFpFFpFxFFFFF FFFF F %%%%%-HHHHHHHHHHFFFpxFFFFFxFFFFFFFFFF F%%%%% ,HHHHHHHHHHFFFFFFFFFFpFxFFF FFF FFFF%%%%%,,HHHHHFFFFFFFFFFxFFFFFxFFFFFFFF%%%%%--,HHFHHFFFFFFxFFxFFpFFFFFFF FFFFFFFF%%%%%,,,FFFFFFxFFFFpFFFFFFFFFFFFFFFFFFFFF%%%%%,-,FFFFFFFFFFFFvFFxFFFFFFFFFFFFFFFFFFFFF%%%%%,,,,,,,,,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF%%%%%,HHHHHHHHHHHHHHHHFFHFFFHFHHFHHFFHHFHHFFFFFFFFHHHFFHHHFFFFHHFFHHFFHHHFHHHFFHHHFHHHHHHHHHHHHHFHHFFHFHHHFHHFHHHHHHHFFHFFHHHHHHHHHHHHHHHHHHHHHHHHHFHFHHHHHHFHFHHHHHHHHHHHHHHHFFFFFFFFFFFFHHHFFFFFFFFFFqHHHFFFFFFFFFFFFqFFHHqqFFFFpFFqFFqHHHHqqqqqqpFqqqFFHHHqqpqqqFFHHHqqqqqFFFFHHHqqqHHHHFHHHHHqqqHHHHHHHHFqqqqqHHFFHHHHqFqqFHHFHFHHHHHHFqqqFFFHHqHFHHHHHHqHqqqqHHHHHHHHHHHHqHqqqFFHHHHHHHHHHHqFqqqqqqqFHHHHHHHHHHHqqqFqqqFFFFqFFFFHHHHHHHHHHHHqHqqqFqqFqFqFHFHHFHFFFHFFFHHHHqHFFFFFFFFHHHHHHHHHHqqqHHHFFFFHHHHHHHpppHppppHFFFFFHFHH&,,,,-,,,,,,,,,&,&&,&&,&&ʇ,&&&HHHHHpHFppHHHFFFFFFFFFFFHH,,,-,,,,,,,,,,,&&,q&,q&,,q,HHHHHHFHHpHFHHHHFFFFFFFFFFFFH,-,--,,,,,,-,,&,qqqqqq&qʆ,֘HHHHHHHHHHHHHHFFFFFFFFFFFFH,-,,,-,,,,--,,&&&q&ؘHHHHHHHHHHHHHHHHHFFFFFFFFFFFFH-,,,,,,,,,--,,,,&aaaF٘HHHHFHHHHHHHHHFFFFFFFFFFFFFH,,-,,,,,,,-,,,,,qqq&`a𘗗ٙHHHHHHHHHHHHHHFFFFFFFFFFFFF,,-&,,,-&,,,,,,,q& aaטvؘHHHHHHHHHHHHHFpFFFFFFFFFFFFFFF,,,,&,,-,,,,-,&&& ``pvHHHHHHHHHHHHHFFFFFFFFFFFFFF,,,,,,--&&&,-&&q qHHHHHFHHHHHHHHHpFFFFFFFFFFFFFFF,-,-,--,,,,,-,&q FvؗHHHHHpHHHHHHHHHHHHFFFFFFFFFFFFFFF,-,----,,,,,-,& qFa֙HHHHHHHHHHHHHFFFFFFFFFFFFFF,----,,,,,,,-,,qqqq FvHHHHHHHHHHHHFFFFFFFFFFFFFFF--&--,,,,,,,,,,qqqqqqFvHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFFF-&,,-,,,,,,,,,,qaF𗗗HHHHHHHHHHHHHHHHFFFFFFFFFFFFFFF,,,,-,,,&,-,,,,qvaF`vvHHHHHHHHHHHHHHFFFFFFFFFFFFFFF,,,&,,,,,,&,&,@qqqqqaaF𙗗HHHHHHHHHHFHHHHHFFFFFFFFFFFFFFFF,,,,,,,,--,,&@@qqaa,ؘHHHHHHHHHHHHFFFFFFFFFFFFFFFF@,,&,,-,,,-,&,,&qaa,,֙HHHHHHHHHHHHHHHFFFFFFFFFFFFFFFF,-,,,,,,,-,,,,,q&,&&HHHHHHHHHHHHHHHHFFFFFFFFFFFFFFF,-,&,,,,,,,,,,,q&,,,FHHHHHvHHHHFFFFFFFFFFFFFFF-,-,,,-,,,,,,&,cHFFHHHxHHFFFFFFFFFFFFFFFF-,,-,-,&&&,,-,,qqq,cc,FFFFFHHxxxHHHHFFFFFFFFFFFFFFFF--,---,,,,,--,-qqqqqq,&,,&cFFFFHHxxHHFFFFFFFFFFFFFFF,-,,,,,,,,--,,-q&,,&&&,q`qFHHHHHvHHHHpFFFFFFFFFFFFFFF,,,,,&,,,,--,,-q,,,&,&&,`qFHHHHHxxxvHHHpFFFFFFFFFFFFFFF,,-,,,,,,,-,,,,qqqc&&,&,,,&`qHHHxvHHHpFFFFFFFFFFFFFF,,-&,,,-&,,,,,,qq,,,,,,,&,&qHHHvHHHFFFFFFFFFFFFFFF,,,&,,-,,,,-,@&q&,&-&&,&,,FHHHHvHFFFFFFFFFFFFFFFF,,,,,--&&&,-&,qc,,,&,-&,&,qHHvvvHHHHFFFFFFFFFFFFFFF@-,-,--,,,,,-,,q,,,&,,&,,&&`HHHxxHHHpFFFFFFFFFFFFFF,-,----,,,,,-,,,,,,,,--,,&`HHHHHvxHFFFFFFFFFFFFFF,----,,,,,,,-,,qqqqq&,,,&,,&,,,HHxvvHHHFFFFFFFFFFFFFF@--&--,,,,,,,,,,qqqq,,,,&,&,,&,c`HHHxvHHHHpFFFFFFFFFFFFFFF-&,,-,,,,,,,,,,q,,,&&,&&&,,&FF`qHHHxxHHHpFFFFFFFFFFFFFF,,,,-,,,&,-,,,,qqc,,,,,&,&,&,&FFqHHvHHpFFFFFFFFFFFFFFF,,,&,,,,,,&,&,@qqq&&&,,,,&&&,&FFFqFHHHvvHHHFFFFFFFFFFFFFFFF,,,,,,,,--,,&@@qq,,,,,,,,&,,,&cFFFFHvHHFFFFFFFFFFFFFFFF@,,&,,-,,,-,&,,&q&,&-,,&,,&,&,&FHHHFFHHHHxvHHHHFFFFFFFFFFFFFFF,-,,,,,,,-,,,,,q,,,,,-&&,,&&,&HHHHHHHHHHHFFFFFFFFFFFFFF,-,&,,,,,,,,,,,q&,&&,&&-,,&&&&FHHHH@@@HHHHHFFFFFFFFFFFFFF-,-,,,-,,,,&&-@,&F,&&&&&&&&&&&FFFFFHFF@F@HHHHFFFFFFFFFFFFF-,,-,-,&&&,,,-&q,,,,,FFFFFFHHF@FF@@HpHHFFFFFFFFFFFFFFF--,---,,,,&,,,&qqqqqq,,,-FFpFFpHHFFFF@HHFFFFFFFFFFFFFFF,-,,,,,,,,,,&&,q,,-,AAAAAAAqqqpqHF@@FF@HHFFFFFFFFFFFFFFF,,,,,&,,,,,,,,,q,&,&ًqpHFF@FFF@qHFFFFFFFFFFFFFFF,,-,,,,,,,,,,,,qqq&&F&&ׇqHFqFFFFFHFFFFFFFFFFFFF,,-&,,,-&,----,qqqq,&F&&דqFFFFF@HFFFFFFFFFFFFF,,,&,,-,,----,&q&&,,AٓqFHF@FFF@FFFFFFFFFFFFFF,,,,,--&&-,--,qqq&,&,AcדFFq@FFF@FFFFFFFFFFFFF@-,-,---,,,,,,&qqq&,&,AדqFF@FF@@qqFFFFFFFFFFF,-,-----,,,,,,@,FF,,AAAٓqFF@FF@@qFFFFFFFFFFF,----,,,,,,,,,,qqq&&&AAٓF@F@qpFFFFFFFFFF,-&--,,,,,,,,,,qqq,,,AAׇF@@F@@qqqaHFFFFFF,&,,-,,,,,,,,qqq,,-Aדqqq@@F@pppqFFFFFFFF,,,-,&,,,,qqq,FF,ׇq@F@pqFFFFFF,@@,,@@,qqq,FF,ًqqqqHHHq@qFqHFFFFFFFF,,@@,@@,,-,qqq,FF,AqqqFFFHHFvFHFFFFFFFFFFH,,,,@,,,@,,,,,&&q&&q&&q,F,FFFFHHFHHHHHHFFFFFFFFFFFH-&,&&-&,&&-&,,&&q&&q&&q&,FF&AFFHHHHHHHHHHFFFH&&,,,&&,,,&&,,,,-qq&,-qq&,-qq&F,,,,,,,,,,,HHHFFFFHFFFHHHHp,,,,,,,,,,,,,,,,,,,,,,,,,f,,,g&,,,&F& @HFF@@FFFFFFFHHHHH@,,,,-,,,,,,,,-,,,,-&,,,&,ggg,,,,,FF,  FH@FF@qFFFFFFFHFHpF,,-,,,,-,,,-,,,,-,&&&,f,&,,&&FFFF-HFFH@FFFFFFqFFqqHHHHFF,,&,&,&,&,,&,,,&,&&,gg-,,,FF, HFF@HFFF@@qFqqqHHHHFF@&&,&&&&,&&&,&&&,&&,,,,gf&,,&,F&HFFHFFFFqqqHHFF,&,&,&,&,&,&&,&&&,,&f&&&-F&@FFF@FFFqHH@FFFp&&,,&&,,&&,,,,,,&&,,&-,,&  FFF@FFF@𛛛qqFFFF@p&,&,&,,,&,,&,&,,&,&,,g&&&&FFFHFFF@qHFHFHFFF&,&,&,,&,&&,&,&&,,,,f,,,&@FFF@@FFF@qqqFHFFH@FFF@,,,,,,,,,,,,,,,,,,-&g&,,F@FFF@@FFF@FqFHHHH@FFF@&&&&&,&&&,&&&&,&&&,,&g&,,,F @FF@@FF@FqFHFHH@FF@p,,,,,,,,,,,,,,,,,,,,&-&,,&&FFF@FFF@@FFHHFFF@,,,,-,,,,-,,,,-,,,,-,,,f,&,FFFF@@@FF@@@qqqFHHHHHFF@@@,,,,,,,,,,,,,,,,,,&g&-,FF@F@FF@F@HFqqFHHHFF@F@,&,,,,&,,,&,,,&,,,,,&,,F@@FH@@F@HqqqqFFHp@@F,,&,,,-,,,-,,&-,&g&,,&, @@FF@@@FF@HFFFqqqFHHHHH@@FF@,,,,,,,,,,,,,,f,,F,-F@@FHF@@FFqFqqqFHHHF@@F-&&&,&&-,&&,&&&g,,,,@@@@@@@@HHFFFFHHHHHH@@@@p&&,&,,,&,,&&,,,gf&-&,&F@@@@@@HFFFHHHHH@@p@p,,,,,,,,,,,,,,,,,,g&&,,,@F@@@F@@HHHHHHHHxHHH@F@@JJJJJ:J, @FF@@FF@HHHHHHxxHH@FF@:H:J:H&: FFF@FFF@HHHHHHHxHHFFF@H&&H&&&H,  FF@@@FF@@@HHHHHHHHHxHHFF@@@,,,&&&&,g FF@F@FF@F@HHHHHHHHxxHFF@F@,J&,&,&&,J, @@F@@FHHHHHHHFH@@F&JH,,&,,,&H,,@@F@@@F@HHHHHHHHFHxH@@F@,```J&&,,,,&,&JgF@FHF@F@HHFHHHHHvHF@F@,vvH,,-&&,&,,Hgf@@@@@@HHHHHHHHHH@@@&v`,,&&,-&,&,H,,@@@@@@@@@@FHHHHHHHFvvH@@@@@&H`,,-,,&,,&&H,@F@F@@F@F@HHHHHHHHvHH@F@F@,JH&,,,--,,&JgFF@FF@HHHHHvvHHFF@,H,,,&,,&,,,HgfFFF@FFF@FHHHHFHFFF@&`,&,,&,&,,&,H,,FF@@@FF@@@FHHHHHFHHHFF@@@,v,,,&,&&&,,&gFF@FFF@FFFHHFHHHFF@F&vJ&,&,&,&,&,&gg@@F@@FFHHFHH@@F&`:,,,,,,&&&,&J,@@FF@@@FF@FFFHHH@@FF@,``,,&&,,,&,,,&H, F@@FF@@FFFFHF@@F,&,vJ,,,,,&,,&,&,&,  @@@@H@@@@@HH@@@@@&&,vH&,&,-&&,,&&,&J@@@@@@@@HHH@@@@&&&&H:,,,,&&-,,&&&&H@F@@@F@@FvFFFFFF&,,&,HHHHHHHHHH,,,@FF@@FF@FpFFFFF&,&,,HHFHHHHFHH,--,,FFF@FFF@FpFFFFF&,&&&HHFFFFFFFFHHH-,FF@@FF@@ FvFFFFF,&,&,qHHHFFFHHH,,FF@F@FF@F@FFFFF,,,&&HHHH-@@F@@FFFFFF,,,&,HFFHH, H@FFHF@FF@ FvFFvF,&,,&HHHH   @@FH@@F@ FFFF-&&,,HHFH@@@H@@@F FFFvF&&-,,HHH,, @@@@@@FFFvF&&&&&HHvvFFxpF&,,&,HFH,HFvHH@FvF@FxFxvpF&,&,,HFH,HHvHF@vFFxvFxvF&,&&&qH,HHF@𔇔FxFxvF,&,&,qHH - Hv@vFFxF,,,&&qvFv𔔔FxFxF,,,&,q vvvFvvvAFxxxFxpF,&,,&qF-  HFFxxFxF-&&,,F,HvvHFvvFAFvxFxF&&-,,q,, HHHHHFF@FFFvxFxF&&&&&q,FFFFFFvxxFFFFFHHHHFFFFFFvxFFFFFHH,,FFFFFFvFFFFFHFHHH,FFFFFFFFFFFHFHH,,FFFFFFvFFFFH,-FFFFFFpFFFFH,FFFFFFvFFFFHH-,FFFFFpvvpFFFHHH,-FFFFFpxvFFFFHHH,FFvxvvxFFHHHFFvxxxpFFHHHH,FFFvxxxpppFFHHHHH,FFFxxxxpxFHHFH-,FvFxxppxFFHHHHHH--FFvxxvpFHHHHHH,-FxxvvpppFHHHHH,FxxvxxFHHHHFFFFFHHHvxxxxFHHHFFHHHHHHvFFvxppFHHHHHFHFHHFFHH,FFFxxvpxxFFHHHHFHHHHHHHH,FFxpppvxpFFFFFFFFFFFFFFFFFFFFF%%%%%,FFxpvpppxFFFFFFFFFFFFFFFFFFFFFF%%%%%,,,,FFxxpFxxFFFFFFFFFFFFFFFFFFFFF%%%%%,,,HFHFxpvxpvvxFFFFFFF FFFFFFFFFF%%%%%---FHHHHHHFxppxFxFpxFFx FFFFxFFFFFFFFFF%%%%% ,HHFFxFFFFF FFFFFFF FF%%%%%FHHHFHHHFxxFFvHFFFHFFFFFFF FF%%%%% -,HHHHHHxFFxFFpFFFFFFFF FFFFF%%%%%,,HHHFHHHxFFxFFvFpFFFFFFFF FFFFF%%%%%,,HHHHHHHHHFFxFvFFvpvFFFF FFFFFFFFFF%%%%%,,HHHHHHFFFFpFvvFFFFFFFFFFF%%%%%HHHHHHHHHFFxFFFvFFF F FFFFF F%%%%%,,,HHHHHHHFFFxFFFpFFHFxFFFF FFF%%%%%,HHHHHHHHHFFFFFFFFpFFFF FFFF FFFFF%%%%% HHHHHHHHFFFFFxFFFxFpFFFFFFFFFFFFF%%%%%,-HHHHHHHHFFFFFFFFFxFFFFFHFF FFFFFFFFF%%%%%-,FHHFFFF@FFFvFFFFFFFFFFFFFFFFF%%%%%,,,FHFHFFFFFFFFvFFFFFFFFFFFFFFFFFFFFFF%%%%%--,FFFFvFFFvFFFFFFFFFFFFFFFFFFFFFFFFF%%%%%,,,,,,,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF%%%%%,,,,FHFHFHHHHHHHHHHHHFFFFFFHHFHHFFHHFHHFFFFFFFFFFHHFFHHFFFFHHHFFHHHFFHHHFHHHFFHHHFHHHHHHHHHHHHFHFFHHFHHHHHHHFHHFHHHHHHHHFFHFFHHHHHHHHHHHHHHHHHHHHHHHFHFHHHHHFHFHHHHHHHHHHHHHFFFFFFFFHHFHFFFFHHFFFHFFFFFFHqFFFFFFFFFFFFFFHHHFFqqFpFFFFqqHHHHHqFqqqqqqFFHHHHqqqqqqFFHHHHFFFFHHqqqHHHHHHHqHHHHHHqqqFFFHHHHqFqFHFHFHHHHHqFqFFFHHHHqFqFHHHHHHqqqFHHHHHHHHHHqHFqqqqFHHHHHHHHHHHFqHqqqqqFFHHHHHHHHHHqHFFFqqqqqqqFHHHHHHHHHHHHHqqFqqqqFFqqFHFFFHFFFHFHHFHHHHqHHFFFFFFFHHHHHHHHHHHHqHFFFFFHHHHppHpHHHFFHHFHH,,,,,,,,,,,,,-,&qq,&qq,&qq,&qq,,,,HHHHFHHFpHppHppFpHFFFFFFFFFFH,-,,,,,,-,,-,,-,,q,q,,qʈ,֙HHHHHHHHHHHFHFHFFFFFFFFFFFFHH,,,,&-,,,,,,,,,&,q,q,,qʈ,ؙHHHHHHHHHHFFFFFFFFFFFFHH&,,,&,,,,,,,,,,,qqq,FؘHHHHFHHHHHHHHHHHHFFFFFFFFFFFFH&,,,&-&,,,,,&,,&qq,qqaaa&טHHHHHHHHHHHHHHHFFFFFFFFFFFFFH,,,&&,,,&,,,,,&,qq,qa``&vHHHHHHHHHHHHHHFFFFFFFFFFFFFH,,,,,&,,,,,&,--,q-aaa,ؗ֗HHHHHHHHHHHHHHFFFFFFFFFFFFFFF,-&,,,,-,,,,,-&qqq, ``&֗HHHHHHHHHHHHHHHFFFFFFFFFFFFFFH--,--,,,,,,,,,,qqq& ,ٗHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF--,,-,,,,&,,,&,, qF&a&ٗHHHHHHHHHHHHHHHHpFFFFFFFFFFFFFFF-,&-,,-,,&&,,,,qqqqqqqFFa&ؙHHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFFF-,,,,,,,,&,,-,&qqqq FFv&ؗHHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFF,,,--,,-&,&,-,&qqqq vFFp&HHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFFF,,,,,&,,,,,,,,&qqqaFFp&HHHHHFHHHHHHHHHHHHFFFFFFFFFFFFFF-,&&,&&,,,,,&,,qqqqqvFF`&HHHHHHHHHHHHHHHHHHFFFFFFFFFFFFFFFF,,,,,,,,,,,,,,&qqqqqFF,ٙHHHHHHHHHHHFFFFFFFFFFFFFFF-,,&,,,,,--,@,qq@,ٙHHHHHHHHHHHpFFFFFFFFFFFFFFF--,&,,,,,-,,,&qqq&q`,,,HHHHHHHHHHHHHHHHHpFFFFFFFFFFFFFFF,,-,&,,,,,--,-,qqq&q,,,,HHHHHHHHHHHHHHHFFFFFFFFFFFFFFH,,-,,&,,,,-,,-,&&,,&HFHFHHHHHvvvvHHHHpFFFFFFFFFFFFFF,-,-,,-&,,,&,,,qqqqqqqHFFFHHHHHHFFFFFFFFFFFFF--&,,,,,,,&,,,,qqq,,,FFFFFHHHHHHHFFFFFFFFFFFFF,,&,,--&&&,,,,,qqq&,,,,F``FFHHHHHHHHpFFFFFFFFFFFFFFH,,,,,-,,,,,,,&,qqq,,&&&&c``qqHHHHHHHpFFFFFFFFFFFFF,,,,&,&,,,,,&,,qqq&&,,,,,cqHHHHHHFFFFFFFFFFFFFFH,,,&&,,,&,,,,,@qqqc,&,&&,&&cHHHHHHHFFFFFFFFFFFFFF&,,,,&,,,,,&,-@qqc,&&,,,,,,,vHHFFFFFFFFFFFFFF@-&,,,,-,,,,,-&qqq&,&&&&&,,&&&HHHvvvvHHHFFFFFFFFFFFFFF--,--,,,,,,,,,,qqq&,-,,,,,,,,,HHHvvvHFFFFFFFFFFFFF--,,-,,,,&,,,&,qq&,,&,,,&&,,&HHxxHHFFFFFFFFFFFF-,&-,,-,,&&,,,,qqqqq&&,&,,,,,,,HHHHxHHHFFFFFFFFFFFFFH-,,,,,,,,&,,-,,qqq&,&,&,,,&,&qHHHvvHHHFFFFFFFFFFFF,,,--,,-&,&,-,&qqqq,,,&,,,,,,,FFHHHxHHHFFFFFFFFFFFFH,,,,,&,,,,,,,,&qq,,,,,,-,,&,&cHHvvxHFFFFFFFFFFFF-,&&,&&,,,,,&,,qqq,,,&&,,,,,,,,FFqHFHvHFFFFFFFFFFFFFH,,,,,,,,,,,,,,&qqq&,,,&,&&&&&,&qFqHHHHHpFFFFFFFFFFFFFF-,,&,,,,,--,@,qq,&,&,,,,,,,,,FHHFFHHHHxHHHpFFFFFFFFFFFFFFH--,&,,,,,-,,,&qqq&,&&,,-,&,,&,&,HHHHHHvvHHHHpFFFFFFFFFFFFFFH,,-,&,,,,,--,-,qqq&,&&,&,,,,,,,,,FHHFHHHHHHHHHpFFFFFFFFFFFFFH,,-,,&,,,,-,,-,&,&,&&&&&&&,&,&HFHFHHFH@HHHHFFFFFFFFFFFFH,-,-,,-&,,,,,,,qqqqqqq,,-,,&&,&,&&,&,HFFFHHHFF@FHHHHHFFFFFFFFFFFFFH--&,,,,,,,,-,,&q,,,&,--FFFFFHHFF@FF@qHHFFFFFFFFFFFFFFH,,&,,--&&&-,-,@q,,,,,,AA,qFpFFFHHF@FFFHHHFFFFFFFFFFFFFFH,,,,,-,,,,-&,,@qqq&,F,&AAAA,AAAA,qqqpFF@F@@HFFFFFFFFFFFFFFH,,,,&,&,,,&,,,@q,,,,,&qqpHFqF@FF𛇛qHFFFFFFFFFFFFFH,,,&&,,,&,,-,,&q--,,חF@FFFHFFFFFFFFFFF&,,,,&,,,,,,,&,qqqq-,,,𛇛HFF@F@HFFFFFFFFFFFH@-&,,,,-,,,,,,&qqq&&,F&,𓓛H@FFF𛛛HFFFFFFFFFFFFH--,--,,,,,,,,,@qqqqq&,,,,A@FFF𛋋HFFFFFFFFFH--,,-,,,,&,,,,@qq&,FF&,AH@FFFFHFFFFFFFFH,,&-,,-,,&,&&,,qqq,FF,,AA&𛓓F@@F@@qHFFFFFFFH,,,,,,,,,&&,,,,qqq,F&,&qHFqF@F@pqHFFFFFFFFFFF,,,--,,-&,,,,&,qqq,F,,,𛇇F@@F@pqqpHFFFFFFH,,,,,&@,,,,,,@,qqq,F,,,𛋇F@F@qqppFFFFFH,,@&,,@,,@,&,@,qqq,FF,,,qHq@qFaHFFFFFFFFH,@,@@,@@@@@@,qqq&F,,AAqqqFHHq@@qFpHFFFH,@@,@@,@,@,,qqqqqq,,&qqqFFHHF@vHqFFFFFFFFFFH,&,,@@,,,@,,qq&qq&qq&,,,&AAAFFHHHHHHHHHHFF@FFFFFHH,,,,,,,,,,,,,,&&&&&&,F,,,FHFHHHHHHHHFFHH&&,,&&&,,&&&,,&&&qq&&&qq&&&qq&F,&,,,,,,,,,,HHHF@FFHFHFFFHHHHp,,,&,,,,&,,,&,,,,&,,&&,g,--ff,,-,,FF,FHHFF@FqHFHFFqqHHHHF,,,,,,,,,,,,,,,,,,,,&&,ggff,&,,,FFF,F@H@F@FFFFFFFFFHHHF@&,&,&&,&&&,&,&&,&,&,,-,g,,,,,,,,F,  FFHHFFFFFFFFFqFqHHFF,,,,,,,,,,,,,,,,,,,,,,,,&,FFF&HFHFFFqqqqqHHHHFp--&,,--&,--&,,--&,,&,,&,,,,,F,, FF@HFF@@qqqHHpFF@-,,,,-,,,-,,,,-,,,,,&,&g,&&,, FFFFFFFF𓇛FHFHFFFFp&,,&,&,,&,&,,&,,,&,,,,,f,,,,,FFFFHFFFFFHFHFFFF,,,,,,,,,,,,,,,,,,&,,g&,,&, FF@HFF@FFFFHHHFF@,,&,,,&,,,&&,,&&,,,&,,,,@FFFH@FFF@FHFH@FFF,,,,,,,,,,,,,,,,,,&,&&,,FFFFF@FFFF@FHHHHHFFFF@,,&,,,,&,,,,&,,,&,,,f,,,,FFFF FFFFFFFFFHHFFFFp-,,,,-,,,-,,,,,,,,&,g&,&,FFFF@FFF@FqFHFHHFFF@,&,,,,&,,,&,,,&,,,,&g,,-F,FFF@FFF@FFFHHHFFF@,,-,,,,,,,-,,,-,,-&,,,@FF@@@FF@@FHHHH@FF@@&&,,,&&,,,&,,,&,,,,,f,,,@@@H@@@FqqFHHHHp@@@,,,,,,,,,,,,,,,,&g&,F,,,@@@@@@@@qqqqqqFHHH@@@@p,,,,&,,,,,,&,,,,,,,, F@FHF@F@HFFFqqqFFHHHHF@pF-,,,,,,,,,,,,,,g&,,,&,,F@FHF@FFHFFFHHHHHF@pF&&&&,,&&,,&&&,,&gg,-,,,,@@@@@@@@HHFFFFHHHHHHH@@@@p&,&&&,&&&&,&&&,&&&g&&,,&FF@FF@HHHHHHHxHHHFF@HJHJHgFFFFFFFFHHHHHHFHFFFFJ,H,H&Jg FFF@HFFF@FHHHHHHHFxHHFFF@FJ&HJ,,,JfFFF@HFFF@FHHHHHHHHFxxHHFFF@FHJ&&H&&&H, @FF@@@FF@HHHHHHHHx@FF@HJ:&,,,,,HJ,@@@@@@HHHHHHHHxH@@@&H,,,&&,&&H,@@@@H@@@@FHHHHHHHHHHH@@@@F,v`:&,,,,,,,,,F@@FF@@FHHHHHHHHHHHHF@@F&va`,&&&&,,&&&J-F@@FF@@FFHHHHHHHHvvHF@@FF,av&,&,,,,,,,J,@@@@@@@@HHHHHHHHvH@@@@,Jv&,&,,&&,,&J,FF@FF@HHHHHHHHFF@E&,&,,,,,,,,@FFF@FFFFHHHHHHHFvHH@FFF&,,&,,,&,&J-FFF@HFFF@FFHHHHFvHHFFF@FJ&&&,,,,,,,:,FFF@FFF@FHHHHHHFFF@`J&-,,-,,&,&H,@FF@@@FF@@FHHHHHH@FF@@aH&&,,,,,,,,,,@@@@@@FHFFHHHH@@@&vH,&,,&&&&&,&Jf@@@@@@@@FFH@@@@,v,aJ&&,&,,,,,,,,Hg F@FHF@F@`FFF`HHF@F@&,&vH&,&&-,&,,&,&,gF@@FHF@@FFFFFHHF@@FF,,,vJH,,&&,,,,,,,,,Jg  @F@@H@F@@FH@F@@F,&,&J,,,&,&&&&&,&,&Jf F@@F@@FFFFFFF&,,,FHHHHFHHHHHHH -,,@FFFH@FFFFFvFFFFFF,,,,,HHHFFFHHH,,,-FFF@HFFF@FFvFFFFFF,-,,&HFFFFFFFFHHH,,  FFF@FFF@ FvvFFFFFF,,,,,HHHFFFFFFHHH,@FF@@FF@FvFFFFF,&&&&HHFHH @@@@𧧧FFFxFFF,,,,,HHHH , @@@@@@@@ FvFFxFFF-,&,,HFH- FFHFFF FvFFxFFF,,,,,HFHH,, FFHFF@ FvvvFFFF&&&&&H-  @@H@@@FvvFFvF&&,&,HH,HFFvFFF&,,,&qHHH-HvHFvF𔔇FvvFFF,,,,,qH HHFFFvpFFvF,-,,&qHHHFFFpFvxF,,,,,qFH,HvFvFpFxF,&&&&q,  vFv𔔇FpFxF,,,,,H, HvFvFvpvFxF-,&,,q,   HvH@vFFvvvFxF,,,,,qF  HFAFvvFvxF&&&&&F HHHHHF@FF@FvFvxF&&,&,q FFFFFpxFFFFFHH,FFFFFpxxFFFFFHHF-,-FFFFFpxxpFFFFFHHF,FFFFFvxvFFFFFHH,FFFFFvvxvFFFFFFHHFFFFFpvpvFFFFFHH,FFFFFpvpFFFFFH,-FFFFFvppFFFHHH,FFFFFvvpxFFFH-FFxvvpxvvFFFHHHHFFvpFFHHHFxpppFFFH,FFFxxpxFFHHFHH,FvFxxpxxxFFFHFH,,FpvppxFFFHHHHH,,xxvpvvFFHHHFHHH,xFxxvpvxpppFHHHHHHHHHHFHFHHH,vvxxpvpvxpxFHHFFFFHHH-FFvpppvxFHHHHHFHHHHHHHHH,FFxxvppxppFHHHHHHHHHHHH,FFxpxxFFFFFFFFFFFFFFFFFFFFFF%%%%%-FxxpvpxpFFFFFFFFFFFFFFFFFFFFF%%%%%,FFFxxpvxpxppFFFFFFFFFFFFFFFFFFFFF%%%%%HHHHFxvvpxFFFFFFFFFFFFFFFFFFF%%%%%, ,FFFxpxppFpxFFFFF FFFFFFFFF%%%%%,,HHHHHHHHxFxFFxpFFFFFxFFFFFFFFF%%%%%,HHHHxFFFxFxpFFFFFFFFFF FF%%%%%,-HHHHHHHHvFFFFxFpFvFFFFFFFFF FF%%%%%HHHHHHHHFFFvFFFF HxFFHFF FFF FF%%%%% HHHHHHHHFFvFFFpFFxHFFHFFF FFFFF%%%%%--,HHHHHHHHFFpFFxFFF FF FFFFFFFFF%%%%%,,,HHHHHHHHFFFpFFFvFvFFFF FFFFFF%%%%%--HHHHHHHHFFFxFFFFvFvFFFFF F FFFF F%%%%%,,,HHHHHHFFxFFFFxFvFFFHFHHxFFFFFF%%%%%-HHHHFFFFFFvFvFFFF HFFH FFFFFF%%%%% , ,HHHHHHFFvFxFFFvFFFFFFFFFFFFFFFFFFF%%%%%FHHFHHFFFFFFFFvFFFFFFFFFFFFFFF%%%%%,FHHHHHFFFFFFFxpFFFFFFHFFFHFFFFFFFFFFF%%%%%,, ,-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF%%%%%,-,-,-,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF%%%%% -,--HFHFHFHFHHHHFHHHHFHHHHHHHHHFFFHFFFHHHFHHHFHHHHHHHHFFFFFFFFFFHFFHFFFFHHHFFHHH`FFF`FFHHHFFHHHFFFFHHHFFHHHHHFHHFFHHFHHHH`HH`HHHHHHHFHFHHHHFHHFHHHHHHHFFHHHHHHHHHHHHHHHHHHFHFHHHHHFFHHHFFFFFFHFHFHHFFFqqHHqHFHFHFFqqqHHHFFFFFFFFFFFHHHHHFFFFFpFFFqFqqHHHHHHHqqqqqqppqqqHHHHHHqqqqqqHHHHHHqHHHHHHHHHHFHHHHHHqFHHHHHHHFHHHHHHHHqFHHHHHHqqqqFHHHHHHHHHqFFHFHFFFHHFHFHFHHHHHFHFqqqFqHHHHFFFFHHHqqqqqqqqqqFHFHFHFHHHHFHHHHHHHHFFFqqqqFFqqFFHHFHHFHHHHHHHHHFFFFFHHHFHHHFHHHHHHHFFFFFHHOHRRPGCE.TMNbox chain test menu tag testOHRRPGCE.VEH Default BoatDefault AirshipDefault Speeder@OHRRPGCE.Z00RELD       zonemapwhzoneszonerowsyOHRRPGCE.Z01RELD      zonemapwhzonesrowsyOHRRPGCE.Z02RELD      zonemapwhzonesrowsyOHRRPGCE.Z03RELD      zonemapwhzoneszonerowsyOHRRPGCE.Z04RELD q S  zonemapwhzoneszonerowsyPALETTES.BINSSSSSSWWWWWWW3,oZ%a[SS*0^YbЮ'' Y]"%uSS UE4ˮm # @U(iu4Pmʺ=w77D=,H @i,U