%**20E0007D.BCKTMPHy20E0007D.BCKTMP8BACKUP/GROUP=100/BLOCK=4608/LOG *.* 20E0007D.BCKTMP/SAVE OSUDAR G@1 C:\NC.TMP" OPEN "C:\NC.TMP" FOR INPUT ACCESS READ SHARED AS #1 INPUT #1, FLINE INPUT #1, FLINE CLOSE #1 KILL "C:\NC.TMP" UNAME = MID$(FLINE, 32) INPUT "Name of folder to be moved from VMS to Pegasus"; FOLDER IF LEN(FOLDER) > 8 THEN FOLDER = LEFT$(FOLDER, 8) OPEN "C:\SET{PMI}.BAT" FOR OUTPUT ACCESS WRITE SHARED AS #2 PRINT #2, "@SET PMUSER="; UNAME PRINT #2, "@SET FOLDER="; FOLDER CLOSE #2 SYSTEM )*[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.EXE;13+,[T./G@ 4-|[0123 KPWO56-[>_7K1`89GG@HJ0D`0205Z>_B0MAILEXTR01Z>_05-13   B N ?S    ?+! FDLSHR_001E!d FORRTL_001Q! MTHRTL_001! LIBRTL_001)17-NOV-1858 00:00:00.0031-DEC-2999 23:59:59.99File,folder{,internalname{,startdate{,enddate}}}: ,MAIL.MAIRECORD; CARRIAGE_CONTROL NONE; FORMAT STREAM;Extracted !UL message!%S!ASMDate: !AS, !UW !AS !4ZW !2ZW:!2ZW:!2ZW !AS!8XL!8XL Done; extracted !UL message!%SRequired parameters are missing!Invalid start time!Invalid end time!Failed to open mail file!Failed to open mail message file!Failed to create output file!Read error on mail file!Processing VMS MAIL file: SYS$DISK:[]Pegasus file will be: .MAI;1MAIL$Failed to find message file: From: To: Subject: CC: -0600 (CST)-0500 (CDT) :FROM:TO:DATE:SUBJECT:CC:PD$20E0007D.BCKTMP[T|[)[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.EXE;137WB  ;;cJanFebMarAprMayJunJulAugSepOctNovDecMonTueWedThuFriSatSun++* ;PF02H,{DL{`h{|{ .Ԟ . <} "ĝĝĝ  -̟ԟܝԝ$D  * +ܠ"̝ ̝̝H t"̝̝̝С DTܝܝĢ  $@ *PK`_pqܝܝ  PT $$d`+d`+-`  %%(%<%D%X%+l%+%+%+%+% %%`20E0007D.BCKTMP[T|[)[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.EXE;13[  %%%m[^ЫpxtlXxxˈˀX˔\Pkk1+ 1# 2WWˤx˨˴4PX1X\,\x zX\\PPXWRRHxXPPYYWIxYPP\\WLx\PPXVWZYXR,RHx ~1XYPpYXQ,QHx ~\YЭXЭZYV1Y\Y ЭZ YV\Zѭ\/Lxpx$Pkk1fR\RR4Lx8pxD<Pkk1v­WWTЭTDxXxxd\Pkk18VUEx"VZ\Lx"\ZVZVZVZUUVVZ,ZFx U 2YYtzx˄P1O2WWzP1\W^(WznWV^(&nVZZZ\^ $\^YYЭYXݏ.PMMY^(Y~nYZZ\ ^( n\ ZZ,ZX^0< X^PkV« ^( nЫ Y^(nYZZPZV^TX>V^k1E`,~pxplm߫  tphxtxh\l\1xxYiphZj˼dh1QxhRbRRS-~ Syh1hUeUU@1֭phVfphXh+Fū\Lx2x 2xYYIx2x(2x,2x02x4 PÏ@ ZZ<h@DhTdTT1KhRbdhSchTPV^(n^(n^(nlV^pWtzx| V^˘ 2XX˨|ˬ˰ P1hZjhYiP\^(bn^(n^(Un\^Wzg \^  r20E0007D.BCKTMP[T|[)[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.EXE;13|2VV0|48< P1u~8 ߫  \`\   dhl x|ˀˌ 1YV^(V|nVZ^(hnZ\\˴\Y^˸˼Y^ ѫ'Ы zѫ'Ы  $(,M{u~~h˘˔ ߫  ˜ppˠ˜  0 XXˤp˨ˬ- 8Lխ5 Z ZZ'Э˜ˌP2\\ˤ˨ˬ A~L ߫ 2 ˴ph˸˴  1vX ` p!|PkЭ˜ˌP2RRˠˤ˨ 1     kSѫ+Ы,( @DH ЫSѫ+ЫTP hlpq ЫSɏSk2W $K ˸? ЏHkkk|x@P j[}PQPR<PPSRQA kRRS hj[ЬP@P`VVQ2QWV1QaX<VP2PQQ(;2VPQAStU,Pc Uo1X3W\M2VPQAS?U,Pc U4vX; VP2PQQ!( 2VPQAS U,Pc U6X/W2VXP@RT,Xb TW `i[}PQ PR<PPSRQA  kRRS|@[ЬQaQ2QVP@P(V` V޼ $V(,S>c80 UeU2U[^}PQPkVWV6VVP2PY.QAg(1ԭ2VYVZZTVTRS,TF RCgSZVVY3XS+T,YF SDXXX X H|([Ь} PQмV,n >P PPP\\\\\4PPK2SSV7V& *2RVRRRV ( ) ( (|[}PQPk޼Rb1ahHPSS9>xt4SPcbˀ|PSSPˈ˄PSSP[iP`XQaռ  ^Pм `k[kt[P@@ (@@8 px x x@ @FDLSHRFORRTLMTHRTLLIBRTL)*[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.FOR;34+,[.!/G@ 4I! -|[0123KPWO"56A,Q>_7<`89GG@HJ20E0007D.BCKTMP[|[)[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.FOR;34I!E PROGRAM MAILEXTR IMPLICIT NONECFC MAILEXTR -- extract mail message headers and text by folder and date*C into a Pegasus Mail folder file (.PMM)CGC Usage: MAILEXTR mailfile,folder{,internalname{,startdate{,enddate}}}C2C Output file is .PMM in current directoryCCC "internalname" is the Pegasus Mail internal name for the folder; 2C default is the same as the VMS MAIL folder name.CIC Default dates are from beginning of time, to end of time (well, almost)C STRUCTURE /MAILREC/ UNION MAP INTEGER*4 DATIME(2) BYTE KEYLENGTH CHARACTER*39 KEY INTEGER*2 FLAGS BYTE FLAGSIZ CHARACTER*4 FLAGVAL BYTE HDSPARE UNION MAP" INTEGER*4 DATID(2) END MAP MAP# CHARACTER*8 DATA_ID END MAP END UNION BYTE DATA(1984) END MAP MAP CHARACTER*2048 STR END MAP END UNION END STRUCTURE RECORD /MAILREC/ BUF,TBUF STRUCTURE /QUAD/ UNION MAP INTEGER*4 L(2) END MAP MAP CHARACTER*8 S END MAP END UNION END STRUCTURE RECORD /QUAD/ STIME,ETIME# CHARACTER*512 CMD,MAILFILE,TMPFILE INTEGER*2 LCMD,LMF INTEGER*4 STAT,STS,STV2 INTEGER*4 LIB$GET_FOREIGN,LIB$CONVERT_DATE_STRING% INTEGER*4 RMSBLK_CREATE,RMSBLK_CLOSE CHARACTER*40 FOLDER CHARACTER*128 INTERNAL& INTEGER*4 L,LF,LI,IX,IY,IZ,IW,IIB,IIE CHARACTER*32768 LINE CHARACTER*16 IDVAL INTEGER*2 TIMEVEC(7) CHARACTER*3 MON(12)F DATA MON/'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct', 1 'Nov','Dec'/ CHARACTER*3 DOW(7)4 DATA DOW/'Mon','Tue','Wed','Thu','Fri','Sat','Sun'/ INTEGER*4 NDOW INTEGER*4 TTEMP(2),NULLSTR(2) DATA NULLSTR/0,0/& CHARACTER*256 FROM,TO,SUBJECT,CC,DATE' INTEGER*4 LFROM,LTO,LSUBJECT,LCC,LDATEF COMMON /HEADERS/ FROM,TO,SUBJECT,CC,DATE,LFROM,LTO,LSUBJECT,LCC,LDATE CHARACTER*11 ZONE INTEGER*4 INHDR INTEGER*4 LFT INTEGER*4 NEXTR DATA NEXTR/0/ CHARACTER*80 FAOSTAT INTEGER*2 LFS,LTF& INTEGER*2 DFLT_STIME(7),DFLT_ETIME(7)$ DATA DFLT_STIME/1858,11,17,0,0,0,0/( DATA DFLT_ETIME/2999,12,31,23,59,59,99/C1 CALL SYS$BINTIM('17-NOV-1858 00:00:00.00',STIME)1 CALL SYS$BINTIM('31-DEC-2999 23:59:59.99',ETIME) STAT=LIB$GET_FOREIGN(CMD,= 1 'File,folder{,internalname{,startdate{,enddate}}}: ',LCMD) IF(.NOT.STAT)GOTO98 IF(LCMD.LE.0)GOTO98 IX=INDEX(CMD(1:LCMD),',') IF(IX.EQ.0)GOTO90 MAILFILE=CMD(1:IX-1) LMF=IX-1 IY=INDEX(CMD(IX+1:LCMD),',')+IX IZ=INDEX(CMD(IY+1:LCMD),',')+IY IW=INDEX(CMD(IZ+1:LCMD),',')+IZ IIB=IX+1 IIE=LCMD IF(IY.EQ.IX)THEN LF=LCMD-IX FOLDER(1:LF)=CMD(IX+1:LCMD) ELSE LF=IY-IX-1 FOLDER(1:LF)=CMD(IX+1:IY-1) IF(IZ.EQ.IY)THEN LI=LCMD-IY IF(LI.EQ.0)THEN IIE=IY-1 ELSE IIB=IY+1 ENDIF ELSE IF(IZ.EQ.IY+1)THEN IIE=IY-1 ELSE IIB=IY+1 IIE=IZ-1 ENDIF IF(IW.EQ.IZ)THENG STAT=LIB$CONVERT_DATE_STRING(CMD(IZ+1:LCMD),STIME,,%REF(127), 1 DFLT_STIME) IF(.NOT.STAT)GOTO91 ELSEG STAT=LIB$CONVERT_DATE_STRING(CMD(IZ+1:IW-1),STIME,,%REF(127), 1 DFLT_STIME) IF(.NOT.STAT)GOTO91G STAT=LIB$CONVERT_DATE_STRING(CMD(IW+1:LCMD),ETIME,,%REF(127), 1 DFLT_ETIME) IF(.NOT.STAT)GOTO92 ENDIF ENDIF ENDIF IF(CMD(IIB:IIB).EQ.'"')THEN IIB=IIB+1$ IF(CMD(IIE:IIE).EQ.'"')IIE=IIE-1 IF(IIB.GT.IIE)IIE=IIB-1 ENDIF LI=IIE-IIB+1 INTERNAL(1:LI)=CMD(IIB:IIE)9 OPEN(UNIT=1,FILE=MAILFILE(1:LMF),DEFAULTFILE='MAIL.MAI',5 1 TYPE='OLD',READONLY,SHARED,ORGANIZATION='INDEXED',: 2 ACCESS='KEYED',FORM='FORMATTED',RECORDSIZE=2048,ERR=93) INQUIRE(UNIT=1,NAME=MAILFILE)% CALL STR$TRIM(MAILFILE,MAILFILE,LMF)- OPEN(UNIT=2,FILE=MAILFILE(1:LMF),TYPE='OLD',9 1 READONLY,SHARED,ORGANIZATkK20E0007D.BCKTMP[|[)[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.FOR;34I!> ION='INDEXED',ACCESS='KEYED',+ 2 FORM='FORMATTED',RECORDSIZE=2048,ERR=93)C CALL LIB$PUT_OUTPUT('Processing VMS MAIL file: '//MAILFILE(1:LMF)) LFT=MIN(8,LF)DCC OPEN(UNIT=4,NAME=FOLDER(1:LFT)//'.PMM',DEFAULTFILE='SYS$DISK:[]',;CC 1 TYPE='NEW',CARRIAGECONTROL='NONE',RECORDTYPE='STREAM',@CC 2 RECORDSIZE=512,FORM='FORMATTED',ACCESS='SEQUENTIAL',ERR=95)9 STAT=RMSBLK_CREATE('SYS$DISK:[]'//FOLDER(1:LFT)//'.PMM',: 1 'RECORD; CARRIAGE_CONTROL NONE; FORMAT STREAM;',LINE,L)9 CALL LIB$PUT_OUTPUT('Pegasus file will be: '//LINE(1:L)) IF(.NOT.STAT)GOTO95 CALL OUTPUTIT(INTERNAL,-128)6 READ(1,11,KEYID=0,KEYGE=STIME.S,ERR=96)L,BUF.STR(1:L) GOTO111210 IF(NEXTR.GT.0.AND.((NEXTR/10)*10.EQ.NEXTR))THEN; CALL SYS$FAO('Extracted !UL message!%S!AS',LFS,FAOSTAT, 1 %VAL(NEXTR),CHAR(27)//'M')' CALL LIB$PUT_OUTPUT(FAOSTAT(1:LFS)) ENDIF READ(1,11,END=19)L,BUF.STR(1:L)11 FORMAT(Q,A)CC Skip text recordsC 111 IF(BUF.KEYLENGTH.EQ.0)GOTO10C&C If date beyond end time, emulate EOFC( CALL LIB$SUBX(ETIME.L,BUF.DATIME,TTEMP) IF(TTEMP(2).LT.0)GOTO19CC If wrong folder, skipC3 IF(FOLDER(1:LF).NE.BUF.KEY(1:BUF.KEYLENGTH))GOTO10CC If foreign mail message, skipC" IF((BUF.FLAGS.AND.64).NE.0)GOTO10C NEXTR=NEXTR+1 INHDR=-1$ CALL SYS$NUMTIM(TIMEVEC,BUF.DATIME)& CALL LIB$DAY_OF_WEEK(BUF.DATIME,NDOW) CALL ZONEIT(TIMEVEC,NDOW,ZONE)F CALL SYS$FAO('Date: !AS, !UW !AS !4ZW !2ZW:!2ZW:!2ZW !AS',LDATE,DATE,? 1 DOW(NDOW),%VAL(TIMEVEC(3)),MON(TIMEVEC(2)),%VAL(TIMEVEC(1)),; 2 %VAL(TIMEVEC(4)),%VAL(TIMEVEC(5)),%VAL(TIMEVEC(6)),ZONE) CALL INTERPRET(BUF.STR(65:L)) IF((BUF.FLAGS.AND.8).NE.0)THEN6 CALL SYS$FAO('!8XL!8XL',,IDVAL,%VAL(BUF.DATID(2)), 1 %VAL(BUF.DATID(1)))7 INQUIRE(NAME=TMPFILE,FILE='MAIL$'//IDVAL//'.MAI;1',! 1 DEFAULTFILE=MAILFILE(1:LMF))& CALL STR$TRIM(TMPFILE,TMPFILE,LTF)H OPEN(UNIT=3,NAME=TMPFILE(1:LTF),READONLY,SHARED,TYPE='OLD',ERR=1111) GOTO12:1111 CALL SYS$FAO('!8XL!8XL',,IDVAL,%VAL(BUF.DATID(1)), 1 %VAL(BUF.DATID(2)))7 INQUIRE(NAME=TMPFILE,FILE='MAIL$'//IDVAL//'.MAI;1',! 1 DEFAULTFILE=MAILFILE(1:LMF))& CALL STR$TRIM(TMPFILE,TMPFILE,LTF)F OPEN(UNIT=3,NAME=TMPFILE(1:LTF),READONLY,SHARED,TYPE='OLD',ERR=16)"12 READ(3,11,END=13)L,LINE(1:L)+ IF(INHDR)CALL CHECKHDR(LINE(1:L),INHDR) CALL OUTPUTIT(LINE(1:L),L) GOTO1213 CLOSE(UNIT=3) ELSE> READ(2,11,KEYID=0,KEYEQ=BUF.DATA_ID,ERR=17)L,TBUF.STR(1:L) UNLOCK(UNIT=2)! CALL TYPETEXT(TBUF.STR(49:L)) ENDIF GOTO18C16 CALL OUTPUTIT('Failed to find message file: '//TMPFILE(1:LTF),0) CALL ERRSNS(,STS,STV,,STAT) IF(STS.GT.1)THEN. CALL SYS$GETMSG(%VAL(STS),L,LINE,,)% CALL OUTPUTIT(LINE(1:L),L) ENDIF IF(STV.GT.1)THEN. CALL SYS$GETMSG(%VAL(STV),L,LINE,,)% CALL OUTPUTIT(LINE(1:L),L) ENDIF(17 IF(INHDR)CALL CHECKHDR(NULLSTR,INHDR)18 CALL OUTPUTIT(CHAR(26),-1) GOTO1019 CLOSE(UNIT=1) CLOSE(UNIT=2) CALL OUTPUTIT(' ','8000'X)CC CLOSE(UNIT=4) CC GOTO98 STAT=RMSBLK_CLOSE(); CALL SYS$FAO('Done; extracted !UL message!%S',LFS,FAOSTAT, 1 %VAL(NEXTR))$ CALL LIB$PUT_OUTPUT(FAOSTAT(1:LFS)) GOTO99:90 CALL LIB$PUT_OUTPUT('Required parameters are missing!') STAT='10038048'X GOTO99-91 CALL LIB$PUT_OUTPUT('Invalid start time!') GOTO99+92 CALL LIB$PUT_OUTPUT('Invalid end time!') GOTO99393 CALL LIB$PUT_OUTPUT('Failed to open mail file!') GOTO97;94 CALL LIB$PUT_OUTPUT('Failed to open mail message file!') GOTO97795 CALL LIB$PUT_OUTPUT('Failed to create output file!') GOTO97296 CALL LIB$PUT_OUTPUT('Read error on mail file!')97 CALL ERRSNS(,STS,STV,,STAT) IF(STS.GT.1)THEN. CALL SYS$GETMSG(%VAL(STS),L,LINE,,)) CALL LIB$PUT_OUTPUT(LINE(1:L)) STAT=STS ENDIF IF(STV.GT.1)THEN. CALL SYS$GETMSG(%VAL(STV),L,LINE,,)) CALL LIB$PUT_OUTPUT(LINE(1:L)) STAT=STV ENDIF STAT=STAT.OR.'10000000'X GOTO99 98 STAT=199 CALL SYS$EXIT20E0007D.BCKTMP[|[)[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.FOR;34I!\(%VAL(STAT)) ENDC SUBROUTINE INTERPRET(STRING) IMPLICIT NONE CHARACTER*(*) STRING INTEGER*4 LSTR,IP,IE IP=1 LSTR=LEN(STRING),10 CALL DO_INTERPRET(%REF(STRING(IP:IP)),IE) IP=IP+IE IF(IP.LE.LSTR)GOTO10 RETURN ENDC& SUBROUTINE DO_INTERPRET(STUFF,ACTLEN) IMPLICIT NONE INTEGER*4 ACTLEN STRUCTURE /STUFFREC/ INTEGER*2 TYPECODE INTEGER*2 DATASIZE CHARACTER*1 STR END STRUCTURE RECORD /STUFFREC/ STUFF& CHARACTER*256 FROM,TO,SUBJECT,CC,DATE' INTEGER*4 LFROM,LTO,LSUBJECT,LCC,LDATEF COMMON /HEADERS/ FROM,TO,SUBJECT,CC,DATE,LFROM,LTO,LSUBJECT,LCC,LDATE IF(STUFF.DATASIZE.EQ.0)GOTO9 IF(STUFF.TYPECODE.EQ.0)THEN LFROM=STUFF.DATASIZE+6 FROM(1:6)='From: '- FROM(7:LFROM)=STUFF.STR(1:STUFF.DATASIZE)! ELSE IF(STUFF.TYPECODE.EQ.1)THEN LTO=STUFF.DATASIZE+4 TO(1:4)='To: ') TO(5:LTO)=STUFF.STR(1:STUFF.DATASIZE)! ELSE IF(STUFF.TYPECODE.EQ.2)THEN LSUBJECT=STUFF.DATASIZE+9 SUBJECT(1:9)='Subject: '4 SUBJECT(10:LSUBJECT)=STUFF.STR(1:STUFF.DATASIZE)! ELSE IF(STUFF.TYPECODE.EQ.3)THEN LCC=STUFF.DATASIZE+4 CC(1:4)='CC: ') CC(5:LCC)=STUFF.STR(1:STUFF.DATASIZE) ENDIF9 ACTLEN=STUFF.DATASIZE+4 RETURN ENDC SUBROUTINE TYPETEXT(STRING) IMPLICIT NONE CHARACTER*(*) STRING INTEGER*4 LSTR,IP,IE INTEGER*4 INHDR INHDR=-1 IP=1 LSTR=LEN(STRING)110 CALL DO_TYPETEXT(%REF(STRING(IP:IP)),IE,INHDR) IP=IP+IE IF(IP.LE.LSTR)GOTO10 RETURN ENDC+ SUBROUTINE DO_TYPETEXT(STUFF,ACTLEN,INHDR) IMPLICIT NONE INTEGER*4 ACTLEN INTEGER*4 INHDR STRUCTURE /STUFFREC/ INTEGER*2 DATASIZE CHARACTER*1 STR END STRUCTURE RECORD /STUFFREC/ STUFF CHARACTER*32768 LINE3 LINE(1:STUFF.DATASIZE)=STUFF.STR(1:STUFF.DATASIZE)5 IF(INHDR)CALL CHECKHDR(LINE(1:STUFF.DATASIZE),INHDR)5 CALL OUTPUTIT(LINE(1:STUFF.DATASIZE),STUFF.DATASIZE) ACTLEN=STUFF.DATASIZE+2 RETURN ENDC BLOCK DATA CHARACTER*512 OBUF INTEGER*4 LO COMMON /OUTBUF/ OBUF,LO DATA LO/0/& CHARACTER*256 FROM,TO,SUBJECT,CC,DATE' INTEGER*4 LFROM,LTO,LSUBJECT,LCC,LDATEF COMMON /HEADERS/ FROM,TO,SUBJECT,CC,DATE,LFROM,LTO,LSUBJECT,LCC,LDATE- DATA LFROM,LTO,LSUBJECT,LCC,LDATE/0,0,0,0,0/ ENDC SUBROUTINE OUTPUTIT(STRING,LL) IMPLICIT NONE CHARACTER*(*) STRING INTEGER*2 LL CHARACTER*512 OBUF INTEGER*4 LO COMMON /OUTBUF/ OBUF,LO INTEGER*4 L,IP INTEGER*4 RAW IF(LL.LT.0)THEN IF(LL.EQ.'8000'X)GOTO8 RAW=1 L=-LL ELSE RAW=0 L=LL IF(L.EQ.0)L=LEN(STRING) ENDIF IP=01 IF(LO+L-IP.GT.511+RAW)THEN IF(LO.EQ.0)THEN&CC WRITE(4,2)STRING(IP+1:IP+512)CC2 FORMAT(A)9 CALL RMSBLK_WRITE(%REF(STRING(IP+1:IP+512)),512,0) IP=IP+512 ELSE, OBUF(LO+1:512)=STRING(IP+1:IP+512-LO)CC WRITE(4,2)OBUF* CALL RMSBLK_WRITE(%REF(OBUF),512,0) IP=IP+512-LO LO=0 ENDIF GOTO1 ELSE% OBUF(LO+1:LO+L-IP)=STRING(IP+1:L) LO=LO+L-IP IF(.NOT.RAW)THEN LO=LO+1 OBUF(LO:LO)=CHAR(10) ENDIF ENDIF GOTO9#CC8 IF(LO.GT.0)WRITE(4,2)OBUF(1:LO)8 IF(LO.GT.0)THEN! IF(LO)OBUF(LO+1:LO+1)=CHAR(0)& CALL RMSBLK_WRITE(%REF(OBUF),LO,0) ENDIFcc DO IP=LO+1,512cc OBUF(IP:IP)=CHAR(0)cc ENDDOcc WRITE(4,2)OBUF9 RETURN ENDC% SUBROUTINE ZONEIT(TIMEVEC,NDOW,ZONE) IMPLICIT NONE INTEGER*2 TIMEVEC(7) INTEGER*4 NDOW CHARACTER*11 ZONE ZONE=' ') GOTO(1,1,1,2,5,5,5,5,5,4,1,1),TIMEVEC(2) GOTO91 ZONE='-0600 (CST)' GOTO9>2 IF(TIMEVEC(3)-NDOW.GT.0)GOTO5 ! previous Sunday was in April: IF(NDOW.NE.7)GOTO1 ! not a Sunday, next Sunday is switch= IF(TIMEVEC(4).LT.2)GOTO1 ! switch Sunday, before switch time GOTO5>4 IF(TIMEVEC(3)-NDOW+7.LE.31)GOTO5 ! next Sunday is in October; IF(NDOW.NE.7)GOTO1 ! not a Sunday, past Sunday was switch< IF(TIMEVEC(4).GT.2)GOTO1 ! switch Sunday, after switch time5 ZONE='-0500 (CDT)'9 RETURN ENDCHC See if line from text body may be an Internet header. If so, and it'sHC one of the headers w E20E0007D.BCKTMP[|[)[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.FOR;34I!e also generate from MAIL11, throw away the MAIL11FC header. If it's a different header line, keep going. If it's not a=C header line, turn off INHDR and put out the MAIL11 headers.HC (Add a blank line after the MAIL11 headers if this line is not blank.)CGC INHDR is -1 to start out. If we find a header line in the text body,HC we set INHDR to +1. If it's +1, we don't set INHDR to 0 until we findCC a blank line or a non-header line that doesn't start with spaces.C SUBROUTINE CHECKHDR(LINE,INHDR) IMPLICIT NONE CHARACTER*(*) LINE INTEGER*4 INHDR INTEGER*4 L,ICOLON,ISP& CHARACTER*256 FROM,TO,SUBJECT,CC,DATE' INTEGER*4 LFROM,LTO,LSUBJECT,LCC,LDATEF COMMON /HEADERS/ FROM,TO,SUBJECT,CC,DATE,LFROM,LTO,LSUBJECT,LCC,LDATE CHARACTER*8 TEMP INTEGER*4 NULLSTR(2) DATA NULLSTR/0,0/C IF(INHDR.EQ.0)GOTO9 L=LEN(LINE) IF(L.EQ.0)THEN ICOLON=0 ISP=0 ELSE ISP=INDEX(LINE,' ') IF(ISP.EQ.0)ISP=L+1# ICOLON=INDEX(LINE(1:ISP-1),':') ENDIF IF(ICOLON.EQ.0)THEN$ IF(INHDR.EQ.1.AND.ISP.EQ.1)GOTO94 IF(LDATE.GT.0)CALL OUTPUTIT(DATE(1:LDATE),LDATE)4 IF(LFROM.GT.0)CALL OUTPUTIT(FROM(1:LFROM),LFROM), IF(LTO.GT.0)CALL OUTPUTIT(TO(1:LTO),LTO), IF(LCC.GT.0)CALL OUTPUTIT(CC(1:LCC),LCC)@ IF(LSUBJECT.GT.0)CALL OUTPUTIT(SUBJECT(1:LSUBJECT),LSUBJECT) INHDR=0& IF(L.NE.0)CALL OUTPUTIT(NULLSTR,0) ELSE INHDR=1 IF(ICOLON.GT.8)ICOLON=8( CALL STR$UPCASE(TEMP,LINE(1:ICOLON))( IF(TEMP(1:ICOLON).EQ.'FROM:')LFROM=0$ IF(TEMP(1:ICOLON).EQ.'TO:')LTO=0( IF(TEMP(1:ICOLON).EQ.'DATE:')LDATE=0. IF(TEMP(1:ICOLON).EQ.'SUBJECT:')LSUBJECT=0$ IF(TEMP(1:ICOLON).EQ.'CC:')LCC=0 ENDIF9 RETURN ENDCCFC Subroutines to support file creation with block-mode RMS I/O and FDLCC Routines supplied:C7C STAT=RMSBLK_CREATE(FILESPEC,FDLSTRING,RESNAME,RESLEN)1C Create the file and open it for block-mode I/OC+C STAT=RMSBLK_WRITE(BUFFER,BUFLEN,BLOCKNUM)C Write a buffer to the fileCC STAT=RMSBLK_CLOSE()C Close the fileCD INTEGER*4 FUNCTION RMSBLK_CREATE(FILESPEC,FDLSTRING,RESNAME,RESLEN) IMPLICIT NONE) CHARACTER*(*) FILESPEC,FDLSTRING,RESNAME INTEGER*2 RESLEN INCLUDE '($FDLDEF)' INCLUDE '($RMSDEF)' INCLUDE '($FABDEF)' INCLUDE '($RABDEF)'/ INTEGER*4 STAT,FDL$CREATE,SYS$OPEN,SYS$CONNECT RECORD /FABDEF/ FAB RECORD /RABDEF/ RAB COMMON /RMSSTUFF/ FAB,RAB BYTE BYTITC;C Open the file for write, and specify block I/O in the RABC&C First, initialize the control blocksC$ CALL LIB$MOVC5(0,0,0,FAB$C_BLN,FAB)$ CALL LIB$MOVC5(0,0,0,RAB$C_BLN,RAB) FAB.FAB$B_BID=FAB$C_BID FAB.FAB$B_BLN=FAB$C_BLN RAB.RAB$B_BID=RAB$C_BID RAB.RAB$B_BLN=RAB$C_BLNCC Set the variable stuffC C FAB firstC" FAB.FAB$B_FAC=FAB$M_BIO+FAB$M_PUT FAB.FAB$L_FNA=%LOC(RESNAME) FAB.FAB$B_SHR=FAB$M_NILC C RAB nextC RAB.RAB$L_FAB=%LOC(FAB) RAB.RAB$L_ROP=RAB$M_BIOC:C Create the file specified by the arguments, then open itC. STAT=FDL$CREATE(FDLSTRING,FILESPEC,,RESNAME,, 1 FDL$M_FDL_STRING,,RESLEN,,) IF(.NOT.STAT)GOTO99 FAB.FAB$B_FNS=BYTIT(RESLEN) STAT=SYS$OPEN(FAB) IF(.NOT.STAT)GOTO99 STAT=SYS$CONNECT(RAB)99 RMSBLK_CREATE=STAT RETURN ENDC8 INTEGER*4 FUNCTION RMSBLK_WRITE(BUFFER,BUFLEN,BLOCKNUM) IMPLICIT NONE BYTE BUFFER INTEGER*4 BUFLEN,BLOCKNUM INCLUDE '($RMSDEF)' INCLUDE '($FABDEF)' INCLUDE '($RABDEF)' RECORD /FABDEF/ FAB RECORD /RABDEF/ RAB COMMON /RMSSTUFF/ FAB,RAB INTEGER*4 SYS$WRITEC RAB.RAB$L_RBF=%LOC(BUFFER) RAB.RAB$W_RSZ=BUFLEN( IF(BLOCKNUM.GT.0)RAB.RAB$L_BKT=BLOCKNUM RMSBLK_WRITE=SYS$WRITE(RAB) RETURN ENDC" INTEGER*4 FUNCTION RMSBLK_CLOSE() IMPLICIT NONE INCLUDE '($FABDEF)' INCLUDE '($RABDEF)' RECORD /FABDEF/ FAB RECORD /RABDEF/ RAB COMMON /RMSSTUFF/ FAB,RAB INTEGER*4 SYS$CLOSEC RMSBLK_CLOSE=SYS$CLOSE(FAB) RETURN ENDC BYTE FUNCTION BYTIT(SOMEBYTE) BYTE SOMEBYTE BYTIT=SOMEBYTE RETURN END ?20E0007D.BCKTMP['|[)[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.OBJ;305%)*[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.OBJ;30+,['./G@ 4-|[0123KPWO56$S>_7`89GG@HJ3MAILEXTR01 5-Sep-1995 17:34DEC Fortran V6.3-141P)Q17-NOV-1858 00:00:00.0031-DEC-2999 23:59:59.99File,folder{,internalname{,startdate{,enddate}}}: ,MAIL.MAIRECORD; CARRIAGE_CONTROL NONE; FORMAT STREAM;Extracted !UL message!%S!ASMDate: !AS, !UW !AS !4ZW !2ZW:!2ZW:!2ZW !AS!8XL!8XL Done; extracted !UL message!%SRequired parameters are missing!Invalid start time!Invalid end time!Failed to open mail file!Failed to open mail message file!Failed to create output file!Read error on mail file!P++ ;PF SYS$BINTIM@00 SYS$BINTIM@2H,H LIB$GET_FOREIGN@{DL{`h{|{ .Ԙ . <}} FOR$OPEN@ "ėėė  -̙ԙ RMSBLK_CREATE@ܗԗ SYS$FAO@$ SYS$FAO@D  *  SYS$FAO@ܚ SYS$FAO@"̗ ̗̗H t SYS$FAO@"̗̗̗Л DTܗܗĜ OUTPUTIT@   OUTPUTIT@ $  SYS$FAO@@ *P* LIB$PUT_OUTPUT@K`K LIB$PUT_OUTPUT@_p_ LIB$PUT_OUTPUT@qq LIB$PUT_OUTPUT@ LIB$PUT_OUTPUT@ LIB$PUT_OUTPUT@ܗܗQ*rJanFebMarAprMayJunJulAugSepOctNovDecMonTueWedThuFriSatSunQQQrxB  ;;cP[^Ыpxtl SYS$BINTIMxxˈˀ SYS$BINTIM˔LIB$GET_FOREIGNPkk112WWˤx˨˴ LIB$INDEXPX1X\,\x zX\\PPXWRRHx LIB$INDEX 20E0007D.BCKTMP['|[)[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.OBJ;30XPPYYWIx LIB$INDEXYPP\\WLx LIB$INDEX\PPXVWZYXR,RHx ~1XYPpYXQ,QHx ~\YЭXЭZYV1Y\YЭZYV\Zѭ\Lxpx$LIB$CONVERT_DATE_STRINGPkk1R\RR4Lx8pxD<LIB$CONVERT_DATE_STRINGPkk1­WWTЭTDxXxxd\LIB$CONVERT_DATE_STRINGPkk1VUEx"VZ\Lx"\ZVZVZVZUUVVZ,ZFx U 2YYtzx˄FOR$OPENP1 FOR$INQUIRESTR$TRIM2WWzFOR$OPENP1\W^(WznWV^(nVZZZ\^ $LIB$PUT_OUTPUT\^YYЭYXݏ.PMMY^(Y~nYZZ\ ^( n\ ZZ,ZX^0< RMSBLK_CREATEX^PkV« ^( nЫ Y^( nYZZPZV^TXLIB$PUT_OUTPUTV^k1`OUTPUTIT~pxpl FOR$READ_KF߫  FOR$IO_L_R밫 tphxt FOR$IO_T_DS FOR$IO_ENDxh\l\1xxYiphZj˼LIB$SUBXdh1xhRbRRS-~ Syh1hUeUU@1֭phVf SYS$NUMTIMphXhLIB$DAY_OF_WEEKZONEITū\Lx2x 2xYYIx2x(2x,2x02x4 SYS$FAOÏ@ ZZ<h@D INTERPRETҞhTdTT1hRbdhSchTSYS$FAOV^(n^(n^(%nlV^pWtzx| FOR$INQUIREV^˘STR$TRIM2XX˨|ˬ˰FOR$OPENP1hZjhYiSYS$FAO\^(n^(n^(%n\^Wz FOR$INQUIRE\^ STR$TRIM2VV0|48FOR$OPENP1~ FOR$READ_SF߫  FOR$IO_L_R밫 \`\ FOR$IO_T_DS FOR$IO_END dhlCHECKHDR x|ˀOUTPUTITˌ FOR$CLOSE1YV^(V|nVZ^(*nZ\\˴\Y^˸˼OUTPUTITY^ FOR$ERRSNSѫЫ SYS$GETMSG OUTPUTITѫЫ  SYS$GETMSG $(,OUTPUTIT~~h˘˔ FOR$READ_KF߫  FOR$IO_L_R밫 ˜ppˠ˜ FOR$IO_T_DS FOR$IO_END FOR$UNLOCK0 XXˤp˨ˬTYPETEXT8CHECKHDRLOUTPUTITխ Z ZZЭ˜ˌSYS$FAO2\\ˤ˨ˬLIB$PUT_OUTPUT~ FOR$READ_SF߫  FOR$IO_L_R밫 ˴ph˸˴ FOR$IO_T_DS FOR$IO_END1vX FOR$CLOSE` FOR$CLOSEpGOUTPUTIT| RMSBLK_CLOSEPkЭ˜ˌSYS$FAO2RRˠˤ˨LIB$PUT_OUTPUT1LIB$PUT_OUTPUTLIB$PUT_OUTPUTLIB$PUT_OUTPUT FOR$ERRSNSkSѫЫ,( SYS$GETMSG @DHLIB$PUT_OUTPUTЫSѫЫTP SYS$GETMSG hlpLIB$PUT_OUTPUTЫSɏSkLIB$PUT_OUTPUTLIB$PUT_OUTPUT˸LIB$PUT_OUTPUTЏHkkk|xSYS$EXITPPProcessing VMS MAIL file: SYS$DISK:[]Pegasus file will be: QMAIL$Q.MAI;1QFailed to find message file:  MAILEXTRLIB$GET_FOREIGNLIB$CONVERT_DATE_STRING RMSBLK_CREATE RMSBLK_CLOSE SYS$BINTIM LIB$INDEXFOR$OPEN FOR$INQUIRESTR$TRIMLIB$PUT_OUTPUTOUTPUTITSYS$FAOLIB$SUBX SYS$NUMTIMLIB$DAY_OF_WEEKZONEIT INTERPRETCHECKHDR FOR$CLOSETYPETEXT FOR$ERRSNS SYS$GETMSGSYS$EXIT $CODEG$PDATA $LOCALHEADERS FOR$UNLOCK FOR$IO_END FOR$IO_L_R FOR$IO_T_DS FOR$READ_SF FOR$READ_KFCP+ KP# nPPPFPLPRPYPbP hP xP/PPfPv P8P)P1PoPOPmPEzP,PPQ"P6PPKPP P&PufPPP'P'DP{JPuPP P5P'PAPPP P+ P+@ P N20E0007D.BCKTMP['|[)[OSUDAR.PROJECTS.MOVEMAIL]MAILEXTR.OBJ;30~2N P$Z Pm P4 INTERPRET01 5-Sep-1995 17:34DEC Fortran V6.3-141iPP [}PQPR<PPSRQA DO_INTERPRETkRRSW  INTERPRET DO_INTERPRET;$CODE$PDATA$LOCAL7 DO_INTERPRET01 5-Sep-1995 17:34DEC Fortran V6.3-141zP P [ЬP@P`VVQ2QWV1QaXVP2PQQ(2VPQASU,Pc U1XW2VPQASU,Pc UX VP2PQQ(  2VPQAS U,Pc U XW 2VXP@R T,Xb TWPFrom: To: Subject: CC: [ DO_INTERPRET$CODE$PDATA$LOCALHEADERS?%P/P<hPpP3PvP;P6P/3TYPETEXT01 5-Sep-1995 17:34DEC Fortran V6.3-141qPP [}PQ PR<PPSRQA  DO_TYPETEXTkRRSU TYPETEXT DO_TYPETEXT?$CODE$PDATA $LOCAL6 DO_TYPETEXT01 5-Sep-1995 17:34DEC Fortran V6.3-141P (P|[ЬQaQ2QVP@P(V` V޼ $CHECKHDRV(,S>c80OUTPUTITUeU2Uf | DO_TYPETEXTCHECKHDROUTPUTITh$CODE$PDATA<$LOCAL)P8 MAILEXTR$DATA01 5-Sep-1995 17:34DEC Fortran V6.3-141'PP OUTBUFHEADERS3OUTPUTIT01 5-Sep-1995 17:34DEC Fortran V6.3-141PPP[^}PQPkVWVVVP2PYQAg( RMSBLK_WRITE1ԭ2VY P1ZONEIT01 5-Sep-1995 17:34DEC Fortran V6.3-141P  P|[Ь} PQмV,n >P 2SSVV2RVRRRV( (  P-0600 (CST)-0500 (CDT)G |ZONEIT$CODE$PDATA$LOCAL0PP2PP4PP6P8P\:P\P\@P\BP4DPPFPPIPKTP7YP&_P aP*rPwP}PP P 3CHECKHDR01 5-Sep-1995 17:34DEC Fortran V6.3-141P :P 4<Pdx Q,P|[}PQPk޼Rb1hH FDL$CREATEPSS>xtBYTIT4SPcbˀ|SYS$OPENPSSPˈ˄ SYS$CONNECTPSSP  RMSBLK_CREATE FDL$CREATESYS$OPEN SYS$CONNECTBYTIT LIB$MOVC5$CODE$PDATA$LOCALRMSSTUFFP9P7 RMSBLK_WRITE01 5-Sep-1995 17:34DEC Fortran V6.3-141bPP[xP`rQaռ Pм `Pk SYS$WRITEl  RMSBLK_WRITE SYS$WRITE?$CODE$PDATA $LOCALRMSSTUFF#P 7 RMSBLK_CLOSE01 5-Sep-1995 17:34DEC Fortran V6.3-1418PP[k SYS$CLOSEd  RMSBLK_CLOSE SYS$CLOSE$CODE$PDATA $LOCALRMSSTUFF0BYTIT01 5-Sep-1995 17:34DEC Fortran V6.3-141P[PB BYTIT$CODE$PDATA$LOCAL(*[OSUDAR.PROJECTS.MOVEMAIL]MOVEMAIL.BAT;3+,[./G@ 4M-|[0123KPWO56+z_7OS`89GG@HJ@echo off qbasic /run w:\pmail\getinfo.bas if not exist c:\set{pmi}.bat goto nopmi call c:\set{pmi} del c:\set{pmi}.bat if not exist m:\%folder%.pmm goto nofile if not exist n:\pmail\pmail.ini goto nopmail if exist n:\pmail\%folder%.pmm goto duplicate echo Working... please be patient! copy m:\%folder%.pmm n:\pmail w:\pmail\prebuild n:\pmail\%folder%.pmm if not exist n:\pmail\%folder%.pmi goto noindex if not exist n:\pmail\main.pmt goto done qbasic /run w:\pmail\addfldr.bas goto done :nofile echo File %folder%.PMM not found in directory m: goto done :nopmail echo Pegasus Mail not found on your N: drive, or N: drive not connected goto done :duplicate echo A folder file named "%folder%" already exists in your Pegasus Mail directory goto done :noindex echo Failed to build index for mail folder "%folder%"; report error 1 to CANS group goto done :nopmi echo Failed to build index for mail folder "%folder%"; report error 2 to CANS group :done pause (*[OSUDAR.PROJECTS.MOVEMAIL]MOVEMAIL.COM;7+,[F. /G@ 4W -|[0123KPWO 56)&`7}l!`89GG@HJD$! Extract messages from VMS MAIL folder into Pegasus Mail .PMM file $ set noon$ on control_y then goto quit$ dflt=f$environment("DEFAULT")$ set default sys$login:"$ oldmess=f$environment("MESSAGE")$ say="write sys$output")$ ask="read/err=quit sys$command/prompt="$ type sys$input:3Please read these instructions and notes carefully!MThis procedure will extract messages from a VMS MAIL folder and put them in aMPegasus Mail folder file. After this procedure is done, you will have t20E0007D.BCKTMP[F|[([OSUDAR.PROJECTS.MOVEMAIL]MOVEMAIL.COM;7W ąo useMyour PC to move the file(s) to your Pegasus Mail directory. Instructions for9doing this will be provided at the end of this procedure.$getp1:$ if p1 .eqs. "" then -H ask "Extract from which MAIL file (default=your main MAIL file)? " p1B$ mailfile=f$search(f$parse(p1,"SYS$LOGIN_ROOT:[MAIL]MAIL.MAI;0"))$ if mailfile .eqs. ""7$ then say "No file found matching specified name: ",p1$ p1="" $ goto getp1$ endif$getp2:$ if p2 .eqs. "":$ then ask "Extract from which folder (default=MAIL)? " p2 $ if p2 .eqs. "" then p2="MAIL"$ endif%$ folder=f$edit(p2,"COLLAPSE,UPCASE")$$ if folder .eqs. "" then goto getp2$getp3:$ if p3 .eqs. ""I$ then ask "What should the Pegasus folder be named (default=''p2')? " p3$ if p3 .eqs. "" then p3=p2$ endif$ if p3 .eqs. ""$ then ifold=""""$ else ifold=""""+p3+""""$ endif$getp4:$ if p4 .eqs. "" then -F ask "Select messages from which date (default=from first one)? " p4$ if p4 .nes. ""'$ then set mess/nofac/noid/nosev/notext$ x=""$ x=f$cvtime(p4)$ set mess'oldmess'$ if x .eqs. ""M$ then say "Invalid date: ",p4," Use dd-MMM-yyyy format (e.g. 01-JAN-1983)" $ p4=""$ goto getp4$ endif$ endif$getp5:$ if p5 .eqs. "" then -K ask "Select messages through which date (default=through last one)? " p5$ if p5 .nes. "" $ then x=""#$ set mess/nofac/noid/nosev/notext$ x=f$cvtime(p5)$ set mess'oldmess'$ if x .eqs. ""M$ then say "Invalid date: ",p5," Use dd-MMM-yyyy format (e.g. 01-JAN-1999)" $ p5=""$ goto getp5$ endif$ endifB$ say "OK, now we're ready to extract the messages. Here goes..."W$ mail/noself nla0: mail_logger/subj="MOVEMAIL ''mailfile',''folder',''p3',''p4',''p5'"&$ params=mailfile+","+folder+","+ifold$ if p5 .eqs. ""/$ then if p4 .nes. "" then params=params+","+p4"$ else params=params+","+p4+","+p5$ endif $ mcr sys_util:mailextr 'params'#$ if .not. $status then goto failed$ type sys$input:KExtraction of mail messages has been completed. The following Pegasus Mail.folders are now located in your M:\ directory:$dloop:$ pmmfile=f$search("*.PMM;0")$ if pmmfile .nes. ""/$ then say " ",f$parse(pmmfile,,,"NAME") $ goto dloop$ endif$ type sys$input:NTo move these to your PC and into Pegasus Mail, you must perform the followingKoperation from an MS-DOS window on your PC. (While logged into Windows, goMinto the "Main" program group and double click on "MS-DOS Prompt" to bring upNan MS-DOS window.) You should quit Pegasus Mail (if you're currently running Nit) before doing this, or you won't see the moved folders until the next time Eyou start Pegasus. In the MS-DOS window, type the following command: W:\PMAIL\MOVEMAILKYou must do this once for each folder in the list that was displayed above.PIf you encounter any problems or have any questions, please contact John Osudar. $ goto quit$failed:($ say "Failed to extract mail messages!"$quit:$ set default 'dflt'$ set message'oldmess'$ exit=[|[([OSUDAR.PROJECTS.MOVEMAIL]AO^[MXYSE(CPT=/ 6Qe4bJOK 7ݛd32/:R I8 #a~6'sFx7MgGAcjmy?ލ2H!U*>'YGE,Ѣ䚯alxNQqS>?5aX1:Y |cm .7!x!V\sϋM4Y%l"$wAK3FlZ;ǀ[Icq'Sk(p)}~tшZ0te/Rv%&W=^R0Gn%zUV,6>g -u!wXhE[uƠl}1%#E<4/[> yq;GG4yF!E7H2_T4xUĶ{ulDT]›S"F0@;5Pk${nR6umm=S"h/O܊O2(WZboÐcQ%i 66[!H~кlÓ<2dKjtS<װ'ZVI!3/rYg ψ IXRH@BwO;R%mN^QqsGKD# P?@roCه -"EE\$['L |8,tV}Pm %uγ4Ù<@\vMwxl鳆a13;gźT,؏5z&|0 I;鶧- a*Llv|jɸ;T9 Hy2#|, R9#.SdG?'3nM3/*@;[k>aZsZ϶"wPd)JFHۼy‘=eq4]BaC1|)ḣXgɺr'%€J.\fWT-3*;4  zNh:6*(^]p.t*.Q#Corظ3c]Zkp{O$/Biֽ/16xP`p>g(@ %[q` l_ K"wΩW_.īf* p, PӇ)0{BoZ%0CNw 3O5$%gC"U!ׂ,qY54@ڿvD%yg E6Sy.p^2֟p aŁ!vC|ӟ07V?guF7#E&Op7CN^@%K΋S$FLQ4c" B@\3)&HB> 8U,k=tN^J=b~!} K*A}ՙMoŞ:^Rx 9g ކqV0}fJ%P~mH>.PX Ï񡊃gC ^nZED<=$_`gN@CEXOfGjbpXN+CӹA5(>iY w`:6GWxZh3tv7$xek9dT2 |qfM+h '!1dl`Vu0n0dO@Dv'Cas뉹!XeО"q)7n0>[C:rjx:ra WFa!|;P_k'D>]1pI<i%;As܍吨h]pe7143pc-3u-xYb]tՉ|rKA„gKvksBco/1rAqW ЎM_x~؋,%KίVCm㣡WPʗUو?hxš]5lbX?dՏcpHLDcn}XZy]Ysg :,o8 J_٢_5l߼q96;B;0haA[vt9Qoݘy$Ѩ¢3<2w HGq P?JcpT cN{z(i|qgc;*CL?V(,!lpdLJt.ʧ tG,h V1hFc=~U;^Ѣn6}QԐ-t5έSg'n_݆Z ׀'IY ;A;@SK'|e؟;[s UBOk7Ȧ'V)X`op)W;ul *v[h?zכu{`.,(~1 9u@ܡ^"4Ħ/g愨._cmLmK#ZgbHI}ߏ2O*+Dv봐1X1{5R($t%Ѭ{dyv_``,LUh\7yך9vנ)sĿ  0vA.mQAfŹFr[{ ^X$'<ɺHXh2Vt76N*A0 +B3+JYCl~B j.4"jsFI~;Mail folder file. After this procedure is done, you will have t