IMD 1.17: 5/01/2010 0:29:35 NGEN 11.0 Standard Software Development Utilities 2 of 2  Zz 01839-2/2Q-?dQ-?d+*9|M^[Sys]InstallConfig.sys elete.flsLCopy [f0]InstallConfig.sys [Sys] yesType [kbd]PF Designate the type of machine to which your tape drive (either QIC or 1/2") is physically attached. If you have a tape drive at the master and locally, then designate the type of master. The run files will be located on the master, but Sys.cmds will be set up to access them correctly. AM  Press GO when Ready [Scr]<$>*.sub elete @[f0]Delete.flsLCopy [f0]InstallConfig.sys [Sys] yesType [kbd]PF Local workstation - is the workstation at which you are now working. Master - is the computer to which the local workstation is  clustered. Command file - is the file that the executive reads in order to know what to display on the screen when you type a command (e.g. "files") and where to get the run file %' %' The four parameters represent the %' Volume to which the files will be copied %' Volume and directory prefix of the proper command file %' The System volume for any path commands %' floppy drive (from Install) %' Submit %0All.sub '[Sys]<Sys>' '[Sys]' Sys %0_0?? 0 oP  & '?P1?4 ;oD`T U^P`peoeg k%' %' The four parameters represent the %' Volume to which the files will be copied %' Volume and directory prefix of the proper command file %' The System volume for any path commands %' floppy drive (from Install) %' Submit %0All.sub '[!Sys]' '[!Sys]' !Sys %0_0?? 0 oP  & '?P1?4 ;oD`T U^P`peoeg kMaster.sub Local.sub SaveSpace.subk Space: SaveSpace.sub :Master: Master.sub ] yesType [kbd]PF Local workstation - is the workstation at which you are now working. Master - is the computer to which the local workstation is  clustered. Command file - is the file that the executive reads in order to know what to display on the screen when you type a command (e.g. "files") and where to get the run file %' LCopy @%3%#3/[f0]/InSys.fls %3%#3/[f0]/ [Sys] yes no no yesDelete @%3%#3/[f0]/Cleanup.flsSubmit %3%#3/[f0]/SoftwareDevelopmentCmds.sub [!Sys] [Sys] INSERT DISK 2: AM  Press GO when Ready  1AAEF LInstall 'Software Development Diskette 2 of 2'Submit %3%#3/[f0]/SaveSpace.sub %0 %1 %2 %3 command (e.g. "files") and where to get the run  CommNub_pre10.obj CommStatus_pre10.obj German>Nls.asm InitComm_pre10.obj Nls.asm Nls.mdf SamGen.mdf SamGenAll.asm SamGenAll.obj ]Lcopy @Sys.fls 'Workstation OS Kit Diskette 2 of 2' [f0] yes no no yesLcopy Submit.fls [f0] yes no no yesLCopy HdInstall Local Master SRP All 2> [f0] .sub yes no no yesLCopy InstallConfig.sys 2> [f0] yes no no yesLcopy @2>CT.fls [f0] yes no no yes0_Џ0 pOOЫO pAssembler.run Dump.run PMake.run Wrap.run xt  $*06<BHNTZ`flrx~&& &&&&&& &,28>DJPV\ntz7g888 88888G88 88 8 8" ,o,_0p:Local: Local.sub :Master: Master.sub 11.0SSC>Master.sub Submit.fls ume %' 'f0 %' ' %' 'SoftDev-1/2 %' ' %' '0 %' '0 %' '0 %' '1 %' '20 %' 'yes %' ' %' ' %' ' %?0/y/ %?0/0/lcopy %' 'SaveSpace.sub InstallConfig.sys %' '1> %' '[f0] %' ' %' 'y %' 'n %' 'n %' 'ylcopy %' '@Sys.fls %' ' %' '[f0] %' ' %' 'y %' 'n %' 'n %' 'ylcopy %' 'All.sub HdInstall.sub InSys.fls Rest.fls %' '1> %' '[f0] %' ' %' 'y %' 'n %' 'n %' 'yCreate Directory [f0]CTlcopy %' '@1>CT.fls %' ' %' '[f0] %' ' %' 'y %' '%' LCopy @%3%#3/[f0]/InSys.fls %3%#3/[f0]/ [Sys] yes no no yesLCopy @%3%#3/[f0]/Rest.fls %3%#3/[f0]/ %0 yes no no yesDelete @%3%#3/[f0]/Cleanup.flsSubmit %3%#3/[f0]/SoftwareDevelopmentCmds.sub %0 %1s> yes no no yesLCopy HdInstall Local Master SRP All 2> [f0] .sub yes no no yesLCopy InstallConfig.sys 2> [f0] yes no no yesLcopy @2>CT.fls [f0] yes no no yes0_Џ0 pOOЫO p%' Video YesDelete @%0%#0/[f0]/Delete.flsLCopy %0%#0/[f0]/InstallConfig.sys [Sys] yesType [kbd]PF Local workstation - is the workstation at which you are now working. Master - is the computer to which the local workstation is clustered. Command file - is the file that the executive reads in order to know what to display on the screen when you type a command (e.g. "files") and where to get the run file which actually executes the command. Local command file - is the command file that the local workstation uses. Master command file - is the command file that the master and diskless workstations use. When you understand these terms, press GO AM  Press GO when Ready  1AAPF You will be asked to choose one of the following options: LOCAL - All files will be copied to the local workstation. The local command file will be updated. It will look for run files on the local workstation. ACUse when you have plenty of room on your local disk.AA MASTER - All files will be copied to the master. The master's command file will be updated. It will look for run files on the master workstation. ACUse to update your master workstation from this workstation.AA AM  Press GO when Ready  1AAEF LInstallLInstall @%0%#0/[f0]/Submit.fls %0%#0/[f0]/ [Scr]<$> yes no no yesSubmit [Scr]<$>*.sub %0%#0/[f0]//Submit.fls %0%#0/[f0]/ [Scr]<$> yes no no yesSubmit [Scr]<$>*.sub %0%#0/[f0]/ %' %' The first parameter is [Vol] where to get the run file %' The second parameter is [Vol which Sys.cmds to update %' Copy [KBD] [Scr]<$>args.Tmp y'Source files' '[Errors only?]' '[GenOnly, NoGen, or Gen]' '[Object file]' '[List file]' '[Error file]' '[List on pass 1?]'Copy [KBD] [Scr]<$>desc.Tmp y'Invoke the assembler for the list of files given.'New Command 'Assemble' %0Assembler.Run @[Scr]<$>args.Tmp @[Scr]<$>desc.Tmp y '00' %1Sys.cmdsCopy [KBD] [Scr]<$>args.Tmp y'Object modules' 'Run file' '[Map file]' '[Publics?]' '[Line numbers?]' '[Stack size]' '[Max array, data, code]' '[Min array, data, code]' '[Run file mode]' '[Version]' '[Libraries]' '[DS allocation?]' '[Symbol file]'Copy [KBD] [Scr]<$>desc.Tmp y'Combine a list of object modules into a version 6 run file.'New Command 'Bind' %0Linker.Run @[Scr]<$>args.Tmp @[Scr]<$>desc.Tmp y 'V6' %1Sys.cmdsCopy [KBD] [Scr]<$>args.Tmp y'Input file' '[Compare file]' '[Output file]' '[File address first]' '[File address limit]' '[Continue on differences?]'Copy [KBD] [Scr]<$>desc.Tmp y'Display contents in hexadecimal and ASCII or compare two files.'New Command 'Dump' %0Dump.Run @[Scr]<$>args.Tmp @[Scr]<$>desc.Tmp y '00' %1Sys.cmdsCopy [KBD] [Scr]<$>args.Tmp y'Library file' '[Files to add]' '[Modules to delete]' '[Modules to extract]' '[Cross-reference file]' '[Suppress confirmation?]'Copy [KBD] [Scr]<$>desc.Tmp y'Invoke the Librarian to manipulate a library of object modules.'New Command 'Librarian' %0Librarian.Run @[Scr]<$>args.Tmp @[Scr]<$>desc.Tmp y '00' %1Sys.cmdsCopy [KBD] [Scr]<$>args.Tmp y 'Object modules' 'Run file' '[Map file]' '[Publics?]' '[Line numbers?]' '[Stack size]' '[Max memory array size]' '[Min memory array size]' '[System Build?]' '[Version]' '[Libraries]' '[DS allocation?]' '[Symbol file]'Copy [KBD] [Scr]<$>desc.Tmp y'Combine a list of object modules into a run file.'New Command 'Link' %0Linker.Run @[Scr]<$>args.Tmp @[Scr]<$>desc.Tmp n '00' %1Sys.cmdsCopy [KBD] [Scr]<$>args.Tmp y'Table of Contents file' 'SysImage file' '[Tape name]'Copy [KBD] [Scr]<$>desc.Tmp y'Create an SRP bootable tape.'New Command 'Make Boot Tape' %0MakeBootTape.run @[Scr]<$>args.Tmp @[Scr]<$>desc.Tmp y '00' %1Sys.cmdsCopy [KBD] [Scr]<$>args.Tmp y 'Run file' '[Extra GDT slots (16)]' '[IDT slots (256)]' '[Load offset (0)]' '[Include symbols?]' '[Symbol file (-.sym)]' '[List file (-.gdt)]' '[Image file (-.img)]' '[Realnub file]' '[iSgFirst]' '[Compress?]' New Command 'PMake' %0PMake.run @[Scr]<$>args.Tmp y '00' %1Sys.cmdsCopy [KBD] [Scr]<$>args.Tmp y'Data filename' '[Object filename]' '[Module name]' '[Segment name]' '[Public name]' '[Class name]' '[Public?]'Copy [KBD] [Scr]<$>desc.Tmp y'Wraps data into an object file'New Command 'Wrap' %0Wrap.run @[Scr]<$>args.Tmp @[Scr]<$>desc.Tmp y '00' %1Sys.cmdsType [kbd] PF ab aa ab aa Installation of Software Development ab aa Utilities is complete. ab aa ab aa .x: The Context Manager can use this file for swapping. If you plan to install the Context Manager on this computer, the recommended value is 3000. CTOS/VM: The OS will use this file for swapping. If you are installing the CTOS/VM operating system, the recomGW * 0u0 U@k6=10dX#Copyright 1987 Convergent Technologies, Inc. All rights reserved.Ver 11.0 Linker 11.0?       V /     _ $   K U  A H a q    N         g   Q   D 4  j      W  p        F  >  C   u   .           #   pNhlnstv'()E" +*i /                   % * / 4 9 > C H M R W \ a f k p u z                     ^!  $ $ 3$ $ $ $ $ $ 6   ]  P2BjLp ,a|^J9(L(l((Hj   $ o r jJ(3A``@ @`@-\.`.d.h.l.p.t.x.|.11(2<Fnr/37B(  R l  ~  n  v     -  B y   b L 2 P  9   M  o   =     )  s   e x    t  Z   S   f  7  ` %   [         ]  z 3 * I d 8 k }      G    i  \    <    X {  fv!7<Lm0=\c&d&+?HoHHHH,HMHcHHHHHHH}HHHnHH(H=HhH~HHH H H H H8 HX H H H H H! H> HI Hr H H H H H H HO H| H H H H- HX H HHvHHHHHHXHHHHHHLHcHH$HMHsHHH%j -j ~j j |j j aj j -j hj j j j j Fj + < R  3 C N q         c      ; q     + ? X y  g v   ++f t }       <    0 ?  A b     2    W w    5 }    J ~     .  V V r  ^  %    7     # : J O   y      " X g v   3 l       4 B k  6 K b w @ t , >  7 O n      2 D i    # O     $ _    2 e     ^ x,|,,,,,; ; W s       (  ! &      2 A P _ d   J     ( f   * [ y : E U ` s - -# K \ z       Q m       3 D m ~ - ^ _     B X d      _ r   $ F$ $ $ $ $ F$ $ $ r$ $ $ $ -\.`.d.h.l.p.t.x.|.11(2<FR_fjnrv{ #'+/37;BG# Q _  V  n  ? 2,257jjjSflAH2@zJ JJBJJJJJGJJJJL2P2"Wj#*D^&KTl(Po0__O `o  @/O _p_0@`/p?/O0_O0o o0>o p&oD      [sys]LptConfig.Sys[Kbd][Vid]G[Lpt][Nul]e[SysIn]$[SysOut]>$<6LVH$LLVH<LLVH6H$BH$ojH$LL 44$6 $|$$=t [4 [KBD][VID]>ÌÌT                rhwgsxtquyvnz{ (2BFLOSW[_cfjpvz~a>a`>`c>c`1f>a1fc1l1xf1>m>v">C1o.h&j1.l>1lGho>v>>h>v1.b@.l1.?bi>x)`$.b.}d4i1_oU.'ew'^mhU|d>>d.>1w>@^>.$kxa-o'kHo$x y=@b2^@c-l-u  ro$f-U+)$m+j+ob'bh$$UlDwU.^U~ hl0(oBym-hBk>o+'b$-rhB+DBq $x bk-'h+' w' s jD^0 o-m0 p(l+- 0c4kDi+h-$U-k0$w$^$ b(?t w^Bo1v0xwhD^+D`0BC g s +(`<+p w+4^+jHiDbDj>(-va4(w( ^( f<Vy9-m,j,-tw- ^-h@,e0b?D@Ck,?0*VUx#`4v)d0wD*o,p<0v,g ?x.cN_k<f?JCxV(a74@Uo*Vv#aoV_1bV` VevDk:_/TQb^e/w?`7o5an%o:pv55/v:h :_< bTh5d/5/:@/jnT?QTCwT^Tb wC?pw4^Cb5i:j&B bh0*jI_:e5a&,e:gR5,:1aObBw,i7b;d5w h?^ d:@4w5^5*^:mG?<c/w1<w@m7a:.Qi-b-h4b>aMo<`;e7o .v`:Cbf&bEdN;} v+7eB-b@`M=c:eP_-m<f5;v-f:w;/1^;y8a/K^7fMRfO.&| dP.oF o;iIDx6&k/ `/4e1v75_7^EwBFxeoC;mI/b<lIo&  ENENOTHINGORGPARAPROCPUBLICSEGMENTSHORTSIZETHISTYPEABS~LABELEVEN|PURGE}. TSTSUUVVVVVVV st  `' q' u' ' ' ' JJbbbJ KyE v$n^o  hIbwg|}2 bbPP___yxbbbyx~Ibxb3x2GܞܢyI   jibpbx+P_y+r p wg  x v$n#v$n`%sFt`")"(_y(I*(_y++,P./5@><&R1Q-x?B,,x,Px---x-xPD++cx0Ox-,xPP,Nx-Mx-,x4PNx7Mx:_6+x;y+x;x-P+_8y+y++P_9_NM_=P+y+P,fNxCxNexNev&h/&t%DnbFG0o D w^&^ ^Dw0^09d1dOg,^?h:#>Ci&b&b7y6oD&w RF^ i0i5Rb:8e&o?_>_7w5:&_5w<m&o7w/^/d&&eMw&_0^&5:C5:d;w:ADDPUSHPQRSTUVWjh POPXYZ[\]^_ OR  CLTSSLDT STR LLDT LTR VERR VERW SGDT SIDT LGDT LIDT SMSW LMSW LAR LSL0ADCSBBAND !"#$%DAA'SUB()*+,-DAS/XOR012345AAA7CMP89:;<=AAS?INC@ABCDEFG DECHIJKLMNO PUSHA`POPAaBOUNDbARPLcJOpJNOqJBrJAEsJNCsJEtJNEuJBEvJAwJSxJNSyJPEzJPO{JL|JGE}JLE~JGJNAErJCrJNBsJZtJNZuJNAvJNBEwJPzJNP{JNGE|JNL}JNG~JNLETESTXCHG MOV  LEANOPCBWCWDCALL WAITXPUSHFPOPFSAHFLAHFMOVSBMOVSWMOVSCMPSBCMPSWCMPSSTOSBSTOSWSTOSLODSBLODSWLODSSCASBSCASWSCASRETLESLDSENTER!LEAVEINTINTOIRETROL ROR RCL RCR SHL SAL SHR SAR AAMAADXLATBXLATLOOPNELOOPELOOPNZLOOPZLOOPJCXZINOUTJMP LOCKREPNZREPNEREPREPZREPEHLTCMCNOT NEG MUL IMUL DIV IDIV CLCSTCCLISTICLDSTDALdCLfDLaBLaAHaCHaDHaBHaAXcCXa DXe BX` SPa BP` SI`DI`ES_CS_SS_DS_DBDDDWEQUBYTEiWORDjDWORDkFARlNEARmPTRSEGOFFSETASSUMEATCOMMONDUPENDENDPENDSEQEXTRNGEGROUPGTLELENGTHLTMODNAM +P+mlijkmlHa`fedcMdOcʭK{ծNJLˆ~ 's$N ˮˑNl'sysRrsu!s 's M!uquuˌ&stь!%#!'m!s!zuv! Qu!!uuuu!z!!ƌ!sˇ!! Ύuӎ̫ }ǫ!PD( | nj"^(('(ZV <'Ίu_<( X:<>N\* )((** 6N* *** ]!7*s!oi*+*@o,n* j8*++ u[;** * ** *=n?<n9*d*n< **n *n+<s*n!nadU*s'dxnnBdndcfBShnsЩwohBeBB!Ӊ B׀ B +CTB o EBB  ! ˥ ̷o01k Ω` n 2sӴFnAOG֎Iю3-θngH+5ҏǴWbYs*4Bթ/p+xonګ.nnnx}BBӴþ7 \ݺK^ .2};,:5<q4+D"r@kH%R#bls9X=aP0zgțfΘ x(-׿)QeOvUd|WIЯ8T~Z*6MF VNCA]tuJpi_' ǧ?GYψcLʓۗh/m$!Eٙw1 y`>on&BS3j{[}@ @ [VID]Fatal Error: Cannot access file Fatal Error: [KBD]??SEG??SEGSymbol table capacity exceeded    STACKMEMORYhUSa: sn:  ext: DispExt: ext: snGroup: pre: DispRel: sn: snGroup: pre: ----)(CTAsm  Page Listing file write errorError file write error********* Error #  '[sys]<$>VM.tmpVM.tmpCannot open VM.TmpAllocate error on VM.TmpWrite error on VM.TmpInternal VM errorRead error on VM.TmpRMacro Assembler JanFebMarAprMayJunJulAugSepOctNovDec There were no errors detected 0FFFFH0H in 'EVAL(Q)LEN(A)EQS (!,!)GTS (!,!)LTS (!,!)NES (!,!)GES (!,!)LES (!,!)DEFINE(A) LOCAL ((A)IF"(Q)THEN(A) ELSE(I)FIREPEAT (Q)(A)WHILE (A)(A)EXITSUBSTR (,,)SET (!,!)%DEFINE(%$)(%EVAL(%$))MATCH (A)(!) METACHAR(A)LISTNOLISTEJECTGENNOGENGENONLYINCLUDE(A)TITLE(A) PAGELENGTH(Q) PAGEWIDTH(Q)PAGINGNOPAGINGSAVERESTOREINOUT(A)ISDEF(A)PASS10FFFFHPASS20HPASS20FFFFHPASS10HNo source files specified.lst.objInvalid Yes/No parameterGENNOGENGENONLYInvalid macro expansion levelyesnoyn=\z2Q         >;r+;t t ]˸]U, u,;u PT> s PTsFP0F tPT~rF FFFxFFrȊN:r^@FFuދFPZ+ЉVFFFN;rN7F;Fs,F+F F*ѶV;vVF FFF tPFP*F tPTF tPL^F~u^F^Sv|6X]U^vVF^ ]UFF؈t@F@FA؊$߈و؊툆빊Fu^㋇ʼnF u5Pv؀ uG G tb^؍t+JtFF;r)N|^ش@F؊؈؈uu`؈Qgd k`u5, .ii@i iit >uF򤊆]UFF^F`PFȴ^HNF hu FF4F$$.TmpQ$ 5p px+ ;"V(}Hcmz,GRE Uh32  6Vx6B/7Lx .\i3$6H  $>$|$$$,u44 44<<DD"DL(LLTT\\)\dlt||||+P[*r. po /4<DLT'\* dl$8t(|M)E" +*iC )4 0 6 #/$5(]x` T 's:O `@YHs-mbP?YK d }   yV  z {0$)$a$$$3$$ ,,Pm-if{0 d  ;kP# i!!"`"#-$G$q$$$%/%%&*&D&&&',((W)+,,--..+/b// 0U0`01DDD+EEEoEEFPGG%H]HH8IYIpIINJJKMMNONNcOOP&PHPkPPQURpRRVSTUUWOW^WWWWXXYZ<[[h\\\\\\\,]Z]]] ^^_S``b bDbVbhbbcccidrdd.eleeef f|ffhi*k(lPlmnfooppqes`t{tttttuu0vIvx8zPzz{{}@jOnBͅ00=Ƈ0F͉݉11.0U^؎]U^ t;uw6DGOtu]]ܷt7tE㉏%^wDGOt']PܷSXPXPw3P^OGG uX]DGX]U^GO;Owr;GsGOGG]G]UNݷt*t9FtƇ㡲]ݷSNNU^&_؊܊u Fr^X^u0^ F,a FF:Fr PBqFNFF%V‰FFVF FFFFFVFiFbFsi id]U`Pi^?uObd%^?u!GW£bdk^dp]U]Iٱ^q]UF^_.T>^ukrFuU^ ㋟Ǎ3^F+Ats!vFN>t^:_t PB@؊__uZ@؊_붡@_*ٷŋ*R>u_,P>t]UP]UQQ^ĈF< rF ŊFطň :s*ʈN؊Ţ.PP@^PqP@ķ~ňFqt PBss 6xsv/.NqdqqF  F8PBr sFȢ>uv]U>qr PB]ˠq؍ 6q]UQ^GF<uFr%~ u ^G tF<v< t PB/Ft@NtB € tA^sB" ]U"@F؊؈N؈FF"FFFFF<u<u1F$F FFFF؊؈N؈FF"F:FuڊF:Fu< ufFFFF tc؋O  ɱuANW  ҲuB шV u:t";򤀿؄u Ftf&^ G%F '^ v"k^ G @tFFv 6vFPGF~u'Fs~t ~uFF^ sOF>^ sA~u#gF:Ft'sFr^ u$CF^ G^ G^ G:FuG^ G %F؊F v8Dur0^ v ` v~  `~vP2F^ usG^ G^ GF^ONtt:w :w@~u^ G s s)!^ vtF< t< t <t~u^U~u~ t F$^=v Ps^F< t<t<u4F^2rFs!^Fr^s&PB^]Uv^G^G^G^G ]U^G u-^G u%^G<tu^G<tu ^G PB^G ^!G ]U&^1. PPP^ OQPPPP.qD v vFPsPQvPv ^WRPd򤀿؄uPPDF$FFs.^ 8Gu$O utr ^ rFPvvPvPv P.q r r>qu ^  t{ G^ Gl ^ uF^ trF򤀿جuX^ GtFv 6PFPG~uFu PPPPP˷wPPPv PqD>uPPPPPPPP%PP˷wPPPPPv vFPsPPvQQQv P &PB.qPP^ s@PPPPPPq^ G  PP PFP3FHP^GPPFP3FHP PFv]UQQHPP PFP3F^tHQPFFHP PFv]Uۨ8F u֨uLPPҨP֨PF t-t$^ zPF؍G Pv vxҨF֨ҨF]UdPFPlF tFr'HP P~tϠrHPvFF]UQHPvF]UQڨs vrHPvF]UQQڨs~t+^7rNFHP^SvFP3F]UQʨ t PFΨ t PFƨ t PF]U^t PF]U^t OQP]U~tPȢ娋N䨱n䨀 s 0؈A, 娷ਃ~u~wN몊娷P*ôP]U <t<tcG uZ*^ G u $PBPPPPPPPPv PPFPGFPFFPq*v PPFPG~u8^ t/~t s+k~u@N:uA"FFFr`P bF^ O+ȉN~Bu8PPPPPPPPF=r =sFsFw-PBlFrF=r=r 򤀿ؚuNPPPPPPPP1PPPPPPPPF^ O uF ‰FFFsF FFFFPq򤊇شFFFFFPF=t =tu~uFF FP^ GF<uF?~v(򤀿tcu|~ uv^ Grksf~u^ GFvPPPv ^WRPP.q ^ uF ^ uF^ G^:Gt&E򤀿ئuF FFF F^ GtFv 6PFPG~u#Ft%^t"GW;u;u~uF:t:vFߴ؊ĈF<u&~0vvPv^N-~'u vP6F s6v^vv^F<*t:t ~t,F݊F<*t vP6vFPPFP6l~t7FݢFݍFP~*t@Pv^Sv6v~uFs ^G] FP7+~(uv^Sv6b 1P6{Fu~$tFrF ss^8Gt$P/FFvFPPFP6lr~sv62P6{o~t~uFsFFPPv^Sv6vvFߋ؊ĈFފF<t<u F< t<tvv6^s 6Fs"F< uFPFvv^TU^GW;Wu;Gr^FGFGW^Gt FG/^Gt1vx;u;v}P/vx^>t^?tS?vF:uѹv~vF<$tv~FQvF^wFPP6F~tvFPP6FNv^w P6O>t F<tP/F]UFt v ]U ^?tAQSPY sHgPL^FFި@F^PvDPPRPPwmPSP6aF t vPި^]UQQ>ܨ r vPvFP6FܨFzܨ]UQQH t0Ȣ먋F 1بN+ȃ0먷模بF uɀ~u *먈FF*ȵQP]U P]UvHvP]UQ^F^:uH^vNt+Jt/~t)F@FNAN؊ي:t 2< tNѰ]UQFF^^ ]UQFF^^t]UQQFs:FF=wLJFu쬴0SPRSPR PF6G Fs'PPPP6GGG PPPPPPPPPPPP]UF @Fs PPVNȺ##׉NH##F;u^F^7P^]UF #؍^FF^GFF<w^@FuF~F^ u&^tN tQPF؀uFFr^ u^u ^ t^^FFt,FF^ Gtb r PBr PBmF PFPFPFF ^GF^F^GF ^GF t^Gȋvȋ] UQQ^PF؂?t#F^ȊN:r@:Ft,Fu^8r PB^F@^]UQ>scPFءG^9GsGFPF؋GF PB]UQF:uc>v\PFءG^9GsG˷PF؋G PB]U^㋇쨣>uZ^ PPP^㋇쨋G^6| ^𪉇!6Pv؍G Ps]kUQQ^g ^G t!t쬉F쬋w扄F^G6^ u#GtPFG]UQ^g ^G tu w拄G6]UFF=wD؋쨉FF t-PPF؋NF8Gt<u vv^FFu]UFF:s1PFwPFPv^FƋ]UFF:s3ܴPFwPFPv^Fċ]U]U^G FvL N\f^_f؊MFu FuPB]~t ^GF^ t$rsPB]^G^G^)GFFFF^G^G uPB]FN N#N# ^G ^G^0G^G^0G^G^1G^8Wt,tt uPB]Fr FPP;FqFЋ]U$q؍Fq؍^FFM:w"*F:t8Ow F^GfF1svvPL^.^G FvL N\f^_f؊4Fu #NuPB]48Ft*^Ow:t ^GF ^GF^ 8Gu ^8Gt<rsPB]^ tG^ tG^G^GFFFF^GF#FuPB]FN N N#N ^G ^G^G^G^G^G^ GqvvPpFvv;r]^G^gG^G ^1G qyvv;r]^t?PB]^Gv1tG^G ^1G qFPP;r]^G F_FȈN ^G ^wPB]r^t PB^G^G^O  v~qxq؍Pq]^t;r!6PFW؍G P^G^G `P   qvv;r]^G^!G^G ^!G qFPP;r]^W^w vvP;F^tG^GfvvP F^uGCvvPr ^G^GvvPr^uG^G^GvvPr^uG^G^GvvPGr ^G^Gwvv;r]^t?PB]^Gv1tW^g q$vv;r]^O^g^g qvv;r]^O^o^g q6PF؍G PyPr ^G*^G PPr ^G PBb /q?TCFGlY u } Q!sV 3p)\>qs PB]U졂]U졂]U젾s+F=vNvF]UQFP؊P]U젾s>rF]U젾s;=rFv FċF^tG^tG ^GG^G^G ^G^G^w PB^G G^G^G ^G^Gf^w PB^tG^G O1G^G^G ^G^G ^G t<8Gt"t^GPPP PB]?^G u :uQB]^GP^w6.qp ^G uBPB]^O 6q< >s PB]^t@w >t PB] 6PFq؍^8Gt FG t PB] ^GF݋^tFȈFF^t1G ^G^Gv݋^wvv6^Gy^ uPB][sP^G tCv݋^wvv6Fߴ^_^G^G^G ^w.q ^ uPB]^wqb q[ ^G ^u8Gt G tAPB]^wG P ^qȱLJ ^w ^ww .q F^u^GF^ttFFȈFFP2 p~u3^ tGFuuPB]vPPFPG^ t ~tFFP2 ~tPB]vPPFPG^t FP2 HFP2 ^G ~uF u tFFFFFP2  uPPF؋G +FG ^G qV ^ tG^Ge^G u t*^tPB]^G^G%^t ^GPB] v~q6PF؀ u G uPB]rB^u6vD;Gu(ts PB^Gt^t)SPPFPG~uPB]^G ^^^G ^ G v~q6PF^t+G 6^G^G ^G^G^ uPB]^G ^tJFPPPxWP^G^G ^^ v>6Q^ uPB]3^_PF؃tPB]^w^wq>sPB]6PFG uPB]:u^u^G^G^G^G G ^Gs쬋^Gq^8Gr G ^O  ȉO ^G PB^8GrO  ȉO ^G PBrFFFFFPh6PFذG^G ^G^Gq7,>tPB]6PFG u^G uPB]^G ^O G ^^ v~^Gwt&^G@PP^GPPr^t PBqHs>qu\vPPFPG^Gut ^G uPB]FuFvFq^Gu!t G uPB]PF؋9GrG^Gqmvv;r]^G^ G^G ^ G q2vv;r]^G^1G^G ^1G  ]UrF >u >u t_@FƨS6FƨSFPPFP3FƨSP6FP3FƨSPF>taƨSPF@FƨSFPPFP3FƨSP6FP3FƨSPFF tP]U>u>t~u"PPPP>u&F^G:t 󬰐P^G P&^GPPPP]U^w(G t t^G PPP]UQP}^tWˆFFPPb^GPPTPPI^GPP;PP0PP!PP]UQPPP^F~t%NPPF^@PPՋ]U^G P^GP]Uq^G Pu]UQQF~uF ~uFFsNNFN FPv]UQsws PFPzPvzmFP9v3~uVP'vK"~s TPvUPF,P]U젾rs?Fs PHPv zPF PzPFPzmvv~ t Ft ,P~F ,VPov ] U젾rsBFs PHPF PzPF PzPFPzmvv1~ t Ft ,PF ,Ft,\P TPv ] UtPP^GPPvI^Gs .PB]UP6vxF&s/>uP^FPPa^ PPN]UQP6PF؍G PNP PPPPPSSSSSPRPSPR]U>u>usr/PBPPR>uu PPPEuPP:PP/]U젪r(ڨ~t^PPNFڨ]U젪rڨvcڨ]U젪rr > uF]U젪rڨvPڨ]UQr4r-ڨFvPڨF]UQQFF>uFFFtP,Pv]UQQʨS^SFPFP3F t 4WPVs3 s,ΨS^SFPFP3F t MWPV]U젧s!t, Ȱ   ȿtr+ 10Fs+rt@Pxrt]U>^trxrsZt d񿚶rsFF :v؊:t t uNvFP6]^FFs: Ng񿙷^Ƈ^Ƈ  j ڨvPڨu򤠚F^&?tuF F t ^ &?TNtý4}F ÌË&G^ &O>ËF u+JÃusü4ЉF V4^ &GË6&^&Z&W] U^&G :}t Sv"D0^SFPuËF u^Sv"DF}^&O ]U#U$VWQ^SY_^F^OGG w 3GGG؉GGGFG F GFGFGFGFGPSl]UU^ SG PPFP[#uMG~&w\r/^ F%;u^ ^ FF;tX F ;FuX]UQF =rmt =tmt"6¸rmP'\Ìà^&G ]UQF =wmt =mmt"6 øwmP'\Ìà ^&G ]U^&G : t ^&SP(|]UQ^&^ &rGr@vBrFFrtwP6v6'PFrt]UQ:wP>tCsP> u6F< v< uOWFP/݂>tր~ t#~ u P'~ uP6qFi 8Fu X~ tR~ uH":tƇ Ƈ :sP F]U젧s::u F:sFPF:v P/]Uv/]U젣rI>r1>s;>t>rFF]UF]U>sF]U^Ƈ]UQQFFȊ^:r1ヿuF^㋇;Fw FFFuÊ㋇t ƄsSLJ]UrF VzN^VQRQPvvF=u&F^NPQPPvvF𸲸PFPvPPmmPF t WPV^㋇F9Fr9 F򡮾F6vv F t˿WPV뿋F FFF6^SPvvFP$F t WPV^Ƈ]U ؋Fؠ;v P}F;u*ƇF@PF FFF6SPvvFP#F t WPV]UFFȊ^:rヿt ;FsFFuظ9FsFFȊ^:rDヿt4;FsLJ^F)^㋇;r@Fu]UQQs *^˷^F~t/>u PȢN؊sP^]UsFF}N u+JV s\tWNAv~^YF@^&^v&48@ ^& ~]N u+JVuF HN;v9@N +^vp^~&=9^YF@N +^&CFPDF u^&O@wA^~&=9^Y^&G@^&^v&48K^&v&4^P^&wg&we^&^v&48M^&]U ^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPDF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uI^ &k]u+JBV^ GkPRPPP^S|PQPP] U^&G F =wmt =amtI~]Nu+JV^SBRPPFPQ؍GPQF!t=uF~^&Gi^GePF^kvNFYF^&^S^Sv^SFPfF uF~u;^SvRPPRPF=u^v&xF^&Gi뾋F u9^SFPvRQWv Pv6aF u ^&G ]U ^&G :t h^&G ^S\F u^&FF^SGkPF&P^SFPpF u^&Oit^v8x^&GiF^S^Svu4F tM^G8P^SvRPPmmPF u"^&w8F t^&w8 FF]U^&G :t F^&Gj]U^&^ &&W^&G :St ^S<F uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:F t@^&G-F]U^&GFrF@1V^&G&G &W"FV&G-sG<PFPF^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF]U^ &G :-v :uAd;u:XY;u2&u+SPPPPPrmPPPP6a=tx&G :u&G s&G &W 3L&w&;ws&G&&33SQRR&G 2&Q‹T[Y=ut&^&]U^&G :-w):u&G t&G uF&G &G 3  ]U^&G :-v :u?H;u8XY;u0&u)SPPPPPwmPPPP6a=tY&G : u&w&;ws&G&V&3/QSNQQR&G 2&Q‹XYu=uP]U ^&^SP(LF t^&G t~&w8&SP^&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G,]U ^&G :ht :t F^&G-rG<PFPF^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSvLF tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^SPLF u]U^&G :ht :t ^&G&WFV&O&O &"N~;u;wN~Fs FF%tP ]U~u]U+Zr tH]U+ZrH]U3 &L&;Wt]U vPFPPF uxFV^&&W~u~tYFuRFVFV)F^v^ SPvvFP#F u^ &?Gu&G &W^&&W] UQ^ &G :}tS^SD2^ SFPyËF   F&ONF `++щVFFr2&G;Fv%^&^&;GuF^&GFNJFs ^Sr ^&w&wvPPP^F^&G^&^FF^Go]U &GFF^&;Ft6&D;Fv^&GF&G;Fw@Fs ^SrvvvPPP^FF &+G1FsvP&_^&G)FFF^&G HN;rw&@FsFYFF;FuNF^ Gv^&@ ^ Fs$s^ G^ G^ ^ G^ oFtzPT] UQQ&GsRPvPiFnb&&GF^&t&G&G ;Fv:&GFF&G;Fv!^&tF&G^&GFҋF&G ]U&Gs]˚Sr]UQ&Gs$F&GZ&W аu@ÊFø]U].]UQQ^ &dt[SFP ^& uW^ &du&G-sG<P^S^&^ SwmPvv^& uh^ &G ^&]UQQ^ &Gd<tO<uSP6M^& uI^ SFP ^& u0^ SrmPvv^& uS^ &G ^& u^ S^SDF}^ &O ]U6P 6Pl u%666P u6=t=!t3]U^SFP|]U1;FvTFPFPF u>~ sУÉÍFPDF tq PPP/F tVFÌË&G\F&GFs1^SPCF uÍG$PPCF t.ùPXtNZ&Gr㍇xFF&&G ^&&G&Gp&G ð&GxN&ONsB&GÍW$+ÃN+&O&G&G&_ j2&G&G&G&GF-&G&G `rt؍x&G&_srFFFtHN;r~^8ueVsYF^P;Vt F@FXN+PFX^@FVPFX^@Ftw]U&F9F u&GFs&GFF &G-FF ;FvNFs&G FFF`&+G F1v~^NNOO{F+F FNsRQPPiF tUrPvvPvP^F&G FFF`&+G F1v~^YF &Fr F&G]U&]U F FF FF tl=vF FFF~t.&w^SvvvFP#F tP̋F)FtFFFV덋]U^ &G&GFF^ &G HN;ra&@FrK~uF^Gv^ &@ F^ &+^G^ &F^GF ^FFu] UFsFFFF F3^ FFF;pu^SFPFPFPFFFs&FsFFF^&t&G^ GFrF&GFF_&G ;Fw^&t/nF&G&;Gs PTF&G F^&^&^&G^&G`+F+1FZ^ \+F^ G8FuO^&G&GFF`++щV^&G^&^&^ &^ &^&&GN;w&;wA^&&GFFFV+v‰F FFN^&FFFFFFF^&G HFF9Fv^&@]FFF^&H N^&@F:Fu;Nv F:Fs F@F룋FU &GF  ]U&_]UsP tG^FFFFF;Fr(^& t&G r&G;FuF&GF s͋]U s~ tu^FFFFF;FrV^& tF&G s>&G;Fu5FF^&F^&^&G^&̋F^&G^&G F s]U sX tO^FFFFF;Fr0^& t &G r&G;FuF&G^&G F sŋ]UF ]U욖[،;t S&_K prX-6PSԃ RVU*X-YPԃRU[U]ËËËË6Ë>6ĎÝU]66ÌЎ؉ÉÉÌÉ6É>ÜUFPFP^S|]UFPFP^S|]U^ S^S]U>ulFFFFFP FFFFPFFĉF^FFPlFtF u)vFPFĴ^&Ĵ^ &]UQ^ &GF&Z&W&G&O&G &G &O&G &W"&G(&G*&G,&G-&G.&G4&W6&O0&2<(Y~ rmuS^ &G &Gd&G&G h^ &G &Gd&G&G ^ Svv6zF}^ &O ] UFf]UFV v]UFV v]UFV%]0Q]xUܨڨsuvxۨFP6vvFP6* vƇ:vlƇ vWƇ-F򍿘Ƈ-F-lPP6uP6<>]UF 10ŠF10]UQQ<ts6 F66FF:ݨs%srvPSP66FҰ PP6 PP6]UQFP:P PFP6F tڨPQ6Wڨ^SFPPFP6F^SHPPFP6F]UQSv6F]UQrJHPPPFP6FHPPPFP6FHP P6F`6ܨݨmP6u6 ݨܨ@6s6rtrHPHʨnjޱ;u$:us>t ʨSg s/HΨnjޱ;u$:t ΨS16C6]p U^DrC. ~. Ȏ]Invalid numeric constantSyntax errorExpression too complexInternal error #1Invalid arithmetic operation for relocatable or external expressionInvalid use of register in expressionInvalid use of PTR, must operate upon address expressionUndefined symbolForward reference to EQU'ed register not permittedSIZE and LENGTH must operate upon data symbolInvalid argument to ASSUME, must not be forward referencePROC/ENDP nesting too deepMismatched PROC/ENDPInvalid origin for absolute segmentInvalid redefinition of symbolMismatched SEGMENT/ENDSExpression must be absoluteValue too large for fieldStrings > 2 characters allowed only in DBInvalid SEGMENT/GROUP prefixLabel phase error, Pass 2 value differs from Pass 1 valueNo ASSUME CS: in effect, NEAR label cannot be definedInvalid GROUP member, must be a SEGMENT nameLimit of 255 EXTRN symbols per object module exceededDuplicate declaration for symbolNot an address expressionArgument to END must be a NEAR/FAR label defined in this moduleInvalid argument to ORG, not absolute or offsetToo many GROUPsToo many SEGMENTsToo many GROUP membersSEGMENT nesting too deepInvalid destination operandOperand must be a BYTE, WORD or DWORDOperands not reachable thru segment registersToo little space reserved due to forward referenceInvalid combination of index and base registersInvalid types of operands for this instructionMay not move immediate value to segment registerInvalid shift countRET   ؊Ĉ<u^ GWFVƆ:tƆv 6 ؊Ĉt :t<*u)v 6v FPPFP6lv6Wu#,0t?v 6 瀾'u v P6(uv zSP6bƆ 1P6{]u<t<uv 6|:tsz2ʀ us:uasŠĈv 6 v P6Ĉ:t:t :t:tƆouFVt5ȴ:u`u'ȴu v 6zȈɈ:tFVy(uv zSP6bƆ)/<)uv P6^ GWFVƆ^ GWFVFP6FFFFPPP6F^G P66PjSFPP6F tPP6F؋FG F^ GFFvP6FF؋FV+GWGW^GGFs0t^w"6[Ɔt(v6vP6F؋G=v~FPPP6F^G FPPjSFP6 outside of PROC/ENDPOperand must be NEAR or FARNEAR jump to different ASSUME CS:Conditional jump to FAR labelSHORT jump to farther away than 128 bytesSegment size exceeds 64K bytesNo END statment or open SEGMENT/ENDS PROC/ENDPMissing right ')'Invalid character following the MetacharacterInvalid controlUndefined macro or controlInvalid call patternInvalid pattern argument to MATCHInvalid LOCAL symbol definitionMacro or INCLUDE nesting level too deepInvalid PAGEWIDTH or PAGELENGTHSAVE/RESTORE nesting level too deepRESTORE without matching SAVEAttempt to redefine builtin functionMacro attempts to redefine itselfInstruction always uses ES:, may not be overriddenMay not index NEAR or FAR expressionAttempt to divide or MOD by 0Two memory operands are illegalDUP factor must be positive integer and not forward referenceSymbol may not be both EXTRN and PUBLICInternal Error #2@Yf}2Cv2Qi V4dt&Y2Tr*:Uj6[} Q y ` T 's:O UQQFv 6 F<u0P6{]~)uNuzF<(uFPnF:ubv 6 F؀u",0F~tv 6 FPv^N~'u v P6 6v^v v6 vv^QUQ^G^_^^^^G W^G^G^G^G^GW^GW]U(v 6gs=rr =s7Ɔv 6 ؊Ĉ:uhv 6 <*t v P6,v PP^P6lP*t@P^7SP6vdt1Ɔ<t<u2r9%E>u :P6{3Ȣs؊袡$6v P6FO sTrFFrtdP6^G ȴ@'^G P6^G ȴ@%Frt^w6] Uv6L]UQsFs 66[^FF~t=F^pv^ sFsF^pPFN뽋] UF>ti < v%s 0Pv^ A, Pv^ *>u>tr0 0Pv^ &됰HPv^ s!FsFF F 66[O] Uv~SvP6]UFFFv6FF^FFFF]UF^ ~uFsXP6^ FPP6^ G^ GO^ O^ u~u]U^7P6^w؊F@^G?#u`^u"P6GG^G^wP6^G^OO^O]UB𬈆Fڠ^_ `FFޡFܠq^7~HذI^NQPSP6 PP򠤸r P6؍^؋Grs P6{^_ `򤊎FFޣFܣqFڣ򪊆𬋆]U~tF^G^o_]UQQ^G@ %^G^GPGP6F؂t; ^ t <P6{U^G ^G^PPP6^GPPP6^F!^GF]UQQ^tY^wP6F؋ONw6v6^wP6F^!؉O^^G^O ]UrW^ĈF^_.w+crrF<t<uv6rsr-r&F<t^<tZ~@u~u ^GrrF<   PP6%"6P6g]U]P?Y@K d } cUP6% u PP6%džH;r>PQFP6FvP6utȈ.u爆tȴ>t劎*ȵ򤊆*PP6P6% u2򤊆򤊆.PPFP6NvFP6ʨ̨P6% uA򤊆t<t<un^GF^G ^G~@trrF<t<u^GFuGG ^GG^G@ %^G^GPGP6^GPFP6F^uFG F^G^G^G^G^G^G66t^G^GsFF<t<t 6P6{SP^PjF^G^GP>jWPP6>^GI^Gu'PFPFP6zFPP6F؋G^^GF^F]UQvP6FءGF]UQQF t(PP6F؋ONGFFFы]UQv v6F؋G^F]UQQF t/PFPP6F؋O tQ6v6FFʋ]U^?w^F@^]U^F@^]U^]U]U^ĈF^_.SS%h/~tFv^GPjF:u/^G&~u#F,0^Gv^GPj^G~t^G^G|~@tF<t<u^GFG@ %^G^GPGP6^GPFP6F؀u)vL;Ou$PDPj^w^GPj"F^G^GP>jWGPP6^%^Gu>uFF]UQFP6gF]UQsBPPP6PPP6P PP6P PP6P PP6P PP6P PP6PPP6PPP6PPP6?PPFP6SPPYP6fPPkP6lPPsP6PPP6PPP6PPP6PPP6PPP6PPP6PPP6PPP6PPP6PPP6PP P6PPP6"PP,P63PP:P6;PPDP6EP PJP6KP!PSP6TPPWP6XPP\P6cPPiP6pPPvP6~PPPPP6P  s6.PPFP6NvFP6ƨȨP6% tKPPFP6NvFP6ΨШ  ƆPP PP PP PPPPТPPs PP6%P6% uPPFP6NvFPP6fs?PP6fs&PP6frPP6%]U v6% uvPFP6F~waNv~FFFFP P6fr"FPP6fr,FPP6fsFPP6fr^]U <r"^&&W&G&G;F s Wv X^F&F&GFFF;FsN ;Nv&@FFF;Fr ,v@^&Z&WS&_[&G]Us]&G@]U cr &G;FsGvX^F&F&GFFF;Fs&@FFF]U>u P6O u$>t &G>t>t]ð]UF 1F1FF1Vu FFmFm1FF1VF1F ;vN^㋇;FvNFF^&F 1^&W^&8Os&^F+@^&GF1^&WF <1^&WF 1F1^&WF 1º PF1Y^&G]URPPFP6F uK~tE^&t6G^&G&vH:<^&@>]U uPPP65F u{&G < r < wfrHF sFF :FF>F uDPPP65F uo&G ^ &:GwY^ &GX ^F&G;FsF^ &GPP^&GȴP^Sv6YF tn<~u8F^ &OQP^&OɵQPv6FF tUV~uF~ t~uF r~t6FPFP6FF^&~uq븋F] U^ SP^S6/]U^ SP^S6/]U^ &G :t x uPPP65F uV&G < rL< wH^&^&G^&GP^&G^&G^&G^&G^&GA^&G6 uDPPP65F u&G ^ &:Gw^ &G@ FF^ &G^&^&G^&G^&G^&G^&G^&G^&G^&G^&8G uA^&O^&8G u@^&G^ &GA^&G^ &G^&G]U6^&^&G :t O uPPP65F t&G < r6<w2F ^&~ t^ &?uxPPP^ Sv 6Yc>&u!&FP6F u ~ r&$ "uDPP"P65F t^&GF"&8G w ]F"X ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPP6TF tX FFF ;FwD FrF9F w^ &FF^&O&@^&G^&w FA:r 6^ &duSh^ &G ^ S^SF}^ &G F]U^&G :-r^&G :ht:u^&G&G &W"^&&Wc^&G :SuX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :u^&&G ]   mmNubReturnBioIntCtl rgCommLineEoiClassCrashMediateIntHandlerPSend6 0`UTTTTT T TTTTTTTTTT "$&U  QVRWU& &8&\ &T$&6.&&6. u@&T(8>&&t& >t> u"]_Z^Y[X&(&*&,P6(6,6* u6.T(8>˚aAUD&60P&6.&>0&\ &T$S&]&6.&T(8>%DVVU0U78UW$>0>(>>>>3GU^] A T T ,0)a3U~SF =wmt=amuF~]Nu+JV~&Nu+JVu F@;Fs F@;Ft ~s }~u^&GM&_O^&GL&^v@^&GMZ&WOF@N+^&OL^S^Sv^Svv ^Sv6F u ^&G ]U^&^&G :t ^S^ Sv ^S6]U^&G :t ^Sv6:]U^&G :t ^S6]UQ^ &G :t m~ wA^ . ^ &G=)^ &G.^ &G/!^ &GB^ &GDFF^&] U^ &G :t l~ wH^.Xr~F^ &G=3F^ &G.'F^ &G/F^ &GB F^ &GD]U^&G :t F^&G1] 3 UdVnjޱ;u$:u ^&G(~F =rmt =tmt ^&G ]UQQ^&^ &&W^&G :t WFP6DF uC~uF1~uF$^G^ &Z&W^&F^&GF] LIBRARY: ctos.lib VERSION: 11.0 (Saturday April 11, 1987, 11:12) LIBRARY: Assembler.lib VERSION: 11.0 (Saturday April 11, 1987, 11:26) COPYRIGHT 1980, 1987 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, INC. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. VERSION: 11.0 (Saturday April 11, 1987, 11:14)  commnub_pre10 CTAsm 11.08??SEG??SEGDATADATACommNubCODECommAsmCODEDGrouphh2hLh  ResetCommPortpIsrTxData_pre10FIsrTxData_pre10 RawCommNub MedCommNubIsrSpRxCnd_pre10wSI. pMedCommNubIsrRxData_pre10 ,pMedCommNubReturnpIsrRxData_pre10,IsrExtInt_pre10SpuriousRawCommIsrYpSpuriousRawCommIsr pIsrSpRxCnd_pre10 pRawCommNubwDI0pIsrExtInt_pre10MedCo COMMSTATUS_PRE10PLM86 V2.304/11/87 10:05:3ۖ;STACKMEMORYCODEDATACONSTCOMMSTATUS_PRE10_CODEDGROUPh@=HHDTD., K8IOINTCTLEOICLASS RGCOMMLINE IOEXTCTLREGLREADCOMMLINESTATUS_WRITECOMMLINESTATUS_VALIDATECOMMLINEHANDLE@ ., DUv PF t> F t?F&7&< sE<s FN FFuFF uNF@t]`&&? sPF XP+F XFFuFFuNFuNF #F^&]\2DMąĒħUQQv PF t>pFt?dFtZ&&? r&&? s N N F&&N V ҲuB""&]h \3@`ĆKUF tF0؋.;Ft!&&? u~~r>]"$tGW3|g| XxxX?P^!||U|;d Copyright 1987 Convergent Technologies, Inc. All rights reserved.Ver 11.0 Linker 11.04j.}+%Y#Tj%c #'+048<@EIMQUZ^bfjosw{p5#SQSS_SSVSS SnS7<A7:XTY }Ak/D^SflJQXsXc v< v=^^3^^ /0/P0/_0!_P%?%O'O@()145667;<= `?LMP?ROR0SSe'()E" +* /A]P2)OrdlB ,A]lUL;7vvvvlvvvvXvvv#v+vPvv^v v v$ vw v v vM vq v v v vL v< v6N^&^j^^^^K^Qp3@S;JXvN^UF tP 4]UP^SvVP3P]U\FV%FF%FV^SRPFuvPPPVP3PxP P6*VP3P\PPPVP3P@P PPVP3P$] vFV;V u;F sFFrٰ ~H^SFPPFPFu~uvF8F~t_vBF0F<9vFFvBFF$0F<9vFFvBFF< rvvvvRP>P PPVP3PPvvdu6dRPvvdu6du]U vPFPF u$~tFFF&:ot:nu]UQQV؉FWPFPPZNF؎]UQ,P62PPPBPP6XZ\^`bPDFPPfPPPfS6jRPPrmPXSPPPPlPd t6RPlS6pRPPrmP\SPPXPPrPd t= tP6rtvPrS6vRPPwmP`SPPPPPd uS6xPPxs xzPPPd uS6|PP:s |~r6z6x6~6|P>FgsPP6lP 4P6NBFr PP;dPP"PPPP ]UFPFP"V^&?{t@&?[uP6:t. FPQSVSVQ^[Y=Xt ],N~] t&<}N u+JV s\tWNAv~^YF@^&^v&48p ^& ~]N u+JVuF HN;v9@N +^vp^~&=9^YF@N +^&CFPF u^&O@wA^~&=9^Y^&G@^&^v&48{^&v&4^P^&wg&we^&^v&48}^&]U ^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uI^ &k]u+JBV^ GkPRPPP^S|PPP] U  &G :6^ &du^ &G ^ S^SF^ &G F]U^&G :r^&G :t:fu^&G&G &W"^&&Wc^&G :uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :Qu^&&G ]UQ^&G :t SvY6^&du^&G ^SvYF^&G F]U^&G :t :ft^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP($F u^&uS[F t^&w8&S^&w&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2^Sv($F Yu0^&w8PGPP ^&G :u ]U ^&G :uC&du ^&du&G ^&G-sN&G :u/G<PFP 0^&G :t:t:ft f^G<PFP F^&w:FP u ~u~u^&w8 F^&w:)F^&G F uF]U <r"^&&W&G&G;F s Wv X^F&F&GFFF;FsN ;Nv&@FFڋF;Fr ,v@^&Z&WS&_[&G]Us]&G@]U cr &G;FsGvX^F&F&GFFF;Fs&@FFF]U>uP u$>t&G>t>t]ð]U#U$VWQ^SY_^F^OGG w 3GGG؉GGGFG F  w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^SP$F u]U^&G :t :ft ^&G&WFV&O&O &"N~;u;wN~Fs FF%u!FPF u ~ r uDPPP/dF t^&GF&8G w ]FX ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF tX FFF ;FwD FrF9F w^ &FF^&O&@^&G^&w FA:r 6H$$H$Ha,6H$DH$1WZH$$ 6 $|= 6T [sys]LptConfig.Sys>||[KBD][VID]uF.  g | F+4FP^SFPFPF tF$*ȈNuFNF*:NsNˠs-FPFPFPzPF˴PFPPEWFPFPFPPF˴PF^&Or* uVFPFPFPFPF˴PF~uVFF FPFPFPFPTF uv~u&FPFPFP PPLF uҊFg~t/F:Fu~t FF^SFP$F uFPtF u{FF~t`[~tNSFȈFIF:FvF:F4~tNFȈFF:FvFF~tFFFtF^&GF^&GF^&GF^&GF^&GF^&GF^&GF^&G FsFPFPFPFFF^&F uF]UFa:r uF F t ^ &?TNt4}F &G^ &O>F u+Jus4ЉF V4^ &G6&^&Z&W] UQ^&G &w8 F^&G:t P)FF]U~eF1F1F1F;s PF^&GZ&WvF&MX&E&uF+ƹ1&EFF&Z&U&E$<&E&F =wmtAN=rmYt=tmuFrmF =wmt =mmt=amuFmm FP^Sv^SvvF=uy~mmur^Sv^Sv^&w&&w$F=u ^Sv^SvPPF~u FP^Sv^SvvFFF t^G:P(F uy^&w:FP uF FuF^&G8Fs &G&G@~ tmuv^S^GPtvP^GPPFF usF =rmt=tmu^&G &G 5^&G&G~ mmu&O FV^&G FF^SvvF t ^SP+]U~ ]Nu+JVt)F^F9Fv@^ &80r ^ v&89vz^ ^ v&0^F븡N LuDPPLP/dF uKL&G ^;v ^LX ^F&u^& u@^] UVnjޱ;u$:u ^&GZ~F =amt =wmt?J HuPPHP/dF u~H&G < r<w'^&G _^SvFPFPrF uE'^&G F^&GFsF^F^S^SvFP3]UFf]UFV v]UFV v]UFV%]U+Zr tH]U+ZrH]U3 &L&;Wt]U vPFPPF uxFV^&&W~u~tYFuRFVFV)F^v^ SPvvFP#F u^ &?Gu&G &W^&&W] ------------------------------------------------------------ [VID] EndOfFile Dump Differences encountered. No differences encountered. yy[!Scr]$$.Tmp=\z2Q[KBD][VID]Press NEXT PAGE or SCROLL UP to continue|(Press NEXT PAGE to continue|       VNVF11.0  LIBRARY: ctos.lib VERSION: 11.0 (Saturday April 11, 1987, 11:12) LIBRARY: Dump.lib VERSION: 11.0 (Thursday April 16, 1987, 20:52) COPYRIGHT 1980, 1987 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, INC. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. VERSION: 11.0 (Thursday April 16, 1987, 20:48) v~N^Y4sPP P^SvNLF0PPFP/\F uF^&G Z&W F&GF]UQ^SvFv ]U~SF =wmt=amuF~]Nu+JV~&Nu+JVu F@;Fs F@;Ft ~s }~u^&GM&_O^&GL&^v@^&GMZ&WOF@N+^&OL^S^Sv^Svv ^SvF u ^&G ]U^&  l key when shifted attrUnShiftDia EQU 02h ; diacritcal key when unshifted attrBothDia EQU 03h ; diacritcal key when shifted or unshifted %DefTableData (KbdEncodingTable, 0, %(%' DW 'KE' ; signature ; this is a sample of the German CT-Keyboard KM-004 ; DB 0, 0C0h, attrControl ; 000 help DB 01h, 0C1h, attrRepeatFast ; 001 up-arrow DB 02h, 0C2h, attrControl ; 002 mark DB 0Dh, 0C3h, attrControl ; 003 bound DB 04h, 0C4h, attrControl ; 004 finish DB 05h, 0C5h, attrControl ; 005 prev page DB 0A9h, 0A8h, attrAlpha ; 006 DB 07h, 0C7h, attrControl ; 007 cancel DB 08h, 08h, attrRepeat ; 008 backspace DB 09h, 09h, attrControl ; 009 tab DB 0Ah, 0Ah, attrRepeat ; 00A return DB 0Bh, 0CBh, attrRepeatFast ; 00B down-arrow DB 0Ch, 0CCh, attrControl ; 00C next page DB 0Ah, 0Ah, attrRepeat ; 00D next DB 0Eh, 0CEh, attrRepeatFast ; 00E left-arrow DB 12h, 0D2h, attrRepeat; ; This is a GERMAN NLS.ASM, usefull as a sample for making ; native changes. ; ; ; ; COPYRIGHT 1980,1983, 1987 CONVERGENT TECHNOLOGIES, INC. ; ALL RIGHTS RESERVED ; ; THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE ; SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A ; PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED ; WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, ; INC. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS ; SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. ; ;############################################################################ ; ; NATIVE LANGUAGE SUPPORT TABLE DEFINITIONS ; ; NLS tables are a collection of tables loaded at CTOS initialization ; which provide native language configurability for CTOS. ; Convergent Technologies, Inc. reserves the ID range 0 through 7FFFh. The ; range 8000h thru 0FFFFh are available for customer use. ; ; To change an NLS table, edit this file, assemble it, link it ; as follows, copy Nls.sys to [Sys], and reboot the workstation. ; %'Link %'Object modules Nls.obj %'Run file Nls.sys %'[List file] %'[Publics?] %'[Line numbers?] %'[Stack size] 0 %'[Max memory array size] %'[Min memory array size] %'[System Build?] %'[Version] %'[Libraries] None %'[DS allocation?] %'[Symbol file] ; ; ;############################################################################ %'########################################################################### %' %' NLS TABLE MACRO DEFINITION - %' %' %DefTableData (TableName, ID, %(data)) %' %DefTableString (TableName, ID, %(string)) %' %' For example: %' %' %DefTableData(UserData, 8002h, %(DW 4 %' DB 41h, 42h, 43h %' DB 0AH)) %' %DefTableString(UserStringName, 8000h, %(StringInSingleQuotes)) %' %'########################################################################### ;############################################################################ ; ; ACCESSING NLS TABLES - ; ; The pointer to the NLS table directory is returned by calling the ; CTOS routine "GetpStructure" with a case of 25, for example: ; ; CheckErc (GetpStructure (25, 0, ads pNLSDirectory)); ; ; The NLS table directory has the following format: ; ; wSignature WordType /*value is 'NT'*/ ; ; cbTable WordType /*count of bytes contained in the ; directory and tables*/ ; ; cTables WordType /*count of tables*/ ; ; oRgId OffsetType /*offset from pNlsDirectory of the ; array of table ID's*/ ; ; oRgoTable OffsetType /*offset from pNlsDirectory of the ; array of offsets to tables ; ;############################################################################ $INCLUDE(nls.mdf) ; ; For further information on setting the attributes, see KBD.ASM on ; CTOS Build Diskettes. ; ; %TableInit  attrControl EQU 000h + 000h + 000h ;no shift lock, no repeat attrAlpha EQU 080h + 060h + 010h ;shift lock, repeats attrRepeat EQU 000h + 060h + 010h ;repeats attrRepeatFast EQU 000h + 040h + 018h ;repeats, faster attrShiftDia EQU 01h ; diacritca Fast ; 00F right-arrow DB 80h, 81h, attrControl ; 010 SH-L DB 11h, 0D1h, attrRepeat ; 011 scroll-up DB 0Fh, 0CFh, attrControl ; 012 move DB 13h, 0D3h, attrRepeat ; 013 scroll-down DB 14h, 0D4h, attrControl ; 014 copy DB 15h, 0D5h, attrControl ; 015 f1 DB 16h, 0D6h, attrControl ; 016 f2 DB 17h, 0D7h, attrControl ; 017 f3 DB 18h, 0D8h, attrControl ; 018 f4 DB 19h, 0D9h, attrControl ; 019 f5 DB 1Ah, 0DAh, attrControl ; 01A f6 DB 1Bh, 0C9h, attrControl ; 01B GO DB 1Ch, 0DCh, attrControl ; 01C f7 DB 1Dh, 0CDh, attrControl ; 01D f8 DB 1Eh, 0CAh, attrControl ; 01E f9 DB 1Fh, 0DFh, attrControl ; 01F f10 DB 20h, 20h, attrRepeat ; 020 space DB 39h, 7Ch, attrRepeat ; 021 9 | DB 82h, 83h, attrControl ; 022 SH-R DB 84h, 85h, attrControl ; 023 0 DB 86h, 87h, attrControl ; 024 NEXT DB 0, 0, 0 ; 025 DB 0, 0,  0 ; 026 DB 0A3h, 0A2h, attrAlpha ; 027 DB 0, 0, 0 ; 028 DB 0, 0, 0 ; 029 DB 0, 0, 0 ; 02A DB 40h, 5Ch, attrRepeat ; 02B @ backslash DB 2Ch, 3Bh, attrRepeat ; 02C , ; DB 0B0h, 3Fh, attrRepeat ; 02D ? DB 2Eh, 3Ah, attrRepeat ; 02E . : DB 2Dh, 5Fh, attrRepeat ; 02F - _ ;Warning: ; Do not change the comments for the following characters to add the ; actual characters. If you do, you will get errors from the Assembler. ; DB 30h, 3Dh, attrRepeat ; 030 0 = DB 31h, 21h, attrRepeat ; 031 1 ! DB 32h, 22h, attrRepeat ; 032 2 " DB 33h, 17h, attrRepeat ; 033 3  DB 34h, 24h, attrRepeat ; 034 4 $ DB 35h, 25h, attrRepeat ; 035 5 percent DB 36h, 26h, attrRepeat ; 036 6 & DB 37h, 2Fh, attrRepeat ; 037 7 / DB 38h, 28h, attrRepeat ; 038 8 right parens DB 39h, 29h, attrRepeat ; 039 9 left parens DB 0, 0, 0 ; 03A DB 0A5h, 0A4h, attrAlpha ; 03B DB 0, 0, 0 ; 03C DB 0, 0, 0 ; 03D DB 0, 0, 0 ; 03E DB 0, 0, 0 ; 03F 3F = iKeyInvalid DB 0, 0, 0 ; 040 40 = iKeyNoKeys DB 36h, 7Eh, attrRepeat ; 041 6 ~ DB 2Dh, 03h, attrRepeat ; 042 -  DB 0, 0, 0 ; 043 reset DB 0D0h,0D0h, attrControl ; 044 overtype DB 0, 0, attrControl ; 045 lock DB 32h, 3Eh, attrRepeat ; 046 2 > DB 33h, 27h, attrRepeat ; 047 3 ' DB 0, 0, 0 ; 048 shift DB 0, 0, 0 ; 049 shift DB 30h, 30h, attrRepeat ; 04A 0 0 DB 2Eh, 60h, attrRepeat ; 04B . ` DB 0, 0, 0 ; 04C code  DB 0, 0, 0 ; 04D code DB 0, 0, 0 ; 04E DB 0, 0, 0 ; 04F DB 0, 0, 0 ; 050 DB 0, 0, 0 ; 051 DB 0, 0, 0 ; 052 DB 0, 0, 0 ; 053 DB 0, 0, 0 ; 054  DB 0, 0, 0 ; 055 DB 0, 0, 0 ; 056 DB 0, 0, 0 ; 057 DB 0, 0, 0 ; 058 DB 0, 0, 0 ; 059 DB 0, 0, 0 ; 05A DB 2Bh, 2Ah, attrRepeat ; 05B + * DB 37h, 5Bh, attrRepeat ; 05C 7 [ DB 23h, 5Eh, attrRepeat ; 05D # ^ DB 0B4h, 0B2h, attrShiftDia ; 05E DB 0, 0, 0 ; 05F DB 31h, 3Ch, attrRepeat ; 060 1 < DB 61h, 41h, attrAlpha ; 061 a A DB 62h, 42h, attrAlpha ; 062 b B DB 63h, 43h, attrAlpha ; 063 c C DB 64h, 44h, attrAlpha ; 064 d D DB 65h, 45h, attrAlpha ; 065 e E DB 66h, 46h, attrAlpha ; 066 f F DB 67h, 47h, attrAlpha ; 067 g G DB 68h, 48h, attrAlpha ; 068 h H DB 69h, 49h, attrAlpha ; 069 i I DB 6Ah, 4Ah, attrAlpha ; 06A j J DB 6Bh, 4Bh, attrAlpha ; 06B k K DB 6Ch, 4Ch, attrAlpha ; 06C l L DB 6Dh, 4Dh, attrAlpha ; 06D m M DB 6Eh, 4Eh, attrAlpha    circumflex (carat) and tilde are the same key (shifted and %' unshifted): %' DB 5Eh, 7Eh, attrBothDia ; 05E ^ ~ %' If you had a French keyboard, the carat is where the  key %' is (to the right of the "p"), so in that case key 6 would be: %'  DB 06h, 10h, attrShiftDia ; 006 1/2-1/4 %' and the macro would be %DiaCriticalSet(6,69h,chI-Circumflex) %' %' EXAMPLE: Define the following three diacritical pairs: %' "e accent-grave", "i circumflex", and "n tilde". %' The macros would look as follows: %' %' %InitDiaCriticalTables %' %DiaCriticalSet(chAccentGrave,65h,0ACh) %' The code for the silent key "accent grave" followed by the code for "e" %' (Refer to the above Keyboard Encoding Table) followed by 0ACh, which is %' the hexadecimal code for the resultant font character (Refer to Appendix %' B-2 in the CTOS Reference Manual) %' %DiaCriticalSet(5E,69h,chI-Circumflex) %' The code for "circumflex" followed by the code for "i" followed by %' chI-Circumflex %' %DiaCriticalSet(7Eh,6Eh,chN-Tilde ; 06E n N DB 6Fh, 4Fh, attrAlpha ; 06F o O DB 70h, 50h, attrAlpha ; 070 p P DB 71h, 51h, attrAlpha ; 071 q Q DB 72h, 52h, attrAlpha ; 072 r R DB 73h, 53h, attrAlpha ; 073 s S DB 74h, 54h, attrAlpha ; 074 t T DB 75h, 55h, attrAlpha ; 075 u U DB 76h, 56h, attrAlpha ; 076 v V DB 77h, 57h, attrAlpha ; 077 w W DB 78h, 58h, attrAlpha ; 078 x X DB 7Ah, 5Ah, attrAlpha ; 079 z Z DB 79h, 59h, attrAlpha ; 07A y Y DB 34h, 7Bh, attrRepeat ; 07B 4 { DB 38h, 5Dh, attrRepeat ; 07C 8 ] DB 35h, 7Dh, attrRepeat ; 07D 5 } DB 0, 0, 0 ; 07E DB 7Fh, 0C8h, attrRepeat ; 07F del %' THE FOLLOWING MACROS HANDLE DIACRITICALS %' These macros allow the user to define pairs of keys which may be typed %' one after the other, but which produce a single character value. %' For example, a user may want to produce an "e accent-grave" by typing %' first an "accent-grave" and then an "e", the result being the code for %' the font character "e accent grave". %' The macros have the following structures: %' %' InitDiaCriticalTables - no parameters. It appears once. %' %' DiaCriticalSet(FirstKey,SecondKey,FontCode) - One instance for each pair %' of diacritical keys you wish to define - Explained below. %' %' EndDiaCriticalTables - no parameters. It appears once. %' %' NOTE: Each key that you wish to be the first key in the diacritical %' pair must be given the proper atttribute in the above %' keyboard encoding table. %' %' FirstKey and SecondKey are hexadecimal codes produced by the desired %' key. To find these codes, look in the above Keyboard Encoding Table. %' The right-hand column are the keycaps for each key. The two entries %' following the DB in the same row are the unshifted and shifted codes %' that the key produces. Enter the code as the value of FirstKey then %' repeat the process for SecondKey. For each key you choose as FirstKey, %' you must change the attribute to AttrShiftDia if you wish to have the %' diacriticalness happen only when the key is shifted; AttrUnShiftDia if %' you wish the diacriticalness to happen only when the key is not shifted; %' or AttrBothDia if you wish it to be diacritical shifted and unshifted. %' %' FontCode is a hexidecimal code %' which will produce the desired character. If you are using the standard %' US font, then refer to Appendix B-2 of the CTOS Reference Manual. If %' you are using a non-standard US font, then refer to the documentation %' which accompanied it. You can change the font characters using the %' Font Designer. %' Note that for most diacritics, the standard font will not suffice. Take %' circumflex i and tilde n, for instance. You would have to build a new %' font with those characters replacing some other positions. %' The is in the standard released font (position 0ACh). %' %' In the following example, key 5E would have attrBothDia because on the %' keyboard ) %' The code for "tilde" followed by the code for "n" followed by %' chN-Tilde %' %EndDiaCriticalTables %' The following example on GERMAN KEYBOARDS produces a diacritical pair. %' %' REMINDER: for non-German keyboards: the character "" is on the upper left %' key in combination with SHIFT (the ~ on US keyboards) %' The keyboard encoding table entry for 5E is as follows: %' DB 0B4h, 0B2h, attrShiftDia ; 05E %' %' %InitDiaCriticalTables %' %DiaCriticalSet(0B2h,61h,0A1h) %' %EndDiaCriticalTables %' %' 0B2h, 61h ;the diacritical pair, (keys 5E & 61 in the kbd table) %' ;here: the "" and the "a" shall be combined to "" %' 0A1h ;the resultant character of the diacritical pair %' %' %'THE DIACRITICAL MACROS START HERE: %' %InitDiaCriticalTables %DiaCriticalSet(0B2h,61h,0A1h) ; + a = %EndDiaCriticalTables )) ; ;WARNING: The table below is used by the file system for determining ; file spec equivalance - CHANGES TO THIS TABLE MAY CAUSE ; FILES ON AN EXISTING FILE SYSTEM TO BECOME INACCESSABLE. ; %DefTableData (FsUlCmpbTable, 1, %(%' FsULCMPBSignature DW 'FS' DB 00h,01h,02h,03h,04h,05h,06h,07h DB 08h,09h,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh DB 10h,11h,12h,13h,14h,15h,16h,17h DB 18h,19h,1Ah,1Bh,1Ch,1Dh,1Eh,1Fh DB 20h,21h,22h,23h,24h,25h,26h,27h DB 28h,29h,2Ah,2Bh,2Ch,2Dh,2Eh,2Fh DB 30h,31h,32h,33h,34h,35h,36h,37h DB 38h,39h,3Ah,3Bh,3Ch,3Dh,3Eh,3Fh DB 40h,41h,42h,43h,44h,45h,46h,47h DB 48h,49h,4Ah,4Bh,4Ch,4Dh,4Eh,4Fh DB 50h,51h,52h,53h,54h,55h,56h,57h DB 58h,59h,5Ah,5Bh,5Ch,5Dh,5Eh,5Fh DB 60h,41h,42h,43h,44h,45h,46h,47h DB 48h,49h,4Ah,4Bh,4Ch,4Dh,4Eh,4Fh DB 50h,51h,52h,53h,54h,55h,56h,57h DB 58h,59h,5Ah,7Bh,7Ch,7Dh,7Eh,7Fh DB 80h,81h,82h,83h,84h,85h,86h,87h DB 88h,89h,8Ah,8Bh,8Ch,8Dh,8Eh,8Fh DB 90h,91h,92h,93h,94h,95h,96h,97h DB 98h,99h,9Ah,9Bh,9Ch,9Dh,9Eh,9Fh DB 0A0h,0A0h,0A2h,0A2h,0A4h,0A4h,0A6h,0A6h DB 0A8h,0A8h,0AAh,0ABh,0ACh,0ADh,0AEh,0AEh DB 0B0h,0B1h,0B2h,0B3h,0B4h,0B5h,0B6h,0B7h DB 0B8h,0B9h,0BAh,0BBh,0BCh,0BDh,0BEh,0BFh DB 0C0h,0C1h,0C2h,0C3h,0C4h,0C5h,0C6h,0C7h DB 0C8h,0C9h,0CAh,0CBh,0CCh,0CDh,0CEh,0CFh DB 0D0h,0D1h,0D2h,0D3h,0D4h,0D5h,0D6h,0D7h DB 0D8h,0D9h,0DAh,0DBh,0DCh,0DDh,0DEh,0DFh DB 0E0h,0E1h,0E2h,0E3h,0E4h,0E5h,0E6h,0E7h DB 0E8h,0E9h,0EAh,0EBh,0ECh,0EDh,0EEh,0EFh DB 0F0h,0F1h,0F2h,0F3h,0F4h,0F5h,0F6h,0F7h DB 0F8h,0F9h,0FAh,0FBh,0FCh,0FDh,0FEh,0FFh )) %DefTableData (UserUlCmpbTable, 2, %(%' ULCMPBSignature DW 'XT' DB 00h,01h,02h,03h,04h,05h,06h,07h DB 08h,09h,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh DB  10h,11h,12h,13h,14h,15h,16h,17h DB 18h,19h,1Ah,1Bh,1Ch,1Dh,1Eh,1Fh DB 20h,21h,22h,23h,24h,25h,26h,27h DB 28h,29h,2Ah,2Bh,2Ch,2Dh,2Eh,2Fh DB 30h,31h,32h,33h,34h,35h,36h,37h DB 38h,39h,3Ah,3Bh,3Ch,3Dh,3Eh,3Fh DB 40h,41h,42h,43h,44h,45h,46h,47h DB 48h,49h,4Ah,4Bh,4Ch,4Dh,4Eh,4Fh DB 50h,51h,52h,53h,54h,55h,56h,57h DB 58h,59h,5Ah,5Bh,5Ch,5Dh,5Eh,5Fh DB 60h,41h,42h,43h,44h,45h,46h,47h DB 48h,49h,4Ah,4Bh,4Ch,4Dh,4Eh,4Fh DB 50h,51h,52h,53h,54h,55h,56h,57h DB 58h,59h,5Ah,7Bh,7Ch,7Dh,7Eh,7Fh DB 80h,81h,82h,83h,84h,85h,86h,87h DB 88h,89h,8Ah,8Bh,8Ch,8Dh,8Eh,8Fh DB 90h,91h,92h,93h,94h,95h,96h,97h DB 98h,99h,9Ah,9Bh,9Ch,9Dh,9Eh,9Fh DB 0A0h,0A0h,0A2h,0A2h,0A4h,0A4h,0A6h,0A6h DB 0A8h,0A8h,0AAh,0ABh,0ACh,0ADh,0AEh,0AEh DB 0B0h,0B1h,0B2h,0B3h,0B4h,0B5h,0B6h,0B7h DB 0B8h,0B9h,0BAh,0BBh,0BCh,0BDh,0BEh,0BFh DB 0C0h,0C1h,0C2h,0C3h,0C4h,0C5h,0C6h,0C7h DB 0C8h,0C9h,0CAh,0CBh,0CCh,0CDh,0CEh,0CFh DB 0D0h,0D1h,0D2h,0D3h,0D4h,0D5h,0D6h,0D7h DB 0D8h,0D9h,0DAh,0DBh,0DCh,0DDh,0DEh,0DFh DB 0E0h,0E1h,0E2h,0E3h,0E4h,0E5h,0E6h,0E7h DB 0E8h,0E9h,0EAh,0EBh,0ECh,0EDh,0EEh,0EFh DB 0F0h,0F1h,0F2h,0F3h,0F4h,0F5h,0F6h,0F7h DB 0F8h,0F9h,0FAh,0FBh,0FCh,0FDh,0FEh,0FFh )) %DefTableData (VideoBsStrings, 3, %(%' VidBSSignature DW 'VS' cStrings DW 2 %sbString ('Weiter mit oder ') %sbString ('Weiter mit ') )) %DefTableData (UpperToLowerTable, 4, %(%' UpperToLowerSigniture DW 'LW' DB 00h,01h,02h,03h,04h,05h,06h,07h DB 08h,09h,0Ah,0Bh,0Ch,0Dh,0Eh,0  hat order must be ; maintained ; ; AM, PM, Noon or Midnight, string %DateEscapeDefine(Meridian, 'a', 'A') ; Day of month, numeric %DateEscapeDefine(DayOfMonthNum, 'd', 'D') ; Hour, 12 hour system, numeric %DateEscapeDefine(Hour, 'h', 'H') ; Minute, numeric %DateEscapeDefine(Minute, 'm', 'M') ; Month, string %DateEscapeDefine(MonthStr, 'n', 'N') ; Month, numeric %DateEscapeDefine(MonthNum, 'o', 'O') ; Second, numeric %DateEscapeDefine(Second, 's', 'S') ; Hour, 24 hour system, numeric %DateEscapeDefine(Hour24, 't', 'T') ; Day of Week, string %DateEscapeDefine(WeekDay, 'w', 'W') ; Year, numeric %DateEscapeDefine(Year, 'y', 'Y') ; Below are listed the definitions for each of the templates available ; through the NlsStdFormatDateTime routine. Any of the entries may be ; changed, by renaming the template and/or changing the template string. ; ; Each entry is of the form: ; ; DefineTemplateEntry(TemplateName, "TemplateString") ; ; Each entry has a comment preceding it, describing the result Fh DB 10h,11h,12h,13h,14h,15h,16h,17h DB 18h,19h,1Ah,1Bh,1Ch,1Dh,1Eh,1Fh DB 20h,21h,22h,23h,24h,25h,26h,27h DB 28h,29h,2Ah,2Bh,2Ch,2Dh,2Eh,2Fh DB 30h,31h,32h,33h,34h,35h,36h,37h DB 38h,39h,3Ah,3Bh,3Ch,3Dh,3Eh,3Fh DB 40h,61h,62h,63h,64h,65h,66h,67h DB 68h,69h,6Ah,6Bh,6Ch,6Dh,6Eh,6Fh DB 70h,71h,72h,73h,74h,75h,76h,77h DB 78h,79h,7Ah,5Bh,5Ch,5Dh,5Eh,5Fh DB 60h,61h,62h,63h,64h,65h,66h,67h DB 68h,69h,6Ah,6Bh,6Ch,6Dh,6Eh,6Fh DB 70h,71h,72h,73h,74h,75h,76h,77h DB 78h,79h,7Ah,7Bh,7Ch,7Dh,7Eh,7Fh DB 80h,81h,82h,83h,84h,85h,86h,87h DB 88h,89h,8Ah,8Bh,8Ch,8Dh,8Eh,8Fh DB 90h,91h,92h,93h,94h,95h,96h,97h DB 98h,99h,9Ah,9Bh,9Ch,9Dh,9Eh,9Fh DB 0A1h,0A1h,0A3h,0A3h,0A5h,0A5h,0A7h,0A7h DB 0A9h,0A9h,0AAh,0ABh,0ACh,0ADh,0AFh,0AFh DB 0B0h,0B1h,0B2h,0B3h,0B4h,0B5h,0B6h,0B7h DB 0B8h,0B9h,0BAh,0BBh,0BCh,0BDh,0BEh,0BFh DB 0C0h,0C1h,0C2h,0C3h,0C4h,0C5h,0C6h,0C7h DB 0C8h,0C9h,0CAh,0CBh,0CCh,0CDh,0CEh,0CFh DB 0D0h,0D1h,0D2h,0D3h,0D4h,0D5h,0D6h,0D7h DB 0D8h,0D9h,0DAh,0DBh,0DCh,0DDh,0DEh,0DFh DB 0E0h,0E1h,0E2h,0E3h,0E4h,0E5h,0E6h,0E7h DB 0E8h,0E9h,0EAh,0EBh,0ECh,0EDh,0EEh,0EFh DB 0F0h,0F1h,0F2h,0F3h,0F4h,0F5h,0F6h,0F7h DB 0F8h,0F9h,0FAh,0FBh,0FCh,0FDh,0FEh,0FFh )) %DefTableData (KeyCapText, 5, %( %StartKeycapDefines ; THE FOLLOWING TABLE IS ORDERED ACCORDING TO THE ORDER ; SPECIFIED BY THE CTOS LIBRARY PROCEDURE "GETNLSKEYCAPTEXT". ; DO NOT CHANGE THE ORDER OF THE ENTRIES. ; ; Each macro invocation has two parameters; the first is used ; for mnemonic purposes, the parameter consists of the English ; keycap name followed by the unencoded hexadecimal keycode (see ; table C-1, CTOS operating system manual). The second ; parameter is an ASCII string defining the keycap name. %DefineKeyCapEntry(Action_43, "") %DefineKeyCapEntry(Backspace_08, "") %DefineKeyCapEntry(Bound_03, "") %DefineKeyCapEntry(Cancl_07, "") %DefineKeyCapEntry(Code_80, "") %DefineKeyCapEntry(Copy_14, "") %DefineKeyCapEntry(Delete_7F, "") %DefineKeyCapEntry(Finish_04, "") %DefineKeyCapEntry(Go_1B, "") %DefineKeyCapEntry(Help_00, "") %DefineKeyCapEntry(Lock_45, "") %DefineKeyCapEntry(Mark_02, "") %DefineKeyCapEntry(Move_12, "") %DefineKeyCapEntry(Next_0D, "") %DefineKeyCapEntry(NextPage_0C, "") %DefineKeyCapEntry(OverType_44, "") %DefineKeyCapEntry(PrevPage_05, "") %DefineKeyCapEntry(Return_0A, "") %DefineKeyCapEntry(ScrlDown_13, "") %DefineKeyCapEntry(ScrlUp_11, "") %DefineKeyCapEntry(Shift_48, "") %DefineKeyCapEntry(Tab_09, "") %EndKeycapDefines )) %DefTableData (DateTemplateTable, 6, %( %StartDateDefines ; Below is listed the characters for use as escape characters (attributes) ; in the templates. Each entry is of the form: ; ; DateEscapeDefine('b', 'B') ; ; This enters the escape character of 'b' into the table, and indicates ; an upper case equivelent of 'B' ; ; The following definitions are in a specific order, and t of the ; template, and its template number. If any templates are removed, or ; the order is changed, these commented index numbers will not reflect ; the template's true index number. The numbering starts at zero and ; proceeds, being incremented by one, in the order that the definitions ; appear in this file, thus the first defined is index number zero, the ; next is index one and so on. ; ; 00h 4.10.56 6:05 ; 20.02.87 18:12 %DefineTemplateEntry(ColNumDateTime, "!dd!.!0o!.!0y! !tt!:!0m!") ; 01h 4.10.56 6:05 ; 20.02.87 18:12 %DefineTemplateEntry(NumDateTime, "!*d!.!0o!.!0y! !*t!:!0m!") ; 02h 04. Okt. 1956 6:05 ; 20. Feb. 1987 18:12 %DefineTemplateEntry(ColDateTime, "!dd!. !Nnn!. !yyyy! !tt!:!0m!") ; 03h 4. Oktober 1956 6:05 ; 22. Februar 1987 18:12 %DefineTemplateEntry(DateTime, "!*d!. !N*n! !yyyy! !*t!:!0m!") ; 04h Do. 04. Oktober 1956 6:05 ; Fr. 22. Februar 1987 18:12 %DefineTemplateEntry(ColDayDateTime, "!Ww!. !dd!. !N*n! !yyyy! !tt!:!0m!") ; 05h Do. 4. Okt. 1956 6:05 ; Fr. 22. Feb. 1987 18:12 %DefineTemplateEntry(DayDateTime, "!Ww!. !*d!. !Nnn!. !yyyy! !*t!:!0m!") ; 06h 06:05 ; 18:12 %DefineTemplateEntry(ColTime24, "!0t!:!0m!") ; 07h 6:05 ; 18:12 %DefineTemplateEntry(Time24, "!*t!:!0m!") ; 08h 6:05 ; 18:12 %DefineTemplateEntry(ColTime, "!tt!:!0m!") ; 09h 6:05 ; 18:12 %DefineTemplateEntry(Time, "!*t!:!0m!") ; 0Ah 04.10.56 ; 20.02.87 %DefineTemplateEntry(ColNumDate, "!0d!.!0o!.!0y!") ; 0Bh 4.10.56 ; 20.2.87 %DefineTemplateEntry(NumDate, "!*d!.!*o!.!0y!") ; 0Ch 09:03:05 %DefineTemplateEntry(FullTime, "!0h!:!0m!:!0s!") ; 0Dh 09:03:05.tmp ; 23:13:57.tmp %DefineTemplateEntry(TempFileName, "!0t!:!0m!:!0s!.tmp")  ; 0Eh Freitag 20. Februar 1987 %DefineTemplateEntry(LongDayDate, "!W*w! !*d!. !N*n! !*y!") ; 0Fh 20. Februar 1987 %DefineTemplateEntry(LongDate, "!*d!. !N*n! !*y!") ; 10h 04.10.87-07:09:05 %DefineTemplateEntry(FileColDateTime, "!0d!.!0o!.!0y!-!0t!:!0m!:!0s!") ; 11h 4. Okt. 56 %DefineTemplateEntry(AbrDate, "!*d!. !Nnn!. !yy!") ; 12h Invalid Template Index %DefineTemplateEntry(InvalidITemp, "Ungltiges Datumsformat") %EndStdDateDefines ; ; THIS IS THE END OF THE STANDARD TEMPLATES NO OEM TEMPLATES SHOULD BE ; DEFINED ABOVE THIS POINT. ALL TEMPLATES SHOULD BE ADDED BELOW. ANY NEW ; TEMPLATES ADDED WILL BE INDEXED STARTING WITH TEMPLATE NUMBER 8000h ; ; EXAMPLE: ; ; 8000h DD/MM/YY ; ; DefineTemplateEntry(ColDayMonthYear, "!0d!/!0o!/!0y!") ; ; ; END OF USER DEFINABLE TEXT AREA, NO EDITING SHOULD OCCUR BELOW THIS POINT %EndOemDateDefines )) false EQU 0 true EQU 1 %DefTableData (NumberAndCurrencyTable, 7, %(%' NumberAndCurrencySigniture DW 'NC' DB 2Ch ; Decimal character. Indicates which single ; ASCII character will be used to indicate ; the decimal point in numbers. ; Either 2Ch (,) or 2Eh (.) may be selected. DB 20h ; Triad character. Indicates which single ASCII character ; will be used to indicate the separation of numbers into ; triads (i.e. thousands, millions, etc.). ; Either 2Ch (,) or 2Eh (.) or 20h (space) may be ; selected. Note that the use of space is not fully ; supported at this time and thus its use may be ignored ; by some programs or cause substitution of one of the ; other characters. DB false ; First triad flag. Controls the rules for placing the triad ; character in the thousands position. If true, the triad ; separator in the thousands position is always to appear when ; the number contains four or more digits to the left of the ; decimal. If false, the thousands triad separator is ; suppressed when no more than one additional digit appears to ; the left. DB 2Ch ; List separator character. Indicates which single ASCII ; character will be used to indicate the separation of ; numbers within a list. Either 2Ch (,) or 3Bh (;) may be ; selected. Note that this specification is used only by   try(FirstMonth, "Januar") ; Second Month: February %DefineNameEntry(SecondMonth, "Februar") ; Third Month: March %DefineNameEntry(ThirdMonth, "Mrz") ; Fourth Month: April %DefineNameEntry(FourthMonth, "April") ; Fifth Month: May %DefineNameEntry(FifthMonth, "Mai") ; Sixth Month: June %DefineNameEntry(SixthMonth, "Juni") ; Seventh Month: July %DefineNameEntry(SeventhMonth, "Juli") ; Eighth Month: August %DefineNameEntry(EighthMonth, "August") ; Ninth Month: September %DefineNameEntry(NinthMonth, "September") ; Tenth Month: October %DefineNameEntry(TenthMonth, "Oktober") ; Eleventh Month: November %DefineNameEntry(EleventhMonth, "November") ; Twelfth Month: December %DefineNameEntry(TwelfthMonth, "Dezember") ; First Meridian: AM %DefineNameEntry(FirstMeridian, "am") ; Second Meridian: PM %DefineNameEntry(SecondMeridian, "pm") ; Third Meridian: Noon %DefineNameEntry(ThirdMeridian, "Mittag") ; Forth Meridian: Midnight %DefineNameEntry(ForthMeridian, "Mitternacht") ; Default Output Template Num; programs that would otherwise have a conflict with the use ; of 2Ch (,) as the decimal point character. DB 0 ; Currency position. Controls the position of the currency ; symbol. A value of 0 indicates leading currency symbol, ; while 1 indicates trailing currency symbol. Other values ; are reserved for future expansion. Note that embedded ; currency symbols are not currently supported. DB 2 ; Currency symbol string. This string defines the currency DB 44h ; symbol. The first byte is the length of the string. The DB 4Dh ; remaining four bytes define the contents of the string. DB 00h ; All four bytes must be defined, even when a shorter string DB 00h ; is being defined. Defined here: DM (Deutsche Mark) )) %DefTableData (DateNameTable, 8, %( %StartNameDefines ; Below are listed the definitions for each of the names available ; through the GetNlsDateName routine. Any of the entries may be ; changed, by renaming the Name and/or changing the Name String. ; THEIR ORDER IS RELIED UPON BY ROUTINES THAT USE THIS INFORMATION. ; DO NOT CHANGE THEIR ORDER OR THEIR MEANING. ; ; Each entry is of the form: ; ; DefineNameEntry(NameString, "String") ; ; Each entry has a comment preceding it, describing the expected contents ; of the string, and its string number. If any strings are removed, or ; the order is changed, these commented index numbers will not reflect ; the string's true index number. The numbering starts at zero and ; proceeds, being incremented by one, in the order that the definitions ; appear in this file, thus the first defined is index number zero, the ; next is index one and so on. ; ; IT IS IMPORTANT TO NOTE THAT ANY CAPITALIZATION HERE WILL BE MANDATORY ; IN ANY STRINGS RETURNED BY GetNlsDateName. ; %StartNameTable ; USER EDITABLE TEXT FOLLOWS ; ; T A B L E N U M B E R O N E ; ; The first entry in this table, Date/time entry mode setting, is used by ; ParseTime and NlsParseTime to control the parsing of date/time. Be ; sure to modify the "00" to match your language. Following this ; is the names of all the days of the week, months of the year, etc. ; ; ; first byte is ; ; 0 ... entry of date as MM/DD/YY. ; 1 ... entry of date as DD/MM/YY. ; 2 ... entry of date as YY/MM/DD. ; ; second byte is ; ; 0 ... entry of hour in either AM/PM or Military mode (4:00PM or 16:00) ; 1 ... entry of hour in 24 hour mode only (16:00) %DefineNameEntry(EntryModeSetting, "11"); ; First Day of the Week: Sunday %DefineNameEntry(FirstWeekDay, "Sonntag") ; Second Day of the Week: Monday %DefineNameEntry(SecondWeekDay, "Montag") ; Third Day of the Week: Tuesday %DefineNameEntry(ThirdWeekDay, "Dienstag") ; Fourth Day of the Week: Wednesday %DefineNameEntry(FourthWeekDay, "Mittwoch") ; Fifth Day of the Week: Thursday %DefineNameEntry(FifthWeekDay, "Donnerstag") ; Sixth Day of the Week: Friday %DefineNameEntry(SixthWeekDay, "Freitag") ; Seventh Day of the Week: Saturday %DefineNameEntry(SeventhWeekDay, "Samstag") ; First Month: January %DefineNameEn ber (see table 6) ; Must be a two digit decimal number %DefineNameEntry(DefaultOutputTemplate, "05") ; USER EDITABLE TEXT ENDS %EndNameTable %StartNameTable ; ; T A B L E N U M B E R T W O ; ; USER EDITABLE TEXT FOLLOWS ; Error Name %DefineNameEntry(ErrorName, "ungltiger Name"); ; First Day of the Week: Sunday %DefineNameEntry(FirstWeekDay, "So") ; Second Day of the Week: Monday %DefineNameEntry(SecondWeekDay, "Mo") ; Third Day of the Week: Tuesday %DefineNameEntry(ThirdWeekDay, "Di") ; Fourth Day of the Week: Wednesday %DefineNameEntry(FourthWeekDay, "Mi") ; Fifth Day of the Week: Thursday %DefineNameEntry(FifthWeekDay, "Do") ; Sixth Day of the Week: Friday %DefineNameEntry(SixthWeekDay, "Fr") ; Seventh Day of the Week: Saturday %DefineNameEntry(SeventhWeekDay, "Sa") ; First Month: January %DefineNameEntry(FirstMonth, "Jan") ; Second Month: February %DefineNameEntry(SecondMonth, "Feb") ; Third Month: March %DefineNameEntry(ThirdMonth, "Mr") ; Fourth Month: April %DefineNameEntry(FourthMonth, "Apr") ; Fifth Month: May %DefineNameEntry(FifthMonth, "Mai") ; Sixth Month: June %DefineNameEntry(SixthMonth, "Jun") ; Seventh Month: July %DefineNameEntry(SeventhMonth, "Jul") ; Eighth Month: August %DefineNameEntry(EighthMonth, "Aug") ; Ninth Month: September %DefineNameEntry(NinthMonth, "Sep") ; Tenth Month: October %DefineNameEntry(TenthMonth, "Okt") ; Eleventh Month: November %DefineNameEntry(EleventhMonth, "Nov") ; Twelfth Month: December %DefineNameEntry(TwelfthMonth, "Dez") ; First Meridian: AM %DefineNameEntry(FirstMeridian, "am") ; Second Meridian: PM %DefineNameEntry(SecondMeridian, "pm") ; Third Meridian: Noon %DefineNameEntry(ThirdMeridian, "m") ; Forth Meridian: Midnight %DefineNameEntry(ForthMeridian, "M") ; Default Output Template Number (see table 6) ; Must be a two digit decimal number %DefineNameEntry(DefaultOutputTemplate, "05") ; USER EDITABLE TEXT ENDS %EndNameTable ; ; If additional tables are required, they must be of the form of the two ; tables that are above. Any new tables must begin with a BeginTable call, ; be followed with exactly the same number of NameEntries, and the table ; must be closed with an EndTable call. ; ; Any new tables should be added here, the next table being number 3 ; ; ADD NEW TABLE(S) HERE ; All tables must be defined above %EndNameDefines )) %DefTableData (CollationTable, 9, %(%' CCT LABEL BYTE CTSignature DW 'CT' CCTI LABEL BYTE %' %' Character Collation Table - %' This table defines the sort order of all the characters in the character %' set. The table consists of one mandatory table followed by several words %' and bytes which define the length and offset from the beginning of the %' table of three optional tables. The 1st table is the primary character %' collation table. The optional tables are the secondary character %' collation table, the 2 for 1 character substitution table and the 1 for 2 %' character substitution table. %' %' NOTE: The second character collation priority map table as well as the %' 2 for 1 and 1 for 2 substitution tables are not used in the default (CTOS) %' case and therefore they have been commented out in the original NLS.ASM %' They would however be useful as a starting place or template for defining %' a more complete character collation structure than the one used by CTOS. %' %' The current example includes the A-umlaut, O-umlaut, U-umlaut and %' -ettset characters, using a German collating sequence. This example is %' not intended to be a comprehensive German collating table, but is useful %' as a first step towards one. %' %' %' Priority ASCII Code Character %' ======== ========== ========= %' DB 00h ; 00h DB 01h ; 01h DB 02h ; 02h DB 03h ; 03h DB 04h ; 04h DB 05h  ; 05h DB 06h ; 06h DB 07h ; 07h DB 08h ; 08h DB 09h ; 09h DB 0Ah ; 0Ah New Line DB 0Bh ; 0Bh DB 0Ch ; 0Ch Form Feed DB 0Dh ; 0Dh DB 0Eh ; 0Eh DB 0Fh ; 0Fh DB 010h ; 010h DB 011h ; 011h DB    095h DB 096h ; 096h DB 097h ; 097h DB 098h ; 098h DB 099h ; 099h DB 09Ah ; 09Ah DB 09Bh ; 09Bh DB 09Ch ; 09Ch DB 09Dh ; 09Dh DB 09Eh ; 09Eh DB 09Fh ; 09Fh %' %' NOTE: The lower-case umlauted, struck-through, and AE ligature characters %' have the same priority as their upper-case equivalents. %' DB 0A0h ; 0A0h A-circle DB 0A0h ; 0A1h a-circle (make appear as A-circle) DB 0A2h ; 0A2h A-umlaut DB 0A2h ; 0A3h a-umlaut DB 0A4h ; 0A4h O-umluat DB 0A4h ; 0A5h o-umlaut DB 0A6h ; 0A6h O-slash DB 0A6h ; 0A7h o-slash DB 0A8h ; 0A8h U-umlaut DB 0A8h ; 0A9h u-Umluat DB 0AAh ; 0AAh DB 0ABh ; 0ABh DB 0ACh ; 0ACh DB 0ADh ; 0ADh DB 0AEh ; 0AEh AE ligature DB 0AEh ; 0AFh ae ligature DB 0B0h ; 0B0h DB 0B1h ; 0B1h DB 0B2h ; 0B2h DB 0B3h ; 0B3h DB 0B4h ; 0B4h DB 0B5h ; 0B5h DB 0B6h ; 0B6h DB 0B7h ; 0B7h DB 0B8h ; 0B8h DB 0B9h ; 0B9h DB 0BAh ; 0BAh DB 0BBh ; 0BBh012h ; 012h DB 013h ; 013h DB 020h ; 014h Non-Blank Space (make appear as space) DB 015h ; 015h DB 016h ; 016h DB 017h ; 017h DB 018h ; 018h DB 019h ; 019h DB 01Ah ; 01Ah DB 01Bh ; 01Bh DB 01Ch ; 01Ch DB 01Dh ; 01Dh DB 01Eh ; 01Eh DB 01Fh ; 01Fh DB 020h ; 020h DB 021h ; 021h ! DB 022h ; 022h " DB 023h ; 023h # DB 024h ; 024h $ DB 025h ; 025H Percent Sign DB 026h ; 026h & DB 027h ; 027h ' DB 028h ; 028h  ( DB 029h ; 029h ) DB 02Ah ; 02Ah * DB 02Bh ; 02Bh + DB 02Ch ; 02Ch , DB 02Dh ; 02Dh - DB 02Eh ; 02Eh . DB 02Fh ; 02Fh / ; ; DIGITS ; DB 030h ; 030h 0 DB 031h ; 031h 1 DB 032h ; 032h 2 DB 033h  ; 033h 3 DB 034h ; 034h 4 DB 035h ; 035h 5 DB 036h ; 036h 6 DB 037h ; 037h 7 DB 038h ; 038h 8 DB 039h ; 039h 9 ; DB 03Ah ; 03Ah : DB 03Bh ; 03Bh ; DB 03Ch ; 03Ch < DB 03Dh ; 03Dh = DB 03Eh ; 03Eh > DB 03Fh ; 03Fh ? DB 040h ; 040h @ ; ; Roman Letters A thru Z ; DB 041h ; 041h A DB 042h ; 042h B DB 043h ; 043h C DB 044h ; 044h D DB 045h ; 045h E DB 046h ; 046h F DB 047h ; 047h G DB 048h ; 048H H DB 049h ; 049h I DB 04Ah ; 04Ah J DB 04Bh ; 04Bh K DB 04Ch ; 04Ch L DB 04Dh ; 04Dh M DB 04Eh ; 04Eh N DB 04Fh ; 04Fh O DB 050h ; 050h P DB 051h ; 051h Q DB 052h ; 052h R DB 053h ; 053h S DB 054h ; 054h T DB 055h ; 055h U DB 056h ; 056h V DB 057h ; 057h W DB 058h ; 058h X DB 059h ; 059h Y DB 05Ah ; 05Ah Z ; DB 05Bh ; 05Bh [ DB 05Ch ; 05Ch \ DB 05Dh ; 05Dh ] DB 05Eh ; 05Eh ^ DB 05Fh ; 05Fh _ DB 060h ; 060h ` %' %' NOTE: In this the primary collation table, Priorities of the characters a-z %' are the same as those of A-Z. %' DB 041h ; 061h a DB 042h ; 062h b DB 043h ; 063h c DB 044h ; 064h d DB 045h ; 065h e DB 046h ; 066h f DB 047h ; 067h g DB 048h ; 068h h DB 049h ; 069h i DB 04Ah ; 06Ah j DB 04Bh ; 06Bh k DB 04Ch ; 06Ch l DB 04Dh ; 06Dh m DB 04Eh ; 06Eh n DB 04Fh ; 06Fh o DB 050h ; 070h p DB 051h ; 071h q DB 052h ; 072h r DB 053h ; 073h s DB 054h ; 074h t DB 055h ; 075h u DB 056h ; 076h v DB 057h ; 077h w DB 058h ; 078h x DB 059h ; 079h y DB 05Ah ; 07Ah z ; DB 07Bh ; 07Bh { DB 07Ch ; 07Ch | DB 07Dh ; 07Dh } DB 07Eh ; 07Eh ~ DB 07Fh ; 07Fh DB 080h ; 080h Delete DB 081h ; 081h DB 082h ; 082h DB 083h ; 083h DB 084h ; 084h DB 085h ; 085h DB 086h ; 086h DB 087h ; 087h DB 088h ; 088h DB 089h ; 089h DB 08Ah ; 08Ah DB 08Bh ; 08Bh DB 08Ch ; 08Ch DB 08Dh ; 08Dh DB 08Eh ; 08Eh DB 08Fh ; 08Fh DB 090h ; 090h DB 091h ; 091h DB 092h ; 092h DB 093h ; 093h DB 094h ; 094h DB 095h ;   DB 0BCh ; 0BCh DB 0BDh ; 0BDh DB 0BEh ; 0BEh DB 0BFh ; 0BFh DB 0C0h ; 0C0h DB 0C1h ; 0C1h DB 0C2h ; 0C2h DB 0C3h ; 0C3h DB 0C4h ; 0C4h DB 0C5h ; 0C5h DB 0C6h ; 0C6h DB 0C7h ; 0C7h DB 0C8h ; 0C8h DB 0C9h ; 0C9h DB 0CAh ; 0CAh DB 0CBh ; 0CBh DB 0CCh ; 0CCh DB 0CDh ; 0CDh DB 0CEh ; 0CEh DB 0CFh ; 0CFh DB 0D0h ; 0D0h DB 0D1h ; 0D1h DB 0D2h ; 0D2h DB 0D3h ; 0D3h DB 0D4h ; 0D4h DB 0D5h ; 0D5h DB 0D6h ; 0D6h DB 0D7h ; 0D7h DB 0D8h ; 0D8h DB 0D9h ; 0D9h DB 0DAh ; 0DAh DB 0DBh ; 0DBh DB 0DCh ; 0DCh DB 0DDh ; 0DDh DB 0DEh ; 0DEh DB 0DFh ; 0DFh DB 0E0h ; 0E0h DB 0E1h ; 0E1h DB 0E2h ; 0E2h DB 0E3h ; 0E3h DB 0E4h ; 0E4h DB 0E5h ; 0E5h DB 0E6h ; 0E6h DB 0E7h ; 0E7h DB 0E8h ; 0E8h DB 0E9h ; 0E9h DB 0EAh ; 0EAh DB 0EBh ; 0EBh DB 0ECh ; 0ECh DB 0EDh ; 0EDh DB 0EEh ; 0EEh DB 0EFh ; 0EFh DB 0F0h ; 0F0h DB 0F1h ; 0F1h DB 0F2h ; 0F2h DB 0F3h ; 0F3h DB 0F4h ; 0F4h DB 0F5h ; 0F5h DB 0F6h ; 0F6h DB 0F7h ; 0F7h DB 0F8h ; 0F8h DB 0F9h ; 0F9h DB 0FAh ; 0FAh DB 0FBh ; 0FBh DB 0FCh ; 0FCh DB 0FDh ; 0FDh DB 0FEh ; 0FEh DB 0FFh ; 0FFh %' %' To enable the 1-to-2 and 2-to-1 example tables, uncomment all the lines %' beginning with DB and DW from the "CCT2 LABEL BYTE" line through the %' rgb2For2Flags table. %' %' Also, you must switch the semi-colon on the following %' nine pairs of lines. e.g., %' %' ; DW CCT2 - CCTI %' DW 0 %' %' becomes: %' %' DW CCT2 - CCTI %' ; DW 0 %' o2ndCCT LABEL BYTE DW CCT2 - CCTI ; DW 0 DB rgw2For1Subs - rgb2For1Chrs ; DB 0 ; DB (rgb1For2Flags - rgw1For2Subs) / 2 DB 0 DW rgb2For1Chrs - CCT ; DW 0 DW rgw2For1Subs - CCT ; DW 0 DW rgw2For1Priorities - CCT DW 0 ; DW rgw1For2Wrds - CCT DW 0 ; DW rgw1For2Subs - CCT DW 0 ; DW rgb1For2Flags - CCT DW 0 CCT2 LABEL BYTE %' Priority ASCII Code Character %' ======== ========== ========= DB 00h ; 00h DB 01h ; 01h DB 02h ; 02h DB 03h ; 03h DB 04h ; 04h DB 05h ; 05h DB 06h ; 06h DB 07h ; 07h DB 08h ; 08h DB 09h ; 09h DB 0Ah ; 0Ah New Line. DB 0Bh ; 0Bh  DB 0Ch ; 0Ch Form Feed. DB 0Dh ; 0Dh DB 0Eh ; 0Eh DB 0Fh ; 0Fh DB 010h ; 010h DB 011h ; 011h DB 012h ; 012h DB 013h ; 013h DB 014h ; 014h Non-Blank Space DB 015h ; 015h DB 016h ; 016h DB 017h ; 017h DB 018h ; 018h DB 019h ; 019h DB 01Ah ; 01Ah DB 01Bh ; 01Bh DB 01Ch ; 01Ch DB 01Dh ; 01Dh DB 01Eh ; 01Eh DB 01Fh ; 01Fh DB 020h ; 020h DB 021h ; 021h ! DB 022h ; 022h " DB 023h ; 023h # DB 024h ; 024h $ DB 025h ; 025H Percent Sign DB 026h ; 026h & DB 027h ; 027h ' DB 028h ; 028h ( DB 029h ; 029h ) DB 02Ah ; 02Ah * DB 02Bh ; 02Bh + DB 02Ch ; 02Ch , DB 02Dh ; 02Dh - DB 02Eh ; 02Eh . DB 02Fh  ; 02Fh / ; DIGITS DB 030h ; 030h 0 DB 031h ; 031h 1 DB 032h ; 032h 2 DB 033h ; 033h 3 DB 034h ; 034h 4 DB 035h ; 035h 5 DB 036h ; 036h 6 DB 037h ; 037h 7 DB 038h ; 038h 8 DB 039h ; 039h 9 DB 03Ah ; 03Ah : DB 03Bh ; 03Bh ; DB 03Ch ; 03Ch < DB 03Dh ; 03Dh = DB 03Eh ; 03Eh > DB 03Fh ; 03Fh ? DB 040h ; 040h @ %' DB 041h ; 061h A DB 043h ; 062h B DB 045h ; 063h C DB 047h ; 064h D DB 049h ; 065h E DB 04Bh ; 066h F DB 04Dh ; 067h G DB 04Fh ; 068h H DB 051h ; 069h I DB 053h ; 06Ah J DB 055h ; 06Bh K DB 057h ; 06Ch L DB 059h ; 06Dh M DB 05Bh ; 06Eh N DB 05Dh ; 06Fh O DB 05Fh ; 070h P DB 061h ; 071h Q DB 063h ; 072h R DB 065h ; 073h S DB 067h ; 074h T DB 069h ; 075h U DB 06Bh ; 076h V DB 06Dh ; 077h W DB 06Fh ; 078h X DB 071h ; 079h Y DB 073h ; 07Ah Z %' DB 0  0E4h ; 0E4h DB 0E5h ; 0E5h DB 0E6h ; 0E6h DB 0E7h ; 0E7h DB 0E8h ; 0E8h DB 0E9h ; 0E9h DB 0EAh ; 0EAh DB 0EBh ; 0EBh DB 0ECh ; 0ECh DB 0EDh ; 0EDh DB 0EEh ; 0EEh DB 0EFh ; 0EFh DB 0F0h ; 0F0h DB 0F1h ;  0F1h DB 0F2h ; 0F2h DB 0F3h ; 0F3h DB 0F4h ; 0F4h DB 0F5h ; 0F5h DB 0F6h ; 0F6h DB 0F7h ; 0F7h DB 0F8h ; 0F8h DB 0F9h ; 0F9h DB 0FAh ; 0FAh DB 0FBh ; 0FBh DB 0FCh ; 0FCh DB 0FDh ; 0FDh DB 0FEh ; 0FEh DB 0FFh ; 0FFh %' %' rgb2For1Chrs - %' This table defines those characters which have 2 for 1 substitutions. %' rgb2For1Chrs LABEL BYTE DB 0A0h ; 0A0h A-circle DB 0A1h ; 0A1h a-circle DB 0A2h ; 0A2h A umlaut DB 0A3h ; 0A3h a umlaut DB 0A4h ; 0A4h O umlaut DB 0A5h ; 0A5h o umlaut DB 0A6h ; 0A6h O-slash DB 0A7h ; 0A7h o-slash DB 0A8h ; 0A8h U umlaut DB 0A9h ; 0A9h u umlaut DB 0AEh ; 0AEh AE ligature DB 0AFh ; 75h ; 05Bh [ DB 076h ; 05Ch \ DB 077h ; 05Dh ] DB 078h ; 05Eh ^ DB 079h ; 05Fh _ DB 07Ah ; 060h ` %' %' NOTE: In this the Secondary collation table, the characters a thru z and %' A thru Z are arranged in the following order. A,a,B,b...,Z,z %' DB 042h ; 041h a DB 044h ; 042h b DB 046h ; 043h c DB 048h ; 044h d DB 04Ah ; 045h e DB 04Ch ; 046h f DB 04Eh ; 047h g DB 050h ; 048H h DB 052h ; 049h i DB 054h ; 04Ah j DB 056h ; 04Bh k DB 058h ; 04Ch l DB 05Ah ; 04Dh m DB 05Ch ; 04Eh n DB 05Eh ; 04Fh o DB 060h ; 050h p DB 062h ; 051h q DB 064h ; 052h r DB 066h ; 053h s DB 068h ; 054h t DB 06Ah ; 055h u DB 06Ch ; 056h v DB 06Eh ; 057h w DB 070h ; 058h x DB 072h ; 059h y DB 074h ; 05Ah z %' DB 07Bh ; 07Bh { DB 07Ch ; 07Ch | DB 07Dh ; 07Dh } DB 07Eh ; 07Eh ^ DB 07Fh ; 07Fh DB 080h ; 080h Delete DB 081h ; 081h DB 082h ; 082h DB 083h ; 083h DB 084h ; 084h DB 085h ; 085h DB 086h ; 086h DB 087h ; 087h DB 088h ; 088h DB 089h ; 089h DB 08Ah ; 08Ah DB 08Bh ; 08Bh DB 08Ch ; 08Ch DB 08Dh ; 08Dh DB 08Eh ; 08Eh DB 08Fh ; 08Fh DB 090h ; 090h DB 091h ; 091h DB 092h ; 092h DB 093h ; 093h DB 094h ; 094h DB 095h ; 095h DB 096h ; 096h DB 097h ; 097h DB 098h ; 098h DB 099h ; 099h DB 09Ah ; 09Ah DB 09Bh ;  09Bh DB 09Ch ; 09Ch DB 09Dh ; 09Dh DB 09Eh ; 09Eh DB 09Fh ; 09Fh DB 0A0h ; 0A0h A-circle DB 0A1h ; 0A1h a-circle DB 0A2h ; 0A2h A-umlaut DB 0A3h ; 0A3h a-umlaut DB 0A4h ; 0A4h O-umlaut DB 0A5h ; 0A5h o-umlaut DB 0A6h ; 0A6h O-slash DB 0A7h ; 0A7h o-slash DB 0A8h ; 0A8h U-umlaut DB 0A9h ; 0A9h u-umlaut DB 0AAh ; 0AAh DB 0ABh ; 0ABh DB 0ACh ; 0ACh DB 0ADh ; 0ADh DB 0AEh ; 0AEh AE ligature DB 0AFh ; 0AFh ae ligature DB 0B0h ; 0B0h DB 0B1h ; 0B1h DB 0B2h ; 0B2h DB 0B3h ; 0B3h DB 0B4h ; 0B4h DB 0B5h ; 0B5h DB 0B6h ; 0B6h DB 0B7h ; 0B7h DB 0B8h ; 0B8h DB 0B9h ; 0B9h DB 0BAh ; 0BAh DB 0BBh ; 0BBh DB 0BCh ; 0BCh DB 0BDh ; 0BDh DB 0BEh ; 0BEh DB 0BFh ; 0BFh DB 0C0h ; 0C0h DB 0C1h ; 0C1h DB 0C2h ; 0C2h DB 0C3h ; 0C3h DB 0C4h ; 0C4h DB 0C5h ; 0C5h DB 0C6h ; 0C6h DB 0C7h ; 0C7h DB 0C8h ; 0C8h DB 0C9h ; 0C9h DB 0CAh ; 0CAh DB 0CBh ; 0CBh DB 0CCh ; 0CCh DB 0CDh ; 0CDh DB 0CEh ; 0CEh DB 0CFh ; 0CFh DB 0D0h ; 0D0h DB 0D1h ; 0D1h DB 0D2h ; 0D2h DB 0D3h ; 0D3h DB 0D4h ; 0D4h DB 0D5h ; 0D5h DB 0D6h ; 0D6h DB 0D7h ; 0D7h DB 0D8h ; 0D8h DB 0D9h ; 0D9h DB 0DAh ; 0DAh DB 0DBh ; 0DBh DB 0DCh ; 0DCh DB 0DDh ; 0DDh DB 0DEh ; 0DEh DB 0DFh ; 0DFh DB 0E0h ; 0E0h DB 0E1h ; 0E1h DB 0E2h ; 0E2h DB 0E3h ; 0E3h DB   0AFh ae ligature DB 0B0h ; 0B0h (ettset) %' %' rgw2For1Subs - %' This table MUST parallel rgb2For1Chrs. It defines the two characters %' which are to be substituted for the characters in rgb2For1Chrs. rgw2For1Subs LABEL BYTE DB 'A', 'o' ; A-circle expands to 'A', 'o' DB 'a', 'o' ; a-circle expands to 'a', 'o' DB 'A', 'u' ; A-umlaut expands to 'A', 'u' DB 'a', 'u' ; a-umlaut expands to 'a', 'u' DB 'O', 'u' ; O-umlaut expands to 'O', 'u' DB 'o', 'u' ; o-umlaut expands to 'o', 'u' DB 'O', '/' ; O-slash expands to 'O', '/' DB 'o', '/' ; o-slash expands to 'o', '/' DB 'U', 'u' ; U-umlaut expands to 'U', 'u' DB 'u', 'u' ; u-umlaut expands to 'u', 'u' DB 'A', 'e' ; AE ligature expands to 'A', 'e' DB 'a', 'e' ; ae ligature expands to 'a', 'e' DB 's', 's' ; ettset expands to 's', 's' %' rgw2For1Priorities - %' This table MUST parallel rgb2For1Chrs & rgw2For1Subs. It defines the %' offset in priority of the second of the two characters in rgw2For1Subs %' which are to be substituted for the corresponding characters defined in %' rgb2For1Chrs. For the first example shown A-umlaut, the -1 indicates %' that the "Au" substitution should sort immediately before a real "Au". %' A 0 would indicate that the "Au" substituted for A-umlaut should be %' sorted exactly equal to a normal "Au", and finally a 1 would indicate %' that the "Au" substitution should sort immediately after a real "Au". %' NOTE: This table is NOT used in conjunction with the first character %' collation table. When the first character collation table is being used %' the characters substituted as a result of 2 for 1 substitutions will be %' collated equal to their normal values, just as if the entry in this array %' had been defined as 0. %' rgw2For1Priorities LABEL BYTE DW -1 ; A-circle expands to 'A', 'o' & sorts before 'Ao' DW -1 ; a-circle expands to 'a', 'o' & sorts before 'ao' DW -1 ; A-umlaut expands to 'A', 'u' & sorts before 'au' DW -1 ; a-umlaut expands to 'a', 'u' & sorts before 'au' DW -1 ; O-umlaut expands to 'O', 'u' & sorts before 'Ou' DW -1 ; o-umlaut expands to 'o', 'u' & sorts before 'ou' DW -1 ; O-slash expands to 'O', '/' & sorts before 'O/' DW -1 ; o-slash expands to 'o', '/' & sorts before 'o/' DW -1 ; U-umlaut expands to 'U', 'u' & sorts before 'Uu' DW -1 ; u-umlaut expands to 'u', 'u' & sorts before 'uu' DW -1  ; AE ligature expands to 'A', 'e' & sorts before 'Ae' DW -1 ; ae ligature expands to 'a', 'e' & sorts before 'ae' DW -1 ; esset expands to 's', 's' & sorts before 'ss' %' This table defines those pairs of characters which special priorities when %' they are at the beginning of the word. (e.g. Mc or Ch in spanish) %' rgw1For2Wrds LABEL BYTE ; DB 'M', 'c' ; DB 'C', 'h' ; DB 'c', 'h' %' %' The table rgw1For2Subs MUST parallel rgw1For2Wrds. It defines the %' priorites of the sets of two special characters defined in rgw1For2Wrds. %' rgw1For2Subs LABEL BYTE %' DW 4CFFh %' DW 4301h %' DW 4301h %' %' The table rgb1For2Flags MUST parallel rgw1For2Wrds. It defines whether %' the 1 for 2 substitution defined in rgw1For2Wrds and rgw1For2Subs should %' always be made or if it should only be made when the two characters %' defined in rgw1For2Wrds are at the beginning of a string. %' rgb1For2Flags LABEL BYTE %' DB 01h %' DB 00h %' DB 00h )) ; The following table indicates the class of the each of the 256 characters. ; The five possible values are defined below. numer EQU 0 ; Numeric (Whole numbers) alpha EQU 1 ; Alphabetic (Letters of the alphabet) specl EQU 2 ; Special (Non-alphanumeric, but commonly displayed) graph EQU 3 ; Graphic (Line drawing and other special graphics) blind EQU 4 ; Blind (Not generally intended for display purposes) %DefTableData (CharacterClassTable, 10, %(%' CharacterClassSigniture DW 'CC' ; 0 / 8 1 / 9 2 / A 3 / B 4 / C 5 / D 6 / E 7 / F ; ----  INITCOMM_PRE10[PLM86 V2.304/11/87 10:14:2ܖ9STACKMEMORYCODEDATACONSTINITCOMM_PRE10_CODEDGROUPh@* ݘHwH TRD., Kn INITCOMMLINE_INITCOMMISRINTERNALfCHANGECOMMLINEBAUDRATE_RESETCOMMLINE_)PARSECOMMLINESPEC_g1;IOINTCTLEOICLASS RGCOMMLINE IOEXTCTLREGSETCOMMISRRAWSFN SETCOMMISRRAWCURRENTOSVERSIONDIV32 GETMODULEID GETPSTRUCTURE GETUSERNUMBERLOCKIN RESETCOMMISRVALIDATECOMMLINEHANDLE PMEDCOMMNUBPSPURIOUSRAWCOMMISR RESETCOMMPORTPISRTXDATA_PRE10PISREXTINT_PRE10PISRRXDATA_PRE10PISRSPRXCND_PRE10A o.,} DXPH@b 8"b&p@ *2Kn,X` %KР F;@0 Ec0123abcdABCDjUQQFPF uJ^SvFPgF u1~tB&~tCv^S^ SSvf] V $\T\\fU^&G&O;t t u.^&GsA!s&&b< s- ----- ----- ----- ----- ----- ----- ----- DB blind, blind, blind, specl, blind, blind, specl, blind ; 00h-07h DB blind, blind, blind, blind, blind, blind, blind, blind ; 08h-0Fh DB specl, blind, blind, blind, blind, blind, specl, blind ; 10h-17h DB blind, blind, specl, blind, blind, blind, specl, blind ; 18h-1Fh DB specl, specl, specl, specl, specl, specl, specl, specl ; 20h-27h DB specl, specl, specl, specl, specl, specl, specl, specl ; 28h-2Fh DB numer, numer, numer, numer, numer, numer, numer, numer ; 30h-37h DB numer, numer, specl, specl, specl, specl, specl, specl ; 38h-3Fh DB specl, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 40h-47h DB alpha, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 48h-4Fh DB alpha, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 50h-57h DB alpha, alpha, alpha, specl, specl, specl, specl, specl ; 58h-5Fh DB specl, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 60h-67h DB alpha, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 68h-6Fh DB alpha, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 70h-77h DB alpha, alpha, alpha, specl, specl, specl, specl, blind ; 78h-7Fh DB graph, graph, graph, graph, graph, graph, graph, graph ; 80h-87h DB graph, graph, graph, graph, graph, graph, graph, graph ; 88h-8Fh DB graph, graph, graph, graph, graph, graph, graph, graph ; 90h-97h DB graph, graph, graph, graph, graph, graph, graph, graph ; 98h-9Fh DB alpha, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; A0h-A7h DB Alpha, alpha, blind, blind, blind, blind, alpha, alpha ; A8h-AFh DB alpha, blind, blind, blind, blind, blind, graph, graph ; B0h-B7h DB graph, graph, specl, graph, graph, graph, graph, graph ; B8h-BFh DB graph, graph, graph, graph, graph, graph, graph, graph ; C0h-C7h DB graph, graph, graph, graph, graph, graph, graph, graph ; C8h-CFh DB graph, graph, graph, graph, graph, graph, graph, graph ; D0h-D7h DB graph, graph, graph, graph, graph, graph, graph, graph ; D8h-DFh DB graph, graph, graph, graph, graph, graph, graph, graph ; E0h-E7h DB graph, graph, graph, graph, graph, graph, graph, graph ; E8h-EFh DB graph, graph, graph, graph, graph, graph, graph, graph ; F0h-F7h DB graph, graph, graph, graph, graph, graph, graph, graph ; F8h-FFh )) ; The Yes/No strings are space delimited words meaning Yes or No. ; It is recommended that Yes and No remain as part of their respective strings ; for compatibility with submit files. ; If you wish to multiple answers for yes or no, modify the table as ; follows: ('Yes Oui'). That, seperate words by a space, but do ; not put a space after the last entry. ; Note: For some programs, such as the Cmd File Editor, if you have more than ; one word matching yes or no, only the first one will be displayed. ; You should choose the first entry as your native %DefTableData (YesNoStrings, 11, %(%' YesNoSignature DW 'YN' %sbString ('Ja Yes') %sbString ('Nein No') )) %TableEnd END ore 'Ao' DW -1 ; a-circle expands to 'a', 'o' & sorts before 'ao' DW -1 ; A-umlaut expands t ^&G&;Gt=FPFPF t@Fs-F ;wB;t@~wA" €>b "FFrPPFPF u^&GF&G&G&G&G &G &G&GF&G &G>bs`b<s<sFMFG>b sDPP PF t!< uFF <t<uFFvwvPSSSSPPPP>bs?F JNH L,*.`/8\VĔ̶V Ѝ׍ލ 3AFV UfņŌŒŘŞͩVŲžčʍЍ֍܍hUF"D>bs?F FH>b sDF " &F F>b sP  - zFvvPSSSSPPPPF t>b s_vP^&w5>brD>b s=^&u No&&ߋNo&& o&&FFwZ>b s ȰN ND !'-3;>BO[agmsyāĄčĚġħĭijĹĿōˍэ׍ݍ 06<BHSVd|ŃśŮŸ†׍jC+NFv^&xuFo&&  o&F&Fuo&&|^&u&tvP^&G& GPMFNt#v"FVb<r :sF0؍F^FFwU^&Hs&@^&Z&P-vF^&Z&PS^&@_[&@Z&PFu^&^&G Z&W"F&G,SF^ &&O&G]+%1Cx̉V ĕĥĴ;VOWؠUQQv vF uc>b s~ t=Qv Pv$=~ v@6~ uF FFwN s v Pvn Fu] V:)UQvvF uvF u v ]> VV נ_UF0؍F^FFw^&Z&PFu^&_ &G"v拄&G$&G&>b u &G(F%F^&O(&G*F^&G.]S/T\djqĄď%gUF uMs&&?s1vF@Ṁ+ȃ66$6"vps&&? siF u v v拔6F=s6(6&P6(6&v1F!< udF1UFFF t~uHF؋*;FwFFڋFs"PF@6^^㋇FF.(FV^㋇FRT(Fv拔FF]1@4;?EVPhuĄĈ̑Vęĝ̣VIJ 7STgU~ &N u+JVuF F~ >Nu+JBVu~ ]Nu+JBVNF+ȃrCw>NF+ȃu ^ &80u&vN^ &c u+JVu<F%^&] Ďt; ; COPYRIGHT 1980,1983, 1987 CONVERGENT TECHNOLOGIES, INC. ; ALL RIGHTS RESERVED ; ; THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE ; SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A ; PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED ; WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, ; INC. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS ; SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. ; ;############################################################################ ; ; NATIVE LANGUAGE SUPPORT TABLE DEFINITIONS ; ; NLS tables are a collection of tables loaded at CTOS initialization ; which provide native language configurability for CTOS. ; Convergent Technologies, Inc. reserves the ID range 0 through 7FFFh. The ; range 8000h thru 0FFFFh are available for customer use. ; ; To change an NLS table, edit this file, assemble it, link it ; as follows, copy Nls.sys to [Sys], and reboot the workstation. ; %'Link %'Object modules Nls.o  scroll-down DB 14h, 0D4h, attrControl ; 014 copy DB 15h, 0D5h, attrControl ; 015 f1 DB 16h, 0D6h, attrControl ; 016 f2 DB 17h, 0D7h, attrControl ; 017 f3 DB 18h, 0D8h, attrControl ; 018 f4 DB 19h, 0D9h, attrControl ; 019 f5 DB 1Ah, 0DAh, attrControl ; 01A f6 DB 1Bh, 0C9h, attrControl ; 01B GO DB 1Ch, 0DCh, attrControl ; 01C f7 DB 1Dh, 0CDh, attrControl ; 01D f8 DB 1Eh, 0CAh, attrControl ; 01E f9 DB 1Fh, 0DFh, attrControl ; 01F f10 DB 20h, 20h, attrRepeat ; 020 space DB 39h, 39h, attrRepeat ; 021 9 9 DB 82h, 83h, attrControl ; 022 SH-R DB 84h, 85h, attrControl ; 023 0 DB 86h, 87h, attrControl ; 024 NEXT  DB 0, 0, 0 ; 025 DB 0, 0, 0 ; 026 DB 27h, 22h, attrRepeat ; 027 " DB 0, 0, 0 ; 028 DB 0, 0, 0 ; 029 DB 0, 0, 0 ; 02A DB 3Dh, 2Bh, attrRepeat ; 02B + = DB 2Ch, bj %'Run file Nls.sys %'[List file] %'[Publics?] %'[Line numbers?] %'[Stack size] 0 %'[Max memory array size] %'[Min memory array size] %'[System Build?] %'[Version] %'[Libraries] None %'[DS allocation?] %'[Symbol file] ; ; ;############################################################################ %'########################################################################### %' %' NLS TABLE MACRO DEFINITION - %' %' %DefTableData (TableName, ID, %(data)) %' %DefTableString (TableName, ID, %(string)) %' %' For example: %' %' %DefTableData(UserData, 8002h, %( DW 4 %' DB 41h, 42h, 43h %' DB 0AH)) %' %DefTableString(UserStringName, 8000h, %(StringInSingleQuotes)) %' %'########################################################################### ;############################################################################ ; ; ACCESSING NLS TABLES - ; ; The pointer to the NLS table directory is returned by calling the ; CTOS routine "GetpStructure" with a case of 25, for example: ; ; CheckErc (GetpStructure (25, 0, ads pNLSDirectory)); ; ; The NLS table directory has the following format: ; ; wSignature WordType /*value is 'NT'*/ ; cbTable WordType /*count of bytes contained in the ; directory and tables*/ ; cTables WordType /*count of tables*/ ; oRgId OffsetType /*offset from pNlsDirectory of the ; array of table ID's*/ ; oRgoTable OffsetType /*offset from pNlsDirectory of the ; array of offsets to tables ; ;############################################################################ $INCLUDE(nls.mdf) %TableInit attrControl EQU 000h + 000h + 000h ;no shift lock, no repeat attrAlpha EQU 080h + 060h + 010h ;shift lock, repeats attrRepeat EQU 000h + 060h + 010h ;repeats attrRepeatFast EQU 000h + 040h + 018h ;repeats, faster attrShiftDia EQU 01h; diacritcal key when shifted attrUnShiftDia EQU 02h; diacritcal key when unshifted attrBothDia EQU 03h; diacritcal key when shifted or unshifted %DefTableData (KbdEncodingTable, 0, %(%' DW 'KE' ; signature DB 0, 0C0h, attrControl ; 000 help DB 01h, 0C1h, attrRepeatFast ; 001 up-arrow DB 02h, 0C2h, attrControl ; 002 mark DB 0Dh, 0C3h, attrControl ; 003 bound DB  04h, 0C4h, attrControl ; 004 finish DB 05h, 0C5h, attrControl ; 005 prev page DB 06h, 10h, attrRepeat ; 006 1/2-1/4 DB 07h, 0C7h, attrControl ; 007 cancel DB 08h, 08h, attrRepeat ; 008 backspace DB 09h, 09h, attrControl ; 009 tab DB 0Ah, 0Ah, attrRepeat ; 00A return DB 0Bh, 0CBh, attrRepeatFast ; 00B down-arrow DB 0Ch, 0CCh, attrControl ; 00C next page DB 0Ah, 0Ah, attrRepeat ; 00D next DB 0Eh, 0CEh, attrRepeatFast  ; 00E left-arrow DB 12h, 0D2h, attrRepeatFast ; 00F right-arrow DB 80h, 81h, attrControl ; 010 SH-L DB 11h, 0D1h, attrRepeat ; 011 scroll-up DB 0Fh, 0CFh, attrControl ; 012 move DB 13h, 0D3h, attrRepeat ; 013   2Ch, attrRepeat ; 02C , , DB 2Dh, 5Fh, attrRepeat ; 02D - _ DB 2Eh, 2Eh, attrRepeat ; 02E . . DB 2Fh, 3Fh, attrRepeat ; 02F / ? ;Warning: ; Do not change the comments for the following characters to add the ; actual characters. If you do, you will get errors from the Assembler. DB 30h, 29h, attrRepeat ; 030 0 right parens DB 31h, 21h, attrRepeat ; 031 1 ! DB 32h, 40h, attrRepeat ; 032 2 @ DB 33h, 23h, attrRepeat ; 033 3 # DB 34h, 24h, attrRepeat ; 034 4 $ DB 35h, 25h, attrRepeat ; 035 5 percent DB 36h, 03h, attrRepeat ; 036 6 cent DB 37h, 26h, attrRepeat ; 037 7 & DB 38h, 2Ah, attrRepeat ; 038 8 * DB 39h, 28h, attrRepeat ; 039 9 left parens DB 0, 0, 0 ; 03A DB 3Bh, 3Ah, attrRepeat ; 03B DB 0, 0, 0 ; 03C DB 0, 0, 0 ; 03D DB 0, 0, 0 ; 03E DB 0, 0, 0 ; 03F 3F = iKeyInvalid DB 0, 0,  0 ; 040 40 = iKeyNoKeys DB 36h, 36h, attrRepeat ; 041 6 6 DB 2Dh, 2Dh, attrRepeat ; 042 - - DB 0, 0, 0 ; 043 reset DB 0D0h,0D0h, attrControl ; 044 overtype DB 0, 0, attrControl ; 045 lock DB 32h, 32h, attrRepeat ; 046 2 2 DB 33h, 33h, attrRepeat ; 047 3 3 DB 0, 0, 0 ; 048 shift DB 0, 0, 0 ; 049 shift DB 30h, 30h, attrRepeat ; 04A 0 0 DB 2Eh, 2Eh, attrRepeat ; 04B . . DB 0, 0, 0 ; 04C code DB 0, 0, 0 ; 04D code DB 0, 0, 0 ; 04E DB 0, 0, 0 ; 04F DB 0, 0, 0 ; 050 DB 0, 0, 0 ; 051 DB 0, 0, 0 ; 052 DB 0, 0, 0  ; 053 DB 0, 0, 0 ; 054 DB 0, 0, 0 ; 055 DB 0, 0, 0 ; 056 DB 0, 0, 0 ; 057 DB 0, 0, 0 ; 058 DB 0, 0, 0 ; 059 DB 0, 0, 0 ; 05A DB 5Bh, 3Ch, attrRepeat ; 05B [ < DB 37h, 7Ch, attrRepeat ; 05C 7 | DB 5Dh, 3Eh, attrRepeat ; 05D ] > DB 5Eh, 7Eh, attrRepeat ; 05E ^ ~ DB 0, 0, 0 ; 05F DB 31h, 60h, attrRepeat ; 060 1 ` DB 61h, 41h, attrAlpha ; 061 a A DB 62h, 42h, attrAlpha ; 062 b B DB 63h, 43h, attrAlpha ; 063 c C DB 64h, 44h, attrAlpha ; 064 d D DB 65h, 45h, attrAlpha ; 065 e E DB 66h, 46h, attrAlpha ; 066 f F DB 67h, 47h, attrAlpha ; 067 g G DB 68h, 48h, attrAlpha ; 068 h H DB 69h, 49h, attrAlpha ; 069 i I DB 6Ah, 4Ah, attrAlpha ; 06A j J DB 6Bh, 4Bh, attrAlpha ; 06B k K DB 6Ch, 4Ch, attrAlpha ; 06C l L DB 6Dh, 4Dh, attrAlpha  ; 06D m M DB 6Eh, 4Eh, attrAlpha ; 06E n N DB 6Fh, 4Fh, attrAlpha ; 06F o O DB 70h, 50h, attrAlpha ; 070 p P DB 71h, 51h, attrAlpha ; 071 q Q DB 72h, 52h, attrAlpha ; 072 r R DB 73h, 53h, attrAlpha ; 073 s S DB 74h, 54h, attrAlpha ; 074 t T DB 75h, 55h, attrAlpha ; 075 u U DB 76h, 56h, attrAlpha ; 076 v V DB 77h, 57h, attrAlpha ; 077 w W DB 78h, 58h, attrAlpha ; 078 x X DB 79h, 59h, attrAlpha ; 079 y Y DB 7Ah, 5Ah, attrAlpha ; 07A z Z DB 34h, 7Bh, attrRepeat ; 07B 4 { DB 38h, 5Ch, attrRepeat ; 07C 8 backslash DB 35h, 7Dh, attrRepeat ; 07D 5 } DB 0, 0, 0 ; 07E DB 7Fh,0C8h, attrRepeat ; 07F del %' THE FOLLOWING MACROS HANDLE DIACRITICALS %' These macros allow the user to define pairs of keys which may be typed %' one after the other, but which produce a single character value. %' For example, a user may want to produce an "e accent-grave" by typing %' first an "accent-grave" and then an "e", the result being the code for %' the font character "e accent grave". %' The macros have the following structures: %' %' InitDiaCriticalTables - no parameters. It appears once. %' %' DiaCrit  an keyboards: the character "" is on the upper left %' key in combination with SHIFT (the ~ on US keyboards) %' The keyboard encoding table entry for 5E is as follows: %' DB 0B4h, 0B2h, attrShiftDia ; 05E %' %' %InitDiaCriticalTables %' %DiaCriticalSet(0B2h,61h,0A1h) %' %EndDiaCriticalTables %' %' 0B2h, 61h ;the diacritical pair, (keys 5E & 61 in the kbd table) %' ;here the "" and the "a" shall be combined to "" %' 0A1h ;the resultant character of the diacritical pair %' %' %'THE DIACRITICAL MACROS START HERE: %InitDiaCriticalTables %DiaCriticalSet(0CCh,31h,32h) ;shift-NEXTPAGE 1 displays "2" %EndDiaCriticalTables )) ; ;WARNING: The table below is used by the file system for determining ; file spec equivalance - CHANGES TO THIS TABLE MAY CAUSE ; FILES ON AN EXISTING FILE SYSTEM TO BECOME INACCESSABLE. ; %DefTableData (FsUlCmpbTable, 1, %(%' FsULCMPBSignature DW 'FS' DB 00h,01h,02h,03h,04h,05h,06h,07h DB 08h,09h,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh DB 10h,11h,12h,13icalSet(FirstKey,SecondKey,FontCode) - One instance for each pair %' of diacritical keys you wish to define - Explained below. %' %' EndDiaCriticalTables - no parameters. It appears once. %' %' NOTE: Each key that you wish to be the first key in the diacritical %' pair must be given the proper atttribute in the above %' keyboard encoding table. %' %' FirstKey and SecondKey are hexadecimal codes produced by the desired %' key. To find these codes, look in the above Keyboard Encoding Table. %' The right-hand column are the keycaps for each key. The two entries %' following the DB in the same row are the unshifted and shifted codes %' that the key produces. Enter the code as the value of FirstKey then %' repeat the process for SecondKey. For each key you choose as FirstKey, %' you must change the attribute to AttrShiftDia if you wish to have the %' diacriticalness happen only when the key is shifted; AttrUnShiftDia if %' you wish the diacriticalness to happen only when the key is not shifted; %' or AttrBothDia if you wish it to be diacritical shifted and unshifted. %' %' FontCode is a hexidecimal code %' which will produce the desired character. If you are using the standard %' US font, then refer to Appendix B-2 of the CTOS Reference Manual. If %' you are using a non-standard US font, then refer to the documentation %' which accompanied it. You can change the font characters using the %' Font Designer. %' Note that for most diacritics, the standard font will not suffice. Take %' circumflex i and tilde n, for instance. You would have to build a new %' font with those characters replacing some other positions. %' The is in the standard released font (position 0ACh). %' %' In the following example, key 5E would have attrBothDia because on the %' keyboard circumflex (carat) and tilde are the same key (shifted and %' unshifted): %' DB 5Eh, 7Eh, attrBothDia ; 05E ^ ~ %' If you had a French keyboard, the carat is where the  key %' is (to the right of the "p"), so in that case key 6 would be: %' DB 06h, 10h, attrShiftDia ; 006 1/2-1/4 %' and the macro would be %DiaCriticalSet(6,69h,chI-Circumflex) %' %' EXAMPLE: Define the following three diacritical pairs: %' "e accent-grave", "i circumflex", and "n tilde". %' The macros would look as follows: %' %' %InitDiaCriticalTables %' %' %DiaCriticalSet(chAccentGrave,65h,0ACh) %' The code for the silent key "accent grave" followed by the code for "e" %' (Refer to the above Keyboard Encoding Table) followed by 0ACh, which is %' the hexadecimal code for the resultant font character (Refer to Appendix %' B-2 in the CTOS Reference Manual) %' %' %DiaCriticalSet(5E,69h,chI-Circumflex) %' The code for "circumflex" followed by the code for "i" followed by %' chI-Circumflex %' %' %DiaCriticalSet(7Eh,6Eh,chN-Tilde) %' The code for "tilde" followed by the code for "n" followed by %' chN-Tilde %' %' %EndDiaCriticalTables %' The following example on GERMAN KEYBOARDS produces a diacritical pair. %' %' REMINDER: for non-Germ h,14h,15h,16h,17h DB 18h,19h,1Ah,1Bh,1Ch,1Dh,1Eh,1Fh DB 20h,21h,22h,23h,24h,25h,26h,27h DB 28h,29h,2Ah,2Bh,2Ch,2Dh,2Eh,2Fh DB 30h,31h,32h,33h,34h,35h,36h,37h DB 38h,39h,3Ah,3Bh,3Ch,3Dh,3Eh,3Fh DB 40h,41h,42h,43h,44h,45h,46h,47h DB 48h,49h,4Ah,4Bh,4Ch,4Dh,4Eh,4Fh DB 50h,51h,52h,53h,54h,55h,56h,57h DB 58h,59h,5Ah,5Bh,5Ch,5Dh,5Eh,5Fh DB 60h,41h,42h,43h,44h,45h,46h,47h DB 48h,49h,4Ah,4Bh,4Ch,4Dh,4Eh,4Fh DB 50h,51h,52h,53h,54h,55h,56h,57h DB 58h,59h,5Ah,7Bh,7Ch,7Dh,7Eh,7Fh DB 80h,81h,82h,83h,84h,85h,86h,87h DB 88h,89h,8Ah,8Bh,8Ch,8Dh,8Eh,8Fh DB 90h,91h,92h,93h,94h,95h,96h,97h DB 98h,99h,9Ah,9Bh,9Ch,9Dh,9Eh,9Fh DB 0A0h,0A0h,0A2h,0A2h,0A4h,0A4h,0A6h,0A6h DB 0A8h,0A8h,0AAh,0ABh,0ACh,0ADh,0AEh,0AEh DB 0B0h,0B1h,0B2h,0B3h,0B4h,0B5h,0B6h,0B7h DB 0B8h,0B9h,0BAh,0BBh,0BCh,0BDh,0BEh,0BFh DB 0C0h,0C1h,0C2h,0C3h,0C4h,0C5h,0C6h,0C7h DB 0C8h,0C9h,0CAh,0CBh,0CCh,0CDh,0CEh,0CFh DB 0D0h,0D1h,0D2h,0D3h,0D4h,0D5h,0D6h,0D7h DB 0D8h,0D9h,0DAh,0DBh,0DCh,0DDh,0DEh,0DFh DB 0E0h,0E1h,0E2h,0E3h,0E4h,0E5h,0E6h,0E7h DB 0E8h,0E9h,0EAh,0EBh,0ECh,0EDh,0EEh,0EFh DB 0F0h,0F1h,0F2h,0F3h,0F4h,0F5h,0F6h,0F7h DB 0F8h,0F9h,0FAh,0FBh,0FCh,0FDh,0FEh,0FFh )) %DefTableData (UserUlCmpbTable, 2, %(%' ULCMPBSignature DW 'XT' DB 00h,01h,02h,03h,04h,05h,06h,07h DB 08h,09h,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh DB 10h,11h,12h,13h,14h,15h,16h,17h DB 18h,19h,1Ah,1Bh,1Ch,1Dh,1Eh,1Fh DB 20h,21h,22h,23h,24h,25h,26h,27h DB 28h,29h,2Ah,2Bh,2Ch,2Dh,2Eh,2Fh DB 30h,31h,32h,33h,34h,35h,36h,37h DB 38h,39h,3Ah,3Bh,3Ch,3Dh,3Eh,3Fh DB 40h,41h,42h,43h,44h,45h,46h,47h DB 48h,49h,4Ah,4Bh,4Ch,4Dh,4Eh,4Fh DB 50h,51h,52h,53h,54h,55h,56h,57h DB 58h,59h,5Ah,5Bh,5Ch,5Dh,5Eh,5Fh DB 60h,41h,42h,43h,44h,45h,46h,47h DB 48h,49h,4Ah,4Bh,4Ch,4Dh,4Eh,4Fh DB 50h,51h,52h,53h,54h,55h,56h,57h DB 58h,59h,5Ah,7Bh,7Ch,7Dh,7Eh,7Fh DB 80h,81h,82h,83h,84h,85h,86h,87h DB 88h,89h,8Ah,8Bh,8Ch,8Dh,8Eh,8Fh DB 90h,91h,92h,93h,94h,95h,96h,97h DB 98h,99h,9Ah,9Bh,9Ch,9Dh,9Eh,9Fh DB 0A0h,0A0h,0A2h,0A2h,0A4h,0A4h,0A6h,0A6h DB 0A8h,0A8h,0AAh,0ABh,0ACh,0ADh,0AEh,0AEh DB 0B0h,0B1h,0B2h,0B3h,0B4h,0B5h,0B6h,0B7h DB 0B8h,0B9h,0BAh,0BBh,0BCh,0BDh,0BEh,0BFh DB 0C0h,0C1h,0C2h,0C3h,0C4h,0C5h,0C6h,0C7h DB 0C8h,0C9h,0CAh,0CBh,0CCh,0CDh,0CEh,0CFh DB 0D0h,0D1h,0D2h,0D3h,0D4h,0D5h,0D6h,0D7h DB 0D8h,0D9h,0DAh,0DBh,0DCh,0DDh,0DEh,0DFh DB 0E0h,0E1h,0E2h,0E3h,0E4h,0E5h,0E6h,0E7h DB 0E8h,0E9h,0EAh,0EBh,0ECh,0EDh,0EEh,0EFh DB 0F0h,0F1h,0F2h,0F3h,0F4h,0F5h,0F6h,0F7h DB 0F8h,0F9h,0FAh,0FBh,0FCh,0FDh,0FEh,0FFh )) %DefTableData (VideoBsStrings, 3, %(%' VidBSSignature DW 'VS' cStrings DW 2 %sbString ('Press Next Page or Scroll Up To Continue') %sbString ('Press Next Page To Continue') )) %DefTableData (UpperToLowerTable, 4, %(%' UpperToLowerSigniture DW 'LW' DB 00h,01h,02h,03h,04h,05h,06h,07h DB 08h,09h,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh DB 10h,11h,12h,13h,14h,15h,16h,17h DB 18h,19h,1Ah,1Bh,1Ch,1Dh,1Eh,1Fh DB 20h,21h,22h,23h,24h,25h,26h,27h DB 28h,29h,2Ah,2Bh,2Ch,2Dh,2Eh,2Fh DB 30h,31h,32h,33h,34h,35h,36h,37h DB 38h,39h,3Ah,3Bh,3Ch,3Dh,3Eh,3Fh DB 40h,61h,62h,63h,64h,65h,66h,67h DB 68h,69h,6Ah,6Bh,6Ch,6Dh,6Eh,6Fh DB 70h,71h,72h,73h,74h,75h,76h,77h DB 78h,79h,7Ah,5Bh,5Ch,5Dh,5Eh,5Fh DB 60h,61h,62h,63h,64h,65h,66h,67h DB 68h,69h,6Ah,6Bh,6Ch,6Dh,6Eh,6Fh DB 70h,71h,72h,73h,74h,75h,76h,77h DB 78h,79h,7Ah,7Bh,7Ch,7Dh,7Eh,7Fh DB 80h,81h,82h,83h,84h,85h,86h,87h DB 88h,89h,8Ah,8Bh,8Ch,8Dh,8Eh,8Fh DB 90h,91h,92h,93h,94h,95h,96h,97h DB 98h,99h,9Ah,9Bh,9Ch,9Dh,9Eh,9Fh DB 0A1h,0A1h,0A3h,0A3h,0A5h,0A5h,0A7h,0A7h DB 0A9h,0A9h,0AAh,0ABh,0ACh,0ADh,0AFh,0AFh DB 0B0h,0B1h,0B2h,0B3h,0B4h,0B5h,0B6h,0B7h DB 0B8h,0B9h,0BAh,0BBh,0BCh,0BDh,0BEh,0BFh DB 0C0h,0C1h,0C2h,0C3h,0C4h,0C5h,0C6h,0C7h DB 0C8h,0C9h,0CAh,0CBh,0CCh,0CDh,0CEh,0CFh DB 0D0h,0D1h,0D2h,0D3h,0D4h,0D5h,0D6h,0D7h DB 0D8h,0D9h,0DAh,0DBh,0DCh,0DDh,0DEh,0DFh DB 0E0h,0E1h,0E2h,0E3h,0E4h,0E5h,0E6h,0E7h DB 0E8h,0E9h,0EAh,0EBh,0ECh,0EDh,0EEh,0EFh DB 0F0h,0F1h,0F2h,0F3h,0F4h,0F5h,0F6h,0F7h DB 0F8h,0F9h,0FAh,0FBh,0FCh,0FDh,0FEh,0FFh )) %DefTableData (   ; proceeds, being incremented by one, in the order that the definitions ; appear in this file, thus the first defined is index number zero, the ; next is index one and so on. ; ; 00h 7/18/85 9:03AM ; 10/08/05 11:13PM %DefineTemplateEntry(ColNumDateTime, "!oo!/!0d!/!0y! !hh!:!0m!!2AA!") ; 01h 7/18/85 9:03AM ; 10/08/05 11:13PM %DefineTemplateEntry(NumDateTime, "!*o!/!0d!/!0y! !*h!:!0m!!2*A!") ; 02h Jul 1, 1985 9:03 AM ; Jul 18, 1985 11:13 PM %DefineTemplateEntry(ColDateTime, "!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!") ; 03h Jul 1, 1985 9:03 AM ; Jul 18, 1985 11:13 PM %DefineTemplateEntry(DateTime, "!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!") ; 04h Mon Jul 1, 1985 9:03 AM ; Mon Jul 18, 1985 11:13 PM %DefineTemplateEntry(ColDayDateTime, "!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!") ; 05h Mon Jul 1, 1985 9:03 AM ; Mon Jul 18, 1985 11:13 PM %DefineTemplateEntry(DayDateTime, "!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!") ; 06h 07:00 %DefineTemplateEntry(ColKeyCapText, 5, %( %StartKeycapDefines ; THE FOLLOWING TABLE IS ORDERED ACCORDING TO THE ORDER ; SPECIFIED BY THE CTOS LIBRARY PROCEDURE "GETNLSKEYCAPTEXT". ; DO NOT CHANGE THE ORDER OF THE ENTRIES. ; ; Each macro invocation has two parameters; the first is used ; for mnemonic purposes, the parameter consists of the English ; keycap name followed by the unencoded hexadecimal keycode (see ; table C-1, CTOS operating system manual). The second ; parameter is an ASCII string defining the keycap name.  %DefineKeyCapEntry(Action_43, "ACTION") %DefineKeyCapEntry(Backspace_08, "BACK SPACE") %DefineKeyCapEntry(Bound_03, "BOUND") %DefineKeyCapEntry(Cancl_07, "CANCEL") %DefineKeyCapEntry(Code_80, "CODE") %DefineKeyCapEntry(Copy_14, "COPY") %DefineKeyCapEntry(Delete_7F, "DELETE") %DefineKeyCapEntry(Finish_04, "FINISH") %DefineKeyCapEntry(Go_1B, "GO") %DefineKeyCapEntry(Help_00, "HELP") %DefineKeyCapEntry(Lock_45, "LOCK") %DefineKeyCapEntry(Mark_02, "MARK") %DefineKeyCapEntry(Move_12, "MOVE") %DefineKeyCapEntry(Next_0D, "NEXT") %DefineKeyCapEntry(NextPage_0C, "NEXT PAGE") %DefineKeyCapEntry(OverType_44, "OVER TYPE") %DefineKeyCapEntry(PrevPage_05, "PREV PAGE") %DefineKeyCapEntry(Return_0A, "RETURN") %DefineKeyCapEntry(ScrlDown_13, "SCROLL DOWN") %DefineKeyCapEntry(ScrlUp_11, "SCROLL UP") %DefineKeyCapEntry(Shift_48, "SHIFT") %DefineKeyCapEntry(Tab_09, "TAB") %EndKeycapDefines )) %DefTableData (DateTemplateTable, 6, %( %StartDateDefines ; Below is listed the characters for use as escape characters (attributes) ; in the templates. Each entry is of the form: ; ; DateEscapeDefine('b', 'B') ; ; This enters the escape character of 'b' into the table, and indicates ; an upper case equivelent of 'B' ; ; The following definitions are in a specific order, and that order must be ; maintained ; ; AM, PM, Noon or Midnight, string %DateEscapeDefine(Meridian, 'a', 'A') ; Day of month, numeric %DateEscapeDefine(DayOfMonthNum, 'd', 'D') ; Hour, 12 hour system, numeric %DateEscapeDefine(Hour, 'h', 'H') ; Minute, numeric %DateEscapeDefine(Minute, 'm', 'M') ; Month, string %DateEscapeDefine(MonthStr, 'n', 'N') ; Month, numeric %DateEscapeDefine(MonthNum, 'o', 'O') ; Second, numeric %DateEscapeDefine(Second, 's', 'S') ; Hour, 24 hour system, numeric %DateEscapeDefine(Hour24, 't', 'T') ; Day of Week, string %DateEscapeDefine(WeekDay, 'w', 'W') ; Year, numeric %DateEscapeDefine(Year, 'y', 'Y') ; Below are listed the definitions for each of the templates available ; through the NlsStdFormatDateTime routine. Any of the entries may be ; changed, by renaming the template and/or changing the template string. ; ; Each entry is of the form: ; ; DefineTemplateEntry(TemplateName, "TemplateString") ; ; Each entry has a comment preceding it, describing the result of the ; template, and its template number. If any templates are removed, or ; the order is changed, these commented index numbers will not reflect ; the template's true index number. The numbering starts at zero and  Time24, "!0t!:!0m!") ; 07h 13:05 %DefineTemplateEntry(Time24, "!*t!:!0m!") ; 08h 9:03 AM ; 11:13 PM %DefineTemplateEntry(ColTime, "!hh!:!0m! !2AA!") ; 09h 9:03 AM ; 11:13 PM %DefineTemplateEntry(Time, "!*h!:!0m! !2*A!") ; 0Ah 07/18/85 ; 10/08/05 %DefineTemplateEntry(ColNumDate, "!0o!/!0d!/!0y!") ; 0Bh 7/8/05 ; 10/18/85 %DefineTemplateEntry(NumDate, "!*o!/!*d!/!0y!") ; 0Ch 09:03:05 %DefineTemplateEntry(FullTime, "!0h!:!0m!:!0s!") ; 0Dh 09:03:05.tmp ;  23:13:57.tmp %DefineTemplateEntry(TempFileName, "!0t!:!0m!:!0s!.tmp") ; 0Eh Monday June 3, 1985 %DefineTemplateEntry(LongDayDate, "!W*w! !N*n! !*d!, !*y!") ; 0Fh June 3, 1985 %DefineTemplateEntry(LongDate, "!N*n! !*d!, !*y!") ; 10h 01/01/01-07:09:05AM %DefineTemplateEntry(FileColDateTime, "!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!") ; 11h Abbreviated Date %DefineTemplateEntry(AbrDate, "!Nnn! !*d!, !yyyy!") ; 12h Invalid Template Index %DefineTemplateEntry(InvalidITemp, "Invalid Template Index") %EndStdDateDefines ; ; THIS IS THE END OF THE STANDARD TEMPLATES NO OEM TEMPLATES SHOULD BE ; DEFINED ABOVE THIS POINT. ALL TEMPLATES SHOULD BE ADDED BELOW. ANY NEW ; TEMPLATES ADDED WILL BE INDEXED STARTING WITH TEMPLATE NUMBER 8000h ; ; EXAMPLE: ; ; 8000h DD/MM/YY ; ; DefineTemplateEntry(ColDayMonthYear, "!0d!/!0o!/!0y!") ; ; ; END OF USER DEFINABLE TEXT AREA, NO EDITING SHOULD OCCUR BELOW THIS POINT %EndOemDateDefines )) false EQU 0 true EQU 1 %DefTableData (NumberAndCurrencyTable, 7, %(%' NumberAndCurrencySigniture DW 'NC' DB 2Eh ; Decimal character. Indicates which single ASCII character ; will be used to indicate the decimal point in numbers. ; Either 2Ch (,) or 2Eh (.) may be selected. DB 2Ch ; Triad character. Indicates which single ASCII character ; will be used to indicate the separation of numbers into ; triads (i.e. thousands, millions, etc.). ; Either 2Ch (,) or 2Eh (.) or 20h (space) may be selected. ; Note that the use of space is not fully supported at this ; time and thus its use may be ignored by some programs or ; cause substitution of one of the other characters. DB true ; First triad flag. Controls the rules for placing the triad ; character in the thousands position. If true, the triad ; separator in the thousands position is always to appear when ; the number contains four or more digits to the left of the ; decimal. If false, the thousands triad separator is ; suppressed when no more than one additional digit appears to ; the left. DB 2Ch ; List separator character. Indicates which single ASCII ; character will be used to indicate the separation of ; numbers within a list. Either 2Ch (,) or 3Bh (;) may be  ; selected. Note that this specification is used only by ; programs that would otherwise have a conflict with the use ; of 2Ch (,) as the decimal point character. DB 0 ; Currency position. Controls the position of the currency ; symbol. A value of 0 indicates leading currency symbol, ; while 1 indicates trailing currency symbol. Other values ; are reserved for future expansion. Note that embedded ; currency symbols are not currently supported. DB 1 ; Currency symbol string. This string defines the currency DB 24h ; symbol. The first byte is the length of the string. The DB 00h ; remaining four bytes define the contents of the string. DB 00h ; All four bytes must be defined, even when a shorter string DB 00h ; is being defined. )) %DefTableData (DateNameTable, 8, %( %StartNameDefines ; Below are listed the definitions for each of the names available ; through the GetNlsDateName routine. Any of the entries may be ; changed, by renaming the Name and/or changing the Name String. ; THEIR ORDER IS RELIED UPON BY ROUTINES THAT USE THIS INFORMATION. ; DO NOT CHANGE THEIR ORDER OR THEIR MEANING. ; ; Each entry is of the form: ; ; DefineNameEntry(NameString, "String") ; ; Each entry has a comment preced  ble ; ; T A B L E N U M B E R T W O ; ; USER EDITABLE TEXT FOLLOWS ; Error Name %DefineNameEntry(ErrorName, "invalid name"); ; First Day of the Week: Sunday %DefineNameEntry(FirstWeekDay, "sun") ; Second Day of the Week: Monday  %DefineNameEntry(SecondWeekDay, "mon") ; Third Day of the Week: Tuesday %DefineNameEntry(ThirdWeekDay, "tue") ; Fourth Day of the Week: Wednesday %DefineNameEntry(FourthWeekDay, "wed") ; Fifth Day of the Week: Thursday %DefineNameEntry(FifthWeekDay, "thu") ; Sixth Day of the Week: Friday %DefineNameEntry(SixthWeekDay, "fri") ; Seventh Day of the Week: Saturday %DefineNameEntry(SeventhWeekDay, "sat") ; First Month: January %DefineNameEntry(FirstMonth, "jan") ; Second Month: February %DefineNameEntry(SecondMonth, "feb") ; Third Month: March %DefineNameEntry(ThirdMonth, "mar") ; Fourth Month: April %DefineNameEntry(FourthMonth, "apr") ; Fifth Month: May %DefineNameEntry(FifthMonth, "may") ; Sixth Month: June %DefineNing it, describing the expected contents ; of the string, and its string number. If any strings are removed, or ; the order is changed, these commented index numbers will not reflect ; the string's true index number. The numbering starts at zero and ; proceeds, being incremented by one, in the order that the definitions ; appear in this file, thus the first defined is index number zero, the ; next is index one and so on. ; ; IT IS IMPORTANT TO NOTE THAT ANY CAPITALIZATION HERE WILL BE MANDATORY ; IN ANY STRINGS RETURNED BY GetNlsDateName. ; %StartNameTable ; USER EDITABLE TEXT FOLLOWS ; ; T A B L E N U M B E R O N E ; ; The first entry in this table, Date/time entry mode setting, is used by ; ParseTime and NlsParseTime to control the parsing of date/time. Be ; sure to modify the "00" to match your language. Following this ; is the names of all the days of the week, months of the year, etc. ; ; ; first byte is ; ; 0 ... entry of date as MM/DD/YY. ; 1 ... entry of date as DD/MM/YY. ; 2 ... entry of date as YY/MM/DD. ; ; second byte is ; ; 0 ... entry of hour in either AM/PM or Military mode (4:00PM or 16:00) ; 1 ... entry of hour in 24 hour mode only (16:00) %DefineNameEntry(EntryModeSetting, "00"); ; First Day of the Week: Sunday  %DefineNameEntry(FirstWeekDay, "sunday") ; Second Day of the Week: Monday %DefineNameEntry(SecondWeekDay, "monday") ; Third Day of the Week: Tuesday %DefineNameEntry(ThirdWeekDay, "tuesday") ; Fourth Day of the Week: Wednesday %DefineNameEntry(FourthWeekDay, "wednesday") ; Fifth Day of the Week: Thursday %DefineNameEntry(FifthWeekDay, "thursday") ; Sixth Day of the Week: Friday %DefineNameEntry(SixthWeekDay, "friday") ; Seventh Day of the Week: Saturday %DefineNameEntry(SeventhWeekDay, "saturday") ; First Month: January %DefineNameEntry(FirstMonth, "january") ; Second Month: February %DefineNameEntry(SecondMonth, "february") ; Third Month: March %DefineNameEntry(ThirdMonth, "march") ; Fourth Month: April %DefineNameEntry(FourthMonth, "april") ; Fifth Month: May %DefineNameEntry(FifthMonth, "may") ; Sixth Month: June %DefineNameEntry(SixthMonth, "june") ; Seventh Month: July %DefineNameEntry(SeventhMonth, "july") ; Eighth Month: August %DefineNameEntry(EighthMonth, "august") ; Ninth Month: September %DefineNameEntry(NinthMonth, "september") ; Tenth Month: October %DefineNameEntry(TenthMonth, "october") ; Eleventh Month: November %DefineNameEntry(EleventhMonth, "november") ; Twelfth Month: December %DefineNameEntry(TwelfthMonth, "december") ; First Meridian: AM %DefineNameEntry(FirstMeridian, "am") ; Second Meridian: PM %DefineNameEntry(SecondMeridian, "pm") ; Third Meridian: Noon %DefineNameEntry(ThirdMeridian, "noon") ; Forth Meridian: Midnight %DefineNameEntry(ForthMeridian, "midnight") ; Default Output Template Number (see table 6) ; Must be a two digit decimal number %DefineNameEntry(DefaultOutputTemplate, "05") ; USER EDITABLE TEXT ENDS %EndNameTable %StartNameTa ameEntry(SixthMonth, "jun") ; Seventh Month: July %DefineNameEntry(SeventhMonth, "jul") ; Eighth Month: August %DefineNameEntry(EighthMonth, "aug") ; Ninth Month: September %DefineNameEntry(NinthMonth, "sep") ; Tenth Month: October %DefineNameEntry(TenthMonth, "oct") ; Eleventh Month: November %DefineNameEntry(EleventhMonth, "nov") ; Twelfth Month: December %DefineNameEntry(TwelfthMonth, "dec") ; First Meridian: AM %DefineNameEntry(FirstMeridian, "am") ; Second Meridian: PM %DefineNameEntry(SecondMeridian, "pm") ; Third Meridian: Noon %DefineNameEntry(ThirdMeridian, "n") ; Forth Meridian: Midnight %DefineNameEntry(ForthMeridian, "m") ; Default Output Template Number (see table 6) ; Must be a two digit decimal number  %DefineNameEntry(DefaultOutputTemplate, "05") ; USER EDITABLE TEXT ENDS %EndNameTable ; ; If additional tables are required, they must be of the form of the two ; tables that are above. Any new tables must begin with a BeginTable call, ; be followed with exactly the same number of NameEntries, and the table ; must be closed with an EndTable call. ; ; Any new tables should be added here, the next table being number 3 ; ; ADD NEW TABLE(S) HERE ; All tables must be defined above %EndNameDefines )) %DefTableData (CollationTable, 9, %(%' CCT LABEL BYTE CTSignature DW 'CT' CCTI LABEL BYTE %' %' Character Collation Table - %' This table defines the sort order of all the characters in the character %' set. The table consists of one mandatory table followed by several words %' and bytes which define the length and offset from the beginning of the %' table of three optional tables. The 1st table is the primary character %' collation table. The optional tables are the character priority table, %' the 2 for 1 character substitution table and the 1 for 2 %' character substitution table. %' %' NOTE: The character priority table as well as the %' 2 for 1 and 1 for 2 substitution tables are not used in the default (CTOS) %' case and therefore they have been commented out. They would however be %' useful as a starting place or template for defining a more complete %' character collation structure than the one used by CTOS. Therefore, it is %' requested that these 300 lines of comments be left in this file for future %' reference. %' %' The current example includes the A-circle, A-umlaut, O-slashed, and %' U-umlaut characters, using a German collating sequence. This example is %' not intended to be a comprehensive German collating table, but is useful %' as a first step towards one. %' %' %' Priority ASCII Code Character %' ======== ========== ========= %' DB 00h ; 00h DB 01h ; 01h DB 02h ; 02h DB 03h ; 03h DB 04h ; 04h DB 05h ; 05h DB 06h  ; 06h DB 07h ; 07h DB 08h ; 08h DB 09h ; 09h DB 0Ah ; 0Ah New Line DB 0Bh ; 0Bh DB 0Ch ; 0Ch Form Feed DB 0Dh ; 0Dh DB 0Eh ; 0Eh DB 0Fh ; 0Fh DB 010h ; 010h DB 011h ; 011h DB 012h ; 012h DB 013h ; 013h DB 020h ; 014h Non-Blank Space (make appear as space) DB 015h ; 015h DB 016h ; 016h DB 017h ; 017h DB 018h ; 018h DB 019h ; 019h DB 01Ah ; 01Ah DB 01Bh ; 01Bh DB 01Ch ; 01Ch DB 01Dh ; 01Dh DB 01Eh ; 01Eh DB 01Fh ; 01Fh DB 020h ; 020h DB 021h ; 021h ! DB 022h ; 022h " DB 023h ; 023h # DB 024h ; 024h $ DB 025h ; 025H Percent Sign DB 026h ; 026h & DB 027h ; 027h ' DB 028h ; 028h ( DB 029h ; 029h ) DB 02Ah ; 02Ah * DB 02Bh ; 02Bh + DB 02Ch ; 02Ch , DB 02Dh ; 02Dh - DB 02Eh ; 02Eh . DB 02Fh ; 02Fh / ; ; DIGITS ; DB 030h ; 030h 0 DB 031h ; 031h 1 DB 032h ; 032h 2 DB 033h ; 033h 3 DB 034h ; 034h 4 DB 035h ; 035h 5 DB 036h ; 036h 6 DB 037h ; 037h 7 DB 038h ; 038h 8 DB 039h ; 039h 9 ; DB 03Ah ; 03Ah : DB 03Bh ; 03Bh ; DB 03Ch ; 03Ch < DB 03Dh ; 03Dh = DB 03Eh ; 03Eh > DB 03Fh  B8h DB 0B9h ; 0B9h DB 0BAh ; 0BAh DB 0BBh ; 0BBh DB 0BCh ; 0BCh DB 0BDh ; 0BDh DB 0BEh ; 0BEh DB 0BFh ; 0BFh DB 0C0h ; 0C0h DB 0C1h ; 0C1h DB 0C2h ; 0C2h DB 0C3h ; 0C3h DB 0C4h ; 0C4h DB 0C5h ; 0C5h DB 0C6h ; 0C6h DB 0C7h ; 0C7h DB 0C8h ; 0C8h DB 0C9h ; 0C9h DB 0CAh ; 0CAh DB 0CBh ; 0CBh DB 0CCh ; 0CCh DB 0CDh ; 0CDh DB 0CEh ; 0CEh DB 0CFh ; 0CFh DB 0D0h ; 0D0h DB 0D1h ; 0D1h DB 0D2h ; 0D2h DB 0D3h ; 0D3h DB 0D4h ; 0D4h DB 0D5h ; 0D5h DB 0D6h ; 0D6h DB 0D7h ; 0D7h DB 0D8h ; 0D8h DB 0D9h ; 0D9h DB 0DAh ; 0DAh DB 0DBh ; 0DBh DB 0DCh ; 0DCh DB 0DDh ; 0DDh DB 0DEh ; 0DEh DB 0DFh ; 0DFh DB 0E0h ; 0E0h DB 0E1h ; 0E1h DB 0E2h ; 0E2h DB 0E3h ; 0E3h DB 0E4h ; 0E4h DB 0E5h ; 0E5h DB 0E6h ; 0E6h DB 0E7h ; 0E7h DB 0E8h ; 0E8h DB 0E9h ; 0E9h DB 0EAh ; 0EAh DB 0EBh ; 0EBh DB 0ECh ; 0ECh DB 0EDh ; 0EDh DB 0EEh ;  ; 03Fh ? DB 040h ; 040h @ ; ; Roman Letters A thru Z ; DB 041h ; 041h A DB 042h ; 042h B DB 043h ; 043h C DB 044h ; 044h D DB 045h ; 045h E DB 046h ; 046h F DB 047h ; 047h G DB 048h ; 048H H DB 049h ; 049h I DB 04Ah ; 04Ah J DB 04Bh ; 04Bh K DB 04Ch ; 04Ch L DB 04Dh ; 04Dh M DB 04Eh ; 04Eh N DB 04Fh ; 04Fh O DB 050h ; 050h P DB 051h ; 051h Q DB 052h ; 052h R DB 053h ; 053h S DB 054h ; 054h T DB 055h ; 055h U DB 056h ; 056h V DB 057h ; 057h W DB 058h ; 058h X DB 059h ; 059h Y DB 05Ah ; 05Ah Z ; DB 05Bh ; 05Bh [ DB 05Ch ; 05Ch \ DB 05Dh ; 05Dh ] DB 05Eh ; 05Eh ^ DB 05Fh  ; 05Fh _ DB 060h ; 060h ` %' %' NOTE: In this the primary collation table, Priorities of the characters a-z %' are the same as those of A-Z. %' DB 041h ; 061h a DB 042h ; 062h b DB 043h ; 063h c DB 044h ; 064h d DB 045h ; 065h e DB 046h ; 066h f DB 047h ; 067h g DB 048h ; 068h h DB 049h ; 069h i DB 04Ah ; 06Ah j DB 04Bh ; 06Bh k DB 04Ch ; 06Ch l DB 04Dh ; 06Dh m DB 04Eh ; 06Eh n DB 04Fh ; 06Fh o DB 050h ; 070h p DB 051h ; 071h q DB 052h ; 072h r DB 053h ; 073h s DB 054h ; 074h t DB 055h ; 075h u DB 056h ; 076h v DB 057h ; 077h w DB 058h ; 078h x DB 059h ; 079h y DB 05Ah ; 07Ah z ; DB 07Bh ; 07Bh { DB 07Ch ; 07Ch | DB 07Dh ; 07Dh } DB 07Eh ; 07Eh ~ DB 07Fh ; 07Fh DB 080h ; 080h Delete DB 081h ; 081h DB 082h ; 082h DB 083h ; 083h DB 084h ; 084h DB 085h ; 085h DB 086h ; 086h DB 087h ; 087h DB 088h ; 088h DB 089h ; 089h DB 08Ah ; 08Ah DB 08Bh ; 08Bh DB 08Ch ; 08Ch DB 08Dh ; 08Dh DB 08Eh ; 08Eh DB 08Fh ; 08Fh DB 090h ; 090h DB 091h ; 091h DB 092h ; 092h DB 093h ; 093h DB 094h ; 094h DB 095h ; 095h DB 096h ; 096h DB 097h ; 097h DB 098h ; 098h DB 099h ; 099h DB 09Ah ; 09Ah DB 09Bh ; 09Bh DB 09Ch ; 09Ch DB 09Dh ; 09Dh DB 09Eh ; 09Eh DB 09Fh ; 09Fh %' %' NOTE: The lower-case umlauted, struck-through, and AE ligature characters  %' have the same priority as their upper-case equivalents. %' DB 0A0h ; 0A0h A-circle DB 0A0h ; 0A1h a-circle (make appear as A-circle) DB 0A2h ; 0A2h A-umlaut DB 0A2h ; 0A3h a-umlaut (make appear as A-umlaut) DB 0A4h ; 0A4h O-slashed DB 0A4h ; 0A5h o-slashed (make appear as O-slashed) DB 0A6h ; 0A6h U-umlaut DB 0A6h ; 0A7h u-umlaut (make appear as U-umlaut) DB 0A8h ; 0A8h DB 0A8h ; 0A9h DB 0AAh ; 0AAh DB 0ABh ; 0ABh DB 0ACh ; 0ACh DB 0ADh ; 0ADh DB 0AEh ; 0AEh AE ligature DB 0AEh ; 0AFh ae ligature (make appear as AE ligature) DB 0B0h ; 0B0h DB 0B1h ; 0B1h DB 0B2h ; 0B2h DB 0B3h ; 0B3h DB 0B4h ; 0B4h DB 0B5h ; 0B5h DB 0B6h ; 0B6h DB 0B7h ; 0B7h DB 0B8h ; 0  0EEh DB 0EFh ; 0EFh DB 0F0h ; 0F0h DB 0F1h ; 0F1h DB 0F2h ; 0F2h DB 0F3h ; 0F3h DB 0F4h ; 0F4h DB 0F5h ; 0F5h DB 0F6h ; 0F6h DB 0F7h ; 0F7h DB 0F8h ; 0F8h DB 0F9h ; 0F9h DB 0FAh ; 0FAh DB 0FBh ; 0FBh DB 0FCh ; 0FCh DB 0FDh ; 0FDh DB 0FEh ; 0FEh DB 0FFh ; 0FFh %' %' Character Priority Table - %' This table defines the sort order of the characters in the character %' set. It is used by NLSCollate when two strings collate as equal using %' the character collation table above. offset from the beginning of the %' table of three optional tables. The 1st table is the primary character %' collation table. The optional tables are the character priority table, %' the 2 for 1 character substitution table and the 1 for 2 %' character substitution table. %' %' To enable the 1-to-2 and 2-to-1 example tables, uncomment all the lines %' beginning with DB and DW from the "CCT2 LABEL BYTE" line through the %' rgb2For2Flags table. %' %' Also, you must switch the semi-colon on the following %' nine pairs of lines. e.g., %' %' ; DW CCT2 - CCTI %' DW 0 %' %' becomes: %' %' DW CCT2 - CCTI %' ; DW 0 %' o2ndCCT LABEL BYTE ; DW CCT2 - CCTI DW 0 ; DB rgw2For1Subs - rgb2For1Chrs DB 0 ; DB (rgb1For2Flags - rgw1For2Subs) / 2 DB 0 ; DW rgb2For1Chrs - CCT DW 0 ; DW rgw2For1Subs - CCT DW 0 ; DW rgw2For1Priorities - CCT DW 0 ; DW rgw1For2Wrds - CCT DW 0 ; DW rgw1For2Subs - CCT DW 0 ; DW rgb1For2Flags - CCT DW 0 CCT2 LABEL BYTE %' Priority ASCII Code Character %' ======== ========== ========= %' DB 00h ; 00h %' DB 01h ; 01h %' DB 02h ; 02h %' DB 03h ; 03h %' DB 04h ; 04h %' DB 05h ; 05h %' DB 06h ; 06h %' DB 07h ; 07h %' DB 08h ; 08h %' DB 09h ; 09h %' DB 0Ah ; 0Ah New Line. %' DB 0Bh ; 0Bh %' DB 0Ch ; 0Ch Form Feed. %' DB 0Dh ; 0Dh %' DB 0Eh ; 0Eh %' DB 0Fh ; 0Fh %' DB 010h ; 010h %' DB 011h ; 011h %' DB 012h ; 012h %' DB 013h ; 013h %' DB 014h ; 014h Non-Blank Space (make appear as space) %' DB 015h ; 015h %' DB 016h ; 016h %' DB 017h ; 017h %' DB 018h ; 018h %' DB 019h ; 019h %' DB 01Ah ; 01Ah %' DB 01Bh ; 01Bh %' DB 01Ch ; 01Ch %' DB 01Dh ; 01Dh %' DB 01Eh ; 01Eh %' DB 01Fh ; 01Fh %' DB 020h ; 020h %' DB 021h ; 021h ! %' DB 022h ; 022h " %' DB 023h ; 023h # %' DB 024h ; 024h $ %' DB 025h ; 025H Percent Sign %' DB 026h ; 026h & %' DB 027h ; 027h ' %' DB 028h ; 028h  ( %' DB 029h ; 029h ) %' DB 02Ah ; 02Ah * %' DB 02Bh ; 02Bh + %' DB 02Ch ; 02Ch , %' DB 02Dh ; 02Dh - %' DB 02Eh ; 02Eh . %' DB 02Fh ; 02Fh / %' %' DIGITS %' %' DB 030h ; 030h 0 %' DB 031h ; 031h 1 %' DB 032h  ; 032h 2 %' DB 033h ; 033h 3 %' DB 034h ; 034h 4 %' DB 035h ; 035h 5 %' DB 036h ; 036h 6 %' DB 037h ; 037h 7 %' DB 038h ; 038h 8 %' DB 039h ; 039h 9 %' %' DB 03Ah ; 03Ah : %' DB 03Bh ; 03Bh ; %' DB 03Ch ;  03Ch < %' DB 03Dh ; 03Dh = %' DB 03Eh ; 03Eh > %' DB 03Fh ; 03Fh ? %' DB 040h ; 040h @ %' %' DB 041h ; 061h A %' DB 043h ; 062h B %' DB 045h ; 063h C %' DB 047h ; 064h D %' DB 049h ; 065h E %' DB 04Bh ; 066h F %' DB 04Dh ; 067h G %' DB 04Fh ; 068h H %' DB 051h ; 069h I %' DB 053h ; 06Ah J %' DB 055h ; 06Bh K %' DB 057h ; 06Ch L %' DB 059h ; 06Dh M %' DB 05Bh ; 06Eh N %' DB 05Dh ; 06Fh O %' DB 05Fh ; 070h P %' DB 061h ; 071h Q %' DB 063h ; 072h R %' DB 065h ; 073h S %' DB 067h ; 074h T %' DB 069h ; 075h U %' DB 06Bh ; 076h V %' DB 06Dh ; 077h W %' DB 06Fh ; 078h X %' DB 071h ; 079h Y %' DB 073h ; 07Ah Z %' %' DB 075h ; 05Bh [ %' DB 076h ; 05Ch \ %' DB 077h ; 05Dh ] %' DB 078h ; 05Eh ^ %' DB 079h ; 05Fh _ %' DB 07Ah ; 060h ` %' %' NOTE: In this the character priority table, the characters a thru z and %' A thru Z are arranged in t  DB 0E5h ; 0E5h %' DB 0E6h ; 0E6h %' DB 0E7h ; 0E7h %' DB 0E8h ; 0E8h %' DB 0E9h ; 0E9h %' DB 0EAh ; 0EAh %' DB 0EBh ; 0EBh %' DB 0ECh ; 0ECh %' DB 0EDh ; 0EDh %' DB 0EEh ; 0EEh %' DB 0EFh ; 0EFh %' DB 0F0h ; 0F0h %' DB 0F1h ; 0F1h %' DB 0F2h ; 0F2h %' DB 0F3h ; 0F3h %' DB 0F4h ; 0F4h %' DB 0F5h ; 0F5h %' DB 0F6h ; 0F6h %' DB 0F7h ; 0F7h %' DB 0F8h ; 0F8h %' DB 0F9h ; 0F9h %' DB 0FAh ; 0FAh %' DB 0FBh ; 0FBh %' DB 0FCh ; 0FCh %' DB 0FDh  ; 0FDh %' DB 0FEh ; 0FEh %' DB 0FFh ; 0FFh %' %' rgb2For1Chrs - %' This table defines those characters which have 2 for 1 substitutions. %' rgb2For1Chrs LABEL BYTE %' DB 0A0h ; 0A0h A-circle %' DB 0A1h ; 0A1h  a-circle %' DB 0A2h ; 0A2h A umlaut %' DB 0A3h ; 0A3h a umlaut %' DB 0A4h ; 0A4h O umlaut %' DB 0A5h ; 0A5h o umlaut %' DB 0A6h ; 0A6h O-slash %' DB 0A7h ; 0A7h o-slash %' DB 0A8h ; 0A8h U umlaut %' DB 0A9h ; 0A9h u he following order. A,a,B,b...,Z,z %' %' DB 042h ; 041h a %' DB 044h ; 042h b %' DB 046h ; 043h c %' DB 048h ; 044h d %' DB 04Ah ; 045h e %' DB 04Ch ; 046h f %' DB 04Eh ; 047h g %' DB 050h ; 048H h %' DB 052h ; 049h i %' DB 054h ; 04Ah j %' DB 056h ; 04Bh k %' DB 058h ; 04Ch l %' DB 05Ah ; 04Dh m %' DB 05Ch ; 04Eh n %' DB 05Eh ; 04Fh o %' DB 060h ; 050h p %' DB 062h ; 051h q %' DB 064h ; 052h r %' DB 066h ; 053h s %' DB 068h ; 054h t %' DB 06Ah ; 055h u %' DB 06Ch ; 056h v %' DB 06Eh ; 057h w %' DB 070h ; 058h x %' DB 072h ; 059h y %' DB 074h ; 05Ah z %' %' DB 07Bh ; 07Bh { %' DB 07Ch ; 07Ch | %' DB 07Dh ; 07Dh } %' DB 07Eh ; 07Eh ^ %' DB 07Fh ; 07Fh %' DB 080h ; 080h Delete %' DB 081h ; 081h %' DB 082h ; 082h %' DB 083h ; 083h %' DB 084h ; 084h %' DB 085h ; 085h %' DB 086h ; 086h %' DB 087h ; 087h %' DB 088h ; 088h %' DB 089h ; 089h %' DB 08Ah ; 08Ah %' DB 08Bh ; 08Bh %' DB 08Ch ; 08Ch %' DB 08Dh ; 08Dh %' DB 08Eh ; 08Eh %' DB 08Fh ; 08Fh %' DB 090h ; 090h %' DB 091h ; 091h %' DB 092h ; 092h %' DB 093h ; 093h %' DB 094h ; 094h %' DB 095h ; 095h %' DB 096h ; 096h %' DB 097h ; 097h %' DB 098h ; 098h %' DB 099h ; 099h %' DB 09Ah ; 09Ah %' DB 09Bh ; 09Bh %' DB 09Ch ; 09Ch %' DB 09Dh ; 09Dh %' DB 09Eh ; 09Eh %' DB 09Fh ; 09Fh %' DB 0A0h ; 0A0h A-circle %' DB 0A1h ; 0A1h a-circle %' DB 0A2h ; 0A2h A-umlaut %' DB 0A3h ; 0A3h a-umlaut %' DB 0A4h ; 0A4h O-slashed %' DB 0A5h ; 0A5h o-slashed %' DB 0A6h ; 0A6h U-umlaut %' DB 0A7h ; 0A7h u-umlaut %' DB 0A8h ; 0A8h %' DB 0A9h  ; 0A9h %' DB 0AAh ; 0AAh %' DB 0ABh ; 0ABh %' DB 0ACh ; 0ACh %' DB 0ADh ; 0ADh %' DB 0AEh ; 0AEh AE ligature %' DB 0AEh ; 0AFh ae ligature %' DB 0B0h ; 0B0h %' DB 0B1h ; 0B1h %' DB 0B2h ; 0B2h %' DB 0B3h ; 0B3h %' DB 0B4h ; 0B4h %' DB 0B5h ; 0B5h %' DB 0B6h ; 0B6h %' DB 0B7h ; 0B7h %' DB 0B8h ; 0B8h %' DB 0B9h ; 0B9h %' DB 0BAh ; 0BAh %' DB 0BBh ; 0BBh %' DB 0BCh ; 0BCh %' DB 0BDh ; 0BDh %' DB 0BEh ; 0BEh %' DB 0BFh ; 0BFh %' DB 0C0h  ; 0C0h %' DB 0C1h ; 0C1h %' DB 0C2h ; 0C2h %' DB 0C3h ; 0C3h %' DB 0C4h ; 0C4h %' DB 0C5h ; 0C5h %' DB 0C6h ; 0C6h %' DB 0C7h ; 0C7h %' DB 0C8h ; 0C8h %' DB 0C9h ; 0C9h %' DB 0CAh ; 0CAh %' DB 0CBh ; 0CBh %' DB 0CCh ; 0CCh %' DB 0CDh ; 0CDh %' DB 0CEh ; 0CEh %' DB 0CFh ; 0CFh %' DB 0D0h ; 0D0h %' DB 0D1h ; 0D1h %' DB 0D2h ; 0D2h %' DB 0D3h ; 0D3h %' DB 0D4h ; 0D4h %' DB 0D5h ; 0D5h %' DB 0D6h ; 0D6h %' DB 0D7h ; 0D7h %' DB 0D8h ; 0D8h %' DB 0D9h ; 0D9h %' DB 0DAh ; 0DAh %' DB 0DBh ; 0DBh %' DB 0DCh ; 0DCh %' DB 0DDh ; 0DDh %' DB 0DEh ; 0DEh %' DB 0DFh ; 0DFh %' DB 0E0h ; 0E0h %' DB 0E1h ; 0E1h %' DB 0E2h ; 0E2h %' DB 0E3h ; 0E3h %' DB 0E4h ; 0E4h %'  umlaut %' DB 0AEh ; 0AEh AE ligature %' DB 0AFh ; 0AFh ae ligature %' DB 0B0h ; 0B0h (ettset) %' %' rgw2For1Subs - %' This table MUST parallel rgb2For1Chrs. It defines the two characters %' which are to be substituted for the characters in rgb2For1Chrs. %' rgw2For1Subs LABEL BYTE ; DB 'A', 'o' ; A-circle expands to 'A', 'o' ; DB 'a', 'o' ; a-circle expands to 'a', 'o' ; DB 'A', 'u' ; A-umlaut expands to 'A', 'u' ; DB 'a', 'u' ; a-umlaut expands to 'a', 'u' ; DB 'O', 'u' ; O-umlaut expands to 'O', 'u' ; DB 'o', 'u' ; o-umlaut expands to 'o', 'u' ; DB 'O', '/' ; O-slash expands to 'O', '/' ; DB 'o', '/' ; o-slash expands to 'o', '/' ; DB 'U', 'u' ; U-umlaut expands to 'U', 'u' ; DB 'u', 'u' ; u-umlaut expands to 'u', 'u' ; DB 'A', 'e' ; AE ligature expands to 'A', 'e' ; DB 'a', 'e' ; ae ligature expands to 'a', 'e' ; DB 's', 's' ; ettset expands to 's', 's' %' %' rgw2For1Priorities - %' This table MUST parallel rgb2For1Chrs & rgw2For1Subs. It defines the %' offset in priority of the second of the two characters in rgw2For1Subs %' which are to be substituted for the corresponding characters defined in %' rgb2For1Chrs. For the first example shown A-umlaut, the -1 indicates %' that the "Au" substitution should sort immediately before a real "Au". %' 0 (zero) would indicate that the "Au" substituted for A-umlaut should be %' sorted exactly equal to a normal "Au", and finally a 1 would indicate %' that the "Au" substitution should sort immediately after a real "Au". %' NOTE: This table is NOT used in conjunction with the first character %' collation table. When the first character collation table is being used %' the characters substituted as a result of 2 for 1 substitutions will be %' collated equal to their normal values, just as if the entry in this array %' had been defined as 0. %' rgw2For1Priorities LABEL BYTE ; DW -1 ; A-circle expands to 'A', 'o' & sorts before 'Ao' ; DW -1 ; a-circle expands to 'a', 'o' & sorts before 'ao' ; DW -1 ; A-umlaut expands to 'A', 'u' & sorts before 'au' ; DW -1 ; a-umlaut expands to 'a', 'u' & sorts before 'au' ; DW -1 ; O-umlaut expands to 'O', 'u' & sorts before 'Ou' ; DW -1  ; o-umlaut expands to 'o', 'u' & sorts before 'ou' ; DW -1 ; O-slash expands to 'O', '/' & sorts before 'O/' ; DW -1 ; o-slash expands to 'o', '/' & sorts before 'o/' ; DW -1 ; U-umlaut expands to 'U', 'u' & sorts before 'Uu' ; DW -1 ; u-umlaut expands to 'u', 'u' & sorts before 'uu' ; DW -1 ; AE ligature expands to 'A', 'e' & sorts before 'Ae' ; DW -1 ; ae ligature expands to 'a', 'e' & sorts before 'ae' ; DW -1 ; esset expands to 's', 's' & sorts before 'ss' %' %' This table defines those pairs of characters which have special priorities %' rgw1For2Wrds LABEL BYTE ; DB 'M', 'c' ; DB 'C', 'h' ; DB 'c', 'h' %' %' This table MUST parallel rgw2For1Wrds. It defines the priorites of the %' sets of two special characters defined in rgw2For1Wrds. Note that the %' priority of a single character is the value defined in the collation %' table(s) above times 256. So in this example, the priority of M is %' 4D00; The priority of Mc is 4CFF. This means that the Mc gets collated %' IMMEDIATELY before M (since no number exists between 4CFF and 4D00.) %' Also, ch gets collated immediately after c (4300 for c followed by 4301 %' for ch); similarly for Ch and C. %' rgw1For2Subs LABEL BYTE %' DW 4CFFh %' DW 4301h %' DW 6301h %' %' This table MUST parallel rgw2For1Wrds. It defines whether the 1 for 2 %' substitution defined in rgw1For2Wrds and rgw1For2Subs should always be %' made or if it should only be made when the two characters defined in %' rgw1For2Wrds are at the beginning of a string. 1 means beginning only, %' 0 means anywhere in the string. %' rgb1For2Flags LABEL BYTE %' DB 01h %' DB 00h %' DB 00h )) ; The following table indicates the class of the each of the 256 characters. ; The five possi  e after the last entry. ; Note: For some programs, such as the Cmd File Editor, if you have more than ; one word matching yes or no, only the first one will be displayed. %DefTableData (YesNoStrings, 11, %(%' YesNoSignature DW 'YN' %sbString ('Yes') ; could be ('Yes Oui') %sbString ('No') ; could be ('Nyet NoWay ForgetIt') )) %TableEnd END & sorts before 'O/' ; DW -1 ; o-slash expands to 'o', '/' & sorts before 'o/' ; DW -1 ; U-umlaut expands to 'U', 'u' & sorts before 'U; ; COPYRIGHT 1980,1987 CONVERGENT TECHNOLOGIES, INC. ; ALL RIGHTS RESERVED ; ; THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE ; SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A ; PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED ; WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, ; INC. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS ; SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. ; %*DEFINE (InitDiacriticalTables) ( %SET(cEntries,ble values are defined below. numer EQU 0 ; Numeric (Whole numbers) alpha EQU 1 ; Alphabetic (Letters of the alphabet) specl EQU 2 ; Special (Non-alphanumeric, but commonly displayed) graph EQU 3 ; Graphic (Line drawing and other special graphics) blind EQU 4 ; Blind (Not generally intended for display purposes) %DefTableData (CharacterClassTable, 10, %(%' CharacterClassSigniture DW 'CC' ; 0 / 8 1 / 9 2 / A 3 / B 4 / C 5 / D 6 / E 7 / F ; ----- ----- ----- ----- ----- ----- ----- ----- DB blind, blind, blind, specl, blind, blind, specl, blind ; 00h-07h DB blind, blind, blind, blind, blind, blind, blind, blind ; 08h-0Fh DB specl, blind, blind, blind, blind, blind, specl, blind ; 10h-17h DB blind, blind, specl, blind, blind, blind, specl, blind ; 18h-1Fh DB specl, specl, specl, specl, specl, specl, specl, specl ; 20h-27h DB specl, specl, specl, specl, specl, specl, specl, specl ; 28h-2Fh DB numer, numer, numer, numer, numer, numer, numer, numer ; 30h-37h DB numer, numer, specl, specl, specl, specl, specl, specl ; 38h-3Fh DB specl, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 40h-47h DB alpha, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 48h-4Fh DB alpha, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 50h-57h DB alpha, alpha, alpha, specl, specl, specl, specl, specl ; 58h-5Fh DB specl, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 60h-67h DB alpha, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 68h-6Fh DB alpha, alpha, alpha, alpha, alpha, alpha, alpha, alpha ; 70h-77h DB alpha, alpha, alpha, specl, specl, specl, specl, blind ; 78h-7Fh DB graph, graph, graph, graph, graph, graph, graph, graph ; 80h-87h DB graph, graph, graph, graph, graph, graph, graph, graph ; 88h-8Fh DB graph, graph, graph, graph, graph, graph, graph, graph ; 90h-97h DB graph, graph, graph, graph, graph, graph, graph, graph ; 98h-9Fh DB blind, blind, blind, blind, blind, blind, blind, blind ; A0h-A7h DB blind, blind, blind, blind, blind, blind, blind, blind ; A8h-AFh DB blind, blind, blind, blind, blind, blind, graph, graph ; B0h-B7h DB graph, graph, graph, graph, graph, graph, graph, graph ; B8h-BFh DB graph, graph, graph, graph, graph, graph, graph, graph ; C0h-C7h DB graph, graph, graph, graph, graph, graph, graph, graph ; C8h-CFh DB graph, graph, graph, graph, graph, graph, graph, graph ; D0h-D7h DB graph, graph, graph, graph, graph, graph, graph, graph ; D8h-DFh DB graph, graph, graph, graph, graph, graph, graph, graph ; E0h-E7h DB graph, graph, graph, graph, graph, graph, graph, graph ; E8h-EFh DB graph, graph, graph, graph, graph, graph, graph, graph ; F0h-F7h DB graph, graph, graph, graph, graph, graph, graph, graph ; F8h-FFh )) ; The Yes/No strings are space delimited words meaning Yes or No. ; It is recommended that Yes and No remain as part of their respective strings ; for compatibility with submit files. ; If you wish to have multiple answers for yes or no, modify the table as ; follows: ('Yes Oui'). That is, separate words by a space, but do ; not put a spac 0) %DEFINE (String1) () %DEFINE (String2) () ) %*DEFINE (DiacriticalSet(bDiacriticalKey,bFollowingKey,bResultantKey)) ( %DEFINE (tmpString) (%String1) %DEFINE (String1) (%tmpString DB %bDiacriticalKey,%bFollowingKey) %DEFINE (tmpString) (%String2) %DEFINE (String2) (%tmpString DB %bResultantKey) %SET(cEntries, %cEntries+1) ) %*DEFINE (EndDiacriticalTables) ( cDiacriticalPairs DW %cEntries %String1 %String2 ) %Set(cbTable,0) %Set(cTable,0) STACK segment word stack 'STACK' STACK ends HdrSeg SEGMENT PUBLIC 'const' wSignature DB 'T', 'N' cbFile DW 0 cStruct DW 0 orgID DW 0 orgOStruct DW 0 fill DW 0,0,0 HdrSeg ENDS sHdrSeq EQU 10h IdSeg SEGMENT WORD PUBLIC 'const' rgId LABEL WORD IdSeg ENDS oStructSeg SEGMENT WORD PUBLIC 'const' rgoStruct LABEL WORD oStructSeg ENDS rgbStructSeg SEGMENT WORD PUBLIC 'const' rgbStruct LABEL BYTE rgbStructSeg ENDS TGroup GROUP HdrSeg, IdSeg, oStructSeg, rgbStructSeg, endNlsTable %*DEFINE (DefTableString(name, id, string)) LOCAL rgbStart ( %x1Out(%name (%id) ... ) %DEFINE (arg) (%string) IdSeg SEGMENT DW %id IdSeg ENDS rgbStructSeg SEGMENT %rgbStart LABEL BYTE %WHILE (%LEN(%arg) GT 0) (%MATCH (head, arg) (%arg) DB %head ) rgbStructSeg ENDS oStructSeg SEGMENT DW OFFSET TGroup:%rgbStart oStructSeg ENDS %Set(cTable, %cTable+1) %Set(cbTable, %cbTable+%len(%string)) %x1Out(done.%nl) ) %*DEFINE (DefTablesbString(name, id, sbString)) LOCAL tmp0 tmp1 ( %x1Out(%name (%id) ... ) IdSeg SEGMENT DW %id IdSeg ENDS rgbStructSeg SEGMENT %tmp0 LABEL BYTE DB 0 %IF(%NES(%sbString,''))THEN( DB %sbString)FI %tmp1 LABEL BYTE ORG OFFSET %tmp0 DB %tmp1-%tmp0-1 rgbStructSeg ENDS oStructSeg SEGMENT DW OFFSET TGroup:%tmp0 oStructSeg ENDS %Set(cTable, %cTable+1) %Set(cbTable, %cbTable+%len(%sbString)+1) %x1Out(done.%nl) ) %*DEFINE (SbString(Str)) LOCAL tmp0 tmp1 ( rgbStructSeg SEGMENT %tmp0 LABEL BYTE DB 0 %IF(%NES(%str,''))THEN( DB %str)FI %tmp1 LABEL BYTE ORG OFFSET %tmp0 DB %tmp1-%tmp0-1 ORG OFFSET %tmp1 rgbStructSeg ENDS ) %*DEFINE (DefTableData(name, id, data)) LOCAL rgb0 rgb1 ( %x1Out(%name (%id) ... ) %DEFINE (arg) (%data) IdSeg SEGMENT DW %id IdSeg ENDS rgbStructSeg SEGMENT %rgb0 LABEL BYTE %data %rgb1 LABEL BYTE rgbStructSeg ENDS oStructSeg SEGMENT DW OFFSET TGroup:%rgb0 oStructSeg ENDS %Set(cTable, %cTable+1) %Set(cbTable, %cbTable+(%rgb1-%rgb0)) %x1Out(done.%nl) ) %*DEFINE (TableEnd)( EndNlsTable segment public 'const' TheEnd label byte EndNlsTable ends HdrSeg SEGMENT PUBLIC 'const' ORG OFFSET cbFile DW offset TGroup:TheEnd ORG OFFSET cStruct DW %cTable ORG OFFSET orgId DW OFFSET TGRoup:rgId ORG OFFSET orgoStruct DW OFFSET TGRoup:rgoStruct HdrSeg ENDS ) %*DEFINE (TableInit)( %' '%x1Out(Creating NLS tables:%nl)%' ) %*DEFINE(xOut(str))(%IF (%PASS1 EQ -1) THEN (%out(%str)) FI) %*DEFINE(x2Out(str))(%IF (%PASS2 EQ -1) THEN (%out(%str)) FI) %*DEFINE(x1Out(str))(%out(%str)) %DEFINE(nl)( ) ;StartKeycapDefines Macro ;Set up the data space for the Keycap Template arrays. The ;pointer array of these templates is called rgsbTemplates %*DEFINE (StartKeycapDefines)( ; rgKeycap is an array of offsets which describe the beginning ; of each of the structures in the Nls Keycap section of the NLS ; tables. public rgKeyCap rgKeyCap LABEL BYTE wKeyCapSig DW 'KC' %' Name table signature wRevLevel DW 0 %' Revision level cKeyCaps DW 0 %' Number of keycaps orgosbKeyCap DW 0 %' offset to keycap list %SET(NoKeyCaps, 1) sbKeyCaps label byte ) ; KeycapEntry Macro ; Create a table entry for the template form provided. Takes a ; name and string value: ; DefineKeycapEntry(Help_00, "HELP") ; This creates an entry called sbHelp_00 with the provided ; String, and adds it sequentially to the data structures. %*DEFINE (DefineKeyCapEntry(NameKeyCap, "String"))( sb%NoKeyCaps LABEL BYTE %' SB starts here DB %len(%String) %' String length DB '%String' %' String text DB 0 %' Null terminator for C etc %SET(NoKeyCaps, %NoKeyCaps+1) ) ;EndKeycapDefine  %OUT(Table number %TableNo must End before name definitions can End ) ) ELSE ( %SET (iTable, 1) %' %WHILE (%iTable LT %TableNo) ( Table%iTable label byte %Set (iName, 1) %WHILE (%iName LT %StringMax) ( DW (OFFSET sb%iName%iTable) - (OFFSET NameStruct) %SET (iName, %iName+1) ) %SET (iTable, %iTable+1) %SET (iName, 1) ) %' %SET (iTable, 1) rgoTables label byte %WHILE (%iTable LT %TableNo) ( DW %StringMax-1 DW (OFFSET Table%iTable) - (OFFSET NameStruct) %SET (iTable, %iTable + 1) ) EndNameData Label byte %' %' %' %' %' Describe the available tables by rgTables offset %' ORG OFFSET cTables DW %TableNo-1 ORG OFFSET orgoTables DW (OFFSET rgoTables) - (OFFSET NameStruct) ORG OFFSET EndNameData %' %' ) FI ) ; ; StartDateDefines Macro - - Set up the data space for the Date Time ; Template arrays. The pointer array of ; These templates is called rgsbTemplates ; %*DEFINE (StartDateDefines)( %' public DateStruct s Macro ;Wraps up the data space for the Keycap String arrays and ;other structures. %*DEFINE (EndKeycapDefines)( ; Describe the available tables by rgTables offset %SET (iKeyCap, 1) rgosbKeyCap LABEL BYTE %WHILE (%iKeyCap LT %NoKeyCaps) ( DW (OFFSET sb%iKeyCap) - (OFFSET rgKeyCap) %SET (iKeyCap, %iKeyCap + 1) ) EndKeyCapData label byte ORG OFFSET cKeyCaps DW %NoKeyCaps - 1 ORG OFFSET orgosbKeyCap DW (OFFSET rgosbKeyCap) - (OFFSET rgKeyCap) ORG OFFSET EndKeyCapData ) ; ; StartNameDefines Macro - - Set up the data space for the Date Time ; Template arrays. The pointer array of ; These templates is called rgsbTemplates ; %*DEFINE (StartNameDefines)( public NameStruct %SET(TableNo, 1) %SET(Started, 0) %SET(StringMax, 0FFH) %' %' %' %' %' N L S N A M E S T R U C T U R E %' %' NameStruct is a structure of offsets and counts which describe the %' structures in the Nls Name section of the NLS tables. %' %' %' NameStruct label byte qNameSignature DW 'NT' wNameRevLevel DW 0 cTables DW 0 orgoTables DW 0 ) ; ; NameEntry Macro - - Create a table entry for the template form ; provided. Takes a name and string value: ; ; DefineNameEntry(FirstMonth, "january") ; ; This creates an entry called FirstMonth with the provided String, and ; adds it sequentially to the data structures. ; ; Define the string %*DEFINE (DefineNameEntry(NameString, "String"))( %IF ((%StringNo LT %StringMax) AND (%Started EQ 1)) THEN ( sb%StringNo%TableNo label byte db %len(%String) db '%String' db 0 %SET (StringNo, %StringNo+1) ) ELSE ( %IF (%StringNo EQ %StringMax) THEN ( %OUT (DateString: %StringNo; Table: %TableNo; Too many strings in table, first table contained %StringMax strings. ) ) ELSE ( %OUT(Table number %TableNo must Begin before name strings can be defined ) ) FI ) FI ) ; ; Start Table Macro - - Begin a new list of date names ; %*DEFINE (StartNameTable)( %' %' remember the start of this list of string offsets %' %IF (%Started EQ 1) THEN ( %OUT(Table number %TableNo must End before another can begin ) ) ELSE ( %SET (StringNo, 1) %' %' Set the "We are in a table" flag, and warn user if last table not closed %SET(Started, 1) ) FI ) ; ; End Name Table Macro - - Close up a list of strings ; %*DEFINE (EndNameTable)( %' %' %' %' Warn user that we are closing a tabel that was not opened up %IF (%Started EQ 0) THEN ( %OUT(Table number %TableNo must Begin before it can end ) ) ELSE ( %IF (%StringMax EQ 0FFH) THEN ( %SET (StringMax, %StringNo) ) FI %IF (%StringNo LT %StringMax) THEN ( %OUT (Table: %TableNo; Table must contain %StringMax strings, this table contains only %StringNo strings ) ) ELSE ( %SET(TableNo, %TableNo+1) %SET(Started, 0) ) FI ) FI ) ; ; EndNameDefines Macro - - Wraps up the data space for the Name ; String arrays and other structures. ; %*DEFINE (EndNameDefines)( %' %IF (%Started EQ 1) THEN (   %' %' %' N L S D A T E S T R U C T U R E %' DateStruct is an structure of offsets and counts which describe the %' structures in the Nls Date section of the NLS tables. %' %' DateStruct label byte qDateSignature dw 'DT' wDateRevLevel dw 0 cCtTemplates dw 0 cOemTemplates dw 0 orgoTemplates dw 0 %' cEscs dw 0 orgCmds dw 0 %' %' %SET(NumSbs, 0) %SET(NumCtTemps, 0) %SET(NumOemTemps, 0) %' %SET(NumEscs, 0) %' %SET(BuildPhase, 1) %' %' rgCmds label byte %' ) ; ; DateEscapeDefine Macro - - Defines the character to be used for each ; of the escape sequences (attributes) in the ; NLS Date templates. ; %*DEFINE (DateEscapeDefine(CommandName, 'bLower', 'bUpper'))( %' %IF (%BuildPhase EQ 1) THEN ( db '%bLower' db '%bUpper' %' %SET(NumEscs, %NumEscs+1) %' ) ELSE ( %OUT(Command: %CommandName; Command characters must be defined before other NLS Date information. ) ) FI ) ; ; TemplateEntry Macro - - Create a table entry for the template form ; provided. Takes a name and string value: ; ; DefineTemplateEntry(LongDayDate, "!W*w! !N*n! !*d!, !*y!") ; ; This creates an entry called LongDayDate of the provided format, and ; adds it sequentially to the data structures. ; %*DEFINE (DefineTemplateEntry(TemplateName, "TemplateString"))( %' %'Transitioning from command char definition, disallow further command defines %IF (%BuildPhase EQ 1) THEN ( %SET (BuildPhase, 2) ) FI %' %IF ((%BuildPhase EQ 2) OR (%BuildPhase EQ 3)) THEN ( sbTemplate%NumSbs label byte db %len(%TemplateString) db '%TemplateString' db 0 %' %SET(NumSbs, %NumSbs+1) %' %IF (%BuildPhase EQ 2) THEN ( %SET(NumCtTemps, %NumCtTemps+1) ) ELSE ( %SET(NumOemTemps, %NumOemTemps+1) ) FI %' ) ELSE ( %OUT(Template: %TemplateName; Templates must be defined immediately after command characters ) ) FI %' ) ; ; EndStdDateDefines Macro - - Wraps up the data space for the Date Time ; Template arrays and other structures. The ; number of templates is put in in cTemplates, ; which is referenced by its offset, as is the ; array of escapes. ; %*DEFINE (EndStdDateDefines)( %IF (%BuildPhase EQ 2) THEN ( %SET (BuildPhase, 3) ) ELSE ( %OUT (Command characters and Standard templates must be defined before OEM templates ) ) FI ) ; ; EndOemDateDefines Macro - - Wraps up the data space for the Date Time ; Template arrays and other structures. The ; number of templates is put in in cTemplates, ; which is referenced by its offset, as is the ;  array of escapes. ; %' %*DEFINE (EndOemDateDefines)( %' %IF (%BuildPhase EQ 3) THEN ( %' %' Disallow any further definitions %SET (BuildPhase, 4) %' rgosbTemplates LABEL BYTE %' %SET (iosb, 0) %' %WHILE (%iosb LT %NumSbs) ( DW (OFFSET sbTemplate%iosb) - (OFFSET DateStruct) %SET (iosb, %iosb+1) ) %' EndDateData label byte ORG OFFSET cCtTemplates DW %NumCtTemps ORG OFFSET cOemTemplates DW %NumOemTemps ORG OFFSET orgoTemplates DW (OFFSET rgosbTemplates) - (OFFSET DateStruct) ORG OFFSET cEscs DW %NumEscs ORG OFFSET orgCmds DW (OFFSET rgCmds) - (OFFSET DateStruct) ORG OFFSET EndDateData ) ELSE ( %OUT (Error; Command character, Default template, and OEM template definition areas must be present ) ) FI )leNo must Begin DISTRIBUTION: Those names in BOLD and/or have stars next to their names, have Action Items for next weeks meeting. *M. Bailey/9-003 *D. Hoffman/9-004 *J. Christman/9-003 I. Kalb/9004 K. Chang/9003 B. Prabhala/9-004 *T. Wallech/9003 G. Podshadley/9-001 R. Emir/11-024 *J. Miller/9028 *J. Loy/9-007 A. Pickens/9-028 M. Martin/9-007 G. Stone/9-028 R. Stanley/9-007 ========= Sent via CTMail: B. Applegate T. Ball *J. Banks-Hunt K. Bedard *T. Birmingham K. Burgett E. Carlson C. Catelain K. Champion   ur customers to be used for future releases. A/R: Joe Miller, June Loy} {Basic / Pascal o As for Cobol above, Engineering feels they will be ready to send Basic and Pascal to Beta sites 5/1 and release late-June. Again, this has not been discussed with DV. A/R: Alan Merrill o Both the Basic and Pascal manuals need to be verified that they are adequate to cover the next releases. A/R: June Loy} {APPLICATIONS SOFTWARE Releases: To RTC: 4/23 2.1 Mouse Services 4/23 2.0.4 GPS 5/7 1.1 Windows 5/7 2.0 Art/Chart Designer 5/7 12.0 Graphics Library 5/14 2.1 Document Designer} {COMMUNICATIONS SOFTWARE Releases: To RTC 4/23: 10.1 X.25 Network Gateway ????: 12.0 SNA Network Gateway 7/16 4.4 Modem Server} {SNA Network Gateway o The release of this product has been put on hold indefinitely. The engineer for the product is on personal leave and will return 4/20. A/R: Bobby Johnson} {CTNet and its Media o CTNet ODVed 4/10. The goal is to RTC  D. Christie P. Cressman S. Coles L. DeJaager S. Emmons R. Hall K. Hanson J. Hughes *B. Johnson K. Keeney *J. Krause *A. Merrell R. Merrell R. McDonald *D. Oberrotman G. Poshadley D. Renaud T. Schodowski *J. Tisza S. Seike F. Wesner *P. Williams MEMORANDUM DATE: April 17, 1987 TO: Distribution FROM: Jill Christman (ext. 3577) SUBJECT: Minutes from New Software Status Meeting of 4/14/87  NEXT MEETING: 9:30 AM, TUESDAY APRIL 21, 1987 GENERAL ISSUES {SYSTEMS SOFTWARE Releases: To RTC: 4/23 2.0 CTOS/VM 4/23 2.0 Context Manager VM 6/4 5.1 Visinostics} Products "in the works" CTOS/SRP 1.4 J. Krause, P. Williams, B. Applegate Voice/Data Services J. Banks-Hunt, J. Krause, P. Williams {Visinostics o Visinostics 5.1 will be released 6/4/87 to support the new HSX003, HSX020 and PHD020 hardware. This date is dependent on gaining some resource to assist in the testing. This issue will be addressed after CTOS/VM 2.0 releases. A/R: Jill Christman o Modularized Diagnostics. CT has been attempting to purchase the source for a modularized diagnostic program. Engineering feels that if we can't conclude these negotiations in the near future, we should consider cancelling the project OR funding the project totally ourselves. A/R: Jeff Krause, Drew Hoffman} CTOS/VM 2.1 o DV will begin work on 2.1 AFTER 2.0 is released. A/R: Ken Burgett, Paul Williams CTOS/VM 2.0 o WE WILL RELEASE 23 APRIL 1987!!!!!! o Pricing and Packaging o Pricing for CTOS/VM is still being looked at. It will be completed prior to RTC of CTOS/VM. Pricing is going through final approval, Jeff feels it will not be a problem to have it finalized by 4/16/87. A/R: Jeff Tisza A concern was brought up that current customers of both CTOS 9.8/SS 10.4 and CTOS II 1.0/SS II 1.0 that have update licences may receive multiple copies of Standard Software 11.0. A/R: Jeff Tisza {PC SOFTWARE There is no new information on the PC products this week. PC Emulator 2.0 o Testing is progressing on the PC Emulator in conjunction with Cluster Share (see below). The Beta program is progressing. There is a volunteer from our UK office who will also be assisting in the verification. A/R: Joanie Banks-Hunt, Dan Oberrotman} {Cluster Share o Testing is progressing. CT and UniSys are involved in a joint testing effort. As of 4/7/87, there are 3 priority A problems and 14 priority B & C problems. SDV is to be 4/24 with RTC 5/15. To meet the RTC of 5/15, source should be frozen by 5/1/87. o The Beta program has begun and is progressing well. Who is handling the Beta program? A/R: Tom Wallech} {LANGUAGES Cobol Level II o Engineering feels they will be ready to send Cobol II to Beta sites 5/1 and would like to release late June. This has not been discussed with DV. A/R: Alan Merrell o Documentation will be covered with an Engineering Update for the first release of Cobol II. Convergent is attempting to purchase source for the documentation from one of o! 6/11. As of 4/14/87, there are 3 priority A's and 16 priority B problems. A/R: Tom Birmingham, Mayo Bailey} {Modem Server o Modem Server will RTC 7/16. ODV can occur as soon as DV wants to take it. This new release will be to fix a problem which occurs when Modem Server interacts with the Voice/Data Services on CTOS/VM. A/R: Tom Birmingham, Mayo Bailey}23 $yѰ4êѹT`jсØѧ wxyל׾4Uuwׁׂועת׹ !-7?JT`juׁ׌טק״׾ɔI@! 8 8, 8 8,8 8,67v%I8 8,7v%I@ H@  8 8,H r˸ pq94rǸ@@ q:@  0 !@  0 !H@  0 !  H@ H@H H@6 HH+Bcʄֈʽھʍ֞Sdefqʒֺǻʼ$6789B.=>?@UcoҤҾdqҫһһ7BR>U½  HH 8 8,HH 8 8,H H@  0 !H H ^_`aâÞ_t*@ H HH@  0 !HH@  0 !H  */= @ Courier 72 Courier 72 Courier 72!  Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=8192.0UNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)" NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)# NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)$ NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)% NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8Yė crashDump.sys Local.sub fileHeaders.sysmfd.sys sysImage.sys Cleanup.fls Master.sub $Software Development Diskette 2 of 2 SaveSpace.sub InstallConfig.sysRest.flsSoftwareDevelopmentCmds.sub&  01839-2/2Q-?d3?d+ 5SYSCTz9|M^SYSCT9{fileHeaders.sysratssysa-?da-?da-?dVV }mfd.sysratssyse-?de-?de-?d}log.sysratssysi-?di-?di-?dO sysImage.sysratssysn-?dn-?dn-?dY badBlk.sysratssysq-?dq-?dq-?d&  } $Software Development Diskette 2 of 2ratsSys -?d/?d/?d SaveSpace.subratsSys -?d/?d/?di? crashDump.sysratssysu-?du-?du-?d Cleanup.flsratsSys~-?du/?dufd Delete.flsratsSys-?d/?d/?dF Local.subratsSys -?d/?d/?dh Master.subratsSys -?d/?d/?d o Submit.flsratsSys -?d/?d/?d" ' tInstallConfig.sysratsSys-?d/?d/?d(All.subratsSys-?d/?dufr(" HdInstall.subratsSys-?d/?d/?d InSys.flsratsSys-?d/?duf+sRest.flsratsSys-?d/?duf*\:SoftwareDevelopmentCmds.subratsSys-?d/?duf  ) Assembler.runratsCT.?d0?dufo.CommNub_pre10.objratsCT.?d0?duf'  mSoftwareStatus-87/04/14ratsCT"p.?d.?d.?d$$MP-?d +dkJillJmc PMake.runratsCTy.?du0?duf* GCommStatus_pre10.objratsCT#.?d!0?dufb WDump.runratsCT,.?d*0?dufjhj-German>Nls.asmratsCT6.?d<0?duf0rInitComm_pre10.objratsCTH.?dG0?duf1Nls.asmratsCTT.?d[0?dufg  tH:f+.Nls.mdfratsCTg.?di0?duf/0\( P SamGen.mdfratsCTw0?d~0?duf2g SamGenAll.asmratsCT0?d0?duf=>F SamGenAll.objratsCT 0?d0?duf.>!Wrap.runratsCT!0?d0?dufjn>pY"#X#$W$%V%&(   Assembler.runCommNub_pre10.objCommStatus_pre10.objDump.runGerman>Nls.asmNls.mdf SamGen.mdf SamGenAll.obj Wrap.run! PMake.run SamGenAll.asmU&'T'(S()R)*|*InitComm_pre10.objNls.asm) GWWaP=%WDD@Dv "PtuF9d` Copyright 1987 Convergent Technologies, Inc. All rights reserved.Ver 11.0 Linker 11.0 28_?=`tY@  / H \ p     / > C L W \ p 09Xrw:ENYbow &r2Ku%a06kyV\Idj(.EW_io]v$,WpG{ py~$0<HYejoty~ ? ...&.2.?.F.J.N.R.V.[._.c.g.k.p.t.x.|................................// /////"/'/p''5'''#Q_V nQs99799 97uuu0 0:XTY }2A2222k22/2tD^Sflc < 99=3 /++_,/ -P-/p.4P7/ 8_P9=??PCOEOE0G OQ@SPT`T`UPY@Z [hil?`nOnnO=o'()E" +* /7x5XQYzc6|/$MA]''P'''2'''')Or99d9999l99Bu ,2A2]2l2U[ttt 0L7lX#+P^  $ w   M q    L < 6&jKQ/p/ '9u2[t&*/9 QUvPFPF tFkFFFFFFFFHN;rE^&F0:r<9wF Vµ+FP@2FuF]U vPFPF u"~tFFF&Ytyu]UQQ(FF4((vPF((]UF~tMFȈFNNnN s 0JFA, NB~u~wN(SFJQ*ȵQFP3P]U FFt0ȈFF 1VF1FN0VJ uɸ4PFJQ*ȵQFP3P]UQ(S^GPPFP3P]UQQ(FF4((vF((]UQQF^v8tF(S^SvFP3P]UQ(S^SvFP3P]U P]U P]U(SvP]UF t3@;v()F()() P^S*P())F]UF tG@;v*)F*)^S*) P+PPFP*P*))F]UQQF tv@s FFFsv^Svv vFP#v^Svv vFP$)   )uP6 ) )PP.)F)&]U츏PqvPPqvPPqFPvP]UQQvPPqv PPqvP~tmF F Pv<NFȉ)9F tMF tF;vNFFFPv vPFF F)F볋]UFFFF tR=s FF^Sv)-P^SvFP3PFF)F맋]UX)-PPPPFF2rFFFpFN+ȉN~u]FFsjFFʹ;vNʋNʋ~u+JVt VʋFFF+FʉF^&?uA u@"F돃~u#F tN+NV+ʉNvRPQYFFʹ;vNʋFʉF~t+JVtVʋFF~ v_F+FFN t+FvPPvF tvvPvFFFFvvʚ0FFFFFF)F~tLv6)(+)%F-Q)SPFP3P)Sv)^FF)FVF t0FF;Fw#-PPPFP3PPFV FF1)F 냋]UF V FF %FFV tNFVusFFF1v~^YFFF)FV먋] UQ+(F9FvF6($vNFF(]UPPFPPPP*PP^SvRPPrmPP6SPPPFP#P&?GWt P&t P&G&G:) WP();s((+))&G0H((SP+P]U t7(AFF t;vNFFF)F(ۡ(((@(9(v((PP*P(ȸ>9(v((PP*P(ȸ>6PU6S6PPP6 P]UFN]UFV )),).)F":u2F":uF!PF X F F&F ,).)&@.)PF X&@F F&@F &@] UF")&@&P%&)+]UFNFV^~+׋&)+׋]U&G.")$)&G:F&G&)F&G0HN;s")&PVuCF(09^YF$FF(F&@-N逋(FQPRPF")&0vFt\ u FVSFVFN;wC;uFVFFvvvvP)FVFVFu&@PSRP(HPP/PSRP(HPPw)Fw)F>uF(FF&H&P&F~&GF&G>(t(@& &&G]UF)]U &ONF&GFF&GHN;r7F^&@Fv^&F^&7^&Fu&4tb&O2NFF&G4HN;r@F^&@Fv^&F^&t P^&Fu]UFua$.         ! P6qsFu-PFuPFu 0+ PFu%5PFuBQPFu \P]UjPqPPFPF u ^SvPq)PP6)PPq&GPP&wP(+(HFtPq&7PPqvP&tPq&wP Pq Pq!PFF;(vPPFPPF&PV:u6&pP:PF&0P?PqZF&@PPF&pPF&0PFPPv Ft]UF#;u P~u/FNINFF;Fw^&FFuF]UFv)&F tiNANu$&F&P;Fu;FFF~u*v)&F&P;Fu FFF델CP@]U츀P)PP>)@) ))gPq{Pq]U);* Fuvv< PPFPF t[FҌ^FFP^SvָRPPrmPPvθ$PPPPFP#P>$GWu>$t P$FF FڌFFFތF~)~)FF~u FF)FFFFVJƒFFP P)-PFP PFP3PFFHN;rZvθ$PRRPFP#P$PP)-P$PPFP3PFu-PFP PF%+ȉN؁t%FF;Fr-PPPFuvθ$PPPPFP#PvΚ PFV)Vƒ%%-PFP PFV $(&2s PBP FF&GFċFăr2Nr+PPPuFNFƊFs9vč8Nu+JVƒtVvčPvTPPPPt(%$PP))У%-PPPP-P$PPFP3P PPFPF t4.P^SvָRPPrmP.PPF us-PvvPF~u:4.P$PPFPF-P$PvFP3PFtFи4.PF~tP@vК-PP]U2s&GFF&w F&GF&wF&GF&wF&W &)+ ((V^S6)6)R^S^SP]U>uFHV;sVVF^&G%FFF$wG^&FFF^&F@FFF^&u&w^&GFuFtp׋K ׉FVFF%F^&w O^&G ^&w >^&G ]U~2r 2rPPFPF tIPPFPF urNv~v+zFF^FP^SvRPPrmPF u`vPFPPF uDFV PPvS6PPPv F t׋K ׉FVFF%F^&G&WV&O&@w @;t!PqPqv ]Ut2r>PPFPF tHPPFPF ujNv~Fv+zFF^ FV^SvWQWRPF=t u,FFFP^SvRPPmmPF ua~uvvv F uEvS6RPPv F u2r&S6Pqv]UlvPFPF tLPPFPPNv~Fv+zvFFF^^ S^SvRPPwmP^SvP]UP"P-PP PDP&P0)P)PP*0)((*PqP]U24((1PqPPP%)) P2>) >)uA"s8Pq2PP(PP(P2 P2P2]UQQ2rC~c7(> w(SP ]UF>2tP <]U~u]UFPFP"V^&?{t@&?[uP62:3t. FPQSVSVQ^[Y=Xt ],N~] t&<4@43^&G ]UQF =wmt =mmt"63wmP'B4D43^&G ]U^&G :3t ^&B4SP(]UQ^&^ &&W^&G :3t >4S)]U^&G :3uB4Sv*, ]UQF :r10^&Fr^&0FFF 10^v&F@]U vvFPF^SvP}F^&:F@F^PvPXFF^&:F@F^PvP0FF]U^&<{t<[tFFF^&^&?{u>}N u+JV s\tWNAv~^YF@^&^v&48x ^& ~]N u+JVuF HN*  ^& !4Vnjޱ;u$:u3"4r,4PPPRPQwmWRPQF u^&G :3u B4FFFFN F;w~t^&W&;WrS^ R+QFPFT^&G&+GFV N+;sV^&FF^ v0~&}^9N^Y^F&GFFcF^&F]U^&G :3v ]U^&G :3v ^&G ]U^&]U^&]U]U^ &G :3v :R3uA$4;u:XY;u2&u+S4PPPPPrmPPPP=tx&G :3u>4&G s&G &W 3L&w&;ws&G&&33SQRR&G 2&33[Y=ut&^&]U^&G :3w):3u>4&G t&G uF&G &G 3  ]U^&G :3v :g3u?4;u8XY;u0&u)S4PPPPPwmPPPP=tY&G :3uB4&w&;ws&G&V&3/QSNQQR&G 2&33Yu=uP]URPPFPTF uK~tE^&t6G^&G&vH  ^&@4];v9@N +^vp^~&=9^YF@N +^&CFPF u^&O@wA^~&=9^Y^&G@^&^v&48^&v&4^P^&wg&we^&^v&48^&]U ^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uI^ &k]u+JBV^ GkPRPPP^S|PPP] U^&G F =wmt =amtI~]Nu+JV^SBRPPFPQ؍GPQF!t=uF~^&Gi^GePF^kvNFYF^&^S^Sv^SFPfF uF~u;^SvRPPRPF=u^v&xF^&Gi뾋F u9^SFPvRQWv PvF u 3^&G ]U ^&G :3t (3^&G ^S\F u^&FF^SGkPF&P^SFPpF u^&Oit^v8x^&GiF^S^SvuF tM^G8P^SvRPPmmP$F u"^&w8F t^&w8 FF]U^&G :3t F^&Gj]UF4~SF =wmt=amuF~]Nu+JV~&Nu+JVu F@;Fs F@;Ft ~s }~u4^&GM&_O^&GL&^v@^&GMZ&WOF@N+^&OL^S^Sv^Svv ^Sv F u |3^&G ]U^&^&G :|3t ^S^ Sv ^SL]U^&G :|3t ^Svt]U^&G :|3t ^S+]UQ^ &G :|3t m~ wA^ .^ &G=)^ &G.^ &G/!^ &GB^ &GDFF^&] U^ &G :|3t l~ wH^.(ffffBfNZfffkwF^ &G=3F^ &G.'F^ &G/F^ &GB F^ &GD]U^&G :|3t F^&G1]U쾎~F =amt=wmt=rmt=tmt =mmt&3^&G F^&Z&WF^&G]U^&^&G :3t ^&GN ^&]U^&^ &&W^&G :3t ]UF 1F1FF1Vu FFmFm1FF1VF1F ;vN^㋇;FvNFF^&F 1^&W^&8Os&^F+@^&GF1^&WF <1^&WF 1F1^&WF 1º PF1Y^&G]UQ^&G :=3tSv^ S^Si<^SFP94F u'^Sv^ S^SiF=3^&G F]U^&G :3v^& 6$4Vnjޱ;u$:u344r,$4PPPRPQrmWRPQF u^&G :3u >4FF^&G s<&G s4~u ^&"^&G ^G ^ &Z&W^&}^&G&;Gr$Sv^ S^S.F uX^&?uL^&G&O+;FsFF^&^&FFv&t^^ &Z&W^F&G]U FFN F;vB~u<^S+QFPFPF^ v8vNFYFF봋F^&F]UQ^&G :=3tS^ Sv ^S<^SFP54F u'^S^ Sv ^SF=3^&G F]U ^&G :3v+ U4 4uPP4P/lF u{4&G < r < wf4rHF sFF  FFF4 4uDPP4P/lF uo4&G ^ &:GwY^ &G4X ^F&G;FsF^ &GPP^&GȴP^SvF tn<~u8F4^ &OQP^&OɵQPvTFF tUV~uF~ t~uF r~t4FPFP6FF^&~uq븋F] U^ SP^Sq]U^ SP^Sq]U^ &G :g3t x4 4uPP4P/lF uV4&G < rL< wH^&^&G^&GP^&G^&G^&G^&G^&GA^&G64 4uDPP4P/lF u4&G ^ &:Gw^ &G4@ FF^ &G^&^&G^&G^&G^&G^&G^&G^&G^&G^&8G uA^&O^&8G u@^&G^ &GA^&G^ &G^&G]U^&^ &&W^&G :3t ^SF uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:F t@^&G-F]U^&GFrF@1V^&G&G &W"FV&G-sG<PFPF^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF]U64Pd64P u%64664PD u64=t=!t3]Uv&D :3s2&3؋:3u]3 ]Uv&D :3s2&3؋:3u]3 ]Uv&D :3s2&3؋:3u] 3 ]Uv&D :3s2&3؋:3u ]X[QSP3 ]Uv&D :3s2&3؋:3u]$3 ]UQv&D :3sB2&3؋:3u0VQ3FvV&D 2&3؋ 3~t F Y]U^ &G :=3tWSvvn(3^ &G ^ SvvFNs=u8^ SFP,~u#=3^ &G ^ &dt@Fs3률=3^ &G F]U,^ &G :3r^ &G :3tw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns.^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sSF u^ &G-sG<PFPF^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFPF u5F^ &G^ &G :(3t :3t^ SP F t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sS[F tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ SP(4F u^ S[F uy^ &G ts&w8&SP^ &w"&w G<P^ &w: F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Ytj&w8&SP^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :3t ]U^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSP(4F u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uY^&G*1V+^0^~&}*9^Y^&G*H14^SP4F u/v&|*&L+^9 ^&G*&G^&G,]UQ^ &G :=3t S^S>6^ &du3(3^ &G ^ S^SF=3^ &G F]U^&G :3r^&G :(3t:3u^&G&G &W"^&&Wc^&G :3uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :3u^&&G ]UQ^&G :=3t SvY 6^&du3(3^&G ^SvY F=3^&G F]U^&G :(3t :3t^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP(4F u^&u+  &8G w ]F4X ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF tX FFF ;FwD FrF9F w^ &FF^&O&@^&G^&w FA:r 4u4P u$>4t4&G44>4t>4t]ð]U#U$VWQ^SY_^F^OGG w 3GGG؉GGGFG F GFGFGFGFGPS]UU^ SG PPFP$[#uMG~&wtr/^ F%;u^ ^ FF;tX F ;FuX]U].4]UQQ^ &dt[SFP ^& uW^ &du&G-sG<P^S^&^ SwmPvvD^& u(3^ &G ^&]UQQ^ &Gd<tO<uSP ^& uI^ SFP ^& u0^ SrmPvvD^& u3^ &G ^&]U ^&^SP(4F t^&G t~&w8&SP^&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G,]U ^&G :(3t :3t F^&G-rG<PFPF^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSv4F tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^SP4F u]U^&G :(3t :3t ^&G&WFV&O&O &"N~;u;wN~Fs FF%4u!4FPF u ~ r44 4uDPP4P/lF t^&GF4, GF5uF F t ^ &?TNt54}F 55&G5^ &O>5F u+J 5u 5s54ЉF V4^ &G56 55&55^&Z&W5] UQ^&G &w8 F^&G:t P)FF]U94;454745~eF1F1F1F;s PF^&GZ&WvF&MX&E&uF+ƹ1&EFF&Z&U&E$<&E&F =wmtAN=rmYt=tmuFrmF =wmt =mmt=amuFmm FP^Sv^Svv$F=uy~mmur^Sv^Sv^&w&&w$F=u ^Sv^SvPPF~u FP^Sv^Svv$FFF t^G:P(F uy^&w:FP uF FuF^&G8Fs &G&G@~ tmuv^S^GP|vP^GPPFF usF =rmt=tmu3^&G &G 5^&G&G~ mmu=3&O FV(3^&G FF^SvvF t ^SP+]U~ ]Nu+JVt)F^F9Fv@^ &80r ^ v&89vz^ ^ v&0^F븡z5 x5uDPPx5P/lF uKx5&G ^;v ^x5X ^F&u^& u@^] U4Vnjޱ;u$:u ^&GZ~F =amt =wmt?v5 t5uPPt5P/lF u~t5&G < r<wg3^&G _^SvFPFPrF uEg3^&G F^&GFsF^F^S^SvFP3]UFf]UFV v]UFV v]UFV%]U+Zr tH]U+ZrH]U3 &L&;Wt]U vPFPPF uxFV^&&W~u~tYFuRFVFV)F^v^ SPvvFP#F u^ &?Gu&G &W^&&W] pCopyright 1987 Convergent Technologies, Inc. All rights reserved. PMake [sys]RealNub.sys,  invalid descriptorBogus numeric parameter invalid typetss availldttss busycall gatetask gateintrpt gatetrap gatedata , expand up , expand down , read only , writablecode, nonconforming , conforming , execute only , readable , not presentSystem Image Report for Load offset: Address of first byte of free memory: First unused sg: Number of free GDT slots: Symbol file sg: Symbols not loadedGlobal Descriptor TableiSn sn base limit access #Internal error in Relocation Table Compression Map File Image Length (zeroes) Ver  Unable to append file, error .symSymbol file is bogus Unable to load symbol file.smgUnable to write symbol file.img.gdtPMake PMake The Load Offset and Compress options may not be used together [!Scr]$$.Tmp=\z2Q[KBD][VID]Press NEXT PAGE or SCROLL UP to continue(Press NEXT PAGE to continue       ,,VNVF11.0- -  . [Kbd]<[Vid]d[Lpt][Nul][SysIn][SysOut]>6  H$4  H4  Ha<6H$LH$1WZH$4  6 $|= 6\ [sys]LptConfig.Sys[KBD][VID]>44 LIBRARY: ctos.lib VERSION: 11.0 (Saturday April 11, 1987, 11:12) COPYRIGHT 1980, 1987 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, INC. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. VERSIO.  kPointProc))) THEN( ??SEG SEGMENT EXTRN %CheckPointProc:FAR ??SEG ENDS) FI DD %CheckPointProc %IF (NOT(%ISDEF(%ReleaseProc))) THEN( ??SEG SEGMENT EXTRN %ReleaseProc:FAR ??SEG ENDS) FI DD %ReleaseProc %IF (NOT(%ISDEF(%SetImageModeProc))) THEN( ??SEG SEGMENT EXTRN %SetImageModeProc:FAR ??SEG ENDS) FI DD %SetImageModeProc) %' "tagProc" - used only with prior-to-10.0 format Samgens. %' (Included so such Samgens can still be compiled and used with 10.0 %' CTOS.) %' 10.0 and later SamGens use "tagProcs", a "tagProc" replacement which %' includes SetImageMode. %' %*DEFINE (tagProc(tagName,FillProc,FlushProc,CheckPointProc,ReleaseProc)) ( %IF (%tag EQ 0) THEN ( %DeviceOpen([SysIn],OpenByteStreamSysIn) %DeviceOpen([SysOut],OpenByteStreamSysOut) sTagProcs DW 17 tagTable LABEL DWORD) FI PUBLIC %tagName %tagName DB %tag %IF (%EQS(%tagName,tagVideoWrite)) THEN( %SET(tagVideoWriteVal,%tN: 11.0 (Wednesday April 15, 1987, 16:40) MX&E&uF+ƹ1&EFF&Z&U&E$<&E&F =wmtAN=rmYt=tmuFrmF =wmt =mmt=amuFmm FP^Sv^SvvF=uy~mmur^Sv^Sv^&w&&w$F=u ^Sv^SvPPF~u FP^Sv^SvvFFF t^G:P(F uy^&w:FP uF FuF^&G8Fs &G&G@~ tmuv^S^GPvP^GPPFF usF =rmt=tmuK^&G &G 5^;Modified: JJK/DMO 7/12/84 Add Gpam. Make semi-readable. ; PKD/DMO 12/18/84 Add PUBLIC pProcRoutine. ; DC 03/06/85 Make SetImageMode generic. ; DR 03/06/85 Add fSameLooks to BsVid ; PBC 12/30/85 Add MF 8251 tags %*DEFINE (Init) ( PUBLIC OpenTable,sTagProcs,tagTable,tagLast,deviceLast PUBLIC fDiskBsDef,DiskBsOpen,fSplBsDef,SplBsOpen,fGpamBsDef,GpamBsOpen DGROUP GROUP DATA %SET(DevNum,0) %SET(tag,0) %SET(segFlag,0) %SET(DiskFlag,0) %SET(SplFlag,0) %SET(GpamFlag,0) %SET(DevDepFlag,0) %SET(tagVideoWriteVal,0FFH) %SET(tagKbdReadVal,0FFH) %DEFINE (OpenProcDisk) (0) %DEFINE (OpenProcSpl) (0) %DEFINE (OpenProcGpam) (0) DATA SEGMENT PUBLIC 'DATA' xDisk LABEL BYTE ySpl LABEL BYTE zGpam LABEL BYTE ) %*DEFINE (DeviceOpen(DeviceName,OpenProc)) ( %IF (NOT(%ISDEF(%OpenProc))) THEN ( ??SEG SEGMENT EXTRN %OpenProc:FAR ??SEG ENDS ) FI %DEFINE(DevName_Gpam)(z%SUBSTR(%DeviceName,2,%LEN(%DeviceName)-2)) %DEFINE(DevName_Disk)(x%SUBSTR(%DeviceName,2,%LEN(%DeviceName)-2)) %DEFINE(DevName_Spl) (y%SUBSTR(%DeviceName,2,%LEN(%DeviceName)-2)) %IF (NOT(%ISDEF(%DevName_Disk))) THEN ( %IF (NOT(%ISDEF(%DevName_Spl))) THEN ( %IF (NOT(%ISDEF(%DevName_Gpam))) THEN ( %IF (%DevNum EQ 0) THEN (OpenTable LABEL BYTE) FI %SET(DevNum, %DevNum+1) DB %LEN(%DeviceName) DB '%DeviceName' DD %OpenProc ) ELSE ( %DEFINE (OpenProcGpam) (%OpenProc) %SET(GpamFlag,0FFh) ) FI ) ELSE ( %DEFINE (OpenProcSpl) (%OpenProc)  %SET(SplFlag,0FFH) ) FI ) ELSE ( %DEFINE (OpenProcDisk) (%OpenProc) %SET(DiskFlag,0FFH) ) FI ) %' "tagProcs" - used only with 10.0 and later SamGens. %' Earlier SamGens used "tagProc", which does not include SetImageMode. %' %*DEFINE (tagProcs(tagName,FillProc,FlushProc,CheckPointProc,ReleaseProc,SetImageModeProc)) ( %IF (%tag EQ 0) THEN ( %DeviceOpen([SysIn],OpenByteStreamSysIn) %DeviceOpen([SysOut],OpenByteStreamSysOut) sTagProcs DW 21 tagTable LABEL DWORD) FI PUBLIC %tagName %tagName DB %tag %IF (%EQS(%tagName,tagVideoWrite)) THEN( %SET(tagVideoWriteVal,%tag)) FI %IF (%EQS(%tagName,tagKbdRead)) THEN( %SET(tagKbdReadVal,%tag)) FI %SET(tag, %tag+1) %IF (NOT(%ISDEF(%FillProc))) THEN( ??SEG SEGMENT EXTRN %FillProc:FAR ??SEG ENDS) FI DD %FillProc %IF (NOT(%ISDEF(%FlushProc))) THEN( ??SEG SEGMENT EXTRN %FlushProc:FAR ??SEG ENDS) FI DD %FlushProc %IF (NOT(%ISDEF(%Chec/ ag)) FI %IF (%EQS(%tagName,tagKbdRead)) THEN( %SET(tagKbdReadVal,%tag)) FI %SET(tag, %tag+1) %IF (NOT(%ISDEF(%FillProc))) THEN( ??SEG SEGMENT EXTRN %FillProc:FAR ??SEG ENDS) FI DD %FillProc %IF (NOT(%ISDEF(%FlushProc))) THEN( ??SEG SEGMENT EXTRN %FlushProc:FAR ??SEG ENDS) FI DD %FlushProc %IF (NOT(%ISDEF(%CheckPointProc))) THEN( ??SEG SEGMENT EXTRN %CheckPointProc:FAR ??SEG ENDS) FI DD %CheckPointProc  %IF (NOT(%ISDEF(%ReleaseProc))) THEN( ??SEG SEGMENT EXTRN %ReleaseProc:FAR ??SEG ENDS) FI DD %ReleaseProc) %*DEFINE (DevDepProc(ProcName,ProcRoutine)) ( %IF (%DevDepFlag EQ 0) THEN ( %tagProc(tagSysIn,FillBufferSysIn,FlushBufIllegal,ChkptNop,ReleaseEasy) %tagProc(tagSysOut,FillBufIllegal,FlushBufferSysOut,CheckPointBsSysOut,ReleaseEasy) DATA ENDS SAMGEN SEGMENT PUBLIC 'CODE' xQueryVidBs LABEL FAR yQueryBsVid LABEL FAR SAMGEN ENDS %SET(DevDepFlag,1)) FI PUBLIC p%ProcRoutine DATA SEGMENT PUBLIC 'DATA' p%ProcRoutine DD %ProcRoutine DATA ENDS SAMGEN SEGMENT PUBLIC 'CODE' ASSUME CS:SAMGEN ASSUME DS:DGROUP %IF (%ISDEF(x%ProcName)) THEN ( QueryBsVid LABEL FAR PUBLIC QueryBsVid) FI %IF (%ISDEF(y%ProcName)) THEN ( QueryVidBs LABEL FAR PUBLIC QueryVidBs) FI ??SEG SEGMENT EXTRN %ProcRoutine:FAR ??SEG ENDS PUBLIC %ProcName %ProcName PROC FAR PUSH BP MOV BP,SP POP BP JMP DWORD PTR p%ProcRoutine RET %ProcName ENDP SAMGEN ENDS) %*DEFINE (CheckDef(tagCT)) ( %IF (NOT(%ISDEF(%tagCT))) THEN( %tagCT DB %tag PUBLIC %tagCT %IF (%EQS(%tagCT,tagVideoWrite)) THEN( %SET(tagVideoWriteVal,%tag)) FI %IF (%EQS(%tagCT,tagKbdRead)) THEN( %SET(tagKbdReadVal,%tag)) FI %SET(tag,%tag+1)) FI) %*DEFINE (Final) ( %IF (%DevDepFlag NE 0) THEN ( DATA SEGMENT PUBLIC 'DATA') ELSE (%tagProc(tagSysIn,FillBufferSysIn,FlushBufIllegal,ChkptNop,ReleaseEasy) %tagProc(tagSysOut,FillBufIllegal,FlushBufferSysOut,CheckPointBsSysOut,ReleaseEasy)) FI tagLast DB %tag %SET(tag,%tag+1) deviceLast DB %DevNum fDiskBsDef DB %DiskFlag DiskBsOpen DD %OpenProcDisk fSplBsDef DB %SplFlag SplBsOpen DD %OpenProcSpl fGpamBsDef DB %GpamFlag GpamBsOpen DD %OpenProcGpam %CheckDef(tagDiskRead) %CheckDef(tagDiskWrite) %CheckDef(tagDiskModify) %CheckDef(tagKbdRead) %CheckDef(tagVideoWrite) %CheckDef(tagLptWrite) %CheckDef(tagPtrWrite) %CheckDef(tagNul) %CheckDef(tagCommRead) %CheckDef(tagCommWrite) %CheckDef(tagCommModify) %CheckDef(tag8251Read) %CheckDef(tag8251Write) %CheckDef(tag8251Modify) %CheckDef(tagPtr8251Write) %CheckDef(tagSplWrite) %CheckDef(tagGpamWrite) PUBLIC bsVid EVEN bsVid LABEL DWORD DD 0 DW 0 DW 0 DW 0 DB 0 DB 0 DB 0 DB %tagVideoWriteVal  DB 0 DB 0 DB 0 DB 0 DB 0 DB 0 DB 0 DB 0 DB 0 DB 0 DB  0 DB 0 DB 0 DB 0 PUBLIC bsKbd EVEN bsKbd LABEL DWORD DD 0 DW 0 DW 0 DW 0 DB 0FFH DB  0 DB 0 DB %tagKbdReadVal DB 0 DB 0 DB 0 PUBLIC pPrepWriteMMD PUBLIC pPrepReadMMD pPrepWriteMMD DD ? pPrepReadMMD DD ? DATA ENDS END) /  byte streams. DO NOT call OpenByteStream with the * ; device spec "[Disk]". * ; * ; To add a user written byte stream for device Foo add the following line to * ; this section * ; * %' %DeviceOpen([Foo],OpenByteStreamFoo)  * ; * ; To omit disk and spooler byte streams delete the following lines from this * ; section * ; * %' %DeviceOpen([Spl],OpenByteStreamSpl) * %' %DeviceOpen([Disk],OpenByteStreamAD) * ; ;***************************************************************************** ; FILE SAMGENALL.ASM -- * ; * ; COPYRIGHT 1981, 1986 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED * ; * ; THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR * ; THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY * ; NOT BE COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF * ; CONVERGENT TECHNOLOGIES, INC. TITLE TO AND OWNERSHIP OF THE PROGRAM, * ; INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT * ; TECHNOLOGIES. * ; * ;  * ; The file "SamGen.Mdf" contains all of the macro definitions for the macros * ; which are contained in this file, "SamGenAll.Asm". The Sequential Access * ; Method (SAM) implementation contained in CTOS.Lib may be reconfigured by * ; creating a tailored SAMGEN module. First, the SAMGEN.ASM source file must * ; be edited to reflect the new configuration. After editing, the SAMGEN.ASM * ; file must be assembled and then the resulting object file, SAMGEN.OBJ, must* ; be included in the list of object modules at link time. Alternately, if the* ; new SAM configuration is to be the default SAM configuration, the Librarian* ; utility may be used to overwrite the SAMGEN module contained in CTOS.Lib. * ; The default SAM configuration contained in CTOS.Lib includes disk, * ; keyboard, video, parallel printer, null, and spooler byte streams. * ; In addition, the user may wish to include other byte streams, e.g. * ; communication or serial printer byte streams.  * ;******************************************************************************; $INCLUDE ([sys]samgen.mdf) %Init $EJECT ;***************************************************************************** ; The "DeviceOpen(deviceName,OpenProc)" macro defines an OpenProc routine to * ; be called when OpenByteStream is called with the deviceName specified. To * ; add an additional byte stream to the SAM configuration specified in this * ; file, add a DeviceOpen macro to this section, defining the new deviceName * ; and the corresponding OpenProc. To omit a byte stream, delete from this * ; section the DeviceOpen macro associated with the byte stream to be omitted.* ; To substitute a new byte stream for an existing byte stream, replace the * ; OpenProc parameter in the appropriate DeviceOpen macro with the new * ; OpenProc. To add, omit, or substitute byte streams also requires editing * ; the following sections of macros. Note that the deviceName "[Disk]" is a * ; psuedo name for disk 0  * ; To substitute synchronous byte streams for asynchronous byte streams * ; replace * ;  * %' %DeviceOpen([Disk],OpenByteStreamAD) * ; * ; with  * ; * %' %DeviceOpen([Disk],OpenByteStreamSD) * ; * ; If you know that you are going to use the 8251 chips on the MegaFrame, * ; then replace * ; * %' %DeviceOpen([Comm],OpenByteStreamC) * %' %DeviceOpen([Ptr],OpenByteStreamPtr) * ; * ; with  * ; * %' %DeviceOpen([Comm],OpenByteStream_8251) * %' %DeviceOpen([Ptr],OpenByteStreamPtr_8251)  * ; * ; And delete the DeviceOpen for [8251] * ;  * ;***************************************************************************** ; %DeviceOpen([Kbd],OpenByteStreamK) %DeviceOpen([Vid],OpenByteStreamVid) %DeviceOpen([Lpt],OpenByteStreamLpt) %DeviceOpen([Ptr],OpenByteStreamPtr) %DeviceOpen([Nul],OpenByteStreamN) %DeviceOpen([Comm],OpenByteStreamC) %DeviceOpen([8251],OpenByteStream_8251) %DeviceOpen([Spl],OpenByteStreamSpl) %DeviceOpen([Disk],OpenByteStreamAD) %DeviceOpen([Gpam],OpenByteStreamGp) $EJECT ;***************************************************************************** ; The "tagProcs(tagName,FillBufferProc,FlushBufferProc,CheckPointProc, * ; ReleaseProc,SetImageModeProc)" macro declares five * ; device dependent procedures to be called when the various device  * ; independent procedures (ReadByte and ReadBsRecord, Writebyte and * ; WriteBsRecord, CheckPointBs and ReleaseByteStream, and * ; SetImageMode) are called. * ;  * ; Note that "tagProcs" replaces an earlier macro called "tagProc", * ; in 10.0 CTOS and earlier. "tagProc" is still defined in SamGen.mdf * ; to avoid breaking existing user-customized SamGen files. Be careful * ; to use "tagProcs" exclusively in all new SamGen files, and never * ; to mix these two macros in a single file! * ;  * ; The tagName parameter is declared as a PUBLIC BYTE and is given a * ; value. This value is used to route the device independent calls to * ; the apppropriate device dependent routines. The appropriate tag  * ; should be declared as an EXTERNAL BYTE within the OpenProc procedure * ; and the tag byte of the BSWA should be assigned this tag value. * ; * ; To add an additional byte stream to the SAM configuration specified * ; in this file, add to this section a tagProcs macro for each access * ; mode associated with the new byte stream, declaring the five device * ; dependent procedures to 0  ************************************************************************* ; %tagProcs(tagDiskRead,FillBufferAD,FlushBufIllegal,CheckPointBsAD,ReleaseByteStreamAD,SetImageModeIllegal) %tagProcs(tagDiskWrite,FillBufIllegal,FlushBufferAD,CheckPointBsAD,ReleaseByteStreamAD,SetImageModeIllegal) %tagProcs(tagDiskModify,FillBufferAD,FlushBufferAD,CheckPointBsAD,ReleaseByteStreamAD,SetImageModeIllegal) %tagProcs(tagKbdRead,FillBufferK,FlushBufIllegal,ChkptNop,ReleaseEasy,SetImageModeIllegal) %tagProcs(tagVideoWrite,FillBufIllegal,FlushBufferVid,ChkptNop,ReleaseEasy,SetImageModeIllegal) %tagProcs(tagLptWrite,FillBufIllegal,FlushBufferLpt,CheckPointBsLpt,ReleaseByteStreamLpt,SetImageModeLpt) %tagProcs(tagPtrWrite,FillBufIllegal,FlushBufferC,CheckPointBsC,ReleaseByteStreamC,SetImageModeC) %tagProcs(tagNul,FillBufferN,FlushBufferN,ChkptNop,ReleaseEasy,SetImageModeIllegal) %tagProcs(tagCommRead,FillBufferC,FlushBufIllegal,CheckPointBsC,ReleaseByteStreamC,SetImageModeC) %tagProcs(tagCommWrite,FillBufIllegal,FlushBufferC,Chbe used when a device independent procedure * ; (ReadByte and ReadBsRecord, Writebyte and WriteBsRecord, CheckPointBs, * ; ReleaseByteStream, and SetImageMode) is called. In some cases not * ; all five entries will apply. For example, if SetImageMode does * ; not apply, use the name SetImageModeIllegal. To omit a byte stream, * ; delete from this section all the tagProcs macros associated with the * ; byte stream to be deleted. To substitute a new byte stream for an * ; existing byte stream, replace the five device dependent procedures * ; declared in the tagProcs macros with the new procedure names. To add, * ; omit, or substitute byte streams also requires editing the previous * ; section of macros and the following section of macros. * ; * ; To add a byte stream for device Foo, which can be opened with mode * ; read or mode write, add the following lines to this section: * ; * %' %tagProcs(tagFooRead,FillBufferFoo,FlushBufIllegal,CheckPointBsFoo,ReleaseByteStreamFoo,SetImageModeFoo) %' %tagProcs(tagFooWrite,FillBufIllegal,FlushBufferFoo,CheckPointBsFoo,ReleaseByteStreamFoo,SetImageModeFoo) ; ; To omit disk and spooler byte streams delete the following lines ; from this section: ; %' %tagProcs(tagDiskRead,FillBufferAD,FlushBufIllegal,CheckPointBsAD,ReleaseByteStreamAD,SetImageModeIllegal) %' %tagProcs(tagDiskWrite,FillBufIllegal,FlushBufferAD,CheckPointBsAD,ReleaseByteStreamAD,SetImageModeIllegal) %' %tagProcs(tagDiskModify,FillBufferAD,FlushBufferAD,CheckPointBsAD,ReleaseByteStreamAD,SetImageModeIllegal) %' %tagProcs(tagSplWrite,FillBufIllegal,FlushBufferAD,CheckpointBsAD,ReleaseByteStreamSpl,SetImageModeSpl) ; ; To substitute synchronous disk byte streams for asynchronous disk byte ; streams replace: ; %' %tagProcs(tagDiskRead,FillBufferAD,FlushBufIllegal,CheckPointBsAD,ReleaseByteStreamAD,SetImageModeIllegal) %' %tagProcs(tagDiskWrite,FillBufIllegal,FlushBufferAD,CheckPointBsAD,ReleaseByteStreamAD,SetImageModeIllegal) %' %tagProcs(tagDiskModify,FillBufferAD,FlushBufferAD,CheckPointBsAD,ReleaseByteStreamAD,SetImageModeIllegal) %' %tagProcs(tagSplWrite,FillBufIllegal,FlushBufferAD,CheckpointBsAD,ReleaseByteStreamSpl,SetImageModeSpl) %' %tagProcs(tagGpamWrite,FillBufIllegal,FlushBufferGp,CheckPointBsGp,ReleaseByteStreamGp,SetImageModeIllegal) ; ; with ; %' %tagProcs(tagDiskRead,FillBufferSD,FlushBufIllegal,CheckPointBsSD,ReleaseByteStreamSD,SetImageModeIllegal) %' %tagProcs(tagDiskWrite,FillBufIllegal,FlushBufferSD,CheckPointBsSD,ReleaseByteStreamSD,SetImageModeIllegal) %' %tagProcs(tagDiskModify,FillBufferSD,FlushBufferSD,CheckPointBsSD,ReleaseByteStreamSD,SetImageModeIllegal) %' %tagProcs(tagSplWrite,FillBufIllegal,FlushBufferSD,CheckpointBsSD,ReleaseByteStreamSpl,SetImageModeSpl) ; ;****1 eckPointBsC,ReleaseByteStreamC,SetImageModeC) %tagProcs(tagCommModify,FillBufferC,FlushBufferC,CheckPointBsC,ReleaseByteStreamC,SetImageModeC) %tagProcs(tag8251Read,FillBuffer_8251,FlushBufIllegal,CheckPointBs_8251,ReleaseByteStream_8251,SetImageModeC) %tagProcs(tag8251Write,FillBufIllegal,FlushBuffer_8251,CheckPointBs_8251,ReleaseByteStream_8251,SetImageModeC) %tagProcs(tag8251Modify,FillBuffer_8251,FlushBuffer_8251,CheckPointBs_8251,ReleaseByteStream_8251,SetImageModeC) %tagProcs(tagPtr8251Write,FillBufIllegal,FlushBuffer_8251,CheckPointBs_8251,ReleaseByteStream_8251,SetImageModeC) %tagProcs(tagSplWrite,FillBufIllegal,FlushBufferAD,CheckPointBsAD,ReleaseByteStreamSpl,SetImageModeSpl) %tagProcs(tagGpamWrite,FillBufIllegal,FlushBufferGp,CheckPointBsGp,ReleaseByteStreamGp,SetImageModeIllegal) ; To add 1/2 inch Tape or Qic bytestrems, remove the leading percentsign-quote ; from the folloing lines: ; %' %tagProcs(tagQicRead,FillBufferQic,FlushBufIllegal,ChkptNop,ReleaseByteStreamQic,SetImageModeIllegal) %' %tagProcs(tagQicWrite,FillBufIllegal,FlushBufferQic,chkptNop,ReleaseBytestreamQic,SetImageModeIllegal) %' %tagProcs(tagTapeRead,FillBufferTape,FlushBufIllegal,ChkptNop,ReleaseByteStreamTape,SetImageModeIllegal) %' %tagProcs(tagTapeWrite,FillBufIllegal,FlushBufferTape,chkptNop,ReleaseBytestreamTape,SetImageModeIllegal) ; $EJECT ;***************************************************************************** ; The "DevDepProc(devDepCall,devDepProc)" macro declares a routine devDepProc* ; to be called when the device dependent routine devDepCall is called. This * ; macros allows for substitution of alternate routines to handle any device * ; dependent byte stream routines defined (such as QueryVidBs, GetBsLfa, * ; SetBsLfa, or SetImageMode) or the omission of any device dependent routines* ; not needed. * ; * ; To substitue synchronous disk byte stream implementations of the device * ; dependent routines GetBsLfa and SetBsLfa for the asynchronous * ; implementations, replace * ;  * %' %DevDepProc(GetBsLfa,GetBsLfaAsync) * %' %DevDepProc(SetBsLfa,SetBsLfaAsync) * ; * ; with * ; * %' %DevDepProc(GetBsLfa,GetBsLfaSync) * %' %DevDepProc(SetBsLfa,SetBsLfaSync) * ; * ; To omit the device dependent routine QueryVidBs delete the following * ; line  * ; * %' %DevDepProc(QueryVidBs,QueryVideoBs) * ;  * ;***************************************************************************** ; %DevDepProc(QueryVidBs,QueryVideoBs) %DevDepProc(GetBsLfa,GetBsLfaAsync) %DevDepProc(SetBsLfa,SetBsLfaAsync) %DevDepProc(SetImageMode,SetImageModeBrn) %Final eas samgenall CTAsm 11.0*??SEG??SEGDATADATASAMGENCODEDGROUPhhAh$SpSetImageModeBrntagTablec tagPtrWritepGetBsLfaAsync tagSplWriteSetBsLfaS tagGpamWritetagNul sTagProcsa fGpamBsDef tag8251Write_tagLast- SetImageModeGetBsLfa QueryBsVid/ pPrepReadMMD= tagDiskReadc tagSysOut QueryVidBsf DiskBsOpentagPtr8251Write pQueryVideoBs tagCommModify5 tagKbdRead tagVi1   V!V! U]. AGK VVV V VVGW6t$t <<>]D tt0Q\;dCopyright 1987 Convergent Technologies, Inc. All rights reserved.Ver 11.0 Linker 11.0^x&@MgtQ_m"'O}HNfB f( 2 < F R _ f j deoWritebsKbd( tagLptWrite pPrepWriteMMD9 tagCommRead bsVid  deviceLasttagSysIn tag8251ReadJ fSplBsDef tagCommWrite  SplBsOpen OpenTable fDiskBsDef tagDiskModify tagDiskWritex GpamBsOpenpSetBsLfaAsync tag8251Modifyt^ReleaseByteStreamLpt CheckPointBsCOpenByteStreamGpSetImageModeIllegalOpenByteStreamCFlushBufferLptFlushBufferVid FillBufferNFlushBuffer_8251ReleaseByteStream_8251OpenByteStreamSysOutFlushBufIllegal FlushBufferGp FlushBufferNFillBufIllegal ReleaseEasyCheckPointBsLptSetImageModeLptCheckPointBsSysOutFillBuffer_8251 FlushBufferADReleaseByteStreamCOpenByteStreamKReleaseByteStreamSplReleaseByteStreamADOpenByteStreamSplOpenByteStreamNCheckPointBsADOpenByteStreamADCheckPointBs_8251FillBufferSysIn FillBufferCSetImageModeBrnFlushBufferSysOut QueryVideoBs GetBsLfaAsync FillBufferK SetImageModeCOpenByteStreamVidReleaseByteStreamGp FlushBufferC FillBufferADOpenByteStreamLptOpenByteStreamSysInChkptNopCheckPointBsGpSetImageModeSplOpenByteStreamPtr SetBsLfaAsyncOpenByteStream_8251[Kbd] VV [Vid] V'V'[Lpt] V+V+[Ptr] V0V0([Nul] VV2[Comm] V V=[8251] V2 V2H[SysIn] V, V,T[SysOut] V V d V*V*h V V l VVp VV t VVy VV*}IVVVVV V VVV*V*VVVVVV!V#V V%V%V V  V-V-VVVV V V)VVV-V-V V VVVV VV VV VV VVVV V)V) VV VV  V&V& VV!VVV-V-V V VVC  yV V V V V V VVV&V&VVV)V)VV!V#V%V&'V&*V ,V .V)0V)2V4V6V8V:V&tP ,]U~u]UFPFP"V^&?{t@&?[uP6:t. FPQSVSVQ^[Y=Xt ],N~] t&<@^&G ]UQF =wmt =mmt"6wmP'BD^&G ]U^&G :t ^&BSP(]UQ^&^ &&W^&G :t >S)]U^&G :uBSv* ]UQF :r10^&Fr^&0FFF 10^v&F@]U vvFPF^SvP}F^&:F@F^PvPXFF^&:F@F^PvP0FF]U^&<{t<[tFFF^&^&?{u>}N u+JV s\tWNAv~^YF@^&^v&48Z ^& ~]N 2  G F]U ^&G :v^& !Vnjޱ;u$:u3"r,PPPRPQwmWRPQF u^&G :u BFFFFN F;w~t^&W&;WrS^ R+QFPFT^&G&+GFV N+;sV^&FF^ v0~&}^9N^Y^F&GFFcF^&F]U^&G :v ]U^&G :v ^&G ]U^&]U^&]U]URPPFPDF uK~tE^&t6G^&G&vH^&@]U uPPP/\F u{&G < r < wfrHF sFF FFF uDPPP/\F uo&G ^ &:GwY^ &GX ^F&G;FsF^ &GPP^&GȴP^SvF tn<~u8F^ &OQP^&OɵQPvDFF tUV~uF~ t~uF r~t4FPFP6FF^&~uq븋F] U^ SP^Sq]U^ SPu+JVuF HN;v9@N +^vp^~&=9^YF@N +^&CFPF u^&O@wA^~&=9^Y^&G@^&^v&48e^&v&4^P^&wg&we^&^v&48g^&]U ^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uI^ &k]u+JBV^ GkPRPPP^S|PkPP] U^&G F =wmt =amtI~]Nu+JV^SBRPPFPQ؍GPQF!t=uF~^&Gi^GePF^kvNFYF^&^S^Sv^SFPfF uF~u;^SvRPPRPF=u^v&xF^&Gi뾋F u9^SFPvRQWv PvF u ^&G ]U ^&G :t (^&G ^S\F u^&FF^SGkPF&P^SFPpF u^&Oit^v8x^&GiF^S^SvuF tM^G8P^SvRPPmmPF u"^&w8F t^&w8 FF]U^&G :t F^&Gj]UF~SF =wmt=amuF~]Nu+JV~&Nu+JVu F@;Fs F@;Ft ~s }~u^&GM&_O^&GL&^v@^&GMZ&WOF@N+^&OL^S^Sv^Svv ^SvF u |^&G ]U^&^&G :|t ^S^ Sv ^S<]U^&G :|t ^Svd]U^&G :|t ^S+ ]UQ^ &G :|t m~ wA^ .^ &G=)^ &G.^ &G/!^ &GB^ &GDFF^&] U^ &G :|t l~ wH^.(ffffBfNZfffkwF^ &G=3F^ &G.'F^ &G/F^ &GB F^ &GD]U^&G :|t F^&G1]Up~F =amt=wmt=rmt=tmt =mmt&^&G F^&Z&WF^&G]U^&^&G :t ^&GN ^&]U^&^ &&W^&G :t ]UF 1F1FF1Vu FFmFm1FF1VF1F ;vN^㋇~;FvNFF^&F 1^&W^&8Os&^F+~@^&GF1^&WF <1^&WF 1F1^&WF 1º PF1Y^&G]UQ^&G :=tSv^ S^Si<^SFP9F u'^Sv^ S^SiF=^&G F]U^&G :v^& 6$Vnjޱ;u$:u34r,$PPPRPQrmWRPQF u^&G :u >FF^&G s<&G s4~u ^&"^&G ^G ^ &Z&W^&}^&G&;Gr$Sv^ S^S.F uX^&?uL^&G&O+;FsFF^&^&FFv&t^^ &Z&W^F&G]U FFN F;vB~u<^S+QFPFPF^ v8vNFYFF봋F^&F]UQ^&G :=tS^ Sv ^S<^SFP5F u'^S^ Sv ^SF=^&3 ^Sq]U^ &G :gt x uPPP/\F uV&G < rL< wH^&^&G^&GP^&G^&G^&G^&G^&GA^&G6 uDPPP/\F u&G ^ &:Gw^ &G@ FF^ &G^&^&G^&G^&G^&G^&G^&G^&G^&G^&8G uA^&O^&8G u@^&G^ &GA^&G^ &G^&G]U^&^ &&W^&G :t ^SF uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w: F t@^&G-F]U^&GFrF@1V^&G&G &W"FV&G-sG<PFP F^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF]U6PT6P u%666P4 u6=t=!t3]Uv&D :s2&؋:u] ]Uv&D :s2&؋:u] ]Uv&D :s2&؋:u]  ]Uv&D :s2&؋:u ]X[QSP ]Uv&D :s2&؋:u]$ ]UQv&D :sB2&؋:u0VQFvV&D 2&؋ ~t F Y]U^ &G :=tWSvvn(^ &G ^ SvvFNs=u8^ SFP~u#=^ &G ^ &dt@Fs률=^ &G F]U,^ &G :r^ &G :tw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns.^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sSF u^ &G-sG<PFP F^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFPF u5F^ &G^ &G :(t :t^ SPF t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sS[F tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ SP($F u^ S[F uy^ &G ts&w8&SP^ &w"&w G<P^ &w: F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Ytj&w8&SP^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :t ]U^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSP($F u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uY^&G*1V+^0^~&}*9^Y^&G*H14^SP$F u/v&|*&L+^9 ^&G*&G^&G,]UQ^ &G :=t S^S>6^ &du(^ &G ^ S^SF=^ &G F]U^&G :r^&G :(t:u^&G&G &W"^&&Wc^&G :uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :u^&&G ]UQ^&G :=t SvY6^&du(^&G ^SvYF=^&G F]U^&G :(t :t^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP($F u^&uS[F t^&w8&S^&w&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2^Sv($F Yu0^&w8PGPP ^&G :u ]U ^&G :=uC&du ^&du(&G ^&G-sN&G :u/G<PFP 0^&G :(t:t:t f^G<PFP F^&w:FP u ~u~u^&w8 F^&w:)F^&G F uF]U <r"3  F~FuFF  PFߴPMF1^&w FuP u$>t&G>t>t]ð]U#U$VWQ^SY_^F^OGG w 3GGG؉GGGFG F GFGFGFGFGPS]UU^ SG PPFP[#uMG~&wdr/^ F%;u^ ^ FF;tX F ;FuX]U].]UQQ^ &dt[SFP ^& uW^ &du&G-sG<P^S ^&^ SwmPvv4^& u(^ &G ^&]UQQ^ &Gd<tO<uSP^& uI^ SFP ^& u0^ SrmPvv4^& u^ &G ^&]U ^&^SP($F t^&G t~&w8&SP^&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G,]U ^&G :(t :t F^&G-rG<PFP F^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSv$F tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^SP$F u]U^&G :(t :t ^&G&WFV&O&O &"N~;u;wN~Fs FF%<FvvP\FF tN+ȺNV^&w8vv F=uu!FPF u ~ r uDPPP/\F t^&GF&8G w ]FX ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF tX FFF ;FwD FrF9F w^ &FF^&O&@^&G^&w FA:r uF F t ^ &?TNt4}F &G^ &O>F u+J u s4ЉF V4^ &G6 &^&Z&W] UQ^&G &w8 F^&G:t P)FF]Uj9;n57~eF1F1F1F;s PF^&GZ&WvF&MX&E&uF+ƹ1&EFF&Z&U&E$<&E&F =wmtAN=rmYt=tmuFrmF =wmt =mmt=amuFmm FP^Sv^SvvF=uy~mmur^Sv^Sv^&w&&w$F=u ^Sv^SvPPF~u FP^Sv^SvvFFF t^G:P(F uy^&w:FP uF FuF^&G8Fs &G&G@~ tmuv^S^GPlvP^GPPFF usF =rmt=tmu^&G &G 5^&G&G~ mmu=&O FV(^&G FF^SvvF t ^SP+]U~ ]Nu+JVt)F^F9Fv@^ &80r ^ v&89vz^ ^ v&0^F븡z xuDPPxP/\F uKx&G ^;v ^xX ^F&u^& u@^] UVnjޱ;u$:u ^&GZr~F =amt =wmt?v tuPPtP/\F u~t&G < r<wg^&G _^SvFPFPrF uEg^&G F^&GFsF^F^S^SvFP3]UFf]UFV v]UFV v]UFV%]U+Zr tH]U+ZrH]U3 &L&;Wt]U vPFPPF uxFV^&&W~u~tYFuRFVFV)F^v^ SPvvFP#F u^ &?Gu&G &W^&&W] .objWrap Yy[!Scr]$$.Tmp=\z2Q[KBD][VID]Press NEXT PAGE or SCROLL UP to continuet(Press NEXT PAGE to continuet       VNVF11.04  [Kbd],[Vid]T[Lpt][Nul][SysIn][SysOut]>6H$$H$Ha,6H$<H$1WZH$$ 6 $|= 6L [sys]LptConfig.Sys>tt5  LIBRARY: ctos.lib VERSION: 11.0 (Saturday April 11, 1987, 11:12) LIBRARY: Wrap.lib VERSION: 11.0 (Thursday April 16, 1987, 23:44) COPYRIGHT 1980, 1987 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY NOT BE COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT TECHNOLOGIES, INC. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES. VERSION: 11.0 (Thursday April 16, 1987, 23:41) ^ &O1^ &G4^ &GL] V ̌V̤VԆ\Ԡ3OU^&tFFćnV^;u$:tF@FcrĸP빋F؃rt PF؋t^&GFLJr^SP|FF؃rtF@FcrP؋FLJrFnp&Lt&D^&G^&_^F&^Ss]3$YVkuVąė̡V ̧VľVN5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)6 NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)7 NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)8 NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)9 NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y): NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y); NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)< NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)= NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)> NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81  Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)? NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)@ NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)A NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)B NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)C NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)D NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)E NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)F NNȥ<05WT^ݗX'jh '5 0{n-xZ!ƬcYպ0>:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)Ne겖Õ5!W:%T^dXͿ DX暅 '/{Vn-r:&!Ĭc'0<,IdtK~}xD_Vqo<-3k%sBM <./FauPǗvR|o+BJ\r;&+6g \9$m( -ay^6EZp7񴷋𽳸"ı|'sFeHj*ZD[$ Ho2\ CV-:s)@@+DT]I?qB6QLf{i AJHyidLhRɡ,MvUw+Z>9!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=819!L߄bh 9@ Gj&M rA1Lϖ CSz/ik/흡(ȂꑔSE`0Ƥ;h. -O|m#l#Ju L4| m>!=8?<,1[ꀖY}r=N5 4'ƌb5:W"ZTū^EZXƿ^AE[ˠ'`s{CnQ-!}ctE]0)It~Kx~Y}x_q<3%\y]#/k̊uPa釔E]Ԙ$\[&ŜgO 9$ƻޮYm(a'6p[7@CQ"|sFe* 7D[tE ]Ho2p1 CVF`:)uI+q5] B?NBQ5 f<. ~Jyy^d9!hPRڡC,RvU w(Z 1biJuL~@yG^j5 /M?=r4ALHl zi"k\Ν!;)SLE`|m%;U.RO~xl\#ζ!Gf 4 >=81:I&tK~}|xn_(q<3%y]'~vP/tHkuP1h 6U\\&9 g 69$Gcm(a{h 6?=H8iF1a}uLYļۯNo,YȌÔ5W4T^Xx[˓Յ-'r:%{n-蝏k!c??0?;+ItHKj~}ax_q< 3&%Ǒؙ</뎗/̔uPJsAIq7vNa\z&fg g9$Pm(laY6p7Hh 5 :%"k|sFea*yDa[ H{oh2 3 CV赉r:>)7+c]l? BQ&f ЧJSyd"[hRtE,\vU w:Z$ɵ#߳bԳ'ƥ@cGjwS(MȈ鯏rAL)Ζ*2zivkNKwUYSE`f;.tHOkzlf#Y 4 ><=-8k1vNƶ呀ه?=Y4NvRa5WvQT^aX鿎斅'k{n,-V|!p0c08ItK~t}Fx`_kq<3g%NꉙxX͚/̽uPc~zdۘGe\&'g 9$ٻ=4m(%Ϲa%캣6AFp^79l"|sFe4*D[SΠ $Ho2 (CV鵎:)l+]e?BQKfwU MJydhR,vUw7Zjm$bT=4%@Gjb서IMm"r_ALR /zkik{i DT@BSNE`?<0;.홨O)l#MV x4X >=8[Ȣ1ր2YNۉNvPr<.5W.穆T&^XkхW'ʜO{n-Oҍ!Ŭc@AI0q5 IEtZK~}+x_?=8%1 8YėNҍȉﰲtGe5WXTS^+XۿHk|n'){|nn-(ȏҞ!c0 2ItKq~6}xR_ qE<[3%뙛 2x/XOuP蔌뾞9 \!&Mg 9$kvmQ(a @6CPp7<.鸐""|UsFYe*D<[- nH&o2 zCbV뵘:).+ޒ]W?BQzef [Jyd}r>:h%RD,WvUw1Z'bϼN@nG'jք.MrAL5 9!zMik+6HjSh E0`綊ܤO;.sOBKyla#綃ܷP 4j >_=8M1y`vPYcNͲ5W(ɩT^ݐXԿ%¼ѯo+مAG'f{in-M聏ү!o+cCS0/ItlK~}x_qZ<3*%DžꜙS͉/uIq8uPg랛 2\Ӯ&j]g +9$4mv(Pϐa$쵣6p)7 <.龏θ 0"|sFeU*MD[ H_o2N C/V쵝f:) 7+s]CP?BQzcf 4JytdF_߭_hXR,vUow.ZɉtGg'bx[ʥ@GjuKwUM\ͯrA\L̓ >:&zik </낙SE`ùѤ;{.h,Oߒ\l #4uM 4 >=8ߢ[1ƺ奀=3Y)G G  H H  I I  J J  K K  L L