$ od -c -N 50000 [_CD8_]<indigoifs>IfsFtp.dm!3
0000000  377  \0  \0   I   f   s   F   t   p   P   r   o   t   .   d   e
0000020    c   l  \0 373 231  \f 034 273  \0  \0 376 001  \0 265 355   /
0000040    /       I   f   s   F   t   p   P   r   o   t   .   d   e   c
0000060    l       -   -       D   e   c   l   a   r   a   t   i   o   n
0000100    s       f   o   r       t   h   e       I   f   s       i   m
0000120    p   l   e   m   e   n   t   a   t   i   o   n       o   f    
0000140    F   t   p  \r   /   /       C   o   p   y   r   i   g   h   t
0000160        X   e   r   o   x       C   o   r   p   o   r   a   t   i
0000200    o   n       1   9   7   9   ,       1   9   8   0   ,       1
0000220    9   8   1   ,       1   9   8   2  \r   /   /       L   a   s
0000240    t       m   o   d   i   f   i   e   d       M   a   y       1
0000260    4   ,       1   9   8   2           1   :   1   0       P   M
0000300        b   y       B   o   g   g   s  \r  \r   g   e   t       "
0000320    I   f   s   R   s   .   d   e   c   l   "  \r  \r   /   /    
0000340    N   o   t   e       t   h   a   t       t   h   i   s       i
0000360    s       s   u   b   s   t   a   n   t   i   a   l   l   y    
0000400    d   i   f   f   e   r   e   n   t       f   r   o   m       t
0000420    h   e       s   t   a   n   d   a   r   d       p   a   c 376
0000440  001  \0 017 335   k   a   g   e   .  \r   /   /       R   e   n
0000460    a   m   e       t   h   i   s       f   i   l   e       t   o
0000500        F   t   p   P   r   o   t   .   d   e   c   l       t   h
0000520    e   n       c   o   m   p   i   l   e       t   h   e       F
0000540    t   p       p   a   c   k   a   g   e       f   o   r       I
0000560    f   s   .  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0000600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0000700    -   -  \r   m   a   n   i   f   e   s   t  \t  \t   /   /    
0000720    p   a   c   k   a   g   e       w   i   d   e       d   e   c
0000740    l   a   r   a   t   i   o   n   s  \r   /   /   -   -   -   -
0000760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0001040    -   -   -   - 376 001  \0   i 212   -   -   -   -   -   -   -
0001060    -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   s
0001100    o   c   k   e   t   F   T   P       =       3  \t  \t   /   /
0001120        w   e   l   l       k   n   o   w   n       P   u   p    
0001140    s   o   c   k   e   t  \r  \r   F   T   P   V   e   r   s   i
0001160    o   n       =       1  \t  \t   /   /       F   T   P       p
0001200    r   o   t   o   c   o   l       v   e   r   s   i   o   n  \r
0001220    M   T   P       =       t   r   u   e  \t  \t   /   /       c
0001240    o   n   t   r   o   l   s       c   o   m   p   i   l   a   t
0001260    i   o   n       o   f       M   T   P       c   o   d   e  \r
0001300   \r   Q   u   o   t   e   C   h   a   r       =       $   '  \t
0001320   \t   /   /       s   t   r   i   n   g       q   u   o   t   e
0001340        c   h   a   r   a   c   t   e   r  \r  \r   /   /       d
0001360    a   t   a       t   y   p   e   s  \r   U   n   s   p   e   c
0001400    i   f   i   e   d       =       0  \r   T   e   x   t       =
0001420        1  \r   B   i   n   a   r   y       =       2  \r  \r   /
0001440    /       e   n   d       o   f     376 001  \0  \n   s   l   i
0001460    n   e       c   o   n   v   e   n   t   i   o   n   s  \r   C
0001500    R       =       1  \r   C   R   L   F       =       2  \r   T
0001520    r   a   n   s   p   a   r   e   n   t       =       3  \r   ]
0001540   \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0001560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0001660   \r   m   a   n   i   f   e   s   t  \r   /   /   -   -   -   -
0001700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0002000    -   -   -   -   -   -   -  \r   [  \r   /   /       F   T   P
0002020        &       M   T   P       m   a   r   k       b   y   t   e
0002040    s  \r   m   a   r   k   R   e   t   r   i   e   v   e 376 001
0002060   \0   } 373       =       1  \r   m   a   r   k   S   t   o   r
0002100    e       =       2  \t  \t  \t   /   /   '   o   l   d   '    
0002120    s   t   o   r   e       p   r   o   t   o   c   o   l  \r   m
0002140    a   r   k   Y   e   s       =       3  \r   m   a   r   k   N
0002160    o       =       4  \r   m   a   r   k   H   e   r   e   I   s
0002200    F   i   l   e       =       5  \r   m   a   r   k   E   n   d
0002220    O   f   C   o   m   m   a   n   d       =       6  \r   m   a
0002240    r   k   C   o   m   m   e   n   t       =       7  \r   m   a
0002260    r   k   V   e   r   s   i   o   n       =       1   0   b  \r
0002300    m   a   r   k   N   e   w   S   t   o   r   e       =       1
0002320    1   b  \t  \t   /   /   '   n   e   w   '       s   t   o   r
0002340    e       p   r   o   t   o   c   o   l  \r   m   a   r   k   D
0002360    i   r   e   c   t   o   r   y       =       1   2   b  \t  \t
0002400    /   /   '   o   l   d   '       d   i   r   e   c   t   o   r
0002420    y       p   r   o   t   o   c   o   l  \r   m   a   r   k   H
0002440    e   r   e   I   s   P   L   i   s   t       =       1   3   b
0002460   \r   m   a 376 001  \0 202 206   r   k   N   e   w   D   i   r
0002500    e   c   t   o   r   y       =       1   4   b  \t  \t   /   /
0002520    '   n   e   w   '       d   i   r   e   c   t   o   r   y    
0002540    p   r   o   t   o   c   o   l  \r   /   /       1   5   b    
0002560    i   s       a   v   a   i   l   a   b   l   e  \r   m   a   r
0002600    k   D   e   l   e   t   e       =       1   6   b  \r   m   a
0002620    r   k   R   e   n   a   m   e       =       1   7   b  \r   m
0002640    a   r   k   S   t   o   r   e   M   a   i   l       =       2
0002660    0   b  \r   m   a   r   k   R   e   t   r   i   e   v   e   M
0002700    a   i   l       =       2   1   b  \r   m   a   r   k   F   l
0002720    u   s   h   M   a   i   l   B   o   x       =       2   2   b
0002740   \r   m   a   r   k   M   a   i   l   b   o   x   E   x   c   e
0002760    p   t   i   o   n       =       2   3   b  \r   n   u   m   M
0003000    a   r   k   s       =       M   T   P   ?       2   3   b   ,
0003020        1   7   b  \r   ]  \r  \r   /   /   -   -   -   -   -   -
0003040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0003060    -   -   -   -   -   -   -   - 376 001  \0  \r 213   -   -   -
0003100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003140    -   -   -   -   -   -   -   -   -   -  \r   s   t   r   u   c
0003160    t   u   r   e       M   a   r   k       [       s   u   b   C
0003200    o   d   e       b   y   t   e   ;       m   a   r   k       b
0003220    y   t   e       ]  \r   /   /   -   -   -   -   -   -   -   -
0003240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003340    -   -   -  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0003360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003460    -   -  \r   s   t   r   u   c   t   u   r   e     376 001  \0
0003500    0 004   M   T   :  \t   /   /       M   a   r   k       T   a
0003520    b   l   e  \r   /   /   -   -   -   -   -   -   -   -   -   -
0003540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003640    -  \r   [  \r   s   t   r   i   n   g       w   o   r   d  \t
0003660    /   /       -   >       s   t   r   i   n   g  \r   c   o   d
0003700    e       b   y   t   e  \t   /   /       m   a   r   k       b
0003720    y   t   e       v   a   l   u   e  \r   q   B   i   t   s    
0003740    b   y   t   e       =  \t   /   /       q   u   a   l   i   f
0003760    y   i   n   g       b   i   t   s  \r               [  \r    
0004000            b   l   a   n   k       b   i   t       5  \r        
0004020        p   t   x       b   i   t  \t   /   /       p   r   i   n
0004040    t       t   e   x   t       a   f   t   e   r       t   h   i
0004060    s       m   a   r   k  \r               n   f       b   i   t
0004100   \t   / 376 001  \0 370 233   /       d   o   n   t       f   e
0004120    t   c   h       b   y   t   e   s       p   a   s   t       t
0004140    h   i   s       m   a   r   k  \r               s   c       b
0004160    i   t  \t   /   /       s   u   b   c   o   d   e       b   y
0004200    t   e       f   o   l   l   o   w   s       t   h   i   s    
0004220    m   a   r   k  \r               ]  \r   ]       ^   1   ,   n
0004240    u   m   M   a   r   k   s  \r   m   a   n   i   f   e   s   t
0004260        l   e   n   M   T       =       s   i   z   e       M   T
0004300    /   1   6  \r  \r   m   a   n   i   f   e   s   t  \r   [  \r
0004320    /   /       M   T       q   u   a   l   i   f   y   i   n   g
0004340        b   i   t   s  \r   p   t   x       =       1   b   1   5
0004360        r   s   h   i   f   t       (   o   f   f   s   e   t    
0004400    M   T   .   p   t   x   ^   1       r   e   m       1   6   )
0004420   \r   n   f       =       1   b   1   5       r   s   h   i   f
0004440    t       (   o   f   f   s   e   t       M   T   .   n   f   ^
0004460    1       r   e   m       1   6   )  \r   s   c       =       1
0004500    b   1   5       r   s   h 376 001  \0   = 246   i   f   t    
0004520    (   o   f   f   s   e   t       M   T   .   s   c   ^   1    
0004540    r   e   m       1   6   )  \r   ]  \r  \f  \r   /   /   -   -
0004560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0004660    -   -   -   -   -   -   -   -   -  \r   s   t   r   u   c   t
0004700    u   r   e       T   i   m   e       [       h       w   o   r
0004720    d   ;       l       w   o   r   d       ]  \r   /   /   -   -
0004740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005040    -   -   -   -   -   -   -   -   -  \r  \r   /   /   -   -   -
0005060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0005100    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0  \f
0005120  332   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0005140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005200    -   -   -   -   -   -   -   -   -   -   -  \r   s   t   r   u
0005220    c   t   u   r   e       D   P   R   P   :  \r   /   /   -   -
0005240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005360    -   -   -   -   -   -   -  \r   [  \r   b   l   a   n   k    
0005400    b   i   t       2  \r   S   F   I   L       b   i   t  \t   /
0005420    /       S   e   r   v   e   r   -   F   i   l   e   n   a   m
0005440    e  \r   D   E   V   I       b   i   t  \t   /   /       D   e
0005460    v   i   c   e  \r   D   I   R   E       b   i   t  \t   /   /
0005500        D   i   r   e   c   t   o   r   y  \r   N   A   M   B    
0005520    b 376 001  \0 351   ;   i   t  \t   /   /       N   a   m   e
0005540    -   B   o   d   y  \r   V   E   R   S       b   i   t  \t   /
0005560    /       V   e   r   s   i   o   n  \r   T   Y   P   E       b
0005600    i   t  \t   /   /       T   y   p   e  \r   B   Y   T   E    
0005620    b   i   t  \t   /   /       B   y   t   e   -   s   i   z   e
0005640   \r   E   O   L   C       b   i   t  \t   /   /       E   n   d
0005660    -   o   f   -   l   i   n   e   -   c   o   n   v   e   n   t
0005700    i   o   n  \r   S   I   Z   E       b   i   t  \t   /   /    
0005720    S   i   z   e  \r   A   U   T   H       b   i   t  \t   /   /
0005740        A   u   t   h   o   r  \r   C   D   A   T       b   i   t
0005760   \t   /   /       C   r   e   a   t   i   o   n   -   d   a   t
0006000    e  \r   R   D   A   T       b   i   t  \t   /   /       R   e
0006020    a   d   -   d   a   t   e  \r   W   D   A   T       b   i   t
0006040   \t   /   /       W   r   i   t   e   -   d   a   t   e  \r   C
0006060    S   U   M       b   i   t  \t   /   /       C   h   e   c   k
0006100    s   u   m  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0006120    -   -   -   -   -   - 376 001  \0 210   Y   -   -   -   -   -
0006140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006220    -   -   -   -   -   -   -   -   -  \r   s   t   r   u   c   t
0006240    u   r   e       F   P   L   :           /   /       F   i   l
0006260    e       P   r   o   p   e   r   t   y       L   i   s   t  \r
0006300    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0006320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006400    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r
0006420    U   N   A   M       w   o   r   d  \t   /   /       U   s   e
0006440    r   -   N   a   m   e       <   S   t   r   i   n   g   >  \r
0006460    U   P   S   W       w   o   r   d  \t   /   /       U   s   e
0006500    r   -   P   a   s   s   w   o   r   d       <   S   t   r   i
0006520    n   g   >  \r   C   N   A   M       w   o 376 001  \0  \r 377
0006540    r   d  \t   /   /       C   o   n   n   e   c   t   -   n   a
0006560    m   e       <   S   t   r   i   n   g   >  \r   C   P   S   W
0006600        w   o   r   d  \t   /   /       C   o   n   n   e   c   t
0006620    -   p   a   s   s   w   o   r   d       <   S   t   r   i   n
0006640    g   >  \r   S   F   I   L       w   o   r   d  \t   /   /    
0006660    S   e   r   v   e   r   -   F   i   l   e   n   a   m   e    
0006700    <   S   t   r   i   n   g   >  \r   D   E   V   I       w   o
0006720    r   d  \t   /   /       D   e   v   i   c   e       <   S   t
0006740    r   i   n   g   >  \r   D   I   R   E       w   o   r   d  \t
0006760    /   /       D   i   r   e   c   t   o   r   y       <   S   t
0007000    r   i   n   g   >  \r   N   A   M   B       w   o   r   d  \t
0007020    /   /       N   a   m   e   -   B   o   d   y       <   S   t
0007040    r   i   n   g   >  \r   V   E   R   S       w   o   r   d  \t
0007060    /   /       v   e   r   s   i   o   n       <   S   t   r   i
0007100    n   g   >  \r   T   Y   P   E       w   o   r   d  \t   /   /
0007120        T   y   p   e       <   T   e   x   t   |   B   i   n   a
0007140  376 001  \0 217 332   r   y   |   U   n   s   p   e   c   i   f
0007160    e   d   >  \r   B   Y   T   E       w   o   r   d  \t   /   /
0007200        B   y   t   e   -   s   i   z   e       <   N   u   m   b
0007220    e   r   >  \r   E   O   L   C       w   o   r   d  \t   /   /
0007240        E   n   d   -   o   f   -   l   i   n   e   -   c   o   n
0007260    v   e   n   t   i   o   n       <   C   R   |   C   R   L   F
0007300    |   T   r   a   n   s   p   a   r   e   n   t   >  \r   S   I
0007320    Z   E       w   o   r   d       2  \t   /   /       S   i   z
0007340    e       <   N   u   m   b   e   r   >  \r   A   U   T   H    
0007360    w   o   r   d  \t   /   /       A   u   t   h   o   r       <
0007400    S   t   r   i   n   g   >  \r   C   D   A   T       @   T   i
0007420    m   e  \t   /   /       c   r   e   a   t   i   o   n   -   d
0007440    a   t   e       <   A   l   t   o       f   o   r   m   a   t
0007460        d   a   t   e   >  \r   R   D   A   T       @   T   i   m
0007500    e  \t   /   /       r   e   a   d   -   d   a   t   e       <
0007520    A   l   t   o       f   o   r   m   a   t       d   a   t   e
0007540    >  \r   W   D   A 376 001  \0 016 333   T       @   T   i   m
0007560    e  \t   /   /       w   r   i   t   e   -   d   a   t   e    
0007600    <   A   l   t   o       f   o   r   m   a   t       d   a   t
0007620    e   >  \r   C   S   U   M       w   o   r   d  \t   /   /    
0007640    C   h   e   c   k   s   u   m       <   N   u   m   b   e   r
0007660    >  \r   D   P   R   P       @   D   P   R   P  \t   /   /    
0007700    D   e   s   i   r   e   d   -   P   r   o   p   e   r   t   y
0007720        <   p   r   o   p   e   r   t   y       n   a   m   e   >
0007740   \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0007760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0010060    -  \r   s   t   r   u   c   t   u   r   e       M   P   L   :
0010100   \t   /   /       M   a   i   l       P   r   o   p   e   r   t
0010120    y       L   i   s   t  \r   /   /   -   -   -   -   -   -   -
0010140    -   -   -   -   -   -   -   -   -   - 376 001  \0 002   0   -
0010160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0010240    -   -   -   -   -   -   -   -   -  \r   [  \r   M   L   B   X
0010260        w   o   r   d  \t   /   /       M   a   i   l   b   o   x
0010300        <   s   t   r   i   n   g   >  \r   L   G   T   H       w
0010320    o   r   d       2  \t   /   /       L   e   n   g   t   h    
0010340    <   N   u   m   b   e   r   >  \r   R   C   V   D       @   T
0010360    i   m   e  \t   /   /       D   a   t   e   -   R   e   c   e
0010400    i   v   e   d       <   A   l   t   o       f   o   r   m   a
0010420    t       d   a   t   e   >  \r   S   N   D   R       w   o   r
0010440    d  \t   /   /       S   e   n   d   e   r       <   s   t   r
0010460    i   n   g   >  \r   ]  \r  \r   /   /   -   -   -   -   -   -
0010500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0010540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0010560  001  \0 375 216   -   -   -   -   -   -   -   -   -   -   -   -
0010600    -   -   -   -   -   -   -   -   -   -  \r   c   o   m   p   i
0010620    l   e   t   e   s   t       M   T   P  \r               i   f
0010640    s   o           [       s   t   r   u   c   t   u   r   e    
0010660    P   L       [       @   F   P   L   ;       @   M   P   L    
0010700    ]       ]  \r               i   f   n   o   t       [       s
0010720    t   r   u   c   t   u   r   e       P   L       [       @   F
0010740    P   L       ]       ]  \r   /   /   -   -   -   -   -   -   -
0010760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0011060    -   -   -   -  \r   m   a   n   i   f   e   s   t       l   e
0011100    n   P   L       =       s   i   z   e       P   L   /   1   6
0011120   \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0011140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0011160    -   -   -   - 376 001  \0 252   8   -   -   -   -   -   -   -
0011200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0011240    -   -   -   -   -  \r   s   t   r   u   c   t   u   r   e    
0011260    P   r   o   p   :  \t  \t   /   /       a   n       o   b   j
0011300    e   c   t  \r   /   /   -   -   -   -   -   -   -   -   -   -
0011320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0011420    -  \r   [  \r   S   c   a   n       w   o   r   d  \t  \t   /
0011440    /       c   a   l   l       0  \r   G   e   n       w   o   r
0011460    d  \t  \t   /   /       c   a   l   l       1  \r   F   r   e
0011500    e       w   o   r   d  \t  \t   /   /       c   a   l   l    
0011520    2  \r   I   n   i   t       w   o   r   d  \t  \t   /   /    
0011540    c   a   l   l       3  \r   p   O   f   f   s   e   t       w
0011560    o   r   d  \t  \t   /   /       w 376 001  \0   G 354   o   r
0011600    d       o   f   f   s   e   t       i   n   t   o       p   L
0011620    i   s   t  \r   p   E   r   r   S   u   b   C   o   d   e    
0011640    w   o   r   d  \t   /   /       m   a   r   k   N   o       s
0011660    u   b   c   o   d   e  \r   p   D   P   R   P       w   o   r
0011700    d  \t  \t   /   /       D   P   R   P       b   i   t       v
0011720    e   c   t   o   r  \r   p   E   x   t   r   a       w   o   r
0011740    d  \t  \t   /   /       o   b   j   e   c   t       p   r   i
0011760    v   a   t   e       i   n   t   e   r   p   r   e   t   a   t
0012000    i   o   n  \r   ]  \r   m   a   n   i   f   e   s   t       l
0012020    e   n   P   r   o   p       =       s   i   z   e       P   r
0012040    o   p   /   1   6  \r  \r   /   /   -   -   -   -   -   -   -
0012060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0012160    -   -   -   -  \r   s   t   r   u   c   t   u   r   e 376 001
0012200   \0 325   ]       F   T   P   S   F   I   :  \t   /   /       F
0012220    t   p       S   e   r   v   e   r       F   i   l   e       I
0012240    n   t   e   r   f   a   c   e  \r   /   /   -   -   -   -   -
0012260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0012360    -   -   -   -   -   -  \r   [  \r   V   e   r   s   i   o   n
0012400        w   o   r   d  \t  \t   /   /       V   e   r   s   i   o
0012420    n   (   b   s   p   S   t   r   e   a   m   ,   n   i   l   )
0012440   \r   S   t   o   r   e       w   o   r   d  \t  \t   /   /    
0012460    S   t   o   r   e   (   p   L   i   s   t   )       =       t
0012500    r   u   e   |   f   a   l   s   e  \r   S   t   o   r   e   F
0012520    i   l   e       w   o   r   d  \t  \t   /   /       S   t   o
0012540    r   e   F   i   l   e   (   p   L   i   s   t   )       =    
0012560    t   r   u   e   |   f   a   l   s   e  \r   S   t   o   r   e
0012600    C   l   e 376 001  \0 254 371   a   n   u   p       w   o   r
0012620    d  \t   /   /       S   t   o   r   e   C   l   e   a   n   u
0012640    p   (   p   L   i   s   t   ,   o   k   )  \r   R   e   t   r
0012660    i   e   v   e       w   o   r   d  \t  \t   /   /       R   e
0012700    t   r   i   e   v   e   (   l   o   c   a   l   P   L   i   s
0012720    t   ,   r   e   m   o   t   e   P   L   i   s   t   )       =
0012740        t   r   u   e   |   f   a   l   s   e  \r   R   e   t   r
0012760    i   e   v   e   F   i   l   e       w   o   r   d  \t   /   /
0013000        R   e   t   r   i   e   v   e   F   i   l   e   (   l   o
0013020    c   a   l   P   L   i   s   t   )       =       t   r   u   e
0013040    |   f   a   l   s   e  \r   R   e   t   r   i   e   v   e   C
0013060    l   e   a   n   u   p       w   o   r   d  \t   /   /       R
0013100    e   t   r   i   e   v   e   C   l   e   a   n   u   p   (   l
0013120    o   c   a   l   P   L   i   s   t   ,   o   k   )  \r   D   e
0013140    l   e   t   e       w   o   r   d  \t  \t   /   /       D   e
0013160    l   e   t   e   (   l   o   c   a   l   P   L   i   s   t   ,
0013200    r   e   m   o   t   e   P   L 376 001  \0   D   d   i   s   t
0013220    )       =       t   r   u   e   |   f   a   l   s   e  \r   D
0013240    e   l   e   t   e   F   i   l   e       w   o   r   d  \t  \t
0013260    /   /       D   e   l   e   t   e   F   i   l   e   (   l   o
0013300    c   a   l   P   L   i   s   t   )       =       t   r   u   e
0013320    |   f   a   l   s   e  \r   D   i   r   e   c   t   o   r   y
0013340        w   o   r   d  \t  \t   /   /       D   i   r   e   c   t
0013360    o   r   y   (   l   o   c   a   l   P   L   i   s   t   ,   r
0013400    e   m   o   t   e   P   L   i   s   t   )       =       t   r
0013420    u   e   |   f   a   l   s   e  \r   R   e   n   a   m   e    
0013440    w   o   r   d  \t  \t   /   /       R   e   n   a   m   e   (
0013460    o   l   d   P   L   i   s   t   ,   n   e   w   P   L   i   s
0013500    t   )       =       t   r   u   e   |   f   a   l   s   e  \r
0013520    ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0013540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0013600    -   -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0
0013620  253 305   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0013640    -   -   -   -   -  \r   s   t   r   u   c   t   u   r   e    
0013660    F   T   P   S   M   I   :  \t   /   /       F   t   p       S
0013700    e   r   v   e   r       M   a   i   l       I   n   t   e   r
0013720    f   a   c   e  \r   /   /   -   -   -   -   -   -   -   -   -
0013740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014040    -   -  \r   [  \r   S   t   o   r   e   M   a   i   l       w
0014060    o   r   d  \t  \t   /   /       S   t   o   r   e   M   a   i
0014100    l   (   p   L   i   s   t   )       =       t   r   u   e   |
0014120    f   a   l   s   e  \r   S   t   o   r   e   M   a   i   l   M
0014140    e   s   s   a   g   e       w   o   r   d  \t   /   /       S
0014160    t   o   r   e   M   a   i   l   M   e   s   s   a   g   e   (
0014200    )       =       t   r   u   e   |   f   a   l   s   e  \r   S
0014220    t   o 376 001  \0   p 336   r   e   M   a   i   l   C   l   e
0014240    a   n   u   p       w   o   r   d  \t   /   /       S   t   o
0014260    r   e   M   a   i   l   C   l   e   a   n   u   p   (   o   k
0014300    )  \r   R   e   t   r   i   e   v   e   M   a   i   l       w
0014320    o   r   d  \t   /   /       R   e   t   r   i   e   v   e   M
0014340    a   i   l   (   p   L   i   s   t   )       =       p   L   i
0014360    s   t   |   f   a   l   s   e  \r   R   e   t   r   i   e   v
0014400    e   M   a   i   l   M   e   s   s   a   g   e       w   o   r
0014420    d       /   /       R   e   t   r   i   e   v   e   M   a   i
0014440    l   M   e   s   s   a   g   e   (   l   o   c   a   l   P   L
0014460    i   s   t   ,   r   e   m   o   t   e   P   L   i   s   t   )
0014500        =       t   |   f  \r   R   e   t   r   i   e   v   e   M
0014520    a   i   l   C   l   e   a   n   u   p       w   o   r   d    
0014540    /   /       R   e   t   r   i   e   v   e   M   a   i   l   C
0014560    l   e   a   n   u   p   (   r   e   m   o   t   e   P   L   i
0014600    s   t   ,   o   k   )  \r   ]  \r  \r   /   /   -   -   -   -
0014620    -   -   -   -   -   -   - 376 001  \0   =   <   -   -   -   -
0014640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014720    -   -   -   -   -   -   -   -   -   -   -   -  \r   c   o   m
0014740    p   i   l   e   t   e   s   t       M   T   P  \t  \t   /   /
0014760        F   t   p       S   e   r   v   e   r       I   n   t   e
0015000    r   f   a   c   e  \r               i   f   s   o           [
0015020        s   t   r   u   c   t   u   r   e       F   T   P   S   I
0015040        [       @   F   T   P   S   F   I   ;       @   F   T   P
0015060    S   M   I       ]       ]  \r               i   f   n   o   t
0015100        [       s   t   r   u   c   t   u   r   e       F   T   P
0015120    S   I       [       @   F   T   P   S   F   I       ]       ]
0015140   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0015160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015220    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0   ]
0015240  023   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0015260    -   -   -  \r   m   a   n   i   f   e   s   t       l   e   n
0015300    F   T   P   S   I       =       s   i   z   e       F   T   P
0015320    S   I   /   1   6  \r  \f  \r   /   /   -   -   -   -   -   -
0015340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015440    -   -   -   -   -  \r   s   t   r   u   c   t   u   r   e    
0015460    F   T   P   I   :  \t  \t   /   /       F   t   p       I   n
0015500    t   e   r   f   a   c   e  \r   /   /   -   -   -   -   -   -
0015520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015620    -   -   -   -   -  \r   [  \r   d   s   p   S   t   r   e   a
0015640    m 376 001  \0 366 305       w   o   r   d  \t  \t   /   /    
0015660    -   >       d   i   s   p   l   a   y       s   t   r   e   a
0015700    m  \r   b   s   p   S   t   r   e   a   m       w   o   r   d
0015720   \t  \t   /   /       -   >       b   s   p       S   t   r   e
0015740    a   m  \r   l   s   t       w   o   r   d  \t  \t   /   /    
0015760    -   >       l   o   g       s   t   r   e   a   m  \r   d   l
0016000    s       w   o   r   d  \t  \t   /   /       -   >       d   e
0016020    b   u   g   g   i   n   g       s   t   r   e   a   m  \r   d
0016040    b   l   s       w   o   r   d  \t  \t   /   /       -   >    
0016060    b   s   p       a   n   d       d   e   b   u   g   g   i   n
0016100    g       s   t   r   e   a   m  \r   g   e   t   C   m   d   S
0016120    t   r   i   n   g       w   o   r   d  \t   /   /       -   >
0016140        l   a   s   t       s   t   r   i   n   g       r   e   a
0016160    d       b   y       G   e   t   C   o   m   m   a   n   d  \r
0016200    f   l   a   g   s       w   o   r   d       =  \r            
0016220    [  \r               d   e   b   u   g   F   l   a   g       b
0016240    i   t  \t   /   /     376 001  \0 245   #   t   r   u   e    
0016260    e   n   a   b   l   e   s       l   o   t   s       o   f    
0016300    e   x   t   r   a       p   r   i   n   t   o   u   t  \r    
0016320            s   e   r   v   e   r   F   l   a   g       b   i   t
0016340   \t   /   /       t   r   u   e       i   f       t   h   i   s
0016360        i   s       a       s   e   r   v   e   r  \r            
0016400    n   e   w   D   i   r   e   c   t   o   r   y       b   i   t
0016420   \t   /   /       s   e   r   v   e   r       i   m   p   l   e
0016440    m   e   n   t   s       m   a   r   k   N   e   w   D   i   r
0016460    e   c   t   o   r   y  \r               n   e   w   S   t   o
0016500    r   e       b   i   t  \t  \t   /   /       s   e   r   v   e
0016520    r       i   m   p   l   e   m   e   n   t   s       m   a   r
0016540    k   N   e   w   S   t   o   r   e  \r               b   l   a
0016560    n   k       b   i   t       1   2  \r               ]  \r   @
0016600    F   T   P   S   I  \t  \t  \t   /   /       s   e   r   v   e
0016620    r       i   n   t   e   r   f   a   c   e  \r   ]  \r   m   a
0016640    n   i   f   e   s   t       l   e   n   F 376 001  \0 321 372
0016660    T   P   I       =       s   i   z   e       F   T   P   I   /
0016700    1   6  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0016720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0017020    -  \r   s   t   r   u   c   t   u   r   e       F   t   p   C
0017040    t   x   :  \t   /   /       F   t   p       C   o   n   t   e
0017060    x   t  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0017100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0017200   \r   [  \r   @   R   S   C   t   x  \r   f   t   p   i       w
0017220    o   r   d       =       @   F   T   P   I  \r               [
0017240   \r               d   i   s   k   S   t   r   e   a   m       w
0017260  376 001  \0   x 016   o   r   d  \t   /   /       -   >       d
0017300    i   s   k       s   t   r   e   a   m  \r               f   d
0017320        w   o   r   d  \t  \t   /   /       -   >       I   F   S
0017340        f   i   l   e       d   e   s   c   r   i   p   t   o   r
0017360   \r               ]       =  \r               [  \r            
0017400    m   s   g       w   o   r   d  \t  \t   /   /       -   >    
0017420    M   s   g       d   e   s   c   r   i   p   t   o   r  \r    
0017440            i   n   d   e   x       w   o   r   d  \t  \t   /   /
0017460        m   a   i   l   b   o   x       i   n   d   e   x  \r    
0017500            ]  \r   ]  \r   m   a   n   i   f   e   s   t       l
0017520    e   n   E   x   t   r   a   F   t   p   C   t   x       =    
0017540    s   i   z   e       F   t   p   C   t   x   /   1   6   -   3
0017560   \r  \r   m   a   n   i   f   e   s   t  \r   [  \r   /   /    
0017600    F   i   l   e       S   e   r   v   e   r       e   r   r   o
0017620    r       c   o   d   e   s  \r   e   c   B   i   n   a   r   y
0017640    N   o   t   T   e   x   t       =       6   0   1  \t   /   /
0017660        1   0   2     376 001  \0 234  \b   f   i   l   e       t
0017700    y   p   e       i   s       B   i   n   a   r   y       n   o
0017720    t       T   e   x   t  \r   e   c   M   a   y   B   e   T   e
0017740    x   t       =       6   0   2  \t   /   /       W   a   r   n
0017760    i   n   g   :       $   S       m   a   y       b   e       t
0020000    y   p   e       T   e   x   t  \r   e   c   C   R   L   F   C
0020020    o   n   v   e   r   s   i   o   n       =       6   0   3  \t
0020040    /   /       1   0   2       C   R   L   F       c   o   n   v
0020060    e   r   s   i   o   n       n   o   t       s   u   p   p   o
0020100    r   t   e   d  \r   e   c   B   y   t   e   S   i   z   e    
0020120    =       6   0   4  \t   /   /       1   0   2       r   e   q
0020140    u   e   s   t   e   d       b   y   t   e       s   i   z   e
0020160        n   o   t       e   q   u   a   l       t   o       f   i
0020200    l   e       b   y   t   e       s   i   z   e  \r   e   c   T
0020220    y   p   e   R   e   q   u   i   r   e   d       =       6   0
0020240    5  \t   /   /       1   0   2       T   Y   P   E       p   r
0020260    o   p   e   r   t   y       r   e   q 376 001  \0 255 233   u
0020300    i   r   e   d  \r   e   c   B   y   t   e   R   e   q   u   i
0020320    r   e   d       =       6   0   6  \t   /   /       1   0   2
0020340        B   Y   T   E   -   S   I   Z   E       p   r   o   p   e
0020360    r   t   y       r   e   q   u   i   r   e   d  \r   e   c   N
0020400    o   t   R   e   t   r   i   e   v   e   d       =       6   0
0020420    7  \t   /   /       1   1   0       $   S       n   o   t    
0020440    r   e   t   r   i   e   v   e   d   :       $   P  \r   e   c
0020460    N   o   t   I   m   p   l   e   m   e   n   t   e   d       =
0020500        6   0   8  \t   /   /       1       U   n   i   m   p   l
0020520    e   m   e   n   t   e   d       c   o   m   m   a   n   d  \r
0020540    e   c   N   o   t   S   t   o   r   e   d       =       6   0
0020560    9  \t   /   /       1   0   7       n   o   t       s   t   o
0020600    r   e   d   :       $   P  \r   e   c   N   e   t   T   o   D
0020620    i   s   k       =       6   1   0  \t   /   /       1   1   0
0020640        B   S   P   R   e   a   d   B   l   o   c   k       f   a
0020660    i   l   e   d  \r   e   c   D   i   s   k   T   o   N   e 376
0020700   \0   Y   d   f   t       =       6   1   1  \t   /   /       1
0020720    1   0       B   S   P   W   r   i   t   e   B   l   o   c   k
0020740        f   a   i   l   e   d  \r   e   c   F   i   l   e   D   a
0020760    m   a   g   e   d       =       6   1   2  \t   /   /       C
0021000    a   u   t   i   o   n   :       f   i   l   e       $   S    
0021020    i   s       d   a   m   a   g   e   d  \r   ]  \r 377  \0  \0
0021040    I   f   s   F   t   p   I   n   i   t   .   b   c   p   l  \0
0021060  373 231  \n 331 275  \0  \0 376 001  \0 345 340   /   /       I
0021100    f   s   F   t   p   I   n   i   t   .   b   c   p   l       -
0021120        F   i   l   e       S   e   r   v   e   r       i   n   i
0021140    t   i   a   l   i   z   a   t   i   o   n  \r   /   /       C
0021160    o   p   y   r   i   g   h   t       X   e   r   o   x       C
0021200    o   r   p   o   r   a   t   i   o   n       1   9   7   9   ,
0021220        1   9   8   0   ,       1   9   8   2  \r   /   /       L
0021240    a   s   t       m   o   d   i   f   i   e   d       M   a   y
0021260        1   3   ,       1   9   8   2           2   :   1   0    
0021300    P   M       b   y       B   o   g   g   s  \r  \r   g   e   t
0021320        "   I   f   s   F   t   p   P   r   o   t   .   d   e   c
0021340    l   "  \r   g   e   t       "   S   t   r   e   a   m   s   .
0021360    d   "  \r  \r   e   x   t   e   r   n   a   l  \r   [  \r   /
0021400    /       o   u   t   g   o   i   n   g       p   r   o   c   e
0021420    d   u   r   e   s  \r   I   n   i   t   F   t   p   S   e   r
0021440    v  \r  \r   /   /       i   n   c   o   m   i   n   g       p
0021460    r   o   c   e   d   u   r   e   s  \r   I   f 376 001  \0 223
0021500  200   s   F   t   p   S   e   r   v  \r   A   l   l   o   c   a
0021520    t   e   ;       E   n   q   u   e   u   e   ;       O   p   e
0021540    n   L   e   v   e   l   1   S   o   c   k   e   t  \r   I   n
0021560    i   t   F   t   p   U   t   i   l   ;       I   n   i   t   F
0021600    t   p   P   L   i   s   t  \r   S   e   t   B   l   o   c   k
0021620    ;       Z   e   r   o   ;       N   o   o   p   ;       S   y
0021640    s   E   r   r  \r  \r   /   /       p   r   o   c   e   d   u
0021660    r   e   s       e   x   t   e   r   n   a   l       o   n   l
0021700    y       f   o   r       O   E   P       d   e   c   l   a   r
0021720    a   t   i   o   n   s  \r   F   t   p   S   V   e   r   s   i
0021740    o   n   ;       F   t   p   S   D   i   r   e   c   t   o   r
0021760    y   ;       F   t   p   S   R   e   n   a   m   e  \r   F   t
0022000    p   S   R   e   t   r   i   e   v   e   ;       F   t   p   S
0022020    R   e   t   r   i   e   v   e   F   i   l   e  \r   F   t   p
0022040    S   S   t   o   r   e   ;       F   t   p   S   S   t   o   r
0022060    e   F   i   l   e   ;       F   t   p   S   S   t   o   r   e
0022100    C 376 001  \0     235   l   e   a   n   u   p  \r   F   t   p
0022120    S   D   e   l   e   t   e   ;       F   t   p   S   D   e   l
0022140    e   t   e   F   i   l   e   ;       F   t   p   S   N   o   t
0022160    I   m   p   l  \r  \r   /   /       o   u   t   g   o   i   n
0022200    g       s   t   a   t   i   c   s  \r   d   F   T   P   I  \r
0022220   \r   /   /       i   n   c   o   m   i   n   g       s   t   a
0022240    t   i   c   s  \r   s   y   s   Z   o   n   e   ;       r   s
0022260    Q   ;       l   P   u   p   S   o   c  \r   ]  \r  \r   s   t
0022300    a   t   i   c       d   F   T   P   I  \r  \f  \r   /   /   -
0022320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0022420    -   -   -   -   -   -   -   -   -   -  \r   l   e   t       I
0022440    n   i   t   F   t   p   S   e   r   v   (   )       b   e  \r
0022460    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0022500    -   -   -   -   -   - 376 001  \0 017 275   -   -   -   -   -
0022520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0022600    -   -  \r   [  \r   /   /       r   e   g   i   s   t   e   r
0022620        t   h   e       F   T   P       s   o   c   k   e   t    
0022640    w   i   t   h       t   h   e       s   o   c   k   e   t    
0022660    m   a   n   a   g   e   r  \r   l   e   t       r   s       =
0022700        A   l   l   o   c   a   t   e   (   s   y   s   Z   o   n
0022720    e   ,       l   e   n   R   S   )   ;       Z   e   r   o   (
0022740    r   s   ,       l   e   n   R   S   )  \r   r   s   >   >   R
0022760    S   .   p   r   o   c       =       I   f   s   F   t   p   S
0023000    e   r   v  \r   r   s   >   >   R   S   .   s   o   c       =
0023020        A   l   l   o   c   a   t   e   (   s   y   s   Z   o   n
0023040    e   ,       l   P   u   p   S   o   c   )  \r   O   p   e   n
0023060    L   e   v   e   l   1   S   o   c   k   e   t   (   r   s   >
0023100    >   R   S   .   s   o   c   ,       t   a 376 001  \0 226 301
0023120    b   l   e       [       0   ;       0   ;       s   o   c   k
0023140    e   t   F   T   P       ]   )  \r   r   s   >   >   R   S   .
0023160    e   x   t   r   a   S   p   a   c   e       =       l   e   n
0023200    E   x   t   r   a   F   t   p   C   t   x  \r   r   s   >   >
0023220    R   S   .   t   y   p   e       =       j   o   b   T   y   p
0023240    e   F   T   P  \r   E   n   q   u   e   u   e   (   r   s   Q
0023260    ,       r   s   )  \r  \r   /   /       F   t   p       p   a
0023300    c   k   a   g   e       i   n   i   t   i   a   l   i   z   a
0023320    t   i   o   n  \r   I   n   i   t   F   t   p   U   t   i   l
0023340    (   )  \r   I   n   i   t   F   t   p   P   L   i   s   t   (
0023360    )  \r  \r   /   /       b   u   i   l   d       t   h   e    
0023400    d   e   f   a   u   l   t       F   t   p       I   n   t   e
0023420    r   f   a   c   e  \r   d   F   T   P   I       =       A   l
0023440    l   o   c   a   t   e   (   s   y   s   Z   o   n   e   ,    
0023460    l   e   n   F   T   P   I   )   ;       Z   e   r   o   (   d
0023500    F   T   P   I   ,       l   e   n   F   T   P   I   )  \r   d
0023520  376 001  \0   Y   $   F   T   P   I   >   >   F   T   P   I   .
0023540    d   s   p   S   t   r   e   a   m       =       l   v       N
0023560    o   o   p       -       o   f   f   s   e   t       S   T   .
0023600    p   u   t   s   /   1   6  \r   d   F   T   P   I   >   >   F
0023620    T   P   I   .   l   s   t       =       l   v       N   o   o
0023640    p       -       o   f   f   s   e   t       S   T   .   p   u
0023660    t   s   /   1   6  \r   d   F   T   P   I   >   >   F   T   P
0023700    I   .   d   l   s       =       l   v       N   o   o   p    
0023720    -       o   f   f   s   e   t       S   T   .   p   u   t   s
0023740    /   1   6  \r   d   F   T   P   I   >   >   F   T   P   I   .
0023760    V   e   r   s   i   o   n       =       F   t   p   S   V   e
0024000    r   s   i   o   n  \r   d   F   T   P   I   >   >   F   T   P
0024020    I   .   S   t   o   r   e       =       F   t   p   S   S   t
0024040    o   r   e  \r   d   F   T   P   I   >   >   F   T   P   I   .
0024060    S   t   o   r   e   F   i   l   e       =       F   t   p   S
0024100    S   t   o   r   e   F   i   l   e  \r   d   F   T   P   I   >
0024120    >   F   T   P   I 376 001  \0   I 031   .   S   t   o   r   e
0024140    C   l   e   a   n   u   p       =       F   t   p   S   S   t
0024160    o   r   e   C   l   e   a   n   u   p  \r   d   F   T   P   I
0024200    >   >   F   T   P   I   .   R   e   t   r   i   e   v   e    
0024220    =       F   t   p   S   R   e   t   r   i   e   v   e  \r   d
0024240    F   T   P   I   >   >   F   T   P   I   .   R   e   t   r   i
0024260    e   v   e   F   i   l   e       =       F   t   p   S   R   e
0024300    t   r   i   e   v   e   F   i   l   e  \r   d   F   T   P   I
0024320    >   >   F   T   P   I   .   R   e   t   r   i   e   v   e   C
0024340    l   e   a   n   u   p       =       N   o   o   p  \r   d   F
0024360    T   P   I   >   >   F   T   P   I   .   D   e   l   e   t   e
0024400        =       F   t   p   S   D   e   l   e   t   e  \r   d   F
0024420    T   P   I   >   >   F   T   P   I   .   D   e   l   e   t   e
0024440    F   i   l   e       =       F   t   p   S   D   e   l   e   t
0024460    e   F   i   l   e  \r   d   F   T   P   I   >   >   F   T   P
0024500    I   .   D   i   r   e   c   t   o   r   y       =       F   t
0024520    p   S   D   i   r   e   c   t   o   r 376  \0   w   4   y   y
0024540   \r   d   F   T   P   I   >   >   F   T   P   I   .   R   e   n
0024560    a   m   e       =       F   t   p   S   R   e   n   a   m   e
0024600   \r   d   F   T   P   I   >   >   F   T   P   I   .   S   t   o
0024620    r   e   M   a   i   l       =       F   t   p   S   N   o   t
0024640    I   m   p   l  \r   d   F   T   P   I   >   >   F   T   P   I
0024660    .   R   e   t   r   i   e   v   e   M   a   i   l       =    
0024700    F   t   p   S   N   o   t   I   m   p   l  \r   ]  \r 032   (
0024720    1   8   0   0   )  \r 377  \0  \0   I   f   s   F   t   p   S
0024740    e   r   v   .   b   c   p   l  \0 373 231  \n 332 005  \0  \0
0024760  376 001  \0 205   =   /   /       I   f   s   F   t   p   S   e
0025000    r   v   .   b   c   p   l       -       I   F   S       F   t
0025020    p       S   e   r   v   e   r  \r   /   /       C   o   p   y
0025040    r   i   g   h   t       X   e   r   o   x       C   o   r   p
0025060    o   r   a   t   i   o   n       1   9   7   9   ,       1   9
0025100    8   0   ,       1   9   8   1   ,       1   9   8   2  \r   /
0025120    /       L   a   s   t       m   o   d   i   f   i   e   d    
0025140    M   a   y       1   3   ,       1   9   8   2           2   :
0025160    1   3       P   M       b   y       B   o   g   g   s  \r  \r
0025200    g   e   t       "   I   f   s   F   t   p   P   r   o   t   .
0025220    d   e   c   l   "  \r   g   e   t       "   I   f   s   F   i
0025240    l   e   s   .   d   e   c   l   "  \r  \r   e   x   t   e   r
0025260    n   a   l  \r   [  \r   /   /       o   u   t   g   o   i   n
0025300    g       p   r   o   c   e   d   u   r   e   s  \r   I   f   s
0025320    F   t   p   S   e   r   v  \r  \r   /   /       i   n   c   o
0025340    m   i   n   g       p   r   o   c   e   d   u   r   e   s  \r
0025360    F   t   p   S   e 376 001  \0 220 330   r   v   P   r   o   t
0025400   \r   C   r   e   a   t   e   U   s   e   r   I   n   f   o   ;
0025420        D   e   s   t   r   o   y   U   s   e   r   I   n   f   o
0025440   \r   F   r   e   e   P   o   i   n   t   e   r   ;       D   e
0025460    s   t   r   o   y   J   o   b   ;       M   o   v   e   B   l
0025500    o   c   k  \r  \r   /   /       i   n   c   o   m   i   n   g
0025520        s   t   a   t   i   c   s  \r   d   F   T   P   I   ;    
0025540    o   f   f   s   e   t   B   S   P   S   t   r  \r   ]  \r  \r
0025560    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0025600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0025660    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   l   e
0025700    t       I   f   s   F   t   p   S   e   r   v   (   c   t   x
0025720    )       b   e           /   /   a       c   o   n   t   e   x
0025740    t  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0025760    -   -   -   -   -   -   -   -   -   - 376 001  \0 346 200   -
0026000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0026060    -   -   -   -  \r   [  \r   M   o   v   e   B   l   o   c   k
0026100    (   l   v       c   t   x   >   >   F   t   p   C   t   x   .
0026120    f   t   p   i   ,       d   F   T   P   I   ,       l   e   n
0026140    F   T   P   I   )  \r   c   t   x   >   >   F   t   p   C   t
0026160    x   .   b   s   p   S   t   r   e   a   m       =       c   t
0026200    x   >   >   F   t   p   C   t   x   .   b   s   p   S   o   c
0026220        +       o   f   f   s   e   t   B   S   P   S   t   r  \r
0026240    c   t   x   >   >   F   t   p   C   t   x   .   d   b   l   s
0026260        =       c   t   x   >   >   F   t   p   C   t   x   .   b
0026300    s   p   S   t   r   e   a   m  \r   c   t   x   >   >   F   t
0026320    p   C   t   x   .   u   s   e   r   I   n   f   o       =    
0026340    C   r   e   a   t   e   U   s   e   r   I   n   f   o   (   )
0026360   \r   c   t   x   >   >   F   t   p   C   t   x   .   f   d 376
0026400   \0 204 301 310       =       0  \r   F   t   p   S   e   r   v
0026420    P   r   o   t   (   1   8   0   0   0   )           /   /   m
0026440    a   i   n       l   o   o   p       i   s       i   n       h
0026460    e   r   e   .           1   8   0   0   0       =       3    
0026500    m   i   n   u   t   e   s  \r   D   e   s   t   r   o   y   U
0026520    s   e   r   I   n   f   o   (   c   t   x   >   >   F   t   p
0026540    C   t   x   .   u   s   e   r   I   n   f   o   )  \r   D   e
0026560    s   t   r   o   y   J   o   b   (   )           /   /   s   u
0026600    i   c   i   d   e  \r   ]  \r 377  \0  \0   I   f   s   F   t
0026620    p   S   t   o   r   e   .   b   c   p   l  \0 373 233 236  \t
0026640    ?  \0  \0 376 001  \0 256 355   /   /       I   f   s   F   t
0026660    p   S   t   o   r   e   .   b   c   p   l       -   -       I
0026700    F   S       F   t   p       S   t   o   r   e       c   o   m
0026720    m   a   n   d  \r   /   /       C   o   p   y   r   i   g   h
0026740    t       X   e   r   o   x       C   o   r   p   o   r   a   t
0026760    i   o   n       1   9   7   9   ,       1   9   8   0   ,    
0027000    1   9   8   1   ,       1   9   8   2   ,       1   9   8   3
0027020   \r   /   /       L   a   s   t       m   o   d   i   f   i   e
0027040    d       S   e   p   t   e   m   b   e   r       2   3   ,    
0027060    1   9   8   3           6   :   0   9       P   M       b   y
0027100        T   a   f   t  \r  \r   g   e   t       "   I   f   s   .
0027120    d   e   c   l   "  \r   g   e   t       "   I   f   s   D   i
0027140    r   s   .   d   e   c   l   "  \r   g   e   t       "   I   f
0027160    s   F   i   l   e   s   .   d   e   c   l   "  \r   g   e   t
0027200        "   I   f   s   F   t   p   P   r   o   t   .   d   e   c
0027220    l   "  \r  \r   e   x   t   e   r   n   a   l  \r   [  \r   /
0027240    /       o   u   t   g   o   i 376 001  \0   7 317   n   g    
0027260    p   r   o   c   e   d   u   r   e   s  \r   F   t   p   S   S
0027300    t   o   r   e   ;       F   t   p   S   S   t   o   r   e   F
0027320    i   l   e   ;       F   t   p   S   S   t   o   r   e   C   l
0027340    e   a   n   u   p   ;       F   t   p   S   S   e   t   P   r
0027360    o   p   s  \r  \r   /   /       i   n   c   o   m   i   n   g
0027400        p   r   o   c   e   d   u   r   e   s       f   r   o   m
0027420        o   t   h   e   r       F   t   p       f   i   l   e   s
0027440   \r   F   t   p   S   M   a   k   e   S   F   I   L   ;       F
0027460    t   p   S   S   e   n   d   M   a   r   k  \r   F   t   p   S
0027500    C   h   e   c   k   A   c   c   e   s   s   ;       F   t   p
0027520    S   F   i   l   l   P   L   F   r   o   m   L   D  \r   N   e
0027540    t   T   o   D   i   s   k   ;       F   r   e   e   P   L   i
0027560    s   t  \r  \r   /   /       i   n   c   o   m   i   n   g    
0027600    p   r   o   c   e   d   u   r   e   s       f   r   o   m    
0027620    I   F   S       D   i   r   s  \r   I   F   S   O   p   e   n
0027640    F   i   l   e   ;       D   e   l   e   t   e   F 376 001  \0
0027660    ` 232   i   l   e   F   r   o   m   F   D   ;       G   e   t
0027700    B   u   f   f   e   r   F   o   r   F   D  \r   S   t   r   e
0027720    a   m   s   F   D   ;       D   e   s   t   r   o   y   F   D
0027740   \r   C   l   o   s   e   I   F   S   S   t   r   e   a   m   ;
0027760        C   l   o   s   e   I   F   S   F   i   l   e   ;       T
0030000    r   a   n   s   f   e   r   L   e   a   d   e   r   P   a   g
0030020    e  \r  \r   /   /       i   n   c   o   m   i   n   g       p
0030040    r   o   c   e   d   u   r   e   s       -       m   i   s   c
0030060    e   l   l   a   n   e   o   u   s  \r   S   y   s   F   r   e
0030100    e   ;       M   o   v   e   B   l   o   c   k   ;       I   F
0030120    S   P   r   i   n   t   E   r   r   o   r   ;       C   o   p
0030140    y   S   t   r   i   n   g   ;       F   r   e   e   P   o   i
0030160    n   t   e   r   ;       E   x   t   r   a   c   t   S   u   b
0030200    s   t   r   i   n   g  \r  \r   /   /       i   n   c   o   m
0030220    i   n   g       s   t   a   t   i   c   s  \r   C   t   x   R
0030240    u   n   n   i   n   g  \r   ]  \r  \f  \r   /   /   -   -   -
0030260    -   - 376 001  \0 035 325   -   -   -   -   -   -   -   -   -
0030300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0030360    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   l   e
0030400    t       F   t   p   S   S   t   o   r   e   (   r   e   m   o
0030420    t   e   P   L   )       =       v   a   l   o   f  \r   /   /
0030440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0030540    -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   u   n
0030560    l   e   s   s       F   t   p   S   C   h   e   c   k   A   c
0030600    c   e   s   s   (   r   e   m   o   t   e   P   L   )       r
0030620    e   s   u   l   t   i   s       f   a   l   s   e  \r  \r   s
0030640    w   i   t   c   h   o   n       r   e   m   o   t   e   P   L
0030660    >   >   P   L   .   T   Y 376 001  \0   *   B   P   E       i
0030700    n   t   o  \r               [  \r               c   a   s   e
0030720        U   n   s   p   e   c   i   f   i   e   d   :  \r        
0030740                    r   e   s   u   l   t   i   s       F   t   p
0030760    S   S   e   n   d   M   a   r   k   (   m   a   r   k   N   o
0031000    ,       e   c   T   y   p   e   R   e   q   u   i   r   e   d
0031020    )  \r               c   a   s   e       T   e   x   t   :  \r
0031040                            i   f       r   e   m   o   t   e   P
0031060    L   >   >   P   L   .   E   O   L   C       e   q       C   R
0031100    L   F       t   h   e   n  \r                                
0031120        r   e   s   u   l   t   i   s       F   t   p   S   S   e
0031140    n   d   M   a   r   k   (   m   a   r   k   N   o   ,       e
0031160    c   C   R   L   F   C   o   n   v   e   r   s   i   o   n   )
0031200   \r                           e   n   d   c   a   s   e  \r    
0031220            c   a   s   e       B   i   n   a   r   y   :  \r    
0031240                        i   f       r   e   m   o   t   e   P   L
0031260    >   >   P   L   .   B   Y   T   E       e   q 376 001  \0   b
0031300  026       0       t   h   e   n  \r                            
0031320            r   e   s   u   l   t   i   s       F   t   p   S   S
0031340    e   n   d   M   a   r   k   (   m   a   r   k   N   o   ,    
0031360    e   c   B   y   t   e   R   e   q   u   i   r   e   d   )  \r
0031400                            e   n   d   c   a   s   e  \r        
0031420        ]  \r  \r   F   t   p   S   M   a   k   e   S   F   I   L
0031440    (   r   e   m   o   t   e   P   L   )  \r   l   e   t       e
0031460    c       =       n   i   l  \r   C   t   x   R   u   n   n   i
0031500    n   g   >   >   F   t   p   C   t   x   .   d   i   s   k   S
0031520    t   r   e   a   m       =       I   F   S   O   p   e   n   F
0031540    i   l   e   (   r   e   m   o   t   e   P   L   >   >   P   L
0031560    .   S   F   I   L   ,       l   v       e   c   ,  \r       m
0031600    o   d   e   W   r   i   t   e   ,       0   ,       0   ,    
0031620    0   ,       r   e   m   o   t   e   P   L   >   >   P   L   .
0031640    D   I   R   E   )  \r   i   f       C   t   x   R   u   n   n
0031660    i   n   g   >   >   F   t   p   C   t   x   .   d   i   s   k
0031700    S 376 001  \0 374 016   t   r   e   a   m       e   q       0
0031720        t   h   e   n       r   e   s   u   l   t   i   s       F
0031740    t   p   S   S   e   n   d   M   a   r   k   (   m   a   r   k
0031760    N   o   ,       e   c   )  \r  \r   /   /       o   b   t   a
0032000    i   n       p   r   o   p   e   r   t   i   e   s       f   o
0032020    r       t   h   e       a   c   t   u   a   l       f   i   l
0032040    e       t   h   a   t       w   a   s       c   r   e   a   t
0032060    e   d  \r   C   t   x   R   u   n   n   i   n   g   >   >   F
0032100    t   p   C   t   x   .   f   d       =       S   t   r   e   a
0032120    m   s   F   D   (   C   t   x   R   u   n   n   i   n   g   >
0032140    >   F   t   p   C   t   x   .   d   i   s   k   S   t   r   e
0032160    a   m   )  \r   l   e   t       l   o   c   a   l   P   L    
0032200    =       F   t   p   S   F   i   l   l   P   L   F   r   o   m
0032220    L   D   (   r   e   m   o   t   e   P   L   )           /   /
0032240        c   a   n   '   t       f   a   i   l   ,       f   i   l
0032260    e       i   s       l   o   c   k   e   d  \r  \r   /   /    
0032300    n   o   w       c   o 376 001  \0 004 255   p   y       u   s
0032320    e   r   '   s       p   r   o   p   e   r   t   i   e   s    
0032340    t   h   a   t       w   e       w   i   l   l       p   u   t
0032360        i   n       f   i   l   e       o   n   c   e       i   t
0032400        g   e   t   s       s   t   o   r   e   d   .  \r   /   /
0032420        N   o   t   e       t   h   a   t       w   e       d   o
0032440    n   '   t       s   e   t       t   h   e   s   e       p   r
0032460    o   p   e   r   t   i   e   s       n   o   w   ,       b   e
0032500    c   a   u   s   e       t   h   e       u   s   e   r       s
0032520    t   i   l   l       h   a   s  \r   /   /       a       c   h
0032540    a   n   c   e       t   o       a   b   a   n   d   o   n    
0032560    t   h   e       s   t   o   r   e       a   n   d       w   e
0032600        d   o   n   '   t       w   a   n   t       t   o       m
0032620    o   d   i   f   y       t   h   e       f   i   l   e       y
0032640    e   t   .  \r   l   o   c   a   l   P   L   >   >   P   L   .
0032660    T   Y   P   E       =       r   e   m   o   t   e   P   L   >
0032700    >   P   L   .   T   Y   P   E  \r   l   o 376 001  \0 201  \t
0032720    c   a   l   P   L   >   >   P   L   .   B   Y   T   E       =
0032740        r   e   m   o   t   e   P   L   >   >   P   L   .   B   Y
0032760    T   E  \r   i   f       r   e   m   o   t   e   P   L   >   >
0033000    P   L   .   C   D   A   T   .   h       n   e       0       t
0033020    h   e   n  \r               M   o   v   e   B   l   o   c   k
0033040    (   l   v       l   o   c   a   l   P   L   >   >   P   L   .
0033060    C   D   A   T   ,       l   v       r   e   m   o   t   e   P
0033100    L   >   >   P   L   .   C   D   A   T   ,       2   )  \r   M
0033120    o   v   e   B   l   o   c   k   (   l   v       l   o   c   a
0033140    l   P   L   >   >   P   L   .   S   I   Z   E   ,       l   v
0033160        r   e   m   o   t   e   P   L   >   >   P   L   .   S   I
0033200    Z   E   ,       2   )           /   /       t   h   i   s    
0033220    i   s       a       l   i   e       -   -  \r               /
0033240    /       s   i   z   e       w   i   l   l       b   e       d
0033260    e   t   e   r   m   i   n   e   d       b   y       t   h   e
0033300        n   u   m   b   e   r       o   f       b   y   t   e   s
0033320  376 001  \0 245   \       t   h   e       u   s   e   r       a
0033340    c   t   u   a   l   l   y       s   e   n   d   s   .  \r   i
0033360    f       r   e   m   o   t   e   P   L   >   >   P   L   .   A
0033400    U   T   H       n   e       0       t   h   e   n  \r        
0033420        [  \r               F   r   e   e   P   o   i   n   t   e
0033440    r   (   l   v       l   o   c   a   l   P   L   >   >   P   L
0033460    .   A   U   T   H   )  \r               l   o   c   a   l   P
0033500    L   >   >   P   L   .   A   U   T   H       =       E   x   t
0033520    r   a   c   t   S   u   b   s   t   r   i   n   g   (   r   e
0033540    m   o   t   e   P   L   >   >   P   L   .   A   U   T   H   )
0033560   \r               ]  \r   l   o   c   a   l   P   L   >   >   P
0033600    L   .   C   S   U   M       =       r   e   m   o   t   e   P
0033620    L   >   >   P   L   .   C   S   U   M  \r  \r   r   e   s   u
0033640    l   t   i   s       l   o   c   a   l   P   L  \r   ]  \r  \f
0033660   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0033700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0033720    -   -   -   -   - 376 001  \0 340 254   -   -   -   -   -   -
0033740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0034000    -   -   -  \r   a   n   d       F   t   p   S   S   t   o   r
0034020    e   F   i   l   e   (   r   e   m   o   t   e   P   L   ,    
0034040    l   o   c   a   l   P   L   )       =       v   a   l   o   f
0034060   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0034100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0034160    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0034200   \r   /   /       S   e   t       a   n   y       f   i   l   e
0034220        p   r   o   p   e   r   t   i   e   s       t   h   a   t
0034240        a   r   e       s   u   p   p   l   i   e   d       i   n
0034260        r   e   m   o   t   e   P   L   .  \r   /   /       T   h
0034300    e       f   i   l   e       i   s       l   o   c   k   e   d
0034320    ,       s   o       t   h   e   r   e 376 001  \0 245  \0    
0034340    i   s       n   o       n   e   e   d       t   o       l   o
0034360    c   k       t   h   e       d   i   r   e   c   t   o   r   y
0034400        f   o   r       t   h   i   s   .  \r   l   e   t       f
0034420    d       =       S   t   r   e   a   m   s   F   D   (   C   t
0034440    x   R   u   n   n   i   n   g   >   >   F   t   p   C   t   x
0034460    .   d   i   s   k   S   t   r   e   a   m   )  \r   l   e   t
0034500        i   l   d       =       G   e   t   B   u   f   f   e   r
0034520    F   o   r   F   D   (   f   d   )  \r   T   r   a   n   s   f
0034540    e   r   L   e   a   d   e   r   P   a   g   e   (   f   d   ,
0034560        i   l   d   )  \r   F   t   p   S   S   e   t   P   r   o
0034600    p   s   (   i   l   d   ,       r   e   m   o   t   e   P   L
0034620    )  \r   T   r   a   n   s   f   e   r   L   e   a   d   e   r
0034640    P   a   g   e   (   f   d   ,       i   l   d   ,       t   r
0034660    u   e   )  \r   S   y   s   F   r   e   e   (   i   l   d   )
0034700   \r  \r   /   /       T   r   a   n   s   f   e   r       t   h
0034720    e       f   i   l   e   .  \r   l   e   t       e   c     376
0034740  001  \0   \ 211   =       N   e   t   T   o   D   i   s   k   (
0034760    C   t   x   R   u   n   n   i   n   g   >   >   F   t   p   C
0035000    t   x   .   d   i   s   k   S   t   r   e   a   m   ,  \r    
0035020    C   t   x   R   u   n   n   i   n   g   >   >   F   t   p   C
0035040    t   x   .   b   s   p   S   t   r   e   a   m   ,       l   v
0035060        r   e   m   o   t   e   P   L   >   >   P   L   .   S   I
0035100    Z   E   )  \r   i   f       e   c       e   q       0       r
0035120    e   s   u   l   t   i   s       t   r   u   e  \r   r   e   s
0035140    u   l   t   i   s       F   t   p   S   S   e   n   d   M   a
0035160    r   k   (   m   a   r   k   N   o   ,       e   c   N   o   t
0035200    S   t   o   r   e   d   ,       I   F   S   P   r   i   n   t
0035220    E   r   r   o   r   ,       e   c   )  \r   ]  \r  \r   /   /
0035240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0035340    -   -   -   - 376 001  \0   1   Y   -   -   -   -   -   -   -
0035360   \r   a   n   d       F   t   p   S   S   t   o   r   e   C   l
0035400    e   a   n   u   p   (   r   e   m   o   t   e   P   L   ,    
0035420    o   k   ,       l   o   c   a   l   P   L   )       b   e  \r
0035440    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0035460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0035540    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r
0035560    C   t   x   R   u   n   n   i   n   g   >   >   F   t   p   C
0035600    t   x   .   f   d       =       0  \r   F   r   e   e   P   L
0035620    i   s   t   (   l   o   c   a   l   P   L   )  \r   /   /    
0035640    d   e   s   t   r   o   y       s   t   r   e   a   m       u
0035660    n   c   o   n   d   i   t   i   o   n   a   l   l   y   ,    
0035700    b   u   t       c   l   o   s   e       f   i   l   e       o
0035720    n   l   y       i   f       t   r   a   n   s   f   e   r    
0035740    w   e   n   t       o   k  \r   l 376 001  \0 022 307   e   t
0035760        f   d       =       C   l   o   s   e   I   F   S   S   t
0036000    r   e   a   m   (   C   t   x   R   u   n   n   i   n   g   >
0036020    >   F   t   p   C   t   x   .   d   i   s   k   S   t   r   e
0036040    a   m   ,       n   o   t       o   k   )  \r   u   n   l   e
0036060    s   s       o   k       d   o  \r               /   /       T
0036100    h   e       f   i   l   e       i   s       d   a   m   a   g
0036120    e   d   ,       a   n   d       w   e       m   u   s   t    
0036140    d   e   s   t   r   o   y       i   t       i   f       w   e
0036160        c   a   n  \r               i   f       D   e   l   e   t
0036200    e   F   i   l   e   F   r   o   m   F   D   (   f   d   ,    
0036220    f   a   l   s   e   ,       t   r   u   e   )       n   e    
0036240    0       t   h   e   n       C   l   o   s   e   I   F   S   F
0036260    i   l   e   (   f   d   )  \r   D   e   s   t   r   o   y   F
0036300    D   (   f   d   )  \r   ]  \r  \r   /   /   -   -   -   -   -
0036320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0036340    -   -   -   -   -   -   -   -   -   -   -   -   -   - 376 001
0036360   \0 245   u   -   -   -   -   -   -   -   -   -   -   -   -   -
0036400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0036420    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0036440    F   t   p   S   S   e   t   P   r   o   p   s   (   i   l   d
0036460    ,       r   e   m   o   t   e   P   L   )       b   e  \r   /
0036500    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0036520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0036600    -   -   -   -   -   -   -   -   -   -   -   -  \r   /   /    
0036620    C   o   p   i   e   s       f   i   l   e       p   r   o   p
0036640    e   r   t   i   e   s       f   r   o   m       r   e   m   o
0036660    t   e   P   L       i   n   t   o       l   e   a   d   e   r
0036700        p   a   g   e       s   u   p   p   l   i   e   d       b
0036720    y       c   a   l   l   e   r   ,  \r   /   /       w   h   o
0036740        i   s       e   x   p   e   c   t   e   d       t   o    
0036760    r   e   w 376 001  \0   ! 322   r   i   t   e       i   t    
0037000    a   f   t   e   r   w   a   r   d   .           (   C   a   l
0037020    l   e   d       b   y       S   t   o   r   e       a   n   d
0037040        R   e   n   a   m   e   .   )  \r   [  \r   i   f       r
0037060    e   m   o   t   e   P   L   >   >   P   L   .   T   Y   P   E
0037100        n   e       0       t   h   e   n       i   l   d   >   >
0037120    I   L   D   .   t   y   p   e       =       r   e   m   o   t
0037140    e   P   L   >   >   P   L   .   T   Y   P   E  \r   i   f    
0037160    r   e   m   o   t   e   P   L   >   >   P   L   .   B   Y   T
0037200    E       n   e       0       t   h   e   n       i   l   d   >
0037220    >   I   L   D   .   b   y   t   e   S   i   z   e       =    
0037240    r   e   m   o   t   e   P   L   >   >   P   L   .   B   Y   T
0037260    E  \r   i   f       r   e   m   o   t   e   P   L   >   >   P
0037300    L   .   C   D   A   T   .   h       n   e       0       t   h
0037320    e   n  \r               M   o   v   e   B   l   o   c   k   (
0037340    l   v       i   l   d   >   >   I   L   D   .   c   r   e   a
0037360    t   e   d   ,       l   v     376  \0 347 023   P   r   e   m
0037400    o   t   e   P   L   >   >   P   L   .   C   D   A   T   ,    
0037420    2   )  \r   i   f       r   e   m   o   t   e   P   L   >   >
0037440    P   L   .   A   U   T   H       n   e       0       &       r
0037460    e   m   o   t   e   P   L   >   >   P   L   .   A   U   T   H
0037500    >   >   S   t   r   i   n   g   .   l   e   n   g   t   h    
0037520    l   e       m   a   x   D   i   r   N   a   m   e   C   h   a
0037540    r   s       t   h   e   n  \r               C   o   p   y   S
0037560    t   r   i   n   g   (   l   v       i   l   d   >   >   I   L
0037600    D   .   a   u   t   h   o   r   ,       r   e   m   o   t   e
0037620    P   L   >   >   P   L   .   A   U   T   H   )  \r   i   f    
0037640    i   l   d   >   >   I   L   D   .   c   h   e   c   k   s   u
0037660    m       n   e       0       t   h   e   n       i   l   d   >
0037700    >   I   L   D   .   c   h   e   c   k   s   u   m       =    
0037720    r   e   m   o   t   e   P   L   >   >   P   L   .   C   S   U
0037740    M  \r   ]  \r 377  \0  \0   I   f   s   F   t   p   R   e   t
0037760    r   i   e   v   e   .   b   c   p   l  \0 373 231  \b 021 273
0040000   \0  \0 376 001  \0 332 361   /   /       I   f   s   F   t   p
0040020    R   e   t   r   i   e   v   e   .   b   c   p   l       -   -
0040040        I   F   S       F   t   p       R   e   t   r   i   e   v
0040060    e       c   o   m   m   a   n   d  \r   /   /       C   o   p
0040100    y   r   i   g   h   t       X   e   r   o   x       C   o   r
0040120    p   o   r   a   t   i   o   n       1   9   7   9   ,       1
0040140    9   8   0   ,       1   9   8   1  \r   /   /       L   a   s
0040160    t       m   o   d   i   f   i   e   d       M   a   y       1
0040200    1   ,       1   9   8   2           1   1   :   3   3       A
0040220    M       b   y       T   a   f   t  \r  \r   g   e   t       "
0040240    I   f   s   D   i   r   s   .   d   e   c   l   "  \r   g   e
0040260    t       "   I   f   s   F   i   l   e   s   .   d   e   c   l
0040300    "  \r   g   e   t       "   I   f   s   F   t   p   P   r   o
0040320    t   .   d   e   c   l   "  \r  \r   e   x   t   e   r   n   a
0040340    l  \r   [  \r   /   /       o   u   t   g   o   i   n   g    
0040360    p   r   o   c   e   d   u   r   e   s  \r   F   t   p   S   R
0040400    e   t   r   i   e   v   e 376 001  \0 344 005   ;       F   t
0040420    p   S   R   e   t   r   i   e   v   e   F   i   l   e  \r  \r
0040440    /   /       i   n   c   o   m   i   n   g       p   r   o   c
0040460    e   d   u   r   e   s       f   r   o   m       o   t   h   e
0040500    r       F   t   p       f   i   l   e   s  \r   F   t   p   S
0040520    M   a   k   e   S   F   I   L   ;       F   t   p   S   S   e
0040540    n   d   M   a   r   k  \r   F   t   p   S   C   h   e   c   k
0040560    A   c   c   e   s   s   ;       F   t   p   S   F   i   l   l
0040600    P   L   F   r   o   m   L   D  \r   M   t   p   S   A   n   o
0040620    n   y   m   o   u   s   A   c   c   e   s   s   ;       F   t
0040640    p   S   C   h   e   c   k   C   o   n   n   e   c   t   i   o
0040660    n  \r   D   i   s   k   T   o   N   e   t   ;       F   i   l
0040700    e   T   y   p   e   ;       F   r   e   e   P   L   i   s   t
0040720   \r  \r   /   /       i   n   c   o   m   i   n   g       p   r
0040740    o   c   e   d   u   r   e   s       f   r   o   m       I   F
0040760    S       D   i   r   s  \r   N   e   x   t   F   D   ;       D
0041000    e   s   t   r   o   y   F   D  \r   L   o   o 376 001  \0   H
0041020    z   k   u   p   I   F   S   F   i   l   e   ;       O   p   e
0041040    n   I   F   S   S   t   r   e   a   m   ;       C   l   o   s
0041060    e   I   F   S   S   t   r   e   a   m  \r  \r   /   /       i
0041100    n   c   o   m   i   n   g       p   r   o   c   e   d   u   r
0041120    e   s       -       m   i   s   c   e   l   l   a   n   e   o
0041140    u   s  \r   I   F   S   P   r   i   n   t   E   r   r   o   r
0041160   \r  \r   /   /       i   n   c   o   m   i   n   g       s   t
0041200    a   t   i   c   s  \r   C   t   x   R   u   n   n   i   n   g
0041220   \r   ]  \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -
0041240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0041340    -   -  \r   l   e   t       F   t   p   S   R   e   t   r   i
0041360    e   v   e   (   r   e   m   o   t   e   P   L   ,       l   o
0041400    c   a   l   P   L   )       =       v   a   l   o   f  \r   /
0041420    / 376 001  \0   - 311   -   -   -   -   -   -   -   -   -   -
0041440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0041540    -  \r   [       /   /       r   e   p   e   a   t  \r   l   o
0041560    c   a   l   P   L       =       F   r   e   e   P   L   i   s
0041600    t   (   l   o   c   a   l   P   L   )  \r   u   n   l   e   s
0041620    s       F   t   p   S   C   h   e   c   k   C   o   n   n   e
0041640    c   t   i   o   n   (   )       r   e   s   u   l   t   i   s
0041660        f   a   l   s   e  \r   l   e   t       e   c       =    
0041700    n   i   l  \r   t   e   s   t       C   t   x   R   u   n   n
0041720    i   n   g   >   >   F   t   p   C   t   x   .   f   d       e
0041740    q       0  \r               i   f   s   o  \r                
0041760            [           /   /       f   i   r   s   t       t   i
0042000    m   e       f   o   r       t   h   i   s       R   e   t   r
0042020    i   e   v   e       r 376 001  \0 354 352   e   q   u   e   s
0042040    t  \r                           F   t   p   S   M   a   k   e
0042060    S   F   I   L   (   r   e   m   o   t   e   P   L   )  \r    
0042100                        t   e   s   t       C   t   x   R   u   n
0042120    n   i   n   g   >   >   F   t   p   C   t   x   .   t   y   p
0042140    e       e   q       j   o   b   T   y   p   e   F   T   P  \r
0042160                                        i   f   s   o       u   n
0042200    l   e   s   s       F   t   p   S   C   h   e   c   k   A   c
0042220    c   e   s   s   (   r   e   m   o   t   e   P   L   )       r
0042240    e   s   u   l   t   i   s       f   a   l   s   e  \r        
0042260                                i   f   n   o   t       u   n   l
0042300    e   s   s       M   t   p   S   A   n   o   n   y   m   o   u
0042320    s   A   c   c   e   s   s   (   r   e   m   o   t   e   P   L
0042340    )       r   e   s   u   l   t   i   s       f   a   l   s   e
0042360   \r                           C   t   x   R   u   n   n   i   n
0042400    g   >   >   F   t   p   C   t   x   .   f   d       =       L
0042420    o   o   k   u   p   I   F   S   F   i   l 376 001  \0   9 326
0042440    e   (   r   e   m   o   t   e   P   L   >   >   P   L   .   S
0042460    F   I   L   ,  \r                               l   c   M   u
0042500    l   t   i   p   l   e   +   l   c   V   H   i   g   h   e   s
0042520    t   ,       l   v       e   c   ,       0   ,       r   e   m
0042540    o   t   e   P   L   >   >   P   L   .   D   I   R   E   )  \r
0042560                            i   f       C   t   x   R   u   n   n
0042600    i   n   g   >   >   F   t   p   C   t   x   .   f   d       e
0042620    q       0       r   e   s   u   l   t   i   s       F   t   p
0042640    S   S   e   n   d   M   a   r   k   (   m   a   r   k   N   o
0042660    ,       e   c   )  \r                           ]  \r        
0042700        i   f   n   o   t       u   n   l   e   s   s       N   e
0042720    x   t   F   D   (   C   t   x   R   u   n   n   i   n   g   >
0042740    >   F   t   p   C   t   x   .   f   d   ,       f   a   l   s
0042760    e   )       d   o  \r                           [           /
0043000    /       f   a   i   l   e   d       -       n   o       m   o
0043020    r   e       f   i   l   e   s  \r                           C
0043040  376 001  \0 354 271   t   x   R   u   n   n   i   n   g   >   >
0043060    F   t   p   C   t   x   .   f   d       =       D   e   s   t
0043100    r   o   y   F   D   (   C   t   x   R   u   n   n   i   n   g
0043120    >   >   F   t   p   C   t   x   .   f   d   )  \r            
0043140                r   e   s   u   l   t   i   s       f   a   l   s
0043160    e  \r                           ]  \r   l   e   t       f   d
0043200        =       C   t   x   R   u   n   n   i   n   g   >   >   F
0043220    t   p   C   t   x   .   f   d  \r  \r   /   /       S   e   t
0043240        u   p       o   u   t   g   o   i   n   g       p   r   o
0043260    p   e   r   t   y       l   i   s   t  \r   l   o   c   a   l
0043300    P   L       =       F   t   p   S   F   i   l   l   P   L   F
0043320    r   o   m   L   D   (   r   e   m   o   t   e   P   L   ,    
0043340    t   r   u   e   )  \r   i   f       l   o   c   a   l   P   L
0043360        e   q       0       t   h   e   n       l   o   o   p    
0043400        /   /       f   i   l   e       w   e   n   t       a   w
0043420    a   y   ?  \r  \r   /   /       I   f       w   e       e   n
0043440    c   o   u   n   t 376 001  \0 016 342   e   r       p   r   o
0043460    b   l   e   m   s       w   i   t   h       t   h   e       p
0043500    L   i   s   t   ,       r   e   s   p   o   n   d       w   i
0043520    t   h       e   i   t   h   e   r  \r   /   /           m   a
0043540    r   k   N   o       o   r       m   a   r   k   C   o   m   m
0043560    e   n   t       d   e   p   e   n   d   i   n   g       o   n
0043600        w   h   e   t   h   e   r       t   h   e       r   e   t
0043620    r   i   e   v   e       r   e   q   u   e   s   t  \r   /   /
0043640            s   p   e   c   i   f   i   e   d       m   u   l   t
0043660    i   p   l   e       f   i   l   e   s       (   s   e   r   v
0043700    e   r   F   i   l   e   n   a   m   e       c   o   n   t   a
0043720    i   n   e   d       a       w   i   l   d   c   a   r   d    
0043740    c   h   a   r   )   .  \r   l   e   t       m   a   r   k   F
0043760    a   i   l       =       f   d   >   >   F   D   .   t   e   m
0044000    p   l   a   t   e       e   q       0   ?       m   a   r   k
0044020    N   o   ,       m   a   r   k   C   o   m   m   e   n   t  \r
0044040   \r   i   f       l   o   c   a   l   P 376 001  \0 312   m   L
0044060    >   >   P   L   .   T   Y   P   E       e   q       U   n   s
0044100    p   e   c   i   f   i   e   d       t   h   e   n  \r        
0044120        [           /   /       d   o       i   t       t   h   e
0044140        h   a   r   d       w   a   y  \r               l   e   t
0044160        d   i   s   k   S   t   r   e   a   m       =       O   p
0044200    e   n   I   F   S   S   t   r   e   a   m   (   f   d   ,    
0044220    l   v       e   c   )  \r               t   e   s   t       d
0044240    i   s   k   S   t   r   e   a   m       n   e       0  \r    
0044260                        i   f   s   o  \r                        
0044300                [  \r                                       l   o
0044320    c   a   l   P   L   >   >   P   L   .   T   Y   P   E       =
0044340        F   i   l   e   T   y   p   e   (   d   i   s   k   S   t
0044360    r   e   a   m   )   ?       T   e   x   t   ,       B   i   n
0044400    a   r   y  \r                                       C   l   o
0044420    s   e   I   F   S   S   t   r   e   a   m   (   d   i   s   k
0044440    S   t   r   e   a   m   )  \r                             376
0044460  001  \0   '   m           ]  \r                           i   f
0044500    n   o   t       l   o   c   a   l   P   L   >   >   P   L   .
0044520    T   Y   P   E       =       r   e   m   o   t   e   P   L   >
0044540    >   P   L   .   T   Y   P   E       n   e       0   ?  \r    
0044560                            r   e   m   o   t   e   P   L   >   >
0044600    P   L   .   T   Y   P   E   ,       B   i   n   a   r   y  \r
0044620                ]  \r  \r   i   f       r   e   m   o   t   e   P
0044640    L   >   >   P   L   .   T   Y   P   E       n   e       0    
0044660    &  \r       l   o   c   a   l   P   L   >   >   P   L   .   T
0044700    Y   P   E       n   e       r   e   m   o   t   e   P   L   >
0044720    >   P   L   .   T   Y   P   E       t   h   e   n  \r        
0044740        t   e   s   t       l   o   c   a   l   P   L   >   >   P
0044760    L   .   T   Y   P   E       e   q       B   i   n   a   r   y
0045000   \r                           i   f   s   o  \r                
0045020                        [  \r                                    
0045040    F   t   p   S   S   e   n   d   M   a   r   k   (   m   a   r
0045060    k   F   a   i 376 001  \0 272 222   l   ,       e   c   N   o
0045100    t   R   e   t   r   i   e   v   e   d   ,       l   v       f
0045120    d   >   >   F   D   .   d   r   >   >   D   R   .   p   a   t
0045140    h   N   a   m   e   ,  \r                                    
0045160        I   F   S   P   r   i   n   t   E   r   r   o   r   ,    
0045200    e   c   B   i   n   a   r   y   N   o   t   T   e   x   t   )
0045220   \r                                       l   o   o   p  \r    
0045240                                    ]  \r                        
0045260    i   f   n   o   t  \r                                       [
0045300   \r                                       F   t   p   S   S   e
0045320    n   d   M   a   r   k   (   m   a   r   k   C   o   m   m   e
0045340    n   t   ,       e   c   M   a   y   B   e   T   e   x   t   ,
0045360        l   v       f   d   >   >   F   D   .   d   r   >   >   D
0045400    R   .   p   a   t   h   N   a   m   e   )  \r                
0045420                        l   o   c   a   l   P   L   >   >   P   L
0045440    .   T   Y   P   E       =       B   i   n   a   r   y  \r    
0045460                                    ] 376 001  \0 306 203  \r  \f
0045500   \r   /   /       F   t   p   S   R   e   t   r   i   e   v   e
0045520        (   c   o   n   t   '   d   )  \r  \r   t   e   s   t    
0045540    l   o   c   a   l   P   L   >   >   P   L   .   T   Y   P   E
0045560        e   q       T   e   x   t  \r               i   f   s   o
0045600   \r                           [  \r                           l
0045620    o   c   a   l   P   L   >   >   P   L   .   E   O   L   C    
0045640    =       C   R  \r                           i   f       r   e
0045660    m   o   t   e   P   L   >   >   P   L   .   E   O   L   C    
0045700    e   q       C   R   L   F       t   h   e   n  \r            
0045720                            [  \r                                
0045740        F   t   p   S   S   e   n   d   M   a   r   k   (   m   a
0045760    r   k   F   a   i   l   ,       e   c   N   o   t   R   e   t
0046000    r   i   e   v   e   d   ,       l   v       f   d   >   >   F
0046020    D   .   d   r   >   >   D   R   .   p   a   t   h   N   a   m
0046040    e   ,  \r                                           I   F   S
0046060    P   r   i   n   t   E   r   r   o   r   ,       e   c 376 001
0046100   \0   @ 021   C   R   L   F   C   o   n   v   e   r   s   i   o
0046120    n   )  \r                                       l   o   o   p
0046140   \r                                       ]  \r                
0046160            ]  \r               i   f   n   o   t       t   e   s
0046200    t       r   e   m   o   t   e   P   L   >   >   P   L   .   B
0046220    Y   T   E       e   q       0  \r                           i
0046240    f   s   o       i   f       l   o   c   a   l   P   L   >   >
0046260    P   L   .   B   Y   T   E       e   q       0       t   h   e
0046300    n       l   o   c   a   l   P   L   >   >   P   L   .   B   Y
0046320    T   E       =       8  \r                           i   f   n
0046340    o   t       t   e   s   t       l   o   c   a   l   P   L   >
0046360    >   P   L   .   B   Y   T   E       e   q       0  \r        
0046400                                i   f   s   o       l   o   c   a
0046420    l   P   L   >   >   P   L   .   B   Y   T   E       =       r
0046440    e   m   o   t   e   P   L   >   >   P   L   .   B   Y   T   E
0046460   \r                                       i   f   n   o   t    
0046500    i   f     376 001  \0   ;   4   l   o   c   a   l   P   L   >
0046520    >   P   L   .   B   Y   T   E       n   e       r   e   m   o
0046540    t   e   P   L   >   >   P   L   .   B   Y   T   E       t   h
0046560    e   n  \r                                                   [
0046600   \r                                                   F   t   p
0046620    S   S   e   n   d   M   a   r   k   (   m   a   r   k   F   a
0046640    i   l   ,       e   c   N   o   t   R   e   t   r   i   e   v
0046660    e   d   ,       l   v       f   d   >   >   F   D   .   d   r
0046700    >   >   D   R   .   p   a   t   h   N   a   m   e   ,  \r    
0046720                                                    I   F   S   P
0046740    r   i   n   t   E   r   r   o   r   ,       e   c   B   y   t
0046760    e   S   i   z   e   )  \r                                    
0047000                l   o   o   p  \r                                
0047020                    ]  \r  \r   r   e   s   u   l   t   i   s    
0047040    l   o   c   a   l   P   L  \r   ]       r   e   p   e   a   t
0047060   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0047100    -   -   -   -   -   -   -   - 376 001  \0 363 016   -   -   -
0047120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0047200    -   -   -   -  \r   a   n   d       F   t   p   S   R   e   t
0047220    r   i   e   v   e   F   i   l   e   (   p   L   i   s   t   )
0047240        =       v   a   l   o   f  \r   /   /   -   -   -   -   -
0047260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0047360    -   -   -   -   -   -  \r   [  \r   l   e   t       e   c    
0047400    =       n   i   l  \r   l   e   t       d   i   s   k   S   t
0047420    r   e   a   m       =       O   p   e   n   I   F   S   S   t
0047440    r   e   a   m   (   C   t   x   R   u   n   n   i   n   g   >
0047460    >   F   t   p   C   t   x   .   f   d   ,       l   v       e
0047500    c   ,       m   o   d   e   R   e   a   d   )  \r 376  \0 257
0047520  244   t   i   f       d   i   s   k   S   t   r   e   a   m    
0047540    n   e       0       t   h   e   n  \r               [  \r    
0047560            e   c       =       D   i   s   k   T   o   N   e   t
0047600    (   C   t   x   R   u   n   n   i   n   g   >   >   F   t   p
0047620    C   t   x   .   b   s   p   S   t   r   e   a   m   ,       d
0047640    i   s   k   S   t   r   e   a   m   )  \r               C   l
0047660    o   s   e   I   F   S   S   t   r   e   a   m   (   d   i   s
0047700    k   S   t   r   e   a   m   )  \r               ]  \r   r   e
0047720    s   u   l   t   i   s       e   c       e   q       0   ?    
0047740    t   r   u   e   ,       F   t   p   S   S   e   n   d   M   a
0047760    r   k   (   m   a   r   k   N   o   ,       e   c   )  \r   ]
0050000   \r 377  \0  \0   I   f   s   F   t   p   C   m   d   .   b   c
0050020    p   l  \0 373 233 240 314  \f  \0  \0 376 001  \0 210   \   /
0050040    /       I   f   s   F   t   p   C   m   d   .   b   c   p   l
0050060        -       M   o   r   e       I   F   S       F   t   p    
0050100    s   e   r   v   e   r       c   o   m   m   a   n   d   s  \r
0050120    /   /       C   o   p   y   r   i   g   h   t       X   e   r
0050140    o   x       C   o   r   p   o   r   a   t   i   o   n       1
0050160    9   7   9   ,       1   9   8   0   ,       1   9   8   1   ,
0050200        1   9   8   2   ,       1   9   8   3  \r   /   /       L
0050220    a   s   t       m   o   d   i   f   i   e   d       S   e   p
0050240    t   e   m   b   e   r       2   7   ,       1   9   8   3    
0050260        4   :   3   3       P   M       b   y       T   a   f   t
0050300   \r  \r   g   e   t       "   I   f   s   D   i   r   s   .   d
0050320    e   c   l   "  \r   g   e   t       "   I   f   s   F   i   l
0050340    e   s   .   d   e   c   l   "  \r   g   e   t       "   I   f
0050360    s   F   t   p   P   r   o   t   .   d   e   c   l   "  \r  \r
0050400    e   x   t   e   r   n   a   l  \r   [  \r   /   /       o   u
0050420    t   g   o   i   n   g       p   r   o   c   e   d   u   r 376
0050440  001  \0 006 216   e   s  \r   F   t   p   S   V   e   r   s   i
0050460    o   n   ;       F   t   p   S   R   e   n   a   m   e   ;    
0050500    F   t   p   S   D   i   r   e   c   t   o   r   y  \r   F   t
0050520    p   S   D   e   l   e   t   e   ;       F   t   p   S   D   e
0050540    l   e   t   e   F   i   l   e   ;       F   t   p   S   N   o
0050560    t   I   m   p   l  \r  \r   /   /       i   n   c   o   m   i
0050600    n   g       p   r   o   c   e   d   u   r   e   s       f   r
0050620    o   m       I   f   s   F   t   p   S   e   r   v   U   t   i
0050640    l   .   b   c   p   l  \r   F   t   p   S   M   a   k   e   S
0050660    F   I   L   ;       F   t   p   S   S   e   n   d   M   a   r
0050700    k   ;       F   t   p   S   C   h   e   c   k   C   o   n   n
0050720    e   c   t   i   o   n  \r   F   t   p   S   C   h   e   c   k
0050740    A   c   c   e   s   s   ;       F   t   p   S   F   i   l   l
0050760    P   L   F   r   o   m   L   D  \r  \r   /   /       i   n   c
0051000    o   m   i   n   g       p   r   o   c   e   d   u   r   e   s
0051020        f   r   o   m       I   F   S       D   i   r   s  \r   L
0051040    o   o   k   u 376 001  \0 353 273   p   I   F   S   F   i   l
0051060    e   ;       D   e   l   e   t   e   F   i   l   e   F   r   o
0051100    m   F   D   ;       R   e   n   a   m   e   F   i   l   e   F
0051120    r   o   m   F   D  \r   N   e   x   t   F   D   ;       D   e
0051140    s   t   r   o   y   F   D   ;       L   o   o   k   u   p   F
0051160    D  \r  \r   /   /       i   n   c   o   m   i   n   g       p
0051200    r   o   c   e   d   u   r   e   s       -       m   i   s   c
0051220    e   l   l   a   n   e   o   u   s  \r   F   r   e   e   P   L
0051240    i   s   t   ;       P   r   i   n   t   I   F   S   V   e   r
0051260    s   i   o   n   ;       P   u   t   T   e   m   p   l   a   t
0051300    e   ;       A   c   t   i   v   e   J   o   b   s   ;       F
0051320    t   p   S   S   e   t   P   r   o   p   s  \r  \r   /   /    
0051340    i   n   c   o   m   i   n   g       s   t   a   t   i   c   s
0051360   \r   C   t   x   R   u   n   n   i   n   g   ;       m   a   x
0051400    J   o   b   s  \r   ]  \r  \r   /   /   -   -   -   -   -   -
0051420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0051440    -   -   -   -   -   -   -   -   - 376 001  \0 305 363   -   -
0051460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0051520    -   -   -   -   -   -   -   -   -   -  \r   l   e   t       F
0051540    t   p   S   V   e   r   s   i   o   n   (   )       b   e  \r
0051560    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0051600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0051660    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r
0051700    P   r   i   n   t   I   F   S   V   e   r   s   i   o   n   (
0051720    C   t   x   R   u   n   n   i   n   g   >   >   F   t   p   C
0051740    t   x   .   b   s   p   S   t   r   e   a   m   ,  \r       (
0051760    C   t   x   R   u   n   n   i   n   g   >   >   F   t   p   C
0052000    t   x   .   t   y   p   e       e   q       j   o   b   T   y
0052020    p   e   M   T   P   ?       "   M   a   i   l       s   e   r
0052040    v   e   r   "   ,       "   F   i   l   e       s   e 376 001
0052060   \0   j 353   r   v   e   r   "   )   )  \r   l   e   t       a
0052100    c   t   i   v   e   J   o   b   s       =       A   c   t   i
0052120    v   e   J   o   b   s   (   )  \r   P   u   t   T   e   m   p
0052140    l   a   t   e   (   C   t   x   R   u   n   n   i   n   g   >
0052160    >   F   t   p   C   t   x   .   b   s   p   S   t   r   e   a
0052200    m   ,       "   ;       $   D       u   s   e   r   $   S    
0052220    o   u   t       o   f       $   D   "   ,  \r       a   c   t
0052240    i   v   e   J   o   b   s   ,       (   a   c   t   i   v   e
0052260    J   o   b   s       e   q       1   ?       "   "   ,       "
0052300    s   "   )   ,       m   a   x   J   o   b   s   )  \r   ]  \r
0052320   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0052340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052420    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a
0052440    n   d       F   t   p   S   N   o   t   I   m   p   l   (   )
0052460        =     376 001  \0   z 020   F   t   p   S   S   e   n   d
0052500    M   a   r   k   (   m   a   r   k   N   o   ,       e   c   N
0052520    o   t   I   m   p   l   e   m   e   n   t   e   d   )  \r   /
0052540    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0052560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052640    -   -   -   -   -   -   -   -   -   -   -   -  \r  \f  \r   /
0052660    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0052700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052760    -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d
0053000        F   t   p   S   D   i   r   e   c   t   o   r   y   (   r
0053020    e   m   o   t   e   P   L   ,       l   o   c   a   l   P   L
0053040    )       =       v   a   l   o   f  \r   /   /   -   -   -   -
0053060    -   -   -   -   -   -   -   - 376 001  \0   Z 222   -   -   -
0053100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0053160    -   -   -   -   -   -   -   -   -   -   -   -  \r   [       /
0053200    /       r   e   p   e   a   t  \r   l   o   c   a   l   P   L
0053220        =       F   r   e   e   P   L   i   s   t   (   l   o   c
0053240    a   l   P   L   )  \r   u   n   l   e   s   s       F   t   p
0053260    S   C   h   e   c   k   C   o   n   n   e   c   t   i   o   n
0053300    (   )       r   e   s   u   l   t   i   s       f   a   l   s
0053320    e  \r   t   e   s   t       C   t   x   R   u   n   n   i   n
0053340    g   >   >   F   t   p   C   t   x   .   f   d       e   q    
0053360    0  \r               i   f   s   o  \r                        
0053400    [           /   /       f   i   r   s   t       t   i   m   e
0053420        f   o   r       t   h   i   s       D   i   r   e   c   t
0053440    o   r   y       r   e   q   u   e   s   t  \r                
0053460            u   n   l   e   s   s       F   t   p   S 376 001  \0
0053500    5   *   C   h   e   c   k   A   c   c   e   s   s   (   r   e
0053520    m   o   t   e   P   L   )       r   e   s   u   l   t   i   s
0053540        f   a   l   s   e  \r                           F   t   p
0053560    S   M   a   k   e   S   F   I   L   (   r   e   m   o   t   e
0053600    P   L   )  \r                           l   e   t       e   c
0053620        =       n   i   l  \r                           C   t   x
0053640    R   u   n   n   i   n   g   >   >   F   t   p   C   t   x   .
0053660    f   d       =       L   o   o   k   u   p   I   F   S   F   i
0053700    l   e   (   r   e   m   o   t   e   P   L   >   >   P   L   .
0053720    S   F   I   L   ,  \r                               l   c   M
0053740    u   l   t   i   p   l   e   +   l   c   V   A   l   l   ,    
0053760    l   v       e   c   ,       0   ,       r   e   m   o   t   e
0054000    P   L   >   >   P   L   .   D   I   R   E   )  \r            
0054020                i   f       C   t   x   R   u   n   n   i   n   g
0054040    >   >   F   t   p   C   t   x   .   f   d       e   q       0
0054060        r   e   s   u   l   t   i   s       F   t   p   S   S   e
0054100    n   d 376 001  \0   '   )   M   a   r   k   (   m   a   r   k
0054120    N   o   ,       e   c   )  \r                           ]  \r
0054140                i   f   n   o   t       u   n   l   e   s   s    
0054160    N   e   x   t   F   D   (   C   t   x   R   u   n   n   i   n
0054200    g   >   >   F   t   p   C   t   x   .   f   d   )       d   o
0054220   \r                           [           /   /       f   a   i
0054240    l   e   d       -       n   o       m   o   r   e       f   i
0054260    l   e   s  \r                           C   t   x   R   u   n
0054300    n   i   n   g   >   >   F   t   p   C   t   x   .   f   d    
0054320    =       D   e   s   t   r   o   y   F   D   (   C   t   x   R
0054340    u   n   n   i   n   g   >   >   F   t   p   C   t   x   .   f
0054360    d   )  \r                           r   e   s   u   l   t   i
0054400    s       f   a   l   s   e  \r                           ]  \r
0054420   \r   l   o   c   a   l   P   L       =       F   t   p   S   F
0054440    i   l   l   P   L   F   r   o   m   L   D   (   r   e   m   o
0054460    t   e   P   L   )  \r   i   f       l   o   c   a   l   P   L
0054500        n   e       0       r 376 001  \0   $ 222   e   s   u   l
0054520    t   i   s       l   o   c   a   l   P   L  \r   ]       r   e
0054540    p   e   a   t  \r  \r   /   /   -   -   -   -   -   -   -   -
0054560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0054660    -   -   -  \r   a   n   d       F   t   p   S   R   e   n   a
0054700    m   e   (   o   l   d   P   L   ,       n   e   w   P   L   )
0054720        =       v   a   l   o   f  \r   /   /   -   -   -   -   -
0054740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0055040    -   -   -   -   -   -  \r   [  \r   u   n   l   e   s   s    
0055060    F   t   p   S   C   h   e   c   k   A   c   c   e   s   s   (
0055100    o   l   d   P   L   )       r   e   s   u   l 376 001  \0   j
0055120    6   t   i   s       f   a   l   s   e  \r   F   t   p   S   M
0055140    a   k   e   S   F   I   L   (   o   l   d   P   L   )  \r   F
0055160    t   p   S   M   a   k   e   S   F   I   L   (   n   e   w   P
0055200    L   )  \r   l   e   t       e   c       =       0  \r   l   e
0055220    t       f   d       =       L   o   o   k   u   p   I   F   S
0055240    F   i   l   e   (   o   l   d   P   L   >   >   P   L   .   S
0055260    F   I   L   ,       l   c   V   H   i   g   h   e   s   t   ,
0055300        l   v       e   c   ,       0   ,       o   l   d   P   L
0055320    >   >   P   L   .   D   I   R   E   )  \r   i   f       f   d
0055340        n   e       0       t   h   e   n  \r               [  \r
0055360                e   c       =       R   e   n   a   m   e   F   i
0055400    l   e   F   r   o   m   F   D   (   f   d   ,       n   e   w
0055420    P   L   >   >   P   L   .   S   F   I   L   ,       n   e   w
0055440    P   L   >   >   P   L   .   D   I   R   E   ,       F   t   p
0055460    S   S   e   t   P   r   o   p   s   ,       n   e   w   P   L
0055500    )  \r               D   e   s   t   r   o   y   F   D   (   f
0055520    d 376 001  \0 005   G   )  \r               ]  \r   r   e   s
0055540    u   l   t   i   s       e   c       e   q       0   ?       t
0055560    r   u   e   ,       F   t   p   S   S   e   n   d   M   a   r
0055600    k   (   m   a   r   k   N   o   ,       e   c   )  \r   ]  \r
0055620   \f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0055640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0055720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0055740    a   n   d       F   t   p   S   D   e   l   e   t   e   (   r
0055760    e   m   o   t   e   P   L   ,       l   o   c   a   l   P   L
0056000    )       =       v   a   l   o   f  \r   /   /   -   -   -   -
0056020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0056120    -   -   -   -   -   - 376 001  \0 245 341   -  \r   [       /
0056140    /       r   e   p   e   a   t  \r   l   o   c   a   l   P   L
0056160        =       F   r   e   e   P   L   i   s   t   (   l   o   c
0056200    a   l   P   L   )  \r   u   n   l   e   s   s       F   t   p
0056220    S   C   h   e   c   k   C   o   n   n   e   c   t   i   o   n
0056240    (   )       r   e   s   u   l   t   i   s       f   a   l   s
0056260    e  \r   t   e   s   t       C   t   x   R   u   n   n   i   n
0056300    g   >   >   F   t   p   C   t   x   .   f   d       e   q    
0056320    0  \r               i   f   s   o  \r                        
0056340    [           /   /       f   i   r   s   t       t   i   m   e
0056360        f   o   r       t   h   i   s       D   e   l   e   t   e
0056400        r   e   q   u   e   s   t  \r                           u
0056420    n   l   e   s   s       F   t   p   S   C   h   e   c   k   A
0056440    c   c   e   s   s   (   r   e   m   o   t   e   P   L   )    
0056460    r   e   s   u   l   t   i   s       f   a   l   s   e  \r    
0056500                        F   t   p   S   M   a   k   e   S   F   I
0056520    L   (   r   e   m   o   t   e   P   L   ) 376 001  \0 242 303
0056540   \r                           l   e   t       e   c       =    
0056560    n   i   l  \r                           C   t   x   R   u   n
0056600    n   i   n   g   >   >   F   t   p   C   t   x   .   f   d    
0056620    =       L   o   o   k   u   p   I   F   S   F   i   l   e   (
0056640    r   e   m   o   t   e   P   L   >   >   P   L   .   S   F   I
0056660    L   ,  \r                               l   c   M   u   l   t
0056700    i   p   l   e   +   l   c   V   L   o   w   e   s   t   ,    
0056720    l   v       e   c   ,       0   ,       r   e   m   o   t   e
0056740    P   L   >   >   P   L   .   D   I   R   E   )  \r            
0056760                i   f       C   t   x   R   u   n   n   i   n   g
0057000    >   >   F   t   p   C   t   x   .   f   d       e   q       0
0057020        r   e   s   u   l   t   i   s       F   t   p   S   S   e
0057040    n   d   M   a   r   k   (   m   a   r   k   N   o   ,       e
0057060    c   )  \r                           ]  \r               i   f
0057100    n   o   t       u   n   l   e   s   s       N   e   x   t   F
0057120    D   (   C   t   x   R   u   n   n   i   n   g   >   >   F   t
0057140  376 001  \0 232 200   p   C   t   x   .   f   d   )       d   o
0057160   \r                           [           /   /       f   a   i
0057200    l   e   d       -       n   o       m   o   r   e       f   i
0057220    l   e   s  \r                           C   t   x   R   u   n
0057240    n   i   n   g   >   >   F   t   p   C   t   x   .   f   d    
0057260    =       D   e   s   t   r   o   y   F   D   (   C   t   x   R
0057300    u   n   n   i   n   g   >   >   F   t   p   C   t   x   .   f
0057320    d   )  \r                           r   e   s   u   l   t   i
0057340    s       f   a   l   s   e  \r                           ]  \r
0057360   \r   l   o   c   a   l   P   L       =       F   t   p   S   F
0057400    i   l   l   P   L   F   r   o   m   L   D   (   r   e   m   o
0057420    t   e   P   L   )  \r   i   f       l   o   c   a   l   P   L
0057440        n   e       0       r   e   s   u   l   t   i   s       l
0057460    o   c   a   l   P   L  \r   ]       r   e   p   e   a   t  \r
0057500   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0057520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0057540    -   -   -   -   - 376  \0 375 374 214   -   -   -   -   -   -
0057560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0057620    -   -   -  \r   a   n   d       F   t   p   S   D   e   l   e
0057640    t   e   F   i   l   e   (   p   l   )       =       v   a   l
0057660    o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0057700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060000   \r   [  \r   l   e   t       e   c       =       D   e   l   e
0060020    t   e   F   i   l   e   F   r   o   m   F   D   (   C   t   x
0060040    R   u   n   n   i   n   g   >   >   F   t   p   C   t   x   .
0060060    f   d   )  \r   r   e   s   u   l   t   i   s       e   c    
0060100    e   q       0   ?       t   r   u   e   ,       F   t   p   S
0060120    S   e   n   d   M   a   r   k   (   m   a   r   k   N   o   ,
0060140        e   c   )  \r   ]  \r 377  \0  \0   I   f   s   F   t   p
0060160    X   f   e   r   .   b   c   p   l  \0 373 230   ( 031 350  \0
0060200   \0 376 001  \0   4       /   /       I   f   s   F   t   p   X
0060220    f   e   r   .   b   c   p   l       -       B   l   o   c   k
0060240        I   O       r   o   u   t   i   n   e   s  \r   /   /    
0060260    C   o   p   y   r   i   g   h   t       X   e   r   o   x    
0060300    C   o   r   p   o   r   a   t   i   o   n       1   9   7   9
0060320    ,       1   9   8   0   ,       1   9   8   1  \r   /   /    
0060340    L   a   s   t       m   o   d   i   f   i   e   d       N   o
0060360    v   e   m   b   e   r       2   2   ,       1   9   8   1    
0060400        1   2   :   2   2       P   M       b   y       T   a   f
0060420    t  \r  \r   g   e   t       "   P   u   p   .   d   e   c   l
0060440    "  \r   g   e   t       "   I   f   s   F   t   p   P   r   o
0060460    t   .   d   e   c   l   "  \r   g   e   t       e   c   F   i
0060500    l   e   S   y   s   t   e   m   F   u   l   l   ,       e   c
0060520    D   i   s   k   E   r   r   o   r       f   r   o   m       "
0060540    I   f   s   D   i   r   s   .   d   e   c   l   "  \r   g   e
0060560    t       K   D   H   ,       f   r   e   e   P   a   g   e   s
0060600    ,       l   F   A     376 001  \0 304 021   f   r   o   m    
0060620    "   A   l   t   o   F   i   l   e   S   y   s   .   d   "  \r
0060640    g   e   t       D   S   K   ,       d   i   s   k   K   d    
0060660    f   r   o   m       "   D   i   s   k   s   .   d   "  \r  \r
0060700    e   x   t   e   r   n   a   l  \r   [  \r   /   /       o   u
0060720    t   g   o   i   n   g       p   r   o   c   e   d   u   r   e
0060740    s  \r   D   i   s   k   T   o   D   i   s   k   ;       N   e
0060760    t   T   o   D   i   s   k   ;       D   i   s   k   T   o   N
0061000    e   t  \r   F   i   l   e   T   y   p   e   ;       F   l   i
0061020    p   C   u   r   s   o   r  \r  \r   /   /       i   n   c   o
0061040    m   i   n   g       p   r   o   c   e   d   u   r   e   s  \r
0061060    F   T   P   M  \r   L   n   P   a   g   e   S   i   z   e   ;
0061100        K   s   B   u   f   f   e   r   A   d   d   r   e   s   s
0061120    ;       K   s   G   e   t   D   i   s   k   ;       F   i   l
0061140    e   P   o   s   ;       S   e   t   F   i   l   e   P   o   s
0061160   \r   S   e   t   D   i   r   t   y   ;       C   l   e   a   n
0061200    u   p   D   i   s   k   S   t   r   e   a 376 001  \0 305 021
0061220    m   ;       C   u   r   r   e   n   t   P   o   s   ;       G
0061240    e   t   C   u   r   r   e   n   t   F   a   ;       J   u   m
0061260    p   T   o   F   a  \r   E   n   d   o   f   s   ;       R   e
0061300    s   e   t   s   ;       P   o   s   i   t   i   o   n   P   t
0061320    r  \r   B   S   P   W   r   i   t   e   B   l   o   c   k   ;
0061340        B   S   P   R   e   a   d   B   l   o   c   k  \r   D   a
0061360    t   a   I   s   B   i   n   a   r   y   ;       M   i   n   ;
0061400        D   o   u   b   l   e   A   d   d   ;       D   o   u   b
0061420    l   e   I   n   c   r   e   m   e   n   t   ;       B   y   t
0061440    e   B   l   t  \r   R   e   t   u   r   n   F   r   o   m   ;
0061460        S   y   s   E   r   r   ;       M   o   v   e   B   l   o
0061500    c   k  \r  \r   /   /       i   n   c   o   m   i   n   g    
0061520    s   t   a   t   i   c   s  \r   o   f   f   s   e   t   B   S
0061540    P   S   t   r   ;       C   t   x   R   u   n   n   i   n   g
0061560   \r   ]  \r  \r   m   a   n   i   f   e   s   t  \r   [  \r   e
0061600    c   D   i   s   k   F   u   l   l       =       2   4   1   3
0061620  376 001  \0 355  \f           /   /       c   o   p   i   e   d
0061640        f   r   o   m       T   f   s   .   d   ,       f   o   r
0061660        T   r   i   d   e   n   t       d   i   s   k   s       o
0061700    n   l   y  \r   e   c   U   n   R   e   c   o   v   D   i   s
0061720    k   E   r   r   o   r       =       2   4   1   2  \r   ]  \r
0061740   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0061760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0062060    l   e   t       D   i   s   k   T   o   D   i   s   k   (   d
0062100    S   t   r   e   a   m   ,       s   S   t   r   e   a   m   ,
0062120        l   v   B   y   t   e   s   ;       n   u   m   a   r   g
0062140    s       n   a   )       =       v   a   l   o   f  \r   /   /
0062160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062220    -   -   -   -   - 376 001  \0   I   X   -   -   -   -   -   -
0062240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062300    -  \r   /   /       C   o   p   i   e   s       d   a   t   a
0062320        f   r   o   m       d   i   s   k       s   t   r   e   a
0062340    m       s   S   t   r   e   a   m       t   o       a   n   o
0062360    t   h   e   r       d   i   s   k       s   t   r   e   a   m
0062400        d   S   t   r   e   a   m   .  \r   /   /       l   v   B
0062420    y   t   e   s   ,       i   f       s   u   p   p   l   i   e
0062440    d   ,       p   o   i   n   t   s       t   o       a       3
0062460    2   -   b   i   t       m   a   x   i   m   u   m       b   y
0062500    t   e       c   o   u   n   t   .  \r   /   /       R   e   t
0062520    u   r   n   s       t   r   u   e       n   o   r   m   a   l
0062540    l   y   ,       f   a   l   s   e       i   f       t   h   e
0062560        s   o   u   r   c   e       s   t   r   e   a   m       r
0062600    a   n       o   u   t       b   e   f   o   r   e  \r   /   /
0062620            t   h   e       r   e   q   u 376 001  \0   3 350   e
0062640    s   t   e   d       n   u   m   b   e   r       o   f       b
0062660    y   t   e   s       w   e   r   e       t   r   a   n   f   e
0062700    r   r   e   d   .  \r   /   /       L   e   a   v   e   s    
0062720    t   h   e       b   y   t   e       c   o   u   n   t       e
0062740    q   u   a   l       t   o       t   h   e       n   u   m   b
0062760    e   r       o   f       b   y   t   e   s       l   e   f   t
0063000        t   o       t   r   a   n   s   f   e   r   .  \r   [  \r
0063020    l   e   t       d   e   f   B   y   t   e   s       =       v
0063040    e   c       1   ;       d   e   f   B   y   t   e   s   !   0
0063060        =       -   1  \r   i   f       n   a       l   s       3
0063100        t   h   e   n       l   v   B   y   t   e   s       =    
0063120    d   e   f   B   y   t   e   s  \r  \r   l   e   t       d   P
0063140    a   g   e   B   y   t   e   s       =       2       l   s   h
0063160    i   f   t       L   n   P   a   g   e   S   i   z   e   (   d
0063200    S   t   r   e   a   m   )  \r   l   e   t       s   P   a   g
0063220    e   B   y   t   e   s       =       2       l   s   h   i 376
0063240  001  \0 376 211   f   t       L   n   P   a   g   e   S   i   z
0063260    e   (   s   S   t   r   e   a   m   )  \r   l   e   t       d
0063300    K   s   B   u   f   f   e   r       =       K   s   B   u   f
0063320    f   e   r   A   d   d   r   e   s   s   (   d   S   t   r   e
0063340    a   m   )  \r   l   e   t       s   K   s   B   u   f   f   e
0063360    r       =       K   s   B   u   f   f   e   r   A   d   d   r
0063400    e   s   s   (   s   S   t   r   e   a   m   )  \r  \r   w   h
0063420    i   l   e       l   v   B   y   t   e   s   !   0       n   e
0063440        0       %       l   v   B   y   t   e   s   !   1       n
0063460    e       0       d   o  \r               [  \r               i
0063500    f       E   n   d   o   f   s   (   s   S   t   r   e   a   m
0063520    )       r   e   s   u   l   t   i   s       f   a   l   s   e
0063540   \r               l   e   t       d   P   o   s   ,       s   P
0063560    o   s       =       C   u   r   r   e   n   t   P   o   s   (
0063600    d   S   t   r   e   a   m   )   ,       C   u   r   r   e   n
0063620    t   P   o   s   (   s   S   t   r   e   a   m   )  \r        
0063640        l   e   t 376 001  \0 342 346       c   o   u   n   t    
0063660    =       M   i   n   (   d   P   a   g   e   B   y   t   e   s
0063700    -   d   P   o   s   ,       s   P   a   g   e   B   y   t   e
0063720    s   -   s   P   o   s   )  \r               i   f       l   v
0063740    B   y   t   e   s   !   0       e   q       0       &       l
0063760    v   B   y   t   e   s   !   1       g   e       0       t   h
0064000    e   n       c   o   u   n   t       =       M   i   n   (   c
0064020    o   u   n   t   ,       l   v   B   y   t   e   s   !   1   )
0064040   \r               P   o   s   i   t   i   o   n   P   t   r   (
0064060    s   S   t   r   e   a   m   ,       s   P   o   s   +   c   o
0064100    u   n   t   ,       f   a   l   s   e   )  \r               c
0064120    o   u   n   t       =       C   u   r   r   e   n   t   P   o
0064140    s   (   s   S   t   r   e   a   m   )   -   s   P   o   s  \r
0064160                P   o   s   i   t   i   o   n   P   t   r   (   d
0064200    S   t   r   e   a   m   ,       d   P   o   s   +   c   o   u
0064220    n   t   )  \r               B   y   t   e   B   l   t   (   d
0064240    K   s   B   u   f   f   e   r   , 376 001  \0   H   G       d
0064260    P   o   s   ,       s   K   s   B   u   f   f   e   r   ,    
0064300    s   P   o   s   ,       c   o   u   n   t   )  \r            
0064320    i   f       d   P   o   s   +   c   o   u   n   t       e   q
0064340        d   P   a   g   e   B   y   t   e   s       t   h   e   n
0064360        C   l   e   a   n   u   p   D   i   s   k   S   t   r   e
0064400    a   m   (   d   S   t   r   e   a   m   )  \r               i
0064420    f       s   P   o   s   +   c   o   u   n   t       e   q    
0064440    s   P   a   g   e   B   y   t   e   s       t   h   e   n    
0064460    C   l   e   a   n   u   p   D   i   s   k   S   t   r   e   a
0064500    m   (   s   S   t   r   e   a   m   )  \r               D   o
0064520    u   b   l   e   I   n   c   r   e   m   e   n   t   (   l   v
0064540    B   y   t   e   s   ,       -   c   o   u   n   t   )  \r    
0064560            ]  \r  \r   r   e   s   u   l   t   i   s       t   r
0064600    u   e  \r   ]  \r  \f  \r   /   /   -   -   -   -   -   -   -
0064620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0064640    -   -   -   -   -   -   -   -   -   -   -   -   -   - 376 001
0064660   \0 347 202   -   -   -   -   -   -   -   -   -   -   -   -   -
0064700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0064720    -   -   -   -   -   -   -   -   -  \r   a   n   d       N   e
0064740    t   T   o   D   i   s   k   (   d   i   s   k   S   t   r   e
0064760    a   m   ,       b   s   p   S   t   r   e   a   m   ,       l
0065000    v   E   x   p   e   c   t   e   d   B   y   t   e   s   ;    
0065020    n   u   m   a   r   g   s       n   a   )       =       v   a
0065040    l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -
0065060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0065160    -  \r   /   /       C   o   p   i   e   s       d   a   t   a
0065200        f   r   o   m       b   s   p   S   t   r   e   a   m    
0065220    t   o       d   i   s   k   S   t   r   e   a   m   .  \r   /
0065240    /       R   e   t   u   r   n   s       I   F   S       e   r
0065260    r   o   r 376 001  \0 252 321       c   o   d   e   ,       o
0065300    r       z   e   r   o       i   f       O   K   .  \r   /   /
0065320        l   v   E   x   p   e   c   t   e   d   B   y   t   e   s
0065340    ,       i   f       s   u   p   p   l   i   e   d   ,       i
0065360    s       a       p   o   i   n   t   e   r       t   o       a
0065400        3   2   -   b   i   t       c   o   u   n   t       o   f
0065420        t   h   e  \r   /   /       n   u   m   b   e   r       o
0065440    f       b   y   t   e   s       e   x   p   e   c   t   e   d
0065460    ;       t   h   i   s       i   s       u   s   e   d       a
0065500    s       a       h   i   n   t       t   o       e   x   t   e
0065520    n   d       t   h   e       f   i   l   e  \r   /   /       t
0065540    o       t   h   e       p   r   o   p   e   r       l   e   n
0065560    g   t   h       (   t   o       s   p   e   e   d       d   a
0065600    t   a       t   r   a   n   s   f   e   r   )       a   n   d
0065620        n   e   e   d       n   o   t       b   e       c   o   r
0065640    r   e   c   t   .  \r   [  \r   d   i   s   k   S   t   r   e
0065660    a   m   >   >   S   T   .   e 376 001  \0   V 032   r   r   o
0065700    r       =       N   e   t   T   o   D   i   s   k   E   r   r
0065720    o   r  \r   l   e   t       l   n   C   h   a   r   s   P   e
0065740    r   P   a   g   e       =       L   n   P   a   g   e   S   i
0065760    z   e   (   d   i   s   k   S   t   r   e   a   m   )   +   1
0066000   \r   l   e   t       c   h   a   r   s   P   e   r   P   a   g
0066020    e       =       1       l   s   h   i   f   t       l   n   C
0066040    h   a   r   s   P   e   r   P   a   g   e  \r   l   e   t    
0066060    k   s   B   u   f   f   e   r       =       K   s   B   u   f
0066100    f   e   r   A   d   d   r   e   s   s   (   d   i   s   k   S
0066120    t   r   e   a   m   )  \r  \r   i   f       n   a       g   e
0066140        3       &       l   v   E   x   p   e   c   t   e   d   B
0066160    y   t   e   s       n   e       0       t   h   e   n  \r    
0066200            [  \r               /   /       e   x   t   e   n   d
0066220        f   i   l   e       t   o       t   h   e       p   r   o
0066240    p   e   r       l   e   n   g   t   h       i   f       t   h
0066260    e       e   x   p   e   c   t   e   d       a   m 376 001  \0
0066300  265   ~   o   u   n   t       o   f       d   a   t   a  \r    
0066320            /   /       i   s       w   o   r   t   h       o   u
0066340    r       w   h   i   l   e       a   n   d       i   s       n
0066360    o   t       s   o       g   r   e   a   t       t   h   a   t
0066400        w   e       w   o   u   l   d       r   i   s   k  \r    
0066420            /   /       e   x   h   a   u   s   t   i   n   g    
0066440    t   h   e       f   i   l   e       s   y   s   t   e   m   .
0066460   \r               l   e   t       e   x   p   e   c   t   e   d
0066500    P   a   g   e   s       =       l   v   E   x   p   e   c   t
0066520    e   d   B   y   t   e   s   !   0       l   s   h   i   f   t
0066540        (   1   6   -   l   n   C   h   a   r   s   P   e   r   P
0066560    a   g   e   )       +  \r                   l   v   E   x   p
0066600    e   c   t   e   d   B   y   t   e   s   !   1       r   s   h
0066620    i   f   t       l   n   C   h   a   r   s   P   e   r   P   a
0066640    g   e  \r               i   f       e   x   p   e   c   t   e
0066660    d   P   a   g   e   s       u   g   e       3       &       e
0066700    x   p 376 001  \0   2   ,   e   c   t   e   d   P   a   g   e
0066720    s       u   l   s       1   0   0   0       &       e   x   p
0066740    e   c   t   e   d   P   a   g   e   s   +   2   5   0       u
0066760    l   s  \r                   K   s   G   e   t   D   i   s   k
0067000    (   d   i   s   k   S   t   r   e   a   m   )   >   >   D   S
0067020    K   .   d   i   s   k   K   d   >   >   K   D   H   .   f   r
0067040    e   e   P   a   g   e   s       t   h   e   n  \r            
0067060                [  \r                           l   e   t       f
0067100    i   l   e   P   o   s       =       v   e   c       1   ;    
0067120    F   i   l   e   P   o   s   (   d   i   s   k   S   t   r   e
0067140    a   m   ,       f   i   l   e   P   o   s   )  \r            
0067160                D   o   u   b   l   e   A   d   d   (   f   i   l
0067200    e   P   o   s   ,       l   v   E   x   p   e   c   t   e   d
0067220    B   y   t   e   s   )  \r                           l   e   t
0067240        c   u   r   r   e   n   t   F   A       =       v   e   c
0067260        l   F   A   ;       G   e   t   C   u   r   r   e   n   t
0067300    F   a   (   d   i   s   k 376 001  \0 270 264   S   t   r   e
0067320    a   m   ,       c   u   r   r   e   n   t   F   A   )  \r    
0067340                        S   e   t   F   i   l   e   P   o   s   (
0067360    d   i   s   k   S   t   r   e   a   m   ,       f   i   l   e
0067400    P   o   s   )  \r                           J   u   m   p   T
0067420    o   F   a   (   d   i   s   k   S   t   r   e   a   m   ,    
0067440    c   u   r   r   e   n   t   F   A   )  \r                    
0067460        ]  \r               ]  \r  \r               [       /   /
0067500        r   e   p   e   a   t  \r               l   e   t       p
0067520    o   s       =       C   u   r   r   e   n   t   P   o   s   (
0067540    d   i   s   k   S   t   r   e   a   m   )  \r               l
0067560    e   t       n   e   t   B   y   t   e   s       =       B   S
0067600    P   R   e   a   d   B   l   o   c   k   (   b   s   p   S   t
0067620    r   e   a   m   ,       k   s   B   u   f   f   e   r   ,    
0067640    p   o   s   ,       c   h   a   r   s   P   e   r   P   a   g
0067660    e   -   p   o   s   )  \r               F   l   i   p   C   u
0067700    r   s   o   r   (   )  \r               i   f 376 001  \0 005
0067720    Z       n   e   t   B   y   t   e   s       n   e       0    
0067740    t   h   e   n       S   e   t   D   i   r   t   y   (   d   i
0067760    s   k   S   t   r   e   a   m   ,       t   r   u   e   )  \r
0070000                P   o   s   i   t   i   o   n   P   t   r   (   d
0070020    i   s   k   S   t   r   e   a   m   ,       p   o   s   +   n
0070040    e   t   B   y   t   e   s   )  \r               i   f       p
0070060    o   s   +   n   e   t   B   y   t   e   s       n   e       c
0070100    h   a   r   s   P   e   r   P   a   g   e       b   r   e   a
0070120    k  \r               C   l   e   a   n   u   p   D   i   s   k
0070140    S   t   r   e   a   m   (   d   i   s   k   S   t   r   e   a
0070160    m   )  \r               ]       r   e   p   e   a   t  \r  \r
0070200    d   i   s   k   S   t   r   e   a   m   >   >   S   T   .   e
0070220    r   r   o   r       =       S   y   s   E   r   r  \r   r   e
0070240    s   u   l   t   i   s       (   b   s   p   S   t   r   e   a
0070260    m   -   o   f   f   s   e   t   B   S   P   S   t   r   )   >
0070300    >   B   S   P   S   o   c   .   m   a   r   k   P   e   n   d
0070320    i 376 001  \0 236 211   n   g   ?       0   ,       e   c   N
0070340    e   t   T   o   D   i   s   k  \r   ]  \r  \r   /   /   -   -
0070360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0070460    -   -   -   -   -   -   -   -   -  \r   a   n   d       N   e
0070500    t   T   o   D   i   s   k   E   r   r   o   r   (   s   ,    
0070520    e   c   ,       p   a   r   )       b   e  \r   /   /   -   -
0070540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0070640    -   -   -   -   -   -   -   -   -  \r   /   /       I   f    
0070660    d   i   s   k       b   e   c   o   m   e   s       f   u   l
0070700    l       t   h   e   n       j   u   s   t       a   b   o   r
0070720    t       t   h   e     376 001  \0 212 245   t   r   a   n   s
0070740    f   e   r   .  \r   /   /       N   o   t   e       t   h   a
0070760    t       N   e   t   T   o   D   i   s   k       i   s   n   '
0071000    t       t   h   e       o   n   l   y       c   o   n   t   e
0071020    x   t       i   n       w   h   i   c   h       t   h   e    
0071040    d   i   s   k       c   a   n  \r   /   /           o   v   e
0071060    r   f   l   o   w   ,       b   u   t       i   t       i   s
0071100        b   y       f   a   r       t   h   e       m   o   s   t
0071120        l   i   k   e   l   y       o   n   e       a   n   d    
0071140    i   s       t   h   e   r   e   f   o   r   e       w   o   r
0071160    t   h  \r   /   /           p   r   o   t   e   c   t   i   n
0071200    g   .           (   I   n       o   t   h   e   r       c   a
0071220    s   e   s   ,       I   F   S       w   i   l   l       j   u
0071240    s   t       g   o       i   n   t   o       S   w   a   t   .
0071260    )  \r   [  \r   i   f       e   c       e   q       e   c   D
0071300    i   s   k   F   u   l   l       t   h   e   n  \r            
0071320    [           /   /       F   l   u   s   h 376 001  \0 304   =
0071340        t   h   e       s   t   r   e   a   m       u   p       t
0071360    o       t   h   e       n   e   x   t       m   a   r   k  \r
0071400                l   e   t       k   s   B   u   f   f   e   r    
0071420    =       K   s   B   u   f   f   e   r   A   d   d   r   e   s
0071440    s   (   s   )  \r               l   e   t       c   h   a   r
0071460    s   P   e   r   P   a   g   e       =       2       l   s   h
0071500    i   f   t       L   n   P   a   g   e   S   i   z   e   (   s
0071520    )  \r               w   h   i   l   e       B   S   P   R   e
0071540    a   d   B   l   o   c   k   (   C   t   x   R   u   n   n   i
0071560    n   g   >   >   F   t   p   C   t   x   .   b   s   p   S   t
0071600    r   e   a   m   ,       k   s   B   u   f   f   e   r   ,    
0071620    0   ,       c   h   a   r   s   P   e   r   P   a   g   e   )
0071640        l   o   o   p  \r               s   >   >   S   T   .   e
0071660    r   r   o   r       =       S   y   s   E   r   r  \r        
0071700        S   e   t   D   i   r   t   y   (   s   ,       f   a   l
0071720    s   e   )  \r               R   e   t   u   r   n   F   r   o
0071740  376 001  \0 374   t   m   (   N   e   t   T   o   D   i   s   k
0071760    ,       e   c   F   i   l   e   S   y   s   t   e   m   F   u
0072000    l   l   )  \r               ]  \r   S   y   s   E   r   r   (
0072020    s   ,       e   c   ,       p   a   r   )  \r   ]  \r  \f  \r
0072040    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0072060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0072140    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0072160    d       D   i   s   k   T   o   N   e   t   (   b   s   p   S
0072200    t   r   e   a   m   ,       d   i   s   k   S   t   r   e   a
0072220    m   ,       l   v   B   y   t   e   s   ;       n   u   m   a
0072240    r   g   s       n   a   )       =       v   a   l   o   f  \r
0072260    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0072300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0072340    -   -   -   -   - 376 001  \0 225 021   -   -   -   -   -   -
0072360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0072400    -   -  \r   /   /       C   o   p   i   e   s       d   a   t
0072420    a       f   r   o   m       d   i   s   k   S   t   r   e   a
0072440    m       t   o       b   s   p   S   t   r   e   a   m   .  \r
0072460    /   /       R   e   t   u   r   n   s       I   F   S       e
0072500    r   r   o   r       c   o   d   e   ,       o   r       z   e
0072520    r   o       i   f       O   K   .  \r   /   /       l   v   B
0072540    y   t   e   s   ,       i   f       s   u   p   p   l   i   e
0072560    d       p   o   i   n   t   s       t   o       a       3   2
0072600    -   b   i   t       m   a   x   i   m   u   m       b   y   t
0072620    e       c   o   u   n   t   .  \r   /   /       L   e   a   v
0072640    e   s       t   h   e       b   y   t   e       c   o   u   n
0072660    t       e   q   u   a   l       t   o       t   h   e       n
0072700    u   m   b   e   r       o   f       b   y   t   e   s       l
0072720    e   f   t       t   o       t   r   a   n   s   f   e   r   .
0072740   \r   [  \r   l   e   t       d   e   f 376 001  \0 017 371   B
0072760    y   t   e   s       =       v   e   c       1   ;       d   e
0073000    f   B   y   t   e   s   !   0       =       -   1  \r   i   f
0073020        n   a       l   s       3       t   h   e   n       l   v
0073040    B   y   t   e   s       =       d   e   f   B   y   t   e   s
0073060   \r   d   i   s   k   S   t   r   e   a   m   >   >   S   T   .
0073100    e   r   r   o   r       =       D   i   s   k   T   o   N   e
0073120    t   E   r   r   o   r  \r   l   e   t       c   h   a   r   s
0073140    P   e   r   P   a   g   e       =       2       l   s   h   i
0073160    f   t       L   n   P   a   g   e   S   i   z   e   (   d   i
0073200    s   k   S   t   r   e   a   m   )  \r   l   e   t       k   s
0073220    B   u   f   f   e   r       =       K   s   B   u   f   f   e
0073240    r   A   d   d   r   e   s   s   (   d   i   s   k   S   t   r
0073260    e   a   m   )  \r  \r   F   T   P   M   (   m   a   r   k   H
0073300    e   r   e   I   s   F   i   l   e   )  \r   w   h   i   l   e
0073320        l   v   B   y   t   e   s   !   0       n   e       0    
0073340    %       l   v   B   y   t   e   s   !   1       n   e     376
0073360  001  \0 315 017   0       d   o  \r               [  \r        
0073400        l   e   t       p   o   s       =       C   u   r   r   e
0073420    n   t   P   o   s   (   d   i   s   k   S   t   r   e   a   m
0073440    )  \r               l   e   t       f   i   l   e   B   y   t
0073460    e   s       =       c   h   a   r   s   P   e   r   P   a   g
0073500    e   -   p   o   s  \r               i   f       l   v   B   y
0073520    t   e   s   !   0       e   q       0       &       l   v   B
0073540    y   t   e   s   !   1       g   e       0       t   h   e   n
0073560   \r                           f   i   l   e   B   y   t   e   s
0073600        =       M   i   n   (   f   i   l   e   B   y   t   e   s
0073620    ,       l   v   B   y   t   e   s   !   1   )  \r            
0073640    P   o   s   i   t   i   o   n   P   t   r   (   d   i   s   k
0073660    S   t   r   e   a   m   ,       p   o   s   +   f   i   l   e
0073700    B   y   t   e   s   ,       f   a   l   s   e   )  \r        
0073720        f   i   l   e   B   y   t   e   s       =       C   u   r
0073740    r   e   n   t   P   o   s   (   d   i   s   k   S   t   r   e
0073760    a   m   )   - 376 001  \0   ] 001   p   o   s  \r            
0074000    i   f       B   S   P   W   r   i   t   e   B   l   o   c   k
0074020    (   b   s   p   S   t   r   e   a   m   ,       k   s   B   u
0074040    f   f   e   r   ,       p   o   s   ,       f   i   l   e   B
0074060    y   t   e   s   )       n   e       f   i   l   e   B   y   t
0074100    e   s       t   h   e   n  \r                           r   e
0074120    s   u   l   t   i   s       e   c   D   i   s   k   T   o   N
0074140    e   t  \r               F   l   i   p   C   u   r   s   o   r
0074160    (   )  \r               D   o   u   b   l   e   I   n   c   r
0074200    e   m   e   n   t   (   l   v   B   y   t   e   s   ,       -
0074220    f   i   l   e   B   y   t   e   s   )  \r               i   f
0074240        p   o   s   +   f   i   l   e   B   y   t   e   s       l
0074260    s       c   h   a   r   s   P   e   r   P   a   g   e       b
0074300    r   e   a   k  \r               C   l   e   a   n   u   p   D
0074320    i   s   k   S   t   r   e   a   m   (   d   i   s   k   S   t
0074340    r   e   a   m   )  \r               ]  \r  \r   d   i   s   k
0074360    S   t   r   e   a   m   >   >   S 376 001  \0 033   A   T   .
0074400    e   r   r   o   r       =       S   y   s   E   r   r  \r   r
0074420    e   s   u   l   t   i   s       0  \r   ]  \r  \r   /   /   -
0074440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0074540    -   -   -   -   -   -   -   -   -   -  \r   a   n   d       D
0074560    i   s   k   T   o   N   e   t   E   r   r   o   r   (   s   ,
0074600        e   c   ,       p   a   r   )       b   e  \r   /   /   -
0074620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0074720    -   -   -   -   -   -   -   -   -   -  \r   /   /       I   f
0074740        a       h   a   r   d       d   a   t   a       e   r   r
0074760    o   r       o   c   c   u   r   s       t   h   e   n 376 001
0075000   \0   6 237       j   u   s   t       a   b   o   r   t       t
0075020    h   e       t   r   a   n   s   f   e   r   .  \r   [  \r   i
0075040    f       e   c       e   q       e   c   U   n   R   e   c   o
0075060    v   D   i   s   k   E   r   r   o   r       t   h   e   n  \r
0075100                [  \r               s   >   >   S   T   .   e   r
0075120    r   o   r       =       S   y   s   E   r   r  \r            
0075140    R   e   t   u   r   n   F   r   o   m   (   D   i   s   k   T
0075160    o   N   e   t   ,       e   c   D   i   s   k   E   r   r   o
0075200    r   )  \r               ]  \r   S   y   s   E   r   r   (   s
0075220    ,       e   c   ,       p   a   r   )  \r   ]  \r  \f  \r   /
0075240    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0075260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0075340    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0075360    F   i   l   e   T   y   p   e   (   d   i   s   k   S   t   r
0075400    e   a   m 376 001  \0 312 213   )       =       v   a   l   o
0075420    f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0075440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0075520    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /
0075540    /       t   r   u   e       =       t   e   x   t   ;       f
0075560    a   l   s   e       =       b   i   n   a   r   y  \r   [  \r
0075600    l   e   t       t   e   x   t       =       t   r   u   e  \r
0075620    l   e   t       c   h   a   r   s   P   e   r   P   a   g   e
0075640        =       2       l   s   h   i   f   t       L   n   P   a
0075660    g   e   S   i   z   e   (   d   i   s   k   S   t   r   e   a
0075700    m   )  \r   l   e   t       k   s   B   u   f   f   e   r    
0075720    =       K   s   B   u   f   f   e   r   A   d   d   r   e   s
0075740    s   (   d   i   s   k   S   t   r   e   a   m   )  \r   R   e
0075760    s   e   t   s   (   d   i   s   k   S   t   r   e   a   m   )
0076000   \r  \r               [  \r     376 001  \0 343 344           P
0076020    o   s   i   t   i   o   n   P   t   r   (   d   i   s   k   S
0076040    t   r   e   a   m   ,       c   h   a   r   s   P   e   r   P
0076060    a   g   e   ,       f   a   l   s   e   )  \r               l
0076100    e   t       f   i   l   e   B   y   t   e   s       =       C
0076120    u   r   r   e   n   t   P   o   s   (   d   i   s   k   S   t
0076140    r   e   a   m   )  \r               i   f       D   a   t   a
0076160    I   s   B   i   n   a   r   y   (   k   s   B   u   f   f   e
0076200    r   ,       f   i   l   e   B   y   t   e   s   )       t   h
0076220    e   n       [       t   e   x   t       =       f   a   l   s
0076240    e   ;       b   r   e   a   k       ]  \r               i   f
0076260        f   i   l   e   B   y   t   e   s       l   s       c   h
0076300    a   r   s   P   e   r   P   a   g   e       b   r   e   a   k
0076320   \r               C   l   e   a   n   u   p   D   i   s   k   S
0076340    t   r   e   a   m   (   d   i   s   k   S   t   r   e   a   m
0076360    )  \r               ]       r   e   p   e   a   t  \r  \r   R
0076400    e   s   e   t   s   (   d   i   s   k   S   t   r 376 001  \0
0076420  306 033   e   a   m   )  \r   r   e   s   u   l   t   i   s    
0076440    t   e   x   t  \r   ]  \r  \r   /   /   -   -   -   -   -   -
0076460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0076560    -   -   -   -   -  \r   a   n   d       F   l   i   p   C   u
0076600    r   s   o   r   (   )       b   e  \r   /   /   -   -   -   -
0076620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0076720    -   -   -   -   -   -   -  \r   [  \r   m   a   n   i   f   e
0076740    s   t       c   u   r   s   o   r   B   i   t   M   a   p    
0076760    =       4   3   1   b  \r   f   o   r       i       =       0
0077000        t   o       1   5       d   o       c   u   r   s   o   r
0077020    B   i 376  \0 036 017 371   t   M   a   p   !   i       =    
0077040    n   o   t       c   u   r   s   o   r   B   i   t   M   a   p
0077060    !   i  \r   ]  \r 377  \0  \0   I   f   s   F   t   p   U   t
0077100    i   l   .   b   c   p   l  \0 373 231  \b   V 202  \0  \0 376
0077120  001  \0 356   %   /   /       I   f   s   F   t   p   U   t   i
0077140    l   .   b   c   p   l       -   -       U   t   i   l   i   t
0077160    y       r   o   u   t   i   n   e   s  \r   /   /       C   o
0077200    p   y   r   i   g   h   t       X   e   r   o   x       C   o
0077220    r   p   o   r   a   t   i   o   n       1   9   7   9   ,    
0077240    1   9   8   0   ,       1   9   8   1   ,       1   9   8   2
0077260   \r   /   /       L   a   s   t       m   o   d   i   f   i   e
0077300    d       M   a   y       1   1   ,       1   9   8   2        
0077320    4   :   2   6       P   M       b   y       T   a   f   t  \r
0077340   \r   g   e   t       "   P   u   p   0   .   d   e   c   l   "
0077360   \r   g   e   t       "   P   u   p   1   .   d   e   c   l   "
0077400   \r   g   e   t       "   P   u   p   R   T   P   .   d   e   c
0077420    l   "  \r   g   e   t       "   I   f   s   .   d   e   c   l
0077440    "  \r   g   e   t       E   r   r   R   e   c   ,       f   t
0077460    p   E   c   ,       e   r   r   o   r   S   t   r   i   n   g
0077500        f   r   o   m       "   I   f   s   S   y   s   t   e   m
0077520    I   n   f   o 376 001  \0 363 274   .   d   e   c   l   "  \r
0077540    g   e   t       "   I   f   s   F   i   l   e   s   .   d   e
0077560    c   l   "  \r   g   e   t       "   I   f   s   D   i   r   s
0077600    .   d   e   c   l   "  \r   g   e   t       "   I   f   s   F
0077620    t   p   P   r   o   t   .   d   e   c   l   "  \r  \r   e   x
0077640    t   e   r   n   a   l  \r   [  \r   /   /       o   u   t   g
0077660    o   i   n   g       p   r   o   c   e   d   u   r   e   s  \r
0077700    F   t   p   S   M   a   k   e   S   F   I   L   ;       F   t
0077720    p   S   S   e   n   d   M   a   r   k  \r   F   t   p   S   F
0077740    i   l   l   P   L   F   r   o   m   L   D   ;       F   t   p
0077760    S   C   h   e   c   k   A   c   c   e   s   s   ;       F   t
0100000    p   S   C   h   e   c   k   C   o   n   n   e   c   t   i   o
0100020    n  \r  \r   /   /       i   n   c   o   m   i   n   g       p
0100040    r   o   c   e   d   u   r   e   s  \r   E   x   t   r   a   c
0100060    t   S   u   b   s   t   r   i   n   g   ;       S   t   r   i
0100100    n   g   C   o   m   p   a   r   e   ;       E   x   p   a   n
0100120    d   T   e   m   p   l   a   t   e 376 001  \0   & 360  \r   I
0100140    F   S   P   r   i   n   t   E   r   r   o   r   ;       L   o
0100160    g   i   n   ;       C   o   n   n   e   c   t   ;       M   o
0100200    v   e   B   l   o   c   k  \r   S   y   s   F   r   e   e   ;
0100220        F   r   e   e   P   o   i   n   t   e   r  \r   L   o   c
0100240    k   T   r   a   n   s   f   e   r   L   e   a   d   e   r   P
0100260    a   g   e   ;       G   e   t   B   u   f   f   e   r   F   o
0100300    r   F   D   ;       D   e   s   t   r   o   y   F   D  \r   F
0100320    T   P   M   ;       F   r   e   e   P   L   i   s   t   ;    
0100340    I   n   i   t   P   L   i   s   t  \r   L   o   o   k   u   p
0100360    E   r   r   o   r   C   o   d   e  \r  \r   /   /       i   n
0100400    c   o   m   i   n   g       s   t   a   t   i   c   s  \r   C
0100420    t   x   R   u   n   n   i   n   g  \r   ]  \r  \r   /   /   -
0100440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0100520    -   -   -   -   -   -   -   -   -   -   -   -   -   - 376 001
0100540   \0 201   h   -   -   -   -   -   -   -   -   -   -   -   -  \r
0100560    l   e   t       F   t   p   S   S   e   n   d   M   a   r   k
0100600    (   m   a   r   k   ,       e   c   ,       a   r   g   0   ,
0100620        a   r   g   1   ,       a   r   g   2   ,       a   r   g
0100640    3   ,       a   r   g   4   )       =       v   a   l   o   f
0100660   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0100700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0100760    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /
0101000    /       E   x   p   a   n   d   s       e   c       i   n   t
0101020    o       a   n       F   t   p       e   r   r   o   r       c
0101040    o   d   e       a   n   d       s   t   r   i   n   g   .  \r
0101060    /   /       T   h   e       n   e   x   t       s   t   e   p
0101100        i   s       u   s   u   a   l   l   y       t   o       r
0101120    e   t   u   r   n       f   a   l   s   e   ,  \r   /   /    
0101140        s   o 376 001  \0 277 322       t   h   i   s       r   o
0101160    u   t   i   n   e       s   u   p   p   l   i   e   s       t
0101200    h   e       '   f   a   l   s   e   '       v   a   l   u   e
0101220        a   l   l   o   w   i   n   g       y   o   u       t   o
0101240        s   a   y   :  \r   /   /               u   n   l   e   s
0101260    s       I   F   S   D   e   l   e   t   e   F   i   l   e   (
0101300    .   .   .   )       r   e   s   u   l   t   i   s       F   t
0101320    p   S   S   e   n   d   M   a   r   k   (   .   .   .   )  \r
0101340    [  \r   l   e   t       e   r   r   R   e   c       =       L
0101360    o   o   k   u   p   E   r   r   o   r   C   o   d   e   (   e
0101400    c   )  \r   F   T   P   M   (   m   a   r   k   ,       e   r
0101420    r   R   e   c   >   >   E   r   r   R   e   c   .   f   t   p
0101440    E   c   ,       l   v       e   r   r   R   e   c   >   >   E
0101460    r   r   R   e   c   .   e   r   r   o   r   S   t   r   i   n
0101500    g   ,  \r       f   a   l   s   e   ,       a   r   g   0   ,
0101520        a   r   g   1   ,       a   r   g   2   ,       a   r   g
0101540    3   ,       a   r   g   4   ) 376 001  \0 214   g  \r   S   y
0101560    s   F   r   e   e   (   e   r   r   R   e   c   )  \r   r   e
0101600    s   u   l   t   i   s       f   a   l   s   e  \r   ]  \r  \r
0101620    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0101640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0101720    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0101740    d       F   t   p   S   C   h   e   c   k   C   o   n   n   e
0101760    c   t   i   o   n   (   )       =       v   a   l   o   f  \r
0102000    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0102020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0102100    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /   /
0102120        D   o       n   o   t       c   a   l   l       f   r   o
0102140    m       M   T   P       s   e   r   v   e   r   ; 376 001  \0
0102160    _ 227       o   n   l   y       F   T   P       s   e   r   v
0102200    e   r  \r   [  \r   i   f       C   t   x   R   u   n   n   i
0102220    n   g   >   >   F   t   p   C   t   x   .   b   s   p   S   o
0102240    c   >   >   R   T   P   S   o   c   .   s   t   a   t   e    
0102260    n   e       s   t   a   t   e   O   p   e   n       t   h   e
0102300    n  \r               [  \r               i   f       C   t   x
0102320    R   u   n   n   i   n   g   >   >   F   t   p   C   t   x   .
0102340    f   d       n   e       0       t   h   e   n  \r            
0102360                C   t   x   R   u   n   n   i   n   g   >   >   F
0102400    t   p   C   t   x   .   f   d       =       D   e   s   t   r
0102420    o   y   F   D   (   C   t   x   R   u   n   n   i   n   g   >
0102440    >   F   t   p   C   t   x   .   f   d   )  \r               r
0102460    e   s   u   l   t   i   s       f   a   l   s   e  \r        
0102500        ]  \r   r   e   s   u   l   t   i   s       t   r   u   e
0102520   \r   ]  \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -
0102540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0102560    -   - 376 001  \0 377   Z   -   -   -   -   -   -   -   -   -
0102600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0102640    -   -   -   -   -   -   -  \r   a   n   d       F   t   p   S
0102660    C   h   e   c   k   A   c   c   e   s   s   (   p   l   )    
0102700    =       v   a   l   o   f  \r   /   /   -   -   -   -   -   -
0102720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0103020    -   -   -   -   -  \r   /   /       C   h   e   c   k       l
0103040    o   g   i   n   /   c   o   n   n   e   c   t       p   a   r
0103060    a   m   e   t   e   r   s       i   n       p   l   .  \r   [
0103100   \r   l   e   t       u   i       =       C   t   x   R   u   n
0103120    n   i   n   g   >   >   F   t   p   C   t   x   .   u   s   e
0103140    r   I   n   f   o  \r  \r   /   /       L   o   g   i   n    
0103160    p   a   r   a   m   e   t 376 001  \0 021   ?   e   r   s  \r
0103200    l   e   t       e   c       =       L   o   g   i   n   (   p
0103220    l   >   >   P   L   .   U   N   A   M   ,       p   l   >   >
0103240    P   L   .   U   P   S   W   ,       u   i   )  \r  \r   /   /
0103260        C   o   n   n   e   c   t       p   a   r   a   m   e   t
0103300    e   r   s  \r   i   f       e   c       e   q       0       t
0103320    h   e   n  \r               e   c       =       C   o   n   n
0103340    e   c   t   (   p   l   >   >   P   L   .   C   N   A   M   ,
0103360        p   l   >   >   P   L   .   C   P   S   W   ,       u   i
0103400    )  \r  \r   r   e   s   u   l   t   i   s       e   c       e
0103420    q       0   ?       t   r   u   e   ,       F   t   p   S   S
0103440    e   n   d   M   a   r   k   (   m   a   r   k   N   o   ,    
0103460    e   c   )  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0103500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0103560    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0 005
0103600  207   -   -   -   -   -   -   -   -  \r   a   n   d       F   t
0103620    p   S   M   a   k   e   S   F   I   L   (   p   l   )       b
0103640    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0103660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0103740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0103760    /   /       B   u   i   l   d   s       a       s   e   r   v
0104000    e   r   F   i   l   e   n   a   m   e       f   r   o   m    
0104020    t   h   e       i   n   f   o   r   m   a   t   i   o   n    
0104040    i   n       p   l   .  \r   /   /       T   h   e       r   e
0104060    s   u   l   t       i   s       l   e   f   t       i   n    
0104100    p   l   >   >   P   L   .   S   F   I   L   .  \r   [  \r   /
0104120    /       I   f       t   h   e   r   e       i   s       n   o
0104140        n   a   m   e       b   o   d   y   ,       c   o   n   s
0104160    t   r   u   c   t       a       b   l   a   n   k       o   n
0104200    e 376 001  \0   a 312  \r   i   f       p   l   >   >   P   L
0104220    .   N   A   M   B       e   q       0       t   h   e   n  \r
0104240                p   l   >   >   P   L   .   N   A   M   B       =
0104260        E   x   t   r   a   c   t   S   u   b   s   t   r   i   n
0104300    g   (   "   "   )  \r  \r   /   /       I   f       t   h   e
0104320    r   e       i   s       n   o       s   e   r   v   e   r    
0104340    f   i   l   e   n   a   m   e   ,       c   o   n   s   t   r
0104360    u   c   t       o   n   e   .  \r   /   /       T   h   e    
0104400    V   e   r   s   i   o   n       p   r   o   p   e   r   t   y
0104420        i   s   n   '   t       c   o   r   r   e   c   t   l   y
0104440        h   a   n   d   l   e   d   .           A       v   e   r
0104460    s   i   o   n       s   u   p   p   l   i   e   d  \r   /   /
0104500            i   n       a       P   L       w   i   l   l       o
0104520    n   l   y       b   e       u   s   e   d       a   s       a
0104540        d   e   f   a   u   l   t       i   f       n   o       S
0104560    e   r   v   e   r   F   i   l   e   n   a   m   e       w   a
0104600    s  \r   /   /         376 001  \0   8   H   s   u   p   p   l
0104620    i   e   d   .           T   h   e       p   r   o   p   e   r
0104640        i   m   p   l   e   m   e   n   t   a   t   i   o   n    
0104660    i   s       t   o       h   a   n   d   l   e       i   t    
0104700    t   h   e       w   a   y  \r   /   /           d   e   f   a
0104720    u   l   t       d   i   r   e   c   t   o   r   i   e   s    
0104740    a   r   e   :       p   a   s   s       t   h   e       d   e
0104760    f   a   u   l   t       v   e   r   s   i   o   n       f   r
0105000    o   m       t   h   e       P   L       t   o  \r   /   /    
0105020        t   h   e       d   i   r   e   c   t   o   r   y       m
0105040    o   d   u   l   e   ,       w   h   e   r   e       C   r   e
0105060    a   t   e   F   D       c   a   n       d   e   c   i   d   e
0105100        w   h   e   t   h   e   r       i   t       i   s       n
0105120    e   e   d   e   d   .  \r   i   f       p   l   >   >   P   L
0105140    .   S   F   I   L       e   q       0       t   h   e   n  \r
0105160                p   l   >   >   P   L   .   S   F   I   L       =
0105200        E   x   p   a   n   d   T   e   m   p 376 001  \0   8 323
0105220    l   a   t   e   (   (   p   l   >   >   P   L   .   V   E   R
0105240    S       e   q       0   ?       "   $   S   "   ,       "   $
0105260    S   !   $   S   "   )   ,  \r                   p   l   >   >
0105300    P   L   .   N   A   M   B   ,       p   l   >   >   P   L   .
0105320    V   E   R   S   )  \r  \r   /   /       I   f       a       d
0105340    i   r   e   c   t   o   r   y       i   s       s   p   e   c
0105360    i   f   i   e   d   ,       s   t   r   i   p       o   f   f
0105400        t   h   e       o   u   t   e   r       <       >       i
0105420    f       p   r   e   s   e   n   t  \r   i   f       p   l   >
0105440    >   P   L   .   D   I   R   E       n   e       0       t   h
0105460    e   n  \r               [  \r               l   e   t       d
0105500    i   r       =       p   l   >   >   P   L   .   D   I   R   E
0105520   \r               i   f       d   i   r   >   >   S   t   r   i
0105540    n   g   .   c   h   a   r   ^   (   d   i   r   >   >   S   t
0105560    r   i   n   g   .   l   e   n   g   t   h   )       e   q    
0105600    $   >       t   h   e   n  \r                           d   i
0105620  376 001  \0 267 177   r   >   >   S   t   r   i   n   g   .   l
0105640    e   n   g   t   h       =       d   i   r   >   >   S   t   r
0105660    i   n   g   .   l   e   n   g   t   h       -   1  \r        
0105700        i   f       d   i   r   >   >   S   t   r   i   n   g   .
0105720    c   h   a   r   ^   1       e   q       $   <       t   h   e
0105740    n  \r                           [  \r                        
0105760    p   l   >   >   P   L   .   D   I   R   E       =       E   x
0106000    t   r   a   c   t   S   u   b   s   t   r   i   n   g   (   d
0106020    i   r   ,       2   )  \r                           S   y   s
0106040    F   r   e   e   (   d   i   r   )  \r                        
0106060    ]  \r               ]  \r   ]  \r  \f  \r   /   /   -   -   -
0106100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0106200    -   -   -   -   -   -   -   -  \r   a   n   d       F   t   p
0106220    S   F   i   l   l 376 001  \0 326 267   P   L   F   r   o   m
0106240    L   D   (   r   e   m   o   t   e   P   L   ,       r   e   p
0106260    o   r   t   D   a   m   a   g   e   ;       n   u   m   a   r
0106300    g   s       n   a   )       =       v   a   l   o   f  \r   /
0106320    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0106340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0106420    -   -   -   -   -   -   -   -   -   -   -   -  \r   /   /    
0106440    C   r   e   a   t   e   s       a   n   d       r   e   t   u
0106460    r   n   s       a       P   L       f   r   o   m       t   h
0106500    e       p   r   o   p   e   r   t   i   e   s       o   f    
0106520    t   h   e       f   i   l   e       d   e   s   c   r   i   b
0106540    e   d       b   y       F   t   p   C   t   x   .   f   d   .
0106560   \r   /   /       R   e   t   u   r   n   s       z   e   r   o
0106600        i   f       t   h   e       f   i   l   e       h   a   s
0106620        g   o   n   e       a   w   a   y 376 001  \0   h   "   .
0106640   \r   [  \r   l   e   t       d   p   r   p       =       r   e
0106660    m   o   t   e   P   L   >   >   P   L   .   D   P   R   P    
0106700        /   /       d   e   s   i   r   e   d       p   r   o   p
0106720    e   r   t   i   e   s  \r   i   f       d   p   r   p       e
0106740    q       0       t   h   e   n       d   p   r   p       =    
0106760    -   1           /   /       i   f       n   o   n   e       s
0107000    p   e   c   i   f   i   e   d   ,       r   e   q   u   e   s
0107020    t       a   l   l       p   r   o   p   e   r   t   i   e   s
0107040   \r   l   e   t       p   l       =       I   n   i   t   P   L
0107060    i   s   t   (   )  \r   l   e   t       f   d       =       C
0107100    t   x   R   u   n   n   i   n   g   >   >   F   t   p   C   t
0107120    x   .   f   d  \r   l   e   t       d   r       =       f   d
0107140    >   >   F   D   .   d   r  \r  \r   /   /       f   i   r   s
0107160    t       g   e   n   e   r   a   t   e       p   r   o   p   e
0107200    r   t   i   e   s       t   h   a   t       c   a   n       b
0107220    e       e   x   t   r   a   c   t   e   d       f   r   o 376
0107240  001  \0   l 224   m       t   h   e       F   D  \r   i   f    
0107260    d   p   r   p   <   <   D   P   R   P   .   S   F   I   L    
0107300    t   h   e   n       p   l   >   >   P   L   .   S   F   I   L
0107320        =       E   x   t   r   a   c   t   S   u   b   s   t   r
0107340    i   n   g   (   l   v       d   r   >   >   D   R   .   p   a
0107360    t   h   N   a   m   e   )  \r   i   f       d   p   r   p   <
0107400    <   D   P   R   P   .   D   E   V   I       t   h   e   n    
0107420    p   l   >   >   P   L   .   D   E   V   I       =       E   x
0107440    t   r   a   c   t   S   u   b   s   t   r   i   n   g   (   f
0107460    d   >   >   F   D   .   f   s   >   >   I   F   S   .   i   d
0107500    )  \r   i   f       d   p   r   p   <   <   D   P   R   P   .
0107520    D   I   R   E       t   h   e   n       p   l   >   >   P   L
0107540    .   D   I   R   E       =       E   x   t   r   a   c   t   S
0107560    u   b   s   t   r   i   n   g   (   l   v       d   r   >   >
0107600    D   R   .   p   a   t   h   N   a   m   e   ,  \r            
0107620        2   ,       f   d   >   >   F   D   .   l   e   n   S   u
0107640    b   D   i   r 376 001  \0   A 311   S   t   r   i   n   g   -
0107660    1   )  \r   i   f       d   p   r   p   <   <   D   P   R   P
0107700    .   N   A   M   B       t   h   e   n       p   l   >   >   P
0107720    L   .   N   A   M   B       =       E   x   t   r   a   c   t
0107740    S   u   b   s   t   r   i   n   g   (   l   v       d   r   >
0107760    >   D   R   .   p   a   t   h   N   a   m   e   ,  \r        
0110000            f   d   >   >   F   D   .   l   e   n   S   u   b   D
0110020    i   r   S   t   r   i   n   g   +   1   ,       f   d   >   >
0110040    F   D   .   l   e   n   B   o   d   y   S   t   r   i   n   g
0110060    -   1   )  \r   i   f       d   p   r   p   <   <   D   P   R
0110100    P   .   V   E   R   S       t   h   e   n       p   l   >   >
0110120    P   L   .   V   E   R   S       =       E   x   t   r   a   c
0110140    t   S   u   b   s   t   r   i   n   g   (   l   v       d   r
0110160    >   >   D   R   .   p   a   t   h   N   a   m   e   ,  \r    
0110200                f   d   >   >   F   D   .   l   e   n   B   o   d
0110220    y   S   t   r   i   n   g   +   1   )  \r  \r   /   /       i
0110240    f       n   o       o   t   h   e 376 001  \0  \f   h   r    
0110260    p   r   o   p   e   r   t   i   e   s       d   e   s   i   r
0110300    e   d   ,       d   o   n   '   t       n   e   e   d       t
0110320    o       r   e   a   d       t   h   e       l   e   a   d   e
0110340    r       p   a   g   e  \r   m   a   n   i   f   e   s   t    
0110360    r   e   q   u   i   r   e   s   L   e   a   d   e   r   P   a
0110400    g   e       =       1   0   0   0   0   0   B       r   s   h
0110420    i   f   t       o   f   f   s   e   t       D   P   R   P   .
0110440    T   Y   P   E       %  \r       1   0   0   0   0   0   B    
0110460    r   s   h   i   f   t       o   f   f   s   e   t       D   P
0110500    R   P   .   B   Y   T   E       %       1   0   0   0   0   0
0110520    B       r   s   h   i   f   t       o   f   f   s   e   t    
0110540    D   P   R   P   .   S   I   Z   E       %  \r       1   0   0
0110560    0   0   0   B       r   s   h   i   f   t       o   f   f   s
0110600    e   t       D   P   R   P   .   A   U   T   H       %       1
0110620    0   0   0   0   0   B       r   s   h   i   f   t       o   f
0110640    f   s   e   t       D   P   R   P   .   C   D   A   T 376 001
0110660   \0 004   ]       %  \r       1   0   0   0   0   0   B       r
0110700    s   h   i   f   t       o   f   f   s   e   t       D   P   R
0110720    P   .   R   D   A   T       %       1   0   0   0   0   0   B
0110740        r   s   h   i   f   t       o   f   f   s   e   t       D
0110760    P   R   P   .   W   D   A   T       %  \r       1   0   0   0
0111000    0   0   B       r   s   h   i   f   t       o   f   f   s   e
0111020    t       D   P   R   P   .   C   S   U   M  \r   i   f       (
0111040    d   p   r   p       &       r   e   q   u   i   r   e   s   L
0111060    e   a   d   e   r   P   a   g   e   )       n   e       0    
0111100    t   h   e   n  \r               [  \r               l   e   t
0111120        i   l   d       =       G   e   t   B   u   f   f   e   r
0111140    F   o   r   F   D   (   f   d   )  \r               l   e   t
0111160        e   c       =       L   o   c   k   T   r   a   n   s   f
0111200    e   r   L   e   a   d   e   r   P   a   g   e   (   f   d   ,
0111220        i   l   d   )           /   /       r   e   a   d  \r    
0111240            i   f       e   c       n   e       0       t   h   e
0111260    n       [ 376 001  \0 363   }       S   y   s   F   r   e   e
0111300    (   i   l   d   )   ;       r   e   s   u   l   t   i   s    
0111320    F   r   e   e   P   L   i   s   t   (   p   l   )       ]  \r
0111340   \r               i   f       d   p   r   p   <   <   D   P   R
0111360    P   .   T   Y   P   E       t   h   e   n       p   l   >   >
0111400    P   L   .   T   Y   P   E       =       i   l   d   >   >   I
0111420    L   D   .   t   y   p   e  \r               i   f       d   p
0111440    r   p   <   <   D   P   R   P   .   B   Y   T   E       t   h
0111460    e   n       p   l   >   >   P   L   .   B   Y   T   E       =
0111500        i   l   d   >   >   I   L   D   .   b   y   t   e   S   i
0111520    z   e  \r               i   f       d   p   r   p   <   <   D
0111540    P   R   P   .   A   U   T   H       t   h   e   n       p   l
0111560    >   >   P   L   .   A   U   T   H       =       E   x   t   r
0111600    a   c   t   S   u   b   s   t   r   i   n   g   (   l   v    
0111620    i   l   d   >   >   I   L   D   .   a   u   t   h   o   r   )
0111640   \r  \r               i   f       d   p   r   p   <   <   D   P
0111660    R   P   .   C   D   A   T     376 001  \0 221 262   t   h   e
0111700    n       M   o   v   e   B   l   o   c   k   (   l   v       p
0111720    l   >   >   P   L   .   C   D   A   T   ,       l   v       i
0111740    l   d   >   >   L   D   .   c   r   e   a   t   e   d   ,    
0111760    2   )  \r               i   f       d   p   r   p   <   <   D
0112000    P   R   P   .   R   D   A   T       t   h   e   n       M   o
0112020    v   e   B   l   o   c   k   (   l   v       p   l   >   >   P
0112040    L   .   R   D   A   T   ,       l   v       i   l   d   >   >
0112060    L   D   .   r   e   a   d   ,       2   )  \r               i
0112100    f       d   p   r   p   <   <   D   P   R   P   .   W   D   A
0112120    T       t   h   e   n       M   o   v   e   B   l   o   c   k
0112140    (   l   v       p   l   >   >   P   L   .   W   D   A   T   ,
0112160        l   v       i   l   d   >   >   L   D   .   w   r   i   t
0112200    t   e   n   ,       2   )  \r  \r               i   f       d
0112220    p   r   p   <   <   D   P   R   P   .   S   I   Z   E       t
0112240    h   e   n  \r                           [  \r                
0112260            l   e   t       s   i   z       =       l 376 001  \0
0112300  034   N   v       p   l   >   >   P   L   .   S   I   Z   E  \r
0112320                            l   e   t       f   a       =       l
0112340    v       i   l   d   >   >   L   D   .   h   i   n   t   L   a
0112360    s   t   P   a   g   e   F   a  \r                           l
0112400    e   t       l   n   B   y   t   e   s       =       f   d   >
0112420    >   F   D   .   f   s   >   >   I   F   S   .   l   o   g   P
0112440    a   g   e   L   e   n   g   t   h       +   1  \r            
0112460                l   e   t       n   u   m   P   a   g   e   s    
0112500    =       f   a   >   >   F   A   .   p   a   g   e   N   u   m
0112520    b   e   r       -   1           /   /       d   o   n   '   t
0112540        c   o   u   n   t       l   e   a   d   e   r       p   a
0112560    g   e  \r                           u   n   l   e   s   s    
0112600    n   u   m   P   a   g   e   s       e   q       -   1       d
0112620    o  \r                                       [  \r            
0112640                            s   i   z   !   0       =       n   u
0112660    m   P   a   g   e   s       r   s   h   i   f   t       (   1
0112700    6   - 376 001  \0 331   l   l   n   B   y   t   e   s   )  \r
0112720                                        s   i   z   !   1       =
0112740        n   u   m   P   a   g   e   s       l   s   h   i   f   t
0112760        l   n   B   y   t   e   s       +       f   a   >   >   F
0113000    A   .   c   h   a   r   P   o   s  \r                        
0113020                ]  \r                           ]  \r  \r        
0113040        i   f       d   p   r   p   <   <   D   P   R   P   .   C
0113060    S   U   M       t   h   e   n       p   l   >   >   P   L   .
0113100    C   S   U   M       =       i   l   d   >   >   I   L   D   .
0113120    c   h   e   c   k   s   u   m  \r  \r               i   f    
0113140    n   a       g   r       1       &       r   e   p   o   r   t
0113160    D   a   m   a   g   e       &       i   l   d   >   >   I   L
0113200    D   .   d   a   m   a   g   e   d       t   h   e   n  \r    
0113220                        F   t   p   S   S   e   n   d   M   a   r
0113240    k   (   m   a   r   k   C   o   m   m   e   n   t   ,       e
0113260    c   F   i   l   e   D   a   m   a   g   e   d   ,       l   v
0113300        d   r   >   >   D   R 376  \0   0 342   q   .   p   a   t
0113320    h   N   a   m   e   )  \r  \r               S   y   s   F   r
0113340    e   e   (   i   l   d   )  \r               ]  \r  \r   r   e
0113360    s   u   l   t   i   s       p   l  \r   ]  \r 377  \0  \0   I
0113400    f   s   F   t   p   O   E   P   .   b   c   p   l  \0 373 233
0113420  236 005   m  \0  \0 376 001  \0 307 371   /   /       I   f   s
0113440    F   t   p   S   e   r   v   O   E   P   .   b   c   p   l  \r
0113460    /   /       C   o   p   y   r   i   g   h   t       X   e   r
0113500    o   x       C   o   r   p   o   r   a   t   i   o   n       1
0113520    9   7   9   ,       1   9   8   3  \r   /   /       L   a   s
0113540    t       m   o   d   i   f   i   e   d       S   e   p   t   e
0113560    m   b   e   r       2   5   ,       1   9   8   3           2
0113600    :   0   2       P   M       b   y       T   a   f   t  \r  \r
0113620    e   x   t   e   r   n   a   l  \r   [  \r   /   /       o   u
0113640    t   g   o   i   n   g       p   r   o   c   e   d   u   r   e
0113660    s  \r   I   n   i   t   F   t   p   S   e   r   v   O   E   P
0113700   \r  \r   /   /       i   n   c   o   m   i   n   g       p   r
0113720    o   c   e   d   u   r   e   s  \r   D   e   c   l   a   r   e
0113740    O   E   P   ;       I   f   s   F   t   p   S   e   r   v  \r
0113760    F   t   p   S   V   e   r   s   i   o   n   ;       F   t   p
0114000    S   N   o   t   I   m   p   l   ;       F   t   p   S   R   e
0114020    n   a   m   e  \r   F   t   p   S   S 376 001  \0   X   w   t
0114040    o   r   e   ;       F   t   p   S   S   t   o   r   e   F   i
0114060    l   e   ;       F   t   p   S   S   t   o   r   e   C   l   e
0114100    a   n   u   p  \r   F   t   p   S   R   e   t   r   i   e   v
0114120    e   ;       F   t   p   S   R   e   t   r   i   e   v   e   F
0114140    i   l   e  \r   F   t   p   S   D   e   l   e   t   e   ;    
0114160    F   t   p   S   D   e   l   e   t   e   F   i   l   e   ;    
0114200    F   t   p   S   D   i   r   e   c   t   o   r   y   ;       F
0114220    t   p   S   S   e   t   P   r   o   p   s  \r   ]  \r  \r  \r
0114240    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0114260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0114340    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   l
0114360    e   t       I   n   i   t   F   t   p   S   e   r   v   O   E
0114400    P   (   o   e   v   )       b   e  \r   /   /   -   -   -   -
0114420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0114440  001  \0 241 213   -   -   -   -   -   -   -   -   -   -   -   -
0114460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0114520    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r
0114540    D   e   c   l   a   r   e   O   E   P   (   o   e   v   ,    
0114560    l   v       I   f   s   F   t   p   S   e   r   v   ,       l
0114600    v       F   t   p   S   V   e   r   s   i   o   n   ,  \r    
0114620    l   v       F   t   p   S   S   t   o   r   e   ,       l   v
0114640        F   t   p   S   S   t   o   r   e   F   i   l   e   ,    
0114660    l   v       F   t   p   S   S   t   o   r   e   C   l   e   a
0114700    n   u   p   ,  \r       l   v       F   t   p   S   R   e   t
0114720    r   i   e   v   e   ,       l   v       F   t   p   S   R   e
0114740    t   r   i   e   v   e   F   i   l   e   )  \r   D   e   c   l
0114760    a   r   e   O   E   P   (   o   e   v   ,       l   v       F
0115000    t   p   S   D   e   l   e   t   e   ,       l   v       F   t
0115020    p   S   D   e   l   e   t   e   F   i   l   e   ,  \r       l
0115040    v       F   t 376  \0   ? 277   R   p   S   D   i   r   e   c
0115060    t   o   r   y   ,       l   v       F   t   p   S   R   e   n
0115100    a   m   e   ,       l   v       F   t   p   S   N   o   t   I
0115120    m   p   l   ,       l   v       F   t   p   S   S   e   t   P
0115140    r   o   p   s   )  \r   ]  \r 377  \0  \0   C   o   m   p   i
0115160    l   e   I   f   s   F   t   p   .   c   m  \0 373 230 025 272
0115200  002  \0  \0 376  \0 213   . 205   B   c   p   l   /   f   o    
0115220    I   f   s   F   t   p   I   n   i   t   .   b   c   p   l    
0115240    I   f   s   F   t   p   S   e   r   v   .   b   c   p   l    
0115260    I   f   s   F   t   p   S   t   o   r   e   .   b   c   p   l
0115300        I   f   s   F   t   p   R   e   t   r   i   e   v   e   .
0115320    b   c   p   l       I   f   s   F   t   p   C   m   d   .   b
0115340    c   p   l       I   f   s   F   t   p   X   f   e   r   .   b
0115360    c   p   l       I   f   s   F   t   p   U   t   i   l   .   b
0115400    c   p   l       I   f   s   F   t   p   O   E   P   .   b   c
0115420    p   l  \r 377  \0  \0   I   f   s   F   t   p   .   c   m  \0
0115440  373 223 361 317 306  \0  \0 376  \0 255   f 327   I   f   s   F
0115460    t   p   P   r   o   t   .   d   e   c   l       I   f   s   F
0115500    t   p   I   n   i   t   .   b   c   p   l       I   f   s   F
0115520    t   p   S   e   r   v   .   b   c   p   l       I   f   s   F
0115540    t   p   S   t   o   r   e   .   b   c   p   l       I   f   s
0115560    F   t   p   R   e   t   r   i   e   v   e   .   b   c   p   l
0115600        I   f   s   F   t   p   C   m   d   .   b   c   p   l    
0115620    I   f   s   F   t   p   X   f   e   r   .   b   c   p   l    
0115640    I   f   s   F   t   p   U   t   i   l   .   b   c   p   l    
0115660    I   f   s   F   t   p   O   E   P   .   b   c   p   l       C
0115700    o   m   p   i   l   e   I   f   s   F   t   p   .   c   m    
0115720    I   f   s   F   t   p   .   c   m 374                        
0115732