$ od -c -N 50000 [_CD8_]<ifs>IfsCopyDisk.dm!2
0000000  377  \0  \0   I   f   s   C   o   p   y   D   i   s   k   .   d
0000020    e   c   l  \0 373 230   A   Y 312  \0  \0 376 001  \0   w 357
0000040    /   /       I   f   s   C   o   p   y   D   i   s   k   .   d
0000060    e   c   l  \r   /   /       C   o   p   y   r   i   g   h   t
0000100        X   e   r   o   x       C   o   r   p   o   r   a   t   i
0000120    o   n       1   9   7   9   ,       1   9   8   0   ,       1
0000140    9   8   1  \r   /   /       L   a   s   t       m   o   d   i
0000160    f   i   e   d       D   e   c   e   m   b   e   r       1   1
0000200    ,       1   9   8   1           5   :   0   0       P   M    
0000220    b   y       T   a   f   t  \r  \r   /   /   -   -   -   -   -
0000240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0000340    -   -   -   -   -   -   -  \r   m   a   n   i   f   e   s   t
0000360   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0000400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0000440  376 001  \0 350   <   -   -   -   -   -   -   -   -   -   -   -
0000460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0000500    -   -   -   -  \r   [  \r   s   o   c   k   e   t   C   o   p
0000520    y   D   i   s   k       =       2   5   b  \t  \t   /   /    
0000540    w   e   l   l   -   k   n   o   w   n       s   o   c   k   e
0000560    t  \r   c   d   V   e   r   s   i   o   n       =       3  \t
0000600   \t  \t   /   /       p   r   o   t   o   c   o   l       v   e
0000620    r   s   i   o   n  \r  \r   /   /       I   f   s       e   r
0000640    r   o   r       c   o   d   e   s  \r   e   c   U   n   k   n
0000660    o   w   n   C   m   d       =       1   1   0   0  \t  \t   /
0000700    /       U   n   k   n   o   w   n       c   o   m   m   a   n
0000720    d  \r   e   c   N   o   D   i   s   k       =       1   1   0
0000740    1  \t  \t  \t   /   /       P   r   o   t   o   c   o   l    
0000760    e   r   r   o   r   :       n   o       d   i   s   k       s
0001000    p   e   c   i   f   i   e   d  \r   e   c   N   o   D   i   s
0001020    k   P   a   r   a   m   s       =       1   1   0   2  \t  \t
0001040    /   /       P   r 376 001  \0   F 341   o   t   o   c   o   l
0001060        e   r   r   o   r   :       n   o       d   i   s   k    
0001100    p   a   r   a   m   s  \r   e   c   R   e   a   d   y   F   o
0001120    r   D   i   s   k       =       1   1   0   3  \t  \t   /   /
0001140        I   '   m       r   e   a   d   y       f   o   r       y
0001160    o   u   r       d   i   s   k  \r   e   c   H   e   r   e   I
0001200    s   D   i   s   k       =       1   1   0   4  \t  \t   /   /
0001220        H   e   r   e       c   o   m   e   s       t   h   e    
0001240    d   i   s   k  \r   e   c   L   o   g   C   o   n   n       =
0001260        1   1   0   5  \t  \t   /   /       L   o   g   i   n   /
0001300    c   o   n   n   e   c   t       o   k  \r   e   c   B   a   d
0001320    F   o   r   m   a   t       =       1   1   0   6  \t  \t   /
0001340    /       F   i   l   e       i   s       n   o   t       i   n
0001360        C   o   p   y   D   i   s   k       f   o   r   m   a   t
0001400   \r  \r   /   /       c   o   m   m   a   n   d       b   l   o
0001420    c   k       t   y   p   e   s  \r   v   e   r   s   i   o   n
0001440        =       1  \t  \t  \t   /   /     376 001  \0 233       d
0001460    a   t   a       i   s       a       v   e   r   s   i   o   n
0001500        a   n   d       a       B   C   P   L       s   t   r   i
0001520    n   g  \r   s   e   n   d   D   i   s   k   P   a   r   a   m
0001540    s   R       =       2  \t  \t   /   /       d   a   t   a    
0001560    i   s       a       B   C   P   L       s   t   r   i   n   g
0001600   \r   s   e   n   d   D   i   s   k   P   a   r   a   m   s   W
0001620        =       1   6   b  \t  \t   /   /       d   a   t   a    
0001640    i   s       a       B   C   P   L       s   t   r   i   n   g
0001660   \r   h   e   r   e   A   r   e   D   i   s   k   P   a   r   a
0001700    m   s       =       3  \t  \t   /   /       d   a   t   a    
0001720    i   s       a       D   P       (   s   e   m   i   -   p   r
0001740    i   v   a   t   e       f   o   r   m   a   t   )  \r   s   t
0001760    o   r   e   D   i   s   k       =       4  \t  \t  \t   /   /
0002000        d   a   t   a       i   s       a       T   P       (   p
0002020    r   i   v   a   t   e       f   o   r   m   a   t   )  \r   r
0002040    e   t   r   i   e   v   e   D   i   s   k       =       5 376
0002060  001  \0   7 006  \t  \t   /   /       d   a   t   a       i   s
0002100        a       T   P       (   p   r   i   v   a   t   e       f
0002120    o   r   m   a   t   )  \r   h   e   r   e   I   s   D   i   s
0002140    k   P   a   g   e       =       6  \t  \t   /   /       d   a
0002160    t   a       i   s       a       p   a   g   e       (   p   r
0002200    i   v   a   t   e       f   o   r   m   a   t   )  \r   e   n
0002220    d   O   f   T   r   a   n   s   f   e   r       =       7  \t
0002240   \t   /   /       n   o       d   a   t   a  \r   s   e   n   d
0002260    E   r   r   o   r   s       =       1   0   b  \t  \t   /   /
0002300        n   o       d   a   t   a  \r   h   e   r   e   A   r   e
0002320    E   r   r   o   r   s       =       1   1   b  \t  \t   /   /
0002340        d   a   t   a       i   s       E   r   r   o   r   s    
0002360    (   p   r   i   v   a   t   e       f   o   r   m   a   t   )
0002400   \r   n   o       =       1   2   b  \t  \t  \t   /   /       d
0002420    a   t   a       i   s       a       c   o   d   e       a   n
0002440    d       a       B   C   P   L       s   t   r   i   n   g  \r
0002460    y   e   s     376 001  \0 344 343   =       1   3   b  \t  \t
0002500   \t   /   /       d   a   t   a       i   s       a       c   o
0002520    d   e       a   n   d       a       B   C   P   L       s   t
0002540    r   i   n   g  \r   c   o   m   m   e   n   t       =       1
0002560    4   b  \t  \t  \t   /   /       d   a   t   a       i   s    
0002600    a       B   C   P   L       s   t   r   i   n   g  \r   l   o
0002620    g   i   n       =       1   5   b  \t  \t  \t   /   /       d
0002640    a   t   a       i   s       4       B   C   P   L       s   t
0002660    r   i   n   g   s  \r   ]  \r  \r   /   /   -   -   -   -   -
0002700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003000    -   -   -   -   -   -   -  \r   s   t   r   u   c   t   u   r
0003020    e       C   D   C   t   x   :  \t  \t   /   /       C   o   p
0003040    y   D   i   s   k       C   o   n   t   e   x   t  \r   /   /
0003060    -   -   -   -   -   -   -   -   - 376 001  \0  \v   ;   -   -
0003100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003200    -  \r   [  \r   @   R   S   C   t   x  \r   d   i   s   k   S
0003220    t   r   e   a   m       w   o   r   d  \t  \t  \t   /   /    
0003240    -   >       d   i   s   k       s   t   r   e   a   m  \r   d
0003260    i   s   k   P   a   r   a   m   s       w   o   r   d  \t  \t
0003300   \t   /   /       -   >       c   u   r   r   e   n   t       d
0003320    i   s   k       p   a   r   a   m   s  \r   d   e   l   e   t
0003340    e       w   o   r   d  \t  \t  \t   /   /       =   >       f
0003360    i   l   e       b   e   h   i   n   d       s   t   r   e   a
0003400    m       s   h   o   u   l   d       b   e       d   e   l   e
0003420    t   e   d  \r   e   r   r   o   r   C   o   d   e       w   o
0003440    r   d  \t  \t  \t   /   /       I   F   S       e   r   r   o
0003460    r       c   o   d   e       f   o   r       l   a   s 376 001
0003500   \0   \ 250   t       t   r   a   n   s   f   e   r  \r   ]  \r
0003520   \f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0003540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003640   \r   s   t   r   u   c   t   u   r   e       C   B   :  \t  \t
0003660   \t   /   /       C   o   m   m   a   n   d       B   l   o   c
0003700    k  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0003720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0004020   \r   [  \r   l   e   n   g   t   h       w   o   r   d  \t  \t
0004040   \t   /   /       b   l   o   c   k       l   e   n   g   t   h
0004060        i   n       W   O   R   D   S       i   n   c   l   u   d
0004100    i   n   g 376 001  \0   s 233       t   h   i   s       w   o
0004120    r   d  \r   t   y   p   e       w   o   r   d  \r   c   o   d
0004140    e   S   t   r   i   n   g   :  \t  \t  \t   /   /       v   e
0004160    r   s   i   o   n   ,       y   e   s   ,       n   o  \r    
0004200            [  \r               c   o   d   e       w   o   r   d
0004220   \r               s   t   r   i   n   g       w   o   r   d  \r
0004240                ]       =  \r   s   t   r   i   n   g   :  \t  \t
0004260   \t  \t   /   /       l   o   g   i   n   ,       c   o   m   m
0004300    e   n   t   ,       s   e   n   d   D   i   s   k   P   a   r
0004320    a   m   s   (   R   ,   W   )  \r               [  \r        
0004340        s   t   r   i   n   g       w   o   r   d  \r            
0004360    /   /       3       m   o   r   e       s   t   r   i   n   g
0004400    s       i   f       l   o   g   i   n  \r               ]    
0004420    =  \r   d   i   s   k   P   a   r   a   m   s   :  \t  \t  \t
0004440    /   /       h   e   r   e   A   r   e   D   i   s   k   P   a
0004460    r   a   m   s  \r               [  \r               d   i   s
0004500    k   T   y   p   e       w   o 376 001  \0   \ 363   r   d  \t
0004520   \t   /   /       0       i   f       u   n   k   n   o   w   n
0004540   \r               p   a   r   a   m   s       w   o   r   d  \t
0004560   \t  \t   /   /       d   i   s   k       p   a   r   a   m   s
0004600        (   p   r   i   v   a   t   e       f   o   r   m   a   t
0004620    )  \r               ]       =  \r   x   f   e   r   P   a   r
0004640    a   m   s   :  \t  \t  \t   /   /       s   t   o   r   e   D
0004660    i   s   k   ,       r   e   t   r   i   e   v   e   D   i   s
0004700    k  \r               [  \r               p   a   r   a   m   s
0004720        w   o   r   d  \t  \t  \t   /   /       t   r   a   n   s
0004740    f   e   r       p   a   r   a   m   s       (   p   r   i   v
0004760    a   t   e       f   o   r   m   a   t   )  \r               ]
0005000        =  \r   e   r   r   o   r   s   :  \t  \t  \t  \t   /   /
0005020        h   e   r   e   A   r   e   E   r   r   o   r   s  \r    
0005040            [  \r               d   i   s   k   T   y   p   e    
0005060    w   o   r   d  \t  \t   /   /       0       i   f       u   n
0005100    k   n   o   w   n  \r               e   r   r   o 376 001  \0
0005120  002 276   r   s       w   o   r   d  \t  \t  \t   /   /       e
0005140    r   r   o   r       b   l   o   c   k       (   p   r   i   v
0005160    a   t   e       f   o   r   m   a   t   )  \r               ]
0005200   \r   ]  \r  \r   m   a   n   i   f   e   s   t  \r   [  \r   /
0005220    /       b   l   o   c   k       l   e   n   g   t   h   s  \r
0005240    l   e   n   C   o   d   e   S   t   r   i   n   g       =    
0005260    o   f   f   s   e   t       C   B   .   c   o   d   e   S   t
0005300    r   i   n   g   .   s   t   r   i   n   g   /   1   6        
0005320    /   /       +       l   e   n   g   t   h       o   f       s
0005340    t   r   i   n   g  \r   l   e   n   D   i   s   k   P   a   r
0005360    a   m   s       =       o   f   f   s   e   t       C   B   .
0005400    d   i   s   k   P   a   r   a   m   s   .   p   a   r   a   m
0005420    s   /   1   6           /   /       +       l   e   n   g   t
0005440    h       o   f       p   a   r   a   m   s  \r   l   e   n   X
0005460    f   e   r   P   a   r   a   m   s       =       o   f   f   s
0005500    e   t       C   B   .   x   f   e   r   P   a   r   a   m   s
0005520    .   p 376  \0 236 220  \v   a   r   a   m   s   /   1   6    
0005540        /   /       +       l   e   n   g   t   h       o   f    
0005560    p   a   r   a   m   s  \r   l   e   n   E   r   r   o   r   s
0005600        =       o   f   f   s   e   t       C   B   .   e   r   r
0005620    o   r   s   .   e   r   r   o   r   s   /   1   6           /
0005640    /       +       l   e   n   g   t   h       o   f       e   r
0005660    r   o   r   s  \r   l   e   n   S   t   r   i   n   g       =
0005700        o   f   f   s   e   t       C   B   .   s   t   r   i   n
0005720    g   .   s   t   r   i   n   g   /   1   6           /   /    
0005740    +       l   e   n   g   t   h       o   f       s   t   r   i
0005760    n   g  \r   ]  \r 377  \0  \0   I   f   s   C   o   p   y   D
0006000    i   s   k   I   n   i   t   .   b   c   p   l  \0 373 230 035
0006020  267   b  \0  \0 376 001  \0   * 360   /   /       I   f   s   C
0006040    o   p   y   D   i   s   k   I   n   i   t   .   b   c   p   l
0006060   \r   /   /       C   o   p   y   r   i   g   h   t       X   e
0006100    r   o   x       C   o   r   p   o   r   a   t   i   o   n    
0006120    1   9   8   0   ,       1   9   8   1  \r   /   /       L   a
0006140    s   t       m   o   d   i   f   i   e   d       N   o   v   e
0006160    m   b   e   r       1   4   ,       1   9   8   1           4
0006200    :   1   6       P   M       b   y       T   a   f   t  \r  \r
0006220    g   e   t       "   I   f   s   R   s   .   d   e   c   l   "
0006240   \r   g   e   t       "   I   f   s   C   o   p   y   D   i   s
0006260    k   .   d   e   c   l   "  \r  \r   e   x   t   e   r   n   a
0006300    l  \r   [  \r   /   /       o   u   t   g   o   i   n   g    
0006320    p   r   o   c   e   d   u   r   e   s  \r   E   n   a   b   l
0006340    e   C   o   p   y   D   i   s   k  \r  \r   /   /       i   n
0006360    c   o   m   i   n   g       p   r   o   c   e   d   u   r   e
0006400    s  \r   C   o   p   y   D   i   s   k   J   o   b  \r   O   p
0006420    e   n   L   e   v   e   l   1   S 376 001  \0   X   |   o   c
0006440    k   e   t   ;       C   l   o   s   e   L   e   v   e   l   1
0006460    S   o   c   k   e   t  \r   S   y   s   A   l   l   o   c   a
0006500    t   e   ;       S   y   s   A   l   l   o   c   a   t   e   Z
0006520    e   r   o   ;       F   r   e   e   P   o   i   n   t   e   r
0006540    ;       E   n   q   u   e   u   e   ;       U   n   q   u   e
0006560    u   e  \r  \r   /   /       o   u   t   g   o   i   n   g    
0006600    s   t   a   t   i   c   s  \r   c   d   r   s  \r  \r   /   /
0006620        i   n   c   o   m   i   n   g       s   t   a   t   i   c
0006640    s  \r   r   s   Q   ;       l   P   u   p   S   o   c  \r   ]
0006660   \r  \r   s   t   a   t   i   c       [       c   d   r   s    
0006700    =       0       ]  \t   /   /       z   e   r   o       i   f
0006720        n   o   t       e   n   a   b   l   e   d  \r  \r   /   /
0006740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0007020    -   -   -   -   -   -   -   -   -   -   -   -   -   - 376 001
0007040   \0   r 240   -   -   -   -   -   -   -   -   -   -   -   -   -
0007060    -  \r   l   e   t       E   n   a   b   l   e   C   o   p   y
0007100    D   i   s   k   (   e   n   a   b   l   e   )       b   e  \r
0007120    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0007140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0007220    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0007240   \r   i   f       e   n   a   b   l   e       n   e       0    
0007260    &       c   d   r   s       e   q       0       t   h   e   n
0007300   \r               [  \r               c   d   r   s       =    
0007320    S   y   s   A   l   l   o   c   a   t   e   Z   e   r   o   (
0007340    l   e   n   R   S   )  \r               c   d   r   s   >   >
0007360    R   S   .   p   r   o   c       =       C   o   p   y   D   i
0007400    s   k   J   o   b  \r               c   d   r   s   >   >   R
0007420    S   .   s   o   c       =       S   y   s   A   l   l   o   c
0007440    a   t   e 376 001  \0   o 214   (   l   P   u   p   S   o   c
0007460    )  \r               O   p   e   n   L   e   v   e   l   1   S
0007500    o   c   k   e   t   (   c   d   r   s   >   >   R   S   .   s
0007520    o   c   ,       t   a   b   l   e       [       0   ;       0
0007540    ;       s   o   c   k   e   t   C   o   p   y   D   i   s   k
0007560        ]   )  \r               c   d   r   s   >   >   R   S   .
0007600    t   y   p   e       =       j   o   b   T   y   p   e   C   o
0007620    p   y   D   i   s   k  \r               c   d   r   s   >   >
0007640    R   S   .   e   x   t   r   a   S   p   a   c   e       =    
0007660    s   i   z   e       C   D   C   t   x   /   1   6       -   3
0007700   \r               E   n   q   u   e   u   e   (   r   s   Q   ,
0007720        c   d   r   s   )  \r               ]  \r  \r   i   f    
0007740    e   n   a   b   l   e       e   q       0       &       c   d
0007760    r   s       n   e       0       t   h   e   n  \r            
0010000    [  \r               C   l   o   s   e   L   e   v   e   l   1
0010020    S   o   c   k   e   t   (   c   d   r   s   >   >   R   S   .
0010040    s   o   c   )  \r             376  \0   C   v 317   U   n   q
0010060    u   e   u   e   (   r   s   Q   ,       c   d   r   s   )  \r
0010100                F   r   e   e   P   o   i   n   t   e   r   (   l
0010120    v       c   d   r   s   >   >   R   S   .   s   o   c   ,    
0010140    l   v       c   d   r   s   )  \r               ]  \r   ]  \r
0010160  377  \0  \0   I   f   s   C   o   p   y   D   i   s   k   J   o
0010200    b   .   b   c   p   l  \0 373 230   A   n   E  \0  \0 376 001
0010220   \0 344   >   /   /       I   f   s   C   o   p   y   D   i   s
0010240    k   J   o   b   .   b   c   p   l  \r   /   /       C   o   p
0010260    y   r   i   g   h   t       X   e   r   o   x       C   o   r
0010300    p   o   r   a   t   i   o   n       1   9   8   0   ,       1
0010320    9   8   1  \r   /   /       L   a   s   t       m   o   d   i
0010340    f   i   e   d       D   e   c   e   m   b   e   r       1   1
0010360    ,       1   9   8   1           6   :   2   6       P   M    
0010400    b   y       T   a   f   t  \r  \r   g   e   t       K   D   H
0010420    ,       f   r   e   e   P   a   g   e   s   ,       F   A   ,
0010440        p   a   g   e   N   u   m   b   e   r   ,       l   F   A
0010460        f   r   o   m       "   A   l   t   o   F   i   l   e   S
0010500    y   s   .   d   "  \r   g   e   t       D   S   K   ,       d
0010520    i   s   k   K   d       f   r   o   m       "   D   i   s   k
0010540    s   .   d   "  \r   g   e   t       e   c   F   i   l   e   S
0010560    y   s   t   e   m   F   u   l   l   ,       e   c   D   i   s
0010600    k   E   r   r   o   r       f   r   o   m       "   I   f   s
0010620    D   i   r 376 001  \0 270 350   s   .   d   e   c   l   "  \r
0010640    g   e   t       "   I   f   s   .   d   e   c   l   "  \r   g
0010660    e   t       "   I   f   s   S   y   s   t   e   m   I   n   f
0010700    o   .   d   e   c   l   "  \r   g   e   t       "   S   t   r
0010720    e   a   m   s   .   d   "  \r   g   e   t       "   I   f   s
0010740    R   S   .   d   e   c   l   "  \r   g   e   t       "   I   f
0010760    s   C   o   p   y   D   i   s   k   .   d   e   c   l   "  \r
0011000   \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /       o
0011020    u   t   g   o   i   n   g       p   r   o   c   e   d   u   r
0011040    e   s  \r   C   o   p   y   D   i   s   k   J   o   b  \r   P
0011060    u   t   S   t   r   i   n   g   ;       P   u   t   I   f   s
0011100    E   c   ;       P   u   t   B   l   o   c   k  \r  \r   /   /
0011120        i   n   c   o   m   i   n   g       p   r   o   c   e   d
0011140    u   r   e   s  \r   C   D   V   e   r   s   i   o   n   ;    
0011160    C   D   L   o   g   i   n   ;       C   D   S   e   n   d   E
0011200    r   r   o   r   s   ;       C   D   C   l   o   s   e   F   i
0011220    l   e  \r   C   D   S   e   n 376 001  \0 356   C   d   D   i
0011240    s   k   P   a   r   a   m   s   ;       C   D   H   e   r   e
0011260    A   r   e   D   i   s   k   P   a   r   a   m   s  \r  \r   C
0011300    r   e   a   t   e   U   s   e   r   I   n   f   o   ;       D
0011320    e   s   t   r   o   y   U   s   e   r   I   n   f   o   ;    
0011340    D   e   s   t   r   o   y   J   o   b  \r   B   S   P   R   e
0011360    a   d   B   l   o   c   k   ;       B   S   P   W   r   i   t
0011400    e   B   l   o   c   k   ;       B   S   P   F   o   r   c   e
0011420    O   u   t   p   u   t  \r   L   n   P   a   g   e   S   i   z
0011440    e   ;       K   s   B   u   f   f   e   r   A   d   d   r   e
0011460    s   s   ;       C   u   r   r   e   n   t   P   o   s   ;    
0011500    T   r   u   n   c   a   t   e   D   i   s   k   S   t   r   e
0011520    a   m  \r   C   l   e   a   n   u   p   D   i   s   k   S   t
0011540    r   e   a   m   ;       S   e   t   D   i   r   t   y   ;    
0011560    P   o   s   i   t   i   o   n   P   t   r   ;       W   r   i
0011600    t   e   B   l   o   c   k  \r   K   s   G   e   t   D   i   s
0011620    k   ;       G   e   t   C   u   r   r   e   n   t 376 001  \0
0011640    K 264   F   a   ;       J   u   m   p   T   o   F   a   ;    
0011660    P   o   s   i   t   i   o   n   P   a   g   e  \r   C   r   e
0011700    a   t   e   S   t   r   i   n   g   S   t   r   e   a   m   ;
0011720        P   u   t   T   e   m   p   l   a   t   e   ;       L   o
0011740    o   k   u   p   E   r   r   o   r   C   o   d   e  \r   M   o
0011760    v   e   B   l   o   c   k   ;       M   i   n   ;       R   e
0012000    t   u   r   n   F   r   o   m   ;       S   y   s   E   r   r
0012020    ;       G   o   t   o   F   r   a   m   e   ;       M   y   F
0012040    r   a   m   e   ;       N   o   o   p  \r   G   e   t   s   ;
0012060        P   u   t   s   ;       C   l   o   s   e   s   ;       R
0012100    e   s   e   t   s   ;       E   n   d   o   f   s   ;       S
0012120    y   s   A   l   l   o   c   a   t   e   ;       S   y   s   F
0012140    r   e   e  \r  \r   /   /       i   n   c   o   m   i   n   g
0012160        s   t   a   t   i   c   s  \r   o   f   f   s   e   t   B
0012200    S   P   S   t   r   ;       C   t   x   R   u   n   n   i   n
0012220    g  \r   ]  \r  \r   m   a   n   i   f   e   s   t  \r   [  \r
0012240    e   c 376 001  \0   t   p   U   n   R   e   c   o   v   D   i
0012260    s   k   E   r   r   o   r       =       2   4   1   2        
0012300    /   /       f   o   r       T   r   i   d   e   n   t       d
0012320    i   s   k   s       o   n   l   y  \r   e   c   D   i   s   k
0012340    F   u   l   l       =       2   4   1   3           /   /    
0012360    f   o   r       T   r   i   d   e   n   t       d   i   s   k
0012400    s       o   n   l   y  \r   c   u   r   s   o   r   B   i   t
0012420    M   a   p       =       4   3   1   b  \r   p   a   g   e   s
0012440    P   e   r   B   a   t   c   h       =       1   9   *   9    
0012460        /   /       p   r   e   a   l   l   o   c   a   t   e    
0012500    1       c   y   l   i   n   d   e   r   '   s       w   o   r
0012520    t   h       o   f       p   a   g   e   s       a   t       a
0012540        t   i   m   e  \r   ]  \r  \r   /   /   -   -   -   -   -
0012560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0012640    -   -   -   -   -   -   - 376 001  \0   - 021   -   -   -   -
0012660    -   -   -   -   -   -   -   -   -   -   -   -  \r   l   e   t
0012700        C   o   p   y   D   i   s   k   J   o   b   (   c   t   x
0012720    )       b   e  \t  \t   /   /       a   n       I   F   S    
0012740    j   o   b  \r   /   /   -   -   -   -   -   -   -   -   -   -
0012760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0013060    -   -  \r   [  \r   l   e   t       b   s   p   S   t   r   e
0013100    a   m       =       c   t   x   >   >   R   S   C   t   x   .
0013120    b   s   p   S   o   c       +       o   f   f   s   e   t   B
0013140    S   P   S   t   r  \r   c   t   x   >   >   R   S   C   t   x
0013160    .   u   s   e   r   I   n   f   o       =       C   r   e   a
0013200    t   e   U   s   e   r   I   n   f   o   (   )  \r  \r   C   o
0013220    p   y   D   i   s   k   S   e   r   v   e   r   (   b   s   p
0013240    S   t   r   e   a   m   )           /   /   t 376 001  \0   s
0013260    I   h   e       w   o   r   k       h   a   p   p   e   n   s
0013300        i   n       h   e   r   e  \r  \r   i   f       c   t   x
0013320    >   >   R   S   C   t   x   .   c   o   n   n   F   l   a   g
0013340        n   e       0       t   h   e   n       C   l   o   s   e
0013360    s   (   b   s   p   S   t   r   e   a   m   )  \r   C   D   C
0013400    l   o   s   e   F   i   l   e   (   )  \r   D   e   s   t   r
0013420    o   y   U   s   e   r   I   n   f   o   (   c   t   x   >   >
0013440    R   S   C   t   x   .   u   s   e   r   I   n   f   o   )  \r
0013460    D   e   s   t   r   o   y   J   o   b   (   )           /   /
0013500    s   u   i   c   i   d   e  \r   ]  \r  \f  \r   /   /   -   -
0013520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0013620    -   -   -   -   -   -   -   -   -   -  \r   a   n   d       C
0013640    o   p   y   D   i   s   k   S   e   r   v   e   r   (   b   s
0013660    p 376 001  \0   ! 025   S   t   r   e   a   m   )       b   e
0013700   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0013720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0014020    [  \r   l   e   t       l   e   n   g   t   h       =       G
0014040    e   t   s   (   b   s   p   S   t   r   e   a   m   ,       1
0014060    8   0   0   0   )       l   s   h   i   f   t       8        
0014100    /   /       3       m   i   n   u   t   e       t   o   p    
0014120    l   e   v   e   l       t   i   m   e   o   u   t  \r   l   e
0014140    n   g   t   h       =       G   e   t   s   (   b   s   p   S
0014160    t   r   e   a   m   )       +       l   e   n   g   t   h  \r
0014200    i   f       l   e   n   g   t   h       u   g   r       1   5
0014220    0       r   e   t   u   r   n           /   /       d   o   n
0014240    '   t       b   e       t   o   o       g   u   l   l   i   b
0014260    l   e  \r   l   e   t 376 001  \0 364 321       c   b       =
0014300        S   y   s   A   l   l   o   c   a   t   e   (   l   e   n
0014320    g   t   h   )  \r   c   b   >   >   C   B   .   l   e   n   g
0014340    t   h       =       l   e   n   g   t   h  \r   i   f       B
0014360    S   P   R   e   a   d   B   l   o   c   k   (   b   s   p   S
0014400    t   r   e   a   m   ,       l   v       c   b   >   >   C   B
0014420    .   t   y   p   e   ,       0   ,  \r       (   l   e   n   g
0014440    t   h   -   1   )       l   s   h   i   f   t       1   )    
0014460    n   e       (   l   e   n   g   t   h   -   1   )       l   s
0014500    h   i   f   t       1       t   h   e   n           /   /    
0014520    s   t   r   e   a   m       f   a   i   l   e   d  \r        
0014540        [       S   y   s   F   r   e   e   (   c   b   )   ;    
0014560    r   e   t   u   r   n       ]  \r  \r   s   w   i   t   c   h
0014600    o   n       c   b   >   >   C   B   .   t   y   p   e       i
0014620    n   t   o  \r               [  \r               c   a   s   e
0014640        v   e   r   s   i   o   n   :  \r                        
0014660    [       C   D   V   e   r   s   i   o   n 376 001  \0 316 275
0014700    (   c   b   )   ;       e   n   d   c   a   s   e       ]  \r
0014720                c   a   s   e       l   o   g   i   n   :  \r    
0014740                        [       C   D   L   o   g   i   n   (   c
0014760    b   )   ;       e   n   d   c   a   s   e       ]  \r        
0015000        c   a   s   e       s   e   n   d   D   i   s   k   P   a
0015020    r   a   m   s   R   :       c   a   s   e       s   e   n   d
0015040    D   i   s   k   P   a   r   a   m   s   W   :  \r            
0015060                [       C   D   S   e   n   d   D   i   s   k   P
0015100    a   r   a   m   s   (   c   b   )   ;       e   n   d   c   a
0015120    s   e       ]  \r               c   a   s   e       h   e   r
0015140    e   A   r   e   D   i   s   k   P   a   r   a   m   s   :  \r
0015160                            [       C   D   H   e   r   e   A   r
0015200    e   D   i   s   k   P   a   r   a   m   s   (   c   b   )   ;
0015220        e   n   d   c   a   s   e       ]  \r               c   a
0015240    s   e       s   t   o   r   e   D   i   s   k   :  \r        
0015260                    [       C   D   S   t   o   r   e   D   i   s
0015300  376 001  \0   r 210   k   (   c   b   )   ;       e   n   d   c
0015320    a   s   e       ]  \r               c   a   s   e       r   e
0015340    t   r   i   e   v   e   D   i   s   k   :  \r                
0015360            [       C   D   R   e   t   r   i   e   v   e   D   i
0015400    s   k   (   c   b   )   ;       e   n   d   c   a   s   e    
0015420    ]  \r               c   a   s   e       s   e   n   d   E   r
0015440    r   o   r   s   :  \r                           [       C   D
0015460    S   e   n   d   E   r   r   o   r   s   (   c   b   )   ;    
0015500    e   n   d   c   a   s   e       ]  \r               c   a   s
0015520    e       c   o   m   m   e   n   t   :  \r                    
0015540        e   n   d   c   a   s   e  \r               d   e   f   a
0015560    u   l   t   :  \r                           [       P   u   t
0015600    I   f   s   E   c   (   n   o   ,       e   c   U   n   k   n
0015620    o   w   n   C   m   d   )   ;       e   n   d   c   a   s   e
0015640        ]  \r               ]  \r   S   y   s   F   r   e   e   (
0015660    c   b   )  \r   ]       r   e   p   e   a   t  \r  \r   /   /
0015700    -   -   -   -   - 376 001  \0 336 026   -   -   -   -   -   -
0015720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0016020    -  \r   a   n   d       C   D   S   t   o   r   e   D   i   s
0016040    k   (   c   b   )       b   e  \r   /   /   -   -   -   -   -
0016060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0016160    -   -   -   -   -   -   -  \r   /   /       C   o   p   i   e
0016200    s       d   a   t   a       f   r   o   m       b   s   p   S
0016220    t   r   e   a   m       t   o       d   i   s   k   S   t   r
0016240    e   a   m   .  \r   [  \r   t   e   s   t       C   t   x   R
0016260    u   n   n   i   n   g   >   >   C   D   C   t   x   .   d   i
0016300    s   k   S   t   r   e   a   m       e 376 001  \0 340   :   q
0016320        0  \r               i   f   s   o       [       P   u   t
0016340    I   f   s   E   c   (   n   o   ,       e   c   N   o   D   i
0016360    s   k   )   ;       r   e   t   u   r   n       ]  \r        
0016400        i   f   n   o   t       t   e   s   t       C   t   x   R
0016420    u   n   n   i   n   g   >   >   C   D   C   t   x   .   d   i
0016440    s   k   P   a   r   a   m   s       e   q       0  \r        
0016460                    i   f   s   o       [       P   u   t   I   f
0016500    s   E   c   (   n   o   ,       e   c   N   o   D   i   s   k
0016520    P   a   r   a   m   s   )   ;       r   e   t   u   r   n    
0016540    ]  \r                           i   f   n   o   t       P   u
0016560    t   I   f   s   E   c   (   y   e   s   ,       e   c   R   e
0016600    a   d   y   F   o   r   D   i   s   k   )  \r  \r   l   e   t
0016620        b   s   p   S   t   r   e   a   m       =       C   t   x
0016640    R   u   n   n   i   n   g   >   >   R   S   C   t   x   .   b
0016660    s   p   S   o   c   +   o   f   f   s   e   t   B   S   P   S
0016700    t   r  \r   l   e   t       d   i   s   k   S   t   r   e 376
0016720  001  \0 273   /   a   m       =       C   t   x   R   u   n   n
0016740    i   n   g   >   >   C   D   C   t   x   .   d   i   s   k   S
0016760    t   r   e   a   m  \r   l   e   t       c   h   a   r   s   P
0017000    e   r   P   a   g   e       =       2       l   s   h   i   f
0017020    t       L   n   P   a   g   e   S   i   z   e   (   d   i   s
0017040    k   S   t   r   e   a   m   )  \r   l   e   t       k   s   B
0017060    u   f   f   e   r       =       K   s   B   u   f   f   e   r
0017100    A   d   d   r   e   s   s   (   d   i   s   k   S   t   r   e
0017120    a   m   )  \r  \r   l   e   t       s   a   v   e   d   E   r
0017140    r   o   r   P   r   o   c       =       d   i   s   k   S   t
0017160    r   e   a   m   >   >   S   T   .   e   r   r   o   r  \r   d
0017200    i   s   k   S   t   r   e   a   m   >   >   S   T   .   e   r
0017220    r   o   r       =       C   D   S   t   o   r   e   D   i   s
0017240    k   E   r   r   o   r  \r   d   i   s   k   S   t   r   e   a
0017260    m   >   >   S   T   .   p   a   r   2       =       M   y   F
0017300    r   a   m   e   (   )  \r  \r   R   e   s   e   t   s   (   d
0017320    i   s   k   S 376 001  \0 260   !   t   r   e   a   m   )  \r
0017340    l   e   t       d   p       =       C   t   x   R   u   n   n
0017360    i   n   g   >   >   C   D   C   t   x   .   d   i   s   k   P
0017400    a   r   a   m   s  \r   W   r   i   t   e   B   l   o   c   k
0017420    (   d   i   s   k   S   t   r   e   a   m   ,       d   p   ,
0017440        d   p   >   >   C   B   .   l   e   n   g   t   h   )  \r
0017460   \r   l   e   t       c   b   T   y   p   e       =       n   i
0017500    l  \r   l   e   t       p   a   g   e   s   P   r   e   a   l
0017520    l   o   c   a   t   e   d       =       0  \r   C   t   x   R
0017540    u   n   n   i   n   g   >   >   C   D   C   t   x   .   d   e
0017560    l   e   t   e       =       f   a   l   s   e  \r  \f  \r   /
0017600    /       C   D   S   t   o   r   e   D   i   s   k       (   c
0017620    o   n   t   '   d   )  \r  \r               [       /   /    
0017640    r   e   p   e   a   t       -   -       t   r   a   n   s   f
0017660    e   r       b   l   o   c   k   s       t   o       a   n   d
0017700        i   n   c   l   u   d   i   n   g       e   n   d   O   f
0017720    T   r   a   n   s   f   e   r     376 001  \0 374 361   b   l
0017740    o   c   k  \r               l   e   t       c   b   L   e   n
0017760    g   t   h       =       G   e   t   s   (   b   s   p   S   t
0020000    r   e   a   m   )       l   s   h   i   f   t       8  \r    
0020020            c   b   L   e   n   g   t   h       =       G   e   t
0020040    s   (   b   s   p   S   t   r   e   a   m   )       +       c
0020060    b   L   e   n   g   t   h  \r               i   f       (   c
0020100    b   L   e   n   g   t   h   -   2   )       u   g   r       1
0020120    5   0   0       t   h   e   n  \r                           [
0020140        C   t   x   R   u   n   n   i   n   g   >   >   C   D   C
0020160    t   x   .   d   e   l   e   t   e       =       t   r   u   e
0020200    ;       b   r   e   a   k       ]               /   /       b
0020220    a   d       b   l   o   c   k       s   i   z   e  \r        
0020240        c   b   T   y   p   e       =       G   e   t   s   (   b
0020260    s   p   S   t   r   e   a   m   )       l   s   h   i   f   t
0020300        8  \r               c   b   T   y   p   e       =       G
0020320    e   t   s   (   b   s   p   S   t   r   e   a   m   ) 376 001
0020340   \0   ^ 257       +       c   b   T   y   p   e  \r            
0020360    P   u   t   s   (   d   i   s   k   S   t   r   e   a   m   ,
0020400        c   b   L   e   n   g   t   h   )           /   /       w
0020420    o   r   d   I   t   e   m       s   t   r   e   a   m  \r    
0020440            P   u   t   s   (   d   i   s   k   S   t   r   e   a
0020460    m   ,       c   b   T   y   p   e   )  \r  \r               l
0020500    e   t       c   b   B   y   t   e   s       =       (   c   b
0020520    L   e   n   g   t   h   -   2   )       l   s   h   i   f   t
0020540        1           /   /       r   e   m   a   i   n   i   n   g
0020560        b   y   t   e   s       i   n       b   l   o   c   k  \r
0020600                w   h   i   l   e       c   b   B   y   t   e   s
0020620        n   e       0       d   o  \r                           [
0020640   \r                           l   e   t       p   o   s       =
0020660        C   u   r   r   e   n   t   P   o   s   (   d   i   s   k
0020700    S   t   r   e   a   m   )  \r                           l   e
0020720    t       n   e   t   B   y   t   e   s       =       M   i   n
0020740    (   c   b 376 001  \0 324 276   B   y   t   e   s   ,       c
0020760    h   a   r   s   P   e   r   P   a   g   e   -   p   o   s   )
0021000   \r                           i   f       B   S   P   R   e   a
0021020    d   B   l   o   c   k   (   b   s   p   S   t   r   e   a   m
0021040    ,       k   s   B   u   f   f   e   r   ,       p   o   s   ,
0021060        n   e   t   B   y   t   e   s   )       n   e       n   e
0021100    t   B   y   t   e   s       t   h   e   n  \r                
0021120                        [       C   t   x   R   u   n   n   i   n
0021140    g   >   >   C   D   C   t   x   .   d   e   l   e   t   e    
0021160    =       t   r   u   e   ;       b   r   e   a   k       ]    
0021200        /   /       s   t   r   e   a   m       d   i   e   d  \r
0021220                            i   f       n   e   t   B   y   t   e
0021240    s       n   e       0       t   h   e   n       S   e   t   D
0021260    i   r   t   y   (   d   i   s   k   S   t   r   e   a   m   ,
0021300        t   r   u   e   )  \r                           P   o   s
0021320    i   t   i   o   n   P   t   r   (   d   i   s   k   S   t   r
0021340    e   a   m   ,       p   o   s 376 001  \0 227   ,   +   n   e
0021360    t   B   y   t   e   s   )  \r                           c   b
0021400    B   y   t   e   s       =       c   b   B   y   t   e   s   -
0021420    n   e   t   B   y   t   e   s  \r  \r                        
0021440    i   f       p   o   s   +   n   e   t   B   y   t   e   s    
0021460    e   q       c   h   a   r   s   P   e   r   P   a   g   e    
0021500    t   h   e   n  \r                                       [  \r
0021520                                        t   e   s   t       C   t
0021540    x   R   u   n   n   i   n   g   >   >   C   D   C   t   x   .
0021560    d   e   l   e   t   e  \r                                    
0021600                i   f   s   o       P   o   s   i   t   i   o   n
0021620    P   t   r   (   d   i   s   k   S   t   r   e   a   m   ,    
0021640    0   )  \r                                                   i
0021660    f   n   o   t       C   l   e   a   n   u   p   D   i   s   k
0021700    S   t   r   e   a   m   (   d   i   s   k   S   t   r   e   a
0021720    m   )           /   /       w   r   i   t   e       o   u   t
0021740        s   t   r   e   a   m       b   u   f   f   e 376 001  \0
0021760    D   q   r  \r                                       f   o   r
0022000        i       =       0       t   o       1   5       d   o    
0022020    c   u   r   s   o   r   B   i   t   M   a   p   !   i       =
0022040        n   o   t       c   u   r   s   o   r   B   i   t   M   a
0022060    p   !   i  \r                                       p   a   g
0022100    e   s   P   r   e   a   l   l   o   c   a   t   e   d       =
0022120        p   a   g   e   s   P   r   e   a   l   l   o   c   a   t
0022140    e   d   -   1  \r                                       i   f
0022160        p   a   g   e   s   P   r   e   a   l   l   o   c   a   t
0022200    e   d       l   e       0       &       n   o   t       C   t
0022220    x   R   u   n   n   i   n   g   >   >   C   D   C   t   x   .
0022240    d   e   l   e   t   e       t   h   e   n  \r                
0022260                                    [  \r                        
0022300                            /   /       P   r   e   a   l   l   o
0022320    c   a   t   e       a       n   e   w       b   a   t   c   h
0022340        o   f       p   a   g   e   s   ,       s   o       l   o
0022360    n   g 376 001  \0 354   t       a   s       t   h   a   t    
0022400    d   o   e   s   n   '   t       r   u   n  \r                
0022420                                    /   /       t   h   e       f
0022440    i   l   e       s   y   s   t   e   m       t   o   o       c
0022460    l   o   s   e       t   o       e   x   h   a   u   s   t   i
0022500    o   n   .  \r                                                
0022520    p   a   g   e   s   P   r   e   a   l   l   o   c   a   t   e
0022540    d       =       p   a   g   e   s   P   e   r   B   a   t   c
0022560    h  \r                                                   i   f
0022600        E   n   d   o   f   s   (   d   i   s   k   S   t   r   e
0022620    a   m   )       &  \r                                        
0022640                K   s   G   e   t   D   i   s   k   (   d   i   s
0022660    k   S   t   r   e   a   m   )   >   >   D   S   K   .   d   i
0022700    s   k   K   d   >   >   K   D   H   .   f   r   e   e   P   a
0022720    g   e   s       u   g   r  \r                                
0022740                        p   a   g   e   s   P   e   r   B   a   t
0022760    c   h   +   2   5   0     376 001  \0 266 022   t   h   e   n
0023000   \r                                                            
0023020    [  \r                                                        
0023040        l   e   t       c   u   r   r   e   n   t   F   A       =
0023060        v   e   c       l   F   A   ;       G   e   t   C   u   r
0023100    r   e   n   t   F   a   (   d   i   s   k   S   t   r   e   a
0023120    m   ,       c   u   r   r   e   n   t   F   A   )  \r        
0023140                                                        P   o   s
0023160    i   t   i   o   n   P   a   g   e   (   d   i   s   k   S   t
0023200    r   e   a   m   ,       c   u   r   r   e   n   t   F   A   >
0023220    >   F   A   .   p   a   g   e   N   u   m   b   e   r       +
0023240        p   a   g   e   s   P   e   r   B   a   t   c   h   )  \r
0023260                                                                J
0023300    u   m   p   T   o   F   a   (   d   i   s   k   S   t   r   e
0023320    a   m   ,       c   u   r   r   e   n   t   F   A   )  \r    
0023340                                                            ]  \r
0023360                                                  376 001  \0 223
0023400  375   ]  \r                                       ]  \r        
0023420                    ]  \r  \r               i   f       c   b   T
0023440    y   p   e       e   q       e   n   d   O   f   T   r   a   n
0023460    s   f   e   r       b   r   e   a   k  \r               ]    
0023500    r   e   p   e   a   t  \r  \r   d   i   s   k   S   t   r   e
0023520    a   m   >   >   S   T   .   e   r   r   o   r       =       s
0023540    a   v   e   d   E   r   r   o   r   P   r   o   c  \r   t   e
0023560    s   t       C   t   x   R   u   n   n   i   n   g   >   >   C
0023600    D   C   t   x   .   d   e   l   e   t   e  \r               i
0023620    f   s   o       [       S   e   t   D   i   r   t   y   (   d
0023640    i   s   k   S   t   r   e   a   m   ,       f   a   l   s   e
0023660    )   ;       C   D   C   l   o   s   e   F   i   l   e   (   )
0023700        ]  \r               i   f   n   o   t       T   r   u   n
0023720    c   a   t   e   D   i   s   k   S   t   r   e   a   m   (   d
0023740    i   s   k   S   t   r   e   a   m   )  \r   ]  \r  \r   /   /
0023760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0024000    - 376 001  \0   d 205   -   -   -   -   -   -   -   -   -   -
0024020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0024100   \r   a   n   d       C   D   S   t   o   r   e   D   i   s   k
0024120    E   r   r   o   r   (   s   ,       e   c   ,       p   a   r
0024140    )       b   e  \r   /   /   -   -   -   -   -   -   -   -   -
0024160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0024260    -   -  \r   /   /       I   f       l   o   c   a   l       d
0024300    i   s   k       b   e   c   o   m   e   s       f   u   l   l
0024320        t   h   e   n       s   e   t       d   i   s   c   a   r
0024340    d       f   l   a   g       i   n       S   T   .   p   a   r
0024360    3   ,       w   h   i   c   h       w   i   l   l  \r   /   /
0024400        c   a   u   s   e 376 001  \0 224 373       t   h   e    
0024420    r   e   m   a   i   n   d   e   r       o   f       t   h   e
0024440        i   n   c   o   m   i   n   g       d   i   s   k       i
0024460    m   a   g   e       t   o       b   e       t   h   r   o   w
0024500    n       a   w   a   y   .  \r   [  \r   i   f       e   c    
0024520    e   q       e   c   D   i   s   k   F   u   l   l       t   h
0024540    e   n  \r               [  \r               S   e   t   D   i
0024560    r   t   y   (   s   ,       f   a   l   s   e   )  \r        
0024600        s   >   >   S   T   .   p   u   t   s       =       N   o
0024620    o   p  \r               C   t   x   R   u   n   n   i   n   g
0024640    >   >   C   D   C   t   x   .   d   e   l   e   t   e       =
0024660        t   r   u   e  \r               C   t   x   R   u   n   n
0024700    i   n   g   >   >   C   D   C   t   x   .   e   r   r   o   r
0024720    C   o   d   e       =       e   c   F   i   l   e   S   y   s
0024740    t   e   m   F   u   l   l  \r               G   o   t   o   F
0024760    r   a   m   e   (   s   >   >   S   T   .   p   a   r   2   )
0025000   \r               ]  \r   S   y   s   E   r 376 001  \0   ( 016
0025020    r   (   s   ,       e   c   ,       p   a   r   )  \r   ]  \r
0025040   \f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0025060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0025160   \r   a   n   d       C   D   R   e   t   r   i   e   v   e   D
0025200    i   s   k   (   c   b   )       b   e  \r   /   /   -   -   -
0025220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0025320    -   -   -   -   -   -   -   -   -  \r   /   /       C   o   p
0025340    i   e   s       d   a   t   a       f   r   o   m       d   i
0025360    s   k   S   t   r   e   a   m       t   o       b   s   p   S
0025400    t   r   e   a   m   .  \r   /   /       S   t   o   p   s    
0025420  376 001  \0 274   r   i   f       t   h   e       s   t   r   e
0025440    a   m       g   o   e   s       b   a   d       o   r       e
0025460    n   d       o   f       f   i   l   e   .  \r   [  \r   t   e
0025500    s   t       C   t   x   R   u   n   n   i   n   g   >   >   C
0025520    D   C   t   x   .   d   i   s   k   S   t   r   e   a   m    
0025540    e   q       0  \r               i   f   s   o  \r            
0025560                [  \r                           P   u   t   I   f
0025600    s   E   c   (   n   o   ,       (   C   t   x   R   u   n   n
0025620    i   n   g   >   >   C   D   C   t   x   .   e   r   r   o   r
0025640    C   o   d   e       n   e       0   ?  \r                    
0025660            C   t   x   R   u   n   n   i   n   g   >   >   C   D
0025700    C   t   x   .   e   r   r   o   r   C   o   d   e   ,       e
0025720    c   N   o   D   i   s   k   )   )  \r                        
0025740    r   e   t   u   r   n  \r                           ]  \r    
0025760            i   f   n   o   t       P   u   t   I   f   s   E   c
0026000    (   y   e   s   ,       e   c   H   e   r   e   I   s   D   i
0026020    s   k   )  \r  \r 376 001  \0   ) 240   l   e   t       b   s
0026040    p   S   t   r   e   a   m       =       C   t   x   R   u   n
0026060    n   i   n   g   >   >   R   S   C   t   x   .   b   s   p   S
0026100    o   c   +   o   f   f   s   e   t   B   S   P   S   t   r  \r
0026120    l   e   t       d   i   s   k   S   t   r   e   a   m       =
0026140        C   t   x   R   u   n   n   i   n   g   >   >   C   D   C
0026160    t   x   .   d   i   s   k   S   t   r   e   a   m  \r   l   e
0026200    t       c   h   a   r   s   P   e   r   P   a   g   e       =
0026220        2       l   s   h   i   f   t       L   n   P   a   g   e
0026240    S   i   z   e   (   d   i   s   k   S   t   r   e   a   m   )
0026260   \r   l   e   t       k   s   B   u   f   f   e   r       =    
0026300    K   s   B   u   f   f   e   r   A   d   d   r   e   s   s   (
0026320    d   i   s   k   S   t   r   e   a   m   )  \r  \r   l   e   t
0026340        s   a   v   e   d   E   r   r   o   r   P   r   o   c    
0026360    =       d   i   s   k   S   t   r   e   a   m   >   >   S   T
0026400    .   e   r   r   o   r  \r   d   i   s   k   S   t   r   e   a
0026420    m   >   >   S   T   .   e   r   r   o 376 001  \0   X 321   r
0026440        =       C   D   R   e   t   r   i   e   v   e   D   i   s
0026460    k   E   r   r   o   r  \r  \r   /   /       s   k   i   p    
0026500    d   i   s   k       p   a   r   a   m       b   l   o   c   k
0026520        -       a   s   s   u   m   e   d       t   o       b   e
0026540        s   m   a   l   l   e   r       t   h   a   n       k   s
0026560    B   u   f   f   e   r  \r   R   e   s   e   t   s   (   d   i
0026600    s   k   S   t   r   e   a   m   )  \r   P   o   s   i   t   i
0026620    o   n   P   t   r   (   d   i   s   k   S   t   r   e   a   m
0026640    ,       k   s   B   u   f   f   e   r   >   >   C   B   .   l
0026660    e   n   g   t   h   *   2   ,       f   a   l   s   e   )  \r
0026700   \r               [  \r               l   e   t       p   o   s
0026720        =       C   u   r   r   e   n   t   P   o   s   (   d   i
0026740    s   k   S   t   r   e   a   m   )  \r               P   o   s
0026760    i   t   i   o   n   P   t   r   (   d   i   s   k   S   t   r
0027000    e   a   m   ,       c   h   a   r   s   P   e   r   P   a   g
0027020    e   ,       f   a   l   s   e   )  \r               l   e 376
0027040  001  \0 001 264   t       f   i   l   e   B   y   t   e   s    
0027060    =       C   u   r   r   e   n   t   P   o   s   (   d   i   s
0027100    k   S   t   r   e   a   m   )   -   p   o   s  \r            
0027120    i   f       B   S   P   W   r   i   t   e   B   l   o   c   k
0027140    (   b   s   p   S   t   r   e   a   m   ,       k   s   B   u
0027160    f   f   e   r   ,       p   o   s   ,       f   i   l   e   B
0027200    y   t   e   s   )       n   e       f   i   l   e   B   y   t
0027220    e   s       b   r   e   a   k  \r               i   f       p
0027240    o   s   +   f   i   l   e   B   y   t   e   s       l   s    
0027260    c   h   a   r   s   P   e   r   P   a   g   e       b   r   e
0027300    a   k  \r               C   l   e   a   n   u   p   D   i   s
0027320    k   S   t   r   e   a   m   (   d   i   s   k   S   t   r   e
0027340    a   m   )  \r               f   o   r       i       =       0
0027360        t   o       1   5       d   o       c   u   r   s   o   r
0027400    B   i   t   M   a   p   !   i       =       n   o   t       c
0027420    u   r   s   o   r   B   i   t   M   a   p   !   i  \r        
0027440        ]       r 376 001  \0 232   (   e   p   e   a   t  \r  \r
0027460    B   S   P   F   o   r   c   e   O   u   t   p   u   t   (   C
0027500    t   x   R   u   n   n   i   n   g   >   >   R   S   C   t   x
0027520    .   b   s   p   S   o   c   )  \r   d   i   s   k   S   t   r
0027540    e   a   m   >   >   S   T   .   e   r   r   o   r       =    
0027560    s   a   v   e   d   E   r   r   o   r   P   r   o   c  \r   ]
0027600   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0027620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0027700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0027720    a   n   d       C   D   R   e   t   r   i   e   v   e   D   i
0027740    s   k   E   r   r   o   r   (   s   ,       e   c   ,       p
0027760    a   r   )       b   e  \r   /   /   -   -   -   -   -   -   -
0030000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0030040    -   -   -   -   -   -   -   -   - 376 001  \0 254 301   -   -
0030060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0030100    -   -   -   -   -   -   -   -   -  \r   /   /       I   f    
0030120    h   a   r   d       e   r   r   o   r       o   n       l   o
0030140    c   a   l       d   i   s   k   ,       r   e   m   e   m   b
0030160    e   r       e   r   r   o   r       c   o   d   e       a   n
0030200    d       p   r   o   c   e   e   d   .  \r   [  \r   i   f    
0030220    e   c       e   q       e   c   U   n   R   e   c   o   v   D
0030240    i   s   k   E   r   r   o   r       t   h   e   n  \r        
0030260        [  \r               C   t   x   R   u   n   n   i   n   g
0030300    >   >   C   D   C   t   x   .   e   r   r   o   r   C   o   d
0030320    e       =       e   c   D   i   s   k   E   r   r   o   r  \r
0030340                r   e   t   u   r   n           /   /       T   F
0030360    S       w   i   l   l       i   g   n   o   r   e       t   h
0030400    e       e   r   r   o   r  \r               ]  \r   S   y   s
0030420    E   r   r   (   s   ,       e   c   ,       p   a   r   )  \r
0030440    ]  \r  \f  \r   /   /   -   -   -   -   -   -   -   - 376 001
0030460   \0 225   _   -   -   -   -   -   -   -   -   -   -   -   -   -
0030500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0030560    -   -   -   -   -   -   -  \r   a   n   d       P   u   t   B
0030600    l   o   c   k   (   c   b   ,       t   y   p   e   ,       l
0030620    e   n   g   t   h   )       b   e  \r   /   /   -   -   -   -
0030640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0030740    -   -   -   -   -   -   -   -  \r   [  \r   c   b   >   >   C
0030760    B   .   t   y   p   e       =       t   y   p   e  \r   c   b
0031000    >   >   C   B   .   l   e   n   g   t   h       =       l   e
0031020    n   g   t   h  \r   l   e   t       b   s   p   S   t   r   e
0031040    a   m       =       C   t   x   R   u   n   n   i   n   g   >
0031060    >   R   S 376 001  \0 214   9   C   t   x   .   b   s   p   S
0031100    o   c   +   o   f   f   s   e   t   B   S   P   S   t   r  \r
0031120    i   f       B   S   P   W   r   i   t   e   B   l   o   c   k
0031140    (   b   s   p   S   t   r   e   a   m   ,       c   b   ,    
0031160    0   ,       l   e   n   g   t   h   *   2   )       e   q    
0031200    l   e   n   g   t   h   *   2       t   h   e   n  \r        
0031220        B   S   P   F   o   r   c   e   O   u   t   p   u   t   (
0031240    C   t   x   R   u   n   n   i   n   g   >   >   R   S   C   t
0031260    x   .   b   s   p   S   o   c   )  \r   ]  \r  \r   /   /   -
0031300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031400    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0031420    P   u   t   S   t   r   i   n   g   (   t   y   p   e   ,    
0031440    c   o   d   e   ,       s   t   r   i   n   g   ,       a   0
0031460    ,       a   1   ,       a   2 376 001  \0 021 365   ,       a
0031500    3   ,       a   4   )       b   e  \r   /   /   -   -   -   -
0031520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031620    -   -   -   -   -   -   -   -  \r   [  \r   l   e   t       c
0031640    b       =       S   y   s   A   l   l   o   c   a   t   e   (
0031660    l   e   n   C   o   d   e   S   t   r   i   n   g   +   1   2
0031700    8   )  \r   c   b   >   >   C   B   .   c   o   d   e   S   t
0031720    r   i   n   g   .   c   o   d   e       =       c   o   d   e
0031740   \r   l   e   t       s   t   r       =       l   v       c   b
0031760    >   >   C   B   .   c   o   d   e   S   t   r   i   n   g   .
0032000    s   t   r   i   n   g  \r   l   e   t       s   s       =    
0032020    C   r   e   a   t   e   S   t   r   i   n   g   S   t   r   e
0032040    a   m   (   s   t   r   ,       2   5   5   )  \r   P   u   t
0032060    T   e   m   p   l   a   t   e   (   s   s   ,     376 001  \0
0032100    j 036   s   t   r   i   n   g   ,       a   0   ,       a   1
0032120    ,       a   2   ,       a   3   ,       a   4   )  \r   C   l
0032140    o   s   e   s   (   s   s   )  \r   P   u   t   B   l   o   c
0032160    k   (   c   b   ,       t   y   p   e   ,       l   e   n   C
0032200    o   d   e   S   t   r   i   n   g       +       s   t   r   >
0032220    >   S   t   r   i   n   g   .   l   e   n   g   t   h       r
0032240    s   h   i   f   t       1       +   1   )  \r   S   y   s   F
0032260    r   e   e   (   c   b   )  \r   ]  \r  \r   /   /   -   -   -
0032300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0032400    -   -   -   -   -   -   -   -   -  \r   a   n   d       P   u
0032420    t   I   f   s   E   c   (   t   y   p   e   ,       e   c   )
0032440        b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -
0032460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0032500    -   - 376  \0 253 003 215   -   -   -   -   -   -   -   -   -
0032520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0032560    -   -   -   -   -   -   -  \r   [  \r   l   e   t       e   r
0032600    r   R   e   c       =       L   o   o   k   u   p   E   r   r
0032620    o   r   C   o   d   e   (   e   c   )  \r   P   u   t   S   t
0032640    r   i   n   g   (   t   y   p   e   ,       e   r   r   R   e
0032660    c   >   >   E   r   r   R   e   c   .   f   t   p   E   c   ,
0032700        l   v       e   r   r   R   e   c   >   >   E   r   r   R
0032720    e   c   .   e   r   r   o   r   S   t   r   i   n   g   )  \r
0032740    S   y   s   F   r   e   e   (   e   r   r   R   e   c   )  \r
0032760    ]  \r 377  \0  \0   I   f   s   C   o   p   y   D   i   s   k
0033000    R   a   r   e   .   b   c   p   l  \0 373 233 236 021   Q  \0
0033020   \0 376 001  \0 217 230   /   /       I   f   s   C   o   p   y
0033040    D   i   s   k   R   a   r   e   .   b   c   p   l  \r   /   /
0033060        C   o   p   y   r   i   g   h   t       X   e   r   o   x
0033100        C   o   r   p   o   r   a   t   i   o   n       1   9   8
0033120    0   ,       1   9   8   1   ,       1   9   8   2  \r   /   /
0033140        L   a   s   t       m   o   d   i   f   i   e   d       S
0033160    e   p   t   e   m   b   e   r       2   5   ,       1   9   8
0033200    3           2   :   5   3       P   M       b   y       T   a
0033220    f   t  \r  \r   g   e   t       "   S   t   r   e   a   m   s
0033240    .   d   "  \r   g   e   t       "   I   f   s   .   d   e   c
0033260    l   "  \r   g   e   t       "   I   f   s   R   S   .   d   e
0033300    c   l   "  \r   g   e   t       "   I   f   s   D   i   r   s
0033320    .   d   e   c   l   "  \r   g   e   t       "   I   f   s   F
0033340    i   l   e   s   .   d   e   c   l   "  \r   g   e   t       "
0033360    I   f   s   C   o   p   y   D   i   s   k   .   d   e   c   l
0033400    "  \r  \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /
0033420        o   u   t   g   o 376 001  \0 323 001   i   n   g       p
0033440    r   o   c   e   d   u   r   e   s  \r   C   D   V   e   r   s
0033460    i   o   n   ;       C   D   L   o   g   i   n   ;       C   D
0033500    S   e   n   d   E   r   r   o   r   s   ;       C   D   C   l
0033520    o   s   e   F   i   l   e  \r   C   D   S   e   n   d   D   i
0033540    s   k   P   a   r   a   m   s   ;       C   D   H   e   r   e
0033560    A   r   e   D   i   s   k   P   a   r   a   m   s  \r  \r   /
0033600    /       i   n   c   o   m   i   n   g       p   r   o   c   e
0033620    d   u   r   e   s  \r   P   u   t   S   t   r   i   n   g   ;
0033640        P   u   t   I   f   s   E   c   ;       P   u   t   B   l
0033660    o   c   k  \r   C   l   o   s   e   I   F   S   S   t   r   e
0033700    a   m   ;       C   l   o   s   e   I   F   S   F   i   l   e
0033720    ;       L   o   o   k   u   p   F   D   ;       D   e   l   e
0033740    t   e   F   i   l   e   F   r   o   m   F   D   ;       G   e
0033760    t   B   u   f   f   e   r   F   o   r   F   D  \r   D   e   s
0034000    t   r   o   y   F   D   ;       S   t   r   e   a   m   s   F
0034020    D   ;       T   r   a   n   s   f   e   r 376 001  \0   I   @
0034040    L   e   a   d   e   r   P   a   g   e  \r   I   F   S   O   p
0034060    e   n   F   i   l   e   ;       R   e   a   d   B   l   o   c
0034100    k   ;       W   r   i   t   e   B   l   o   c   k   ;       C
0034120    l   o   s   e   s  \r   L   o   g   i   n   ;       C   o   n
0034140    n   e   c   t   ;       A   c   t   i   v   e   J   o   b   s
0034160    ;       C   r   e   a   t   e   S   t   r   i   n   g   S   t
0034200    r   e   a   m  \r   P   r   i   n   t   I   F   S   V   e   r
0034220    s   i   o   n   ;       W   r   i   t   e   P   a   c   k   e
0034240    d   D   T   ;       P   u   t   T   e   m   p   l   a   t   e
0034260   \r   S   y   s   A   l   l   o   c   a   t   e   ;       S   y
0034300    s   F   r   e   e   ;       F   r   e   e   P   o   i   n   t
0034320    e   r   ;       M   o   v   e   B   l   o   c   k  \r  \r   /
0034340    /       i   n   c   o   m   i   n   g       s   t   a   t   i
0034360    c   s  \r   m   a   x   J   o   b   s   ;       C   t   x   R
0034400    u   n   n   i   n   g  \r   ]  \r  \f  \r   /   /   -   -   -
0034420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0034440  376 001  \0 363 256   -   -   -   -   -   -   -   -   -   -   -
0034460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0034520    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   l
0034540    e   t       C   D   V   e   r   s   i   o   n   (   c   b   )
0034560        b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -
0034600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0034700    -   -  \r   [  \r   l   e   t       a   c   t   i   v   e   J
0034720    o   b   s       =       A   c   t   i   v   e   J   o   b   s
0034740    (   )  \r   P   u   t   S   t   r   i   n   g   (   v   e   r
0034760    s   i   o   n   ,       c   d   V   e   r   s   i   o   n   ,
0035000        "   $   P   ;       $   D       u   s   e   r   $   S    
0035020    o   u   t       o   f       $   D   "   ,  \r       P   r   i
0035040    n   t   I   F   S 376 001  \0   !   e   V   e   r   s   i   o
0035060    n   ,       "   C   o   p   y   D   i   s   k       s   e   r
0035100    v   e   r   "   ,       a   c   t   i   v   e   J   o   b   s
0035120    ,       (   a   c   t   i   v   e   J   o   b   s       e   q
0035140        1   ?       "   "   ,       "   s   "   )   ,       m   a
0035160    x   J   o   b   s   )  \r   ]  \r  \r   /   /   -   -   -   -
0035200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0035300    -   -   -   -   -   -   -   -  \r   a   n   d       C   D   L
0035320    o   g   i   n   (   c   b   )       b   e  \r   /   /   -   -
0035340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0035440    -   -   -   -   -   -   -   -   -   - 376 001  \0 245 323  \r
0035460    [  \r   l   e   t       u   N   a   m       =       l   v    
0035500    c   b   >   >   C   B   .   s   t   r   i   n   g   .   s   t
0035520    r   i   n   g  \r   l   e   t       u   P   s   w       =    
0035540    u   N   a   m       +       u   N   a   m   >   >   S   t   r
0035560    i   n   g   .   l   e   n   g   t   h       r   s   h   i   f
0035600    t       1       +   1  \r   l   e   t       c   N   a   m    
0035620    =       u   P   s   w       +       u   P   s   w   >   >   S
0035640    t   r   i   n   g   .   l   e   n   g   t   h       r   s   h
0035660    i   f   t       1       +   1  \r   l   e   t       c   P   s
0035700    w       =       c   N   a   m       +       c   N   a   m   >
0035720    >   S   t   r   i   n   g   .   l   e   n   g   t   h       r
0035740    s   h   i   f   t       1       +   1  \r  \r   l   e   t    
0035760    e   c       =       L   o   g   i   n   (   u   N   a   m   ,
0036000        u   P   s   w   ,       C   t   x   R   u   n   n   i   n
0036020    g   >   >   R   S   C   t   x   .   u   s   e   r   I   n   f
0036040    o   )  \r   i   f       e   c       e   q       0       t 376
0036060  001  \0 364 233   h   e   n  \r               e   c       =    
0036100    C   o   n   n   e   c   t   (   c   N   a   m   ,       c   P
0036120    s   w   ,       C   t   x   R   u   n   n   i   n   g   >   >
0036140    R   S   C   t   x   .   u   s   e   r   I   n   f   o   )  \r
0036160   \r   t   e   s   t       e   c       e   q       0  \r        
0036200        i   f   s   o       P   u   t   I   f   s   E   c   (   y
0036220    e   s   ,       e   c   L   o   g   C   o   n   n   )  \r    
0036240            i   f   n   o   t       P   u   t   I   f   s   E   c
0036260    (   n   o   ,       e   c   )  \r   ]  \r  \r   /   /   -   -
0036300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0036400    -   -   -   -   -   -   -   -   -   -  \r   a   n   d       C
0036420    D   S   e   n   d   E   r   r   o   r   s   (   c   b   )    
0036440    b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0036460    -   -   -   - 376 001  \0 031 340   -   -   -   -   -   -   -
0036500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0036560    -   -   -   -   -   -  \r   [  \r   t   e   s   t       C   t
0036600    x   R   u   n   n   i   n   g   >   >   C   D   C   t   x   .
0036620    e   r   r   o   r   C   o   d   e       n   e       0  \r    
0036640            i   f   s   o  \r                           P   u   t
0036660    I   f   s   E   c   (   n   o   ,       C   t   x   R   u   n
0036700    n   i   n   g   >   >   C   D   C   t   x   .   e   r   r   o
0036720    r   C   o   d   e   )  \r               i   f   n   o   t  \r
0036740                            [  \r                           l   e
0036760    t       c   b       =       v   e   c       l   e   n   E   r
0037000    r   o   r   s  \r                           c   b   >   >   C
0037020    B   .   e   r   r   o   r   s   .   d   i   s   k   T   y   p
0037040    e       =       0  \r                           P   u   t   B
0037060    l   o   c   k   (   c   b   ,     376 001  \0 211   n   h   e
0037100    r   e   A   r   e   E   r   r   o   r   s   ,       l   e   n
0037120    E   r   r   o   r   s   )  \r                           ]  \r
0037140    ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0037160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0037260    -  \r   a   n   d       C   D   H   e   r   e   A   r   e   D
0037300    i   s   k   P   a   r   a   m   s   (   c   b   )       b   e
0037320   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0037340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0037420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0037440    [  \r   F   r   e   e   P   o   i   n   t   e   r   (   l   v
0037460        C   t   x   R   u   n   n   i   n   g   >   >   C 376 001
0037500   \0 024 366   D   C   t   x   .   d   i   s   k   P   a   r   a
0037520    m   s   )  \r   C   t   x   R   u   n   n   i   n   g   >   >
0037540    C   D   C   t   x   .   d   i   s   k   P   a   r   a   m   s
0037560        =       S   y   s   A   l   l   o   c   a   t   e   (   c
0037600    b   >   >   C   B   .   l   e   n   g   t   h   )  \r   M   o
0037620    v   e   B   l   o   c   k   (   C   t   x   R   u   n   n   i
0037640    n   g   >   >   C   D   C   t   x   .   d   i   s   k   P   a
0037660    r   a   m   s   ,       c   b   ,       c   b   >   >   C   B
0037700    .   l   e   n   g   t   h   )  \r   ]  \r  \f  \r   /   /   -
0037720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0040020    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0040040    C   D   S   e   n   d   D   i   s   k   P   a   r   a   m   s
0040060    (   c   b   )       b   e  \r   /   /   -   -   -   -   -   -
0040100    -   -   - 376 001  \0   ?   a   -   -   -   -   -   -   -   -
0040120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0040200    -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   C   D
0040220    C   l   o   s   e   F   i   l   e   (   )  \r   C   t   x   R
0040240    u   n   n   i   n   g   >   >   C   D   C   t   x   .   e   r
0040260    r   o   r   C   o   d   e       =       0  \r   l   e   t    
0040300    e   c   ,       r   e   a   d       =       n   i   l   ,    
0040320    c   b   >   >   C   B   .   t   y   p   e       e   q       s
0040340    e   n   d   D   i   s   k   P   a   r   a   m   s   R  \r   l
0040360    e   t       s   t   r   e   a   m       =       I   F   S   O
0040400    p   e   n   F   i   l   e   (   l   v       c   b   >   >   C
0040420    B   .   s   t   r   i   n   g   .   s   t   r   i   n   g   ,
0040440        l   v       e   c   ,  \r       (   r   e   a   d   ?    
0040460    m   o   d   e   R   e   a   d   ,       m   o   d   e   R   e
0040500    a   d   W   r   i   t   e   ) 376 001  \0   T 363   ,       w
0040520    o   r   d   I   t   e   m   ,       (   r   e   a   d   ?    
0040540    0   ,       l   c   C   r   e   a   t   e   +   l   c   V   N
0040560    e   x   t   )   )  \r   i   f       s   t   r   e   a   m    
0040600    e   q       0       t   h   e   n       [       P   u   t   I
0040620    f   s   E   c   (   n   o   ,       e   c   )   ;       r   e
0040640    t   u   r   n       ]  \r   t   e   s   t       r   e   a   d
0040660   \r               i   f   s   o           /   /       r   e   a
0040700    d   i   n   g  \r                           [  \r            
0040720                m   a   n   i   f   e   s   t       m   a   x   L
0040740    e   n   D   i   s   k   P   a   r   a   m   s       =       2
0040760    0           /   /       g   u   a   r   d   ;       c   u   r
0041000    r   e   n   t   l   y       6  \r                           l
0041020    e   t       c   b       =       v   e   c       m   a   x   L
0041040    e   n   D   i   s   k   P   a   r   a   m   s  \r            
0041060                R   e   a   d   B   l   o   c   k   (   s   t   r
0041100    e   a   m   ,       c   b   ,       m   a   x   L 376 001  \0
0041120  213 033   e   n   D   i   s   k   P   a   r   a   m   s   )  \r
0041140                            t   e   s   t       c   b   >   >   C
0041160    B   .   t   y   p   e       e   q       h   e   r   e   A   r
0041200    e   D   i   s   k   P   a   r   a   m   s       &  \r        
0041220                        c   b   >   >   C   B   .   l   e   n   g
0041240    t   h       l   e       m   a   x   L   e   n   D   i   s   k
0041260    P   a   r   a   m   s  \r                                    
0041300    i   f   s   o  \r                                            
0041320        [  \r                                                   l
0041340    e   t       f   d       =       S   t   r   e   a   m   s   F
0041360    D   (   s   t   r   e   a   m   )  \r                        
0041400                            l   e   t       i   l   d       =    
0041420    G   e   t   B   u   f   f   e   r   F   o   r   F   D   (   f
0041440    d   )  \r                                                   T
0041460    r   a   n   s   f   e   r   L   e   a   d   e   r   P   a   g
0041500    e   (   f   d   ,       i   l   d   )           /   /       r
0041520    e   a 376 001  \0   ;   ?   d  \r                            
0041540                        l   e   t       c       =       l   v    
0041560    i   l   d   >   >   I   L   D   .   f   l   a   g   s  \r    
0041600                                                l   e   t       s
0041620    s       =       C   r   e   a   t   e   S   t   r   i   n   g
0041640    S   t   r   e   a   m   (   l   v       c   >   >   C   B   .
0041660    s   t   r   i   n   g   ,       2   5   5   )  \r            
0041700                                        P   u   t   T   e   m   p
0041720    l   a   t   e   (   s   s   ,       "   $   S       c   r   e
0041740    a   t   e   d       $   P       b   y       $   S   "   ,    
0041760    l   v       i   l   d   >   >   I   L   D   .   p   a   t   h
0042000    N   a   m   e   ,  \r                                        
0042020                W   r   i   t   e   P   a   c   k   e   d   D   T
0042040    ,       l   v       i   l   d   >   >   I   L   D   .   c   r
0042060    e   a   t   e   d   ,       l   v       i   l   d   >   >   I
0042100    L   D   .   a   u   t   h   o   r   )  \r                    
0042120                              376 001  \0 351 231   C   l   o   s
0042140    e   s   (   s   s   )  \r                                    
0042160                S   y   s   F   r   e   e   (   i   l   d   )  \r
0042200                                                    P   u   t   B
0042220    l   o   c   k   (   c   ,       c   o   m   m   e   n   t   ,
0042240        l   e   n   S   t   r   i   n   g   +   s   s   >   >   S
0042260    t   r   i   n   g   .   l   e   n   g   t   h   /   2       +
0042300    1   )  \r                                                   P
0042320    u   t   B   l   o   c   k   (   c   b   ,       h   e   r   e
0042340    A   r   e   D   i   s   k   P   a   r   a   m   s   ,       c
0042360    b   >   >   C   B   .   l   e   n   g   t   h   )  \r        
0042400                                            ]  \r                
0042420                        i   f   n   o   t  \r                    
0042440                                [  \r                            
0042460                        P   u   t   I   f   s   E   c   (   n   o
0042500    ,       e   c   B   a   d   F   o   r   m   a   t   )  \r    
0042520                                                C 376 001  \0 213
0042540    !   l   o   s   e   s   (   s   t   r   e   a   m   )  \r    
0042560                                                s   t   r   e   a
0042600    m       =       0  \r                                        
0042620            ]  \r                           ]  \r               i
0042640    f   n   o   t           /   /       w   r   i   t   i   n   g
0042660   \r                           [  \r                           C
0042700    t   x   R   u   n   n   i   n   g   >   >   C   D   C   t   x
0042720    .   d   e   l   e   t   e       =       S   t   r   e   a   m
0042740    s   F   D   (   s   t   r   e   a   m   )   >   >   F   D   .
0042760    o   l   d   P   a   g   e   N   u   m   b   e   r       e   q
0043000        -   1  \r                           l   e   t       d   p
0043020        =       v   e   c       l   e   n   D   i   s   k   P   a
0043040    r   a   m   s  \r                           d   p   >   >   C
0043060    B   .   d   i   s   k   P   a   r   a   m   s   .   d   i   s
0043100    k   T   y   p   e       =       0  \r                        
0043120    P   u   t   B   l   o   c   k   (   d   p   ,       h   e   r
0043140    e 376 001  \0   e 227   A   r   e   D   i   s   k   P   a   r
0043160    a   m   s   ,       l   e   n   D   i   s   k   P   a   r   a
0043200    m   s   )  \r                           ]  \r   C   t   x   R
0043220    u   n   n   i   n   g   >   >   C   D   C   t   x   .   d   i
0043240    s   k   S   t   r   e   a   m       =       s   t   r   e   a
0043260    m  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0043300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043400    -   -   -  \r   a   n   d       C   D   C   l   o   s   e   F
0043420    i   l   e   (   )       b   e  \r   /   /   -   -   -   -   -
0043440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043540    -   -   -   -   -   - 376 001  \0 226 337   -  \r   /   /    
0043560    R   e   l   e   a   s   e   s       d   i   s   k   P   a   r
0043600    a   m   s   ,       C   l   o   s   e   s       t   h   e    
0043620    d   i   s   k       s   t   r   e   a   m   ,       a   n   d
0043640        m   a   y       d   e   l   e   t   e       t   h   e    
0043660    f   i   l   e   .  \r   [  \r   F   r   e   e   P   o   i   n
0043700    t   e   r   (   l   v       C   t   x   R   u   n   n   i   n
0043720    g   >   >   C   D   C   t   x   .   d   i   s   k   P   a   r
0043740    a   m   s   )  \r   i   f       C   t   x   R   u   n   n   i
0043760    n   g   >   >   C   D   C   t   x   .   d   i   s   k   S   t
0044000    r   e   a   m       e   q       0       r   e   t   u   r   n
0044020   \r   l   e   t       d   e   l   e   t   e       =       C   t
0044040    x   R   u   n   n   i   n   g   >   >   C   D   C   t   x   .
0044060    d   e   l   e   t   e       n   e       0  \r   /   /       l
0044100    e   a   v   e       f   i   l   e       l   o   c   k   e   d
0044120        i   f       w   e       a   r   e       a   b   o   u   t
0044140        t   o       d   e   l   e   t   e     376  \0 305 220 351
0044160    i   t   .  \r   l   e   t       f   d       =       C   l   o
0044200    s   e   I   F   S   S   t   r   e   a   m   (   C   t   x   R
0044220    u   n   n   i   n   g   >   >   C   D   C   t   x   .   d   i
0044240    s   k   S   t   r   e   a   m   ,       d   e   l   e   t   e
0044260    )  \r   i   f       d   e   l   e   t   e       t   h   e   n
0044300   \r               i   f       D   e   l   e   t   e   F   i   l
0044320    e   F   r   o   m   F   D   (   f   d   ,       f   a   l   s
0044340    e   ,       t   r   u   e   )       n   e       0       t   h
0044360    e   n       C   l   o   s   e   I   F   S   F   i   l   e   (
0044400    f   d   )  \r   D   e   s   t   r   o   y   F   D   (   f   d
0044420    )  \r   C   t   x   R   u   n   n   i   n   g   >   >   C   D
0044440    C   t   x   .   d   i   s   k   S   t   r   e   a   m       =
0044460        0  \r   ]  \r 377  \0  \0   I   f   s   C   o   p   y   D
0044500    i   s   k   O   E   P   .   b   c   p   l  \0 373 226 227   f
0044520    #  \0  \0 376 001  \0   6 273   /   /       I   f   s   C   o
0044540    p   y   D   i   s   k   O   E   P   .   b   c   p   l  \r   /
0044560    /       C   o   p   y   r   i   g   h   t       X   e   r   o
0044600    x       C   o   r   p   o   r   a   t   i   o   n       1   9
0044620    8   1  \r   /   /       L   a   s   t       m   o   d   i   f
0044640    i   e   d       J   a   n   u   a   r   y       2   2   ,    
0044660    1   9   8   1           2   :   4   4       P   M       b   y
0044700        B   o   g   g   s  \r  \r   e   x   t   e   r   n   a   l
0044720   \r   [  \r   /   /       o   u   t   g   o   i   n   g       p
0044740    r   o   c   e   d   u   r   e  \r   I   n   i   t   C   o   p
0044760    y   D   i   s   k   O   E   P  \r  \r   /   /       i   n   c
0045000    o   m   i   n   g       p   r   o   c   e   d   u   r   e   s
0045020   \r   D   e   c   l   a   r   e   O   E   P   ;       C   o   p
0045040    y   D   i   s   k   J   o   b  \r   ]  \r  \r   /   /   -   -
0045060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0045120    -   -   -   -   -   -   -   - 376  \0 257 033 346   -   -   -
0045140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0045160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0045200    l   e   t       I   n   i   t   C   o   p   y   D   i   s   k
0045220    O   E   P   (   o   e   v   )       b   e       D   e   c   l
0045240    a   r   e   O   E   P   (   o   e   v   ,       l   v       C
0045260    o   p   y   D   i   s   k   J   o   b   )  \r   /   /   -   -
0045300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0045400    -   -   -   -   -   -   -   -   -   -  \r  \r 377  \0  \0   C
0045420    o   m   p   i   l   e   I   f   s   C   o   p   y   D   i   s
0045440    k   .   c   m  \0 373 230 025 272   $  \0  \0 376  \0   Z   e
0045460  220   B   c   p   l   /   f   o       I   f   s   C   o   p   y
0045500    D   i   s   k   I   n   i   t   .   b   c   p   l       I   f
0045520    s   C   o   p   y   D   i   s   k   J   o   b   .   b   c   p
0045540    l       I   f   s   C   o   p   y   D   i   s   k   R   a   r
0045560    e   .   b   c   p   l       I   f   s   C   o   p   y   D   i
0045600    s   k   O   E   P   .   b   c   p   l  \r 377  \0  \0   I   f
0045620    s   C   o   p   y   D   i   s   k   .   c   m  \0 373 226 227
0045640    f 002  \0  \0 376  \0 207 260 037   I   f   s   C   o   p   y
0045660    D   i   s   k   .   d   e   c   l       I   f   s   C   o   p
0045700    y   D   i   s   k   I   n   i   t   .   b   c   p   l       I
0045720    f   s   C   o   p   y   D   i   s   k   J   o   b   .   b   c
0045740    p   l       I   f   s   C   o   p   y   D   i   s   k   R   a
0045760    r   e   .   b   c   p   l       I   f   s   C   o   p   y   D
0046000    i   s   k   O   E   P   .   b   c   p   l       C   o   m   p
0046020    i   l   e   I   f   s   C   o   p   y   D   i   s   k   .   c
0046040    m       I   f   s   C   o   p   y   D   i   s   k   .   c   m
0046060  374                                                            
0046061